diff --git a/ui/components/providers/radio-group-provider.tsx b/ui/components/providers/radio-group-provider.tsx index b4bf22af4b..b071062e94 100644 --- a/ui/components/providers/radio-group-provider.tsx +++ b/ui/components/providers/radio-group-provider.tsx @@ -176,7 +176,7 @@ export const RadioGroupProvider: FC = ({ {errorMessage && ( - + {errorMessage} )} diff --git a/ui/components/providers/workflow/forms/fields/wizard-input-field.tsx b/ui/components/providers/workflow/forms/fields/wizard-input-field.tsx index 88188b5487..b769bd1461 100644 --- a/ui/components/providers/workflow/forms/fields/wizard-input-field.tsx +++ b/ui/components/providers/workflow/forms/fields/wizard-input-field.tsx @@ -163,7 +163,7 @@ export const WizardInputField = ({ )} - + ); }} diff --git a/ui/components/providers/workflow/forms/fields/wizard-textarea-field.tsx b/ui/components/providers/workflow/forms/fields/wizard-textarea-field.tsx index 05768b0e04..473de8d48d 100644 --- a/ui/components/providers/workflow/forms/fields/wizard-textarea-field.tsx +++ b/ui/components/providers/workflow/forms/fields/wizard-textarea-field.tsx @@ -87,7 +87,7 @@ export const WizardTextareaField = ({ {description}

)} - + ); }} diff --git a/ui/components/providers/workflow/forms/select-credentials-type/alibabacloud/radio-group-alibabacloud-via-credentials-type-form.tsx b/ui/components/providers/workflow/forms/select-credentials-type/alibabacloud/radio-group-alibabacloud-via-credentials-type-form.tsx index 0359f07c86..1315a6b559 100644 --- a/ui/components/providers/workflow/forms/select-credentials-type/alibabacloud/radio-group-alibabacloud-via-credentials-type-form.tsx +++ b/ui/components/providers/workflow/forms/select-credentials-type/alibabacloud/radio-group-alibabacloud-via-credentials-type-form.tsx @@ -50,7 +50,7 @@ export const RadioGroupAlibabaCloudViaCredentialsTypeForm = < {errorMessage && ( - + {errorMessage} )} diff --git a/ui/components/providers/workflow/forms/select-credentials-type/aws/radio-group-aws-via-credentials-type-form.tsx b/ui/components/providers/workflow/forms/select-credentials-type/aws/radio-group-aws-via-credentials-type-form.tsx index b88208347a..294d68515b 100644 --- a/ui/components/providers/workflow/forms/select-credentials-type/aws/radio-group-aws-via-credentials-type-form.tsx +++ b/ui/components/providers/workflow/forms/select-credentials-type/aws/radio-group-aws-via-credentials-type-form.tsx @@ -43,7 +43,7 @@ export const RadioGroupAWSViaCredentialsTypeForm = ({ {errorMessage && ( - + {errorMessage} )} diff --git a/ui/components/providers/workflow/forms/select-credentials-type/cloudflare/radio-group-cloudflare-via-credentials-type-form.tsx b/ui/components/providers/workflow/forms/select-credentials-type/cloudflare/radio-group-cloudflare-via-credentials-type-form.tsx index ba60dd6c25..67ea17267e 100644 --- a/ui/components/providers/workflow/forms/select-credentials-type/cloudflare/radio-group-cloudflare-via-credentials-type-form.tsx +++ b/ui/components/providers/workflow/forms/select-credentials-type/cloudflare/radio-group-cloudflare-via-credentials-type-form.tsx @@ -44,7 +44,7 @@ export const RadioGroupCloudflareViaCredentialsTypeForm = ({ {errorMessage && ( - + {errorMessage} )} diff --git a/ui/components/providers/workflow/forms/select-credentials-type/gcp/radio-group-gcp-via-credentials-type-form.tsx b/ui/components/providers/workflow/forms/select-credentials-type/gcp/radio-group-gcp-via-credentials-type-form.tsx index 279d17a790..1f32d154a7 100644 --- a/ui/components/providers/workflow/forms/select-credentials-type/gcp/radio-group-gcp-via-credentials-type-form.tsx +++ b/ui/components/providers/workflow/forms/select-credentials-type/gcp/radio-group-gcp-via-credentials-type-form.tsx @@ -47,7 +47,7 @@ export const RadioGroupGCPViaCredentialsTypeForm = ({ {errorMessage && ( - + {errorMessage} )} diff --git a/ui/components/providers/workflow/forms/select-credentials-type/github/radio-group-github-via-credentials-type-form.tsx b/ui/components/providers/workflow/forms/select-credentials-type/github/radio-group-github-via-credentials-type-form.tsx index f6964d98d0..fa2d5ab98f 100644 --- a/ui/components/providers/workflow/forms/select-credentials-type/github/radio-group-github-via-credentials-type-form.tsx +++ b/ui/components/providers/workflow/forms/select-credentials-type/github/radio-group-github-via-credentials-type-form.tsx @@ -54,7 +54,7 @@ export const RadioGroupGitHubViaCredentialsTypeForm = ({ {errorMessage && ( - + {errorMessage} )} diff --git a/ui/components/providers/workflow/forms/select-credentials-type/m365/radio-group-m365-via-credentials-type-form.tsx b/ui/components/providers/workflow/forms/select-credentials-type/m365/radio-group-m365-via-credentials-type-form.tsx index dcbba07d2b..ed871352a7 100644 --- a/ui/components/providers/workflow/forms/select-credentials-type/m365/radio-group-m365-via-credentials-type-form.tsx +++ b/ui/components/providers/workflow/forms/select-credentials-type/m365/radio-group-m365-via-credentials-type-form.tsx @@ -44,7 +44,7 @@ export const RadioGroupM365ViaCredentialsTypeForm = ({ {errorMessage && ( - + {errorMessage} )} diff --git a/ui/components/ui/form/Form.test.tsx b/ui/components/ui/form/Form.test.tsx new file mode 100644 index 0000000000..41f01750e5 --- /dev/null +++ b/ui/components/ui/form/Form.test.tsx @@ -0,0 +1,65 @@ +import { render, screen } from "@testing-library/react"; +import { useEffect } from "react"; +import { useForm } from "react-hook-form"; +import { describe, expect, it } from "vitest"; + +import { + Form, + FormControl, + FormField, + FormItem, + FormLabel, + FormMessage, +} from "./Form"; + +interface TestValues { + providerUid: string; +} + +function TestFormWithError() { + const form = useForm({ + defaultValues: { + providerUid: "", + }, + }); + + useEffect(() => { + form.setError("providerUid", { + type: "manual", + message: "Provider ID is required", + }); + }, [form]); + + return ( +
+ ( + + Provider UID + + + + + + )} + /> + + ); +} + +describe("Form", () => { + it("should use the existing error text token for labels and messages", async () => { + // Given + render(); + + // When + const label = await screen.findByText("Provider UID"); + const message = await screen.findByText("Provider ID is required"); + + // Then + expect(label).toHaveClass("text-text-error-primary"); + expect(message).toHaveClass("text-text-error-primary"); + }); +}); diff --git a/ui/components/ui/form/Form.tsx b/ui/components/ui/form/Form.tsx index f4cc7d5403..011b0e0492 100644 --- a/ui/components/ui/form/Form.tsx +++ b/ui/components/ui/form/Form.tsx @@ -100,7 +100,10 @@ const FormLabel = React.forwardRef< return (