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.
- package/dist/SWC.index.d.ts +1 -0
- package/dist/SWC.index.d.ts.map +1 -1
- package/dist/SWC.index.js +2 -1
- package/dist/SWC.index.js.map +1 -1
- package/dist/components/AccessRequirement/ImposeRestrictionDialog/ImposeRestrictionDialog.d.ts +1 -0
- package/dist/components/AccessRequirement/ImposeRestrictionDialog/ImposeRestrictionDialog.d.ts.map +1 -1
- package/dist/components/AccessRequirement/ImposeRestrictionDialog/ImposeRestrictionDialog.js +12 -12
- package/dist/components/AccessRequirement/ImposeRestrictionDialog/ImposeRestrictionDialog.js.map +1 -1
- package/dist/components/AccessRequirementList/ManagedACTAccessRequirementRequestFlow/AccessorRequirementHelpText.d.ts +7 -0
- package/dist/components/AccessRequirementList/ManagedACTAccessRequirementRequestFlow/AccessorRequirementHelpText.d.ts.map +1 -0
- package/dist/components/AccessRequirementList/ManagedACTAccessRequirementRequestFlow/AccessorRequirementHelpText.js +30 -0
- package/dist/components/AccessRequirementList/ManagedACTAccessRequirementRequestFlow/AccessorRequirementHelpText.js.map +1 -0
- package/dist/components/AccessRequirementList/ManagedACTAccessRequirementRequestFlow/DataAccessRequestAccessorsFilesForm/DataAccessRequestAccessorsFilesForm.d.ts.map +1 -1
- package/dist/components/AccessRequirementList/ManagedACTAccessRequirementRequestFlow/DataAccessRequestAccessorsFilesForm/DataAccessRequestAccessorsFilesForm.js +138 -244
- package/dist/components/AccessRequirementList/ManagedACTAccessRequirementRequestFlow/DataAccessRequestAccessorsFilesForm/DataAccessRequestAccessorsFilesForm.js.map +1 -1
- package/dist/components/AccessRequirementList/ManagedACTAccessRequirementRequestFlow/DucUploadSection.d.ts +13 -0
- package/dist/components/AccessRequirementList/ManagedACTAccessRequirementRequestFlow/DucUploadSection.d.ts.map +1 -0
- package/dist/components/AccessRequirementList/ManagedACTAccessRequirementRequestFlow/DucUploadSection.js +60 -0
- package/dist/components/AccessRequirementList/ManagedACTAccessRequirementRequestFlow/DucUploadSection.js.map +1 -0
- package/dist/components/AccessRequirementList/ManagedACTAccessRequirementRequestFlow/EDucPreviewStep/EDucPreviewStep.d.ts +8 -2
- package/dist/components/AccessRequirementList/ManagedACTAccessRequirementRequestFlow/EDucPreviewStep/EDucPreviewStep.d.ts.map +1 -1
- package/dist/components/AccessRequirementList/ManagedACTAccessRequirementRequestFlow/EDucPreviewStep/EDucPreviewStep.js +179 -63
- package/dist/components/AccessRequirementList/ManagedACTAccessRequirementRequestFlow/EDucPreviewStep/EDucPreviewStep.js.map +1 -1
- package/dist/components/AccessRequirementList/ManagedACTAccessRequirementRequestFlow/ManagedACTAccessRequirementFormWikiWrapper.d.ts +2 -0
- package/dist/components/AccessRequirementList/ManagedACTAccessRequirementRequestFlow/ManagedACTAccessRequirementFormWikiWrapper.d.ts.map +1 -1
- package/dist/components/AccessRequirementList/ManagedACTAccessRequirementRequestFlow/ManagedACTAccessRequirementFormWikiWrapper.js +13 -13
- package/dist/components/AccessRequirementList/ManagedACTAccessRequirementRequestFlow/ManagedACTAccessRequirementFormWikiWrapper.js.map +1 -1
- package/dist/components/AccessRequirementList/ManagedACTAccessRequirementRequestFlow/ManagedACTAccessRequirementItemView.d.ts +3 -2
- package/dist/components/AccessRequirementList/ManagedACTAccessRequirementRequestFlow/ManagedACTAccessRequirementItemView.d.ts.map +1 -1
- package/dist/components/AccessRequirementList/ManagedACTAccessRequirementRequestFlow/ManagedACTAccessRequirementItemView.js.map +1 -1
- package/dist/components/AccessRequirementList/ManagedACTAccessRequirementRequestFlow/ManualUploadDucStep/ManualUploadDucStep.d.ts +3 -2
- package/dist/components/AccessRequirementList/ManagedACTAccessRequirementRequestFlow/ManualUploadDucStep/ManualUploadDucStep.d.ts.map +1 -1
- package/dist/components/AccessRequirementList/ManagedACTAccessRequirementRequestFlow/ManualUploadDucStep/ManualUploadDucStep.js.map +1 -1
- package/dist/components/AccessRequirementList/ManagedACTAccessRequirementRequestFlow/PrincipalInvestigatorFields.d.ts +12 -0
- package/dist/components/AccessRequirementList/ManagedACTAccessRequirementRequestFlow/PrincipalInvestigatorFields.d.ts.map +1 -0
- package/dist/components/AccessRequirementList/ManagedACTAccessRequirementRequestFlow/PrincipalInvestigatorFields.js +50 -0
- package/dist/components/AccessRequirementList/ManagedACTAccessRequirementRequestFlow/PrincipalInvestigatorFields.js.map +1 -0
- package/dist/components/AccessRequirementList/ManagedACTAccessRequirementRequestFlow/ResearchProjectForm/ResearchProjectForm.d.ts.map +1 -1
- package/dist/components/AccessRequirementList/ManagedACTAccessRequirementRequestFlow/ResearchProjectForm/ResearchProjectForm.js +112 -143
- package/dist/components/AccessRequirementList/ManagedACTAccessRequirementRequestFlow/ResearchProjectForm/ResearchProjectForm.js.map +1 -1
- package/dist/components/AccessRequirementList/ManagedACTAccessRequirementRequestFlow/ReviewDucStep/ReviewDucStep.d.ts +4 -2
- package/dist/components/AccessRequirementList/ManagedACTAccessRequirementRequestFlow/ReviewDucStep/ReviewDucStep.d.ts.map +1 -1
- package/dist/components/AccessRequirementList/ManagedACTAccessRequirementRequestFlow/ReviewDucStep/ReviewDucStep.js +8 -7
- package/dist/components/AccessRequirementList/ManagedACTAccessRequirementRequestFlow/ReviewDucStep/ReviewDucStep.js.map +1 -1
- package/dist/components/AccessRequirementList/ManagedACTAccessRequirementRequestFlow/SignatureStatusStep/SignatureStatusStep.d.ts +3 -2
- package/dist/components/AccessRequirementList/ManagedACTAccessRequirementRequestFlow/SignatureStatusStep/SignatureStatusStep.d.ts.map +1 -1
- package/dist/components/AccessRequirementList/ManagedACTAccessRequirementRequestFlow/SignatureStatusStep/SignatureStatusStep.js +79 -47
- package/dist/components/AccessRequirementList/ManagedACTAccessRequirementRequestFlow/SignatureStatusStep/SignatureStatusStep.js.map +1 -1
- package/dist/components/AccessRequirementList/ManagedACTAccessRequirementRequestFlow/SigningOfficialFields.d.ts +12 -0
- package/dist/components/AccessRequirementList/ManagedACTAccessRequirementRequestFlow/SigningOfficialFields.d.ts.map +1 -0
- package/dist/components/AccessRequirementList/ManagedACTAccessRequirementRequestFlow/SigningOfficialFields.js +51 -0
- package/dist/components/AccessRequirementList/ManagedACTAccessRequirementRequestFlow/SigningOfficialFields.js.map +1 -0
- package/dist/components/AccessRequirementList/ManagedACTAccessRequirementRequestFlow/eDucSignatureUtils.d.ts +12 -0
- package/dist/components/AccessRequirementList/ManagedACTAccessRequirementRequestFlow/eDucSignatureUtils.d.ts.map +1 -0
- package/dist/components/AccessRequirementList/ManagedACTAccessRequirementRequestFlow/eDucSignatureUtils.js +24 -0
- package/dist/components/AccessRequirementList/ManagedACTAccessRequirementRequestFlow/eDucSignatureUtils.js.map +1 -0
- package/dist/components/AccessRequirementList/ManagedACTAccessRequirementRequestFlow/requestFlowTypes.d.ts +11 -0
- package/dist/components/AccessRequirementList/ManagedACTAccessRequirementRequestFlow/requestFlowTypes.d.ts.map +1 -0
- package/dist/components/AccessRequirementList/ManagedACTAccessRequirementRequestFlow/requestFlowTypes.js +0 -0
- package/dist/components/AccessRequirementList/ManagedACTAccessRequirementRequestFlow/useInitializeRequestAccessors.d.ts +22 -0
- package/dist/components/AccessRequirementList/ManagedACTAccessRequirementRequestFlow/useInitializeRequestAccessors.d.ts.map +1 -0
- package/dist/components/AccessRequirementList/ManagedACTAccessRequirementRequestFlow/useInitializeRequestAccessors.js +32 -0
- package/dist/components/AccessRequirementList/ManagedACTAccessRequirementRequestFlow/useInitializeRequestAccessors.js.map +1 -0
- package/dist/components/AclEditor/AclEditor.js +20 -20
- package/dist/components/Aridhia/AridhiaAccessStatus.d.ts.map +1 -1
- package/dist/components/Aridhia/AridhiaAccessStatus.js +51 -48
- package/dist/components/Aridhia/AridhiaAccessStatus.js.map +1 -1
- package/dist/components/Authentication/Constants.d.ts +4 -0
- package/dist/components/Authentication/Constants.d.ts.map +1 -1
- package/dist/components/Authentication/Constants.js +5 -2
- package/dist/components/Authentication/Constants.js.map +1 -1
- package/dist/components/Authentication/RecoveryCodeGrid.d.ts.map +1 -1
- package/dist/components/Authentication/RecoveryCodeGrid.js +8 -1
- package/dist/components/Authentication/RecoveryCodeGrid.js.map +1 -1
- package/dist/components/Authentication/RegenerateBackupCodesWarning.js +4 -1
- package/dist/components/Authentication/RegenerateBackupCodesWarning.js.map +1 -1
- package/dist/components/Authentication/TOTPForm.d.ts.map +1 -1
- package/dist/components/Authentication/TOTPForm.js +20 -18
- package/dist/components/Authentication/TOTPForm.js.map +1 -1
- package/dist/components/Authentication/TwoFactorBackupCodes.d.ts.map +1 -1
- package/dist/components/Authentication/TwoFactorBackupCodes.js +41 -12
- package/dist/components/Authentication/TwoFactorBackupCodes.js.map +1 -1
- package/dist/components/Authentication/TwoFactorEnrollmentForm.d.ts.map +1 -1
- package/dist/components/Authentication/TwoFactorEnrollmentForm.js +90 -77
- package/dist/components/Authentication/TwoFactorEnrollmentForm.js.map +1 -1
- package/dist/components/DataGrid/SynapseGrid.d.ts.map +1 -1
- package/dist/components/DataGrid/SynapseGrid.js +244 -246
- package/dist/components/DataGrid/SynapseGrid.js.map +1 -1
- package/dist/components/DataGrid/components/GridLoadingState.d.ts +23 -0
- package/dist/components/DataGrid/components/GridLoadingState.d.ts.map +1 -0
- package/dist/components/DataGrid/components/GridLoadingState.js +64 -0
- package/dist/components/DataGrid/components/GridLoadingState.js.map +1 -0
- package/dist/components/DataGrid/components/ReorderColumnsDialog.d.ts.map +1 -1
- package/dist/components/DataGrid/components/ReorderColumnsDialog.js +52 -54
- package/dist/components/DataGrid/components/ReorderColumnsDialog.js.map +1 -1
- package/dist/components/DataGrid/useDataGridWebsocket.d.ts +60 -6
- package/dist/components/DataGrid/useDataGridWebsocket.d.ts.map +1 -1
- package/dist/components/DataGrid/useDataGridWebsocket.js +71 -60
- package/dist/components/DataGrid/useDataGridWebsocket.js.map +1 -1
- package/dist/components/DataGrid/utils/getNamedColumnIndices.d.ts +11 -0
- package/dist/components/DataGrid/utils/getNamedColumnIndices.d.ts.map +1 -0
- package/dist/components/DataGrid/utils/getNamedColumnIndices.js +8 -0
- package/dist/components/DataGrid/utils/getNamedColumnIndices.js.map +1 -0
- package/dist/components/FilePreview/FileHandleContentRenderer.d.ts +6 -2
- package/dist/components/FilePreview/FileHandleContentRenderer.d.ts.map +1 -1
- package/dist/components/FilePreview/FileHandleContentRenderer.js +27 -14
- package/dist/components/FilePreview/FileHandleContentRenderer.js.map +1 -1
- package/dist/components/FilePreview/PdfPreview.d.ts +1 -1
- package/dist/components/FilePreview/PdfPreview.d.ts.map +1 -1
- package/dist/components/FilePreview/PdfPreview.js +15 -16
- package/dist/components/FilePreview/PdfPreview.js.map +1 -1
- package/dist/components/FormTemplateEditor/ChoiceOptionsEditor.d.ts +11 -0
- package/dist/components/FormTemplateEditor/ChoiceOptionsEditor.d.ts.map +1 -0
- package/dist/components/FormTemplateEditor/ChoiceOptionsEditor.js +61 -0
- package/dist/components/FormTemplateEditor/ChoiceOptionsEditor.js.map +1 -0
- package/dist/components/FormTemplateEditor/FieldDefinitionDrawer.d.ts +33 -0
- package/dist/components/FormTemplateEditor/FieldDefinitionDrawer.d.ts.map +1 -0
- package/dist/components/FormTemplateEditor/FieldDefinitionDrawer.js +190 -0
- package/dist/components/FormTemplateEditor/FieldDefinitionDrawer.js.map +1 -0
- package/dist/components/FormTemplateEditor/FieldLibrary.css +1 -0
- package/dist/components/FormTemplateEditor/FieldLibrary.d.ts +17 -0
- package/dist/components/FormTemplateEditor/FieldLibrary.d.ts.map +1 -0
- package/dist/components/FormTemplateEditor/FieldLibrary.js +88 -0
- package/dist/components/FormTemplateEditor/FieldLibrary.js.map +1 -0
- package/dist/components/FormTemplateEditor/FieldLibrary.module.js +5 -0
- package/dist/components/FormTemplateEditor/FieldLibrary.module.js.map +1 -0
- package/dist/components/FormTemplateEditor/FieldLibrary.module.scss +12 -0
- package/dist/components/FormTemplateEditor/FieldLibraryRow.d.ts +19 -0
- package/dist/components/FormTemplateEditor/FieldLibraryRow.d.ts.map +1 -0
- package/dist/components/FormTemplateEditor/FieldLibraryRow.js +115 -0
- package/dist/components/FormTemplateEditor/FieldLibraryRow.js.map +1 -0
- package/dist/components/FormTemplateEditor/FieldValidationErrorAlert.css +1 -0
- package/dist/components/FormTemplateEditor/FieldValidationErrorAlert.d.ts +9 -0
- package/dist/components/FormTemplateEditor/FieldValidationErrorAlert.d.ts.map +1 -0
- package/dist/components/FormTemplateEditor/FieldValidationErrorAlert.js +18 -0
- package/dist/components/FormTemplateEditor/FieldValidationErrorAlert.js.map +1 -0
- package/dist/components/FormTemplateEditor/FieldValidationErrorAlert.module.js +5 -0
- package/dist/components/FormTemplateEditor/FieldValidationErrorAlert.module.js.map +1 -0
- package/dist/components/FormTemplateEditor/FieldValidationErrorAlert.module.scss +4 -0
- package/dist/components/FormTemplateEditor/FormStructurePanel.d.ts +21 -0
- package/dist/components/FormTemplateEditor/FormStructurePanel.d.ts.map +1 -0
- package/dist/components/FormTemplateEditor/FormStructurePanel.js +108 -0
- package/dist/components/FormTemplateEditor/FormStructurePanel.js.map +1 -0
- package/dist/components/FormTemplateEditor/FormTemplateEditor.d.ts +10 -0
- package/dist/components/FormTemplateEditor/FormTemplateEditor.d.ts.map +1 -0
- package/dist/components/FormTemplateEditor/FormTemplateEditor.js +31 -0
- package/dist/components/FormTemplateEditor/FormTemplateEditor.js.map +1 -0
- package/dist/components/FormTemplateEditor/FormTemplateEditorForm.d.ts +15 -0
- package/dist/components/FormTemplateEditor/FormTemplateEditorForm.d.ts.map +1 -0
- package/dist/components/FormTemplateEditor/FormTemplateEditorForm.js +234 -0
- package/dist/components/FormTemplateEditor/FormTemplateEditorForm.js.map +1 -0
- package/dist/components/FormTemplateEditor/FormTemplatePreview.d.ts +14 -0
- package/dist/components/FormTemplateEditor/FormTemplatePreview.d.ts.map +1 -0
- package/dist/components/FormTemplateEditor/FormTemplatePreview.js +72 -0
- package/dist/components/FormTemplateEditor/FormTemplatePreview.js.map +1 -0
- package/dist/components/FormTemplateEditor/JsonSchemaBodyEditor.d.ts +13 -0
- package/dist/components/FormTemplateEditor/JsonSchemaBodyEditor.d.ts.map +1 -0
- package/dist/components/FormTemplateEditor/JsonSchemaBodyEditor.js +33 -0
- package/dist/components/FormTemplateEditor/JsonSchemaBodyEditor.js.map +1 -0
- package/dist/components/FormTemplateEditor/StepCard.d.ts +25 -0
- package/dist/components/FormTemplateEditor/StepCard.d.ts.map +1 -0
- package/dist/components/FormTemplateEditor/StepCard.js +203 -0
- package/dist/components/FormTemplateEditor/StepCard.js.map +1 -0
- package/dist/components/FormTemplateEditor/StepFieldRow.d.ts +34 -0
- package/dist/components/FormTemplateEditor/StepFieldRow.d.ts.map +1 -0
- package/dist/components/FormTemplateEditor/StepFieldRow.js +128 -0
- package/dist/components/FormTemplateEditor/StepFieldRow.js.map +1 -0
- package/dist/components/FormTemplateEditor/TemplateFileHandleField.d.ts +19 -0
- package/dist/components/FormTemplateEditor/TemplateFileHandleField.d.ts.map +1 -0
- package/dist/components/FormTemplateEditor/TemplateFileHandleField.js +78 -0
- package/dist/components/FormTemplateEditor/TemplateFileHandleField.js.map +1 -0
- package/dist/components/FormTemplateEditor/dragHandle.css +1 -0
- package/dist/components/FormTemplateEditor/dragHandle.module.js +8 -0
- package/dist/components/FormTemplateEditor/dragHandle.module.js.map +1 -0
- package/dist/components/FormTemplateEditor/dragHandle.module.scss +22 -0
- package/dist/components/FormTemplateEditor/dropTarget.css +1 -0
- package/dist/components/FormTemplateEditor/dropTarget.module.js +5 -0
- package/dist/components/FormTemplateEditor/dropTarget.module.js.map +1 -0
- package/dist/components/FormTemplateEditor/dropTarget.module.scss +14 -0
- package/dist/components/FormTemplateEditor/formTemplateDraftState.d.ts +48 -0
- package/dist/components/FormTemplateEditor/formTemplateDraftState.d.ts.map +1 -0
- package/dist/components/FormTemplateEditor/formTemplateDraftState.js +126 -0
- package/dist/components/FormTemplateEditor/formTemplateDraftState.js.map +1 -0
- package/dist/components/FormTemplateEditor/formTemplateSchema.d.ts +35 -0
- package/dist/components/FormTemplateEditor/formTemplateSchema.d.ts.map +1 -0
- package/dist/components/FormTemplateEditor/formTemplateSchema.js +35 -0
- package/dist/components/FormTemplateEditor/formTemplateSchema.js.map +1 -0
- package/dist/components/FormTemplateEditor/formTemplateValidation.d.ts +32 -0
- package/dist/components/FormTemplateEditor/formTemplateValidation.d.ts.map +1 -0
- package/dist/components/FormTemplateEditor/formTemplateValidation.js +75 -0
- package/dist/components/FormTemplateEditor/formTemplateValidation.js.map +1 -0
- package/dist/components/FormTemplateEditor/schemaFieldUtils.d.ts +27 -0
- package/dist/components/FormTemplateEditor/schemaFieldUtils.d.ts.map +1 -0
- package/dist/components/FormTemplateEditor/schemaFieldUtils.js +84 -0
- package/dist/components/FormTemplateEditor/schemaFieldUtils.js.map +1 -0
- package/dist/components/FormTemplateEditor/sortableIds.d.ts +23 -0
- package/dist/components/FormTemplateEditor/sortableIds.d.ts.map +1 -0
- package/dist/components/FormTemplateEditor/sortableIds.js +24 -0
- package/dist/components/FormTemplateEditor/sortableIds.js.map +1 -0
- package/dist/components/FormTemplateEditor/useFormTemplateDraft.d.ts +33 -0
- package/dist/components/FormTemplateEditor/useFormTemplateDraft.d.ts.map +1 -0
- package/dist/components/FormTemplateEditor/useFormTemplateDraft.js +59 -0
- package/dist/components/FormTemplateEditor/useFormTemplateDraft.js.map +1 -0
- package/dist/components/FormTemplateEditor/useFormTemplateDrag.d.ts +9 -0
- package/dist/components/FormTemplateEditor/useFormTemplateDrag.d.ts.map +1 -0
- package/dist/components/FormTemplateEditor/useFormTemplateDrag.js +66 -0
- package/dist/components/FormTemplateEditor/useFormTemplateDrag.js.map +1 -0
- package/dist/components/FormTemplateEditor/useSaveFormTemplate.d.ts +28 -0
- package/dist/components/FormTemplateEditor/useSaveFormTemplate.d.ts.map +1 -0
- package/dist/components/FormTemplateEditor/useSaveFormTemplate.js +54 -0
- package/dist/components/FormTemplateEditor/useSaveFormTemplate.js.map +1 -0
- package/dist/components/FormTemplateEditor/utils.d.ts +21 -0
- package/dist/components/FormTemplateEditor/utils.d.ts.map +1 -0
- package/dist/components/FormTemplateEditor/utils.js +24 -0
- package/dist/components/FormTemplateEditor/utils.js.map +1 -0
- package/dist/components/JsonSchemaForm/CustomFormContext.d.ts +1 -1
- package/dist/components/JsonSchemaForm/CustomFormContext.d.ts.map +1 -1
- package/dist/components/JsonSchemaForm/JsonSchemaForm.css +1 -1
- package/dist/components/JsonSchemaForm/JsonSchemaForm.module.js +1 -1
- package/dist/components/JsonSchemaForm/JsonSchemaForm.module.js.map +1 -1
- package/dist/components/JsonSchemaForm/JsonSchemaForm.module.scss +6 -1
- package/dist/components/JsonSchemaForm/templates/RJSFInputLabel.d.ts.map +1 -1
- package/dist/components/JsonSchemaForm/templates/RJSFInputLabel.js +4 -0
- package/dist/components/JsonSchemaForm/templates/RJSFInputLabel.js.map +1 -1
- package/dist/components/JsonSchemaForm/widgets/SelectWidget.d.ts +11 -0
- package/dist/components/JsonSchemaForm/widgets/SelectWidget.d.ts.map +1 -1
- package/dist/components/JsonSchemaForm/widgets/SelectWidget.js +28 -19
- package/dist/components/JsonSchemaForm/widgets/SelectWidget.js.map +1 -1
- package/dist/components/QueryBuilder/FilterConditionRow.css +1 -1
- package/dist/components/QueryBuilder/FilterConditionRow.d.ts +3 -0
- package/dist/components/QueryBuilder/FilterConditionRow.d.ts.map +1 -1
- package/dist/components/QueryBuilder/FilterConditionRow.js +123 -123
- package/dist/components/QueryBuilder/FilterConditionRow.js.map +1 -1
- package/dist/components/QueryBuilder/FilterConditionRow.module.js +10 -11
- package/dist/components/QueryBuilder/FilterConditionRow.module.js.map +1 -1
- package/dist/components/QueryBuilder/FilterConditionRow.module.scss +0 -5
- package/dist/components/QueryBuilder/FilterGroupNode.css +1 -1
- package/dist/components/QueryBuilder/FilterGroupNode.d.ts +4 -0
- package/dist/components/QueryBuilder/FilterGroupNode.d.ts.map +1 -1
- package/dist/components/QueryBuilder/FilterGroupNode.js +85 -51
- package/dist/components/QueryBuilder/FilterGroupNode.js.map +1 -1
- package/dist/components/QueryBuilder/FilterGroupNode.module.js +10 -9
- package/dist/components/QueryBuilder/FilterGroupNode.module.js.map +1 -1
- package/dist/components/QueryBuilder/FilterGroupNode.module.scss +9 -0
- package/dist/components/QueryBuilder/QBDragHandle.d.ts +10 -0
- package/dist/components/QueryBuilder/QBDragHandle.d.ts.map +1 -0
- package/dist/components/QueryBuilder/QBDragHandle.js +22 -0
- package/dist/components/QueryBuilder/QBDragHandle.js.map +1 -0
- package/dist/components/QueryBuilder/QueryBuilderControls.d.ts.map +1 -1
- package/dist/components/QueryBuilder/QueryBuilderControls.js +120 -108
- package/dist/components/QueryBuilder/QueryBuilderControls.js.map +1 -1
- package/dist/components/QueryBuilder/QueryBuilderInternalContext.d.ts +7 -0
- package/dist/components/QueryBuilder/QueryBuilderInternalContext.d.ts.map +1 -1
- package/dist/components/QueryBuilder/QueryBuilderInternalContext.js.map +1 -1
- package/dist/components/QueryBuilder/qbTreeToReadable.d.ts +2 -1
- package/dist/components/QueryBuilder/qbTreeToReadable.d.ts.map +1 -1
- package/dist/components/QueryBuilder/qbTreeToReadable.js +25 -21
- package/dist/components/QueryBuilder/qbTreeToReadable.js.map +1 -1
- package/dist/components/QueryBuilder/queryBuilderDnd.d.ts +27 -0
- package/dist/components/QueryBuilder/queryBuilderDnd.d.ts.map +1 -0
- package/dist/components/QueryBuilder/queryBuilderDnd.js +41 -0
- package/dist/components/QueryBuilder/queryBuilderDnd.js.map +1 -0
- package/dist/components/QueryBuilder/queryBuilderDrag.css +1 -0
- package/dist/components/QueryBuilder/queryBuilderDrag.module.js +8 -0
- package/dist/components/QueryBuilder/queryBuilderDrag.module.js.map +1 -0
- package/dist/components/QueryBuilder/queryBuilderDrag.module.scss +12 -0
- package/dist/components/QueryBuilder/queryBuilderMetadata.d.ts +16 -0
- package/dist/components/QueryBuilder/queryBuilderMetadata.d.ts.map +1 -1
- package/dist/components/QueryBuilder/queryBuilderMetadata.js +13 -5
- package/dist/components/QueryBuilder/queryBuilderMetadata.js.map +1 -1
- package/dist/components/QueryBuilder/queryBuilderOperations.d.ts +13 -0
- package/dist/components/QueryBuilder/queryBuilderOperations.d.ts.map +1 -1
- package/dist/components/QueryBuilder/queryBuilderOperations.js +39 -36
- package/dist/components/QueryBuilder/queryBuilderOperations.js.map +1 -1
- package/dist/components/QueryBuilder/useQBValueDisplayName.d.ts +18 -0
- package/dist/components/QueryBuilder/useQBValueDisplayName.d.ts.map +1 -0
- package/dist/components/QueryBuilder/useQBValueDisplayName.js +64 -0
- package/dist/components/QueryBuilder/useQBValueDisplayName.js.map +1 -0
- package/dist/components/QueryWrapperPlotNav/QueryWrapperPlotNav.d.ts.map +1 -1
- package/dist/components/QueryWrapperPlotNav/QueryWrapperPlotNav.js +46 -47
- package/dist/components/QueryWrapperPlotNav/QueryWrapperPlotNav.js.map +1 -1
- package/dist/components/SynapseTable/RowSelection/RowSelectionControls.js +6 -6
- package/dist/components/SynapseTable/RowSelection/RowSelectionUI.d.ts +1 -0
- package/dist/components/SynapseTable/RowSelection/RowSelectionUI.d.ts.map +1 -1
- package/dist/components/SynapseTable/RowSelection/RowSelectionUI.js +13 -11
- package/dist/components/SynapseTable/RowSelection/RowSelectionUI.js.map +1 -1
- package/dist/components/SynapseTable/SearchV2.js +4 -4
- package/dist/components/ToastMessage/ToastMessage.d.ts.map +1 -1
- package/dist/components/ToastMessage/ToastMessage.js +25 -22
- package/dist/components/ToastMessage/ToastMessage.js.map +1 -1
- package/dist/components/dataaccess/FormTemplateEditorRoute.d.ts +7 -0
- package/dist/components/dataaccess/FormTemplateEditorRoute.d.ts.map +1 -0
- package/dist/components/dataaccess/FormTemplateEditorRoute.js +26 -0
- package/dist/components/dataaccess/FormTemplateEditorRoute.js.map +1 -0
- package/dist/components/dataaccess/FormTemplateTable.d.ts +10 -0
- package/dist/components/dataaccess/FormTemplateTable.d.ts.map +1 -0
- package/dist/components/dataaccess/FormTemplateTable.js +124 -0
- package/dist/components/dataaccess/FormTemplateTable.js.map +1 -0
- package/dist/components/dataaccess/ReviewerDashboard.d.ts.map +1 -1
- package/dist/components/dataaccess/ReviewerDashboard.js +80 -50
- package/dist/components/dataaccess/ReviewerDashboard.js.map +1 -1
- package/dist/components/dataaccess/UserAccessRequestHistory/InFlightEDucSignaturesTable.d.ts.map +1 -1
- package/dist/components/dataaccess/UserAccessRequestHistory/InFlightEDucSignaturesTable.js +2 -0
- package/dist/components/dataaccess/UserAccessRequestHistory/InFlightEDucSignaturesTable.js.map +1 -1
- package/dist/components/entity/page/title_bar/EntityPageTitleBar.d.ts +0 -1
- package/dist/components/entity/page/title_bar/EntityPageTitleBar.d.ts.map +1 -1
- package/dist/components/entity/page/title_bar/EntityPageTitleBar.js +35 -36
- package/dist/components/entity/page/title_bar/EntityPageTitleBar.js.map +1 -1
- package/dist/components/styled/LeftRightPanel.d.ts.map +1 -1
- package/dist/components/styled/LeftRightPanel.js +19 -2
- package/dist/components/styled/LeftRightPanel.js.map +1 -1
- package/dist/components/widgets/FileHandleLink.d.ts +12 -2
- package/dist/components/widgets/FileHandleLink.d.ts.map +1 -1
- package/dist/components/widgets/FileHandleLink.js +25 -29
- package/dist/components/widgets/FileHandleLink.js.map +1 -1
- package/dist/mocks/accessRequirement/mockFormTemplates.d.ts +4 -2
- package/dist/mocks/accessRequirement/mockFormTemplates.d.ts.map +1 -1
- package/dist/mocks/accessRequirement/mockFormTemplates.js +13 -14
- package/dist/mocks/accessRequirement/mockFormTemplates.js.map +1 -1
- package/dist/mocks/accessRequirement/mockJsonSchemas.d.ts +4 -1
- package/dist/mocks/accessRequirement/mockJsonSchemas.d.ts.map +1 -1
- package/dist/mocks/accessRequirement/mockJsonSchemas.js +24 -17
- package/dist/mocks/accessRequirement/mockJsonSchemas.js.map +1 -1
- package/dist/mocks/msw/handlers/asyncJobHandlers.d.ts +41 -14
- package/dist/mocks/msw/handlers/asyncJobHandlers.d.ts.map +1 -1
- package/dist/mocks/msw/handlers/asyncJobHandlers.js +53 -44
- package/dist/mocks/msw/handlers/asyncJobHandlers.js.map +1 -1
- package/dist/mocks/msw/handlers/authHandlers.d.ts +1 -0
- package/dist/mocks/msw/handlers/authHandlers.d.ts.map +1 -1
- package/dist/mocks/msw/handlers/authHandlers.js +6 -2
- package/dist/mocks/msw/handlers/authHandlers.js.map +1 -1
- package/dist/mocks/msw/handlers/chatHandlers.d.ts.map +1 -1
- package/dist/mocks/msw/handlers/chatHandlers.js +19 -13
- package/dist/mocks/msw/handlers/chatHandlers.js.map +1 -1
- package/dist/mocks/msw/handlers/dataAccessRequestHandlers.d.ts +2 -0
- package/dist/mocks/msw/handlers/dataAccessRequestHandlers.d.ts.map +1 -1
- package/dist/mocks/msw/handlers/dataAccessRequestHandlers.js +52 -46
- package/dist/mocks/msw/handlers/dataAccessRequestHandlers.js.map +1 -1
- package/dist/mocks/msw/handlers/fileHandlers.d.ts.map +1 -1
- package/dist/mocks/msw/handlers/fileHandlers.js +25 -21
- package/dist/mocks/msw/handlers/fileHandlers.js.map +1 -1
- package/dist/mocks/msw/handlers/formTemplateHandlers.d.ts +2 -1
- package/dist/mocks/msw/handlers/formTemplateHandlers.d.ts.map +1 -1
- package/dist/mocks/msw/handlers/formTemplateHandlers.js +18 -18
- package/dist/mocks/msw/handlers/formTemplateHandlers.js.map +1 -1
- package/dist/mocks/msw/handlers/schemaHandlers.d.ts +10 -1
- package/dist/mocks/msw/handlers/schemaHandlers.d.ts.map +1 -1
- package/dist/mocks/msw/handlers/schemaHandlers.js +30 -7
- package/dist/mocks/msw/handlers/schemaHandlers.js.map +1 -1
- package/dist/mocks/msw/handlers/searchQueryHandlers.d.ts.map +1 -1
- package/dist/mocks/msw/handlers/searchQueryHandlers.js +24 -18
- package/dist/mocks/msw/handlers/searchQueryHandlers.js.map +1 -1
- package/dist/mocks/msw/handlers/tableQueryHandlers.d.ts.map +1 -1
- package/dist/mocks/msw/handlers/tableQueryHandlers.js +35 -16
- package/dist/mocks/msw/handlers/tableQueryHandlers.js.map +1 -1
- package/dist/mocks/msw/handlers/twoFactorEnrollmentHandlers.d.ts +8 -0
- package/dist/mocks/msw/handlers/twoFactorEnrollmentHandlers.d.ts.map +1 -0
- package/dist/mocks/msw/handlers/twoFactorEnrollmentHandlers.js +19 -0
- package/dist/mocks/msw/handlers/twoFactorEnrollmentHandlers.js.map +1 -0
- package/dist/style/abstracts/_cssVariables.scss +13 -0
- package/dist/style/components/_toasts.scss +10 -1
- package/dist/style/main.css +1 -1
- package/dist/synapse-queries/KeyFactory.d.ts +9 -3
- package/dist/synapse-queries/KeyFactory.d.ts.map +1 -1
- package/dist/synapse-queries/KeyFactory.js +17 -7
- package/dist/synapse-queries/KeyFactory.js.map +1 -1
- package/dist/synapse-queries/auth/index.d.ts +1 -0
- package/dist/synapse-queries/auth/index.d.ts.map +1 -1
- package/dist/synapse-queries/auth/index.js +2 -1
- package/dist/synapse-queries/auth/useUnbindOAuthProviderIdentity.d.ts +11 -0
- package/dist/synapse-queries/auth/useUnbindOAuthProviderIdentity.d.ts.map +1 -0
- package/dist/synapse-queries/auth/useUnbindOAuthProviderIdentity.js +19 -0
- package/dist/synapse-queries/auth/useUnbindOAuthProviderIdentity.js.map +1 -0
- package/dist/synapse-queries/dataaccess/index.d.ts +0 -1
- package/dist/synapse-queries/dataaccess/index.d.ts.map +1 -1
- package/dist/synapse-queries/dataaccess/index.js +3 -4
- package/dist/synapse-queries/dataaccess/useEDuc.d.ts +18 -0
- package/dist/synapse-queries/dataaccess/useEDuc.d.ts.map +1 -1
- package/dist/synapse-queries/dataaccess/useEDuc.js +33 -1
- package/dist/synapse-queries/dataaccess/useEDuc.js.map +1 -1
- package/dist/synapse-queries/file/useDirectUploadToS3.js +6 -6
- package/dist/synapse-queries/file/useFileHandle.d.ts +8 -0
- package/dist/synapse-queries/file/useFileHandle.d.ts.map +1 -1
- package/dist/synapse-queries/file/useFileHandle.js +15 -6
- package/dist/synapse-queries/file/useFileHandle.js.map +1 -1
- package/dist/synapse-queries/index.js +260 -257
- package/dist/synapse-queries/jsonschema/index.js +2 -2
- package/dist/synapse-queries/jsonschema/useCreateJsonSchema.d.ts +9 -0
- package/dist/synapse-queries/jsonschema/useCreateJsonSchema.d.ts.map +1 -0
- package/dist/synapse-queries/jsonschema/useCreateJsonSchema.js +22 -0
- package/dist/synapse-queries/jsonschema/useCreateJsonSchema.js.map +1 -0
- package/dist/synapse-queries/jsonschema/useSchema.d.ts +5 -0
- package/dist/synapse-queries/jsonschema/useSchema.d.ts.map +1 -1
- package/dist/synapse-queries/jsonschema/useSchema.js +9 -1
- package/dist/synapse-queries/jsonschema/useSchema.js.map +1 -1
- package/dist/testutils/vitest.setup.js +18 -9
- package/dist/testutils/vitest.setup.js.map +1 -1
- package/dist/tsconfig.build.tsbuildinfo +1 -1
- package/dist/utils/APIConstants.d.ts +2 -0
- package/dist/utils/APIConstants.d.ts.map +1 -1
- package/dist/utils/APIConstants.js +2 -2
- package/dist/utils/APIConstants.js.map +1 -1
- package/dist/utils/appendFinalQueryParamKey.d.ts.map +1 -1
- package/dist/utils/appendFinalQueryParamKey.js +4 -1
- package/dist/utils/appendFinalQueryParamKey.js.map +1 -1
- package/dist/utils/featureflag/FeatureFlags.d.ts +2 -0
- package/dist/utils/featureflag/FeatureFlags.d.ts.map +1 -1
- package/dist/utils/featureflag/FeatureFlags.js +1 -1
- package/dist/utils/featureflag/FeatureFlags.js.map +1 -1
- package/dist/utils/functions/ArrayUtils.d.ts +3 -0
- package/dist/utils/functions/ArrayUtils.d.ts.map +1 -1
- package/dist/utils/functions/ArrayUtils.js +7 -1
- package/dist/utils/functions/ArrayUtils.js.map +1 -1
- package/dist/utils/functions/toPascalCase.d.ts +6 -0
- package/dist/utils/functions/toPascalCase.d.ts.map +1 -0
- package/dist/utils/functions/toPascalCase.js +8 -0
- package/dist/utils/functions/toPascalCase.js.map +1 -0
- package/dist/utils/jsonschema/generateDataAccessSchema.d.ts +26 -0
- package/dist/utils/jsonschema/generateDataAccessSchema.d.ts.map +1 -0
- package/dist/utils/jsonschema/generateDataAccessSchema.js +28 -0
- package/dist/utils/jsonschema/generateDataAccessSchema.js.map +1 -0
- package/dist/utils/jsonschema/submissionContext.d.ts +91 -0
- package/dist/utils/jsonschema/submissionContext.d.ts.map +1 -0
- package/dist/utils/jsonschema/submissionContext.js +178 -0
- package/dist/utils/jsonschema/submissionContext.js.map +1 -0
- package/package.json +13 -10
- package/dist/components/AccessRequirement/AddConditionsForUseButton/AddConditionsForUseButton.d.ts +0 -6
- package/dist/components/AccessRequirement/AddConditionsForUseButton/AddConditionsForUseButton.d.ts.map +0 -1
- package/dist/components/AccessRequirement/AddConditionsForUseButton/AddConditionsForUseButton.js +0 -32
- package/dist/components/AccessRequirement/AddConditionsForUseButton/AddConditionsForUseButton.js.map +0 -1
- package/dist/components/entity/page/title_bar/TitleBarProperties.d.ts +0 -9
- package/dist/components/entity/page/title_bar/TitleBarProperties.d.ts.map +0 -1
- package/dist/components/entity/page/title_bar/TitleBarProperties.js +0 -24
- package/dist/components/entity/page/title_bar/TitleBarProperties.js.map +0 -1
- package/dist/synapse-queries/dataaccess/useGenerateDataAccessSchema.d.ts +0 -21
- package/dist/synapse-queries/dataaccess/useGenerateDataAccessSchema.d.ts.map +0 -1
- package/dist/synapse-queries/dataaccess/useGenerateDataAccessSchema.js +0 -34
- 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 @@
|
|
|
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,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
|