synapse-react-client 4.0.10 → 4.0.12

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 (210) hide show
  1. package/dist/SWC.index.d.ts +1 -1
  2. package/dist/SWC.index.js +1 -1
  3. package/dist/assets/icons/CloudWarning.d.ts +5 -0
  4. package/dist/assets/icons/CloudWarning.d.ts.map +1 -0
  5. package/dist/assets/icons/CloudWarning.js +47 -0
  6. package/dist/assets/icons/CloudWarning.js.map +1 -0
  7. package/dist/components/AdaptiveTwoColumnLayout/AdaptiveTwoColumnLayout.d.ts +44 -0
  8. package/dist/components/AdaptiveTwoColumnLayout/AdaptiveTwoColumnLayout.d.ts.map +1 -0
  9. package/dist/components/AdaptiveTwoColumnLayout/AdaptiveTwoColumnLayout.js +46 -0
  10. package/dist/components/AdaptiveTwoColumnLayout/AdaptiveTwoColumnLayout.js.map +1 -0
  11. package/dist/components/ChallengeSubmission/SubmissionDirectoryList.d.ts.map +1 -1
  12. package/dist/components/ChallengeSubmission/SubmissionDirectoryList.js +143 -140
  13. package/dist/components/ChallengeSubmission/SubmissionDirectoryList.js.map +1 -1
  14. package/dist/components/DataGrid/columns/AutocompleteColumn.d.ts.map +1 -1
  15. package/dist/components/DataGrid/columns/AutocompleteColumn.js +66 -55
  16. package/dist/components/DataGrid/columns/AutocompleteColumn.js.map +1 -1
  17. package/dist/components/DataGrid/columns/AutocompleteMultipleEnumColumn.d.ts.map +1 -1
  18. package/dist/components/DataGrid/columns/AutocompleteMultipleEnumColumn.js +1 -1
  19. package/dist/components/DataGrid/columns/AutocompleteMultipleEnumColumn.js.map +1 -1
  20. package/dist/components/DataGrid/utils/applyModelChange.d.ts +1 -1
  21. package/dist/components/DataGrid/utils/applyModelChange.d.ts.map +1 -1
  22. package/dist/components/DataGrid/utils/applyModelChange.js +27 -24
  23. package/dist/components/DataGrid/utils/applyModelChange.js.map +1 -1
  24. package/dist/components/DataGrid/utils/columnFactory.d.ts +8 -0
  25. package/dist/components/DataGrid/utils/columnFactory.d.ts.map +1 -1
  26. package/dist/components/DataGrid/utils/columnFactory.js +47 -44
  27. package/dist/components/DataGrid/utils/columnFactory.js.map +1 -1
  28. package/dist/components/DataGrid/utils/getEmptyValue.d.ts +2 -0
  29. package/dist/components/DataGrid/utils/getEmptyValue.d.ts.map +1 -0
  30. package/dist/components/DataGrid/utils/getEmptyValue.js +8 -0
  31. package/dist/components/DataGrid/utils/getEmptyValue.js.map +1 -0
  32. package/dist/components/DataGrid/utils/modelColsToGrid.d.ts.map +1 -1
  33. package/dist/components/DataGrid/utils/modelColsToGrid.js +2 -1
  34. package/dist/components/DataGrid/utils/modelColsToGrid.js.map +1 -1
  35. package/dist/components/DataGrid/utils/schemaAwarePasteValue.d.ts +32 -0
  36. package/dist/components/DataGrid/utils/schemaAwarePasteValue.d.ts.map +1 -0
  37. package/dist/components/DataGrid/utils/schemaAwarePasteValue.js +22 -0
  38. package/dist/components/DataGrid/utils/schemaAwarePasteValue.js.map +1 -0
  39. package/dist/components/DownloadCart/DownloadCartPage.d.ts.map +1 -1
  40. package/dist/components/DownloadCart/DownloadCartPage.js +183 -185
  41. package/dist/components/DownloadCart/DownloadCartPage.js.map +1 -1
  42. package/dist/components/DownloadCart/DownloadIneligibleForPackagingFilesFromListButton.css +1 -0
  43. package/dist/components/DownloadCart/DownloadIneligibleForPackagingFilesFromListButton.d.ts.map +1 -1
  44. package/dist/components/DownloadCart/DownloadIneligibleForPackagingFilesFromListButton.js +199 -132
  45. package/dist/components/DownloadCart/DownloadIneligibleForPackagingFilesFromListButton.js.map +1 -1
  46. package/dist/components/DownloadCart/DownloadIneligibleForPackagingFilesFromListButton.module.js +22 -0
  47. package/dist/components/DownloadCart/DownloadIneligibleForPackagingFilesFromListButton.module.js.map +1 -0
  48. package/dist/components/DownloadCart/DownloadIneligibleForPackagingFilesFromListButton.module.scss +170 -0
  49. package/dist/components/EntityAclEditor/EntityAclEditor.js +8 -8
  50. package/dist/components/EntityAclEditor/EntityAclEditor.js.map +1 -1
  51. package/dist/components/EntityAclEditor/InheritanceMessage.d.ts.map +1 -1
  52. package/dist/components/EntityAclEditor/InheritanceMessage.js +1 -2
  53. package/dist/components/EntityAclEditor/InheritanceMessage.js.map +1 -1
  54. package/dist/components/EntityDownloadButton/EntityDownloadButton.d.ts.map +1 -1
  55. package/dist/components/EntityDownloadButton/EntityDownloadButton.js +1 -0
  56. package/dist/components/EntityDownloadButton/EntityDownloadButton.js.map +1 -1
  57. package/dist/components/EntityViewScopeEditor/EntityViewMaskEditor.d.ts.map +1 -1
  58. package/dist/components/EntityViewScopeEditor/EntityViewMaskEditor.js +15 -14
  59. package/dist/components/EntityViewScopeEditor/EntityViewMaskEditor.js.map +1 -1
  60. package/dist/components/Forum/DiscussionReply.d.ts +1 -0
  61. package/dist/components/Forum/DiscussionReply.d.ts.map +1 -1
  62. package/dist/components/Forum/DiscussionReply.js +19 -19
  63. package/dist/components/Forum/DiscussionReply.js.map +1 -1
  64. package/dist/components/Forum/DiscussionThread.d.ts +1 -0
  65. package/dist/components/Forum/DiscussionThread.d.ts.map +1 -1
  66. package/dist/components/Forum/DiscussionThread.js +73 -72
  67. package/dist/components/Forum/DiscussionThread.js.map +1 -1
  68. package/dist/components/FullTextSearch/FullTextSearch.d.ts.map +1 -1
  69. package/dist/components/FullTextSearch/FullTextSearch.js +86 -47
  70. package/dist/components/FullTextSearch/FullTextSearch.js.map +1 -1
  71. package/dist/components/GenericCard/BioregistryRules.d.ts.map +1 -1
  72. package/dist/components/GenericCard/BioregistryRules.js +7 -3
  73. package/dist/components/GenericCard/BioregistryRules.js.map +1 -1
  74. package/dist/components/GenericCard/TableRowGenericCard.d.ts.map +1 -1
  75. package/dist/components/GenericCard/TableRowGenericCard.js +157 -157
  76. package/dist/components/GenericCard/TableRowGenericCard.js.map +1 -1
  77. package/dist/components/HeaderCard.d.ts.map +1 -1
  78. package/dist/components/HeaderCard.js +131 -130
  79. package/dist/components/HeaderCard.js.map +1 -1
  80. package/dist/components/IconSvg/IconSvg.d.ts.map +1 -1
  81. package/dist/components/IconSvg/IconSvg.js +2 -1
  82. package/dist/components/IconSvg/IconSvg.js.map +1 -1
  83. package/dist/components/MailchimpSubscribeSection/MailchimpSubscribeSection.d.ts +4 -1
  84. package/dist/components/MailchimpSubscribeSection/MailchimpSubscribeSection.d.ts.map +1 -1
  85. package/dist/components/MailchimpSubscribeSection/MailchimpSubscribeSection.js +3 -2
  86. package/dist/components/MailchimpSubscribeSection/MailchimpSubscribeSection.js.map +1 -1
  87. package/dist/components/QueryContext/QueryContext.d.ts +6 -0
  88. package/dist/components/QueryContext/QueryContext.d.ts.map +1 -1
  89. package/dist/components/QueryContext/QueryContext.js.map +1 -1
  90. package/dist/components/QueryVisualizationWrapper/QueryVisualizationWrapper.d.ts.map +1 -1
  91. package/dist/components/QueryVisualizationWrapper/QueryVisualizationWrapper.js +12 -11
  92. package/dist/components/QueryVisualizationWrapper/QueryVisualizationWrapper.js.map +1 -1
  93. package/dist/components/QueryWrapperPlotNav/QueryWrapperPlotNav.d.ts +5 -0
  94. package/dist/components/QueryWrapperPlotNav/QueryWrapperPlotNav.d.ts.map +1 -1
  95. package/dist/components/QueryWrapperPlotNav/QueryWrapperPlotNav.js +32 -29
  96. package/dist/components/QueryWrapperPlotNav/QueryWrapperPlotNav.js.map +1 -1
  97. package/dist/components/QueryWrapperPlotNav/UseRowSet.d.ts.map +1 -1
  98. package/dist/components/QueryWrapperPlotNav/UseRowSet.js +4 -1
  99. package/dist/components/QueryWrapperPlotNav/UseRowSet.js.map +1 -1
  100. package/dist/components/SearchQueryWrapper/SearchQueryUseQueryOptions.d.ts +59 -0
  101. package/dist/components/SearchQueryWrapper/SearchQueryUseQueryOptions.d.ts.map +1 -0
  102. package/dist/components/SearchQueryWrapper/SearchQueryUseQueryOptions.js +174 -0
  103. package/dist/components/SearchQueryWrapper/SearchQueryUseQueryOptions.js.map +1 -0
  104. package/dist/components/SearchQueryWrapper/SearchQueryWrapper.d.ts +40 -0
  105. package/dist/components/SearchQueryWrapper/SearchQueryWrapper.d.ts.map +1 -0
  106. package/dist/components/SearchQueryWrapper/SearchQueryWrapper.js +100 -0
  107. package/dist/components/SearchQueryWrapper/SearchQueryWrapper.js.map +1 -0
  108. package/dist/components/SearchQueryWrapperPlotNav/SearchQueryWrapperPlotNav.d.ts +56 -0
  109. package/dist/components/SearchQueryWrapperPlotNav/SearchQueryWrapperPlotNav.d.ts.map +1 -0
  110. package/dist/components/SearchQueryWrapperPlotNav/SearchQueryWrapperPlotNav.js +73 -0
  111. package/dist/components/SearchQueryWrapperPlotNav/SearchQueryWrapperPlotNav.js.map +1 -0
  112. package/dist/components/ShareThisPage/ShareThisPage.js +1 -1
  113. package/dist/components/ShareThisPage/ShareThisPage.js.map +1 -1
  114. package/dist/components/SynapseChat/GridAgentChat.d.ts.map +1 -1
  115. package/dist/components/SynapseChat/GridAgentChat.js +20 -14
  116. package/dist/components/SynapseChat/GridAgentChat.js.map +1 -1
  117. package/dist/components/SynapseChat/SynapseChat.d.ts +3 -1
  118. package/dist/components/SynapseChat/SynapseChat.d.ts.map +1 -1
  119. package/dist/components/SynapseChat/SynapseChat.js +51 -36
  120. package/dist/components/SynapseChat/SynapseChat.js.map +1 -1
  121. package/dist/components/SynapseHomepageV2/HotdropsAndNews.css +1 -1
  122. package/dist/components/SynapseHomepageV2/HotdropsAndNews.module.js +8 -7
  123. package/dist/components/SynapseHomepageV2/HotdropsAndNews.module.js.map +1 -1
  124. package/dist/components/SynapseHomepageV2/HotdropsAndNews.module.scss +16 -0
  125. package/dist/components/SynapseHomepageV2/WordPressNews.d.ts +3 -1
  126. package/dist/components/SynapseHomepageV2/WordPressNews.d.ts.map +1 -1
  127. package/dist/components/SynapseHomepageV2/WordPressNews.js +9 -8
  128. package/dist/components/SynapseHomepageV2/WordPressNews.js.map +1 -1
  129. package/dist/components/SynapseHomepageV2/WordPressNewsItem.d.ts +2 -1
  130. package/dist/components/SynapseHomepageV2/WordPressNewsItem.d.ts.map +1 -1
  131. package/dist/components/SynapseHomepageV2/WordPressNewsItem.js +2 -2
  132. package/dist/components/SynapseHomepageV2/WordPressNewsItem.js.map +1 -1
  133. package/dist/components/SynapseTable/SearchV2.d.ts +7 -0
  134. package/dist/components/SynapseTable/SearchV2.d.ts.map +1 -1
  135. package/dist/components/SynapseTable/SearchV2.js.map +1 -1
  136. package/dist/components/SynapseTable/SynapseTableRenderers.d.ts.map +1 -1
  137. package/dist/components/SynapseTable/SynapseTableRenderers.js +1 -1
  138. package/dist/components/SynapseTable/SynapseTableRenderers.js.map +1 -1
  139. package/dist/components/SynapseTable/usePrefetchTableData.d.ts.map +1 -1
  140. package/dist/components/SynapseTable/usePrefetchTableData.js +6 -5
  141. package/dist/components/SynapseTable/usePrefetchTableData.js.map +1 -1
  142. package/dist/components/ToastMessage/ToastMessage.d.ts +1 -1
  143. package/dist/components/ToastMessage/ToastMessage.d.ts.map +1 -1
  144. package/dist/components/ToastMessage/ToastMessage.js +2 -2
  145. package/dist/components/ToastMessage/ToastMessage.js.map +1 -1
  146. package/dist/components/dataaccess/SubmissionPage/SubmissionPage.d.ts.map +1 -1
  147. package/dist/components/dataaccess/SubmissionPage/SubmissionPage.js +157 -148
  148. package/dist/components/dataaccess/SubmissionPage/SubmissionPage.js.map +1 -1
  149. package/dist/components/doi/CreateOrUpdateDoiModal.d.ts.map +1 -1
  150. package/dist/components/doi/CreateOrUpdateDoiModal.js +20 -19
  151. package/dist/components/doi/CreateOrUpdateDoiModal.js.map +1 -1
  152. package/dist/components/error/ErrorPage.d.ts +0 -4
  153. package/dist/components/error/ErrorPage.d.ts.map +1 -1
  154. package/dist/components/error/ErrorPage.js +25 -30
  155. package/dist/components/error/ErrorPage.js.map +1 -1
  156. package/dist/components/index.d.ts +4 -0
  157. package/dist/components/index.d.ts.map +1 -1
  158. package/dist/components/index.js +41 -39
  159. package/dist/components/widgets/query-filter/FacetFilterControls.d.ts.map +1 -1
  160. package/dist/components/widgets/query-filter/FacetFilterControls.js +2 -2
  161. package/dist/components/widgets/query-filter/FacetFilterControls.js.map +1 -1
  162. package/dist/features/entity/metadata-task/components/MetadataTasksTableAssigneeCell.d.ts.map +1 -1
  163. package/dist/features/entity/metadata-task/components/MetadataTasksTableAssigneeCell.js +1 -1
  164. package/dist/features/entity/metadata-task/components/MetadataTasksTableAssigneeCell.js.map +1 -1
  165. package/dist/index.js +52 -50
  166. package/dist/index.js.map +1 -1
  167. package/dist/mocks/entity/index.d.ts.map +1 -1
  168. package/dist/mocks/entity/index.js +18 -16
  169. package/dist/mocks/entity/index.js.map +1 -1
  170. package/dist/mocks/mockSearchQueryData.d.ts +14 -0
  171. package/dist/mocks/mockSearchQueryData.d.ts.map +1 -0
  172. package/dist/mocks/mockSearchQueryData.js +564 -0
  173. package/dist/mocks/mockSearchQueryData.js.map +1 -0
  174. package/dist/mocks/msw/handlers/searchQueryHandlers.d.ts +22 -0
  175. package/dist/mocks/msw/handlers/searchQueryHandlers.d.ts.map +1 -0
  176. package/dist/mocks/msw/handlers/searchQueryHandlers.js +63 -0
  177. package/dist/mocks/msw/handlers/searchQueryHandlers.js.map +1 -0
  178. package/dist/mocks/msw/handlers.d.ts.map +1 -1
  179. package/dist/mocks/msw/handlers.js +9 -7
  180. package/dist/mocks/msw/handlers.js.map +1 -1
  181. package/dist/style/components/_cards.scss +15 -0
  182. package/dist/style/main.css +1 -1
  183. package/dist/synapse-client/SynapseClient.d.ts +7 -1
  184. package/dist/synapse-client/SynapseClient.d.ts.map +1 -1
  185. package/dist/synapse-client/SynapseClient.js +422 -417
  186. package/dist/synapse-client/SynapseClient.js.map +1 -1
  187. package/dist/synapse-client/index.js +3 -3
  188. package/dist/synapse-queries/KeyFactory.d.ts +3 -0
  189. package/dist/synapse-queries/KeyFactory.d.ts.map +1 -1
  190. package/dist/synapse-queries/KeyFactory.js +6 -0
  191. package/dist/synapse-queries/KeyFactory.js.map +1 -1
  192. package/dist/synapse-queries/forum/useThread.d.ts +1 -0
  193. package/dist/synapse-queries/forum/useThread.d.ts.map +1 -1
  194. package/dist/synapse-queries/forum/useThread.js +19 -12
  195. package/dist/synapse-queries/forum/useThread.js.map +1 -1
  196. package/dist/tsconfig.build.tsbuildinfo +1 -1
  197. package/dist/utils/APIConstants.d.ts +3 -0
  198. package/dist/utils/APIConstants.d.ts.map +1 -1
  199. package/dist/utils/APIConstants.js +2 -2
  200. package/dist/utils/APIConstants.js.map +1 -1
  201. package/dist/utils/AppUtils/session/ApplicationSessionManager.d.ts.map +1 -1
  202. package/dist/utils/AppUtils/session/ApplicationSessionManager.js +7 -4
  203. package/dist/utils/AppUtils/session/ApplicationSessionManager.js.map +1 -1
  204. package/dist/utils/functions/EntityTypeUtils.d.ts.map +1 -1
  205. package/dist/utils/functions/EntityTypeUtils.js +15 -4
  206. package/dist/utils/functions/EntityTypeUtils.js.map +1 -1
  207. package/dist/utils/functions/calculateFriendlyFileSize.d.ts.map +1 -1
  208. package/dist/utils/functions/calculateFriendlyFileSize.js +3 -3
  209. package/dist/utils/functions/calculateFriendlyFileSize.js.map +1 -1
  210. package/package.json +3 -3
