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
@@ -1 +1 @@
1
- {"version":3,"file":"PdfPreview.js","names":[],"sources":["../../../src/components/FilePreview/PdfPreview.tsx"],"sourcesContent":["import SynapseClient from '@/synapse-client'\nimport { calculateFriendlyFileSize } from '@/utils/functions/calculateFriendlyFileSize'\nimport { Alert, Skeleton } from '@mui/material'\nimport {\n FileHandle,\n FileHandleAssociation,\n} from '@sage-bionetworks/synapse-types'\nimport { useFetchBlobUrl } from '@/utils/hooks/useFetchBlobUrl'\n\nexport type PdfPreviewProps = {\n fileHandle: FileHandle\n fileHandleAssociation: FileHandleAssociation\n}\n\nexport const maxPdfSize = Math.pow(1024, 2) * 30 // 30MB\nconst friendlyMaxPdfSize = calculateFriendlyFileSize(maxPdfSize) // 30MB\n\n/**\n * Renders raw HTML. Uses file handle data to determine if the content should be sanitized.\n * @param props\n * @returns\n */\nexport default function PdfPreview(props: PdfPreviewProps) {\n const { fileHandle, fileHandleAssociation: fha } = props\n\n const { blobUrl, error: blobError } = useFetchBlobUrl(\n fileHandle.contentSize > maxPdfSize\n ? undefined\n : SynapseClient.getPortalFileHandleServletUrl(\n fha.fileHandleId,\n fha.associateObjectId,\n fha.associateObjectType,\n ),\n )\n\n const friendlyFileSize = calculateFriendlyFileSize(fileHandle.contentSize)\n if (fileHandle.contentSize > maxPdfSize) {\n return (\n <Alert severity=\"error\" sx={{ marginBottom: '20px' }}>\n The PDF preview was not shown because the file size ({friendlyFileSize})\n exceeds the maximum preview size ({friendlyMaxPdfSize})\n </Alert>\n )\n }\n\n if (blobError) {\n return (\n <Alert severity=\"error\" sx={{ marginBottom: '20px' }}>\n The PDF preview could not be loaded: {blobError.message}\n </Alert>\n )\n }\n\n if (!blobUrl) {\n return <Skeleton variant=\"rectangular\" width=\"100%\" height=\"800px\" />\n }\n\n return (\n <iframe src={blobUrl} height=\"800px\" style={{ border: 0, width: '100%' }} />\n )\n}\n"],"mappings":";;;;;;AAcA,IAAa,IAAsB,QAAM,IAAK,IACxC,IAAqB,EAA0B,CAAU;AAO/D,SAAwB,EAAW,GAAwB;CACzD,IAAM,EAAE,eAAY,uBAAuB,MAAQ,GAE7C,EAAE,YAAS,OAAO,MAAc,EACpC,EAAW,cAAc,IACrB,KAAA,IACA,EAAc,8BACZ,EAAI,cACJ,EAAI,mBACJ,EAAI,mBACN,CACN,GAEM,IAAmB,EAA0B,EAAW,WAAW;CAsBzE,OArBI,EAAW,cAAc,IAEzB,kBAAC,GAAD;EAAO,UAAS;EAAQ,IAAI,EAAE,cAAc,OAAO;YAAnD;GAAsD;GACE;GAAiB;GACpC;GAAmB;EACjD;MAIP,IAEA,kBAAC,GAAD;EAAO,UAAS;EAAQ,IAAI,EAAE,cAAc,OAAO;YAAnD,CAAsD,yCACd,EAAU,OAC3C;MAIN,IAKH,kBAAC,UAAD;EAAQ,KAAK;EAAS,QAAO;EAAQ,OAAO;GAAE,QAAQ;GAAG,OAAO;EAAO;CAAI,CAAA,IAJpE,kBAAC,GAAD;EAAU,SAAQ;EAAc,OAAM;EAAO,QAAO;CAAS,CAAA;AAMxE"}
1
+ {"version":3,"file":"PdfPreview.js","names":[],"sources":["../../../src/components/FilePreview/PdfPreview.tsx"],"sourcesContent":["import { useGetStablePresignedUrl } from '@/synapse-queries/file/useFiles'\nimport { calculateFriendlyFileSize } from '@/utils/functions/calculateFriendlyFileSize'\nimport { Alert, Skeleton } from '@mui/material'\nimport {\n FileHandle,\n FileHandleAssociation,\n} from '@sage-bionetworks/synapse-types'\n\nexport type PdfPreviewProps = {\n fileHandle: FileHandle\n fileHandleAssociation: FileHandleAssociation\n}\n\nexport const maxPdfSize = Math.pow(1024, 2) * 30 // 30MB\nconst friendlyMaxPdfSize = calculateFriendlyFileSize(maxPdfSize) // 30MB\n\n/**\n * Renders a PDF file handle in an iframe.\n * @param props\n * @returns\n */\nexport default function PdfPreview(props: PdfPreviewProps) {\n const { fileHandle, fileHandleAssociation } = props\n\n const exceedsMaxSize = fileHandle.contentSize > maxPdfSize\n\n // The presigned URL is fetched into a blob rather than used as the iframe src directly: Synapse signs the URL with\n // `response-content-disposition=attachment`, which would make the browser download the file instead of rendering it.\n const stablePresignedUrl = useGetStablePresignedUrl(\n fileHandleAssociation,\n false,\n { enabled: !exceedsMaxSize },\n )\n const blobUrl = stablePresignedUrl?.dataUrl\n const blobError = stablePresignedUrl?.queryResult.error\n\n const friendlyFileSize = calculateFriendlyFileSize(fileHandle.contentSize)\n if (exceedsMaxSize) {\n return (\n <Alert severity=\"error\" sx={{ marginBottom: '20px' }}>\n The PDF preview was not shown because the file size ({friendlyFileSize})\n exceeds the maximum preview size ({friendlyMaxPdfSize})\n </Alert>\n )\n }\n\n if (blobError) {\n return (\n <Alert severity=\"error\" sx={{ marginBottom: '20px' }}>\n The PDF preview could not be loaded: {blobError.message}\n </Alert>\n )\n }\n\n if (!blobUrl) {\n return <Skeleton variant=\"rectangular\" width=\"100%\" height=\"800px\" />\n }\n\n return (\n <iframe src={blobUrl} height=\"800px\" style={{ border: 0, width: '100%' }} />\n )\n}\n"],"mappings":";;;;;AAaA,IAAa,IAAsB,QAAM,IAAK,IACxC,IAAqB,EAA0B,CAAU;AAO/D,SAAwB,EAAW,GAAwB;CACzD,IAAM,EAAE,eAAY,6BAA0B,GAExC,IAAiB,EAAW,cAAc,GAI1C,IAAqB,EACzB,GACA,IACA,EAAE,SAAS,CAAC,EAAe,CAC7B,GACM,IAAU,GAAoB,SAC9B,IAAY,GAAoB,YAAY,OAE5C,IAAmB,EAA0B,EAAW,WAAW;CAsBzE,OArBI,IAEA,kBAAC,GAAD;EAAO,UAAS;EAAQ,IAAI,EAAE,cAAc,OAAO;YAAnD;GAAsD;GACE;GAAiB;GACpC;GAAmB;EACjD;MAIP,IAEA,kBAAC,GAAD;EAAO,UAAS;EAAQ,IAAI,EAAE,cAAc,OAAO;YAAnD,CAAsD,yCACd,EAAU,OAC3C;MAIN,IAKH,kBAAC,UAAD;EAAQ,KAAK;EAAS,QAAO;EAAQ,OAAO;GAAE,QAAQ;GAAG,OAAO;EAAO;CAAI,CAAA,IAJpE,kBAAC,GAAD;EAAU,SAAQ;EAAc,OAAM;EAAO,QAAO;CAAS,CAAA;AAMxE"}
@@ -0,0 +1,11 @@
1
+ type ChoiceOptionsEditorProps = {
2
+ options: string[];
3
+ onChange: (next: string[]) => void;
4
+ };
5
+ /**
6
+ * Edits a choice field's options. At least one option is always kept, and added options get a
7
+ * unique `Option N` label.
8
+ */
9
+ export declare function ChoiceOptionsEditor({ options, onChange, }: ChoiceOptionsEditorProps): import("react/jsx-runtime").JSX.Element;
10
+ export {};
11
+ //# sourceMappingURL=ChoiceOptionsEditor.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ChoiceOptionsEditor.d.ts","sourceRoot":"","sources":["../../../src/components/FormTemplateEditor/ChoiceOptionsEditor.tsx"],"names":[],"mappings":"AAUA,KAAK,wBAAwB,GAAG;IAC9B,OAAO,EAAE,MAAM,EAAE,CAAA;IACjB,QAAQ,EAAE,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,IAAI,CAAA;CACnC,CAAA;AAED;;;GAGG;AACH,wBAAgB,mBAAmB,CAAC,EAClC,OAAO,EACP,QAAQ,GACT,EAAE,wBAAwB,2CAkD1B"}
@@ -0,0 +1,61 @@
1
+ import { Box as e, Button as t, IconButton as n, Stack as r, TextField as i, Typography as a } from "@mui/material";
2
+ import { jsx as o, jsxs as s } from "react/jsx-runtime";
3
+ import { Add as c, Delete as l } from "@mui/icons-material";
4
+ //#region src/components/FormTemplateEditor/ChoiceOptionsEditor.tsx
5
+ function u({ options: u, onChange: d }) {
6
+ let f = (e, t) => {
7
+ d(u.map((n, r) => r === e ? t : n));
8
+ }, p = (e) => {
9
+ d(u.filter((t, n) => n !== e));
10
+ };
11
+ return /* @__PURE__ */ s(e, {
12
+ sx: {
13
+ pl: 1,
14
+ borderLeft: 2,
15
+ borderColor: "divider"
16
+ },
17
+ children: [/* @__PURE__ */ o(a, {
18
+ variant: "caption",
19
+ color: "text.secondary",
20
+ sx: {
21
+ display: "block",
22
+ mb: .5
23
+ },
24
+ children: "Choices"
25
+ }), /* @__PURE__ */ s(r, {
26
+ spacing: 1,
27
+ children: [u.map((t, r) => /* @__PURE__ */ s(e, {
28
+ sx: {
29
+ display: "flex",
30
+ alignItems: "center",
31
+ gap: 1
32
+ },
33
+ children: [/* @__PURE__ */ o(i, {
34
+ value: t,
35
+ onChange: (e) => f(r, e.target.value),
36
+ size: "small",
37
+ fullWidth: !0
38
+ }), /* @__PURE__ */ o(n, {
39
+ size: "small",
40
+ "aria-label": "Delete choice",
41
+ onClick: () => p(r),
42
+ disabled: u.length <= 1,
43
+ children: /* @__PURE__ */ o(l, { fontSize: "small" })
44
+ })]
45
+ }, r)), /* @__PURE__ */ o(e, { children: /* @__PURE__ */ o(t, {
46
+ size: "small",
47
+ startIcon: /* @__PURE__ */ o(c, {}),
48
+ onClick: () => {
49
+ let e = u.length + 1;
50
+ for (; u.includes(`Option ${e}`);) e++;
51
+ d([...u, `Option ${e}`]);
52
+ },
53
+ children: "Add choice"
54
+ }) })]
55
+ })]
56
+ });
57
+ }
58
+ //#endregion
59
+ export { u as ChoiceOptionsEditor };
60
+
61
+ //# sourceMappingURL=ChoiceOptionsEditor.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ChoiceOptionsEditor.js","names":[],"sources":["../../../src/components/FormTemplateEditor/ChoiceOptionsEditor.tsx"],"sourcesContent":["import {\n Box,\n Button,\n IconButton,\n Stack,\n TextField,\n Typography,\n} from '@mui/material'\nimport { Add as AddIcon, Delete as DeleteIcon } from '@mui/icons-material'\n\ntype ChoiceOptionsEditorProps = {\n options: string[]\n onChange: (next: string[]) => void\n}\n\n/**\n * Edits a choice field's options. At least one option is always kept, and added options get a\n * unique `Option N` label.\n */\nexport function ChoiceOptionsEditor({\n options,\n onChange,\n}: ChoiceOptionsEditorProps) {\n const update = (idx: number, next: string) => {\n onChange(options.map((o, i) => (i === idx ? next : o)))\n }\n const remove = (idx: number) => {\n onChange(options.filter((_, i) => i !== idx))\n }\n const add = () => {\n let n = options.length + 1\n while (options.includes(`Option ${n}`)) n++\n onChange([...options, `Option ${n}`])\n }\n\n return (\n <Box sx={{ pl: 1, borderLeft: 2, borderColor: 'divider' }}>\n <Typography\n variant=\"caption\"\n color=\"text.secondary\"\n sx={{ display: 'block', mb: 0.5 }}\n >\n Choices\n </Typography>\n <Stack spacing={1}>\n {/* Index keys are safe: rows are fully controlled and hold no local state. */}\n {options.map((opt, idx) => (\n <Box key={idx} sx={{ display: 'flex', alignItems: 'center', gap: 1 }}>\n <TextField\n value={opt}\n onChange={e => update(idx, e.target.value)}\n size=\"small\"\n fullWidth\n />\n <IconButton\n size=\"small\"\n aria-label=\"Delete choice\"\n onClick={() => remove(idx)}\n disabled={options.length <= 1}\n >\n <DeleteIcon fontSize=\"small\" />\n </IconButton>\n </Box>\n ))}\n <Box>\n <Button size=\"small\" startIcon={<AddIcon />} onClick={add}>\n Add choice\n </Button>\n </Box>\n </Stack>\n </Box>\n )\n}\n"],"mappings":";;;;AAmBA,SAAgB,EAAoB,EAClC,YACA,eAC2B;CAC3B,IAAM,KAAU,GAAa,MAAiB;EAC5C,EAAS,EAAQ,KAAK,GAAG,MAAO,MAAM,IAAM,IAAO,CAAE,CAAC;CACxD,GACM,KAAU,MAAgB;EAC9B,EAAS,EAAQ,QAAQ,GAAG,MAAM,MAAM,CAAG,CAAC;CAC9C;CAOA,OACE,kBAAC,GAAD;EAAK,IAAI;GAAE,IAAI;GAAG,YAAY;GAAG,aAAa;EAAU;YAAxD,CACE,kBAAC,GAAD;GACE,SAAQ;GACR,OAAM;GACN,IAAI;IAAE,SAAS;IAAS,IAAI;GAAI;aACjC;EAEW,CAAA,GACZ,kBAAC,GAAD;GAAO,SAAS;aAAhB,CAEG,EAAQ,KAAK,GAAK,MACjB,kBAAC,GAAD;IAAe,IAAI;KAAE,SAAS;KAAQ,YAAY;KAAU,KAAK;IAAE;cAAnE,CACE,kBAAC,GAAD;KACE,OAAO;KACP,WAAU,MAAK,EAAO,GAAK,EAAE,OAAO,KAAK;KACzC,MAAK;KACL,WAAA;IACD,CAAA,GACD,kBAAC,GAAD;KACE,MAAK;KACL,cAAW;KACX,eAAe,EAAO,CAAG;KACzB,UAAU,EAAQ,UAAU;eAE5B,kBAAC,GAAD,EAAY,UAAS,QAAS,CAAA;IACpB,CAAA,CACT;MAfK,CAeL,CACN,GACD,kBAAC,GAAD,EAAA,UACE,kBAAC,GAAD;IAAQ,MAAK;IAAQ,WAAW,kBAAC,GAAD,CAAU,CAAA;IAAG,eApCnC;KAChB,IAAI,IAAI,EAAQ,SAAS;KACzB,OAAO,EAAQ,SAAS,UAAU,GAAG,IAAG;KACxC,EAAS,CAAC,GAAG,GAAS,UAAU,GAAG,CAAC;IACtC;cAgCmE;GAEnD,CAAA,EACL,CAAA,CACA;IACJ;;AAET"}
@@ -0,0 +1,33 @@
1
+ import { RJSFSchema } from '@rjsf/utils';
2
+ import { SchemaPropertyContext } from '@/utils/jsonschema/submissionContext';
3
+ export type FieldDefinitionDrawerProps = {
4
+ open: boolean;
5
+ propertyKey: string | null;
6
+ /** All property keys currently defined in the schema, including this one. */
7
+ existingKeys: Set<string>;
8
+ property: RJSFSchema | null;
9
+ isRequired: boolean;
10
+ /**
11
+ * Which submission context this property applies to (per the schema's
12
+ * `x-synapse-submissionContext` `allOf` convention). Editable here via a guided select box.
13
+ * This component only calls `onChangeContext`; a container elsewhere in the authoring flow is
14
+ * responsible for moving the property's definition between the schema's top-level `properties`
15
+ * and the matching `allOf` branch so ACT never has to hand-edit `allOf` for the common case.
16
+ */
17
+ context: SchemaPropertyContext;
18
+ /** True when this field is bound to one or more steps. Affects delete affordance. */
19
+ isUsedInSteps: boolean;
20
+ onClose: () => void;
21
+ onUpdate: (patch: Partial<RJSFSchema>) => void;
22
+ onRenameKey: (newKey: string) => void;
23
+ onReplace: (next: RJSFSchema) => void;
24
+ onChangeRequired: (isRequired: boolean) => void;
25
+ onChangeContext: (context: SchemaPropertyContext) => void;
26
+ onRemove: () => void;
27
+ };
28
+ /**
29
+ * Slide-in drawer for editing a single field's JSON Schema definition (label, help text, type,
30
+ * required, submission context, choice options, file format).
31
+ */
32
+ export declare function FieldDefinitionDrawer({ open, propertyKey, existingKeys, property, isRequired, context, isUsedInSteps, onClose, onUpdate, onRenameKey, onReplace, onChangeRequired, onChangeContext, onRemove, }: FieldDefinitionDrawerProps): import("react/jsx-runtime").JSX.Element;
33
+ //# sourceMappingURL=FieldDefinitionDrawer.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"FieldDefinitionDrawer.d.ts","sourceRoot":"","sources":["../../../src/components/FormTemplateEditor/FieldDefinitionDrawer.tsx"],"names":[],"mappings":"AAcA,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAA;AAExC,OAAO,EAAE,qBAAqB,EAAE,MAAM,sCAAsC,CAAA;AAoB5E,MAAM,MAAM,0BAA0B,GAAG;IACvC,IAAI,EAAE,OAAO,CAAA;IACb,WAAW,EAAE,MAAM,GAAG,IAAI,CAAA;IAC1B,6EAA6E;IAC7E,YAAY,EAAE,GAAG,CAAC,MAAM,CAAC,CAAA;IACzB,QAAQ,EAAE,UAAU,GAAG,IAAI,CAAA;IAC3B,UAAU,EAAE,OAAO,CAAA;IACnB;;;;;;OAMG;IACH,OAAO,EAAE,qBAAqB,CAAA;IAC9B,qFAAqF;IACrF,aAAa,EAAE,OAAO,CAAA;IACtB,OAAO,EAAE,MAAM,IAAI,CAAA;IACnB,QAAQ,EAAE,CAAC,KAAK,EAAE,OAAO,CAAC,UAAU,CAAC,KAAK,IAAI,CAAA;IAC9C,WAAW,EAAE,CAAC,MAAM,EAAE,MAAM,KAAK,IAAI,CAAA;IACrC,SAAS,EAAE,CAAC,IAAI,EAAE,UAAU,KAAK,IAAI,CAAA;IACrC,gBAAgB,EAAE,CAAC,UAAU,EAAE,OAAO,KAAK,IAAI,CAAA;IAC/C,eAAe,EAAE,CAAC,OAAO,EAAE,qBAAqB,KAAK,IAAI,CAAA;IACzD,QAAQ,EAAE,MAAM,IAAI,CAAA;CACrB,CAAA;AAED;;;GAGG;AACH,wBAAgB,qBAAqB,CAAC,EACpC,IAAI,EACJ,WAAW,EACX,YAAY,EACZ,QAAQ,EACR,UAAU,EACV,OAAO,EACP,aAAa,EACb,OAAO,EACP,QAAQ,EACR,WAAW,EACX,SAAS,EACT,gBAAgB,EAChB,eAAe,EACf,QAAQ,GACT,EAAE,0BAA0B,2CA8M5B"}
@@ -0,0 +1,190 @@
1
+ import { ChoiceOptionsEditor as e } from "./ChoiceOptionsEditor.js";
2
+ import { FIELD_TYPE_OPTIONS as t, applyFieldType as n, choiceOptions as r, detectFieldType as i, sanitizePropertyKey as a } from "./schemaFieldUtils.js";
3
+ import { useState as o } from "react";
4
+ import { Alert as s, Box as c, Button as l, Drawer as u, FormControlLabel as d, IconButton as f, MenuItem as p, Stack as m, Switch as h, TextField as g, Typography as _ } from "@mui/material";
5
+ import { jsx as v, jsxs as y } from "react/jsx-runtime";
6
+ import { Close as b, Delete as x } from "@mui/icons-material";
7
+ //#region src/components/FormTemplateEditor/FieldDefinitionDrawer.tsx
8
+ var S = [
9
+ {
10
+ value: "ALWAYS",
11
+ label: "Always"
12
+ },
13
+ {
14
+ value: "REQUEST_ONLY",
15
+ label: "Initial request only"
16
+ },
17
+ {
18
+ value: "RENEWAL_ONLY",
19
+ label: "Renewal only"
20
+ }
21
+ ];
22
+ function C({ open: C, propertyKey: w, existingKeys: T, property: E, isRequired: D, context: O, isUsedInSteps: k, onClose: A, onUpdate: j, onRenameKey: M, onReplace: N, onChangeRequired: P, onChangeContext: F, onRemove: I }) {
23
+ let L = E ? i(E) : null, R = E !== null && L === null, [z, B] = o(null), V = z?.forKey === w ? z.value : w ?? "", H = null;
24
+ V.length === 0 ? H = "Required" : V !== w && T.has(V) && (H = "Already used by another field");
25
+ let U = () => {
26
+ w && !H && V !== w && M(V), B(null);
27
+ }, W = (e) => {
28
+ E && N(n(E, e));
29
+ };
30
+ return /* @__PURE__ */ v(u, {
31
+ open: C,
32
+ onClose: A,
33
+ anchor: "right",
34
+ slotProps: { paper: { sx: { width: {
35
+ xs: "100%",
36
+ sm: 480
37
+ } } } },
38
+ children: /* @__PURE__ */ y(c, {
39
+ sx: {
40
+ p: 3,
41
+ display: "flex",
42
+ flexDirection: "column",
43
+ height: "100%"
44
+ },
45
+ children: [
46
+ /* @__PURE__ */ y(c, {
47
+ sx: {
48
+ display: "flex",
49
+ alignItems: "center",
50
+ mb: 2
51
+ },
52
+ children: [/* @__PURE__ */ v(_, {
53
+ variant: "h6",
54
+ sx: { flexGrow: 1 },
55
+ children: "Edit field"
56
+ }), /* @__PURE__ */ v(f, {
57
+ onClick: A,
58
+ "aria-label": "Close field editor",
59
+ children: /* @__PURE__ */ v(b, {})
60
+ })]
61
+ }),
62
+ w && /* @__PURE__ */ v(g, {
63
+ label: "Property key",
64
+ value: V,
65
+ onChange: (e) => B({
66
+ forKey: w,
67
+ value: a(e.target.value)
68
+ }),
69
+ onBlur: U,
70
+ onKeyDown: (e) => {
71
+ e.key === "Enter" && (e.preventDefault(), U());
72
+ },
73
+ error: H !== null,
74
+ helperText: H ?? "Identifies this field in the JSON Schema and submitted requests.",
75
+ size: "small",
76
+ fullWidth: !0,
77
+ sx: { mb: 2 },
78
+ slotProps: { input: { sx: { fontFamily: "monospace" } } }
79
+ }),
80
+ E && /* @__PURE__ */ v(g, {
81
+ select: !0,
82
+ label: "Submission context",
83
+ value: O,
84
+ onChange: (e) => F(e.target.value),
85
+ size: "small",
86
+ fullWidth: !0,
87
+ sx: { mb: 2 },
88
+ helperText: "Controls whether requesters are asked this question on an initial request, a renewal, or both.",
89
+ children: S.map((e) => /* @__PURE__ */ v(p, {
90
+ value: e.value,
91
+ children: e.label
92
+ }, e.value))
93
+ }),
94
+ /* @__PURE__ */ v(c, {
95
+ sx: {
96
+ flexGrow: 1,
97
+ overflow: "auto"
98
+ },
99
+ children: E ? R ? /* @__PURE__ */ v(s, {
100
+ severity: "warning",
101
+ variant: "outlined",
102
+ children: "This field uses settings not supported by the simple editor. Edit it via the advanced raw JSON Schema view."
103
+ }) : /* @__PURE__ */ y(m, {
104
+ spacing: 2,
105
+ children: [
106
+ /* @__PURE__ */ v(g, {
107
+ label: "Question label",
108
+ value: E.title ?? "",
109
+ onChange: (e) => j({ title: e.target.value }),
110
+ size: "small",
111
+ fullWidth: !0
112
+ }),
113
+ /* @__PURE__ */ v(g, {
114
+ label: "Help text",
115
+ value: E.description ?? "",
116
+ onChange: (e) => j({ description: e.target.value }),
117
+ size: "small",
118
+ multiline: !0,
119
+ rows: 3,
120
+ fullWidth: !0,
121
+ helperText: "Shown to the requester below the question."
122
+ }),
123
+ /* @__PURE__ */ y(m, {
124
+ direction: "row",
125
+ spacing: 1,
126
+ alignItems: "center",
127
+ children: [/* @__PURE__ */ v(g, {
128
+ select: !0,
129
+ label: "Field type",
130
+ value: L,
131
+ onChange: (e) => W(e.target.value),
132
+ size: "small",
133
+ sx: { flexGrow: 1 },
134
+ children: t.map((e) => /* @__PURE__ */ v(p, {
135
+ value: e.value,
136
+ children: e.label
137
+ }, e.value))
138
+ }), /* @__PURE__ */ v(d, {
139
+ control: /* @__PURE__ */ v(h, {
140
+ checked: D,
141
+ onChange: (e) => P(e.target.checked)
142
+ }),
143
+ label: "Required"
144
+ })]
145
+ }),
146
+ (L === "choice" || L === "multiChoice") && /* @__PURE__ */ v(e, {
147
+ options: r(E),
148
+ onChange: (e) => j(L === "choice" ? { enum: e } : { items: {
149
+ ...E.items,
150
+ enum: e
151
+ } })
152
+ }),
153
+ L === "file" && /* @__PURE__ */ v(s, {
154
+ severity: "info",
155
+ variant: "outlined",
156
+ children: "Requesters will be prompted to upload a file. You can attach a downloadable template to this field on each step that uses it."
157
+ })
158
+ ]
159
+ }) : /* @__PURE__ */ v(s, {
160
+ severity: "info",
161
+ children: "No field selected."
162
+ })
163
+ }),
164
+ /* @__PURE__ */ y(c, {
165
+ sx: {
166
+ pt: 2,
167
+ display: "flex",
168
+ justifyContent: "space-between",
169
+ gap: 1
170
+ },
171
+ children: [/* @__PURE__ */ v(l, {
172
+ color: "error",
173
+ startIcon: /* @__PURE__ */ v(x, {}),
174
+ onClick: I,
175
+ disabled: !E,
176
+ children: k ? "Delete (will remove from form)" : "Delete field"
177
+ }), /* @__PURE__ */ v(l, {
178
+ variant: "contained",
179
+ onClick: A,
180
+ children: "Done"
181
+ })]
182
+ })
183
+ ]
184
+ })
185
+ });
186
+ }
187
+ //#endregion
188
+ export { C as FieldDefinitionDrawer };
189
+
190
+ //# sourceMappingURL=FieldDefinitionDrawer.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"FieldDefinitionDrawer.js","names":[],"sources":["../../../src/components/FormTemplateEditor/FieldDefinitionDrawer.tsx"],"sourcesContent":["import {\n Alert,\n Box,\n Button,\n Drawer,\n FormControlLabel,\n IconButton,\n MenuItem,\n Stack,\n Switch,\n TextField,\n Typography,\n} from '@mui/material'\nimport { Close as CloseIcon, Delete as DeleteIcon } from '@mui/icons-material'\nimport { RJSFSchema } from '@rjsf/utils'\nimport { useState } from 'react'\nimport { SchemaPropertyContext } from '@/utils/jsonschema/submissionContext'\nimport { ChoiceOptionsEditor } from './ChoiceOptionsEditor'\nimport {\n applyFieldType,\n choiceOptions,\n detectFieldType,\n FIELD_TYPE_OPTIONS,\n sanitizePropertyKey,\n SimpleFieldType,\n} from './schemaFieldUtils'\n\nconst SUBMISSION_CONTEXT_OPTIONS: {\n value: SchemaPropertyContext\n label: string\n}[] = [\n { value: 'ALWAYS', label: 'Always' },\n { value: 'REQUEST_ONLY', label: 'Initial request only' },\n { value: 'RENEWAL_ONLY', label: 'Renewal only' },\n]\n\nexport type FieldDefinitionDrawerProps = {\n open: boolean\n propertyKey: string | null\n /** All property keys currently defined in the schema, including this one. */\n existingKeys: Set<string>\n property: RJSFSchema | null\n isRequired: boolean\n /**\n * Which submission context this property applies to (per the schema's\n * `x-synapse-submissionContext` `allOf` convention). Editable here via a guided select box.\n * This component only calls `onChangeContext`; a container elsewhere in the authoring flow is\n * responsible for moving the property's definition between the schema's top-level `properties`\n * and the matching `allOf` branch so ACT never has to hand-edit `allOf` for the common case.\n */\n context: SchemaPropertyContext\n /** True when this field is bound to one or more steps. Affects delete affordance. */\n isUsedInSteps: boolean\n onClose: () => void\n onUpdate: (patch: Partial<RJSFSchema>) => void\n onRenameKey: (newKey: string) => void\n onReplace: (next: RJSFSchema) => void\n onChangeRequired: (isRequired: boolean) => void\n onChangeContext: (context: SchemaPropertyContext) => void\n onRemove: () => void\n}\n\n/**\n * Slide-in drawer for editing a single field's JSON Schema definition (label, help text, type,\n * required, submission context, choice options, file format).\n */\nexport function FieldDefinitionDrawer({\n open,\n propertyKey,\n existingKeys,\n property,\n isRequired,\n context,\n isUsedInSteps,\n onClose,\n onUpdate,\n onRenameKey,\n onReplace,\n onChangeRequired,\n onChangeContext,\n onRemove,\n}: FieldDefinitionDrawerProps) {\n const type = property ? detectFieldType(property) : null\n const isAdvanced = property !== null && type === null\n\n // The draft exists only while the key is being edited, and is tagged with the key it was started\n // from. When `propertyKey` changes underneath it (switching fields, or the container re-slugging\n // the key from the label) the draft no longer applies and the prop is shown again.\n const [keyDraft, setKeyDraft] = useState<{\n forKey: string | null\n value: string\n } | null>(null)\n const displayedKey =\n keyDraft?.forKey === propertyKey ? keyDraft.value : (propertyKey ?? '')\n\n let keyError: string | null = null\n if (displayedKey.length === 0) {\n keyError = 'Required'\n } else if (displayedKey !== propertyKey && existingKeys.has(displayedKey)) {\n keyError = 'Already used by another field'\n }\n\n const commitKeyDraft = () => {\n if (propertyKey && !keyError && displayedKey !== propertyKey) {\n onRenameKey(displayedKey)\n }\n setKeyDraft(null)\n }\n\n const handleChangeType = (next: SimpleFieldType) => {\n if (!property) return\n onReplace(applyFieldType(property, next))\n }\n\n return (\n <Drawer\n open={open}\n onClose={onClose}\n anchor=\"right\"\n slotProps={{ paper: { sx: { width: { xs: '100%', sm: 480 } } } }}\n >\n <Box\n sx={{ p: 3, display: 'flex', flexDirection: 'column', height: '100%' }}\n >\n <Box sx={{ display: 'flex', alignItems: 'center', mb: 2 }}>\n <Typography variant=\"h6\" sx={{ flexGrow: 1 }}>\n Edit field\n </Typography>\n <IconButton onClick={onClose} aria-label=\"Close field editor\">\n <CloseIcon />\n </IconButton>\n </Box>\n\n {propertyKey && (\n <TextField\n label=\"Property key\"\n value={displayedKey}\n onChange={e =>\n setKeyDraft({\n forKey: propertyKey,\n value: sanitizePropertyKey(e.target.value),\n })\n }\n onBlur={commitKeyDraft}\n onKeyDown={e => {\n if (e.key === 'Enter') {\n e.preventDefault()\n commitKeyDraft()\n }\n }}\n error={keyError !== null}\n helperText={\n keyError ??\n 'Identifies this field in the JSON Schema and submitted requests.'\n }\n size=\"small\"\n fullWidth\n sx={{ mb: 2 }}\n slotProps={{ input: { sx: { fontFamily: 'monospace' } } }}\n />\n )}\n\n {property && (\n <TextField\n select\n label=\"Submission context\"\n value={context}\n onChange={e =>\n onChangeContext(e.target.value as SchemaPropertyContext)\n }\n size=\"small\"\n fullWidth\n sx={{ mb: 2 }}\n helperText=\"Controls whether requesters are asked this question on an initial request, a renewal, or both.\"\n >\n {SUBMISSION_CONTEXT_OPTIONS.map(opt => (\n <MenuItem key={opt.value} value={opt.value}>\n {opt.label}\n </MenuItem>\n ))}\n </TextField>\n )}\n\n <Box sx={{ flexGrow: 1, overflow: 'auto' }}>\n {!property ? (\n <Alert severity=\"info\">No field selected.</Alert>\n ) : isAdvanced ? (\n <Alert severity=\"warning\" variant=\"outlined\">\n This field uses settings not supported by the simple editor. Edit\n it via the advanced raw JSON Schema view.\n </Alert>\n ) : (\n <Stack spacing={2}>\n <TextField\n label=\"Question label\"\n value={property.title ?? ''}\n onChange={e => onUpdate({ title: e.target.value })}\n size=\"small\"\n fullWidth\n />\n <TextField\n label=\"Help text\"\n value={property.description ?? ''}\n onChange={e => onUpdate({ description: e.target.value })}\n size=\"small\"\n multiline\n rows={3}\n fullWidth\n helperText=\"Shown to the requester below the question.\"\n />\n <Stack direction=\"row\" spacing={1} alignItems=\"center\">\n <TextField\n select\n label=\"Field type\"\n value={type}\n onChange={e =>\n handleChangeType(e.target.value as SimpleFieldType)\n }\n size=\"small\"\n sx={{ flexGrow: 1 }}\n >\n {FIELD_TYPE_OPTIONS.map(opt => (\n <MenuItem key={opt.value} value={opt.value}>\n {opt.label}\n </MenuItem>\n ))}\n </TextField>\n <FormControlLabel\n control={\n <Switch\n checked={isRequired}\n onChange={e => onChangeRequired(e.target.checked)}\n />\n }\n label=\"Required\"\n />\n </Stack>\n\n {(type === 'choice' || type === 'multiChoice') && (\n <ChoiceOptionsEditor\n options={choiceOptions(property)}\n onChange={next =>\n type === 'choice'\n ? onUpdate({ enum: next })\n : onUpdate({\n items: {\n ...(property.items as RJSFSchema),\n enum: next,\n },\n })\n }\n />\n )}\n\n {type === 'file' && (\n <Alert severity=\"info\" variant=\"outlined\">\n Requesters will be prompted to upload a file. You can attach a\n downloadable template to this field on each step that uses it.\n </Alert>\n )}\n </Stack>\n )}\n </Box>\n\n <Box\n sx={{\n pt: 2,\n display: 'flex',\n justifyContent: 'space-between',\n gap: 1,\n }}\n >\n <Button\n color=\"error\"\n startIcon={<DeleteIcon />}\n onClick={onRemove}\n disabled={!property}\n >\n {isUsedInSteps ? 'Delete (will remove from form)' : 'Delete field'}\n </Button>\n <Button variant=\"contained\" onClick={onClose}>\n Done\n </Button>\n </Box>\n </Box>\n </Drawer>\n )\n}\n"],"mappings":";;;;;;;AA2BA,IAAM,IAGA;CACJ;EAAE,OAAO;EAAU,OAAO;CAAS;CACnC;EAAE,OAAO;EAAgB,OAAO;CAAuB;CACvD;EAAE,OAAO;EAAgB,OAAO;CAAe;AACjD;AAgCA,SAAgB,EAAsB,EACpC,SACA,gBACA,iBACA,aACA,eACA,YACA,kBACA,YACA,aACA,gBACA,cACA,qBACA,oBACA,eAC6B;CAC7B,IAAM,IAAO,IAAW,EAAgB,CAAQ,IAAI,MAC9C,IAAa,MAAa,QAAQ,MAAS,MAK3C,CAAC,GAAU,KAAe,EAGtB,IAAI,GACR,IACJ,GAAU,WAAW,IAAc,EAAS,QAAS,KAAe,IAElE,IAA0B;CAC9B,AAAI,EAAa,WAAW,IAC1B,IAAW,aACF,MAAiB,KAAe,EAAa,IAAI,CAAY,MACtE,IAAW;CAGb,IAAM,UAAuB;EAI3B,AAHI,KAAe,CAAC,KAAY,MAAiB,KAC/C,EAAY,CAAY,GAE1B,EAAY,IAAI;CAClB,GAEM,KAAoB,MAA0B;EAC7C,KACL,EAAU,EAAe,GAAU,CAAI,CAAC;CAC1C;CAEA,OACE,kBAAC,GAAD;EACQ;EACG;EACT,QAAO;EACP,WAAW,EAAE,OAAO,EAAE,IAAI,EAAE,OAAO;GAAE,IAAI;GAAQ,IAAI;EAAI,EAAE,EAAE,EAAE;YAE/D,kBAAC,GAAD;GACE,IAAI;IAAE,GAAG;IAAG,SAAS;IAAQ,eAAe;IAAU,QAAQ;GAAO;aADvE;IAGE,kBAAC,GAAD;KAAK,IAAI;MAAE,SAAS;MAAQ,YAAY;MAAU,IAAI;KAAE;eAAxD,CACE,kBAAC,GAAD;MAAY,SAAQ;MAAK,IAAI,EAAE,UAAU,EAAE;gBAAG;KAElC,CAAA,GACZ,kBAAC,GAAD;MAAY,SAAS;MAAS,cAAW;gBACvC,kBAAC,GAAD,CAAY,CAAA;KACF,CAAA,CACT;;IAEJ,KACC,kBAAC,GAAD;KACE,OAAM;KACN,OAAO;KACP,WAAU,MACR,EAAY;MACV,QAAQ;MACR,OAAO,EAAoB,EAAE,OAAO,KAAK;KAC3C,CAAC;KAEH,QAAQ;KACR,YAAW,MAAK;MACd,AAAI,EAAE,QAAQ,YACZ,EAAE,eAAe,GACjB,EAAe;KAEnB;KACA,OAAO,MAAa;KACpB,YACE,KACA;KAEF,MAAK;KACL,WAAA;KACA,IAAI,EAAE,IAAI,EAAE;KACZ,WAAW,EAAE,OAAO,EAAE,IAAI,EAAE,YAAY,YAAY,EAAE,EAAE;IACzD,CAAA;IAGF,KACC,kBAAC,GAAD;KACE,QAAA;KACA,OAAM;KACN,OAAO;KACP,WAAU,MACR,EAAgB,EAAE,OAAO,KAA8B;KAEzD,MAAK;KACL,WAAA;KACA,IAAI,EAAE,IAAI,EAAE;KACZ,YAAW;eAEV,EAA2B,KAAI,MAC9B,kBAAC,GAAD;MAA0B,OAAO,EAAI;gBAClC,EAAI;KACG,GAFK,EAAI,KAET,CACX;IACQ,CAAA;IAGb,kBAAC,GAAD;KAAK,IAAI;MAAE,UAAU;MAAG,UAAU;KAAO;eACrC,IAEE,IACF,kBAAC,GAAD;MAAO,UAAS;MAAU,SAAQ;gBAAW;KAGtC,CAAA,IAEP,kBAAC,GAAD;MAAO,SAAS;gBAAhB;OACE,kBAAC,GAAD;QACE,OAAM;QACN,OAAO,EAAS,SAAS;QACzB,WAAU,MAAK,EAAS,EAAE,OAAO,EAAE,OAAO,MAAM,CAAC;QACjD,MAAK;QACL,WAAA;OACD,CAAA;OACD,kBAAC,GAAD;QACE,OAAM;QACN,OAAO,EAAS,eAAe;QAC/B,WAAU,MAAK,EAAS,EAAE,aAAa,EAAE,OAAO,MAAM,CAAC;QACvD,MAAK;QACL,WAAA;QACA,MAAM;QACN,WAAA;QACA,YAAW;OACZ,CAAA;OACD,kBAAC,GAAD;QAAO,WAAU;QAAM,SAAS;QAAG,YAAW;kBAA9C,CACE,kBAAC,GAAD;SACE,QAAA;SACA,OAAM;SACN,OAAO;SACP,WAAU,MACR,EAAiB,EAAE,OAAO,KAAwB;SAEpD,MAAK;SACL,IAAI,EAAE,UAAU,EAAE;mBAEjB,EAAmB,KAAI,MACtB,kBAAC,GAAD;UAA0B,OAAO,EAAI;oBAClC,EAAI;SACG,GAFK,EAAI,KAET,CACX;QACQ,CAAA,GACX,kBAAC,GAAD;SACE,SACE,kBAAC,GAAD;UACE,SAAS;UACT,WAAU,MAAK,EAAiB,EAAE,OAAO,OAAO;SACjD,CAAA;SAEH,OAAM;QACP,CAAA,CACI;;QAEL,MAAS,YAAY,MAAS,kBAC9B,kBAAC,GAAD;QACE,SAAS,EAAc,CAAQ;QAC/B,WAAU,MAEJ,EADJ,MAAS,WACI,EAAE,MAAM,EAAK,IACb,EACP,OAAO;SACL,GAAI,EAAS;SACb,MAAM;QACR,EACF,CAAC;OAER,CAAA;OAGF,MAAS,UACR,kBAAC,GAAD;QAAO,UAAS;QAAO,SAAQ;kBAAW;OAGnC,CAAA;MAEJ;UA3EP,kBAAC,GAAD;MAAO,UAAS;gBAAO;KAAyB,CAAA;IA6E/C,CAAA;IAEL,kBAAC,GAAD;KACE,IAAI;MACF,IAAI;MACJ,SAAS;MACT,gBAAgB;MAChB,KAAK;KACP;eANF,CAQE,kBAAC,GAAD;MACE,OAAM;MACN,WAAW,kBAAC,GAAD,CAAa,CAAA;MACxB,SAAS;MACT,UAAU,CAAC;gBAEV,IAAgB,mCAAmC;KAC9C,CAAA,GACR,kBAAC,GAAD;MAAQ,SAAQ;MAAY,SAAS;gBAAS;KAEtC,CAAA,CACL;;GACF;;CACC,CAAA;AAEZ"}
@@ -0,0 +1 @@
1
+ ._selectedRow_4haeg_1{outline-offset:-2px;border-radius:4px;outline:2px solid #0000}._selectedRow_4haeg_1[data-selected=true]{outline-color:var(--synapse-primary-action-color)}
@@ -0,0 +1,17 @@
1
+ import { RJSFSchema } from '@rjsf/utils';
2
+ export type FieldLibraryProps = {
3
+ jsonSchema: RJSFSchema;
4
+ /** Set of JSON pointers (e.g. `/institution`) currently bound to a step. */
5
+ usedPaths: Set<string>;
6
+ selectedPropertyKey: string | null;
7
+ onSelectField: (propertyKey: string) => void;
8
+ onCreateField: () => void;
9
+ };
10
+ /**
11
+ * Left pane: a compact list of all schema properties (the "fields" the form
12
+ * collects) -- both unconditional and any gated behind an
13
+ * `x-synapse-submissionContext` conditional. Each row is clickable and opens
14
+ * the field definition drawer.
15
+ */
16
+ export declare function FieldLibrary({ jsonSchema, usedPaths, selectedPropertyKey, onSelectField, onCreateField, }: FieldLibraryProps): import("react/jsx-runtime").JSX.Element;
17
+ //# sourceMappingURL=FieldLibrary.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"FieldLibrary.d.ts","sourceRoot":"","sources":["../../../src/components/FormTemplateEditor/FieldLibrary.tsx"],"names":[],"mappings":"AAWA,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAA;AASxC,MAAM,MAAM,iBAAiB,GAAG;IAC9B,UAAU,EAAE,UAAU,CAAA;IACtB,4EAA4E;IAC5E,SAAS,EAAE,GAAG,CAAC,MAAM,CAAC,CAAA;IACtB,mBAAmB,EAAE,MAAM,GAAG,IAAI,CAAA;IAClC,aAAa,EAAE,CAAC,WAAW,EAAE,MAAM,KAAK,IAAI,CAAA;IAC5C,aAAa,EAAE,MAAM,IAAI,CAAA;CAC1B,CAAA;AAED;;;;;GAKG;AACH,wBAAgB,YAAY,CAAC,EAC3B,UAAU,EACV,SAAS,EACT,mBAAmB,EACnB,aAAa,EACb,aAAa,GACd,EAAE,iBAAiB,2CA4FnB"}
@@ -0,0 +1,88 @@
1
+ import { listResolvedSchemaProperties as e, propertyKeyToPointer as t } from "../../utils/jsonschema/submissionContext.js";
2
+ import { FieldLibraryRow as n } from "./FieldLibraryRow.js";
3
+ import r from "./FieldLibrary.module.js";
4
+ import { useMemo as i, useState as a } from "react";
5
+ import { Alert as o, Box as s, Button as c, InputAdornment as l, Paper as u, Stack as d, TextField as f, Typography as p } from "@mui/material";
6
+ import { jsx as m, jsxs as h } from "react/jsx-runtime";
7
+ import { Add as g, Search as _ } from "@mui/icons-material";
8
+ //#region src/components/FormTemplateEditor/FieldLibrary.tsx
9
+ function v({ jsonSchema: v, usedPaths: y, selectedPropertyKey: b, onSelectField: x, onCreateField: S }) {
10
+ let [C, w] = a(""), T = i(() => e(v), [v]), E = i(() => {
11
+ if (!C) return T;
12
+ let e = C.toLowerCase();
13
+ return T.filter((t) => `${t.propertyKey} ${t.subSchema.title ?? ""}`.toLowerCase().includes(e));
14
+ }, [T, C]), D;
15
+ return D = T.length === 0 ? /* @__PURE__ */ m(o, {
16
+ severity: "info",
17
+ children: "No fields yet. Click \"New\" to start collecting information."
18
+ }) : E.length === 0 ? /* @__PURE__ */ h(o, {
19
+ severity: "info",
20
+ children: [
21
+ "No fields match \"",
22
+ C,
23
+ "\"."
24
+ ]
25
+ }) : /* @__PURE__ */ m(d, {
26
+ spacing: .75,
27
+ children: E.map((e) => /* @__PURE__ */ m(s, {
28
+ className: r.selectedRow,
29
+ "data-selected": b === e.propertyKey,
30
+ children: /* @__PURE__ */ m(n, {
31
+ propertyKey: e.propertyKey,
32
+ property: e.subSchema,
33
+ isRequired: e.isRequired,
34
+ context: e.context,
35
+ isUsedInSteps: y.has(t(e.propertyKey)),
36
+ onClick: () => x(e.propertyKey)
37
+ })
38
+ }, e.propertyKey))
39
+ }), /* @__PURE__ */ h(u, {
40
+ variant: "outlined",
41
+ sx: {
42
+ p: 2,
43
+ height: "100%"
44
+ },
45
+ children: [/* @__PURE__ */ h(s, {
46
+ sx: { mb: 1 },
47
+ children: [/* @__PURE__ */ m(p, {
48
+ variant: "subtitle2",
49
+ children: "Fields"
50
+ }), /* @__PURE__ */ m(p, {
51
+ variant: "caption",
52
+ color: "text.secondary",
53
+ children: "Define the data you want to collect. Click a field to edit it."
54
+ })]
55
+ }), /* @__PURE__ */ h(d, {
56
+ spacing: 1.5,
57
+ children: [/* @__PURE__ */ h(d, {
58
+ direction: "row",
59
+ spacing: 1,
60
+ alignItems: "center",
61
+ children: [/* @__PURE__ */ m(f, {
62
+ placeholder: "Search fields…",
63
+ value: C,
64
+ onChange: (e) => w(e.target.value),
65
+ size: "small",
66
+ fullWidth: !0,
67
+ slotProps: {
68
+ input: { startAdornment: /* @__PURE__ */ m(l, {
69
+ position: "start",
70
+ children: /* @__PURE__ */ m(_, { fontSize: "small" })
71
+ }) },
72
+ htmlInput: { "aria-label": "Search fields" }
73
+ }
74
+ }), /* @__PURE__ */ m(c, {
75
+ size: "small",
76
+ variant: "outlined",
77
+ startIcon: /* @__PURE__ */ m(g, {}),
78
+ onClick: S,
79
+ children: "New"
80
+ })]
81
+ }), D]
82
+ })]
83
+ });
84
+ }
85
+ //#endregion
86
+ export { v as FieldLibrary };
87
+
88
+ //# sourceMappingURL=FieldLibrary.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"FieldLibrary.js","names":[],"sources":["../../../src/components/FormTemplateEditor/FieldLibrary.tsx"],"sourcesContent":["import {\n Alert,\n Box,\n Button,\n InputAdornment,\n Paper,\n Stack,\n TextField,\n Typography,\n} from '@mui/material'\nimport { Add as AddIcon, Search as SearchIcon } from '@mui/icons-material'\nimport { RJSFSchema } from '@rjsf/utils'\nimport { ReactNode, useMemo, useState } from 'react'\nimport {\n listResolvedSchemaProperties,\n propertyKeyToPointer,\n} from '@/utils/jsonschema/submissionContext'\nimport { FieldLibraryRow } from './FieldLibraryRow'\nimport fieldLibraryStyles from './FieldLibrary.module.scss'\n\nexport type FieldLibraryProps = {\n jsonSchema: RJSFSchema\n /** Set of JSON pointers (e.g. `/institution`) currently bound to a step. */\n usedPaths: Set<string>\n selectedPropertyKey: string | null\n onSelectField: (propertyKey: string) => void\n onCreateField: () => void\n}\n\n/**\n * Left pane: a compact list of all schema properties (the \"fields\" the form\n * collects) -- both unconditional and any gated behind an\n * `x-synapse-submissionContext` conditional. Each row is clickable and opens\n * the field definition drawer.\n */\nexport function FieldLibrary({\n jsonSchema,\n usedPaths,\n selectedPropertyKey,\n onSelectField,\n onCreateField,\n}: FieldLibraryProps) {\n const [search, setSearch] = useState('')\n\n const resolvedProperties = useMemo(\n () => listResolvedSchemaProperties(jsonSchema),\n [jsonSchema],\n )\n\n const filtered = useMemo(() => {\n if (!search) return resolvedProperties\n const searchTerm = search.toLowerCase()\n return resolvedProperties.filter(p => {\n const entryAsString =\n `${p.propertyKey} ${p.subSchema.title ?? ''}`.toLowerCase()\n return entryAsString.includes(searchTerm)\n })\n }, [resolvedProperties, search])\n\n let fieldList: ReactNode\n if (resolvedProperties.length === 0) {\n fieldList = (\n <Alert severity=\"info\">\n No fields yet. Click \"New\" to start collecting information.\n </Alert>\n )\n } else if (filtered.length === 0) {\n fieldList = <Alert severity=\"info\">No fields match \"{search}\".</Alert>\n } else {\n fieldList = (\n <Stack spacing={0.75}>\n {filtered.map(p => (\n <Box\n key={p.propertyKey}\n className={fieldLibraryStyles.selectedRow}\n data-selected={selectedPropertyKey === p.propertyKey}\n >\n <FieldLibraryRow\n propertyKey={p.propertyKey}\n property={p.subSchema}\n isRequired={p.isRequired}\n context={p.context}\n isUsedInSteps={usedPaths.has(propertyKeyToPointer(p.propertyKey))}\n onClick={() => onSelectField(p.propertyKey)}\n />\n </Box>\n ))}\n </Stack>\n )\n }\n\n return (\n <Paper variant=\"outlined\" sx={{ p: 2, height: '100%' }}>\n <Box sx={{ mb: 1 }}>\n <Typography variant=\"subtitle2\">Fields</Typography>\n <Typography variant=\"caption\" color=\"text.secondary\">\n Define the data you want to collect. Click a field to edit it.\n </Typography>\n </Box>\n\n <Stack spacing={1.5}>\n <Stack direction=\"row\" spacing={1} alignItems=\"center\">\n <TextField\n placeholder=\"Search fields…\"\n value={search}\n onChange={e => setSearch(e.target.value)}\n size=\"small\"\n fullWidth\n slotProps={{\n input: {\n startAdornment: (\n <InputAdornment position=\"start\">\n <SearchIcon fontSize=\"small\" />\n </InputAdornment>\n ),\n },\n htmlInput: { 'aria-label': 'Search fields' },\n }}\n />\n <Button\n size=\"small\"\n variant=\"outlined\"\n startIcon={<AddIcon />}\n onClick={onCreateField}\n >\n New\n </Button>\n </Stack>\n\n {fieldList}\n </Stack>\n </Paper>\n )\n}\n"],"mappings":";;;;;;;;AAmCA,SAAgB,EAAa,EAC3B,eACA,cACA,wBACA,kBACA,oBACoB;CACpB,IAAM,CAAC,GAAQ,KAAa,EAAS,EAAE,GAEjC,IAAqB,QACnB,EAA6B,CAAU,GAC7C,CAAC,CAAU,CACb,GAEM,IAAW,QAAc;EAC7B,IAAI,CAAC,GAAQ,OAAO;EACpB,IAAM,IAAa,EAAO,YAAY;EACtC,OAAO,EAAmB,QAAO,MAE7B,GAAG,EAAE,YAAY,GAAG,EAAE,UAAU,SAAS,KAAK,YACzC,EAAc,SAAS,CAAU,CACzC;CACH,GAAG,CAAC,GAAoB,CAAM,CAAC,GAE3B;CAgCJ,OA/BA,AASE,IATE,EAAmB,WAAW,IAE9B,kBAAC,GAAD;EAAO,UAAS;YAAO;CAEhB,CAAA,IAEA,EAAS,WAAW,IACjB,kBAAC,GAAD;EAAO,UAAS;YAAhB;GAAuB;GAAkB;GAAO;EAAS;MAGnE,kBAAC,GAAD;EAAO,SAAS;YACb,EAAS,KAAI,MACZ,kBAAC,GAAD;GAEE,WAAW,EAAmB;GAC9B,iBAAe,MAAwB,EAAE;aAEzC,kBAAC,GAAD;IACE,aAAa,EAAE;IACf,UAAU,EAAE;IACZ,YAAY,EAAE;IACd,SAAS,EAAE;IACX,eAAe,EAAU,IAAI,EAAqB,EAAE,WAAW,CAAC;IAChE,eAAe,EAAc,EAAE,WAAW;GAC3C,CAAA;EACE,GAZE,EAAE,WAYJ,CACN;CACI,CAAA,GAKT,kBAAC,GAAD;EAAO,SAAQ;EAAW,IAAI;GAAE,GAAG;GAAG,QAAQ;EAAO;YAArD,CACE,kBAAC,GAAD;GAAK,IAAI,EAAE,IAAI,EAAE;aAAjB,CACE,kBAAC,GAAD;IAAY,SAAQ;cAAY;GAAkB,CAAA,GAClD,kBAAC,GAAD;IAAY,SAAQ;IAAU,OAAM;cAAiB;GAEzC,CAAA,CACT;MAEL,kBAAC,GAAD;GAAO,SAAS;aAAhB,CACE,kBAAC,GAAD;IAAO,WAAU;IAAM,SAAS;IAAG,YAAW;cAA9C,CACE,kBAAC,GAAD;KACE,aAAY;KACZ,OAAO;KACP,WAAU,MAAK,EAAU,EAAE,OAAO,KAAK;KACvC,MAAK;KACL,WAAA;KACA,WAAW;MACT,OAAO,EACL,gBACE,kBAAC,GAAD;OAAgB,UAAS;iBACvB,kBAAC,GAAD,EAAY,UAAS,QAAS,CAAA;MAChB,CAAA,EAEpB;MACA,WAAW,EAAE,cAAc,gBAAgB;KAC7C;IACD,CAAA,GACD,kBAAC,GAAD;KACE,MAAK;KACL,SAAQ;KACR,WAAW,kBAAC,GAAD,CAAU,CAAA;KACrB,SAAS;eACV;IAEO,CAAA,CACH;OAEN,CACI;IACF;;AAEX"}
@@ -0,0 +1,5 @@
1
+ import './FieldLibrary.css';var e = { selectedRow: "_selectedRow_4haeg_1" };
2
+ //#endregion
3
+ export { e as default };
4
+
5
+ //# sourceMappingURL=FieldLibrary.module.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"FieldLibrary.module.js","names":[],"sources":["../../../src/components/FormTemplateEditor/FieldLibrary.module.scss"],"sourcesContent":["// Highlight for the field-library row matching the currently selected property.\n// Toggled with `data-selected` so the component only reports state and the look lives here,\n// matching the pattern used by dropTarget.module.scss.\n.selectedRow {\n outline: 2px solid transparent;\n outline-offset: -2px;\n border-radius: 4px;\n\n &[data-selected='true'] {\n outline-color: var(--synapse-primary-action-color);\n }\n}\n"],"mappings":""}
@@ -0,0 +1,12 @@
1
+ // Highlight for the field-library row matching the currently selected property.
2
+ // Toggled with `data-selected` so the component only reports state and the look lives here,
3
+ // matching the pattern used by dropTarget.module.scss.
4
+ .selectedRow {
5
+ outline: 2px solid transparent;
6
+ outline-offset: -2px;
7
+ border-radius: 4px;
8
+
9
+ &[data-selected='true'] {
10
+ outline-color: var(--synapse-primary-action-color);
11
+ }
12
+ }
@@ -0,0 +1,19 @@
1
+ import { RJSFSchema } from '@rjsf/utils';
2
+ import { SchemaPropertyContext } from '@/utils/jsonschema/submissionContext';
3
+ export type FieldLibraryRowProps = {
4
+ propertyKey: string;
5
+ property: RJSFSchema;
6
+ isRequired: boolean;
7
+ /** Which submission context (per the schema's `x-synapse-submissionContext` convention)
8
+ * gates this property. `ALWAYS` properties show no badge. */
9
+ context: SchemaPropertyContext;
10
+ isUsedInSteps: boolean;
11
+ onClick: () => void;
12
+ };
13
+ /**
14
+ * A compact row in the field library. Click anywhere to edit the field's
15
+ * definition; grab the drag indicator on the left to bind it to a step.
16
+ * Rows already bound to a step are non-draggable.
17
+ */
18
+ export declare function FieldLibraryRow({ propertyKey, property, isRequired, context, isUsedInSteps, onClick, }: FieldLibraryRowProps): import("react/jsx-runtime").JSX.Element;
19
+ //# sourceMappingURL=FieldLibraryRow.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"FieldLibraryRow.d.ts","sourceRoot":"","sources":["../../../src/components/FormTemplateEditor/FieldLibraryRow.tsx"],"names":[],"mappings":"AAGA,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAA;AACxC,OAAO,EACL,qBAAqB,EAEtB,MAAM,sCAAsC,CAAA;AAK7C,MAAM,MAAM,oBAAoB,GAAG;IACjC,WAAW,EAAE,MAAM,CAAA;IACnB,QAAQ,EAAE,UAAU,CAAA;IACpB,UAAU,EAAE,OAAO,CAAA;IACnB;iEAC6D;IAC7D,OAAO,EAAE,qBAAqB,CAAA;IAC9B,aAAa,EAAE,OAAO,CAAA;IACtB,OAAO,EAAE,MAAM,IAAI,CAAA;CACpB,CAAA;AAED;;;;GAIG;AACH,wBAAgB,eAAe,CAAC,EAC9B,WAAW,EACX,QAAQ,EACR,UAAU,EACV,OAAO,EACP,aAAa,EACb,OAAO,GACR,EAAE,oBAAoB,2CA6GtB"}