From f7a826f616acf71c57e912ec06632122f1bb5ba6 Mon Sep 17 00:00:00 2001 From: Zeeshan Tamboli Date: Fri, 25 Nov 2022 21:55:44 +0530 Subject: [PATCH] [FormControl] Add missing types in `useFormControl` (#35168) --- .../src/FormControl/FormControlContext.js | 12 ------- .../src/FormControl/FormControlContext.ts | 36 +++++++++++++++++++ .../mui-material/src/FormControl/index.d.ts | 4 ++- .../src/FormControl/useFormControl.d.ts | 25 ------------- .../src/FormControl/useFormControl.js | 6 ---- .../src/FormControl/useFormControl.ts | 6 ++++ 6 files changed, 45 insertions(+), 44 deletions(-) delete mode 100644 packages/mui-material/src/FormControl/FormControlContext.js create mode 100644 packages/mui-material/src/FormControl/FormControlContext.ts delete mode 100644 packages/mui-material/src/FormControl/useFormControl.d.ts delete mode 100644 packages/mui-material/src/FormControl/useFormControl.js create mode 100644 packages/mui-material/src/FormControl/useFormControl.ts diff --git a/packages/mui-material/src/FormControl/FormControlContext.js b/packages/mui-material/src/FormControl/FormControlContext.js deleted file mode 100644 index de3fd43ca7fa23..00000000000000 --- a/packages/mui-material/src/FormControl/FormControlContext.js +++ /dev/null @@ -1,12 +0,0 @@ -import * as React from 'react'; - -/** - * @ignore - internal component. - */ -const FormControlContext = React.createContext(); - -if (process.env.NODE_ENV !== 'production') { - FormControlContext.displayName = 'FormControlContext'; -} - -export default FormControlContext; diff --git a/packages/mui-material/src/FormControl/FormControlContext.ts b/packages/mui-material/src/FormControl/FormControlContext.ts new file mode 100644 index 00000000000000..606057104b1457 --- /dev/null +++ b/packages/mui-material/src/FormControl/FormControlContext.ts @@ -0,0 +1,36 @@ +import * as React from 'react'; +import type { FormControlProps } from './FormControl'; + +type ContextFromPropsKey = + | 'color' + | 'disabled' + | 'error' + | 'fullWidth' + | 'hiddenLabel' + | 'margin' + | 'onBlur' + | 'onFocus' + | 'required' + | 'size' + | 'variant'; + +export interface FormControlState extends Pick { + adornedStart: boolean; + filled: boolean; + focused: boolean; + onEmpty: () => void; + onFilled: () => void; + registerEffect: () => void; + setAdornedStart: React.Dispatch>; +} + +/** + * @ignore - internal component. + */ +const FormControlContext = React.createContext(undefined); + +if (process.env.NODE_ENV !== 'production') { + FormControlContext.displayName = 'FormControlContext'; +} + +export default FormControlContext; diff --git a/packages/mui-material/src/FormControl/index.d.ts b/packages/mui-material/src/FormControl/index.d.ts index c19fe875f63f43..7eaec9a8312087 100644 --- a/packages/mui-material/src/FormControl/index.d.ts +++ b/packages/mui-material/src/FormControl/index.d.ts @@ -1,7 +1,9 @@ export { default } from './FormControl'; export * from './FormControl'; -export { default as useFormControl, FormControlState } from './useFormControl'; +export { default as useFormControl } from './useFormControl'; + +export { FormControlState } from './FormControlContext'; export { default as formControlClasses } from './formControlClasses'; export * from './formControlClasses'; diff --git a/packages/mui-material/src/FormControl/useFormControl.d.ts b/packages/mui-material/src/FormControl/useFormControl.d.ts deleted file mode 100644 index 17b7806ebd0191..00000000000000 --- a/packages/mui-material/src/FormControl/useFormControl.d.ts +++ /dev/null @@ -1,25 +0,0 @@ -import { FormControlProps } from './FormControl'; - -// shut off automatic exporting -export {}; - -type ContextFromPropsKey = - | 'disabled' - | 'error' - | 'fullWidth' - | 'hiddenLabel' - | 'margin' - | 'required' - | 'variant'; - -export interface FormControlState extends Pick { - adornedStart: boolean; - filled: boolean; - focused: boolean; - onBlur: () => void; - onEmpty: () => void; - onFilled: () => void; - onFocus: () => void; -} - -export default function useFormControl(): FormControlState | undefined; diff --git a/packages/mui-material/src/FormControl/useFormControl.js b/packages/mui-material/src/FormControl/useFormControl.js deleted file mode 100644 index f9bd436eaa1ddc..00000000000000 --- a/packages/mui-material/src/FormControl/useFormControl.js +++ /dev/null @@ -1,6 +0,0 @@ -import * as React from 'react'; -import FormControlContext from './FormControlContext'; - -export default function useFormControl() { - return React.useContext(FormControlContext); -} diff --git a/packages/mui-material/src/FormControl/useFormControl.ts b/packages/mui-material/src/FormControl/useFormControl.ts new file mode 100644 index 00000000000000..735b95e4b57d04 --- /dev/null +++ b/packages/mui-material/src/FormControl/useFormControl.ts @@ -0,0 +1,6 @@ +import * as React from 'react'; +import FormControlContext, { FormControlState } from './FormControlContext'; + +export default function useFormControl(): FormControlState | undefined { + return React.useContext(FormControlContext); +}