@@ -120,7 +120,7 @@ declare const SynapseComponents: {
120
120
  secondaryButtonConfig?: import("./components/FullWidthAlert/FullWidthAlert").AlertButtonConfig;
121
121
  dismissOnPrimaryButtonClick?: boolean;
122
122
  dismissOnSecondaryButtonClick?: boolean;
123
- }) => (() => void);
123
+ } | null) => (() => void);
124
124
  getCurrentCookiePreferences: () => import("./utils/hooks").CookiePreference;
125
125
  };
126
126
  declare const Analytics: {
package/dist/SWC.index.js CHANGED
@@ -109,7 +109,7 @@ var x = { BackendDestinationEnum: r }, S = {
109
109
  sendSearchResultsReturnedEvent: y,
110
110
  sendSearchResultReturnedEvent: v,
111
111
  sendSearchResultClickedEvent: _
112
- }, T = "4.0.10";
112
+ }, T = "4.0.12";
113
113
  //#endregion
114
114
  export { w as Analytics, a as HttpClient, d as Palettes, o as SynapseClient, C as SynapseComponents, n as SynapseConstants, S as SynapseContext, x as SynapseEnums, m as SynapseQueries, T as SynapseReactClientVersion, p as SynapseSessionManager, i as xssOptions };
115
115
 
