Skip to content

Commit 65b5886

Browse files
Revert "(Form): apply form type to each form element"
This reverts commit c563045.
1 parent 54c42eb commit 65b5886

File tree

5 files changed

+12
-38
lines changed

5 files changed

+12
-38
lines changed

src/scripts/CheckboxGroup.tsx

Lines changed: 0 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,6 @@ import React, {
88
ReactNode,
99
} from 'react';
1010
import classnames from 'classnames';
11-
import { FormTypeContext } from './Form';
1211
import { FormElementProps } from './FormElement';
1312
import { FieldSetColumnContext } from './FieldSet';
1413
import { TooltipContent } from './TooltipContent';
@@ -64,7 +63,6 @@ export const CheckboxGroup = createFC<
6463
children,
6564
...rprops
6665
} = props;
67-
const type = useContext(FormTypeContext);
6866
const { totalCols } = useContext(FieldSetColumnContext);
6967
const controlElRef = useRef<HTMLDivElement | null>(null);
7068

@@ -90,7 +88,6 @@ export const CheckboxGroup = createFC<
9088
const grpClassNames = classnames(
9189
className,
9290
'slds-form-element',
93-
type ? `slds-form-element_${type}` : null,
9491
{
9592
'slds-has-error': error,
9693
'slds-is-required': required,

src/scripts/FieldSet.tsx

Lines changed: 1 addition & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -3,10 +3,8 @@ import React, {
33
HTMLAttributes,
44
ReactNode,
55
useMemo,
6-
useContext,
76
} from 'react';
87
import classnames from 'classnames';
9-
import { FormTypeContext } from './Form';
108
import { FormElement } from './FormElement';
119
import { createFC } from './common';
1210

@@ -77,12 +75,10 @@ export const FieldSet = createFC<
7775
{ isFormElement: boolean; Row: typeof FieldSetRow }
7876
>(
7977
({ className, label, children, ...props }) => {
80-
const type = useContext(FormTypeContext) ?? 'compound';
81-
8278
const fsClassNames = classnames(
8379
className,
8480
'slds-form-element',
85-
`slds-form-element_${type}`
81+
'slds-form-element_compound'
8682
);
8783
const legendClassNames = classnames(
8884
'slds-form-element__legend',

src/scripts/Form.tsx

Lines changed: 11 additions & 20 deletions
Original file line numberDiff line numberDiff line change
@@ -9,32 +9,23 @@ export type FormProps = {
99
type?: 'stacked' | 'horizontal' | 'inline' | 'compound';
1010
} & HTMLAttributes<HTMLDivElement>;
1111

12-
/**
13-
*
14-
*/
15-
export const FormTypeContext =
16-
React.createContext<FormProps['type']>(undefined);
17-
1812
/**
1913
*
2014
*/
2115
export const Form: FC<FormProps> = (props) => {
2216
const { className, type = 'stacked', children, ...rprops } = props;
2317
const formClassNames = classnames(className, `slds-form_${type}`);
2418
return (
25-
<FormTypeContext.Provider value={type === 'compound' ? 'stacked' : type}>
26-
<div className={formClassNames} {...rprops}>
27-
{React.Children.map(children, (child) => {
28-
if (
29-
React.isValidElement(child) &&
30-
!(child.type as unknown as { isFormElement?: boolean })
31-
.isFormElement
32-
) {
33-
return <FormElement>{child}</FormElement>;
34-
}
35-
return child;
36-
})}
37-
</div>
38-
</FormTypeContext.Provider>
19+
<div className={formClassNames} {...rprops}>
20+
{React.Children.map(children, (child) => {
21+
if (
22+
React.isValidElement(child) &&
23+
!(child.type as unknown as { isFormElement?: boolean }).isFormElement
24+
) {
25+
return <FormElement>{child}</FormElement>;
26+
}
27+
return child;
28+
})}
29+
</div>
3930
);
4031
};

src/scripts/FormElement.tsx

Lines changed: 0 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,6 @@ import React, {
88
useCallback,
99
} from 'react';
1010
import classnames from 'classnames';
11-
import { FormTypeContext } from './Form';
1211
import { FieldSetColumnContext } from './FieldSet';
1312
import { createFC } from './common';
1413
import { TooltipContent } from './TooltipContent';
@@ -32,7 +31,6 @@ export type FormElementProps = {
3231
children?: ReactNode;
3332
tooltip?: ReactNode;
3433
tooltipIcon?: string;
35-
type?: 'stacked' | 'horizontal' | 'inline' | 'compound';
3634
};
3735

3836
/**
@@ -58,12 +56,8 @@ export const FormElement = createFC<
5856
readOnly,
5957
tooltip,
6058
tooltipIcon,
61-
type: propsType,
6259
} = props;
6360

64-
const contextType = useContext(FormTypeContext);
65-
const type = propsType ?? contextType;
66-
6761
const controlElRef = useRef<HTMLDivElement>(null);
6862

6963
const { totalCols } = useContext(FieldSetColumnContext);
@@ -78,7 +72,6 @@ export const FormElement = createFC<
7872

7973
const formElementClassNames = classnames(
8074
'slds-form-element',
81-
type ? `slds-form-element_${type}` : null,
8275
readOnly ? 'slds-form-element_readonly' : null,
8376
error ? 'slds-has-error' : null,
8477
typeof totalCols === 'number'

src/scripts/RadioGroup.tsx

Lines changed: 0 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,6 @@ import React, {
77
ReactNode,
88
} from 'react';
99
import classnames from 'classnames';
10-
import { FormTypeContext } from './Form';
1110
import { FieldSetColumnContext } from './FieldSet';
1211
import { TooltipContent } from './TooltipContent';
1312
import { createFC } from './common';
@@ -61,12 +60,10 @@ export const RadioGroup = createFC<RadioGroupProps, { isFormElement: boolean }>(
6160
onValueChange,
6261
...rprops
6362
} = props;
64-
const type = useContext(FormTypeContext);
6563
const { totalCols } = useContext(FieldSetColumnContext);
6664
const grpClassNames = classnames(
6765
className,
6866
'slds-form-element',
69-
type ? `slds-form-element_${type}` : null,
7067
{
7168
'slds-has-error': error,
7269
'slds-is-required': required,

0 commit comments

Comments
 (0)