From 6eef5990c9524435067b3b2cbdcdfdab1aad9da4 Mon Sep 17 00:00:00 2001 From: twwu Date: Fri, 18 Apr 2025 11:32:23 +0800 Subject: [PATCH] feat: enhance form components with additional props for validation and tooltips; add OptionsField component --- .../form/components/field/number-input.tsx | 16 +++++++-- .../base/form/components/field/options.tsx | 34 +++++++++++++++++++ .../base/form/components/field/select.tsx | 11 +++++- .../base/form/components/field/text.tsx | 17 ++++++++-- .../components/base/form/components/label.tsx | 12 ++++--- web/app/components/base/form/index.tsx | 2 ++ 6 files changed, 81 insertions(+), 11 deletions(-) create mode 100644 web/app/components/base/form/components/field/options.tsx diff --git a/web/app/components/base/form/components/field/number-input.tsx b/web/app/components/base/form/components/field/number-input.tsx index 681231a4fe..fce3143fe1 100644 --- a/web/app/components/base/form/components/field/number-input.tsx +++ b/web/app/components/base/form/components/field/number-input.tsx @@ -2,18 +2,26 @@ import React from 'react' import { useFieldContext } from '../..' import Label from '../label' import cn from '@/utils/classnames' +import type { InputNumberProps } from '../../../input-number' import { InputNumber } from '../../../input-number' type TextFieldProps = { label: string + isRequired?: boolean + showOptional?: boolean + tooltip?: string className?: string labelClassName?: string -} +} & Omit const NumberInputField = ({ label, + isRequired, + showOptional, + tooltip, className, labelClassName, + ...inputProps }: TextFieldProps) => { const field = useFieldContext() @@ -22,13 +30,17 @@ const NumberInputField = ({