@@ -0,0 +1,5 @@
1
+ import React from 'react';
2
+ import { SvgIconProps } from '@mui/material/SvgIcon';
3
+ declare const CloudWarning: (props: SvgIconProps) => React.ReactNode;
4
+ export default CloudWarning;
5
+ //# sourceMappingURL=CloudWarning.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"CloudWarning.d.ts","sourceRoot":"","sources":["../../../src/assets/icons/CloudWarning.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAA;AACzB,OAAgB,EAAE,YAAY,EAAE,MAAM,uBAAuB,CAAA;AAE7D,QAAA,MAAM,YAAY,GAAI,OAAO,YAAY,KAAG,KAAK,CAAC,SA+BjD,CAAA;AAED,eAAe,YAAY,CAAA"}
@@ -0,0 +1,47 @@
1
+ import "react";
2
+ import { jsx as e, jsxs as t } from "react/jsx-runtime";
3
+ import n from "@mui/material/SvgIcon";
4
+ //#region src/assets/icons/CloudWarning.tsx
5
+ var r = (r) => /* @__PURE__ */ t(n, {
6
+ ...r,
7
+ viewBox: "0 0 40 40",
8
+ fill: "none",
9
+ children: [
10
+ /* @__PURE__ */ e("rect", {
11
+ x: "1",
12
+ y: "1",
13
+ width: "38",
14
+ height: "38",
15
+ rx: "19",
16
+ stroke: "#EDC766",
17
+ strokeWidth: "2"
18
+ }),
19
+ /* @__PURE__ */ e("mask", {
20
+ id: "mask0_2400_5829",
21
+ style: { maskType: "alpha" },
22
+ maskUnits: "userSpaceOnUse",
23
+ x: "8",
24
+ y: "8",
25
+ width: "24",
26
+ height: "24",
27
+ children: /* @__PURE__ */ e("rect", {
28
+ x: "8",
29
+ y: "8",
30
+ width: "24",
31
+ height: "24",
32
+ fill: "#EDC766"
33
+ })
34
+ }),
35
+ /* @__PURE__ */ e("g", {
36
+ mask: "url(#mask0_2400_5829)",
37
+ children: /* @__PURE__ */ e("path", {
38
+ d: "M14.5 28C12.9833 28 11.6875 27.475 10.6125 26.425C9.5375 25.375 9 24.0917 9 22.575C9 21.275 9.39167 20.1167 10.175 19.1C10.9583 18.0833 11.9833 17.4333 13.25 17.15C13.6667 15.6167 14.5 14.375 15.75 13.425C17 12.475 18.4167 12 20 12C21.95 12 23.6042 12.6792 24.9625 14.0375C26.3208 15.3958 27 17.05 27 19C28.15 19.1333 29.1042 19.6292 29.8625 20.4875C30.6208 21.3458 31 22.35 31 23.5C31 24.75 30.5625 25.8125 29.6875 26.6875C28.8125 27.5625 27.75 28 26.5 28H14.5ZM14.5 26H26.5C27.2 26 27.7917 25.7583 28.275 25.275C28.7583 24.7917 29 24.2 29 23.5C29 22.8 28.7583 22.2083 28.275 21.725C27.7917 21.2417 27.2 21 26.5 21H25V19C25 17.6167 24.5125 16.4375 23.5375 15.4625C22.5625 14.4875 21.3833 14 20 14C18.6167 14 17.4375 14.4875 16.4625 15.4625C15.4875 16.4375 15 17.6167 15 19H14.5C13.5333 19 12.7083 19.3417 12.025 20.025C11.3417 20.7083 11 21.5333 11 22.5C11 23.4667 11.3417 24.2917 12.025 24.975C12.7083 25.6583 13.5333 26 14.5 26ZM20.7125 23.7125C20.9042 23.5208 21 23.2833 21 23C21 22.7167 20.9042 22.4792 20.7125 22.2875C20.5208 22.0958 20.2833 22 20 22C19.7167 22 19.4792 22.0958 19.2875 22.2875C19.0958 22.4792 19 22.7167 19 23C19 23.2833 19.0958 23.5208 19.2875 23.7125C19.4792 23.9042 19.7167 24 20 24C20.2833 24 20.5208 23.9042 20.7125 23.7125ZM19 20.5H21V16H19V20.5Z",
39
+ fill: "#EDC766"
40
+ })
41
+ })
42
+ ]
43
+ });
44
+ //#endregion
45
+ export { r as default };
46
+
47
+ //# sourceMappingURL=CloudWarning.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"CloudWarning.js","names":[],"sources":["../../../src/assets/icons/CloudWarning.tsx"],"sourcesContent":["import React from 'react'\nimport SvgIcon, { SvgIconProps } from '@mui/material/SvgIcon'\n\nconst CloudWarning = (props: SvgIconProps): React.ReactNode => {\n return (\n <SvgIcon {...props} viewBox=\"0 0 40 40\" fill=\"none\">\n <rect\n x=\"1\"\n y=\"1\"\n width=\"38\"\n height=\"38\"\n rx=\"19\"\n stroke=\"#EDC766\"\n strokeWidth=\"2\"\n />\n <mask\n id=\"mask0_2400_5829\"\n style={{ maskType: 'alpha' }}\n maskUnits=\"userSpaceOnUse\"\n x=\"8\"\n y=\"8\"\n width=\"24\"\n height=\"24\"\n >\n <rect x=\"8\" y=\"8\" width=\"24\" height=\"24\" fill=\"#EDC766\" />\n </mask>\n <g mask=\"url(#mask0_2400_5829)\">\n <path\n d=\"M14.5 28C12.9833 28 11.6875 27.475 10.6125 26.425C9.5375 25.375 9 24.0917 9 22.575C9 21.275 9.39167 20.1167 10.175 19.1C10.9583 18.0833 11.9833 17.4333 13.25 17.15C13.6667 15.6167 14.5 14.375 15.75 13.425C17 12.475 18.4167 12 20 12C21.95 12 23.6042 12.6792 24.9625 14.0375C26.3208 15.3958 27 17.05 27 19C28.15 19.1333 29.1042 19.6292 29.8625 20.4875C30.6208 21.3458 31 22.35 31 23.5C31 24.75 30.5625 25.8125 29.6875 26.6875C28.8125 27.5625 27.75 28 26.5 28H14.5ZM14.5 26H26.5C27.2 26 27.7917 25.7583 28.275 25.275C28.7583 24.7917 29 24.2 29 23.5C29 22.8 28.7583 22.2083 28.275 21.725C27.7917 21.2417 27.2 21 26.5 21H25V19C25 17.6167 24.5125 16.4375 23.5375 15.4625C22.5625 14.4875 21.3833 14 20 14C18.6167 14 17.4375 14.4875 16.4625 15.4625C15.4875 16.4375 15 17.6167 15 19H14.5C13.5333 19 12.7083 19.3417 12.025 20.025C11.3417 20.7083 11 21.5333 11 22.5C11 23.4667 11.3417 24.2917 12.025 24.975C12.7083 25.6583 13.5333 26 14.5 26ZM20.7125 23.7125C20.9042 23.5208 21 23.2833 21 23C21 22.7167 20.9042 22.4792 20.7125 22.2875C20.5208 22.0958 20.2833 22 20 22C19.7167 22 19.4792 22.0958 19.2875 22.2875C19.0958 22.4792 19 22.7167 19 23C19 23.2833 19.0958 23.5208 19.2875 23.7125C19.4792 23.9042 19.7167 24 20 24C20.2833 24 20.5208 23.9042 20.7125 23.7125ZM19 20.5H21V16H19V20.5Z\"\n fill=\"#EDC766\"\n />\n </g>\n </SvgIcon>\n )\n}\n\nexport default CloudWarning\n"],"mappings":";;;;AAGA,IAAM,KAAgB,MAElB,kBAAC,GAAD;CAAS,GAAI;CAAO,SAAQ;CAAY,MAAK;WAA7C;EACE,kBAAC,QAAD;GACE,GAAE;GACF,GAAE;GACF,OAAM;GACN,QAAO;GACP,IAAG;GACH,QAAO;GACP,aAAY;GACZ,CAAA;EACF,kBAAC,QAAD;GACE,IAAG;GACH,OAAO,EAAE,UAAU,SAAS;GAC5B,WAAU;GACV,GAAE;GACF,GAAE;GACF,OAAM;GACN,QAAO;aAEP,kBAAC,QAAD;IAAM,GAAE;IAAI,GAAE;IAAI,OAAM;IAAK,QAAO;IAAK,MAAK;IAAY,CAAA;GACrD,CAAA;EACP,kBAAC,KAAD;GAAG,MAAK;aACN,kBAAC,QAAD;IACE,GAAE;IACF,MAAK;IACL,CAAA;GACA,CAAA;EACI"}
@@ -0,0 +1,44 @@
1
+ import { SxProps } from '@mui/material';
2
+ import { ReactNode } from 'react';
3
+ export type MeasurementInfo = {
4
+ leftHeight: number;
5
+ rightHeight: number;
6
+ ratio: number;
7
+ stacked: boolean;
8
+ };
9
+ export type AdaptiveTwoColumnLayoutProps = {
10
+ leftContent: ReactNode;
11
+ rightContent?: ReactNode;
12
+ /**
13
+ * Stack if leftHeight / rightHeight falls below this ratio.
14
+ * Measured once after initial render with both columns side-by-side.
15
+ * Default: 0.45
16
+ */
17
+ stackRatioThreshold?: number;
18
+ gap?: string | number;
19
+ sx?: SxProps;
20
+ /**
21
+ * Called once after the initial measurement completes. Useful for debugging.
22
+ */
23
+ onMeasure?: (info: MeasurementInfo) => void;
24
+ };
25
+ /**
26
+ * Lays out two columns side-by-side and, after the initial render, measures
27
+ * their heights. If leftHeight / rightHeight < stackRatioThreshold, the layout
28
+ * switches to a single stacked column. On mobile (xs–md) the layout always stacks.
29
+ *
30
+ * Measurement is performed once on mount via useLayoutEffect, which fires
31
+ * synchronously before the browser paints, so there is no visible layout shift.
32
+ *
33
+ * Algorithm mirrors the prototype at https://github.com/adamhindman/detail-page-columns:
34
+ * measure in side-by-side mode, compute ratio = leftHeight / rightHeight, stack if below threshold.
35
+ *
36
+ * Implementation note: CSS Grid with align-items:start is used (not Flexbox).
37
+ * Flexbox's default align-items:stretch causes both children to report the same
38
+ * offsetHeight (the taller column's height), making the ratio always 1.0 and
39
+ * stacking never triggering. Grid cells with align-items:start only take the
40
+ * height of their own content, giving accurate independent measurements.
41
+ */
42
+ export declare function AdaptiveTwoColumnLayout({ leftContent, rightContent, stackRatioThreshold, gap, sx, onMeasure, }: AdaptiveTwoColumnLayoutProps): import("react/jsx-runtime").JSX.Element;
43
+ export default AdaptiveTwoColumnLayout;
44
+ //# sourceMappingURL=AdaptiveTwoColumnLayout.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"AdaptiveTwoColumnLayout.d.ts","sourceRoot":"","sources":["../../../src/components/AdaptiveTwoColumnLayout/AdaptiveTwoColumnLayout.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAO,OAAO,EAAE,MAAM,eAAe,CAAA;AAC5C,OAAO,EAAE,SAAS,EAAqC,MAAM,OAAO,CAAA;AAEpE,MAAM,MAAM,eAAe,GAAG;IAC5B,UAAU,EAAE,MAAM,CAAA;IAClB,WAAW,EAAE,MAAM,CAAA;IACnB,KAAK,EAAE,MAAM,CAAA;IACb,OAAO,EAAE,OAAO,CAAA;CACjB,CAAA;AAED,MAAM,MAAM,4BAA4B,GAAG;IACzC,WAAW,EAAE,SAAS,CAAA;IACtB,YAAY,CAAC,EAAE,SAAS,CAAA;IACxB;;;;OAIG;IACH,mBAAmB,CAAC,EAAE,MAAM,CAAA;IAC5B,GAAG,CAAC,EAAE,MAAM,GAAG,MAAM,CAAA;IACrB,EAAE,CAAC,EAAE,OAAO,CAAA;IACZ;;OAEG;IACH,SAAS,CAAC,EAAE,CAAC,IAAI,EAAE,eAAe,KAAK,IAAI,CAAA;CAC5C,CAAA;AAED;;;;;;;;;;;;;;;;GAgBG;AACH,wBAAgB,uBAAuB,CAAC,EACtC,WAAW,EACX,YAAY,EACZ,mBAA0B,EAC1B,GAAY,EACZ,EAAE,EACF,SAAS,GACV,EAAE,4BAA4B,2CAoE9B;AAED,eAAe,uBAAuB,CAAA"}
@@ -0,0 +1,46 @@
1
+ import { useLayoutEffect as e, useRef as t, useState as n } from "react";
2
+ import { Box as r } from "@mui/material";
3
+ import { jsx as i, jsxs as a } from "react/jsx-runtime";
4
+ //#region src/components/AdaptiveTwoColumnLayout/AdaptiveTwoColumnLayout.tsx
5
+ function o({ leftContent: o, rightContent: s, stackRatioThreshold: c = .45, gap: l = "40px", sx: u, onMeasure: d }) {
6
+ let [f, p] = n(null), m = t(null), h = t(null), g = t(d);
7
+ return g.current = d, e(() => {
8
+ if (!m.current) return;
9
+ if (!h.current) {
10
+ p(!1);
11
+ return;
12
+ }
13
+ let e = m.current.offsetHeight, t = h.current.offsetHeight;
14
+ if (t > 0) {
15
+ let n = e / t, r = n < c;
16
+ p(r), g.current?.({
17
+ leftHeight: e,
18
+ rightHeight: t,
19
+ ratio: n,
20
+ stacked: r
21
+ });
22
+ } else p(!1);
23
+ }, [c]), /* @__PURE__ */ a(r, {
24
+ sx: {
25
+ display: "grid",
26
+ gridTemplateColumns: f === null ? "1fr 1fr" : {
27
+ xs: "1fr",
28
+ md: f ? "1fr" : "1fr 1fr"
29
+ },
30
+ alignItems: "start",
31
+ gap: l,
32
+ ...u
33
+ },
34
+ children: [/* @__PURE__ */ i(r, {
35
+ ref: m,
36
+ children: o
37
+ }), s && /* @__PURE__ */ i(r, {
38
+ ref: h,
39
+ children: s
40
+ })]
41
+ });
42
+ }
43
+ //#endregion
44
+ export { o as AdaptiveTwoColumnLayout, o as default };
45
+
46
+ //# sourceMappingURL=AdaptiveTwoColumnLayout.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"AdaptiveTwoColumnLayout.js","names":[],"sources":["../../../src/components/AdaptiveTwoColumnLayout/AdaptiveTwoColumnLayout.tsx"],"sourcesContent":["import { Box, SxProps } from '@mui/material'\nimport { ReactNode, useLayoutEffect, useRef, useState } from 'react'\n\nexport type MeasurementInfo = {\n leftHeight: number\n rightHeight: number\n ratio: number\n stacked: boolean\n}\n\nexport type AdaptiveTwoColumnLayoutProps = {\n leftContent: ReactNode\n rightContent?: ReactNode\n /**\n * Stack if leftHeight / rightHeight falls below this ratio.\n * Measured once after initial render with both columns side-by-side.\n * Default: 0.45\n */\n stackRatioThreshold?: number\n gap?: string | number\n sx?: SxProps\n /**\n * Called once after the initial measurement completes. Useful for debugging.\n */\n onMeasure?: (info: MeasurementInfo) => void\n}\n\n/**\n * Lays out two columns side-by-side and, after the initial render, measures\n * their heights. If leftHeight / rightHeight < stackRatioThreshold, the layout\n * switches to a single stacked column. On mobile (xs–md) the layout always stacks.\n *\n * Measurement is performed once on mount via useLayoutEffect, which fires\n * synchronously before the browser paints, so there is no visible layout shift.\n *\n * Algorithm mirrors the prototype at https://github.com/adamhindman/detail-page-columns:\n * measure in side-by-side mode, compute ratio = leftHeight / rightHeight, stack if below threshold.\n *\n * Implementation note: CSS Grid with align-items:start is used (not Flexbox).\n * Flexbox's default align-items:stretch causes both children to report the same\n * offsetHeight (the taller column's height), making the ratio always 1.0 and\n * stacking never triggering. Grid cells with align-items:start only take the\n * height of their own content, giving accurate independent measurements.\n */\nexport function AdaptiveTwoColumnLayout({\n leftContent,\n rightContent,\n stackRatioThreshold = 0.45,\n gap = '40px',\n sx,\n onMeasure,\n}: AdaptiveTwoColumnLayoutProps) {\n // null = not yet measured (2-column mode until useLayoutEffect reads heights)\n const [isStacked, setIsStacked] = useState<boolean | null>(null)\n const leftRef = useRef<HTMLDivElement>(null)\n const rightRef = useRef<HTMLDivElement>(null)\n // Stable ref so onMeasure is never a useEffect dependency.\n const onMeasureRef = useRef(onMeasure)\n onMeasureRef.current = onMeasure\n\n // useLayoutEffect fires synchronously after React commits the DOM but before\n // the browser paints, so offsetHeight values are accurate and the user never\n // sees the intermediate 2-column state.\n //\n // NOTE: rightContent and onMeasure are intentionally excluded from the\n // dependency array. rightContent is JSX — a new object reference on every\n // parent render — so including it would restart this effect on every render,\n // preventing measurement from completing. onMeasure is accessed via\n // onMeasureRef to avoid the same issue.\n useLayoutEffect(() => {\n if (!leftRef.current) return\n\n if (!rightRef.current) {\n setIsStacked(false)\n return\n }\n\n // Both columns are in 2-column grid mode (isStacked is still null).\n // offsetHeight gives each column's independent content height.\n const leftH = leftRef.current.offsetHeight\n const rightH = rightRef.current.offsetHeight\n\n if (rightH > 0) {\n const ratio = leftH / rightH\n const stacked = ratio < stackRatioThreshold\n setIsStacked(stacked)\n onMeasureRef.current?.({\n leftHeight: leftH,\n rightHeight: rightH,\n ratio,\n stacked,\n })\n } else {\n setIsStacked(false)\n }\n // rightContent and onMeasure intentionally omitted — see note above.\n }, [stackRatioThreshold])\n\n return (\n <Box\n sx={{\n display: 'grid',\n // While unmeasured: 2 equal columns so heights are independently comparable.\n // After measurement: xs always single column; md+ follows the decision.\n gridTemplateColumns:\n isStacked === null\n ? '1fr 1fr'\n : { xs: '1fr', md: isStacked ? '1fr' : '1fr 1fr' },\n // align-items:start is critical — each cell is only as tall as its own\n // content, giving independent heights for the ratio comparison.\n alignItems: 'start',\n gap,\n ...sx,\n }}\n >\n <Box ref={leftRef}>{leftContent}</Box>\n {rightContent && <Box ref={rightRef}>{rightContent}</Box>}\n </Box>\n )\n}\n\nexport default AdaptiveTwoColumnLayout\n"],"mappings":";;;;AA4CA,SAAgB,EAAwB,EACtC,gBACA,iBACA,yBAAsB,KACtB,SAAM,QACN,OACA,gBAC+B;CAE/B,IAAM,CAAC,GAAW,KAAgB,EAAyB,KAAK,EAC1D,IAAU,EAAuB,KAAK,EACtC,IAAW,EAAuB,KAAK,EAEvC,IAAe,EAAO,EAAU;AAyCtC,QAxCA,EAAa,UAAU,GAWvB,QAAsB;AACpB,MAAI,CAAC,EAAQ,QAAS;AAEtB,MAAI,CAAC,EAAS,SAAS;AACrB,KAAa,GAAM;AACnB;;EAKF,IAAM,IAAQ,EAAQ,QAAQ,cACxB,IAAS,EAAS,QAAQ;AAEhC,MAAI,IAAS,GAAG;GACd,IAAM,IAAQ,IAAQ,GAChB,IAAU,IAAQ;AAExB,GADA,EAAa,EAAQ,EACrB,EAAa,UAAU;IACrB,YAAY;IACZ,aAAa;IACb;IACA;IACD,CAAC;QAEF,GAAa,GAAM;IAGpB,CAAC,EAAoB,CAAC,EAGvB,kBAAC,GAAD;EACE,IAAI;GACF,SAAS;GAGT,qBACE,MAAc,OACV,YACA;IAAE,IAAI;IAAO,IAAI,IAAY,QAAQ;IAAW;GAGtD,YAAY;GACZ;GACA,GAAG;GACJ;YAdH,CAgBE,kBAAC,GAAD;GAAK,KAAK;aAAU;GAAkB,CAAA,EACrC,KAAgB,kBAAC,GAAD;GAAK,KAAK;aAAW;GAAmB,CAAA,CACrD"}
@@ -1 +1 @@
1
- {"version":3,"file":"SubmissionDirectoryList.d.ts","sourceRoot":"","sources":["../../../src/components/ChallengeSubmission/SubmissionDirectoryList.tsx"],"names":[],"mappings":"AAeA,OAAO,EAAE,UAAU,EAAE,MAAM,kCAAkC,CAAA;AAuB7D,OAAO,EAAE,UAAU,EAAE,MAAM,uBAAuB,CAAA;AAQlD,KAAK,4BAA4B,GAAG;IAClC,QAAQ,EAAE,MAAM,CAAA;IAChB,kBAAkB,EAAE,MAAM,CAAA;IAC1B,UAAU,EAAE,OAAO,UAAU,CAAC,UAAU,GAAG,OAAO,UAAU,CAAC,IAAI,CAAA;IACjE,cAAc,EAAE,CAAC,QAAQ,EAAE,UAAU,KAAK,IAAI,CAAA;CAC/C,CAAA;AAMD,iBAAS,uBAAuB,CAAC,EAC/B,QAAQ,EACR,kBAAkB,EAClB,UAAU,EACV,cAAc,GACf,EAAE,4BAA4B,2CAub9B;AAED,eAAe,uBAAuB,CAAA"}
1
+ {"version":3,"file":"SubmissionDirectoryList.d.ts","sourceRoot":"","sources":["../../../src/components/ChallengeSubmission/SubmissionDirectoryList.tsx"],"names":[],"mappings":"AAeA,OAAO,EAAE,UAAU,EAAE,MAAM,kCAAkC,CAAA;AAuB7D,OAAO,EAAE,UAAU,EAAE,MAAM,uBAAuB,CAAA;AAQlD,KAAK,4BAA4B,GAAG;IAClC,QAAQ,EAAE,MAAM,CAAA;IAChB,kBAAkB,EAAE,MAAM,CAAA;IAC1B,UAAU,EAAE,OAAO,UAAU,CAAC,UAAU,GAAG,OAAO,UAAU,CAAC,IAAI,CAAA;IACjE,cAAc,EAAE,CAAC,QAAQ,EAAE,UAAU,KAAK,IAAI,CAAA;CAC/C,CAAA;AAMD,iBAAS,uBAAuB,CAAC,EAC/B,QAAQ,EACR,kBAAkB,EAClB,UAAU,EACV,cAAc,GACf,EAAE,4BAA4B,2CAmc9B;AAED,eAAe,uBAAuB,CAAA"}
@@ -2,71 +2,71 @@ import { BackendDestinationEnum as e, getEndpoint as t } from "../../utils/funct
2
2
  import n from "../../synapse-client/index.js";
