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
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"PdfPreview.js","names":[],"sources":["../../../src/components/FilePreview/PdfPreview.tsx"],"sourcesContent":["import
|
|
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 @@
|
|
|
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"}
|