synapse-react-client 4.0.40 → 4.0.42

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 (438) hide show
  1. package/dist/SWC.index.d.ts +1 -0
  2. package/dist/SWC.index.d.ts.map +1 -1
  3. package/dist/SWC.index.js +2 -1
  4. package/dist/SWC.index.js.map +1 -1
  5. package/dist/components/AccessRequirement/ImposeRestrictionDialog/ImposeRestrictionDialog.d.ts +1 -0
  6. package/dist/components/AccessRequirement/ImposeRestrictionDialog/ImposeRestrictionDialog.d.ts.map +1 -1
  7. package/dist/components/AccessRequirement/ImposeRestrictionDialog/ImposeRestrictionDialog.js +12 -12
  8. package/dist/components/AccessRequirement/ImposeRestrictionDialog/ImposeRestrictionDialog.js.map +1 -1
  9. package/dist/components/AccessRequirementList/ManagedACTAccessRequirementRequestFlow/AccessorRequirementHelpText.d.ts +7 -0
  10. package/dist/components/AccessRequirementList/ManagedACTAccessRequirementRequestFlow/AccessorRequirementHelpText.d.ts.map +1 -0
  11. package/dist/components/AccessRequirementList/ManagedACTAccessRequirementRequestFlow/AccessorRequirementHelpText.js +30 -0
  12. package/dist/components/AccessRequirementList/ManagedACTAccessRequirementRequestFlow/AccessorRequirementHelpText.js.map +1 -0
  13. package/dist/components/AccessRequirementList/ManagedACTAccessRequirementRequestFlow/DataAccessRequestAccessorsFilesForm/DataAccessRequestAccessorsFilesForm.d.ts.map +1 -1
  14. package/dist/components/AccessRequirementList/ManagedACTAccessRequirementRequestFlow/DataAccessRequestAccessorsFilesForm/DataAccessRequestAccessorsFilesForm.js +138 -244
  15. package/dist/components/AccessRequirementList/ManagedACTAccessRequirementRequestFlow/DataAccessRequestAccessorsFilesForm/DataAccessRequestAccessorsFilesForm.js.map +1 -1
  16. package/dist/components/AccessRequirementList/ManagedACTAccessRequirementRequestFlow/DucUploadSection.d.ts +13 -0
  17. package/dist/components/AccessRequirementList/ManagedACTAccessRequirementRequestFlow/DucUploadSection.d.ts.map +1 -0
  18. package/dist/components/AccessRequirementList/ManagedACTAccessRequirementRequestFlow/DucUploadSection.js +60 -0
  19. package/dist/components/AccessRequirementList/ManagedACTAccessRequirementRequestFlow/DucUploadSection.js.map +1 -0
  20. package/dist/components/AccessRequirementList/ManagedACTAccessRequirementRequestFlow/EDucPreviewStep/EDucPreviewStep.d.ts +8 -2
  21. package/dist/components/AccessRequirementList/ManagedACTAccessRequirementRequestFlow/EDucPreviewStep/EDucPreviewStep.d.ts.map +1 -1
  22. package/dist/components/AccessRequirementList/ManagedACTAccessRequirementRequestFlow/EDucPreviewStep/EDucPreviewStep.js +179 -63
  23. package/dist/components/AccessRequirementList/ManagedACTAccessRequirementRequestFlow/EDucPreviewStep/EDucPreviewStep.js.map +1 -1
  24. package/dist/components/AccessRequirementList/ManagedACTAccessRequirementRequestFlow/ManagedACTAccessRequirementFormWikiWrapper.d.ts +2 -0
  25. package/dist/components/AccessRequirementList/ManagedACTAccessRequirementRequestFlow/ManagedACTAccessRequirementFormWikiWrapper.d.ts.map +1 -1
  26. package/dist/components/AccessRequirementList/ManagedACTAccessRequirementRequestFlow/ManagedACTAccessRequirementFormWikiWrapper.js +13 -13
  27. package/dist/components/AccessRequirementList/ManagedACTAccessRequirementRequestFlow/ManagedACTAccessRequirementFormWikiWrapper.js.map +1 -1
  28. package/dist/components/AccessRequirementList/ManagedACTAccessRequirementRequestFlow/ManagedACTAccessRequirementItemView.d.ts +3 -2
  29. package/dist/components/AccessRequirementList/ManagedACTAccessRequirementRequestFlow/ManagedACTAccessRequirementItemView.d.ts.map +1 -1
  30. package/dist/components/AccessRequirementList/ManagedACTAccessRequirementRequestFlow/ManagedACTAccessRequirementItemView.js.map +1 -1
  31. package/dist/components/AccessRequirementList/ManagedACTAccessRequirementRequestFlow/ManualUploadDucStep/ManualUploadDucStep.d.ts +3 -2
  32. package/dist/components/AccessRequirementList/ManagedACTAccessRequirementRequestFlow/ManualUploadDucStep/ManualUploadDucStep.d.ts.map +1 -1
  33. package/dist/components/AccessRequirementList/ManagedACTAccessRequirementRequestFlow/ManualUploadDucStep/ManualUploadDucStep.js.map +1 -1
  34. package/dist/components/AccessRequirementList/ManagedACTAccessRequirementRequestFlow/PrincipalInvestigatorFields.d.ts +12 -0
  35. package/dist/components/AccessRequirementList/ManagedACTAccessRequirementRequestFlow/PrincipalInvestigatorFields.d.ts.map +1 -0
  36. package/dist/components/AccessRequirementList/ManagedACTAccessRequirementRequestFlow/PrincipalInvestigatorFields.js +50 -0
  37. package/dist/components/AccessRequirementList/ManagedACTAccessRequirementRequestFlow/PrincipalInvestigatorFields.js.map +1 -0
  38. package/dist/components/AccessRequirementList/ManagedACTAccessRequirementRequestFlow/ResearchProjectForm/ResearchProjectForm.d.ts.map +1 -1
  39. package/dist/components/AccessRequirementList/ManagedACTAccessRequirementRequestFlow/ResearchProjectForm/ResearchProjectForm.js +112 -143
  40. package/dist/components/AccessRequirementList/ManagedACTAccessRequirementRequestFlow/ResearchProjectForm/ResearchProjectForm.js.map +1 -1
  41. package/dist/components/AccessRequirementList/ManagedACTAccessRequirementRequestFlow/ReviewDucStep/ReviewDucStep.d.ts +4 -2
  42. package/dist/components/AccessRequirementList/ManagedACTAccessRequirementRequestFlow/ReviewDucStep/ReviewDucStep.d.ts.map +1 -1
  43. package/dist/components/AccessRequirementList/ManagedACTAccessRequirementRequestFlow/ReviewDucStep/ReviewDucStep.js +8 -7
  44. package/dist/components/AccessRequirementList/ManagedACTAccessRequirementRequestFlow/ReviewDucStep/ReviewDucStep.js.map +1 -1
  45. package/dist/components/AccessRequirementList/ManagedACTAccessRequirementRequestFlow/SignatureStatusStep/SignatureStatusStep.d.ts +3 -2
  46. package/dist/components/AccessRequirementList/ManagedACTAccessRequirementRequestFlow/SignatureStatusStep/SignatureStatusStep.d.ts.map +1 -1
  47. package/dist/components/AccessRequirementList/ManagedACTAccessRequirementRequestFlow/SignatureStatusStep/SignatureStatusStep.js +79 -47
  48. package/dist/components/AccessRequirementList/ManagedACTAccessRequirementRequestFlow/SignatureStatusStep/SignatureStatusStep.js.map +1 -1
  49. package/dist/components/AccessRequirementList/ManagedACTAccessRequirementRequestFlow/SigningOfficialFields.d.ts +12 -0
  50. package/dist/components/AccessRequirementList/ManagedACTAccessRequirementRequestFlow/SigningOfficialFields.d.ts.map +1 -0
  51. package/dist/components/AccessRequirementList/ManagedACTAccessRequirementRequestFlow/SigningOfficialFields.js +51 -0
  52. package/dist/components/AccessRequirementList/ManagedACTAccessRequirementRequestFlow/SigningOfficialFields.js.map +1 -0
  53. package/dist/components/AccessRequirementList/ManagedACTAccessRequirementRequestFlow/eDucSignatureUtils.d.ts +12 -0
  54. package/dist/components/AccessRequirementList/ManagedACTAccessRequirementRequestFlow/eDucSignatureUtils.d.ts.map +1 -0
  55. package/dist/components/AccessRequirementList/ManagedACTAccessRequirementRequestFlow/eDucSignatureUtils.js +24 -0
  56. package/dist/components/AccessRequirementList/ManagedACTAccessRequirementRequestFlow/eDucSignatureUtils.js.map +1 -0
  57. package/dist/components/AccessRequirementList/ManagedACTAccessRequirementRequestFlow/requestFlowTypes.d.ts +11 -0
  58. package/dist/components/AccessRequirementList/ManagedACTAccessRequirementRequestFlow/requestFlowTypes.d.ts.map +1 -0
  59. package/dist/components/AccessRequirementList/ManagedACTAccessRequirementRequestFlow/requestFlowTypes.js +0 -0
  60. package/dist/components/AccessRequirementList/ManagedACTAccessRequirementRequestFlow/useInitializeRequestAccessors.d.ts +22 -0
  61. package/dist/components/AccessRequirementList/ManagedACTAccessRequirementRequestFlow/useInitializeRequestAccessors.d.ts.map +1 -0
  62. package/dist/components/AccessRequirementList/ManagedACTAccessRequirementRequestFlow/useInitializeRequestAccessors.js +32 -0
  63. package/dist/components/AccessRequirementList/ManagedACTAccessRequirementRequestFlow/useInitializeRequestAccessors.js.map +1 -0
  64. package/dist/components/AclEditor/AclEditor.js +20 -20
  65. package/dist/components/Aridhia/AridhiaAccessStatus.d.ts.map +1 -1
  66. package/dist/components/Aridhia/AridhiaAccessStatus.js +51 -48
  67. package/dist/components/Aridhia/AridhiaAccessStatus.js.map +1 -1
  68. package/dist/components/Authentication/Constants.d.ts +4 -0
  69. package/dist/components/Authentication/Constants.d.ts.map +1 -1
  70. package/dist/components/Authentication/Constants.js +5 -2
  71. package/dist/components/Authentication/Constants.js.map +1 -1
  72. package/dist/components/Authentication/RecoveryCodeGrid.d.ts.map +1 -1
  73. package/dist/components/Authentication/RecoveryCodeGrid.js +8 -1
  74. package/dist/components/Authentication/RecoveryCodeGrid.js.map +1 -1
  75. package/dist/components/Authentication/RegenerateBackupCodesWarning.js +4 -1
  76. package/dist/components/Authentication/RegenerateBackupCodesWarning.js.map +1 -1
  77. package/dist/components/Authentication/TOTPForm.d.ts.map +1 -1
  78. package/dist/components/Authentication/TOTPForm.js +20 -18
  79. package/dist/components/Authentication/TOTPForm.js.map +1 -1
  80. package/dist/components/Authentication/TwoFactorBackupCodes.d.ts.map +1 -1
  81. package/dist/components/Authentication/TwoFactorBackupCodes.js +41 -12
  82. package/dist/components/Authentication/TwoFactorBackupCodes.js.map +1 -1
  83. package/dist/components/Authentication/TwoFactorEnrollmentForm.d.ts.map +1 -1
  84. package/dist/components/Authentication/TwoFactorEnrollmentForm.js +90 -77
  85. package/dist/components/Authentication/TwoFactorEnrollmentForm.js.map +1 -1
  86. package/dist/components/DataGrid/SynapseGrid.d.ts.map +1 -1
  87. package/dist/components/DataGrid/SynapseGrid.js +244 -246
  88. package/dist/components/DataGrid/SynapseGrid.js.map +1 -1
  89. package/dist/components/DataGrid/components/GridLoadingState.d.ts +23 -0
  90. package/dist/components/DataGrid/components/GridLoadingState.d.ts.map +1 -0
  91. package/dist/components/DataGrid/components/GridLoadingState.js +64 -0
  92. package/dist/components/DataGrid/components/GridLoadingState.js.map +1 -0
  93. package/dist/components/DataGrid/components/ReorderColumnsDialog.d.ts.map +1 -1
  94. package/dist/components/DataGrid/components/ReorderColumnsDialog.js +52 -54
  95. package/dist/components/DataGrid/components/ReorderColumnsDialog.js.map +1 -1
  96. package/dist/components/DataGrid/useDataGridWebsocket.d.ts +60 -6
  97. package/dist/components/DataGrid/useDataGridWebsocket.d.ts.map +1 -1
  98. package/dist/components/DataGrid/useDataGridWebsocket.js +71 -60
  99. package/dist/components/DataGrid/useDataGridWebsocket.js.map +1 -1
  100. package/dist/components/DataGrid/utils/getNamedColumnIndices.d.ts +11 -0
  101. package/dist/components/DataGrid/utils/getNamedColumnIndices.d.ts.map +1 -0
  102. package/dist/components/DataGrid/utils/getNamedColumnIndices.js +8 -0
  103. package/dist/components/DataGrid/utils/getNamedColumnIndices.js.map +1 -0
  104. package/dist/components/FilePreview/FileHandleContentRenderer.d.ts +6 -2
  105. package/dist/components/FilePreview/FileHandleContentRenderer.d.ts.map +1 -1
  106. package/dist/components/FilePreview/FileHandleContentRenderer.js +27 -14
  107. package/dist/components/FilePreview/FileHandleContentRenderer.js.map +1 -1
  108. package/dist/components/FilePreview/PdfPreview.d.ts +1 -1
  109. package/dist/components/FilePreview/PdfPreview.d.ts.map +1 -1
  110. package/dist/components/FilePreview/PdfPreview.js +15 -16
  111. package/dist/components/FilePreview/PdfPreview.js.map +1 -1
  112. package/dist/components/FormTemplateEditor/ChoiceOptionsEditor.d.ts +11 -0
  113. package/dist/components/FormTemplateEditor/ChoiceOptionsEditor.d.ts.map +1 -0
  114. package/dist/components/FormTemplateEditor/ChoiceOptionsEditor.js +61 -0
  115. package/dist/components/FormTemplateEditor/ChoiceOptionsEditor.js.map +1 -0
  116. package/dist/components/FormTemplateEditor/FieldDefinitionDrawer.d.ts +33 -0
  117. package/dist/components/FormTemplateEditor/FieldDefinitionDrawer.d.ts.map +1 -0
  118. package/dist/components/FormTemplateEditor/FieldDefinitionDrawer.js +190 -0
  119. package/dist/components/FormTemplateEditor/FieldDefinitionDrawer.js.map +1 -0
  120. package/dist/components/FormTemplateEditor/FieldLibrary.css +1 -0
  121. package/dist/components/FormTemplateEditor/FieldLibrary.d.ts +17 -0
  122. package/dist/components/FormTemplateEditor/FieldLibrary.d.ts.map +1 -0
  123. package/dist/components/FormTemplateEditor/FieldLibrary.js +88 -0
  124. package/dist/components/FormTemplateEditor/FieldLibrary.js.map +1 -0
  125. package/dist/components/FormTemplateEditor/FieldLibrary.module.js +5 -0
  126. package/dist/components/FormTemplateEditor/FieldLibrary.module.js.map +1 -0
  127. package/dist/components/FormTemplateEditor/FieldLibrary.module.scss +12 -0
  128. package/dist/components/FormTemplateEditor/FieldLibraryRow.d.ts +19 -0
  129. package/dist/components/FormTemplateEditor/FieldLibraryRow.d.ts.map +1 -0
  130. package/dist/components/FormTemplateEditor/FieldLibraryRow.js +115 -0
  131. package/dist/components/FormTemplateEditor/FieldLibraryRow.js.map +1 -0
  132. package/dist/components/FormTemplateEditor/FieldValidationErrorAlert.css +1 -0
  133. package/dist/components/FormTemplateEditor/FieldValidationErrorAlert.d.ts +9 -0
  134. package/dist/components/FormTemplateEditor/FieldValidationErrorAlert.d.ts.map +1 -0
  135. package/dist/components/FormTemplateEditor/FieldValidationErrorAlert.js +18 -0
  136. package/dist/components/FormTemplateEditor/FieldValidationErrorAlert.js.map +1 -0
  137. package/dist/components/FormTemplateEditor/FieldValidationErrorAlert.module.js +5 -0
  138. package/dist/components/FormTemplateEditor/FieldValidationErrorAlert.module.js.map +1 -0
  139. package/dist/components/FormTemplateEditor/FieldValidationErrorAlert.module.scss +4 -0
  140. package/dist/components/FormTemplateEditor/FormStructurePanel.d.ts +21 -0
  141. package/dist/components/FormTemplateEditor/FormStructurePanel.d.ts.map +1 -0
  142. package/dist/components/FormTemplateEditor/FormStructurePanel.js +108 -0
  143. package/dist/components/FormTemplateEditor/FormStructurePanel.js.map +1 -0
  144. package/dist/components/FormTemplateEditor/FormTemplateEditor.d.ts +10 -0
  145. package/dist/components/FormTemplateEditor/FormTemplateEditor.d.ts.map +1 -0
  146. package/dist/components/FormTemplateEditor/FormTemplateEditor.js +31 -0
  147. package/dist/components/FormTemplateEditor/FormTemplateEditor.js.map +1 -0
  148. package/dist/components/FormTemplateEditor/FormTemplateEditorForm.d.ts +15 -0
  149. package/dist/components/FormTemplateEditor/FormTemplateEditorForm.d.ts.map +1 -0
  150. package/dist/components/FormTemplateEditor/FormTemplateEditorForm.js +234 -0
  151. package/dist/components/FormTemplateEditor/FormTemplateEditorForm.js.map +1 -0
  152. package/dist/components/FormTemplateEditor/FormTemplatePreview.d.ts +14 -0
  153. package/dist/components/FormTemplateEditor/FormTemplatePreview.d.ts.map +1 -0
  154. package/dist/components/FormTemplateEditor/FormTemplatePreview.js +72 -0
  155. package/dist/components/FormTemplateEditor/FormTemplatePreview.js.map +1 -0
  156. package/dist/components/FormTemplateEditor/JsonSchemaBodyEditor.d.ts +13 -0
  157. package/dist/components/FormTemplateEditor/JsonSchemaBodyEditor.d.ts.map +1 -0
  158. package/dist/components/FormTemplateEditor/JsonSchemaBodyEditor.js +33 -0
  159. package/dist/components/FormTemplateEditor/JsonSchemaBodyEditor.js.map +1 -0
  160. package/dist/components/FormTemplateEditor/StepCard.d.ts +25 -0
  161. package/dist/components/FormTemplateEditor/StepCard.d.ts.map +1 -0
  162. package/dist/components/FormTemplateEditor/StepCard.js +203 -0
  163. package/dist/components/FormTemplateEditor/StepCard.js.map +1 -0
  164. package/dist/components/FormTemplateEditor/StepFieldRow.d.ts +34 -0
  165. package/dist/components/FormTemplateEditor/StepFieldRow.d.ts.map +1 -0
  166. package/dist/components/FormTemplateEditor/StepFieldRow.js +128 -0
  167. package/dist/components/FormTemplateEditor/StepFieldRow.js.map +1 -0
  168. package/dist/components/FormTemplateEditor/TemplateFileHandleField.d.ts +19 -0
  169. package/dist/components/FormTemplateEditor/TemplateFileHandleField.d.ts.map +1 -0
  170. package/dist/components/FormTemplateEditor/TemplateFileHandleField.js +78 -0
  171. package/dist/components/FormTemplateEditor/TemplateFileHandleField.js.map +1 -0
  172. package/dist/components/FormTemplateEditor/dragHandle.css +1 -0
  173. package/dist/components/FormTemplateEditor/dragHandle.module.js +8 -0
  174. package/dist/components/FormTemplateEditor/dragHandle.module.js.map +1 -0
  175. package/dist/components/FormTemplateEditor/dragHandle.module.scss +22 -0
  176. package/dist/components/FormTemplateEditor/dropTarget.css +1 -0
  177. package/dist/components/FormTemplateEditor/dropTarget.module.js +5 -0
  178. package/dist/components/FormTemplateEditor/dropTarget.module.js.map +1 -0
  179. package/dist/components/FormTemplateEditor/dropTarget.module.scss +14 -0
  180. package/dist/components/FormTemplateEditor/formTemplateDraftState.d.ts +48 -0
  181. package/dist/components/FormTemplateEditor/formTemplateDraftState.d.ts.map +1 -0
  182. package/dist/components/FormTemplateEditor/formTemplateDraftState.js +126 -0
  183. package/dist/components/FormTemplateEditor/formTemplateDraftState.js.map +1 -0
  184. package/dist/components/FormTemplateEditor/formTemplateSchema.d.ts +35 -0
  185. package/dist/components/FormTemplateEditor/formTemplateSchema.d.ts.map +1 -0
  186. package/dist/components/FormTemplateEditor/formTemplateSchema.js +35 -0
  187. package/dist/components/FormTemplateEditor/formTemplateSchema.js.map +1 -0
  188. package/dist/components/FormTemplateEditor/formTemplateValidation.d.ts +32 -0
  189. package/dist/components/FormTemplateEditor/formTemplateValidation.d.ts.map +1 -0
  190. package/dist/components/FormTemplateEditor/formTemplateValidation.js +75 -0
  191. package/dist/components/FormTemplateEditor/formTemplateValidation.js.map +1 -0
  192. package/dist/components/FormTemplateEditor/schemaFieldUtils.d.ts +27 -0
  193. package/dist/components/FormTemplateEditor/schemaFieldUtils.d.ts.map +1 -0
  194. package/dist/components/FormTemplateEditor/schemaFieldUtils.js +84 -0
  195. package/dist/components/FormTemplateEditor/schemaFieldUtils.js.map +1 -0
  196. package/dist/components/FormTemplateEditor/sortableIds.d.ts +23 -0
  197. package/dist/components/FormTemplateEditor/sortableIds.d.ts.map +1 -0
  198. package/dist/components/FormTemplateEditor/sortableIds.js +24 -0
  199. package/dist/components/FormTemplateEditor/sortableIds.js.map +1 -0
  200. package/dist/components/FormTemplateEditor/useFormTemplateDraft.d.ts +33 -0
  201. package/dist/components/FormTemplateEditor/useFormTemplateDraft.d.ts.map +1 -0
  202. package/dist/components/FormTemplateEditor/useFormTemplateDraft.js +59 -0
  203. package/dist/components/FormTemplateEditor/useFormTemplateDraft.js.map +1 -0
  204. package/dist/components/FormTemplateEditor/useFormTemplateDrag.d.ts +9 -0
  205. package/dist/components/FormTemplateEditor/useFormTemplateDrag.d.ts.map +1 -0
  206. package/dist/components/FormTemplateEditor/useFormTemplateDrag.js +66 -0
  207. package/dist/components/FormTemplateEditor/useFormTemplateDrag.js.map +1 -0
  208. package/dist/components/FormTemplateEditor/useSaveFormTemplate.d.ts +28 -0
  209. package/dist/components/FormTemplateEditor/useSaveFormTemplate.d.ts.map +1 -0
  210. package/dist/components/FormTemplateEditor/useSaveFormTemplate.js +54 -0
  211. package/dist/components/FormTemplateEditor/useSaveFormTemplate.js.map +1 -0
  212. package/dist/components/FormTemplateEditor/utils.d.ts +21 -0
  213. package/dist/components/FormTemplateEditor/utils.d.ts.map +1 -0
  214. package/dist/components/FormTemplateEditor/utils.js +24 -0
  215. package/dist/components/FormTemplateEditor/utils.js.map +1 -0
  216. package/dist/components/JsonSchemaForm/CustomFormContext.d.ts +1 -1
  217. package/dist/components/JsonSchemaForm/CustomFormContext.d.ts.map +1 -1
  218. package/dist/components/JsonSchemaForm/JsonSchemaForm.css +1 -1
  219. package/dist/components/JsonSchemaForm/JsonSchemaForm.module.js +1 -1
  220. package/dist/components/JsonSchemaForm/JsonSchemaForm.module.js.map +1 -1
  221. package/dist/components/JsonSchemaForm/JsonSchemaForm.module.scss +6 -1
  222. package/dist/components/JsonSchemaForm/templates/RJSFInputLabel.d.ts.map +1 -1
  223. package/dist/components/JsonSchemaForm/templates/RJSFInputLabel.js +4 -0
  224. package/dist/components/JsonSchemaForm/templates/RJSFInputLabel.js.map +1 -1
  225. package/dist/components/JsonSchemaForm/widgets/SelectWidget.d.ts +11 -0
  226. package/dist/components/JsonSchemaForm/widgets/SelectWidget.d.ts.map +1 -1
  227. package/dist/components/JsonSchemaForm/widgets/SelectWidget.js +28 -19
  228. package/dist/components/JsonSchemaForm/widgets/SelectWidget.js.map +1 -1
  229. package/dist/components/QueryBuilder/FilterConditionRow.css +1 -1
  230. package/dist/components/QueryBuilder/FilterConditionRow.d.ts +3 -0
  231. package/dist/components/QueryBuilder/FilterConditionRow.d.ts.map +1 -1
  232. package/dist/components/QueryBuilder/FilterConditionRow.js +123 -123
  233. package/dist/components/QueryBuilder/FilterConditionRow.js.map +1 -1
  234. package/dist/components/QueryBuilder/FilterConditionRow.module.js +10 -11
  235. package/dist/components/QueryBuilder/FilterConditionRow.module.js.map +1 -1
  236. package/dist/components/QueryBuilder/FilterConditionRow.module.scss +0 -5
  237. package/dist/components/QueryBuilder/FilterGroupNode.css +1 -1
  238. package/dist/components/QueryBuilder/FilterGroupNode.d.ts +4 -0
  239. package/dist/components/QueryBuilder/FilterGroupNode.d.ts.map +1 -1
  240. package/dist/components/QueryBuilder/FilterGroupNode.js +85 -51
  241. package/dist/components/QueryBuilder/FilterGroupNode.js.map +1 -1
  242. package/dist/components/QueryBuilder/FilterGroupNode.module.js +10 -9
  243. package/dist/components/QueryBuilder/FilterGroupNode.module.js.map +1 -1
  244. package/dist/components/QueryBuilder/FilterGroupNode.module.scss +9 -0
  245. package/dist/components/QueryBuilder/QBDragHandle.d.ts +10 -0
  246. package/dist/components/QueryBuilder/QBDragHandle.d.ts.map +1 -0
  247. package/dist/components/QueryBuilder/QBDragHandle.js +22 -0
  248. package/dist/components/QueryBuilder/QBDragHandle.js.map +1 -0
  249. package/dist/components/QueryBuilder/QueryBuilderControls.d.ts.map +1 -1
  250. package/dist/components/QueryBuilder/QueryBuilderControls.js +120 -108
  251. package/dist/components/QueryBuilder/QueryBuilderControls.js.map +1 -1
  252. package/dist/components/QueryBuilder/QueryBuilderInternalContext.d.ts +7 -0
  253. package/dist/components/QueryBuilder/QueryBuilderInternalContext.d.ts.map +1 -1
  254. package/dist/components/QueryBuilder/QueryBuilderInternalContext.js.map +1 -1
  255. package/dist/components/QueryBuilder/qbTreeToReadable.d.ts +2 -1
  256. package/dist/components/QueryBuilder/qbTreeToReadable.d.ts.map +1 -1
  257. package/dist/components/QueryBuilder/qbTreeToReadable.js +25 -21
  258. package/dist/components/QueryBuilder/qbTreeToReadable.js.map +1 -1
  259. package/dist/components/QueryBuilder/queryBuilderDnd.d.ts +27 -0
  260. package/dist/components/QueryBuilder/queryBuilderDnd.d.ts.map +1 -0
  261. package/dist/components/QueryBuilder/queryBuilderDnd.js +41 -0
  262. package/dist/components/QueryBuilder/queryBuilderDnd.js.map +1 -0
  263. package/dist/components/QueryBuilder/queryBuilderDrag.css +1 -0
  264. package/dist/components/QueryBuilder/queryBuilderDrag.module.js +8 -0
  265. package/dist/components/QueryBuilder/queryBuilderDrag.module.js.map +1 -0
  266. package/dist/components/QueryBuilder/queryBuilderDrag.module.scss +12 -0
  267. package/dist/components/QueryBuilder/queryBuilderMetadata.d.ts +16 -0
  268. package/dist/components/QueryBuilder/queryBuilderMetadata.d.ts.map +1 -1
  269. package/dist/components/QueryBuilder/queryBuilderMetadata.js +13 -5
  270. package/dist/components/QueryBuilder/queryBuilderMetadata.js.map +1 -1
  271. package/dist/components/QueryBuilder/queryBuilderOperations.d.ts +13 -0
  272. package/dist/components/QueryBuilder/queryBuilderOperations.d.ts.map +1 -1
  273. package/dist/components/QueryBuilder/queryBuilderOperations.js +39 -36
  274. package/dist/components/QueryBuilder/queryBuilderOperations.js.map +1 -1
  275. package/dist/components/QueryBuilder/useQBValueDisplayName.d.ts +18 -0
  276. package/dist/components/QueryBuilder/useQBValueDisplayName.d.ts.map +1 -0
  277. package/dist/components/QueryBuilder/useQBValueDisplayName.js +64 -0
  278. package/dist/components/QueryBuilder/useQBValueDisplayName.js.map +1 -0
  279. package/dist/components/QueryWrapperPlotNav/QueryWrapperPlotNav.d.ts.map +1 -1
  280. package/dist/components/QueryWrapperPlotNav/QueryWrapperPlotNav.js +46 -47
  281. package/dist/components/QueryWrapperPlotNav/QueryWrapperPlotNav.js.map +1 -1
  282. package/dist/components/SynapseTable/RowSelection/RowSelectionControls.js +6 -6
  283. package/dist/components/SynapseTable/RowSelection/RowSelectionUI.d.ts +1 -0
  284. package/dist/components/SynapseTable/RowSelection/RowSelectionUI.d.ts.map +1 -1
  285. package/dist/components/SynapseTable/RowSelection/RowSelectionUI.js +13 -11
  286. package/dist/components/SynapseTable/RowSelection/RowSelectionUI.js.map +1 -1
  287. package/dist/components/SynapseTable/SearchV2.js +4 -4
  288. package/dist/components/ToastMessage/ToastMessage.d.ts.map +1 -1
  289. package/dist/components/ToastMessage/ToastMessage.js +25 -22
  290. package/dist/components/ToastMessage/ToastMessage.js.map +1 -1
  291. package/dist/components/dataaccess/FormTemplateEditorRoute.d.ts +7 -0
  292. package/dist/components/dataaccess/FormTemplateEditorRoute.d.ts.map +1 -0
  293. package/dist/components/dataaccess/FormTemplateEditorRoute.js +26 -0
  294. package/dist/components/dataaccess/FormTemplateEditorRoute.js.map +1 -0
  295. package/dist/components/dataaccess/FormTemplateTable.d.ts +10 -0
  296. package/dist/components/dataaccess/FormTemplateTable.d.ts.map +1 -0
  297. package/dist/components/dataaccess/FormTemplateTable.js +124 -0
  298. package/dist/components/dataaccess/FormTemplateTable.js.map +1 -0
  299. package/dist/components/dataaccess/ReviewerDashboard.d.ts.map +1 -1
  300. package/dist/components/dataaccess/ReviewerDashboard.js +80 -50
  301. package/dist/components/dataaccess/ReviewerDashboard.js.map +1 -1
  302. package/dist/components/dataaccess/UserAccessRequestHistory/InFlightEDucSignaturesTable.d.ts.map +1 -1
  303. package/dist/components/dataaccess/UserAccessRequestHistory/InFlightEDucSignaturesTable.js +2 -0
  304. package/dist/components/dataaccess/UserAccessRequestHistory/InFlightEDucSignaturesTable.js.map +1 -1
  305. package/dist/components/entity/page/title_bar/EntityPageTitleBar.d.ts +0 -1
  306. package/dist/components/entity/page/title_bar/EntityPageTitleBar.d.ts.map +1 -1
  307. package/dist/components/entity/page/title_bar/EntityPageTitleBar.js +35 -36
  308. package/dist/components/entity/page/title_bar/EntityPageTitleBar.js.map +1 -1
  309. package/dist/components/styled/LeftRightPanel.d.ts.map +1 -1
  310. package/dist/components/styled/LeftRightPanel.js +19 -2
  311. package/dist/components/styled/LeftRightPanel.js.map +1 -1
  312. package/dist/components/widgets/FileHandleLink.d.ts +12 -2
  313. package/dist/components/widgets/FileHandleLink.d.ts.map +1 -1
  314. package/dist/components/widgets/FileHandleLink.js +25 -29
  315. package/dist/components/widgets/FileHandleLink.js.map +1 -1
  316. package/dist/mocks/accessRequirement/mockFormTemplates.d.ts +4 -2
  317. package/dist/mocks/accessRequirement/mockFormTemplates.d.ts.map +1 -1
  318. package/dist/mocks/accessRequirement/mockFormTemplates.js +13 -14
  319. package/dist/mocks/accessRequirement/mockFormTemplates.js.map +1 -1
  320. package/dist/mocks/accessRequirement/mockJsonSchemas.d.ts +4 -1
  321. package/dist/mocks/accessRequirement/mockJsonSchemas.d.ts.map +1 -1
  322. package/dist/mocks/accessRequirement/mockJsonSchemas.js +24 -17
  323. package/dist/mocks/accessRequirement/mockJsonSchemas.js.map +1 -1
  324. package/dist/mocks/msw/handlers/asyncJobHandlers.d.ts +41 -14
  325. package/dist/mocks/msw/handlers/asyncJobHandlers.d.ts.map +1 -1
  326. package/dist/mocks/msw/handlers/asyncJobHandlers.js +53 -44
  327. package/dist/mocks/msw/handlers/asyncJobHandlers.js.map +1 -1
  328. package/dist/mocks/msw/handlers/authHandlers.d.ts +1 -0
  329. package/dist/mocks/msw/handlers/authHandlers.d.ts.map +1 -1
  330. package/dist/mocks/msw/handlers/authHandlers.js +6 -2
  331. package/dist/mocks/msw/handlers/authHandlers.js.map +1 -1
  332. package/dist/mocks/msw/handlers/chatHandlers.d.ts.map +1 -1
  333. package/dist/mocks/msw/handlers/chatHandlers.js +19 -13
  334. package/dist/mocks/msw/handlers/chatHandlers.js.map +1 -1
  335. package/dist/mocks/msw/handlers/dataAccessRequestHandlers.d.ts +2 -0
  336. package/dist/mocks/msw/handlers/dataAccessRequestHandlers.d.ts.map +1 -1
  337. package/dist/mocks/msw/handlers/dataAccessRequestHandlers.js +52 -46
  338. package/dist/mocks/msw/handlers/dataAccessRequestHandlers.js.map +1 -1
  339. package/dist/mocks/msw/handlers/fileHandlers.d.ts.map +1 -1
  340. package/dist/mocks/msw/handlers/fileHandlers.js +25 -21
  341. package/dist/mocks/msw/handlers/fileHandlers.js.map +1 -1
  342. package/dist/mocks/msw/handlers/formTemplateHandlers.d.ts +2 -1
  343. package/dist/mocks/msw/handlers/formTemplateHandlers.d.ts.map +1 -1
  344. package/dist/mocks/msw/handlers/formTemplateHandlers.js +18 -18
  345. package/dist/mocks/msw/handlers/formTemplateHandlers.js.map +1 -1
  346. package/dist/mocks/msw/handlers/schemaHandlers.d.ts +10 -1
  347. package/dist/mocks/msw/handlers/schemaHandlers.d.ts.map +1 -1
  348. package/dist/mocks/msw/handlers/schemaHandlers.js +30 -7
  349. package/dist/mocks/msw/handlers/schemaHandlers.js.map +1 -1
  350. package/dist/mocks/msw/handlers/searchQueryHandlers.d.ts.map +1 -1
  351. package/dist/mocks/msw/handlers/searchQueryHandlers.js +24 -18
  352. package/dist/mocks/msw/handlers/searchQueryHandlers.js.map +1 -1
  353. package/dist/mocks/msw/handlers/tableQueryHandlers.d.ts.map +1 -1
  354. package/dist/mocks/msw/handlers/tableQueryHandlers.js +35 -16
  355. package/dist/mocks/msw/handlers/tableQueryHandlers.js.map +1 -1
  356. package/dist/mocks/msw/handlers/twoFactorEnrollmentHandlers.d.ts +8 -0
  357. package/dist/mocks/msw/handlers/twoFactorEnrollmentHandlers.d.ts.map +1 -0
  358. package/dist/mocks/msw/handlers/twoFactorEnrollmentHandlers.js +19 -0
  359. package/dist/mocks/msw/handlers/twoFactorEnrollmentHandlers.js.map +1 -0
  360. package/dist/style/abstracts/_cssVariables.scss +13 -0
  361. package/dist/style/components/_toasts.scss +10 -1
  362. package/dist/style/main.css +1 -1
  363. package/dist/synapse-queries/KeyFactory.d.ts +9 -3
  364. package/dist/synapse-queries/KeyFactory.d.ts.map +1 -1
  365. package/dist/synapse-queries/KeyFactory.js +17 -7
  366. package/dist/synapse-queries/KeyFactory.js.map +1 -1
  367. package/dist/synapse-queries/auth/index.d.ts +1 -0
  368. package/dist/synapse-queries/auth/index.d.ts.map +1 -1
  369. package/dist/synapse-queries/auth/index.js +2 -1
  370. package/dist/synapse-queries/auth/useUnbindOAuthProviderIdentity.d.ts +11 -0
  371. package/dist/synapse-queries/auth/useUnbindOAuthProviderIdentity.d.ts.map +1 -0
  372. package/dist/synapse-queries/auth/useUnbindOAuthProviderIdentity.js +19 -0
  373. package/dist/synapse-queries/auth/useUnbindOAuthProviderIdentity.js.map +1 -0
  374. package/dist/synapse-queries/dataaccess/index.d.ts +0 -1
  375. package/dist/synapse-queries/dataaccess/index.d.ts.map +1 -1
  376. package/dist/synapse-queries/dataaccess/index.js +3 -4
  377. package/dist/synapse-queries/dataaccess/useEDuc.d.ts +18 -0
  378. package/dist/synapse-queries/dataaccess/useEDuc.d.ts.map +1 -1
  379. package/dist/synapse-queries/dataaccess/useEDuc.js +33 -1
  380. package/dist/synapse-queries/dataaccess/useEDuc.js.map +1 -1
  381. package/dist/synapse-queries/file/useDirectUploadToS3.js +6 -6
  382. package/dist/synapse-queries/file/useFileHandle.d.ts +8 -0
  383. package/dist/synapse-queries/file/useFileHandle.d.ts.map +1 -1
  384. package/dist/synapse-queries/file/useFileHandle.js +15 -6
  385. package/dist/synapse-queries/file/useFileHandle.js.map +1 -1
  386. package/dist/synapse-queries/index.js +260 -257
  387. package/dist/synapse-queries/jsonschema/index.js +2 -2
  388. package/dist/synapse-queries/jsonschema/useCreateJsonSchema.d.ts +9 -0
  389. package/dist/synapse-queries/jsonschema/useCreateJsonSchema.d.ts.map +1 -0
  390. package/dist/synapse-queries/jsonschema/useCreateJsonSchema.js +22 -0
  391. package/dist/synapse-queries/jsonschema/useCreateJsonSchema.js.map +1 -0
  392. package/dist/synapse-queries/jsonschema/useSchema.d.ts +5 -0
  393. package/dist/synapse-queries/jsonschema/useSchema.d.ts.map +1 -1
  394. package/dist/synapse-queries/jsonschema/useSchema.js +9 -1
  395. package/dist/synapse-queries/jsonschema/useSchema.js.map +1 -1
  396. package/dist/testutils/vitest.setup.js +18 -9
  397. package/dist/testutils/vitest.setup.js.map +1 -1
  398. package/dist/tsconfig.build.tsbuildinfo +1 -1
  399. package/dist/utils/APIConstants.d.ts +2 -0
  400. package/dist/utils/APIConstants.d.ts.map +1 -1
  401. package/dist/utils/APIConstants.js +2 -2
  402. package/dist/utils/APIConstants.js.map +1 -1
  403. package/dist/utils/appendFinalQueryParamKey.d.ts.map +1 -1
  404. package/dist/utils/appendFinalQueryParamKey.js +4 -1
  405. package/dist/utils/appendFinalQueryParamKey.js.map +1 -1
  406. package/dist/utils/featureflag/FeatureFlags.d.ts +2 -0
  407. package/dist/utils/featureflag/FeatureFlags.d.ts.map +1 -1
  408. package/dist/utils/featureflag/FeatureFlags.js +1 -1
  409. package/dist/utils/featureflag/FeatureFlags.js.map +1 -1
  410. package/dist/utils/functions/ArrayUtils.d.ts +3 -0
  411. package/dist/utils/functions/ArrayUtils.d.ts.map +1 -1
  412. package/dist/utils/functions/ArrayUtils.js +7 -1
  413. package/dist/utils/functions/ArrayUtils.js.map +1 -1
  414. package/dist/utils/functions/toPascalCase.d.ts +6 -0
  415. package/dist/utils/functions/toPascalCase.d.ts.map +1 -0
  416. package/dist/utils/functions/toPascalCase.js +8 -0
  417. package/dist/utils/functions/toPascalCase.js.map +1 -0
  418. package/dist/utils/jsonschema/generateDataAccessSchema.d.ts +26 -0
  419. package/dist/utils/jsonschema/generateDataAccessSchema.d.ts.map +1 -0
  420. package/dist/utils/jsonschema/generateDataAccessSchema.js +28 -0
  421. package/dist/utils/jsonschema/generateDataAccessSchema.js.map +1 -0
  422. package/dist/utils/jsonschema/submissionContext.d.ts +91 -0
  423. package/dist/utils/jsonschema/submissionContext.d.ts.map +1 -0
  424. package/dist/utils/jsonschema/submissionContext.js +178 -0
  425. package/dist/utils/jsonschema/submissionContext.js.map +1 -0
  426. package/package.json +13 -10
  427. package/dist/components/AccessRequirement/AddConditionsForUseButton/AddConditionsForUseButton.d.ts +0 -6
  428. package/dist/components/AccessRequirement/AddConditionsForUseButton/AddConditionsForUseButton.d.ts.map +0 -1
  429. package/dist/components/AccessRequirement/AddConditionsForUseButton/AddConditionsForUseButton.js +0 -32
  430. package/dist/components/AccessRequirement/AddConditionsForUseButton/AddConditionsForUseButton.js.map +0 -1
  431. package/dist/components/entity/page/title_bar/TitleBarProperties.d.ts +0 -9
  432. package/dist/components/entity/page/title_bar/TitleBarProperties.d.ts.map +0 -1
  433. package/dist/components/entity/page/title_bar/TitleBarProperties.js +0 -24
  434. package/dist/components/entity/page/title_bar/TitleBarProperties.js.map +0 -1
  435. package/dist/synapse-queries/dataaccess/useGenerateDataAccessSchema.d.ts +0 -21
  436. package/dist/synapse-queries/dataaccess/useGenerateDataAccessSchema.d.ts.map +0 -1
  437. package/dist/synapse-queries/dataaccess/useGenerateDataAccessSchema.js +0 -34
  438. package/dist/synapse-queries/dataaccess/useGenerateDataAccessSchema.js.map +0 -1