3
3
  import { ErrorBanner as r } from "../error/ErrorBanner.js";
4
4
  import { useSynapseContext as i } from "../../utils/context/SynapseContext.js";
5
- import { invalidateAllQueriesForEntity as ee } from "../../synapse-queries/QueryFilterUtils.js";
5
+ import { invalidateAllQueriesForEntity as a } from "../../synapse-queries/QueryFilterUtils.js";
6
6
  import "../../utils/index.js";
7
- import { useGetEntities as te } from "../../synapse-queries/entity/useEntity.js";
8
- import { useGetEntityChildren as ne } from "../../synapse-queries/entity/useGetEntityChildren.js";
7
+ import { useGetEntities as ee } from "../../synapse-queries/entity/useEntity.js";
8
+ import { useGetEntityChildren as o } from "../../synapse-queries/entity/useGetEntityChildren.js";
9
9
  import "../../synapse-queries/index.js";
10
- import a from "../ConfirmationDialog/index.js";
11
- import { formatDate as re } from "../../utils/functions/DateFormatter.js";
12
- import o from "../IconSvg/index.js";
13
- import { CopyToClipboardIcon as s } from "../CopyToClipboardIcon.js";
14
- import ie from "../FileUpload/index.js";
15
- import { useEffect as c, useMemo as l, useState as u } from "react";
16
- import { Box as d, Button as ae, Radio as oe, Typography as f } from "@mui/material";
17
- import { jsx as p, jsxs as m } from "react/jsx-runtime";
18
- import { Direction as h, FILE_ENTITY_CONCRETE_TYPE_VALUE as g, SortBy as se } from "@sage-bionetworks/synapse-types";
19
- import { EntityType as _ } from "@sage-bionetworks/synapse-client";
20
- import { useQueryClient as v } from "@tanstack/react-query";
21
- import { InfoTwoTone as y } from "@mui/icons-material";
22
- import { Link as b } from "react-router";
23
- import x from "dayjs";
24
- import { DataGrid as S } from "@mui/x-data-grid";
10
+ import s from "../ConfirmationDialog/index.js";
11
+ import { formatDate as c } from "../../utils/functions/DateFormatter.js";
12
+ import te from "../IconSvg/index.js";
13
+ import { CopyToClipboardIcon as ne } from "../CopyToClipboardIcon.js";
14
+ import l from "../FileUpload/index.js";
15
+ import { useEffect as u, useMemo as d, useState as f } from "react";
16
+ import { Box as p, Button as re, Radio as m, Typography as h } from "@mui/material";
17
+ import { Fragment as g, jsx as _, jsxs as v } from "react/jsx-runtime";
18
+ import { Direction as ie, FILE_ENTITY_CONCRETE_TYPE_VALUE as y, SortBy as ae } from "@sage-bionetworks/synapse-types";
19
+ import { EntityType as b } from "@sage-bionetworks/synapse-client";
20
+ import { useQueryClient as x } from "@tanstack/react-query";
21
+ import { NotesTwoTone as oe } from "@mui/icons-material";
22
+ import { Link as S } from "react-router";
23
+ import C from "dayjs";
24
+ import { DataGrid as se } from "@mui/x-data-grid";
25
25
  //#region src/components/ChallengeSubmission/SubmissionDirectoryList.tsx
