From d92b3a31c99852bf411c06baee9c40a716964438 Mon Sep 17 00:00:00 2001 From: Erik Burton Date: Thu, 23 Jan 2020 13:43:05 -0700 Subject: [PATCH 1/2] Add `fullWidth` to `FormControl` context; Update tests and type. --- packages/material-ui/src/FormControl/FormControl.js | 1 + .../material-ui/src/FormControl/FormControl.test.js | 10 ++++++++++ .../material-ui/src/FormControl/useFormControl.d.ts | 2 +- 3 files changed, 12 insertions(+), 1 deletion(-) diff --git a/packages/material-ui/src/FormControl/FormControl.js b/packages/material-ui/src/FormControl/FormControl.js index 54b617ad3aa08c..2aa6d4dc6b252b 100644 --- a/packages/material-ui/src/FormControl/FormControl.js +++ b/packages/material-ui/src/FormControl/FormControl.js @@ -162,6 +162,7 @@ const FormControl = React.forwardRef(function FormControl(props, ref) { error, filled, focused, + fullWidth, hiddenLabel, margin: (size === 'small' ? 'dense' : undefined) || margin, onBlur: () => { diff --git a/packages/material-ui/src/FormControl/FormControl.test.js b/packages/material-ui/src/FormControl/FormControl.test.js index 617275af8be094..cf015c4fe924a5 100644 --- a/packages/material-ui/src/FormControl/FormControl.test.js +++ b/packages/material-ui/src/FormControl/FormControl.test.js @@ -224,6 +224,16 @@ describe('', () => { setProps({ margin: 'dense' }); expect(formControlRef.current).to.have.property('margin', 'dense'); }); + + it('should have the fullWidth prop from the instance', () => { + const formControlRef = React.createRef(); + const { setProps } = render(); + + expect(formControlRef.current).to.have.property('fullWidth', false); + + setProps({ fullWidth: true }); + expect(formControlRef.current).to.have.property('fullWidth', true); + }); }); describe('callbacks', () => { diff --git a/packages/material-ui/src/FormControl/useFormControl.d.ts b/packages/material-ui/src/FormControl/useFormControl.d.ts index 26bc16c0dd01b6..215ba8dc3d2e2f 100644 --- a/packages/material-ui/src/FormControl/useFormControl.d.ts +++ b/packages/material-ui/src/FormControl/useFormControl.d.ts @@ -4,7 +4,7 @@ import { FormControlProps } from './FormControl'; // shut off automatic exporting export {}; -type ContextFromPropsKey = 'disabled' | 'error' | 'hiddenLabel' | 'margin' | 'required' | 'variant'; +type ContextFromPropsKey = 'disabled' | 'error' | 'fullWidth' | 'hiddenLabel' | 'margin' | 'required' | 'variant'; export interface FormControlState extends Pick { adornedStart: boolean; From 00753dba980fb0ab56bcedfe8e3e8b24189b9d3b Mon Sep 17 00:00:00 2001 From: Erik Burton Date: Thu, 23 Jan 2020 15:29:40 -0700 Subject: [PATCH 2/2] Update code style after prettier run --- packages/material-ui/src/FormControl/useFormControl.d.ts | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/packages/material-ui/src/FormControl/useFormControl.d.ts b/packages/material-ui/src/FormControl/useFormControl.d.ts index 215ba8dc3d2e2f..493cff9159bb23 100644 --- a/packages/material-ui/src/FormControl/useFormControl.d.ts +++ b/packages/material-ui/src/FormControl/useFormControl.d.ts @@ -4,7 +4,14 @@ import { FormControlProps } from './FormControl'; // shut off automatic exporting export {}; -type ContextFromPropsKey = 'disabled' | 'error' | 'fullWidth' | 'hiddenLabel' | 'margin' | 'required' | 'variant'; +type ContextFromPropsKey = + | 'disabled' + | 'error' + | 'fullWidth' + | 'hiddenLabel' + | 'margin' + | 'required' + | 'variant'; export interface FormControlState extends Pick { adornedStart: boolean;