@@ -0,0 +1,115 @@
1
+ import { submissionContextLabel as e } from "../../utils/jsonschema/submissionContext.js";
2
+ import { detectFieldType as t, fieldTypeLabel as n } from "./schemaFieldUtils.js";
3
+ import r from "./dragHandle.module.js";
4
+ import { FIELD_DRAG_TYPE as i, fieldDragData as a } from "./sortableIds.js";
5
+ import { Box as o, Chip as s, Paper as c, Stack as l, Typography as u } from "@mui/material";
6
+ import { Fragment as d, jsx as f, jsxs as p } from "react/jsx-runtime";
7
+ import { DragIndicator as m } from "@mui/icons-material";
8
+ import { useDraggable as h } from "@dnd-kit/react";
9
+ //#region src/components/FormTemplateEditor/FieldLibraryRow.tsx
10
+ function g({ propertyKey: g, property: _, isRequired: v, context: y, isUsedInSteps: b, onClick: x }) {
11
+ let S = t(_), C = _.title || g, { ref: w, handleRef: T, isDragging: E } = h({
12
+ id: `field:${g}`,
13
+ type: i,
14
+ data: a(g),
15
+ disabled: b
16
+ });
17
+ return /* @__PURE__ */ f(c, {
18
+ ref: w,
19
+ variant: "outlined",
20
+ className: r.dragSource,
21
+ "data-dragging": E,
22
+ sx: { p: 1.25 },
23
+ children: /* @__PURE__ */ p(o, {
24
+ sx: {
25
+ display: "flex",
26
+ alignItems: "center",
27
+ gap: .5
28
+ },
29
+ children: [/* @__PURE__ */ f(o, {
30
+ ref: T,
31
+ role: "button",
32
+ tabIndex: b ? -1 : 0,
33
+ "aria-label": b ? "Already in a form step" : "Drag to add to a step",
34
+ className: r.dragHandle,
35
+ sx: {
36
+ color: b ? "text.disabled" : "text.secondary",
37
+ cursor: b ? "not-allowed" : void 0
38
+ },
39
+ children: /* @__PURE__ */ f(m, { fontSize: "small" })
40
+ }), /* @__PURE__ */ p(o, {
41
+ role: "button",
42
+ tabIndex: 0,
43
+ "aria-label": `Edit ${C}`,
44
+ onClick: x,
45
+ onKeyDown: (e) => {
46
+ (e.key === "Enter" || e.key === " ") && (e.preventDefault(), x());
47
+ },
48
+ sx: {
49
+ flexGrow: 1,
50
+ minWidth: 0,
51
+ display: "flex",
52
+ alignItems: "center",
53
+ gap: .5,
54
+ cursor: "pointer",
55
+ borderRadius: 1,
56
+ p: .5,
57
+ m: -.5,
58
+ "&:hover": { backgroundColor: "action.hover" }
59
+ },
60
+ children: [/* @__PURE__ */ p(o, {
61
+ sx: {
62
+ flexGrow: 1,
63
+ minWidth: 0
64
+ },
65
+ children: [/* @__PURE__ */ f(u, {
66
+ variant: "body2",
67
+ fontWeight: 500,
68
+ noWrap: !0,
69
+ title: C,
70
+ children: C
71
+ }), /* @__PURE__ */ p(l, {
72
+ direction: "row",
73
+ spacing: .5,
74
+ alignItems: "center",
75
+ sx: { mt: .25 },
76
+ children: [
77
+ /* @__PURE__ */ f(u, {
78
+ variant: "caption",
79
+ color: "text.secondary",
80
+ children: n(S)
81
+ }),
82
+ v && /* @__PURE__ */ p(d, { children: [/* @__PURE__ */ f(u, {
83
+ variant: "caption",
84
+ color: "text.secondary",
85
+ children: "·"
86
+ }), /* @__PURE__ */ f(u, {
87
+ variant: "caption",
88
+ color: "text.secondary",
89
+ children: "Required"
90
+ })] }),
91
+ y !== "ALWAYS" && /* @__PURE__ */ p(d, { children: [/* @__PURE__ */ f(u, {
92
+ variant: "caption",
93
+ color: "text.secondary",
94
+ children: "·"
95
+ }), /* @__PURE__ */ f(u, {
96
+ variant: "caption",
97
+ color: "text.secondary",
98
+ children: e(y)
99
+ })] })
100
+ ]
101
+ })]
102
+ }), /* @__PURE__ */ f(s, {
103
+ label: b ? "In form" : "Not in form",
104
+ size: "small",
105
+ color: b ? "success" : "warning",
106
+ variant: "outlined"
107
+ })]
108
+ })]
109
+ })
110
+ });
111
+ }
112
+ //#endregion
113
+ export { g as FieldLibraryRow };
114
+
115
+ //# sourceMappingURL=FieldLibraryRow.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"FieldLibraryRow.js","names":[],"sources":["../../../src/components/FormTemplateEditor/FieldLibraryRow.tsx"],"sourcesContent":["import { useDraggable } from '@dnd-kit/react'\nimport { Box, Chip, Paper, Stack, Typography } from '@mui/material'\nimport { DragIndicator as DragHandleIcon } from '@mui/icons-material'\nimport { RJSFSchema } from '@rjsf/utils'\nimport {\n SchemaPropertyContext,\n submissionContextLabel,\n} from '@/utils/jsonschema/submissionContext'\nimport styles from './dragHandle.module.scss'\nimport { detectFieldType, fieldTypeLabel } from './schemaFieldUtils'\nimport { FIELD_DRAG_TYPE, fieldDragData } from './sortableIds'\n\nexport type FieldLibraryRowProps = {\n propertyKey: string\n property: RJSFSchema\n isRequired: boolean\n /** Which submission context (per the schema's `x-synapse-submissionContext` convention)\n * gates this property. `ALWAYS` properties show no badge. */\n context: SchemaPropertyContext\n isUsedInSteps: boolean\n onClick: () => void\n}\n\n/**\n * A compact row in the field library. Click anywhere to edit the field's\n * definition; grab the drag indicator on the left to bind it to a step.\n * Rows already bound to a step are non-draggable.\n */\nexport function FieldLibraryRow({\n propertyKey,\n property,\n isRequired,\n context,\n isUsedInSteps,\n onClick,\n}: FieldLibraryRowProps) {\n const type = detectFieldType(property)\n const displayLabel = property.title || propertyKey\n\n const { ref, handleRef, isDragging } = useDraggable({\n id: `field:${propertyKey}`,\n type: FIELD_DRAG_TYPE,\n data: fieldDragData(propertyKey),\n disabled: isUsedInSteps,\n })\n\n return (\n <Paper\n ref={ref}\n variant=\"outlined\"\n className={styles.dragSource}\n data-dragging={isDragging}\n sx={{ p: 1.25 }}\n >\n <Box sx={{ display: 'flex', alignItems: 'center', gap: 0.5 }}>\n <Box\n ref={handleRef}\n role=\"button\"\n tabIndex={isUsedInSteps ? -1 : 0}\n aria-label={\n isUsedInSteps ? 'Already in a form step' : 'Drag to add to a step'\n }\n className={styles.dragHandle}\n sx={{\n color: isUsedInSteps ? 'text.disabled' : 'text.secondary',\n cursor: isUsedInSteps ? 'not-allowed' : undefined,\n }}\n >\n <DragHandleIcon fontSize=\"small\" />\n </Box>\n <Box\n role=\"button\"\n tabIndex={0}\n aria-label={`Edit ${displayLabel}`}\n onClick={onClick}\n onKeyDown={e => {\n if (e.key === 'Enter' || e.key === ' ') {\n e.preventDefault()\n onClick()\n }\n }}\n sx={{\n flexGrow: 1,\n minWidth: 0,\n display: 'flex',\n alignItems: 'center',\n gap: 0.5,\n cursor: 'pointer',\n borderRadius: 1,\n p: 0.5,\n m: -0.5,\n '&:hover': { backgroundColor: 'action.hover' },\n }}\n >\n <Box sx={{ flexGrow: 1, minWidth: 0 }}>\n <Typography\n variant=\"body2\"\n fontWeight={500}\n noWrap\n title={displayLabel}\n >\n {displayLabel}\n </Typography>\n <Stack\n direction=\"row\"\n spacing={0.5}\n alignItems=\"center\"\n sx={{ mt: 0.25 }}\n >\n <Typography variant=\"caption\" color=\"text.secondary\">\n {fieldTypeLabel(type)}\n </Typography>\n {isRequired && (\n <>\n <Typography variant=\"caption\" color=\"text.secondary\">\n ·\n </Typography>\n <Typography variant=\"caption\" color=\"text.secondary\">\n Required\n </Typography>\n </>\n )}\n {context !== 'ALWAYS' && (\n <>\n <Typography variant=\"caption\" color=\"text.secondary\">\n ·\n </Typography>\n <Typography variant=\"caption\" color=\"text.secondary\">\n {submissionContextLabel(context)}\n </Typography>\n </>\n )}\n </Stack>\n </Box>\n <Chip\n label={isUsedInSteps ? 'In form' : 'Not in form'}\n size=\"small\"\n color={isUsedInSteps ? 'success' : 'warning'}\n variant=\"outlined\"\n />\n </Box>\n </Box>\n </Paper>\n )\n}\n"],"mappings":";;;;;;;;;AA4BA,SAAgB,EAAgB,EAC9B,gBACA,aACA,eACA,YACA,kBACA,cACuB;CACvB,IAAM,IAAO,EAAgB,CAAQ,GAC/B,IAAe,EAAS,SAAS,GAEjC,EAAE,QAAK,cAAW,kBAAe,EAAa;EAClD,IAAI,SAAS;EACb,MAAM;EACN,MAAM,EAAc,CAAW;EAC/B,UAAU;CACZ,CAAC;CAED,OACE,kBAAC,GAAD;EACO;EACL,SAAQ;EACR,WAAW,EAAO;EAClB,iBAAe;EACf,IAAI,EAAE,GAAG,KAAK;YAEd,kBAAC,GAAD;GAAK,IAAI;IAAE,SAAS;IAAQ,YAAY;IAAU,KAAK;GAAI;aAA3D,CACE,kBAAC,GAAD;IACE,KAAK;IACL,MAAK;IACL,UAAU,IAAgB,KAAK;IAC/B,cACE,IAAgB,2BAA2B;IAE7C,WAAW,EAAO;IAClB,IAAI;KACF,OAAO,IAAgB,kBAAkB;KACzC,QAAQ,IAAgB,gBAAgB,KAAA;IAC1C;cAEA,kBAAC,GAAD,EAAgB,UAAS,QAAS,CAAA;GAC/B,CAAA,GACL,kBAAC,GAAD;IACE,MAAK;IACL,UAAU;IACV,cAAY,QAAQ;IACX;IACT,YAAW,MAAK;KACd,CAAI,EAAE,QAAQ,WAAW,EAAE,QAAQ,SACjC,EAAE,eAAe,GACjB,EAAQ;IAEZ;IACA,IAAI;KACF,UAAU;KACV,UAAU;KACV,SAAS;KACT,YAAY;KACZ,KAAK;KACL,QAAQ;KACR,cAAc;KACd,GAAG;KACH,GAAG;KACH,WAAW,EAAE,iBAAiB,eAAe;IAC/C;cAtBF,CAwBE,kBAAC,GAAD;KAAK,IAAI;MAAE,UAAU;MAAG,UAAU;KAAE;eAApC,CACE,kBAAC,GAAD;MACE,SAAQ;MACR,YAAY;MACZ,QAAA;MACA,OAAO;gBAEN;KACS,CAAA,GACZ,kBAAC,GAAD;MACE,WAAU;MACV,SAAS;MACT,YAAW;MACX,IAAI,EAAE,IAAI,IAAK;gBAJjB;OAME,kBAAC,GAAD;QAAY,SAAQ;QAAU,OAAM;kBACjC,EAAe,CAAI;OACV,CAAA;OACX,KACC,kBAAA,GAAA,EAAA,UAAA,CACE,kBAAC,GAAD;QAAY,SAAQ;QAAU,OAAM;kBAAiB;OAEzC,CAAA,GACZ,kBAAC,GAAD;QAAY,SAAQ;QAAU,OAAM;kBAAiB;OAEzC,CAAA,CACZ,EAAA,CAAA;OAEH,MAAY,YACX,kBAAA,GAAA,EAAA,UAAA,CACE,kBAAC,GAAD;QAAY,SAAQ;QAAU,OAAM;kBAAiB;OAEzC,CAAA,GACZ,kBAAC,GAAD;QAAY,SAAQ;QAAU,OAAM;kBACjC,EAAuB,CAAO;OACrB,CAAA,CACZ,EAAA,CAAA;MAEC;OACJ;QACL,kBAAC,GAAD;KACE,OAAO,IAAgB,YAAY;KACnC,MAAK;KACL,OAAO,IAAgB,YAAY;KACnC,SAAQ;IACT,CAAA,CACE;KACF;;CACA,CAAA;AAEX"}
@@ -0,0 +1 @@
1
+ ._errorList_705k9_1{margin:0;padding-left:1.25em}
@@ -0,0 +1,9 @@
1
+ import { PropsWithChildren } from 'react';
2
+ import { FormTemplateFieldValidationError } from './formTemplateValidation';
3
+ type FieldValidationErrorAlertProps = PropsWithChildren<{
4
+ errors: FormTemplateFieldValidationError[];
5
+ }>;
6
+ /** Lists template field validation errors, after an optional lead-in passed as children. */
7
+ export declare function FieldValidationErrorAlert({ errors, children, }: FieldValidationErrorAlertProps): import("react/jsx-runtime").JSX.Element;
8
+ export {};
9
+ //# sourceMappingURL=FieldValidationErrorAlert.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"FieldValidationErrorAlert.d.ts","sourceRoot":"","sources":["../../../src/components/FormTemplateEditor/FieldValidationErrorAlert.tsx"],"names":[],"mappings":"AACA,OAAO,EAAE,iBAAiB,EAAE,MAAM,OAAO,CAAA;AACzC,OAAO,EAAE,gCAAgC,EAAE,MAAM,0BAA0B,CAAA;AAG3E,KAAK,8BAA8B,GAAG,iBAAiB,CAAC;IACtD,MAAM,EAAE,gCAAgC,EAAE,CAAA;CAC3C,CAAC,CAAA;AAEF,4FAA4F;AAC5F,wBAAgB,yBAAyB,CAAC,EACxC,MAAM,EACN,QAAQ,GACT,EAAE,8BAA8B,2CAWhC"}
@@ -0,0 +1,18 @@
1
+ import e from "./FieldValidationErrorAlert.module.js";
2
+ import { Alert as t } from "@mui/material";
3
+ import { jsx as n, jsxs as r } from "react/jsx-runtime";
4
+ //#region src/components/FormTemplateEditor/FieldValidationErrorAlert.tsx
5
+ function i({ errors: i, children: a }) {
6
+ return /* @__PURE__ */ r(t, {
7
+ severity: "error",
8
+ sx: { mt: 2 },
9
+ children: [a, /* @__PURE__ */ n("ul", {
10
+ className: e.errorList,
11
+ children: i.map((e, t) => /* @__PURE__ */ n("li", { children: e.message }, t))
12
+ })]
13
+ });
14
+ }
15
+ //#endregion
16
+ export { i as FieldValidationErrorAlert };
17
+
18
+ //# sourceMappingURL=FieldValidationErrorAlert.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"FieldValidationErrorAlert.js","names":[],"sources":["../../../src/components/FormTemplateEditor/FieldValidationErrorAlert.tsx"],"sourcesContent":["import { Alert } from '@mui/material'\nimport { PropsWithChildren } from 'react'\nimport { FormTemplateFieldValidationError } from './formTemplateValidation'\nimport styles from './FieldValidationErrorAlert.module.scss'\n\ntype FieldValidationErrorAlertProps = PropsWithChildren<{\n errors: FormTemplateFieldValidationError[]\n}>\n\n/** Lists template field validation errors, after an optional lead-in passed as children. */\nexport function FieldValidationErrorAlert({\n errors,\n children,\n}: FieldValidationErrorAlertProps) {\n return (\n <Alert severity=\"error\" sx={{ mt: 2 }}>\n {children}\n <ul className={styles.errorList}>\n {errors.map((e, i) => (\n <li key={i}>{e.message}</li>\n ))}\n </ul>\n </Alert>\n )\n}\n"],"mappings":";;;;AAUA,SAAgB,EAA0B,EACxC,WACA,eACiC;CACjC,OACE,kBAAC,GAAD;EAAO,UAAS;EAAQ,IAAI,EAAE,IAAI,EAAE;YAApC,CACG,GACD,kBAAC,MAAD;GAAI,WAAW,EAAO;aACnB,EAAO,KAAK,GAAG,MACd,kBAAC,MAAD,EAAA,UAAa,EAAE,QAAY,GAAlB,CAAkB,CAC5B;EACC,CAAA,CACC;;AAEX"}
@@ -0,0 +1,5 @@
1
+ import './FieldValidationErrorAlert.css';var e = { errorList: "_errorList_705k9_1" };
2
+ //#endregion
3
+ export { e as default };
4
+
5
+ //# sourceMappingURL=FieldValidationErrorAlert.module.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"FieldValidationErrorAlert.module.js","names":[],"sources":["../../../src/components/FormTemplateEditor/FieldValidationErrorAlert.module.scss"],"sourcesContent":[".errorList {\n margin: 0;\n padding-left: 1.25em;\n}\n"],"mappings":""}
@@ -0,0 +1,4 @@
1
+ .errorList {
2
+ margin: 0;
3
+ padding-left: 1.25em;
4
+ }
@@ -0,0 +1,21 @@
1
+ import { RJSFSchema } from '@rjsf/utils';
2
+ import { ResolvedSchemaProperty } from '@/utils/jsonschema/submissionContext';
3
+ import { EditableFormTemplateStep } from './utils';
4
+ export type FormStructurePanelProps = {
5
+ steps: EditableFormTemplateStep[];
6
+ jsonSchema: RJSFSchema;
7
+ /** Properties not yet bound to any step in the template. */
8
+ unboundProperties: ResolvedSchemaProperty[];
9
+ /** The FormTemplate's id, if it has been saved. Threaded down to file-field template uploads. */
10
+ formTemplateId: string | undefined;
11
+ onStepsChange: (next: EditableFormTemplateStep[]) => void;
12
+ onBindField: (propertyKey: string, stepKey: string) => void;
13
+ };
14
+ /**
15
+ * Right pane: the multi-step form structure. Steps are collapsible cards;
16
+ * each step contains a list of field slots (with inline-expand for slot config)
17
+ * and a "Bind field" dropdown listing any library fields not yet bound to a
18
+ * step.
19
+ */
20
+ export declare function FormStructurePanel({ steps, jsonSchema, unboundProperties, formTemplateId, onStepsChange, onBindField, }: FormStructurePanelProps): import("react/jsx-runtime").JSX.Element;
21
+ //# sourceMappingURL=FormStructurePanel.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"FormStructurePanel.d.ts","sourceRoot":"","sources":["../../../src/components/FormTemplateEditor/FormStructurePanel.tsx"],"names":[],"mappings":"AAIA,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAA;AACxC,OAAO,EAEL,sBAAsB,EACvB,MAAM,sCAAsC,CAAA;AAE7C,OAAO,EAGL,wBAAwB,EAEzB,MAAM,SAAS,CAAA;AAEhB,MAAM,MAAM,uBAAuB,GAAG;IACpC,KAAK,EAAE,wBAAwB,EAAE,CAAA;IACjC,UAAU,EAAE,UAAU,CAAA;IACtB,4DAA4D;IAC5D,iBAAiB,EAAE,sBAAsB,EAAE,CAAA;IAC3C,iGAAiG;IACjG,cAAc,EAAE,MAAM,GAAG,SAAS,CAAA;IAClC,aAAa,EAAE,CAAC,IAAI,EAAE,wBAAwB,EAAE,KAAK,IAAI,CAAA;IACzD,WAAW,EAAE,CAAC,WAAW,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,KAAK,IAAI,CAAA;CAC5D,CAAA;AAED;;;;;GAKG;AACH,wBAAgB,kBAAkB,CAAC,EACjC,KAAK,EACL,UAAU,EACV,iBAAiB,EACjB,cAAc,EACd,aAAa,EACb,WAAW,GACZ,EAAE,uBAAuB,2CAgGzB"}
@@ -0,0 +1,108 @@
1
+ import { moveItem as e } from "../../utils/functions/ArrayUtils.js";
2
+ import { propertyKeyToPointer as t } from "../../utils/jsonschema/submissionContext.js";
3
+ import { createEditableStep as n } from "./utils.js";
4
+ import { StepCard as r } from "./StepCard.js";
5
+ import { Alert as i, Box as a, Button as o, Paper as s, Stack as c, Typography as l } from "@mui/material";
6
+ import { jsx as u, jsxs as d } from "react/jsx-runtime";
7
+ import { Add as f } from "@mui/icons-material";
8
+ import p from "pluralize";
9
+ //#region src/components/FormTemplateEditor/FormStructurePanel.tsx
10
+ function m({ steps: m, jsonSchema: h, unboundProperties: g, formTemplateId: _, onStepsChange: v, onBindField: y }) {
11
+ let b = (e, t) => {
12
+ v(m.map((n, r) => r === e ? {
13
+ ...n,
14
+ ...t
15
+ } : n));
16
+ }, x = () => {
17
+ v([...m, n()]);
18
+ }, S = (e) => {
19
+ v(m.filter((t, n) => n !== e));
20
+ }, C = (t, n) => {
21
+ v(e(m, t, n));
22
+ }, w = g.filter((e) => e.isRequired), T = g.filter((e) => !e.isRequired);
23
+ return /* @__PURE__ */ d(s, {
24
+ variant: "outlined",
25
+ sx: {
26
+ p: 2,
27
+ height: "100%"
28
+ },
29
+ children: [
30
+ /* @__PURE__ */ d(a, {
31
+ sx: {
32
+ mb: 1.5,
33
+ display: "flex",
34
+ justifyContent: "space-between",
35
+ alignItems: "flex-start",
36
+ gap: 1
37
+ },
38
+ children: [/* @__PURE__ */ d(a, { children: [/* @__PURE__ */ u(l, {
39
+ variant: "subtitle2",
40
+ children: "Steps"
41
+ }), /* @__PURE__ */ u(l, {
42
+ variant: "caption",
43
+ color: "text.secondary",
44
+ children: "Arrange fields into pages requesters will fill out in order."
45
+ })] }), /* @__PURE__ */ u(o, {
46
+ size: "small",
47
+ variant: "outlined",
48
+ startIcon: /* @__PURE__ */ u(f, {}),
49
+ onClick: x,
50
+ children: "Add step"
51
+ })]
52
+ }),
53
+ w.length > 0 && /* @__PURE__ */ d(i, {
54
+ severity: "error",
55
+ sx: { mb: 1.5 },
56
+ children: [
57
+ p("required field", w.length, !0),
58
+ " ",
59
+ p("is", w.length),
60
+ " not bound to a step and must be bound before saving:",
61
+ " ",
62
+ w.map((e) => e.subSchema.title ?? t(e.propertyKey)).join(", "),
63
+ "."
64
+ ]
65
+ }),
66
+ T.length > 0 && /* @__PURE__ */ d(i, {
67
+ severity: "warning",
68
+ sx: { mb: 1.5 },
69
+ children: [
70
+ p("field", T.length, !0),
71
+ " ",
72
+ p("is", T.length),
73
+ " not yet bound to a step. Use a step's \"",
74
+ "Bind field",
75
+ "\" dropdown to add",
76
+ " ",
77
+ T.length === 1 ? "it" : "them",
78
+ "."
79
+ ]
80
+ }),
81
+ /* @__PURE__ */ u(c, {
82
+ spacing: 1.5,
83
+ children: m.length === 0 ? /* @__PURE__ */ u(i, {
84
+ severity: "info",
85
+ children: "No steps yet. Click \"Add step\" to create the first one."
86
+ }) : m.map((e, t) => /* @__PURE__ */ u(r, {
87
+ step: e,
88
+ stepIndex: t,
89
+ isFirst: t === 0,
90
+ isLast: t === m.length - 1,
91
+ unboundProperties: g,
92
+ jsonSchema: h,
93
+ formTemplateId: _,
94
+ defaultExpanded: t === 0,
95
+ onChange: (e) => b(t, e),
96
+ onBindField: (t) => y(t, e.uiKey),
97
+ onMoveUp: () => C(t, -1),
98
+ onMoveDown: () => C(t, 1),
99
+ onRemove: () => S(t)
100
+ }, e.uiKey))
101
+ })
102
+ ]
103
+ });
104
+ }
105
+ //#endregion
106
+ export { m as FormStructurePanel };
107
+
108
+ //# sourceMappingURL=FormStructurePanel.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"FormStructurePanel.js","names":[],"sources":["../../../src/components/FormTemplateEditor/FormStructurePanel.tsx"],"sourcesContent":["import { FormTemplateStep } from '@sage-bionetworks/synapse-client'\nimport { Alert, Box, Button, Paper, Stack, Typography } from '@mui/material'\nimport { Add as AddIcon } from '@mui/icons-material'\nimport pluralize from 'pluralize'\nimport { RJSFSchema } from '@rjsf/utils'\nimport {\n propertyKeyToPointer,\n ResolvedSchemaProperty,\n} from '@/utils/jsonschema/submissionContext'\nimport { StepCard } from './StepCard'\nimport {\n BIND_FIELD_LABEL,\n createEditableStep,\n EditableFormTemplateStep,\n moveItem,\n} from './utils'\n\nexport type FormStructurePanelProps = {\n steps: EditableFormTemplateStep[]\n jsonSchema: RJSFSchema\n /** Properties not yet bound to any step in the template. */\n unboundProperties: ResolvedSchemaProperty[]\n /** The FormTemplate's id, if it has been saved. Threaded down to file-field template uploads. */\n formTemplateId: string | undefined\n onStepsChange: (next: EditableFormTemplateStep[]) => void\n onBindField: (propertyKey: string, stepKey: string) => void\n}\n\n/**\n * Right pane: the multi-step form structure. Steps are collapsible cards;\n * each step contains a list of field slots (with inline-expand for slot config)\n * and a \"Bind field\" dropdown listing any library fields not yet bound to a\n * step.\n */\nexport function FormStructurePanel({\n steps,\n jsonSchema,\n unboundProperties,\n formTemplateId,\n onStepsChange,\n onBindField,\n}: FormStructurePanelProps) {\n const handleStepChange = (idx: number, patch: Partial<FormTemplateStep>) => {\n onStepsChange(steps.map((s, i) => (i === idx ? { ...s, ...patch } : s)))\n }\n\n const handleAddStep = () => {\n onStepsChange([...steps, createEditableStep()])\n }\n\n const handleRemoveStep = (idx: number) => {\n onStepsChange(steps.filter((_, i) => i !== idx))\n }\n\n const handleMoveStep = (idx: number, direction: -1 | 1) => {\n onStepsChange(moveItem(steps, idx, direction))\n }\n\n const requiredUnbound = unboundProperties.filter(p => p.isRequired)\n const optionalUnbound = unboundProperties.filter(p => !p.isRequired)\n\n return (\n <Paper variant=\"outlined\" sx={{ p: 2, height: '100%' }}>\n <Box\n sx={{\n mb: 1.5,\n display: 'flex',\n justifyContent: 'space-between',\n alignItems: 'flex-start',\n gap: 1,\n }}\n >\n <Box>\n <Typography variant=\"subtitle2\">Steps</Typography>\n <Typography variant=\"caption\" color=\"text.secondary\">\n Arrange fields into pages requesters will fill out in order.\n </Typography>\n </Box>\n <Button\n size=\"small\"\n variant=\"outlined\"\n startIcon={<AddIcon />}\n onClick={handleAddStep}\n >\n Add step\n </Button>\n </Box>\n\n {requiredUnbound.length > 0 && (\n <Alert severity=\"error\" sx={{ mb: 1.5 }}>\n {pluralize('required field', requiredUnbound.length, true)}{' '}\n {pluralize('is', requiredUnbound.length)} not bound to a step and must\n be bound before saving:{' '}\n {requiredUnbound\n .map(p => p.subSchema.title ?? propertyKeyToPointer(p.propertyKey))\n .join(', ')}\n .\n </Alert>\n )}\n\n {optionalUnbound.length > 0 && (\n <Alert severity=\"warning\" sx={{ mb: 1.5 }}>\n {pluralize('field', optionalUnbound.length, true)}{' '}\n {pluralize('is', optionalUnbound.length)} not yet bound to a step. Use\n a step's \"{BIND_FIELD_LABEL}\" dropdown to add{' '}\n {optionalUnbound.length === 1 ? 'it' : 'them'}.\n </Alert>\n )}\n\n <Stack spacing={1.5}>\n {steps.length === 0 ? (\n <Alert severity=\"info\">\n No steps yet. Click \"Add step\" to create the first one.\n </Alert>\n ) : (\n steps.map((step, stepIdx) => (\n <StepCard\n key={step.uiKey}\n step={step}\n stepIndex={stepIdx}\n isFirst={stepIdx === 0}\n isLast={stepIdx === steps.length - 1}\n unboundProperties={unboundProperties}\n jsonSchema={jsonSchema}\n formTemplateId={formTemplateId}\n defaultExpanded={stepIdx === 0}\n onChange={patch => handleStepChange(stepIdx, patch)}\n onBindField={propertyKey => onBindField(propertyKey, step.uiKey)}\n onMoveUp={() => handleMoveStep(stepIdx, -1)}\n onMoveDown={() => handleMoveStep(stepIdx, 1)}\n onRemove={() => handleRemoveStep(stepIdx)}\n />\n ))\n )}\n </Stack>\n </Paper>\n )\n}\n"],"mappings":";;;;;;;;;AAkCA,SAAgB,EAAmB,EACjC,UACA,eACA,sBACA,mBACA,kBACA,kBAC0B;CAC1B,IAAM,KAAoB,GAAa,MAAqC;EAC1E,EAAc,EAAM,KAAK,GAAG,MAAO,MAAM,IAAM;GAAE,GAAG;GAAG,GAAG;EAAM,IAAI,CAAE,CAAC;CACzE,GAEM,UAAsB;EAC1B,EAAc,CAAC,GAAG,GAAO,EAAmB,CAAC,CAAC;CAChD,GAEM,KAAoB,MAAgB;EACxC,EAAc,EAAM,QAAQ,GAAG,MAAM,MAAM,CAAG,CAAC;CACjD,GAEM,KAAkB,GAAa,MAAsB;EACzD,EAAc,EAAS,GAAO,GAAK,CAAS,CAAC;CAC/C,GAEM,IAAkB,EAAkB,QAAO,MAAK,EAAE,UAAU,GAC5D,IAAkB,EAAkB,QAAO,MAAK,CAAC,EAAE,UAAU;CAEnE,OACE,kBAAC,GAAD;EAAO,SAAQ;EAAW,IAAI;GAAE,GAAG;GAAG,QAAQ;EAAO;YAArD;GACE,kBAAC,GAAD;IACE,IAAI;KACF,IAAI;KACJ,SAAS;KACT,gBAAgB;KAChB,YAAY;KACZ,KAAK;IACP;cAPF,CASE,kBAAC,GAAD,EAAA,UAAA,CACE,kBAAC,GAAD;KAAY,SAAQ;eAAY;IAAiB,CAAA,GACjD,kBAAC,GAAD;KAAY,SAAQ;KAAU,OAAM;eAAiB;IAEzC,CAAA,CACT,EAAA,CAAA,GACL,kBAAC,GAAD;KACE,MAAK;KACL,SAAQ;KACR,WAAW,kBAAC,GAAD,CAAU,CAAA;KACrB,SAAS;eACV;IAEO,CAAA,CACL;;GAEJ,EAAgB,SAAS,KACxB,kBAAC,GAAD;IAAO,UAAS;IAAQ,IAAI,EAAE,IAAI,IAAI;cAAtC;KACG,EAAU,kBAAkB,EAAgB,QAAQ,EAAI;KAAG;KAC3D,EAAU,MAAM,EAAgB,MAAM;KAAE;KACjB;KACvB,EACE,KAAI,MAAK,EAAE,UAAU,SAAS,EAAqB,EAAE,WAAW,CAAC,EACjE,KAAK,IAAI;KAAE;IAET;;GAGR,EAAgB,SAAS,KACxB,kBAAC,GAAD;IAAO,UAAS;IAAU,IAAI,EAAE,IAAI,IAAI;cAAxC;KACG,EAAU,SAAS,EAAgB,QAAQ,EAAI;KAAG;KAClD,EAAU,MAAM,EAAgB,MAAM;KAAE;;KACb;KAAkB;KAC7C,EAAgB,WAAW,IAAI,OAAO;KAAO;IACzC;;GAGT,kBAAC,GAAD;IAAO,SAAS;cACb,EAAM,WAAW,IAChB,kBAAC,GAAD;KAAO,UAAS;eAAO;IAEhB,CAAA,IAEP,EAAM,KAAK,GAAM,MACf,kBAAC,GAAD;KAEQ;KACN,WAAW;KACX,SAAS,MAAY;KACrB,QAAQ,MAAY,EAAM,SAAS;KAChB;KACP;KACI;KAChB,iBAAiB,MAAY;KAC7B,WAAU,MAAS,EAAiB,GAAS,CAAK;KAClD,cAAa,MAAe,EAAY,GAAa,EAAK,KAAK;KAC/D,gBAAgB,EAAe,GAAS,EAAE;KAC1C,kBAAkB,EAAe,GAAS,CAAC;KAC3C,gBAAgB,EAAiB,CAAO;IACzC,GAdM,EAAK,KAcX,CACF;GAEE,CAAA;EACF;;AAEX"}
@@ -0,0 +1,10 @@
1
+ import { FormTemplate } from '@sage-bionetworks/synapse-client';
2
+ export type FormTemplateEditorProps = {
3
+ /** Existing template to open for editing, or undefined to create a new one. */
4
+ templateId?: string;
5
+ /** Called after the template is successfully created or a new version is saved. */
6
+ onSaved?: (template: FormTemplate) => void;
7
+ onCancel?: () => void;
8
+ };
9
+ export declare function FormTemplateEditor({ templateId, onSaved, onCancel, }: FormTemplateEditorProps): import("react/jsx-runtime").JSX.Element;
10
+ //# sourceMappingURL=FormTemplateEditor.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"FormTemplateEditor.d.ts","sourceRoot":"","sources":["../../../src/components/FormTemplateEditor/FormTemplateEditor.tsx"],"names":[],"mappings":"AAcA,OAAO,EAAE,YAAY,EAAE,MAAM,kCAAkC,CAAA;AAG/D,MAAM,MAAM,uBAAuB,GAAG;IACpC,+EAA+E;IAC/E,UAAU,CAAC,EAAE,MAAM,CAAA;IACnB,mFAAmF;IACnF,OAAO,CAAC,EAAE,CAAC,QAAQ,EAAE,YAAY,KAAK,IAAI,CAAA;IAC1C,QAAQ,CAAC,EAAE,MAAM,IAAI,CAAA;CACtB,CAAA;AAED,wBAAgB,kBAAkB,CAAC,EACjC,UAAU,EACV,OAAO,EACP,QAAQ,GACT,EAAE,uBAAuB,2CA0CzB"}
@@ -0,0 +1,31 @@
1
+ import { SynapseSpinner as e } from "../LoadingScreen/LoadingScreen.js";
2
+ import { useGetFormTemplate as t } from "../../synapse-queries/dataaccess/useFormTemplate.js";
3
+ import { useGetRegisteredSchema as n } from "../../synapse-queries/jsonschema/useSchema.js";
4
+ import { FormTemplateEditorForm as r } from "./FormTemplateEditorForm.js";
5
+ import { Alert as i, Paper as a } from "@mui/material";
6
+ import { jsx as o, jsxs as s } from "react/jsx-runtime";
7
+ //#region src/components/FormTemplateEditor/FormTemplateEditor.tsx
8
+ function c({ templateId: c, onSaved: l, onCancel: u }) {
9
+ let { data: d, isLoading: f, error: p } = t(c), { data: m, isLoading: h, error: g } = n(d?.schema$id ?? "", { enabled: !!d?.schema$id });
10
+ if (c && (f || d && h)) return /* @__PURE__ */ o(a, {
11
+ sx: { p: 3 },
12
+ children: /* @__PURE__ */ o(e, { size: 40 })
13
+ });
14
+ let _ = p ?? g;
15
+ return _ ? /* @__PURE__ */ o(a, {
16
+ sx: { p: 3 },
17
+ children: /* @__PURE__ */ s(i, {
18
+ severity: "error",
19
+ children: ["Could not load the form template: ", _.reason ?? _.message]
20
+ })
21
+ }) : /* @__PURE__ */ o(r, {
22
+ initialTemplate: d,
23
+ initialJsonSchema: m,
24
+ onSaved: l,
25
+ onCancel: u
26
+ });
27
+ }
28
+ //#endregion
29
+ export { c as FormTemplateEditor };
30
+
31
+ //# sourceMappingURL=FormTemplateEditor.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"FormTemplateEditor.js","names":[],"sources":["../../../src/components/FormTemplateEditor/FormTemplateEditor.tsx"],"sourcesContent":["/*\n * Data-fetching shell for the FormTemplate authoring experience. Resolves an existing template\n * and the JSON Schema it references (when `templateId` is given), then hands the resolved data\n * to `FormTemplateEditorForm`, which owns the actual editing state and save orchestration.\n * Passing no `templateId` opens a blank editor for creating a new template.\n *\n * The schema is loaded as registered, with its `$ref`s intact, so that saving a new version\n * preserves the reference to the base schema rather than inlining it.\n */\nimport { SynapseSpinner } from '@/components/LoadingScreen/LoadingScreen'\nimport { useGetFormTemplate } from '@/synapse-queries/dataaccess/useFormTemplate'\nimport { useGetRegisteredSchema } from '@/synapse-queries/jsonschema/useSchema'\nimport { Alert, Paper } from '@mui/material'\nimport { RJSFSchema } from '@rjsf/utils'\nimport { FormTemplate } from '@sage-bionetworks/synapse-client'\nimport { FormTemplateEditorForm } from './FormTemplateEditorForm'\n\nexport type FormTemplateEditorProps = {\n /** Existing template to open for editing, or undefined to create a new one. */\n templateId?: string\n /** Called after the template is successfully created or a new version is saved. */\n onSaved?: (template: FormTemplate) => void\n onCancel?: () => void\n}\n\nexport function FormTemplateEditor({\n templateId,\n onSaved,\n onCancel,\n}: FormTemplateEditorProps) {\n const {\n data: template,\n isLoading: isLoadingTemplate,\n error: templateError,\n } = useGetFormTemplate(templateId)\n\n const {\n data: jsonSchema,\n isLoading: isLoadingSchema,\n error: schemaError,\n } = useGetRegisteredSchema(template?.schema$id ?? '', {\n enabled: !!template?.schema$id,\n })\n\n if (templateId && (isLoadingTemplate || (template && isLoadingSchema))) {\n return (\n <Paper sx={{ p: 3 }}>\n <SynapseSpinner size={40} />\n </Paper>\n )\n }\n\n const error = templateError ?? schemaError\n if (error) {\n return (\n <Paper sx={{ p: 3 }}>\n <Alert severity=\"error\">\n Could not load the form template: {error.reason ?? error.message}\n </Alert>\n </Paper>\n )\n }\n\n return (\n <FormTemplateEditorForm\n initialTemplate={template}\n initialJsonSchema={jsonSchema as RJSFSchema | undefined}\n onSaved={onSaved}\n onCancel={onCancel}\n />\n )\n}\n"],"mappings":";;;;;;;AAyBA,SAAgB,EAAmB,EACjC,eACA,YACA,eAC0B;CAC1B,IAAM,EACJ,MAAM,GACN,WAAW,GACX,OAAO,MACL,EAAmB,CAAU,GAE3B,EACJ,MAAM,GACN,WAAW,GACX,OAAO,MACL,EAAuB,GAAU,aAAa,IAAI,EACpD,SAAS,CAAC,CAAC,GAAU,UACvB,CAAC;CAED,IAAI,MAAe,KAAsB,KAAY,IACnD,OACE,kBAAC,GAAD;EAAO,IAAI,EAAE,GAAG,EAAE;YAChB,kBAAC,GAAD,EAAgB,MAAM,GAAK,CAAA;CACtB,CAAA;CAIX,IAAM,IAAQ,KAAiB;CAW/B,OAVI,IAEA,kBAAC,GAAD;EAAO,IAAI,EAAE,GAAG,EAAE;YAChB,kBAAC,GAAD;GAAO,UAAS;aAAhB,CAAwB,sCACa,EAAM,UAAU,EAAM,OACpD;;CACF,CAAA,IAKT,kBAAC,GAAD;EACE,iBAAiB;EACjB,mBAAmB;EACV;EACC;CACX,CAAA;AAEL"}
@@ -0,0 +1,15 @@
1
+ import { FormTemplate } from '@sage-bionetworks/synapse-client';
2
+ import { RJSFSchema } from '@rjsf/utils';
3
+ export type FormTemplateEditorFormProps = {
4
+ /** Existing template to edit, or undefined for creating a new one. */
5
+ initialTemplate?: FormTemplate;
6
+ /**
7
+ * The JSON Schema body the template's `schema$id` resolves to. Required when editing an
8
+ * existing template.
9
+ */
10
+ initialJsonSchema?: RJSFSchema;
11
+ onSaved?: (template: FormTemplate) => void;
12
+ onCancel?: () => void;
13
+ };
14
+ export declare function FormTemplateEditorForm({ initialTemplate, initialJsonSchema, onSaved, onCancel, }: FormTemplateEditorFormProps): import("react/jsx-runtime").JSX.Element;
15
+ //# sourceMappingURL=FormTemplateEditorForm.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"FormTemplateEditorForm.d.ts","sourceRoot":"","sources":["../../../src/components/FormTemplateEditor/FormTemplateEditorForm.tsx"],"names":[],"mappings":"AAOA,OAAO,EAAE,YAAY,EAAE,MAAM,kCAAkC,CAAA;AAgB/D,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAA;AA4BxC,MAAM,MAAM,2BAA2B,GAAG;IACxC,sEAAsE;IACtE,eAAe,CAAC,EAAE,YAAY,CAAA;IAC9B;;;OAGG;IACH,iBAAiB,CAAC,EAAE,UAAU,CAAA;IAC9B,OAAO,CAAC,EAAE,CAAC,QAAQ,EAAE,YAAY,KAAK,IAAI,CAAA;IAC1C,QAAQ,CAAC,EAAE,MAAM,IAAI,CAAA;CACtB,CAAA;AAED,wBAAgB,sBAAsB,CAAC,EACrC,eAAe,EACf,iBAAiB,EACjB,OAAO,EACP,QAAQ,GACT,EAAE,2BAA2B,2CAiR7B"}
@@ -0,0 +1,234 @@
1
+ import { displayToast as e } from "../ToastMessage/ToastMessage.js";
2
+ import "../ToastMessage/index.js";
3
+ import { propertyKeyToPointer as t, resolveSchemaPropertyAtPointer as n } from "../../utils/jsonschema/submissionContext.js";
4
+ import { formatSchema$id as r, resolveFormTemplateSchemaName as i } from "./formTemplateSchema.js";
5
+ import { detectFieldType as ee, fieldTypeLabel as te } from "./schemaFieldUtils.js";
6
+ import { FieldDefinitionDrawer as ne } from "./FieldDefinitionDrawer.js";
7
+ import { FieldValidationErrorAlert as a } from "./FieldValidationErrorAlert.js";
8
+ import { readFieldDragData as re } from "./sortableIds.js";
9
+ import { FieldLibrary as ie } from "./FieldLibrary.js";
10
+ import { toFormTemplateSteps as o } from "./utils.js";
11
+ import { FormStructurePanel as s } from "./FormStructurePanel.js";
12
+ import { FormTemplatePreview as c } from "./FormTemplatePreview.js";
13
+ import { JsonSchemaBodyEditor as l } from "./JsonSchemaBodyEditor.js";
14
+ import { validateFormTemplateFields as u } from "./formTemplateValidation.js";
15
+ import { useFormTemplateDraft as d } from "./useFormTemplateDraft.js";
16
+ import { useFormTemplateDrag as f } from "./useFormTemplateDrag.js";
17
+ import { useSaveFormTemplate as p } from "./useSaveFormTemplate.js";
18
+ import { useMemo as m, useState as h } from "react";
19
+ import { Accordion as g, AccordionDetails as _, AccordionSummary as ae, Alert as oe, Box as v, Button as y, Divider as b, Grid as x, Paper as S, TextField as C, Typography as w } from "@mui/material";
20
+ import { jsx as T, jsxs as E } from "react/jsx-runtime";
21
+ import { ExpandMore as D } from "@mui/icons-material";
22
+ import { DragDropProvider as O, DragOverlay as k } from "@dnd-kit/react";
23
+ //#region src/components/FormTemplateEditor/FormTemplateEditorForm.tsx
24
+ function A({ initialTemplate: A, initialJsonSchema: j, onSaved: M, onCancel: N }) {
25
+ let P = d(A, j), { name: F, setName: I, jsonSchema: L, setJsonSchema: R, steps: z, setSteps: B, editingPropertyKey: V, setEditingPropertyKey: H, usedPaths: U, existingPropertyKeys: W, unboundProperties: G, handleCreateField: K, renamePropertyKey: q, handleUpdateProperty: se, handleReplaceProperty: ce, handleChangeRequired: le, handleChangeContext: ue, handleRemoveProperty: de, bindField: fe, previewTemplate: pe } = P, me = f(P), { mutateAsync: he, isPending: J } = p(), [Y, X] = h(null), Z = m(() => u(o(z), L), [z, L]), ge = async () => {
26
+ X(null);
27
+ try {
28
+ let t = await he({
29
+ initialTemplate: A,
30
+ initialJsonSchema: j,
31
+ name: F,
32
+ jsonSchema: L,
33
+ steps: z
34
+ });
35
+ if (!t.ok) {
36
+ X(t.validationErrors);
37
+ return;
38
+ }
39
+ e(A ? "Your changes were saved as a new version." : "The form template was created.", "success", { title: "Template saved" }), M?.(t.template);
40
+ } catch (t) {
41
+ let n = t;
42
+ n.status === 412 ? e("This template was changed by someone else since you opened it. Reload it to see the latest version, then reapply your changes.", "warning", { title: "Template updated since you started editing" }) : e(n.reason ?? "An error occurred while saving.", "danger", { title: "Could not save template" });
43
+ }
44
+ }, Q = V === null ? void 0 : n(L, t(V)), $ = Q?.subSchema ?? null, _e = Q?.isRequired ?? !1, ve = Q?.context ?? "ALWAYS", ye = V !== null && U.has(t(V)), be = i(F, A?.schema$id);
45
+ return /* @__PURE__ */ E(O, {
46
+ ...me,
47
+ children: [/* @__PURE__ */ E(S, {
48
+ sx: { p: 3 },
49
+ children: [
50
+ /* @__PURE__ */ T(w, {
51
+ variant: "h6",
52
+ gutterBottom: !0,
53
+ children: A ? "Edit Form Template" : "Create Form Template"
54
+ }),
55
+ /* @__PURE__ */ T(b, { sx: { mb: 2 } }),
56
+ /* @__PURE__ */ T(C, {
57
+ label: "Internal Name",
58
+ value: F,
59
+ onChange: (e) => I(e.target.value),
60
+ size: "small",
61
+ fullWidth: !0,
62
+ helperText: "Used by ACT to identify and find this template. Not shown to requesters.",
63
+ sx: { mb: 1 }
64
+ }),
65
+ /* @__PURE__ */ E(w, {
66
+ variant: "caption",
67
+ color: "text.secondary",
68
+ component: "p",
69
+ sx: { mb: 3 },
70
+ children: [
71
+ "JSON Schema:",
72
+ " ",
73
+ A?.schema$id ?? r(be),
74
+ !A && " (a new version is registered when saved)"
75
+ ]
76
+ }),
77
+ /* @__PURE__ */ E(x, {
78
+ container: !0,
79
+ spacing: 2,
80
+ alignItems: "stretch",
81
+ children: [
82
+ /* @__PURE__ */ T(x, {
83
+ size: {
84
+ xs: 12,
85
+ md: 4
86
+ },
87
+ children: /* @__PURE__ */ T(ie, {
88
+ jsonSchema: L,
89
+ usedPaths: U,
90
+ selectedPropertyKey: V,
91
+ onSelectField: H,
92
+ onCreateField: K
93
+ })
94
+ }),
95
+ /* @__PURE__ */ T(x, {
96
+ size: {
97
+ xs: 12,
98
+ md: 4
99
+ },
100
+ children: /* @__PURE__ */ T(s, {
101
+ steps: z,
102
+ jsonSchema: L,
103
+ unboundProperties: G,
104
+ formTemplateId: A?.id,
105
+ onStepsChange: B,
106
+ onBindField: fe
107
+ })
108
+ }),
109
+ /* @__PURE__ */ T(x, {
110
+ size: {
111
+ xs: 12,
112
+ md: 4
113
+ },
114
+ children: /* @__PURE__ */ E(v, {
115
+ sx: {
116
+ position: "sticky",
117
+ top: 16
118
+ },
119
+ children: [/* @__PURE__ */ T(w, {
120
+ variant: "subtitle2",
121
+ color: "text.secondary",
122
+ gutterBottom: !0,
123
+ children: "Live Preview"
124
+ }), /* @__PURE__ */ T(c, {
125
+ template: pe,
126
+ jsonSchema: L
127
+ })]
128
+ })
129
+ })
130
+ ]
131
+ }),
132
+ /* @__PURE__ */ E(g, {
133
+ sx: { mt: 3 },
134
+ disableGutters: !0,
135
+ elevation: 0,
136
+ variant: "outlined",
137
+ children: [/* @__PURE__ */ T(ae, {
138
+ expandIcon: /* @__PURE__ */ T(D, {}),
139
+ children: /* @__PURE__ */ T(w, {
140
+ variant: "subtitle2",
141
+ children: "Advanced: Edit raw JSON Schema"
142
+ })
143
+ }), /* @__PURE__ */ E(_, { children: [/* @__PURE__ */ T(oe, {
144
+ severity: "info",
145
+ variant: "outlined",
146
+ sx: { mb: 2 },
147
+ children: "Direct access to the JSON Schema body. Most editing happens in the Fields panel above — use this view for features the simple editor doesn't support (nested objects, advanced validation, etc.)."
148
+ }), /* @__PURE__ */ T(l, {
149
+ value: L,
150
+ onChange: R
151
+ })] })]
152
+ }),
153
+ Z.length > 0 && /* @__PURE__ */ T(a, {
154
+ errors: Z,
155
+ children: "Fix the following before saving:"
156
+ }),
157
+ Y && /* @__PURE__ */ T(a, { errors: Y }),
158
+ /* @__PURE__ */ T(b, { sx: { my: 2 } }),
159
+ /* @__PURE__ */ E(v, {
160
+ sx: {
161
+ display: "flex",
162
+ justifyContent: "flex-end",
163
+ gap: 1
164
+ },
165
+ children: [N && /* @__PURE__ */ T(y, {
166
+ variant: "outlined",
167
+ onClick: N,
168
+ disabled: J,
169
+ children: "Cancel"
170
+ }), /* @__PURE__ */ T(y, {
171
+ variant: "contained",
172
+ onClick: () => void ge(),
173
+ disabled: !F || J || Z.length > 0,
174
+ children: J ? "Saving…" : A ? "Save Changes" : "Create Template"
175
+ })]
176
+ }),
177
+ /* @__PURE__ */ T(ne, {
178
+ open: V !== null,
179
+ propertyKey: V,
180
+ existingKeys: W,
181
+ property: $,
182
+ isRequired: _e,
183
+ context: ve,
184
+ isUsedInSteps: ye,
185
+ onClose: () => H(null),
186
+ onUpdate: (e) => {
187
+ V && se(V, e);
188
+ },
189
+ onRenameKey: (e) => {
190
+ V && q(V, e);
191
+ },
192
+ onReplace: (e) => {
193
+ V && ce(V, e);
194
+ },
195
+ onChangeRequired: (e) => {
196
+ V && le(V, e);
197
+ },
198
+ onChangeContext: (e) => {
199
+ V && ue(V, e);
200
+ },
201
+ onRemove: () => {
202
+ V && de(V);
203
+ }
204
+ })
205
+ ]
206
+ }), /* @__PURE__ */ T(k, { children: (e) => {
207
+ if (e.type !== "field") return null;
208
+ let r = re(e.data);
209
+ if (!r) return null;
210
+ let i = n(L, t(r))?.subSchema;
211
+ return i ? /* @__PURE__ */ E(S, {
212
+ elevation: 6,
213
+ sx: {
214
+ p: 1.25,
215
+ cursor: "grabbing",
216
+ opacity: .95
217
+ },
218
+ children: [/* @__PURE__ */ T(w, {
219
+ variant: "body2",
220
+ fontWeight: 500,
221
+ children: i.title || r
222
+ }), /* @__PURE__ */ T(w, {
223
+ variant: "caption",
224
+ color: "text.secondary",
225
+ children: te(ee(i))
226
+ })]
227
+ }) : null;
228
+ } })]
229
+ });
230
+ }
231
+ //#endregion
232
+ export { A as FormTemplateEditorForm };
233
+
234
+ //# sourceMappingURL=FormTemplateEditorForm.js.map