Skip to content

Commit 5d12808

Browse files
committed
fix(ui): Fix broken layout shift on checkbox/switch label click
1 parent 5715726 commit 5d12808

2 files changed

Lines changed: 14 additions & 2 deletions

File tree

src/components/form/CheckboxField.tsx

Lines changed: 11 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,17 @@ export const CheckboxField = ({ title, description, className, ...props }: Check
1515

1616
return (
1717
<Field data-invalid={isInvalid} orientation="horizontal" className={className}>
18-
<Checkbox {...props} id={id} name={name} checked={state.value} onCheckedChange={(checked) => handleChange(!!checked)} onBlur={handleBlur} aria-invalid={isInvalid} />
18+
<Checkbox
19+
{...props}
20+
id={id}
21+
name={name}
22+
checked={state.value}
23+
onCheckedChange={(checked) => handleChange(!!checked)}
24+
onBlur={handleBlur}
25+
aria-invalid={isInvalid}
26+
nativeButton
27+
render={<button />}
28+
/>
1929
<FieldContent>
2030
<span className="flex items-center gap-2">
2131
<FieldLabel required={props.required} htmlFor={id}>

src/components/form/SwitchField.tsx

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -17,7 +17,9 @@ export const SwitchField = ({ title, description, info, position = "start", clas
1717

1818
return (
1919
<Field data-invalid={isInvalid} orientation="horizontal" className={className}>
20-
{position === "start" && <Switch {...props} id={id} name={name} checked={state.value} onCheckedChange={(checked) => handleChange(checked)} onBlur={handleBlur} />}
20+
{position === "start" && (
21+
<Switch {...props} id={id} name={name} checked={state.value} onCheckedChange={(checked) => handleChange(checked)} onBlur={handleBlur} nativeButton render={<button />} />
22+
)}
2123
<FieldContent>
2224
<span className="flex items-center gap-2">
2325
<FieldLabel required={props.required} htmlFor={id}>

0 commit comments

Comments
 (0)