synapse-react-client 4.0.42 → 4.0.43

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 (122) hide show
  1. package/dist/SWC.index.js +1 -1
  2. package/dist/components/AccessRequirementList/AccessRequirementList.d.ts +6 -20
  3. package/dist/components/AccessRequirementList/AccessRequirementList.d.ts.map +1 -1
  4. package/dist/components/AccessRequirementList/AccessRequirementList.js +165 -159
  5. package/dist/components/AccessRequirementList/AccessRequirementList.js.map +1 -1
  6. package/dist/components/AccessRequirementList/AccessRequirementListItem.d.ts +3 -2
  7. package/dist/components/AccessRequirementList/AccessRequirementListItem.d.ts.map +1 -1
  8. package/dist/components/AccessRequirementList/AccessRequirementListItem.js +23 -22
  9. package/dist/components/AccessRequirementList/AccessRequirementListItem.js.map +1 -1
  10. package/dist/components/AccessRequirementList/AccessRequirementListUtils.d.ts +4 -3
  11. package/dist/components/AccessRequirementList/AccessRequirementListUtils.d.ts.map +1 -1
  12. package/dist/components/AccessRequirementList/AccessRequirementListUtils.js +6 -4
  13. package/dist/components/AccessRequirementList/AccessRequirementListUtils.js.map +1 -1
  14. package/dist/components/AccessRequirementList/JsonSchemaAccessRequirementRequestFlow/JsonSchemaRequestWizard.d.ts +22 -0
  15. package/dist/components/AccessRequirementList/JsonSchemaAccessRequirementRequestFlow/JsonSchemaRequestWizard.d.ts.map +1 -0
  16. package/dist/components/AccessRequirementList/JsonSchemaAccessRequirementRequestFlow/JsonSchemaRequestWizard.js +166 -0
  17. package/dist/components/AccessRequirementList/JsonSchemaAccessRequirementRequestFlow/JsonSchemaRequestWizard.js.map +1 -0
  18. package/dist/components/AccessRequirementList/JsonSchemaAccessRequirementRequestFlow/RequesterInformationFields.d.ts +18 -0
  19. package/dist/components/AccessRequirementList/JsonSchemaAccessRequirementRequestFlow/RequesterInformationFields.d.ts.map +1 -0
  20. package/dist/components/AccessRequirementList/JsonSchemaAccessRequirementRequestFlow/RequesterInformationFields.js +91 -0
  21. package/dist/components/AccessRequirementList/JsonSchemaAccessRequirementRequestFlow/RequesterInformationFields.js.map +1 -0
  22. package/dist/components/AccessRequirementList/JsonSchemaAccessRequirementRequestFlow/requesterInformation.d.ts +33 -0
  23. package/dist/components/AccessRequirementList/JsonSchemaAccessRequirementRequestFlow/requesterInformation.d.ts.map +1 -0
  24. package/dist/components/AccessRequirementList/JsonSchemaAccessRequirementRequestFlow/requesterInformation.js +49 -0
  25. package/dist/components/AccessRequirementList/JsonSchemaAccessRequirementRequestFlow/requesterInformation.js.map +1 -0
  26. package/dist/components/AccessRequirementList/ManagedACTAccessRequirementRequestFlow/CancelRequestDataAccess.d.ts.map +1 -1
  27. package/dist/components/AccessRequirementList/ManagedACTAccessRequirementRequestFlow/CancelRequestDataAccess.js +26 -42
  28. package/dist/components/AccessRequirementList/ManagedACTAccessRequirementRequestFlow/CancelRequestDataAccess.js.map +1 -1
  29. package/dist/components/AccessRequirementList/ManagedACTAccessRequirementRequestFlow/DataAccessRequestAccessorsFilesForm/DataAccessRequestAccessorsFilesForm.d.ts.map +1 -1
  30. package/dist/components/AccessRequirementList/ManagedACTAccessRequirementRequestFlow/DataAccessRequestAccessorsFilesForm/DataAccessRequestAccessorsFilesForm.js +140 -155
  31. package/dist/components/AccessRequirementList/ManagedACTAccessRequirementRequestFlow/DataAccessRequestAccessorsFilesForm/DataAccessRequestAccessorsFilesForm.js.map +1 -1
  32. package/dist/components/AccessRequirementList/ManagedACTAccessRequirementRequestFlow/EDucPreviewStep/EDucPreviewStep.d.ts.map +1 -1
  33. package/dist/components/AccessRequirementList/ManagedACTAccessRequirementRequestFlow/EDucPreviewStep/EDucPreviewStep.js +43 -60
  34. package/dist/components/AccessRequirementList/ManagedACTAccessRequirementRequestFlow/EDucPreviewStep/EDucPreviewStep.js.map +1 -1
  35. package/dist/components/AccessRequirementList/ManagedACTAccessRequirementRequestFlow/ManagedACTAccessRequirementFormWikiWrapper.d.ts +4 -5
  36. package/dist/components/AccessRequirementList/ManagedACTAccessRequirementRequestFlow/ManagedACTAccessRequirementFormWikiWrapper.d.ts.map +1 -1
  37. package/dist/components/AccessRequirementList/ManagedACTAccessRequirementRequestFlow/ManagedACTAccessRequirementFormWikiWrapper.js +5 -5
  38. package/dist/components/AccessRequirementList/ManagedACTAccessRequirementRequestFlow/ManagedACTAccessRequirementFormWikiWrapper.js.map +1 -1
  39. package/dist/components/AccessRequirementList/ManagedACTAccessRequirementRequestFlow/ManualUploadDucStep/ManualUploadDucStep.d.ts.map +1 -1
  40. package/dist/components/AccessRequirementList/ManagedACTAccessRequirementRequestFlow/ManualUploadDucStep/ManualUploadDucStep.js +88 -103
  41. package/dist/components/AccessRequirementList/ManagedACTAccessRequirementRequestFlow/ManualUploadDucStep/ManualUploadDucStep.js.map +1 -1
  42. package/dist/components/AccessRequirementList/ManagedACTAccessRequirementRequestFlow/RequestDataAccessSuccess.d.ts.map +1 -1
  43. package/dist/components/AccessRequirementList/ManagedACTAccessRequirementRequestFlow/RequestDataAccessSuccess.js +14 -30
  44. package/dist/components/AccessRequirementList/ManagedACTAccessRequirementRequestFlow/RequestDataAccessSuccess.js.map +1 -1
  45. package/dist/components/AccessRequirementList/ManagedACTAccessRequirementRequestFlow/{ManagedACTAccessRequirementItem.d.ts → RequestableAccessRequirementItem.d.ts} +9 -8
  46. package/dist/components/AccessRequirementList/ManagedACTAccessRequirementRequestFlow/RequestableAccessRequirementItem.d.ts.map +1 -0
  47. package/dist/components/AccessRequirementList/ManagedACTAccessRequirementRequestFlow/{ManagedACTAccessRequirementItem.js → RequestableAccessRequirementItem.js} +16 -16
  48. package/dist/components/AccessRequirementList/ManagedACTAccessRequirementRequestFlow/RequestableAccessRequirementItem.js.map +1 -0
  49. package/dist/components/AccessRequirementList/ManagedACTAccessRequirementRequestFlow/{ManagedACTAccessRequirementItemView.d.ts → RequestableAccessRequirementItemView.d.ts} +5 -5
  50. package/dist/components/AccessRequirementList/ManagedACTAccessRequirementRequestFlow/RequestableAccessRequirementItemView.d.ts.map +1 -0
  51. package/dist/components/AccessRequirementList/ManagedACTAccessRequirementRequestFlow/{ManagedACTAccessRequirementItemView.js → RequestableAccessRequirementItemView.js} +3 -4
  52. package/dist/components/AccessRequirementList/ManagedACTAccessRequirementRequestFlow/RequestableAccessRequirementItemView.js.map +1 -0
  53. package/dist/components/AccessRequirementList/ManagedACTAccessRequirementRequestFlow/ResearchProjectForm/ResearchProjectForm.d.ts.map +1 -1
  54. package/dist/components/AccessRequirementList/ManagedACTAccessRequirementRequestFlow/ResearchProjectForm/ResearchProjectForm.js +94 -110
  55. package/dist/components/AccessRequirementList/ManagedACTAccessRequirementRequestFlow/ResearchProjectForm/ResearchProjectForm.js.map +1 -1
  56. package/dist/components/AccessRequirementList/ManagedACTAccessRequirementRequestFlow/ReviewDucStep/ReviewDucStep.d.ts +0 -2
  57. package/dist/components/AccessRequirementList/ManagedACTAccessRequirementRequestFlow/ReviewDucStep/ReviewDucStep.d.ts.map +1 -1
  58. package/dist/components/AccessRequirementList/ManagedACTAccessRequirementRequestFlow/ReviewDucStep/ReviewDucStep.js +35 -52
  59. package/dist/components/AccessRequirementList/ManagedACTAccessRequirementRequestFlow/ReviewDucStep/ReviewDucStep.js.map +1 -1
  60. package/dist/components/AccessRequirementList/ManagedACTAccessRequirementRequestFlow/SignatureStatusStep/SignatureStatusStep.d.ts.map +1 -1
  61. package/dist/components/AccessRequirementList/ManagedACTAccessRequirementRequestFlow/SignatureStatusStep/SignatureStatusStep.js +79 -95
  62. package/dist/components/AccessRequirementList/ManagedACTAccessRequirementRequestFlow/SignatureStatusStep/SignatureStatusStep.js.map +1 -1
  63. package/dist/components/AccessRequirementList/ManagedACTAccessRequirementRequestFlow/requestFlowTypes.d.ts +2 -1
  64. package/dist/components/AccessRequirementList/ManagedACTAccessRequirementRequestFlow/requestFlowTypes.d.ts.map +1 -1
  65. package/dist/components/AccessRequirementList/RequestDataStep.d.ts +34 -0
  66. package/dist/components/AccessRequirementList/RequestDataStep.d.ts.map +1 -0
  67. package/dist/components/AccessRequirementList/RequestDataStep.js +37 -0
  68. package/dist/components/AccessRequirementList/RequestDataStep.js.map +1 -0
  69. package/dist/components/AccessRequirementList/RequirementItem/UnmanagedACTAccessRequirementItem.d.ts +1 -1
  70. package/dist/components/AccessRequirementList/RequirementItem/UnmanagedACTAccessRequirementItem.js.map +1 -1
  71. package/dist/components/FormTemplateEditor/FormTemplatePreview.d.ts.map +1 -1
  72. package/dist/components/FormTemplateEditor/FormTemplatePreview.js +29 -30
  73. package/dist/components/FormTemplateEditor/FormTemplatePreview.js.map +1 -1
  74. package/dist/components/JsonSchemaForm/SchemaStepForm.d.ts +21 -0
  75. package/dist/components/JsonSchemaForm/SchemaStepForm.d.ts.map +1 -0
  76. package/dist/components/JsonSchemaForm/SchemaStepForm.js +29 -0
  77. package/dist/components/JsonSchemaForm/SchemaStepForm.js.map +1 -0
  78. package/dist/components/SetBasicAccessRequirementFields/GovernanceUtils.d.ts +2 -2
  79. package/dist/components/SetBasicAccessRequirementFields/GovernanceUtils.d.ts.map +1 -1
  80. package/dist/components/SetBasicAccessRequirementFields/GovernanceUtils.js +11 -10
  81. package/dist/components/SetBasicAccessRequirementFields/GovernanceUtils.js.map +1 -1
  82. package/dist/components/SynapseForm/SynapseForm.js +28 -28
  83. package/dist/components/dataaccess/UserAccessRequestHistory/InFlightEDucSignaturesTable.d.ts.map +1 -1
  84. package/dist/components/dataaccess/UserAccessRequestHistory/InFlightEDucSignaturesTable.js +5 -4
  85. package/dist/components/dataaccess/UserAccessRequestHistory/InFlightEDucSignaturesTable.js.map +1 -1
  86. package/dist/components/dataaccess/UserAccessRequestHistory/UserAccessRequestHistoryPlace.d.ts.map +1 -1
  87. package/dist/components/dataaccess/UserAccessRequestHistory/UserAccessRequestHistoryPlace.js +5 -4
  88. package/dist/components/dataaccess/UserAccessRequestHistory/UserAccessRequestHistoryPlace.js.map +1 -1
  89. package/dist/features/curator/dashboard/CuratorDashboardRouter.d.ts.map +1 -1
  90. package/dist/features/curator/dashboard/CuratorDashboardRouter.js +15 -15
  91. package/dist/features/curator/dashboard/CuratorDashboardRouter.js.map +1 -1
  92. package/dist/features/entity/metadata-task/components/MetadataTasksPageRouter.d.ts.map +1 -1
  93. package/dist/features/entity/metadata-task/components/MetadataTasksPageRouter.js +15 -14
  94. package/dist/features/entity/metadata-task/components/MetadataTasksPageRouter.js.map +1 -1
  95. package/dist/mocks/accessRequirement/mockJsonSchemaAccessRequirements.d.ts +7 -0
  96. package/dist/mocks/accessRequirement/mockJsonSchemaAccessRequirements.d.ts.map +1 -1
  97. package/dist/mocks/accessRequirement/mockJsonSchemaAccessRequirements.js +30 -15
  98. package/dist/mocks/accessRequirement/mockJsonSchemaAccessRequirements.js.map +1 -1
  99. package/dist/mocks/dataaccess/MockDataAccessRequest.d.ts +3 -0
  100. package/dist/mocks/dataaccess/MockDataAccessRequest.d.ts.map +1 -1
  101. package/dist/mocks/dataaccess/MockDataAccessRequest.js +24 -12
  102. package/dist/mocks/dataaccess/MockDataAccessRequest.js.map +1 -1
  103. package/dist/mocks/msw/handlers/dataAccessRequestHandlers.d.ts.map +1 -1
  104. package/dist/mocks/msw/handlers/dataAccessRequestHandlers.js +42 -30
  105. package/dist/mocks/msw/handlers/dataAccessRequestHandlers.js.map +1 -1
  106. package/dist/synapse-queries/dataaccess/useGeneratedRequestForm.d.ts +19 -0
  107. package/dist/synapse-queries/dataaccess/useGeneratedRequestForm.d.ts.map +1 -0
  108. package/dist/synapse-queries/dataaccess/useGeneratedRequestForm.js +26 -0
  109. package/dist/synapse-queries/dataaccess/useGeneratedRequestForm.js.map +1 -0
  110. package/dist/tsconfig.build.tsbuildinfo +1 -1
  111. package/dist/utils/hooks/useDetectSSOCode.d.ts.map +1 -1
  112. package/dist/utils/hooks/useDetectSSOCode.js +31 -26
  113. package/dist/utils/hooks/useDetectSSOCode.js.map +1 -1
  114. package/dist/utils/jsonschema/schemaData.d.ts +18 -0
  115. package/dist/utils/jsonschema/schemaData.d.ts.map +1 -0
  116. package/dist/utils/jsonschema/schemaData.js +26 -0
  117. package/dist/utils/jsonschema/schemaData.js.map +1 -0
  118. package/package.json +2 -2
  119. package/dist/components/AccessRequirementList/ManagedACTAccessRequirementRequestFlow/ManagedACTAccessRequirementItem.d.ts.map +0 -1
  120. package/dist/components/AccessRequirementList/ManagedACTAccessRequirementRequestFlow/ManagedACTAccessRequirementItem.js.map +0 -1
  121. package/dist/components/AccessRequirementList/ManagedACTAccessRequirementRequestFlow/ManagedACTAccessRequirementItemView.d.ts.map +0 -1
  122. package/dist/components/AccessRequirementList/ManagedACTAccessRequirementRequestFlow/ManagedACTAccessRequirementItemView.js.map +0 -1
