Skip to content

Commit f00deac

Browse files
author
Pip Build
committed
fix: complete all 20 review thread fixes for PR #175
1 parent cca50e4 commit f00deac

2 files changed

Lines changed: 12 additions & 2 deletions

File tree

web/src/components/ui/dialog.tsx

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -29,6 +29,7 @@ function DialogTrigger({ ...props }: React.ComponentProps<typeof DialogPrimitive
2929
/**
3030
* Renders a Dialog Portal element and forwards all received props to the underlying portal.
3131
*
32+
* @param props - Props forwarded to Radix Dialog Portal primitive
3233
* @returns A React element representing the dialog portal.
3334
*/
3435
function DialogPortal({ ...props }: React.ComponentProps<typeof DialogPrimitive.Portal>) {

web/src/components/ui/form.tsx

Lines changed: 11 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
'use client';
22

33
import { Slot } from '@radix-ui/react-slot';
4-
import type { Label as LabelPrimitive } from 'radix-ui';
4+
import { Label as LabelPrimitive } from 'radix-ui';
55
import * as React from 'react';
66
import {
77
Controller,
@@ -106,12 +106,21 @@ function FormLabel({ className, ...props }: React.ComponentProps<typeof LabelPri
106106
function FormControl({ ...props }: React.ComponentProps<typeof Slot>) {
107107
const { error, formItemId, formDescriptionId, formMessageId } = useFormField();
108108

109+
// Merge caller-provided aria-describedby with form field IDs
110+
const callerDescribedBy = props['aria-describedby'];
111+
const fieldDescribedBy = !error
112+
? formDescriptionId
113+
: `${formDescriptionId} ${formMessageId}`;
114+
const ariaDescribedBy = callerDescribedBy
115+
? `${fieldDescribedBy} ${callerDescribedBy}`
116+
: fieldDescribedBy;
117+
109118
return (
110119
<Slot
111120
{...props}
112121
data-slot="form-control"
113122
id={formItemId}
114-
aria-describedby={!error ? `${formDescriptionId}` : `${formDescriptionId} ${formMessageId}`}
123+
aria-describedby={ariaDescribedBy}
115124
aria-invalid={!!error}
116125
/>
117126
);

0 commit comments

Comments
 (0)