From 5b381b37375ffdb746959e8b76cdb1efa370d984 Mon Sep 17 00:00:00 2001 From: "copilot-swe-agent[bot]" <198982749+Copilot@users.noreply.github.com> Date: Tue, 3 Feb 2026 07:15:44 +0000 Subject: [PATCH 1/2] Initial plan From ddcd213dd131723682b6e6c76d2ad2f55244e8d2 Mon Sep 17 00:00:00 2001 From: "copilot-swe-agent[bot]" <198982749+Copilot@users.noreply.github.com> Date: Tue, 3 Feb 2026 07:26:11 +0000 Subject: [PATCH 2/2] Fix inputType prop warning in field widgets Co-authored-by: hotlong <50353452+hotlong@users.noreply.github.com> --- packages/fields/src/widgets/BooleanField.tsx | 11 +++++++---- packages/fields/src/widgets/DateField.tsx | 7 +++++-- packages/fields/src/widgets/DateTimeField.tsx | 7 +++++-- packages/fields/src/widgets/EmailField.tsx | 7 +++++-- packages/fields/src/widgets/NumberField.tsx | 7 +++++-- packages/fields/src/widgets/PasswordField.tsx | 7 +++++-- packages/fields/src/widgets/PhoneField.tsx | 7 +++++-- packages/fields/src/widgets/TextAreaField.tsx | 7 +++++-- packages/fields/src/widgets/TextField.tsx | 11 +++++++---- packages/fields/src/widgets/TimeField.tsx | 7 +++++-- packages/fields/src/widgets/UrlField.tsx | 7 +++++-- 11 files changed, 59 insertions(+), 26 deletions(-) diff --git a/packages/fields/src/widgets/BooleanField.tsx b/packages/fields/src/widgets/BooleanField.tsx index 968a3dbb5..bef49b4d9 100644 --- a/packages/fields/src/widgets/BooleanField.tsx +++ b/packages/fields/src/widgets/BooleanField.tsx @@ -15,15 +15,18 @@ export function BooleanField({ value, onChange, field, readonly, ...props }: Fie return {value ? 'Yes' : 'No'}; } + // Filter out non-DOM props + const { inputType, ...domProps } = props as any; + if (widget === 'checkbox') { return (
onChange(!!checked)} - disabled={readonly || props.disabled} + disabled={readonly || domProps.disabled} />
@@ -33,11 +36,11 @@ export function BooleanField({ value, onChange, field, readonly, ...props }: Fie return (
diff --git a/packages/fields/src/widgets/DateField.tsx b/packages/fields/src/widgets/DateField.tsx index 42d0249bd..9c437486e 100644 --- a/packages/fields/src/widgets/DateField.tsx +++ b/packages/fields/src/widgets/DateField.tsx @@ -7,13 +7,16 @@ export function DateField({ value, onChange, field, readonly, ...props }: FieldW return {value ? new Date(value).toLocaleDateString() : '-'}; } + // Filter out non-DOM props + const { inputType, ...domProps } = props as any; + return ( onChange(e.target.value)} - disabled={readonly || props.disabled} + disabled={readonly || domProps.disabled} /> ); } diff --git a/packages/fields/src/widgets/DateTimeField.tsx b/packages/fields/src/widgets/DateTimeField.tsx index 288435ee1..41b06e0ae 100644 --- a/packages/fields/src/widgets/DateTimeField.tsx +++ b/packages/fields/src/widgets/DateTimeField.tsx @@ -13,13 +13,16 @@ export function DateTimeField({ value, onChange, field, readonly, ...props }: Fi ); } + // Filter out non-DOM props + const { inputType, ...domProps } = props as any; + return ( onChange(e.target.value)} - disabled={readonly || props.disabled} + disabled={readonly || domProps.disabled} /> ); } diff --git a/packages/fields/src/widgets/EmailField.tsx b/packages/fields/src/widgets/EmailField.tsx index 605bf1033..bcbb582c5 100644 --- a/packages/fields/src/widgets/EmailField.tsx +++ b/packages/fields/src/widgets/EmailField.tsx @@ -16,14 +16,17 @@ export function EmailField({ value, onChange, field, readonly, errorMessage, ... ); } + // Filter out non-DOM props + const { inputType, ...domProps } = props as any; + return ( onChange(e.target.value)} placeholder={config?.placeholder || 'email@example.com'} - disabled={readonly || props.disabled} + disabled={readonly || domProps.disabled} aria-invalid={!!errorMessage} /> ); diff --git a/packages/fields/src/widgets/NumberField.tsx b/packages/fields/src/widgets/NumberField.tsx index 7a7a5f6da..5ddb35c66 100644 --- a/packages/fields/src/widgets/NumberField.tsx +++ b/packages/fields/src/widgets/NumberField.tsx @@ -11,9 +11,12 @@ export function NumberField({ value, onChange, field, readonly, ...props }: Fiel const numberField = (field || (props as any).schema) as NumberFieldMetadata; const precision = numberField?.precision; + // Filter out non-DOM props + const { inputType, ...domProps } = props as any; + return ( { @@ -21,7 +24,7 @@ export function NumberField({ value, onChange, field, readonly, ...props }: Fiel onChange(val === '' ? (null as any) : Number(val)); }} placeholder={numberField?.placeholder} - disabled={readonly || props.disabled} + disabled={readonly || domProps.disabled} step={precision ? Math.pow(10, -precision) : 'any'} /> ); diff --git a/packages/fields/src/widgets/PasswordField.tsx b/packages/fields/src/widgets/PasswordField.tsx index 73110b6a2..48858ddea 100644 --- a/packages/fields/src/widgets/PasswordField.tsx +++ b/packages/fields/src/widgets/PasswordField.tsx @@ -12,15 +12,18 @@ export function PasswordField({ value, onChange, field, readonly, className, ... return ••••••••; } + // Filter out non-DOM props + const { inputType, ...domProps } = props as any; + return (
onChange(e.target.value)} placeholder={config?.placeholder} - disabled={readonly || props.disabled} + disabled={readonly || domProps.disabled} className={`pr-10 ${className || ''}`} />