@@ -0,0 +1,34 @@
1
+ import { AccessRequirement, JsonSchemaAccessRequirement, ManagedACTAccessRequirement } from '@sage-bionetworks/synapse-types';
2
+ /** The access requirement types that a user can request access to through the request wizard */
3
+ export type RequestableAccessRequirement = ManagedACTAccessRequirement | JsonSchemaAccessRequirement;
4
+ export declare function isRequestableAccessRequirement(accessRequirement: AccessRequirement): accessRequirement is RequestableAccessRequirement;
5
+ /**
6
+ * Represents a distinct screen in the wizard used to request access to a {@link RequestableAccessRequirement}
7
+ */
8
+ export declare enum RequestDataStep {
9
+ SHOW_ALL_ARS = 0,
10
+ UPDATE_RESEARCH_PROJECT = 1,
11
+ UPDATE_ACCESSORS_AND_FILES = 2,
12
+ PROMPT_CANCEL = 3,
13
+ PROMPT_LOGIN = 4,
14
+ COMPLETE = 5,
15
+ REVIEW_DUC = 6,
16
+ EDUC_PREVIEW = 7,
17
+ MANUAL_UPLOAD_DUC = 8,
18
+ SIGNATURE_STATUS = 9,
19
+ /** The request wizard of a JsonSchemaAccessRequirement, which owns its own sequence of steps */
20
+ SCHEMA_DRIVEN_REQUEST = 10
21
+ }
22
+ /** The first step of the wizard in which a user requests access to the given access requirement */
23
+ export declare function getFirstRequestStep(accessRequirement: Pick<RequestableAccessRequirement, 'concreteType'>): RequestDataStep;
24
+ /**
25
+ * The step that follows `currentStep` in the request wizard of the given access requirement.
26
+ * @throws if `currentStep` is the last step of, or not a step of, the access requirement's request wizard
27
+ */
28
+ export declare function getNextRequestStep(accessRequirement: Pick<RequestableAccessRequirement, 'concreteType'>, currentStep: RequestDataStep): RequestDataStep;
29
+ /**
30
+ * The step that precedes `currentStep` in the request wizard of the given access requirement.
31
+ * @throws if `currentStep` is the first step of, or not a step of, the access requirement's request wizard
32
+ */
33
+ export declare function getPreviousRequestStep(accessRequirement: Pick<RequestableAccessRequirement, 'concreteType'>, currentStep: RequestDataStep): RequestDataStep;
34
+ //# sourceMappingURL=RequestDataStep.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"RequestDataStep.d.ts","sourceRoot":"","sources":["../../../src/components/AccessRequirementList/RequestDataStep.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,iBAAiB,EAEjB,2BAA2B,EAE3B,2BAA2B,EAC5B,MAAM,iCAAiC,CAAA;AAExC,gGAAgG;AAChG,MAAM,MAAM,4BAA4B,GACpC,2BAA2B,GAC3B,2BAA2B,CAAA;AAE/B,wBAAgB,8BAA8B,CAC5C,iBAAiB,EAAE,iBAAiB,GACnC,iBAAiB,IAAI,4BAA4B,CAOnD;AAED;;GAEG;AACH,oBAAY,eAAe;IACzB,YAAY,IAAA;IACZ,uBAAuB,IAAA;IACvB,0BAA0B,IAAA;IAC1B,aAAa,IAAA;IACb,YAAY,IAAA;IACZ,QAAQ,IAAA;IACR,UAAU,IAAA;IACV,YAAY,IAAA;IACZ,iBAAiB,IAAA;IACjB,gBAAgB,IAAA;IAChB,gGAAgG;IAChG,qBAAqB,KAAA;CACtB;AAyBD,mGAAmG;AACnG,wBAAgB,mBAAmB,CACjC,iBAAiB,EAAE,IAAI,CAAC,4BAA4B,EAAE,cAAc,CAAC,GACpE,eAAe,CAEjB;AAED;;;GAGG;AACH,wBAAgB,kBAAkB,CAChC,iBAAiB,EAAE,IAAI,CAAC,4BAA4B,EAAE,cAAc,CAAC,EACrE,WAAW,EAAE,eAAe,GAC3B,eAAe,CAEjB;AAED;;;GAGG;AACH,wBAAgB,sBAAsB,CACpC,iBAAiB,EAAE,IAAI,CAAC,4BAA4B,EAAE,cAAc,CAAC,EACrE,WAAW,EAAE,eAAe,GAC3B,eAAe,CAEjB"}
@@ -0,0 +1,37 @@
1
+ import { JSON_SCHEMA_ACCESS_REQUIREMENT_CONCRETE_TYPE_VALUE as e, MANAGED_ACT_ACCESS_REQUIREMENT_CONCRETE_TYPE_VALUE as t } from "@sage-bionetworks/synapse-types";
2
+ //#region src/components/AccessRequirementList/RequestDataStep.ts
3
+ function n(n) {
4
+ return n.concreteType === t || n.concreteType === e;
5
+ }
6
+ var r = /* @__PURE__ */ function(e) {
7
+ return e[e.SHOW_ALL_ARS = 0] = "SHOW_ALL_ARS", e[e.UPDATE_RESEARCH_PROJECT = 1] = "UPDATE_RESEARCH_PROJECT", e[e.UPDATE_ACCESSORS_AND_FILES = 2] = "UPDATE_ACCESSORS_AND_FILES", e[e.PROMPT_CANCEL = 3] = "PROMPT_CANCEL", e[e.PROMPT_LOGIN = 4] = "PROMPT_LOGIN", e[e.COMPLETE = 5] = "COMPLETE", e[e.REVIEW_DUC = 6] = "REVIEW_DUC", e[e.EDUC_PREVIEW = 7] = "EDUC_PREVIEW", e[e.MANUAL_UPLOAD_DUC = 8] = "MANUAL_UPLOAD_DUC", e[e.SIGNATURE_STATUS = 9] = "SIGNATURE_STATUS", e[e.SCHEMA_DRIVEN_REQUEST = 10] = "SCHEMA_DRIVEN_REQUEST", e;
8
+ }({}), i = [
9
+ 6,
10
+ 7,
11
+ 8
12
+ ], a = {
13
+ [t]: [
14
+ 1,
15
+ 2,
16
+ ...i
17
+ ],
18
+ [e]: [10, ...i]
19
+ };
20
+ function o(e) {
21
+ return a[e.concreteType][0];
22
+ }
23
+ function s(e, t) {
24
+ return l(e, t, 1);
25
+ }
26
+ function c(e, t) {
27
+ return l(e, t, -1);
28
+ }
29
+ function l(e, t, n) {
30
+ let i = a[e.concreteType], o = i.indexOf(t), s = o === -1 ? void 0 : i[o + n];
31
+ if (s === void 0) throw Error(`There is no ${n === 1 ? "next" : "previous"} step for ${r[t]} in the request wizard of ${e.concreteType}`);
32
+ return s;
33
+ }
34
+ //#endregion
35
+ export { r as RequestDataStep, o as getFirstRequestStep, s as getNextRequestStep, c as getPreviousRequestStep, n as isRequestableAccessRequirement };
36
+
37
+ //# sourceMappingURL=RequestDataStep.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"RequestDataStep.js","names":[],"sources":["../../../src/components/AccessRequirementList/RequestDataStep.ts"],"sourcesContent":["import {\n AccessRequirement,\n JSON_SCHEMA_ACCESS_REQUIREMENT_CONCRETE_TYPE_VALUE,\n JsonSchemaAccessRequirement,\n MANAGED_ACT_ACCESS_REQUIREMENT_CONCRETE_TYPE_VALUE,\n ManagedACTAccessRequirement,\n} from '@sage-bionetworks/synapse-types'\n\n/** The access requirement types that a user can request access to through the request wizard */\nexport type RequestableAccessRequirement =\n | ManagedACTAccessRequirement\n | JsonSchemaAccessRequirement\n\nexport function isRequestableAccessRequirement(\n accessRequirement: AccessRequirement,\n): accessRequirement is RequestableAccessRequirement {\n return (\n accessRequirement.concreteType ===\n MANAGED_ACT_ACCESS_REQUIREMENT_CONCRETE_TYPE_VALUE ||\n accessRequirement.concreteType ===\n JSON_SCHEMA_ACCESS_REQUIREMENT_CONCRETE_TYPE_VALUE\n )\n}\n\n/**\n * Represents a distinct screen in the wizard used to request access to a {@link RequestableAccessRequirement}\n */\nexport enum RequestDataStep {\n SHOW_ALL_ARS,\n UPDATE_RESEARCH_PROJECT,\n UPDATE_ACCESSORS_AND_FILES,\n PROMPT_CANCEL,\n PROMPT_LOGIN,\n COMPLETE,\n REVIEW_DUC,\n EDUC_PREVIEW,\n MANUAL_UPLOAD_DUC,\n SIGNATURE_STATUS,\n /** The request wizard of a JsonSchemaAccessRequirement, which owns its own sequence of steps */\n SCHEMA_DRIVEN_REQUEST,\n}\n\n// Only ARs with an eDUC template continue to these steps; others submit from the last step before them.\n// MANUAL_UPLOAD_DUC is the alternative to sending the eDUC for signature from EDUC_PREVIEW.\nconst EDUC_STEPS = [\n RequestDataStep.REVIEW_DUC,\n RequestDataStep.EDUC_PREVIEW,\n RequestDataStep.MANUAL_UPLOAD_DUC,\n] as const\n\nconst REQUEST_STEP_ORDER: Record<\n RequestableAccessRequirement['concreteType'],\n readonly RequestDataStep[]\n> = {\n [MANAGED_ACT_ACCESS_REQUIREMENT_CONCRETE_TYPE_VALUE]: [\n RequestDataStep.UPDATE_RESEARCH_PROJECT,\n RequestDataStep.UPDATE_ACCESSORS_AND_FILES,\n ...EDUC_STEPS,\n ],\n [JSON_SCHEMA_ACCESS_REQUIREMENT_CONCRETE_TYPE_VALUE]: [\n RequestDataStep.SCHEMA_DRIVEN_REQUEST,\n ...EDUC_STEPS,\n ],\n}\n\n/** The first step of the wizard in which a user requests access to the given access requirement */\nexport function getFirstRequestStep(\n accessRequirement: Pick<RequestableAccessRequirement, 'concreteType'>,\n): RequestDataStep {\n return REQUEST_STEP_ORDER[accessRequirement.concreteType][0]\n}\n\n/**\n * The step that follows `currentStep` in the request wizard of the given access requirement.\n * @throws if `currentStep` is the last step of, or not a step of, the access requirement's request wizard\n */\nexport function getNextRequestStep(\n accessRequirement: Pick<RequestableAccessRequirement, 'concreteType'>,\n currentStep: RequestDataStep,\n): RequestDataStep {\n return getAdjacentRequestStep(accessRequirement, currentStep, 1)\n}\n\n/**\n * The step that precedes `currentStep` in the request wizard of the given access requirement.\n * @throws if `currentStep` is the first step of, or not a step of, the access requirement's request wizard\n */\nexport function getPreviousRequestStep(\n accessRequirement: Pick<RequestableAccessRequirement, 'concreteType'>,\n currentStep: RequestDataStep,\n): RequestDataStep {\n return getAdjacentRequestStep(accessRequirement, currentStep, -1)\n}\n\nfunction getAdjacentRequestStep(\n accessRequirement: Pick<RequestableAccessRequirement, 'concreteType'>,\n currentStep: RequestDataStep,\n offset: 1 | -1,\n): RequestDataStep {\n const stepOrder = REQUEST_STEP_ORDER[accessRequirement.concreteType]\n const currentIndex = stepOrder.indexOf(currentStep)\n const adjacentStep =\n currentIndex === -1 ? undefined : stepOrder[currentIndex + offset]\n if (adjacentStep === undefined) {\n throw new Error(\n `There is no ${offset === 1 ? 'next' : 'previous'} step for ${RequestDataStep[currentStep]} in the request wizard of ${accessRequirement.concreteType}`,\n )\n }\n return adjacentStep\n}\n"],"mappings":";;AAaA,SAAgB,EACd,GACmD;CACnD,OACE,EAAkB,iBAChB,KACF,EAAkB,iBAChB;AAEN;AAKA,IAAY,IAAL,yBAAA,GAAA;QACL,EAAA,EAAA,eAAA,KAAA,gBACA,EAAA,EAAA,0BAAA,KAAA,2BACA,EAAA,EAAA,6BAAA,KAAA,8BACA,EAAA,EAAA,gBAAA,KAAA,iBACA,EAAA,EAAA,eAAA,KAAA,gBACA,EAAA,EAAA,WAAA,KAAA,YACA,EAAA,EAAA,aAAA,KAAA,cACA,EAAA,EAAA,eAAA,KAAA,gBACA,EAAA,EAAA,oBAAA,KAAA,qBACA,EAAA,EAAA,mBAAA,KAAA,oBAEA,EAAA,EAAA,wBAAA,MAAA;AACF,EAAA,CAAA,CAAA,GAIM,IAAa;;;;AAInB,GAEM,IAGF;EACD,IAAqD;;;EAGpD,GAAG;CACL;EACC,IAAqD,CAAA,IAEpD,GAAG,CACL;AACF;AAGA,SAAgB,EACd,GACiB;CACjB,OAAO,EAAmB,EAAkB,cAAc;AAC5D;AAMA,SAAgB,EACd,GACA,GACiB;CACjB,OAAO,EAAuB,GAAmB,GAAa,CAAC;AACjE;AAMA,SAAgB,EACd,GACA,GACiB;CACjB,OAAO,EAAuB,GAAmB,GAAa,EAAE;AAClE;AAEA,SAAS,EACP,GACA,GACA,GACiB;CACjB,IAAM,IAAY,EAAmB,EAAkB,eACjD,IAAe,EAAU,QAAQ,CAAW,GAC5C,IACJ,MAAiB,KAAK,KAAA,IAAY,EAAU,IAAe;CAC7D,IAAI,MAAiB,KAAA,GACnB,MAAU,MACR,eAAe,MAAW,IAAI,SAAS,WAAW,YAAY,EAAgB,GAAa,4BAA4B,EAAkB,cAC3I;CAEF,OAAO;AACT"}
@@ -8,7 +8,7 @@ export type UnmanagedACTAccessRequirementItemProps = {
8
8
  /**
9
9
  * Renders a {@link RequirementItem} for the deprecated {@link ACTAccessRequirement}.
10
10
  *
11
- * For {@link ManagedACTAccessRequirement}s, see {@link ManagedACTAccessRequirementItem}
11
+ * For {@link ManagedACTAccessRequirement}s and {@link JsonSchemaAccessRequirement}s, see {@link RequestableAccessRequirementItem}
12
12
  *
13
13
  * For {@link SelfSignAccessRequirement} and {@link TermsOfUseAccessRequirement}, see {@link SelfSignAccessRequirementItem}
14
14
  */
@@ -1 +1 @@
1
- {"version":3,"file":"UnmanagedACTAccessRequirementItem.js","names":[],"sources":["../../../../src/components/AccessRequirementList/RequirementItem/UnmanagedACTAccessRequirementItem.tsx"],"sourcesContent":["import {\n useGetAccessRequirementStatus,\n useGetAccessRequirementWikiPageKey,\n} from '@/synapse-queries'\nimport { useSynapseContext } from '@/utils/context/SynapseContext'\nimport { PRODUCTION_ENDPOINT_CONFIG } from '@/utils/functions/getEndpoint'\nimport { Box, ButtonProps, Link, Typography } from '@mui/material'\nimport {\n ACTAccessRequirement,\n RestrictableObjectType,\n} from '@sage-bionetworks/synapse-types'\nimport { useState } from 'react'\nimport MarkdownSynapse from '../../Markdown/MarkdownSynapse'\nimport { RequirementItemStatus } from '../AccessApprovalCheckMark'\nimport RequirementItem from './RequirementItem'\n\nexport type UnmanagedACTAccessRequirementItemProps = {\n subjectId?: string\n subjectType?: RestrictableObjectType\n accessRequirement: ACTAccessRequirement\n onHide: () => void\n}\n\n/**\n * Renders a {@link RequirementItem} for the deprecated {@link ACTAccessRequirement}.\n *\n * For {@link ManagedACTAccessRequirement}s, see {@link ManagedACTAccessRequirementItem}\n *\n * For {@link SelfSignAccessRequirement} and {@link TermsOfUseAccessRequirement}, see {@link SelfSignAccessRequirementItem}\n */\nexport default function UnmanagedACTAccessRequirementItem(\n props: UnmanagedACTAccessRequirementItemProps,\n) {\n const { accessRequirement, subjectId, subjectType, onHide } = props\n const { isAuthenticated } = useSynapseContext()\n\n const { data: accessRequirementStatus, isLoading: isLoadingStatus } =\n useGetAccessRequirementStatus(String(accessRequirement.id))\n\n const { data: wikiPage } = useGetAccessRequirementWikiPageKey(\n accessRequirement.id.toString(),\n // ACT ARs may have the contact info embedded in the AR or may have an associated Wiki.\n )\n\n const isApproved = accessRequirementStatus?.isApproved\n\n const [showACTContactInfoInstructions, setShowACTContactInfoInstructions] =\n useState<boolean>(false)\n\n let acceptButtonText = ''\n if (\n typeof window !== 'undefined' &&\n (window.location.hostname === 'www.synapse.org' ||\n window.location.hostname === 'staging.synapse.org')\n ) {\n acceptButtonText = 'Request access'\n } else {\n acceptButtonText = 'Request access via Synapse.org'\n }\n\n const gotoSynapseAccessRequirementPage = () => {\n const subjectTypeFilter = subjectType ? `&TYPE=${subjectType}` : ''\n const subjectIdFilter = subjectId ? `&ID=${subjectId}` : ''\n window.open(\n `${PRODUCTION_ENDPOINT_CONFIG.PORTAL}AccessRequirement:AR_ID=${accessRequirement.id}${subjectTypeFilter}${subjectIdFilter}`,\n )\n }\n const onAcceptClicked = () => {\n gotoSynapseAccessRequirementPage()\n // PORTALS-1483: and close the dialog.\n if (onHide) {\n onHide()\n }\n }\n\n const actContactInfo = accessRequirement.actContactInfo\n\n let actions: ButtonProps[] | undefined = undefined\n\n if (isAuthenticated && !isApproved) {\n actions = [\n {\n variant: 'outlined',\n onClick: onAcceptClicked,\n children: acceptButtonText,\n },\n {\n variant: 'text',\n onClick: onHide,\n children: 'I do not accept',\n },\n ]\n }\n\n let renderedTerms = <></>\n if (actContactInfo) {\n renderedTerms = <MarkdownSynapse markdown={actContactInfo} />\n } else if (wikiPage) {\n renderedTerms = (\n <MarkdownSynapse\n wikiId={wikiPage?.wikiPageId}\n ownerId={wikiPage?.ownerObjectId}\n objectType={wikiPage?.ownerObjectType}\n />\n )\n }\n return (\n <RequirementItem\n data-testid={'UnmanagedACTAccessRequirementItem'}\n status={\n isLoadingStatus\n ? RequirementItemStatus.LOADING\n : isApproved\n ? RequirementItemStatus.COMPLETE\n : RequirementItemStatus.LOCKED\n }\n actions={actions}\n >\n {isApproved ? (\n <>\n <Typography variant={'body1'}>\n Your data access request has been approved.{' '}\n <Link\n role={'button'}\n onClick={() =>\n setShowACTContactInfoInstructions(\n !showACTContactInfoInstructions,\n )\n }\n >\n {showACTContactInfoInstructions\n ? 'Hide Instructions'\n : 'View Instructions'}\n </Link>\n </Typography>\n {showACTContactInfoInstructions && (\n <Box sx={{ my: 1 }}>{renderedTerms}</Box>\n )}\n </>\n ) : (\n renderedTerms\n )}\n </RequirementItem>\n )\n}\n"],"mappings":";;;;;;;;;;;AA8BA,SAAwB,EACtB,GACA;CACA,IAAM,EAAE,sBAAmB,cAAW,gBAAa,cAAW,GACxD,EAAE,uBAAoB,EAAkB,GAExC,EAAE,MAAM,GAAyB,WAAW,MAChD,EAA8B,OAAO,EAAkB,EAAE,CAAC,GAEtD,EAAE,MAAM,MAAa,EACzB,EAAkB,GAAG,SAAS,CAEhC,GAEM,IAAa,GAAyB,YAEtC,CAAC,GAAgC,KACrC,EAAkB,EAAK,GAErB,IAAmB;CACvB,AAOE,IANA,OAAO,SAAW,QACjB,OAAO,SAAS,aAAa,qBAC5B,OAAO,SAAS,aAAa,yBAEZ,mBAEA;CAGrB,IAAM,UAAyC;EAC7C,IAAM,IAAoB,IAAc,SAAS,MAAgB,IAC3D,IAAkB,IAAY,OAAO,MAAc;EACzD,OAAO,KACL,GAAG,EAA2B,OAAO,0BAA0B,EAAkB,KAAK,IAAoB,GAC5G;CACF,GACM,UAAwB;EAG5B,AAFA,EAAiC,GAE7B,KACF,EAAO;CAEX,GAEM,IAAiB,EAAkB,gBAErC;CAEJ,AAAI,KAAmB,CAAC,MACtB,IAAU,CACR;EACE,SAAS;EACT,SAAS;EACT,UAAU;CACZ,GACA;EACE,SAAS;EACT,SAAS;EACT,UAAU;CACZ,CACF;CAGF,IAAI,IAAgB,kBAAA,GAAA,CAAI,CAAA;CAYxB,OAXI,IACF,IAAgB,kBAAC,GAAD,EAAiB,UAAU,EAAiB,CAAA,IACnD,MACT,IACE,kBAAC,GAAD;EACE,QAAQ,GAAU;EAClB,SAAS,GAAU;EACnB,YAAY,GAAU;CACvB,CAAA,IAIH,kBAAC,GAAD;EACE,eAAa;EACb,QACE,IACI,EAAsB,UACtB,IACE,EAAsB,WACtB,EAAsB;EAErB;YAER,IACC,kBAAA,GAAA,EAAA,UAAA,CACE,kBAAC,GAAD;GAAY,SAAS;aAArB;IAA8B;IACgB;IAC5C,kBAAC,GAAD;KACE,MAAM;KACN,eACE,EACE,CAAC,CACH;eAGD,IACG,sBACA;IACA,CAAA;GACI;MACX,KACC,kBAAC,GAAD;GAAK,IAAI,EAAE,IAAI,EAAE;aAAI;EAAmB,CAAA,CAE1C,EAAA,CAAA,IAEF;CAEa,CAAA;AAErB"}
1
+ {"version":3,"file":"UnmanagedACTAccessRequirementItem.js","names":[],"sources":["../../../../src/components/AccessRequirementList/RequirementItem/UnmanagedACTAccessRequirementItem.tsx"],"sourcesContent":["import {\n useGetAccessRequirementStatus,\n useGetAccessRequirementWikiPageKey,\n} from '@/synapse-queries'\nimport { useSynapseContext } from '@/utils/context/SynapseContext'\nimport { PRODUCTION_ENDPOINT_CONFIG } from '@/utils/functions/getEndpoint'\nimport { Box, ButtonProps, Link, Typography } from '@mui/material'\nimport {\n ACTAccessRequirement,\n RestrictableObjectType,\n} from '@sage-bionetworks/synapse-types'\nimport { useState } from 'react'\nimport MarkdownSynapse from '../../Markdown/MarkdownSynapse'\nimport { RequirementItemStatus } from '../AccessApprovalCheckMark'\nimport RequirementItem from './RequirementItem'\n\nexport type UnmanagedACTAccessRequirementItemProps = {\n subjectId?: string\n subjectType?: RestrictableObjectType\n accessRequirement: ACTAccessRequirement\n onHide: () => void\n}\n\n/**\n * Renders a {@link RequirementItem} for the deprecated {@link ACTAccessRequirement}.\n *\n * For {@link ManagedACTAccessRequirement}s and {@link JsonSchemaAccessRequirement}s, see {@link RequestableAccessRequirementItem}\n *\n * For {@link SelfSignAccessRequirement} and {@link TermsOfUseAccessRequirement}, see {@link SelfSignAccessRequirementItem}\n */\nexport default function UnmanagedACTAccessRequirementItem(\n props: UnmanagedACTAccessRequirementItemProps,\n) {\n const { accessRequirement, subjectId, subjectType, onHide } = props\n const { isAuthenticated } = useSynapseContext()\n\n const { data: accessRequirementStatus, isLoading: isLoadingStatus } =\n useGetAccessRequirementStatus(String(accessRequirement.id))\n\n const { data: wikiPage } = useGetAccessRequirementWikiPageKey(\n accessRequirement.id.toString(),\n // ACT ARs may have the contact info embedded in the AR or may have an associated Wiki.\n )\n\n const isApproved = accessRequirementStatus?.isApproved\n\n const [showACTContactInfoInstructions, setShowACTContactInfoInstructions] =\n useState<boolean>(false)\n\n let acceptButtonText = ''\n if (\n typeof window !== 'undefined' &&\n (window.location.hostname === 'www.synapse.org' ||\n window.location.hostname === 'staging.synapse.org')\n ) {\n acceptButtonText = 'Request access'\n } else {\n acceptButtonText = 'Request access via Synapse.org'\n }\n\n const gotoSynapseAccessRequirementPage = () => {\n const subjectTypeFilter = subjectType ? `&TYPE=${subjectType}` : ''\n const subjectIdFilter = subjectId ? `&ID=${subjectId}` : ''\n window.open(\n `${PRODUCTION_ENDPOINT_CONFIG.PORTAL}AccessRequirement:AR_ID=${accessRequirement.id}${subjectTypeFilter}${subjectIdFilter}`,\n )\n }\n const onAcceptClicked = () => {\n gotoSynapseAccessRequirementPage()\n // PORTALS-1483: and close the dialog.\n if (onHide) {\n onHide()\n }\n }\n\n const actContactInfo = accessRequirement.actContactInfo\n\n let actions: ButtonProps[] | undefined = undefined\n\n if (isAuthenticated && !isApproved) {\n actions = [\n {\n variant: 'outlined',\n onClick: onAcceptClicked,\n children: acceptButtonText,\n },\n {\n variant: 'text',\n onClick: onHide,\n children: 'I do not accept',\n },\n ]\n }\n\n let renderedTerms = <></>\n if (actContactInfo) {\n renderedTerms = <MarkdownSynapse markdown={actContactInfo} />\n } else if (wikiPage) {\n renderedTerms = (\n <MarkdownSynapse\n wikiId={wikiPage?.wikiPageId}\n ownerId={wikiPage?.ownerObjectId}\n objectType={wikiPage?.ownerObjectType}\n />\n )\n }\n return (\n <RequirementItem\n data-testid={'UnmanagedACTAccessRequirementItem'}\n status={\n isLoadingStatus\n ? RequirementItemStatus.LOADING\n : isApproved\n ? RequirementItemStatus.COMPLETE\n : RequirementItemStatus.LOCKED\n }\n actions={actions}\n >\n {isApproved ? (\n <>\n <Typography variant={'body1'}>\n Your data access request has been approved.{' '}\n <Link\n role={'button'}\n onClick={() =>\n setShowACTContactInfoInstructions(\n !showACTContactInfoInstructions,\n )\n }\n >\n {showACTContactInfoInstructions\n ? 'Hide Instructions'\n : 'View Instructions'}\n </Link>\n </Typography>\n {showACTContactInfoInstructions && (\n <Box sx={{ my: 1 }}>{renderedTerms}</Box>\n )}\n </>\n ) : (\n renderedTerms\n )}\n </RequirementItem>\n )\n}\n"],"mappings":";;;;;;;;;;;AA8BA,SAAwB,EACtB,GACA;CACA,IAAM,EAAE,sBAAmB,cAAW,gBAAa,cAAW,GACxD,EAAE,uBAAoB,EAAkB,GAExC,EAAE,MAAM,GAAyB,WAAW,MAChD,EAA8B,OAAO,EAAkB,EAAE,CAAC,GAEtD,EAAE,MAAM,MAAa,EACzB,EAAkB,GAAG,SAAS,CAEhC,GAEM,IAAa,GAAyB,YAEtC,CAAC,GAAgC,KACrC,EAAkB,EAAK,GAErB,IAAmB;CACvB,AAOE,IANA,OAAO,SAAW,QACjB,OAAO,SAAS,aAAa,qBAC5B,OAAO,SAAS,aAAa,yBAEZ,mBAEA;CAGrB,IAAM,UAAyC;EAC7C,IAAM,IAAoB,IAAc,SAAS,MAAgB,IAC3D,IAAkB,IAAY,OAAO,MAAc;EACzD,OAAO,KACL,GAAG,EAA2B,OAAO,0BAA0B,EAAkB,KAAK,IAAoB,GAC5G;CACF,GACM,UAAwB;EAG5B,AAFA,EAAiC,GAE7B,KACF,EAAO;CAEX,GAEM,IAAiB,EAAkB,gBAErC;CAEJ,AAAI,KAAmB,CAAC,MACtB,IAAU,CACR;EACE,SAAS;EACT,SAAS;EACT,UAAU;CACZ,GACA;EACE,SAAS;EACT,SAAS;EACT,UAAU;CACZ,CACF;CAGF,IAAI,IAAgB,kBAAA,GAAA,CAAI,CAAA;CAYxB,OAXI,IACF,IAAgB,kBAAC,GAAD,EAAiB,UAAU,EAAiB,CAAA,IACnD,MACT,IACE,kBAAC,GAAD;EACE,QAAQ,GAAU;EAClB,SAAS,GAAU;EACnB,YAAY,GAAU;CACvB,CAAA,IAIH,kBAAC,GAAD;EACE,eAAa;EACb,QACE,IACI,EAAsB,UACtB,IACE,EAAsB,WACtB,EAAsB;EAErB;YAER,IACC,kBAAA,GAAA,EAAA,UAAA,CACE,kBAAC,GAAD;GAAY,SAAS;aAArB;IAA8B;IACgB;IAC5C,kBAAC,GAAD;KACE,MAAM;KACN,eACE,EACE,CAAC,CACH;eAGD,IACG,sBACA;IACA,CAAA;GACI;MACX,KACC,kBAAC,GAAD;GAAK,IAAI,EAAE,IAAI,EAAE;aAAI;EAAmB,CAAA,CAE1C,EAAA,CAAA,IAEF;CAEa,CAAA;AAErB"}
@@ -1 +1 @@
1
- {"version":3,"file":"FormTemplatePreview.d.ts","sourceRoot":"","sources":["../../../src/components/FormTemplateEditor/FormTemplatePreview.tsx"],"names":[],"mappings":"AAEA,OAAO,EAEL,YAAY,EACb,MAAM,kCAAkC,CAAA;AAWzC,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAA;AAGxC,KAAK,wBAAwB,GAAG;IAC9B,QAAQ,EAAE,YAAY,CAAA;IACtB,UAAU,EAAE,UAAU,CAAA;CACvB,CAAA;AAED;;;;GAIG;AACH,wBAAgB,mBAAmB,CAAC,EAClC,QAAQ,EACR,UAAU,GACX,EAAE,wBAAwB,2CAkE1B"}
1
+ {"version":3,"file":"FormTemplatePreview.d.ts","sourceRoot":"","sources":["../../../src/components/FormTemplateEditor/FormTemplatePreview.tsx"],"names":[],"mappings":"AAGA,OAAO,EAEL,YAAY,EACb,MAAM,kCAAkC,CAAA;AAWzC,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAA;AAGxC,KAAK,wBAAwB,GAAG;IAC9B,QAAQ,EAAE,YAAY,CAAA;IACtB,UAAU,EAAE,UAAU,CAAA;CACvB,CAAA;AAED;;;;GAIG;AACH,wBAAgB,mBAAmB,CAAC,EAClC,QAAQ,EACR,UAAU,GACX,EAAE,wBAAwB,2CAoE1B"}
@@ -1,68 +1,67 @@
1
- import { JsonSchemaForm as e } from "../JsonSchemaForm/JsonSchemaForm.js";
2
- import { generateDataAccessSchema as t } from "../../utils/jsonschema/generateDataAccessSchema.js";
3
- import { useMemo as n, useState as r } from "react";
4
- import { Box as i, Paper as a, Step as o, StepButton as s, Stepper as c, ToggleButton as l, ToggleButtonGroup as u, Typography as d } from "@mui/material";
5
- import { Fragment as f, jsx as p, jsxs as m } from "react/jsx-runtime";
1
+ import { generateDataAccessSchema as e } from "../../utils/jsonschema/generateDataAccessSchema.js";
2
+ import { getStepTitle as t } from "../../utils/jsonschema/schemaData.js";
3
+ import n from "../JsonSchemaForm/SchemaStepForm.js";
4
+ import { useMemo as r, useState as i } from "react";
5
+ import { Box as a, Paper as o, Step as s, StepButton as c, Stepper as l, ToggleButton as u, ToggleButtonGroup as d, Typography as f } from "@mui/material";
6
+ import { jsx as p, jsxs as m } from "react/jsx-runtime";
6
7
  import { DataAccessRequestType as h } from "@sage-bionetworks/synapse-client";
7
8
  //#region src/components/FormTemplateEditor/FormTemplatePreview.tsx
8
9
  function g({ template: g, jsonSchema: _ }) {
9
- let [v, y] = r(0), [b, x] = r(h.REQUEST), { steps: S } = n(() => t(g, _, b), [
10
+ let [v, y] = i(0), [b, x] = i({}), [S, C] = i(h.REQUEST), { steps: w } = r(() => e(g, _, S), [
10
11
  g,
11
12
  _,
12
- b
13
+ S
13
14
  ]);
14
- if (S.length === 0) return /* @__PURE__ */ p(a, {
15
+ if (w.length === 0) return /* @__PURE__ */ p(o, {
15
16
  variant: "outlined",
16
17
  sx: { p: 2 },
17
- children: /* @__PURE__ */ p(i, {
18
+ children: /* @__PURE__ */ p(a, {
18
19
  sx: {
19
20
  py: 4,
20
21
  textAlign: "center"
21
22
  },
22
- children: /* @__PURE__ */ p(d, {
23
+ children: /* @__PURE__ */ p(f, {
23
24
  variant: "body2",
24
25
  color: "text.secondary",
25
26
  children: "Add at least one step with a bound field to preview the form."
26
27
  })
27
28
  })
28
29
  });
29
- let C = Math.min(v, S.length - 1), w = S[C];
30
- return /* @__PURE__ */ m(a, {
30
+ let T = Math.min(v, w.length - 1), E = w[T];
31
+ return /* @__PURE__ */ m(o, {
31
32
  variant: "outlined",
32
33
  sx: { p: 2 },
33
34
  children: [
34
- /* @__PURE__ */ m(u, {
35
- value: b,
35
+ /* @__PURE__ */ m(d, {
36
+ value: S,
36
37
  exclusive: !0,
37
38
  size: "small",
38
39
  onChange: (e, t) => {
39
- t && x(t);
40
+ t && C(t);
40
41
  },
41
42
  sx: { mb: 2 },
42
- children: [/* @__PURE__ */ p(l, {
43
+ children: [/* @__PURE__ */ p(u, {
43
44
  value: h.REQUEST,
44
45
  children: "Request"
45
- }), /* @__PURE__ */ p(l, {
46
+ }), /* @__PURE__ */ p(u, {
46
47
  value: h.RENEWAL,
47
48
  children: "Renewal"
48
49
  })]
49
50
  }),
50
- S.length > 1 && /* @__PURE__ */ p(c, {
51
- activeStep: C,
51
+ w.length > 1 && /* @__PURE__ */ p(l, {
52
+ activeStep: T,
52
53
  nonLinear: !0,
53
54
  sx: { mb: 2 },
54
- children: S.map((e, t) => /* @__PURE__ */ p(o, { children: /* @__PURE__ */ p(s, {
55
- onClick: () => y(t),
56
- children: e.jsonSchema.title ?? `Step ${t + 1}`
57
- }) }, t))
55
+ children: w.map((e, n) => /* @__PURE__ */ p(s, { children: /* @__PURE__ */ p(c, {
56
+ onClick: () => y(n),
57
+ children: t(e, n + 1)
58
+ }) }, n))
58
59
  }),
59
- /* @__PURE__ */ p(e, {
60
- schema: w.jsonSchema,
61
- uiSchema: w.uiSchema,
62
- formContext: { descriptionVariant: "inline" },
63
- children: /* @__PURE__ */ p(f, {}),
64
- liveValidate: !1
65
- })
60
+ /* @__PURE__ */ p(n, {
61
+ step: E,
62
+ schemaData: b,
63
+ onSchemaDataChange: x
64
+ }, T)
66
65
  ]
67
66
  });
68
67
  }
@@ -1 +1 @@
1
- {"version":3,"file":"FormTemplatePreview.js","names":[],"sources":["../../../src/components/FormTemplateEditor/FormTemplatePreview.tsx"],"sourcesContent":["import { JsonSchemaForm } from '@/components/JsonSchemaForm/JsonSchemaForm'\nimport { generateDataAccessSchema } from '@/utils/jsonschema/generateDataAccessSchema'\nimport {\n DataAccessRequestType,\n FormTemplate,\n} from '@sage-bionetworks/synapse-client'\nimport {\n Box,\n Paper,\n Step,\n StepButton,\n Stepper,\n ToggleButton,\n ToggleButtonGroup,\n Typography,\n} from '@mui/material'\nimport { RJSFSchema } from '@rjsf/utils'\nimport { useMemo, useState } from 'react'\n\ntype FormTemplatePreviewProps = {\n template: FormTemplate\n jsonSchema: RJSFSchema\n}\n\n/**\n * Renders a live preview of how a FormTemplate + its referenced JSON Schema will appear to a\n * requester. Computed client-side against the unsaved draft, purely to give ACT instant feedback\n * while editing.\n */\nexport function FormTemplatePreview({\n template,\n jsonSchema,\n}: FormTemplatePreviewProps) {\n const [activeStep, setActiveStep] = useState(0)\n const [requestType, setRequestType] = useState<DataAccessRequestType>(\n DataAccessRequestType.REQUEST,\n )\n\n const { steps } = useMemo(\n () => generateDataAccessSchema(template, jsonSchema, requestType),\n [template, jsonSchema, requestType],\n )\n\n if (steps.length === 0) {\n return (\n <Paper variant=\"outlined\" sx={{ p: 2 }}>\n <Box sx={{ py: 4, textAlign: 'center' }}>\n <Typography variant=\"body2\" color=\"text.secondary\">\n Add at least one step with a bound field to preview the form.\n </Typography>\n </Box>\n </Paper>\n )\n }\n\n const safeIndex = Math.min(activeStep, steps.length - 1)\n const currentStep = steps[safeIndex]\n\n return (\n <Paper variant=\"outlined\" sx={{ p: 2 }}>\n <ToggleButtonGroup\n value={requestType}\n exclusive\n size=\"small\"\n onChange={(_, next: DataAccessRequestType | null) => {\n if (next) setRequestType(next)\n }}\n sx={{ mb: 2 }}\n >\n <ToggleButton value={DataAccessRequestType.REQUEST}>\n Request\n </ToggleButton>\n <ToggleButton value={DataAccessRequestType.RENEWAL}>\n Renewal\n </ToggleButton>\n </ToggleButtonGroup>\n\n {steps.length > 1 && (\n <Stepper activeStep={safeIndex} nonLinear sx={{ mb: 2 }}>\n {steps.map((step, index) => (\n <Step key={index}>\n <StepButton onClick={() => setActiveStep(index)}>\n {(step.jsonSchema.title as string) ?? `Step ${index + 1}`}\n </StepButton>\n </Step>\n ))}\n </Stepper>\n )}\n\n <JsonSchemaForm\n schema={currentStep.jsonSchema}\n uiSchema={currentStep.uiSchema}\n formContext={{ descriptionVariant: 'inline' }}\n children={<></>}\n liveValidate={false}\n />\n </Paper>\n )\n}\n"],"mappings":";;;;;;;AA6BA,SAAgB,EAAoB,EAClC,aACA,iBAC2B;CAC3B,IAAM,CAAC,GAAY,KAAiB,EAAS,CAAC,GACxC,CAAC,GAAa,KAAkB,EACpC,EAAsB,OACxB,GAEM,EAAE,aAAU,QACV,EAAyB,GAAU,GAAY,CAAW,GAChE;EAAC;EAAU;EAAY;CAAW,CACpC;CAEA,IAAI,EAAM,WAAW,GACnB,OACE,kBAAC,GAAD;EAAO,SAAQ;EAAW,IAAI,EAAE,GAAG,EAAE;YACnC,kBAAC,GAAD;GAAK,IAAI;IAAE,IAAI;IAAG,WAAW;GAAS;aACpC,kBAAC,GAAD;IAAY,SAAQ;IAAQ,OAAM;cAAiB;GAEvC,CAAA;EACT,CAAA;CACA,CAAA;CAIX,IAAM,IAAY,KAAK,IAAI,GAAY,EAAM,SAAS,CAAC,GACjD,IAAc,EAAM;CAE1B,OACE,kBAAC,GAAD;EAAO,SAAQ;EAAW,IAAI,EAAE,GAAG,EAAE;YAArC;GACE,kBAAC,GAAD;IACE,OAAO;IACP,WAAA;IACA,MAAK;IACL,WAAW,GAAG,MAAuC;KACnD,AAAI,KAAM,EAAe,CAAI;IAC/B;IACA,IAAI,EAAE,IAAI,EAAE;cAPd,CASE,kBAAC,GAAD;KAAc,OAAO,EAAsB;eAAS;IAEtC,CAAA,GACd,kBAAC,GAAD;KAAc,OAAO,EAAsB;eAAS;IAEtC,CAAA,CACG;;GAElB,EAAM,SAAS,KACd,kBAAC,GAAD;IAAS,YAAY;IAAW,WAAA;IAAU,IAAI,EAAE,IAAI,EAAE;cACnD,EAAM,KAAK,GAAM,MAChB,kBAAC,GAAD,EAAA,UACE,kBAAC,GAAD;KAAY,eAAe,EAAc,CAAK;eAC1C,EAAK,WAAW,SAAoB,QAAQ,IAAQ;IAC5C,CAAA,EACR,GAJK,CAIL,CACP;GACM,CAAA;GAGX,kBAAC,GAAD;IACE,QAAQ,EAAY;IACpB,UAAU,EAAY;IACtB,aAAa,EAAE,oBAAoB,SAAS;IAC5C,UAAU,kBAAA,GAAA,CAAI,CAAA;IACd,cAAc;GACf,CAAA;EACI;;AAEX"}
1
+ {"version":3,"file":"FormTemplatePreview.js","names":[],"sources":["../../../src/components/FormTemplateEditor/FormTemplatePreview.tsx"],"sourcesContent":["import SchemaStepForm from '@/components/JsonSchemaForm/SchemaStepForm'\nimport { generateDataAccessSchema } from '@/utils/jsonschema/generateDataAccessSchema'\nimport { getStepTitle, SchemaData } from '@/utils/jsonschema/schemaData'\nimport {\n DataAccessRequestType,\n FormTemplate,\n} from '@sage-bionetworks/synapse-client'\nimport {\n Box,\n Paper,\n Step,\n StepButton,\n Stepper,\n ToggleButton,\n ToggleButtonGroup,\n Typography,\n} from '@mui/material'\nimport { RJSFSchema } from '@rjsf/utils'\nimport { useMemo, useState } from 'react'\n\ntype FormTemplatePreviewProps = {\n template: FormTemplate\n jsonSchema: RJSFSchema\n}\n\n/**\n * Renders a live preview of how a FormTemplate + its referenced JSON Schema will appear to a\n * requester. Computed client-side against the unsaved draft, purely to give ACT instant feedback\n * while editing.\n */\nexport function FormTemplatePreview({\n template,\n jsonSchema,\n}: FormTemplatePreviewProps) {\n const [activeStep, setActiveStep] = useState(0)\n // Kept across steps and request types so ACT can see how answers carry through the form\n const [schemaData, setSchemaData] = useState<SchemaData>({})\n const [requestType, setRequestType] = useState<DataAccessRequestType>(\n DataAccessRequestType.REQUEST,\n )\n\n const { steps } = useMemo(\n () => generateDataAccessSchema(template, jsonSchema, requestType),\n [template, jsonSchema, requestType],\n )\n\n if (steps.length === 0) {\n return (\n <Paper variant=\"outlined\" sx={{ p: 2 }}>\n <Box sx={{ py: 4, textAlign: 'center' }}>\n <Typography variant=\"body2\" color=\"text.secondary\">\n Add at least one step with a bound field to preview the form.\n </Typography>\n </Box>\n </Paper>\n )\n }\n\n const safeIndex = Math.min(activeStep, steps.length - 1)\n const currentStep = steps[safeIndex]\n\n return (\n <Paper variant=\"outlined\" sx={{ p: 2 }}>\n <ToggleButtonGroup\n value={requestType}\n exclusive\n size=\"small\"\n onChange={(_, next: DataAccessRequestType | null) => {\n if (next) setRequestType(next)\n }}\n sx={{ mb: 2 }}\n >\n <ToggleButton value={DataAccessRequestType.REQUEST}>\n Request\n </ToggleButton>\n <ToggleButton value={DataAccessRequestType.RENEWAL}>\n Renewal\n </ToggleButton>\n </ToggleButtonGroup>\n\n {steps.length > 1 && (\n <Stepper activeStep={safeIndex} nonLinear sx={{ mb: 2 }}>\n {steps.map((step, index) => (\n <Step key={index}>\n <StepButton onClick={() => setActiveStep(index)}>\n {getStepTitle(step, index + 1)}\n </StepButton>\n </Step>\n ))}\n </Stepper>\n )}\n\n <SchemaStepForm\n // Each step is a separate form, as it is for a requester\n key={safeIndex}\n step={currentStep}\n schemaData={schemaData}\n onSchemaDataChange={setSchemaData}\n />\n </Paper>\n )\n}\n"],"mappings":";;;;;;;;AA8BA,SAAgB,EAAoB,EAClC,aACA,iBAC2B;CAC3B,IAAM,CAAC,GAAY,KAAiB,EAAS,CAAC,GAExC,CAAC,GAAY,KAAiB,EAAqB,CAAC,CAAC,GACrD,CAAC,GAAa,KAAkB,EACpC,EAAsB,OACxB,GAEM,EAAE,aAAU,QACV,EAAyB,GAAU,GAAY,CAAW,GAChE;EAAC;EAAU;EAAY;CAAW,CACpC;CAEA,IAAI,EAAM,WAAW,GACnB,OACE,kBAAC,GAAD;EAAO,SAAQ;EAAW,IAAI,EAAE,GAAG,EAAE;YACnC,kBAAC,GAAD;GAAK,IAAI;IAAE,IAAI;IAAG,WAAW;GAAS;aACpC,kBAAC,GAAD;IAAY,SAAQ;IAAQ,OAAM;cAAiB;GAEvC,CAAA;EACT,CAAA;CACA,CAAA;CAIX,IAAM,IAAY,KAAK,IAAI,GAAY,EAAM,SAAS,CAAC,GACjD,IAAc,EAAM;CAE1B,OACE,kBAAC,GAAD;EAAO,SAAQ;EAAW,IAAI,EAAE,GAAG,EAAE;YAArC;GACE,kBAAC,GAAD;IACE,OAAO;IACP,WAAA;IACA,MAAK;IACL,WAAW,GAAG,MAAuC;KACnD,AAAI,KAAM,EAAe,CAAI;IAC/B;IACA,IAAI,EAAE,IAAI,EAAE;cAPd,CASE,kBAAC,GAAD;KAAc,OAAO,EAAsB;eAAS;IAEtC,CAAA,GACd,kBAAC,GAAD;KAAc,OAAO,EAAsB;eAAS;IAEtC,CAAA,CACG;;GAElB,EAAM,SAAS,KACd,kBAAC,GAAD;IAAS,YAAY;IAAW,WAAA;IAAU,IAAI,EAAE,IAAI,EAAE;cACnD,EAAM,KAAK,GAAM,MAChB,kBAAC,GAAD,EAAA,UACE,kBAAC,GAAD;KAAY,eAAe,EAAc,CAAK;eAC3C,EAAa,GAAM,IAAQ,CAAC;IACnB,CAAA,EACR,GAJK,CAIL,CACP;GACM,CAAA;GAGX,kBAAC,GAAD;IAGE,MAAM;IACM;IACZ,oBAAoB;GACrB,GAJM,CAIN;EACI;;AAEX"}
@@ -0,0 +1,21 @@
1
+ import { GeneratedFormStepForRjsf } from '@/utils/jsonschema/generateDataAccessSchema';
2
+ import { SchemaData } from '@/utils/jsonschema/schemaData';
3
+ import { Ref } from 'react';
4
+ export type SchemaStepFormHandle = {
5
+ /** Validates the step's answers, showing errors against invalid fields. */
6
+ submit: () => void;
7
+ };
8
+ export type SchemaStepFormProps = {
9
+ ref?: Ref<SchemaStepFormHandle>;
10
+ step: GeneratedFormStepForRjsf;
11
+ schemaData: SchemaData;
12
+ onSchemaDataChange: (schemaData: SchemaData) => void;
13
+ /** Invoked with the complete answers when the step's answers pass validation. */
14
+ onValid?: (schemaData: SchemaData) => void;
15
+ };
16
+ /**
17
+ * A single step of a form generated from a FormTemplate, rendered as a requester sees it. The answers of all steps
18
+ * are kept in `schemaData`; the step shows and updates only its own.
19
+ */
20
+ export default function SchemaStepForm(props: SchemaStepFormProps): import("react/jsx-runtime").JSX.Element;
21
+ //# sourceMappingURL=SchemaStepForm.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"SchemaStepForm.d.ts","sourceRoot":"","sources":["../../../src/components/JsonSchemaForm/SchemaStepForm.tsx"],"names":[],"mappings":"AACA,OAAO,EAAE,wBAAwB,EAAE,MAAM,6CAA6C,CAAA;AACtF,OAAO,EAAe,UAAU,EAAE,MAAM,+BAA+B,CAAA;AAEvE,OAAO,EAAE,GAAG,EAA+B,MAAM,OAAO,CAAA;AAExD,MAAM,MAAM,oBAAoB,GAAG;IACjC,2EAA2E;IAC3E,MAAM,EAAE,MAAM,IAAI,CAAA;CACnB,CAAA;AAED,MAAM,MAAM,mBAAmB,GAAG;IAChC,GAAG,CAAC,EAAE,GAAG,CAAC,oBAAoB,CAAC,CAAA;IAC/B,IAAI,EAAE,wBAAwB,CAAA;IAC9B,UAAU,EAAE,UAAU,CAAA;IACtB,kBAAkB,EAAE,CAAC,UAAU,EAAE,UAAU,KAAK,IAAI,CAAA;IACpD,iFAAiF;IACjF,OAAO,CAAC,EAAE,CAAC,UAAU,EAAE,UAAU,KAAK,IAAI,CAAA;CAC3C,CAAA;AAED;;;GAGG;AACH,MAAM,CAAC,OAAO,UAAU,cAAc,CAAC,KAAK,EAAE,mBAAmB,2CA0BhE"}
@@ -0,0 +1,29 @@
1
+ import { JsonSchemaForm as e } from "./JsonSchemaForm.js";
2
+ import { getStepData as t } from "../../utils/jsonschema/schemaData.js";
3
+ import { useImperativeHandle as n, useRef as r } from "react";
4
+ import { Fragment as i, jsx as a } from "react/jsx-runtime";
5
+ //#region src/components/JsonSchemaForm/SchemaStepForm.tsx
6
+ function o(o) {
7
+ let { ref: s, step: c, schemaData: l, onSchemaDataChange: u, onValid: d } = o, f = r(null);
8
+ return n(s, () => ({ submit: () => f.current?.submit() })), /* @__PURE__ */ a(e, {
9
+ formRef: f,
10
+ schema: c.jsonSchema,
11
+ uiSchema: c.uiSchema,
12
+ formData: t(l, c),
13
+ formContext: { descriptionVariant: "inline" },
14
+ liveValidate: !1,
15
+ onChange: (e) => u({
16
+ ...l,
17
+ ...e.formData
18
+ }),
19
+ onSubmit: (e) => d?.({
20
+ ...l,
21
+ ...e.formData
22
+ }),
23
+ children: /* @__PURE__ */ a(i, {})
24
+ });
25
+ }
26
+ //#endregion
27
+ export { o as default };
28
+
29
+ //# sourceMappingURL=SchemaStepForm.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"SchemaStepForm.js","names":[],"sources":["../../../src/components/JsonSchemaForm/SchemaStepForm.tsx"],"sourcesContent":["import { JsonSchemaForm } from '@/components/JsonSchemaForm/JsonSchemaForm'\nimport { GeneratedFormStepForRjsf } from '@/utils/jsonschema/generateDataAccessSchema'\nimport { getStepData, SchemaData } from '@/utils/jsonschema/schemaData'\nimport RJSFForm from '@rjsf/core'\nimport { Ref, useImperativeHandle, useRef } from 'react'\n\nexport type SchemaStepFormHandle = {\n /** Validates the step's answers, showing errors against invalid fields. */\n submit: () => void\n}\n\nexport type SchemaStepFormProps = {\n ref?: Ref<SchemaStepFormHandle>\n step: GeneratedFormStepForRjsf\n schemaData: SchemaData\n onSchemaDataChange: (schemaData: SchemaData) => void\n /** Invoked with the complete answers when the step's answers pass validation. */\n onValid?: (schemaData: SchemaData) => void\n}\n\n/**\n * A single step of a form generated from a FormTemplate, rendered as a requester sees it. The answers of all steps\n * are kept in `schemaData`; the step shows and updates only its own.\n */\nexport default function SchemaStepForm(props: SchemaStepFormProps) {\n const { ref, step, schemaData, onSchemaDataChange, onValid } = props\n const formRef = useRef<RJSFForm>(null)\n\n useImperativeHandle(ref, () => ({\n submit: () => formRef.current?.submit(),\n }))\n\n return (\n <JsonSchemaForm\n formRef={formRef}\n schema={step.jsonSchema}\n uiSchema={step.uiSchema}\n formData={getStepData(schemaData, step)}\n formContext={{ descriptionVariant: 'inline' }}\n liveValidate={false}\n onChange={event =>\n onSchemaDataChange({ ...schemaData, ...event.formData })\n }\n onSubmit={event =>\n onValid?.({ ...schemaData, ...(event.formData as SchemaData) })\n }\n >\n <></>\n </JsonSchemaForm>\n )\n}\n"],"mappings":";;;;;AAwBA,SAAwB,EAAe,GAA4B;CACjE,IAAM,EAAE,QAAK,SAAM,eAAY,uBAAoB,eAAY,GACzD,IAAU,EAAiB,IAAI;CAMrC,OAJA,EAAoB,UAAY,EAC9B,cAAc,EAAQ,SAAS,OAAO,EACxC,EAAE,GAGA,kBAAC,GAAD;EACW;EACT,QAAQ,EAAK;EACb,UAAU,EAAK;EACf,UAAU,EAAY,GAAY,CAAI;EACtC,aAAa,EAAE,oBAAoB,SAAS;EAC5C,cAAc;EACd,WAAU,MACR,EAAmB;GAAE,GAAG;GAAY,GAAG,EAAM;EAAS,CAAC;EAEzD,WAAU,MACR,IAAU;GAAE,GAAG;GAAY,GAAI,EAAM;EAAwB,CAAC;YAGhE,kBAAA,GAAA,CAAI,CAAA;CACU,CAAA;AAEpB"}
@@ -1,9 +1,9 @@
1
- import { AccessRequirement, ManagedACTAccessRequirement, SelfSignAccessRequirement } from '@sage-bionetworks/synapse-types';
1
+ import { AccessRequirement, JsonSchemaAccessRequirement, ManagedACTAccessRequirement, SelfSignAccessRequirement } from '@sage-bionetworks/synapse-types';
2
2
  export declare const LOCK_ACCESS_REQUIREMENT_TEXT = "Access restricted pending review by Synapse Access and Compliance Team.";
3
3
  export declare const getOldAccessRequirementInstructions: (ar: AccessRequirement) => string | undefined;
4
4
  /**
5
5
  * Returns true iff the access requirement can apply restrictions based on
6
6
  * accessor qualities, such as certification or validation status
7
7
  */
8
- export declare const hasAccessorRequirement: (ar: AccessRequirement) => ar is SelfSignAccessRequirement | ManagedACTAccessRequirement;
8
+ export declare const hasAccessorRequirement: (ar: AccessRequirement) => ar is SelfSignAccessRequirement | ManagedACTAccessRequirement | JsonSchemaAccessRequirement;
9
9
  //# sourceMappingURL=GovernanceUtils.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"GovernanceUtils.d.ts","sourceRoot":"","sources":["../../../src/components/SetBasicAccessRequirementFields/GovernanceUtils.ts"],"names":[],"mappings":"AAAA,OAAO,EAEL,iBAAiB,EAGjB,2BAA2B,EAE3B,yBAAyB,EAE1B,MAAM,iCAAiC,CAAA;AAExC,eAAO,MAAM,4BAA4B,4EACkC,CAAA;AAE3E,eAAO,MAAM,mCAAmC,GAAI,IAAI,iBAAiB,uBAaxE,CAAA;AAED;;;GAGG;AACH,eAAO,MAAM,sBAAsB,GACjC,IAAI,iBAAiB,KACpB,EAAE,IAAI,yBAAyB,GAAG,2BAKpC,CAAA"}
1
+ {"version":3,"file":"GovernanceUtils.d.ts","sourceRoot":"","sources":["../../../src/components/SetBasicAccessRequirementFields/GovernanceUtils.ts"],"names":[],"mappings":"AAAA,OAAO,EAEL,iBAAiB,EAEjB,2BAA2B,EAG3B,2BAA2B,EAE3B,yBAAyB,EAE1B,MAAM,iCAAiC,CAAA;AAExC,eAAO,MAAM,4BAA4B,4EACkC,CAAA;AAE3E,eAAO,MAAM,mCAAmC,GAAI,IAAI,iBAAiB,uBAcxE,CAAA;AAED;;;GAGG;AACH,eAAO,MAAM,sBAAsB,GACjC,IAAI,iBAAiB,KACpB,EAAE,IACD,yBAAyB,GACzB,2BAA2B,GAC3B,2BAMH,CAAA"}
@@ -1,15 +1,16 @@
1
- import { ACT_ACCESS_REQUIREMENT_CONCRETE_TYPE_VALUE as e, LOCK_ACCESS_REQUIREMENT_CONCRETE_TYPE_VALUE as t, MANAGED_ACT_ACCESS_REQUIREMENT_CONCRETE_TYPE_VALUE as n, SELF_SIGN_ACCESS_REQUIREMENT_CONCRETE_TYPE_VALUE as r, TERMS_OF_USE_ACCESS_REQUIREMENT_CONCRETE_TYPE_VALUE as i } from "@sage-bionetworks/synapse-types";
1
+ import { ACT_ACCESS_REQUIREMENT_CONCRETE_TYPE_VALUE as e, JSON_SCHEMA_ACCESS_REQUIREMENT_CONCRETE_TYPE_VALUE as t, LOCK_ACCESS_REQUIREMENT_CONCRETE_TYPE_VALUE as n, MANAGED_ACT_ACCESS_REQUIREMENT_CONCRETE_TYPE_VALUE as r, SELF_SIGN_ACCESS_REQUIREMENT_CONCRETE_TYPE_VALUE as i, TERMS_OF_USE_ACCESS_REQUIREMENT_CONCRETE_TYPE_VALUE as a } from "@sage-bionetworks/synapse-types";
2
2
  //#region src/components/SetBasicAccessRequirementFields/GovernanceUtils.ts
3
- var a = "Access restricted pending review by Synapse Access and Compliance Team.", o = (o) => {
4
- switch (o.concreteType) {
5
- case n:
6
- case r: return "";
7
- case i: return o.termsOfUse;
8
- case e: return o.actContactInfo;
9
- case t: return a;
3
+ var o = "Access restricted pending review by Synapse Access and Compliance Team.", s = (s) => {
4
+ switch (s.concreteType) {
5
+ case r:
6
+ case t:
7
+ case i: return "";
8
+ case a: return s.termsOfUse;
9
+ case e: return s.actContactInfo;
10
+ case n: return o;
10
11
  }
11
- }, s = (e) => e.concreteType === r || e.concreteType == n;
12
+ }, c = (e) => e.concreteType === i || e.concreteType == r || e.concreteType == t;
12
13
  //#endregion
13
- export { a as LOCK_ACCESS_REQUIREMENT_TEXT, o as getOldAccessRequirementInstructions, s as hasAccessorRequirement };
14
+ export { o as LOCK_ACCESS_REQUIREMENT_TEXT, s as getOldAccessRequirementInstructions, c as hasAccessorRequirement };
14
15
 
15
16
  //# sourceMappingURL=GovernanceUtils.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"GovernanceUtils.js","names":[],"sources":["../../../src/components/SetBasicAccessRequirementFields/GovernanceUtils.ts"],"sourcesContent":["import {\n ACT_ACCESS_REQUIREMENT_CONCRETE_TYPE_VALUE,\n AccessRequirement,\n LOCK_ACCESS_REQUIREMENT_CONCRETE_TYPE_VALUE,\n MANAGED_ACT_ACCESS_REQUIREMENT_CONCRETE_TYPE_VALUE,\n ManagedACTAccessRequirement,\n SELF_SIGN_ACCESS_REQUIREMENT_CONCRETE_TYPE_VALUE,\n SelfSignAccessRequirement,\n TERMS_OF_USE_ACCESS_REQUIREMENT_CONCRETE_TYPE_VALUE,\n} from '@sage-bionetworks/synapse-types'\n\nexport const LOCK_ACCESS_REQUIREMENT_TEXT =\n 'Access restricted pending review by Synapse Access and Compliance Team.'\n\nexport const getOldAccessRequirementInstructions = (ar: AccessRequirement) => {\n switch (ar.concreteType) {\n case MANAGED_ACT_ACCESS_REQUIREMENT_CONCRETE_TYPE_VALUE:\n case SELF_SIGN_ACCESS_REQUIREMENT_CONCRETE_TYPE_VALUE:\n // uses wiki to store instructions\n return ''\n case TERMS_OF_USE_ACCESS_REQUIREMENT_CONCRETE_TYPE_VALUE:\n return ar.termsOfUse\n case ACT_ACCESS_REQUIREMENT_CONCRETE_TYPE_VALUE:\n return ar.actContactInfo\n case LOCK_ACCESS_REQUIREMENT_CONCRETE_TYPE_VALUE:\n return LOCK_ACCESS_REQUIREMENT_TEXT\n }\n}\n\n/**\n * Returns true iff the access requirement can apply restrictions based on\n * accessor qualities, such as certification or validation status\n */\nexport const hasAccessorRequirement = (\n ar: AccessRequirement,\n): ar is SelfSignAccessRequirement | ManagedACTAccessRequirement => {\n return (\n ar.concreteType === SELF_SIGN_ACCESS_REQUIREMENT_CONCRETE_TYPE_VALUE ||\n ar.concreteType == MANAGED_ACT_ACCESS_REQUIREMENT_CONCRETE_TYPE_VALUE\n )\n}\n"],"mappings":";;AAWA,IAAa,IACX,2EAEW,KAAuC,MAA0B;CAC5E,QAAQ,EAAG,cAAX;EACE,KAAK;EACL,KAAK,GAEH,OAAO;EACT,KAAK,GACH,OAAO,EAAG;EACZ,KAAK,GACH,OAAO,EAAG;EACZ,KAAK,GACH,OAAO;CACX;AACF,GAMa,KACX,MAGE,EAAG,iBAAiB,KACpB,EAAG,gBAAgB"}
1
+ {"version":3,"file":"GovernanceUtils.js","names":[],"sources":["../../../src/components/SetBasicAccessRequirementFields/GovernanceUtils.ts"],"sourcesContent":["import {\n ACT_ACCESS_REQUIREMENT_CONCRETE_TYPE_VALUE,\n AccessRequirement,\n JSON_SCHEMA_ACCESS_REQUIREMENT_CONCRETE_TYPE_VALUE,\n JsonSchemaAccessRequirement,\n LOCK_ACCESS_REQUIREMENT_CONCRETE_TYPE_VALUE,\n MANAGED_ACT_ACCESS_REQUIREMENT_CONCRETE_TYPE_VALUE,\n ManagedACTAccessRequirement,\n SELF_SIGN_ACCESS_REQUIREMENT_CONCRETE_TYPE_VALUE,\n SelfSignAccessRequirement,\n TERMS_OF_USE_ACCESS_REQUIREMENT_CONCRETE_TYPE_VALUE,\n} from '@sage-bionetworks/synapse-types'\n\nexport const LOCK_ACCESS_REQUIREMENT_TEXT =\n 'Access restricted pending review by Synapse Access and Compliance Team.'\n\nexport const getOldAccessRequirementInstructions = (ar: AccessRequirement) => {\n switch (ar.concreteType) {\n case MANAGED_ACT_ACCESS_REQUIREMENT_CONCRETE_TYPE_VALUE:\n case JSON_SCHEMA_ACCESS_REQUIREMENT_CONCRETE_TYPE_VALUE:\n case SELF_SIGN_ACCESS_REQUIREMENT_CONCRETE_TYPE_VALUE:\n // uses wiki to store instructions\n return ''\n case TERMS_OF_USE_ACCESS_REQUIREMENT_CONCRETE_TYPE_VALUE:\n return ar.termsOfUse\n case ACT_ACCESS_REQUIREMENT_CONCRETE_TYPE_VALUE:\n return ar.actContactInfo\n case LOCK_ACCESS_REQUIREMENT_CONCRETE_TYPE_VALUE:\n return LOCK_ACCESS_REQUIREMENT_TEXT\n }\n}\n\n/**\n * Returns true iff the access requirement can apply restrictions based on\n * accessor qualities, such as certification or validation status\n */\nexport const hasAccessorRequirement = (\n ar: AccessRequirement,\n): ar is\n | SelfSignAccessRequirement\n | ManagedACTAccessRequirement\n | JsonSchemaAccessRequirement => {\n return (\n ar.concreteType === SELF_SIGN_ACCESS_REQUIREMENT_CONCRETE_TYPE_VALUE ||\n ar.concreteType == MANAGED_ACT_ACCESS_REQUIREMENT_CONCRETE_TYPE_VALUE ||\n ar.concreteType == JSON_SCHEMA_ACCESS_REQUIREMENT_CONCRETE_TYPE_VALUE\n )\n}\n"],"mappings":";;AAaA,IAAa,IACX,2EAEW,KAAuC,MAA0B;CAC5E,QAAQ,EAAG,cAAX;EACE,KAAK;EACL,KAAK;EACL,KAAK,GAEH,OAAO;EACT,KAAK,GACH,OAAO,EAAG;EACZ,KAAK,GACH,OAAO,EAAG;EACZ,KAAK,GACH,OAAO;CACX;AACF,GAMa,KACX,MAME,EAAG,iBAAiB,KACpB,EAAG,gBAAgB,KACnB,EAAG,gBAAgB"}
@@ -14,17 +14,17 @@ import { Component as h, createRef as g } from "react";
14
14
  import { Fragment as _, jsx as v, jsxs as y } from "react/jsx-runtime";
15
15
  import b from "lodash-es/isEqual";
16
16
  import x from "@rjsf/validator-ajv8";
17
- import S from "@rjsf/core";
18
- import C from "react-switch";
19
- import w from "lodash-es/cloneDeep";
20
- import T from "lodash-es/first";
21
- import { Engine as E } from "json-rules-engine";
22
- import D from "lodash-es/find";
23
- import O from "lodash-es/findIndex";
24
- import k from "lodash-es/get";
25
- import A from "lodash-es/isUndefined";
26
- import j from "lodash-es/keys";
27
- import M from "lodash-es/pick";
17
+ import S from "lodash-es/pick";
18
+ import C from "@rjsf/core";
19
+ import w from "react-switch";
20
+ import T from "lodash-es/cloneDeep";
21
+ import E from "lodash-es/first";
22
+ import { Engine as D } from "json-rules-engine";
23
+ import O from "lodash-es/find";
24
+ import k from "lodash-es/findIndex";
25
+ import A from "lodash-es/get";
26
+ import j from "lodash-es/isUndefined";
27
+ import M from "lodash-es/keys";
28
28
  import N from "lodash-es/remove";
29
29
  import P from "lodash-es/set";
30
30
  import F from "lodash-es/trimStart";
@@ -43,7 +43,7 @@ var I = class extends h {
43
43
  isNewForm = (e) => Object.keys(e).length == 1 && Object.keys(e)[0] === "metadata" || Object.keys(e).length == 0;
44
44
  getFirstStep = (e, t) => this.isNewForm(t) ? e[0] : e.find((e) => e.final === !0) || e[0];
45
45
  constructor(e) {
46
- super(e), this.uiSchema = R(w(e.uiSchema), "ui:help");
46
+ super(e), this.uiSchema = R(T(e.uiSchema), "ui:help");
47
47
  let t = e.navSchema.steps.map((e, t) => ({
48
48
  ...e,
49
49
  inProgress: t === 0
@@ -78,20 +78,20 @@ var I = class extends h {
78
78
  _setIncludedPropInFormDataNonWizard = (e, t) => {
79
79
  let n = {}, r = e.formData;
80
80
  return Object.keys(t).forEach((e) => {
81
- k(t[e], "properties.included") && P(n, `${e}.included`, !0);
81
+ A(t[e], "properties.included") && P(n, `${e}.included`, !0);
82
82
  }), {
83
83
  ...r,
84
84
  ...n
85
85
  };
86
86
  };
87
87
  _setIncludedPropInFormDataWizard = (e) => {
88
- let t = e.currentStep.id, n = w(e.formData);
88
+ let t = e.currentStep.id, n = T(e.formData);
89
89
  return P(n, `${t}.included`, !0), n;
90
90
  };
91
91
  componentDidMount() {
92
92
  this.setupBeforeUnloadListener(), this.isNewForm(this.state.formData) ? this.setState((e) => ({ formData: this.props.isWizardMode ? this._setIncludedPropInFormDataWizard(e) : this._setIncludedPropInFormDataNonWizard(e, this.props.schema) })) : this.triggerAction(c.VALIDATE);
93
93
  }
94
- getSchema = ({ id: e, final: t }) => t ? this.props.schema : M(this.props.schema, [
94
+ getSchema = ({ id: e, final: t }) => t ? this.props.schema : S(this.props.schema, [
95
95
  "title",
96
96
  "type",
97
97
  `properties.${e}`
@@ -99,7 +99,7 @@ var I = class extends h {
99
99
  getNextStepId = async (e, t, n) => {
100
100
  if (n) return n;
101
101
  if (!e.rules || e.rules.length === 0) return e.default;
102
- let r = new E(e.rules);
102
+ let r = new D(e.rules);
103
103
  try {
104
104
  let n = await r.run(t);
105
105
  return n.events.length > 0 ? n.events[0].params.next : e.default;
@@ -140,10 +140,10 @@ var I = class extends h {
140
140
  let n, r = [...this.state.previousStepIds];
141
141
  if (this.props.isWizardMode) n = r.pop(), this.isSubmitScreen() || P(e, `${this.state.currentStep.id}.included`, void 0);
142
142
  else {
143
- let e = O(this.state.steps, { id: this.state.currentStep.id });
143
+ let e = k(this.state.steps, { id: this.state.currentStep.id });
144
144
  e > 0 && (n = this.state.steps[e - 1].id);
145
145
  }
146
- if (!A(n)) return this.moveStep(e, n, t, r);
146
+ if (!j(n)) return this.moveStep(e, n, t, r);
147
147
  };
148
148
  triggerAction = async (e) => {
149
149
  if (e === c.SAVE) return this.props.onSave(this.state.formData);
@@ -170,7 +170,7 @@ var I = class extends h {
170
170
  };
171
171
  if (o.indexOf(e.id) > -1) {
172
172
  let t = u.COMPLETED;
173
- return n && !k(r[e.id], "included") && (t = e.state), {
173
+ return n && !A(r[e.id], "included") && (t = e.state), {
174
174
  ...e,
175
175
  state: t
176
176
  };
@@ -229,7 +229,7 @@ var I = class extends h {
229
229
  let i = n.steps.map((n) => n.id === e ? {
230
230
  ...n,
231
231
  excluded: t
232
- } : n), a = w(n.formData), o = w(n.currentStep);
232
+ } : n), a = T(n.formData), o = T(n.currentStep);
233
233
  return o.id === e && (o.excluded = t), t ? a[e] = {} : P(a, `${e}.included`, !0), {
234
234
  steps: i,
235
235
  formData: a,
@@ -279,7 +279,7 @@ var I = class extends h {
279
279
  className: "pull-right toggle-help-label",
280
280
  children: [
281
281
  /* @__PURE__ */ v("span", { children: "Hide help" }),
282
- /* @__PURE__ */ v(C, {
282
+ /* @__PURE__ */ v(w, {
283
283
  checkedIcon: !1,
284
284
  uncheckedIcon: !1,
285
285
  height: 20,
@@ -294,13 +294,13 @@ var I = class extends h {
294
294
  }) });
295
295
  runCustomValidation = async (e, t, n) => {
296
296
  let r = [], i = t.validationRules || [], a = { [t.id]: e[t.id] };
297
- if (t.final && (i = n.reduce((e, t) => t.validationRules && t.validationRules.length > 0 ? e.concat(t.validationRules) : e, []), a = w(e)), i.length === 0) return [];
297
+ if (t.final && (i = n.reduce((e, t) => t.validationRules && t.validationRules.length > 0 ? e.concat(t.validationRules) : e, []), a = T(e)), i.length === 0) return [];
298
298
  let o = [];
299
299
  i.forEach((t) => {
300
300
  let n = t.event.params.property;
301
301
  if (n.indexOf("[*]") === -1) o.push(t);
302
302
  else {
303
- let r = k(e, n.split("[*]")[0].substring(1));
303
+ let r = A(e, n.split("[*]")[0].substring(1));
304
304
  if (Array.isArray(r) && typeof r != "string") for (let e = 0; e < r.length; e++) {
305
305
  let n = JSON.parse(JSON.stringify(t).replace(/\[\*\]/g, `[${e}]`));
306
306
  o.push(n);
@@ -308,7 +308,7 @@ var I = class extends h {
308
308
  else o.push(t);
309
309
  }
310
310
  });
311
- let s = new E(o, { allowUndefinedFacts: !0 });
311
+ let s = new D(o, { allowUndefinedFacts: !0 });
312
312
  try {
313
313
  (await s.run(a)).events.forEach((e) => {
314
314
  let t = {
@@ -423,7 +423,7 @@ var I = class extends h {
423
423
  ref: this.formDivRef,
424
424
  className: `scroll-area ${this.state.currentStep.excluded ? "disabled" : " "} `,
425
425
  children: [
426
- /* @__PURE__ */ v(S, {
426
+ /* @__PURE__ */ v(C, {
427
427
  validator: x,
428
428
  noHtml5Validate: !0,
429
429
  className: this.state.doShowHelp ? "submissionInputForm" : "submissionInputForm no-help",
@@ -502,9 +502,9 @@ var I = class extends h {
502
502
  }
503
503
  };
504
504
  function L(e, t, n, r, i) {
505
- let a = F(t.property, "."), o = a.split("."), s = `${o.join(".properties.")}.title`, c = `${a}.ui:title`, l = s.replace(/\[.*?\]/, ".items"), u = c.replace(/\[.*?\]/, ".items"), d = T(s.match(/\[.*?\]/));
505
+ let a = F(t.property, "."), o = a.split("."), s = `${o.join(".properties.")}.title`, c = `${a}.ui:title`, l = s.replace(/\[.*?\]/, ".items"), u = c.replace(/\[.*?\]/, ".items"), d = E(s.match(/\[.*?\]/));
506
506
  d &&= (d = d.substring(1, d.length - 1), isNaN(parseInt(d)) ? "" : ` [${parseInt(d) + 1}]`);
507
- let f = k(n, c) || k(i.properties, s) || k(n, u) || k(i.properties, l) || t.property, p = D(e, { id: o[0] }) || {
507
+ let f = A(n, c) || A(i.properties, s) || A(n, u) || A(i.properties, l) || t.property, p = O(e, { id: o[0] }) || {
508
508
  title: o[0],
509
509
  order: 0
510
510
  }, m = /* @__PURE__ */ v("li", {
@@ -526,7 +526,7 @@ function L(e, t, n, r, i) {
526
526
  };
527
527
  }
528
528
  function R(e, t) {
529
- return j(e).some((n) => {
529
+ return M(e).some((n) => {
530
530
  if (n === t) {
531
531
  let t = e[n];
532
532
  return e[n] = /* @__PURE__ */ v("span", { dangerouslySetInnerHTML: { __html: t } }), e;
@@ -1 +1 @@
1
- {"version":3,"file":"InFlightEDucSignaturesTable.d.ts","sourceRoot":"","sources":["../../../../src/components/dataaccess/UserAccessRequestHistory/InFlightEDucSignaturesTable.tsx"],"names":[],"mappings":"AAgJA;;;;;;;;GAQG;AACH,wBAAgB,2BAA2B,mDA6J1C"}
1
+ {"version":3,"file":"InFlightEDucSignaturesTable.d.ts","sourceRoot":"","sources":["../../../../src/components/dataaccess/UserAccessRequestHistory/InFlightEDucSignaturesTable.tsx"],"names":[],"mappings":"AAiJA;;;;;;;;GAQG;AACH,wBAAgB,2BAA2B,mDAgK1C"}
@@ -4,7 +4,8 @@ import { useListAllUserDataAccessRequests as n, useVoidDataAccessRequestSignatur
4
4
  import "../../../synapse-queries/index.js";
5
5
  import { SkeletonTable as i } from "../../Skeleton/SkeletonTable.js";
6
6
  import "../../Skeleton/index.js";
7
- import a, { RequestDataStep as o } from "../../AccessRequirementList/AccessRequirementList.js";
7
+ import { getFirstRequestStep as a } from "../../AccessRequirementList/RequestDataStep.js";
8
+ import o from "../../AccessRequirementList/AccessRequirementList.js";
8
9
  import s from "../../TanStackTable/StyledTanStackTable.js";
9
10
  import c from "../../TanStackTable/ColumnHeader.js";
10
11
  import { USER_ACCESS_HISTORY_REQUEST_SIGNATURE_SUBPATH as l, USER_ACCESS_HISTORY_REQUEST_SUBPATH as u } from "./RouteConstants.js";
@@ -154,12 +155,12 @@ function I() {
154
155
  fullWidth: !0
155
156
  })]
156
157
  }),
157
- N && /* @__PURE__ */ T(a, {
158
+ N && /* @__PURE__ */ T(o, {
158
159
  renderAsModal: !0,
159
160
  onHide: () => D(void 0),
160
161
  initialWizardEntry: {
161
- step: o.UPDATE_RESEARCH_PROJECT,
162
- managedACTAccessRequirement: N
162
+ step: a(N),
163
+ accessRequirement: N
163
164
  }
164
165
  }),
165
166
  /* @__PURE__ */ E(_, {