Skip to content

Commit 043c8ad

Browse files
Remove wrapping form groups around fieldsets
1 parent 4265bf8 commit 043c8ad

File tree

4 files changed

+22
-43
lines changed

4 files changed

+22
-43
lines changed

src/components/form-elements/fieldset/Fieldset.tsx

Lines changed: 10 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -1,23 +1,18 @@
1-
import React, { HTMLProps, MutableRefObject } from 'react';
1+
import React, { HTMLProps } from 'react';
22
import classNames from 'classnames';
33
import Legend from '../legend/Legend';
4-
import FormGroup from '../../utils/FormGroup';
54

6-
export interface FieldsetProps extends HTMLProps<HTMLFieldSetElement> {
7-
fieldsetRef?: MutableRefObject<HTMLFieldSetElement | null>;
8-
disableErrorLine?: boolean;
9-
}
5+
export type FieldsetProps = HTMLProps<HTMLFieldSetElement>;
6+
7+
const FieldsetComponent = ({ children, className, ...rest }: FieldsetProps) => {
8+
if (!children) {
9+
return null;
10+
}
1011

11-
const FieldsetComponent = ({
12-
className,
13-
fieldsetRef,
14-
disableErrorLine,
15-
...rest
16-
}: FieldsetProps) => {
1712
return (
18-
<FormGroup enableErrorLine={!disableErrorLine}>
19-
<fieldset className={classNames('nhsuk-fieldset', className)} ref={fieldsetRef} {...rest} />
20-
</FormGroup>
13+
<fieldset className={classNames('nhsuk-fieldset', className)} {...rest}>
14+
{children}
15+
</fieldset>
2116
);
2217
};
2318

src/components/form-elements/fieldset/__tests__/Fieldset.test.tsx

Lines changed: 0 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -19,14 +19,4 @@ describe('Fieldset', () => {
1919

2020
expect(container.textContent).toBe('Text');
2121
});
22-
23-
it('Wraps children in form group if the fieldset contains form elements', () => {
24-
const { container } = render(
25-
<Fieldset>
26-
<TextInput />
27-
</Fieldset>,
28-
);
29-
30-
expect(container.firstChild).toHaveClass('nhsuk-form-group');
31-
});
3222
});

src/components/form-elements/fieldset/__tests__/__snapshots__/Fieldset.test.tsx.snap

Lines changed: 12 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -2,23 +2,19 @@
22

33
exports[`Fieldset matches snapshot: Fieldset 1`] = `
44
<div>
5-
<div
6-
class="nhsuk-form-group"
5+
<fieldset
6+
class="nhsuk-fieldset"
77
>
8-
<fieldset
9-
class="nhsuk-fieldset"
8+
<div
9+
class="nhsuk-form-group"
1010
>
11-
<div
12-
class="nhsuk-form-group"
13-
>
14-
<input
15-
class="nhsuk-input"
16-
id="test-input"
17-
name="test-input"
18-
type="text"
19-
/>
20-
</div>
21-
</fieldset>
22-
</div>
11+
<input
12+
class="nhsuk-input"
13+
id="test-input"
14+
name="test-input"
15+
type="text"
16+
/>
17+
</div>
18+
</fieldset>
2319
</div>
2420
`;

stories/Utils/FormGroup.stories.tsx

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -5,8 +5,6 @@ import HeadingLevel from '@components/utils/HeadingLevel';
55

66
/**
77
* This component is designed as a grouping wrapper around one or more inputs on a form.
8-
* Typically, a consumer would use the `Fieldset` component which uses `FormGroup`, but there
9-
* may be occassions where the same `FormGroup` functionality may be desired without rendering a `<fieldset />` element.
108
*
119
* ## Usage
1210
*

0 commit comments

Comments
 (0)