26
- function C({ pageSize: C, challengeProjectId: w, entityType: T, onItemSelected: E }) {
27
- let D = v(), { accessToken: O, keyFactory: k } = i(), [A, ce] = u(0), [j, M] = u(), [N, P] = u(), [F, I] = u(), [L, R] = u([]), [z, B] = u(), [V, H] = u(!1), [U, W] = u(!1), [G, K] = u(), q = C, J = `${t(e.PORTAL_ENDPOINT)}Synapse:${w}`, { data: Y, refetch: le } = ne({
28
- parentId: w,
29
- nextPageToken: V ? z : null,
30
- includeTypes: [T],
26
+ function w({ pageSize: w, challengeProjectId: T, entityType: E, onItemSelected: D }) {
27
+ let O = x(), { accessToken: k, keyFactory: A } = i(), [j, ce] = f(0), [M, N] = f(), [P, F] = f(), [I, L] = f(), [R, z] = f([]), [B, V] = f(), [H, U] = f(!1), [W, G] = f(!1), [K, q] = f(), J = w, Y = `${t(e.PORTAL_ENDPOINT)}Synapse:${T}`, { data: X, refetch: le } = o({
28
+ parentId: T,
29
+ nextPageToken: H ? B : null,
30
+ includeTypes: [E],
31
31
  includeTotalChildCount: !0,
32
- sortBy: se.MODIFIED_ON,
33
- sortDirection: h.DESC
32
+ sortBy: ae.MODIFIED_ON,
33
+ sortDirection: ie.DESC
34
34
  }, {
35
- enabled: !!w,
35
+ enabled: !!T,
36
36
  throwOnError: !0
37
37
  });
38
- c(() => {
39
- if (Y) {
40
- let e = [...L], t = Math.floor((A + 1) * q / 50) * 50;
41
- e.splice(t, t + 50, ...Y.page), R(e), H(!1), B(Y.nextPageToken);
38
+ u(() => {
39
+ if (X) {
40
+ let e = [...R], t = Math.floor((j + 1) * J / 50) * 50;
41
+ e.splice(t, t + 50, ...X.page), z(e), U(!1), V(X.nextPageToken);
42
42
  }
43
- }, [Y]);
43
+ }, [X]);
44
44
  function ue() {
45
- let e = A * q;
46
- return L.slice(e, e + q);
45
+ let e = j * J;
46
+ return R.slice(e, e + J);
47
47
  }
48
- function X() {
49
- P(void 0), I(void 0), R([]), B(void 0), H(!1), le();
48
+ function Z() {
49
+ F(void 0), L(void 0), z([]), V(void 0), U(!1), le();
50
50
  }
51
- c(() => {
52
- X();
53
- }, [T, C]);
54
- let Z = te(ue()), Q = l(() => Z.filter((e) => e.status === "success").map((e) => e.data), [Z]), de = Z.some((e) => e.isLoading), fe = async (e) => {
55
- I(!1);
56
- let t = Q.find((t) => t?.id === e);
51
+ u(() => {
52
+ Z();
53
+ }, [E, w]);
54
+ let Q = ee(ue()), $ = d(() => Q.filter((e) => e.status === "success").map((e) => e.data), [Q]), de = Q.some((e) => e.isLoading), fe = async (e) => {
55
+ L(!1);
56
+ let t = $.find((t) => t?.id === e);
57
57
  if (t) {
58
- if (M(t), T === _.dockerrepo) {
58
+ if (N(t), E === b.dockerrepo) {
59
59
  let e;
60
60
  try {
61
- e = await n.getDockerTag(t.id, O, 0, 1);
61
+ e = await n.getDockerTag(t.id, k, 0, 1);
62
62
  } catch (e) {
63
- return P(e.message);
63
+ return F(e.message);
64
64
  }
65
- if (e.totalNumberOfResults === 0) return P("No commits have been made to this repository. Please select a repository with at least one commit.");
65
+ if (e.totalNumberOfResults === 0) return F("No commits have been made to this repository. Please select a repository with at least one commit.");
66
66
  }
67
- I(!0), P(void 0);
67
+ L(!0), F(void 0);
68
68
  }
69
- }, $ = [
69
+ }, pe = [
70
70
  {
71
71
  field: "radiobutton",
72
72
  headerName: "",
@@ -75,9 +75,9 @@ function C({ pageSize: C, challengeProjectId: w, entityType: T, onItemSelected:
75
75
  filterable: !1,
76
76
  hideable: !1,
77
77
  disableColumnMenu: !0,
78
- renderCell: (e) => /* @__PURE__ */ p(oe, {
78
+ renderCell: (e) => /* @__PURE__ */ _(m, {
79
79
  value: e.id,
80
- checked: e.id === j?.id,
80
+ checked: e.id === M?.id,
81
81
  onChange: (e) => {
82
82
  fe(e.target.value);
83
83
  }
@@ -85,12 +85,12 @@ function C({ pageSize: C, challengeProjectId: w, entityType: T, onItemSelected:
85
85
  },
86
86
  {
87
87
  field: "name",
88
- headerName: T === _.dockerrepo ? "Docker Repository" : "File Name",
88
+ headerName: E === b.dockerrepo ? "Docker Repository" : "File Name",
89
89
  flex: 1,
90
90
  filterable: !1,
91
91
  hideable: !1,
92
92
  disableColumnMenu: !0,
93
- renderCell: (n) => /* @__PURE__ */ p(b, {
93
+ renderCell: (n) => /* @__PURE__ */ _(S, {
94
94
  to: { pathname: `${t(e.PORTAL_ENDPOINT)}Synapse:${n.row.id}` },
95
95
  target: "_blank",
96
96
  children: n.row.name
@@ -112,130 +112,156 @@ function C({ pageSize: C, challengeProjectId: w, entityType: T, onItemSelected:
112
112
  hideable: !1,
113
113
  disableColumnMenu: !0
114
114
  }
115
- ], pe = (e) => {
115
+ ], me = (e) => {
116
116
  let t = [];
117
117
  return e.forEach((e) => {
118
118
  t.push({
119
119
  id: e.id,
120
- name: T === _.dockerrepo ? e.repositoryName ?? e.name : e.name,
121
- modifiedOn: re(x(e.modifiedOn), "MM/DD/YY")
120
+ name: E === b.dockerrepo ? e.repositoryName ?? e.name : e.name,
121
+ modifiedOn: c(C(e.modifiedOn), "MM/DD/YY")
122
122
  });
123
123
  }), t;
124
- }, me = (e) => {
125
- Math.min(Y?.totalChildCount ?? 0, (e + 1) * q) > L.length && H(!0), ce(e);
126
- }, he = () => {
127
- E(j);
124
+ }, he = (e) => {
125
+ Math.min(X?.totalChildCount ?? 0, (e + 1) * J) > R.length && U(!0), ce(e);
126
+ }, ge = () => {
127
+ D(M);
128
128
  };
129
- function ge(e) {
129
+ function _e(e) {
130
130
  if (!e) return;
131
131
  let { fileHandleId: t, fileName: r } = e, i = {
132
- parentId: w,
132
+ parentId: T,
133
133
  name: r,
134
- concreteType: g,
134
+ concreteType: y,
135
135
  dataFileHandleId: t
136
136
  };
137
- n.createEntity(i, O).then(() => {
138
- X();
137
+ n.createEntity(i, k).then(() => {
138
+ Z();
139
139
  }).catch((e) => {
140
- P(e.reason);
140
+ F(e.reason);
141
141
  });
142
142
  }
143
- async function _e() {
144
- if (!G) return;
145
- let { fileHandleId: e, entityId: t } = G;
146
- if (!t) return P("Error: missing entityId. Please try again.");
143
+ async function ve() {
144
+ if (!K) return;
145
+ let { fileHandleId: e, entityId: t } = K;
146
+ if (!t) return F("Error: missing entityId. Please try again.");
147
147
  let r;
148
148
  try {
149
- r = await n.getEntity(O, t);
149
+ r = await n.getEntity(k, t);
150
150
  } catch {
151
- return P(`The entity ${t} could not be retrieved.`);
151
+ return F(`The entity ${t} could not be retrieved.`);
152
152
  }
153
153
  let i = {
154
154
  id: r.id,
155
155
  name: r.name,
156
156
  dataFileHandleId: e,
157
- concreteType: g,
157
+ concreteType: y,
158
158
  parentId: r.parentId,
159
159
  etag: r.etag,
160
160
  modifiedOn: r.modifiedOn
161
161
  };
162
162
  try {
163
- let e = await n.updateEntity(i, O, !0);
164
- await ee(D, k, e.id), D.setQueryData(k.getEntityQueryKey(e.id), e), X();
163
+ let e = await n.updateEntity(i, k, !0);
164
+ await a(O, A, e.id), O.setQueryData(A.getEntityQueryKey(e.id), e), Z();
165
165
  } catch (e) {
166
- P(e.reason);
166
+ F(e.reason);
167
167
  }
168
168
  }
169
- let ve = async (e) => {
169
+ let ye = async (e) => {
170
170
  if (e.success && e.resp) {
171
171
  let { fileName: t } = e.resp, r = {
172
172
  entityName: t,
173
- parentId: w
173
+ parentId: T
174
174
  };
175
175
  try {
176
- let t = await n.lookupChildEntity(r, O);
177
- t && (K({
176
+ let t = await n.lookupChildEntity(r, k);
177
+ t && (q({
178
178
  ...e.resp,
179
179
  entityId: t.id
180
- }), W(!0));
180
+ }), G(!0));
181
181
  } catch {
182
- K(void 0), ge(e.resp);
182
+ q(void 0), _e(e.resp);
183
183
  }
184
- } else !e.success && e.error ? P(e.error.reason) : P("An unknown error occurred. Please try again.");
184
+ } else !e.success && e.error ? F(e.error.reason) : F("An unknown error occurred. Please try again.");
185
185
  };
186
- return /* @__PURE__ */ m(d, { children: [
187
- /* @__PURE__ */ m(d, {
186
+ return /* @__PURE__ */ v(p, { children: [
187
+ /* @__PURE__ */ v(p, {
188
188
  sx: {
189
189
  display: "flex",
190
190
  backgroundColor: "#FBFBFC",
191
191
  padding: "10px",
192
192
  justifyContent: "space-between"
193
193
  },
194
- children: [/* @__PURE__ */ p(f, {
194
+ children: [/* @__PURE__ */ _(h, {
195
195
  variant: "h6",
196
196
  sx: {
197
197
  fontSize: "18px",
198
198
  lineHeight: "20px",
199
199
  fontWeight: 700
200
200
  },
201
- children: "Your Submission Directory"
202
- }), /* @__PURE__ */ m(d, {
201
+ children: E === b.file ? "Submit File" : "Submit Docker Image"
202
+ }), /* @__PURE__ */ v(p, {
203
203
  sx: { display: "flex" },
204
- children: [/* @__PURE__ */ m(f, {
204
+ children: [/* @__PURE__ */ v(h, {
205
205
  variant: "body1",
206
206
  sx: {
207
207
  fontSize: "14px",
208
208
  color: "#71767F"
209
209
  },
210
210
  children: [
211
- "Project SynID:",
211
+ "Your Project SynID:",
212
212
  " ",
213
- /* @__PURE__ */ p(b, {
214
- to: { pathname: J },
213
+ /* @__PURE__ */ _(S, {
214
+ to: { pathname: Y },
215
215
  target: "_blank",
216
- children: w
216
+ children: T
217
217
  })
218
218
  ]
219
- }), /* @__PURE__ */ p(s, {
220
- value: J,
219
+ }), /* @__PURE__ */ _(ne, {
220
+ value: Y,
221
221
  sx: { marginTop: "-4px" }
222
222
  })]
223
223
  })]
224
224
  }),
225
- /* @__PURE__ */ p(d, { children: /* @__PURE__ */ p(S, {
225
+ /* @__PURE__ */ v(p, {
226
+ sx: {
227
+ my: 3,
228
+ display: "flex"
229
+ },
230
+ children: [/* @__PURE__ */ _(oe, { sx: {
231
+ width: "16px",
232
+ height: "16px",
233
+ verticalAlign: "text-bottom"
234
+ } }), /* @__PURE__ */ v(p, {
235
+ sx: { ml: 1 },
236
+ children: [E === b.file && /* @__PURE__ */ _(g, { children: "Choose a prediction file from your submission directory below and click \"Submit Selection\" to pick an evaluation queue. If you need to add a new file, click \"Upload File\" first." }), E === b.dockerrepo && /* @__PURE__ */ v(g, { children: [
237
+ "Choose a Docker image from your submission directory below and click \"Submit Selection\" to pick an image version and evaluation queue. If you need to upload a new image to your project (",
238
+ /* @__PURE__ */ _("code", { children: T }),
239
+ "), see our",
240
+ " ",
241
+ /* @__PURE__ */ _(S, {
242
+ to: "https://github.com/Sage-Bionetworks-Challenges/sample-model-templates#build-your-model",
243
+ target: "_blank",
244
+ children: "Docker model submission guide"
245
+ }),
246
+ " ",
247
+ "for command-line instructions on how to build and upload."
248
+ ] })]
249
+ })]
250
+ }),
251
+ /* @__PURE__ */ _(p, { children: /* @__PURE__ */ _(se, {
226
252
  loading: de,
227
- columns: $,
228
- rows: pe(Q),
229
- rowCount: Y?.totalChildCount ?? 0,
253
+ columns: pe,
254
+ rows: me($),
255
+ rowCount: X?.totalChildCount ?? 0,
230
256
  pagination: !0,
231
257
  paginationMode: "server",
232
258
  paginationModel: {
233
- page: A,
234
- pageSize: q
259
+ page: j,
260
+ pageSize: J
235
261
  },
236
- pageSizeOptions: [q],
262
+ pageSizeOptions: [J],
237
263
  onPaginationModelChange: ({ page: e }) => {
238
- me(e);
264
+ he(e);
239
265
  },
240
266
  density: "compact",
241
267
  autoHeight: !0,
@@ -254,75 +280,52 @@ function C({ pageSize: C, challengeProjectId: w, entityType: T, onItemSelected:
254
280
  },
255
281
  getRowClassName: (e) => e.indexRelativeToCurrentPage % 2 == 0 ? "Mui-even" : "Mui-odd"
256
282
  }) }),
257
- N && /* @__PURE__ */ p(r, { error: N }),
258
- /* @__PURE__ */ m(d, {
283
+ P && /* @__PURE__ */ _(r, { error: P }),
284
+ /* @__PURE__ */ v(p, {
259
285
  sx: {
260
286
  display: "flex",
261
287
  justifyContent: "space-between"
262
288
  },
263
- children: [T === _.file && /* @__PURE__ */ p(ie, {
289
+ children: [E === b.file && /* @__PURE__ */ _(l, {
264
290
  label: "Upload File",
265
291
  buttonProps: {
266
292
  variant: "outlined",
267
- endIcon: /* @__PURE__ */ p(o, { icon: "upload" }),
293
+ endIcon: /* @__PURE__ */ _(te, { icon: "upload" }),
268
294
  sx: { lineHeight: 1 }
269
295
  },
270
296
  onComplete: (e) => {
271
- ve(e);
297
+ ye(e);
272
298
  }
273
- }), /* @__PURE__ */ p(ae, {
299
+ }), /* @__PURE__ */ _(re, {
274
300
  color: "primary",
275
301
  variant: "contained",
276
- onClick: he,
277
- disabled: !F,
302
+ onClick: ge,
303
+ disabled: !I,
278
304
  children: "Submit Selection"
279
305
  })]
280
306
  }),
281
- T === _.dockerrepo && /* @__PURE__ */ m(d, {
282
- sx: {
283
- mt: 4,
284
- display: "flex"
285
- },
286
- children: [/* @__PURE__ */ p(y, { sx: {
287
- width: "16px",
288
- height: "16px",
289
- verticalAlign: "text-bottom"
290
- } }), /* @__PURE__ */ m(d, {
291
- sx: { ml: 2 },
292
- children: [
293
- "To learn more about how to create and submit the Docker containers using command line, see our",
294
- " ",
295
- /* @__PURE__ */ p(b, {
296
- to: "https://github.com/Sage-Bionetworks-Challenges/sample-model-templates#build-your-model",
297
- target: "_blank",
298
- children: "Docker model submission guide"
299
- }),
300
- "."
301
- ]
302
- })]
303
- }),
304
- /* @__PURE__ */ p(a, {
305
- open: U,
307
+ /* @__PURE__ */ _(s, {
308
+ open: W,
306
309
  title: "File exists",
307
- content: /* @__PURE__ */ m(f, {
310
+ content: /* @__PURE__ */ v(h, {
308
311
  variant: "body1",
309
312
  sx: { fontSize: "16px" },
310
313
  children: [
311
314
  "A file named \"",
312
- G?.fileName,
315
+ K?.fileName,
313
316
  "\" (",
314
- G?.entityId,
317
+ K?.entityId,
315
318
  ") already exists in this location. Do you want to update the existing file and create a new version?"
316
319
  ]
317
320
  }),
318
- onCancel: () => W(!1),
321
+ onCancel: () => G(!1),
319
322
  onConfirm: () => {
320
- _e(), W(!1);
323
+ ve(), G(!1);
321
324
  }
322
325
  })
323
326
  ] });
324
327
  }
325
328
  //#endregion
326
- export { C as default };
329
+ export { w as default };
327
330
 
328
331
  //# sourceMappingURL=SubmissionDirectoryList.js.map