/** * Copyright (c) 2025 Bytedance Ltd. and/or its affiliates * SPDX-License-Identifier: MIT */ import { Field } from '@flowgram.ai/free-layout-editor'; import { DynamicValueInput, PromptEditorWithVariables } from '@flowgram.ai/form-materials'; import { FormItem } from '../form-item'; import { Feedback } from '../feedback'; import { JsonSchema } from '../../typings'; import { useNodeRenderContext } from '../../hooks'; export function FormInputs() { const { readonly } = useNodeRenderContext(); return ( name="inputs"> {({ field: inputsField }) => { const required = inputsField.value?.required || []; const properties = inputsField.value?.properties; if (!properties) { return <>; } const content = Object.keys(properties).map((key) => { const property = properties[key]; const formComponent = property.extra?.formComponent; const vertical = ['prompt-editor'].includes(formComponent || ''); return ( {({ field, fieldState }) => ( {formComponent === 'prompt-editor' && ( 0} /> )} {!formComponent && ( 0} schema={property} /> )} )} ); }); return <>{content}; }} ); }