diff --git a/docs/data/material/getting-started/templates/crud-dashboard/hooks/useDialogs/useDialogs.tsx b/docs/data/material/getting-started/templates/crud-dashboard/hooks/useDialogs/useDialogs.tsx index 914785a491fd8d..4d9b671380cbc0 100644 --- a/docs/data/material/getting-started/templates/crud-dashboard/hooks/useDialogs/useDialogs.tsx +++ b/docs/data/material/getting-started/templates/crud-dashboard/hooks/useDialogs/useDialogs.tsx @@ -212,8 +212,10 @@ export interface ConfirmDialogPayload extends ConfirmOptions { msg: React.ReactNode; } -export interface ConfirmDialogProps - extends DialogProps {} +export interface ConfirmDialogProps extends DialogProps< + ConfirmDialogPayload, + boolean +> {} export function ConfirmDialog({ open, payload, onClose }: ConfirmDialogProps) { const cancelButtonProps = useDialogLoadingButton(() => onClose(false)); @@ -239,8 +241,10 @@ export interface PromptDialogPayload extends PromptOptions { msg: React.ReactNode; } -export interface PromptDialogProps - extends DialogProps {} +export interface PromptDialogProps extends DialogProps< + PromptDialogPayload, + string | null +> {} export function PromptDialog({ open, payload, onClose }: PromptDialogProps) { const [input, setInput] = React.useState(''); diff --git a/docs/data/material/getting-started/templates/dashboard/components/CustomizedTreeView.tsx b/docs/data/material/getting-started/templates/dashboard/components/CustomizedTreeView.tsx index 2557315cb932de..f666773686cad6 100644 --- a/docs/data/material/getting-started/templates/dashboard/components/CustomizedTreeView.tsx +++ b/docs/data/material/getting-started/templates/dashboard/components/CustomizedTreeView.tsx @@ -122,7 +122,8 @@ function CustomLabel({ color, expandable, children, ...other }: CustomLabelProps } interface CustomTreeItemProps - extends Omit, + extends + Omit, Omit, 'onFocus'> {} const CustomTreeItem = React.forwardRef(function CustomTreeItem( diff --git a/docs/src/components/productX/XTreeViewDemo.tsx b/docs/src/components/productX/XTreeViewDemo.tsx index b2e0a5df878dc3..858aeb8657afd3 100644 --- a/docs/src/components/productX/XTreeViewDemo.tsx +++ b/docs/src/components/productX/XTreeViewDemo.tsx @@ -191,7 +191,8 @@ const getIconFromFileType = (fileType: FileType) => { }; interface CustomTreeItemProps - extends Omit, + extends + Omit, Omit, 'onFocus'> {} const CustomTreeItem = React.forwardRef(function CustomTreeItem( diff --git a/docs/src/components/showcase/FolderTreeView.tsx b/docs/src/components/showcase/FolderTreeView.tsx index 4c3810568cba0f..5bcc8698e8e9ea 100644 --- a/docs/src/components/showcase/FolderTreeView.tsx +++ b/docs/src/components/showcase/FolderTreeView.tsx @@ -159,7 +159,8 @@ const isExpandable = (reactChildren: React.ReactNode): boolean => { }; interface CustomTreeItemProps - extends Omit, + extends + Omit, Omit, 'onFocus'> {} const CustomTreeItem = React.forwardRef(function CustomTreeItem( diff --git a/docs/src/pages/premium-themes/onepirate/modules/components/TextField.tsx b/docs/src/pages/premium-themes/onepirate/modules/components/TextField.tsx index df00b27f683681..4f352ba586fcf0 100644 --- a/docs/src/pages/premium-themes/onepirate/modules/components/TextField.tsx +++ b/docs/src/pages/premium-themes/onepirate/modules/components/TextField.tsx @@ -73,8 +73,10 @@ const styles = ({ theme }: { theme: Theme }) => ({ }, }); -export interface OnePirateTextFieldProps - extends Omit { +export interface OnePirateTextFieldProps extends Omit< + FilledTextFieldProps | StandardTextFieldProps, + 'size' +> { noBorder?: boolean; size?: 'small' | 'medium' | 'large' | 'xlarge'; } diff --git a/examples/material-ui-nextjs-pages-router-ts/src/Link.tsx b/examples/material-ui-nextjs-pages-router-ts/src/Link.tsx index 6af9f97bf5f1ab..b844dc9ba49cdc 100644 --- a/examples/material-ui-nextjs-pages-router-ts/src/Link.tsx +++ b/examples/material-ui-nextjs-pages-router-ts/src/Link.tsx @@ -5,7 +5,8 @@ import NextLink, { LinkProps as NextLinkProps } from 'next/link'; import MuiLink, { LinkProps as MuiLinkProps } from '@mui/material/Link'; interface NextLinkComposedProps - extends Omit, 'href'>, + extends + Omit, 'href'>, Omit { to: NextLinkProps['href']; linkAs?: NextLinkProps['as']; diff --git a/examples/material-ui-nextjs-ts-v4-v5-migration/src/Link.tsx b/examples/material-ui-nextjs-ts-v4-v5-migration/src/Link.tsx index 6af9f97bf5f1ab..b844dc9ba49cdc 100644 --- a/examples/material-ui-nextjs-ts-v4-v5-migration/src/Link.tsx +++ b/examples/material-ui-nextjs-ts-v4-v5-migration/src/Link.tsx @@ -5,7 +5,8 @@ import NextLink, { LinkProps as NextLinkProps } from 'next/link'; import MuiLink, { LinkProps as MuiLinkProps } from '@mui/material/Link'; interface NextLinkComposedProps - extends Omit, 'href'>, + extends + Omit, 'href'>, Omit { to: NextLinkProps['href']; linkAs?: NextLinkProps['as']; diff --git a/netlify/edge-functions/og-image.tsx b/netlify/edge-functions/og-image.tsx index a36816dad45fb2..80192d80c0ce9d 100644 --- a/netlify/edge-functions/og-image.tsx +++ b/netlify/edge-functions/og-image.tsx @@ -24,207 +24,205 @@ export default async function handler(req: Request) { let starCount = 0; return new ImageResponse( - ( +
+ + + +
+

- - - - -

+ {product} +

+
+
+ {title && + title.split('\\n').map((line) => ( +

+ {line.split('*').flatMap((text, index) => { + if (index > 0) { + starCount += 1; + } + + const isBlue = starCount % 2 === 1; + return text.split(' ').map((word) => ( + 0 ? 15 : 0, + }} + > + {word} + + )); + })} +

+ ))} + {description && (

- {product} + {description}

-
-
- {title && - title.split('\\n').map((line) => ( -

+

+ {withAuthors && + parsedAuthors.slice(0, MAX_AUTHORS).map(({ name, github }) => { + return ( +
- {line.split('*').flatMap((text, index) => { - if (index > 0) { - starCount += 1; - } - - const isBlue = starCount % 2 === 1; - return text.split(' ').map((word) => ( - 0 ? 15 : 0, - }} - > - {word} - - )); - })} -

- ))} - {description && ( -

- {description} -

- )} -
-
- {withAuthors && - parsedAuthors.slice(0, MAX_AUTHORS).map(({ name, github }) => { - return (
+ +
+
-
- -
-
+ - - {name} - - - @{github} - -
+ @{github} +
- ); - })} -
+
+ ); + })}
- ), +
, { width: 1280, height: 640, diff --git a/packages-internal/scripts/typescript-to-proptypes/src/getPropTypesFromFile.ts b/packages-internal/scripts/typescript-to-proptypes/src/getPropTypesFromFile.ts index e4fec1d030fc05..e83aa51f9eba23 100644 --- a/packages-internal/scripts/typescript-to-proptypes/src/getPropTypesFromFile.ts +++ b/packages-internal/scripts/typescript-to-proptypes/src/getPropTypesFromFile.ts @@ -641,11 +641,10 @@ export function getPropTypesFromFile({ return components; } -export interface GetPropTypesFromFileOptions - extends Pick< - GetPropsFromComponentDeclarationOptions, - 'shouldInclude' | 'project' | 'checkDeclarations' - > { +export interface GetPropTypesFromFileOptions extends Pick< + GetPropsFromComponentDeclarationOptions, + 'shouldInclude' | 'project' | 'checkDeclarations' +> { filePath: string; /** * Called before the shape of an object is resolved diff --git a/packages-internal/scripts/typescript-to-proptypes/src/injectPropTypesInFile.ts b/packages-internal/scripts/typescript-to-proptypes/src/injectPropTypesInFile.ts index 027cb6680f7f0e..e94f325e1ee76d 100644 --- a/packages-internal/scripts/typescript-to-proptypes/src/injectPropTypesInFile.ts +++ b/packages-internal/scripts/typescript-to-proptypes/src/injectPropTypesInFile.ts @@ -4,16 +4,15 @@ import { randomUUID } from 'node:crypto'; import { generatePropTypes, GeneratePropTypesOptions } from './generatePropTypes'; import { PropTypesComponent, PropTypeDefinition, LiteralType } from './models'; -export interface InjectPropTypesInFileOptions - extends Pick< - GeneratePropTypesOptions, - | 'sortProptypes' - | 'includeJSDoc' - | 'comment' - | 'disablePropTypesTypeChecking' - | 'reconcilePropTypes' - | 'ensureBabelPluginTransformReactRemovePropTypesIntegration' - > { +export interface InjectPropTypesInFileOptions extends Pick< + GeneratePropTypesOptions, + | 'sortProptypes' + | 'includeJSDoc' + | 'comment' + | 'disablePropTypesTypeChecking' + | 'reconcilePropTypes' + | 'ensureBabelPluginTransformReactRemovePropTypesIntegration' +> { /** * By default, all unused props are omitted from the result. * Set this to true to include them instead. diff --git a/packages/api-docs-builder/package.json b/packages/api-docs-builder/package.json index 2744be44ee4c3e..7e2ccb5032394d 100644 --- a/packages/api-docs-builder/package.json +++ b/packages/api-docs-builder/package.json @@ -22,7 +22,7 @@ "doctrine": "^3.0.0", "es-toolkit": "^1.42.0", "fast-glob": "^3.3.3", - "prettier": "^3.6.2", + "prettier": "^3.7.4", "react-docgen": "^5.4.3", "recast": "^0.23.9", "remark": "^15.0.1", diff --git a/packages/api-docs-builder/utils/createDescribeableProp.ts b/packages/api-docs-builder/utils/createDescribeableProp.ts index 0612c0ec742760..4b7e887f2d79ec 100644 --- a/packages/api-docs-builder/utils/createDescribeableProp.ts +++ b/packages/api-docs-builder/utils/createDescribeableProp.ts @@ -33,8 +33,8 @@ export default function createDescribeableProp( const renderedDefaultValue = defaultValue?.value.replace(/\r?\n/g, ''); const renderDefaultValue = Boolean( renderedDefaultValue && - // Ignore "large" default values that would break the table layout. - renderedDefaultValue.length <= 150, + // Ignore "large" default values that would break the table layout. + renderedDefaultValue.length <= 150, ); if (description === undefined) { diff --git a/packages/mui-codemod/src/v5.0.0/emotion-prepend-cache.test.js b/packages/mui-codemod/src/v5.0.0/emotion-prepend-cache.test.js index 6b1beeea68ee5e..200b1688c44cbb 100644 --- a/packages/mui-codemod/src/v5.0.0/emotion-prepend-cache.test.js +++ b/packages/mui-codemod/src/v5.0.0/emotion-prepend-cache.test.js @@ -57,9 +57,7 @@ describe('@mui/codemod', () => { const actual = transform( { source: read('./emotion-prepend-cache.test/replace-existing-prepend.actual.js'), - path: require.resolve( - './emotion-prepend-cache.test/replace-existing-prepend.actual.js', - ), + path: require.resolve('./emotion-prepend-cache.test/replace-existing-prepend.actual.js'), }, { jscodeshift }, {}, diff --git a/packages/mui-codemod/src/v5.0.0/jss-to-tss-react.test.js b/packages/mui-codemod/src/v5.0.0/jss-to-tss-react.test.js index b0c6848a4b5fae..038b5a125519ca 100644 --- a/packages/mui-codemod/src/v5.0.0/jss-to-tss-react.test.js +++ b/packages/mui-codemod/src/v5.0.0/jss-to-tss-react.test.js @@ -30,9 +30,7 @@ describe('@mui/codemod', () => { const actual = transform( { source: read('./jss-to-tss-react.test/expected-from-material-ui-core-styles.js'), - path: require.resolve( - './jss-to-tss-react.test/expected-from-material-ui-core-styles.js', - ), + path: require.resolve('./jss-to-tss-react.test/expected-from-material-ui-core-styles.js'), }, { jscodeshift }, {}, @@ -144,9 +142,7 @@ describe('@mui/codemod', () => { const actual = transform( { source: read('./jss-to-tss-react.test/actual-typescript-docs-example-params.tsx'), - path: require.resolve( - './jss-to-tss-react.test/actual-typescript-docs-example-params.tsx', - ), + path: require.resolve('./jss-to-tss-react.test/actual-typescript-docs-example-params.tsx'), }, { jscodeshift }, {}, diff --git a/packages/mui-docs/src/Link/Link.tsx b/packages/mui-docs/src/Link/Link.tsx index a33cc0246f7f37..3411014dfe278e 100644 --- a/packages/mui-docs/src/Link/Link.tsx +++ b/packages/mui-docs/src/Link/Link.tsx @@ -16,7 +16,8 @@ import { useDocsConfig } from '../DocsProvider'; */ interface NextLinkComposedProps - extends Omit, 'href'>, + extends + Omit, 'href'>, Omit { to: NextLinkProps['href']; linkAs?: NextLinkProps['as']; diff --git a/packages/mui-joy/src/Autocomplete/AutocompleteProps.ts b/packages/mui-joy/src/Autocomplete/AutocompleteProps.ts index da809c71c08c67..fad93279250cb8 100644 --- a/packages/mui-joy/src/Autocomplete/AutocompleteProps.ts +++ b/packages/mui-joy/src/Autocomplete/AutocompleteProps.ts @@ -362,7 +362,9 @@ export interface AutocompleteProps< Multiple extends boolean | undefined, DisableClearable extends boolean | undefined, FreeSolo extends boolean | undefined, -> extends AutocompleteOwnProps, +> + extends + AutocompleteOwnProps, Omit, 'defaultValue' | 'onChange' | 'children' | 'color'> { /** * Type of the `input` element. It should be [a valid HTML5 input type](https://developer.mozilla.org/en-US/docs/Web/HTML/Reference/Elements/input#input_types). diff --git a/packages/mui-joy/src/AutocompleteListbox/AutocompleteListboxProps.ts b/packages/mui-joy/src/AutocompleteListbox/AutocompleteListboxProps.ts index 6124f67362ed3f..40c30caa4a206f 100644 --- a/packages/mui-joy/src/AutocompleteListbox/AutocompleteListboxProps.ts +++ b/packages/mui-joy/src/AutocompleteListbox/AutocompleteListboxProps.ts @@ -56,5 +56,4 @@ export type AutocompleteListboxProps< }, > = OverrideProps, D>; -export interface AutocompleteListboxOwnerState - extends ApplyColorInversion {} +export interface AutocompleteListboxOwnerState extends ApplyColorInversion {} diff --git a/packages/mui-joy/src/AutocompleteOption/AutocompleteOptionProps.ts b/packages/mui-joy/src/AutocompleteOption/AutocompleteOptionProps.ts index dffddd6f135b97..bde5f231c8f92d 100644 --- a/packages/mui-joy/src/AutocompleteOption/AutocompleteOptionProps.ts +++ b/packages/mui-joy/src/AutocompleteOption/AutocompleteOptionProps.ts @@ -50,5 +50,4 @@ export type AutocompleteOptionProps< }, > = OverrideProps, D>; -export interface AutocompleteOptionOwnerState - extends ApplyColorInversion {} +export interface AutocompleteOptionOwnerState extends ApplyColorInversion {} diff --git a/packages/mui-joy/src/Select/SelectProps.ts b/packages/mui-joy/src/Select/SelectProps.ts index 800d2baf8b53a7..89b0321cc200e2 100644 --- a/packages/mui-joy/src/Select/SelectProps.ts +++ b/packages/mui-joy/src/Select/SelectProps.ts @@ -203,8 +203,10 @@ export type SelectOwnProps = S value?: SelectValue; }; -export interface SelectOwnerState - extends ApplyColorInversion> { +export interface SelectOwnerState< + OptionValue extends {}, + Multiple extends boolean, +> extends ApplyColorInversion> { /** * If `true`, the select button is active. */ diff --git a/packages/mui-joy/src/ToggleButtonGroup/ToggleButtonGroupProps.ts b/packages/mui-joy/src/ToggleButtonGroup/ToggleButtonGroupProps.ts index 9ca96b276023fa..39f6cbc6a013fc 100644 --- a/packages/mui-joy/src/ToggleButtonGroup/ToggleButtonGroupProps.ts +++ b/packages/mui-joy/src/ToggleButtonGroup/ToggleButtonGroupProps.ts @@ -79,8 +79,9 @@ export interface ToggleButtonGroupStaticProps { variant?: OverridableStringUnion; } -export interface ToggleButtonGroupOwnProps - extends ToggleButtonGroupStaticProps { +export interface ToggleButtonGroupOwnProps< + TValue extends SupportedValue, +> extends ToggleButtonGroupStaticProps { /** * The currently selected value within the group or an array of selected values. * @@ -116,5 +117,6 @@ export type ToggleButtonGroupProps< P = { component?: React.ElementType }, > = OverrideProps, D>; -export interface ToggleButtonGroupOwnerState - extends ApplyColorInversion> {} +export interface ToggleButtonGroupOwnerState< + TValue extends SupportedValue = SupportedValue, +> extends ApplyColorInversion> {} diff --git a/packages/mui-joy/src/styles/types/colorSystem.ts b/packages/mui-joy/src/styles/types/colorSystem.ts index 92bc781248e5ca..cde4afdef5e975 100644 --- a/packages/mui-joy/src/styles/types/colorSystem.ts +++ b/packages/mui-joy/src/styles/types/colorSystem.ts @@ -39,11 +39,10 @@ type DefaultVariant = 'plain' | 'outlined' | 'soft' | 'solid'; type DefaultState = 'Hover' | 'Active' | 'Disabled'; type DefaultProperty = 'Color' | 'Bg' | 'Border'; -export interface PaletteVariant - extends Record< - `${DefaultVariant}${DefaultProperty}` | `${DefaultVariant}${DefaultState}${DefaultProperty}`, - string - > {} +export interface PaletteVariant extends Record< + `${DefaultVariant}${DefaultProperty}` | `${DefaultVariant}${DefaultState}${DefaultProperty}`, + string +> {} export interface PaletteRangeOverrides {} export interface DefaultPaletteRange extends DefaultPaletteVariant { @@ -61,16 +60,22 @@ export interface DefaultPaletteRange extends DefaultPaletteVariant { lightChannel: string; darkChannel: string; } -export interface PaletteRange - extends OverridableRecord {} +export interface PaletteRange extends OverridableRecord< + DefaultPaletteRange, + PaletteRangeOverrides, + string +> {} interface DefaultPaletteCommon { white: string; black: string; } export interface PaletteCommonOverrides {} -export interface PaletteCommon - extends OverridableRecord {} +export interface PaletteCommon extends OverridableRecord< + DefaultPaletteCommon, + PaletteCommonOverrides, + string +> {} interface DefaultPaletteText { primary: string; @@ -79,8 +84,11 @@ interface DefaultPaletteText { icon: string; } export interface PaletteTextOverrides {} -export interface PaletteText - extends OverridableRecord {} +export interface PaletteText extends OverridableRecord< + DefaultPaletteText, + PaletteTextOverrides, + string +> {} interface DefaultPaletteBackground { body: string; @@ -93,8 +101,11 @@ interface DefaultPaletteBackground { backdrop: string; } export interface PaletteBackgroundOverrides {} -export interface PaletteBackground - extends OverridableRecord {} +export interface PaletteBackground extends OverridableRecord< + DefaultPaletteBackground, + PaletteBackgroundOverrides, + string +> {} export interface ColorPalettePropOverrides {} @@ -109,50 +120,60 @@ export type ColorPaletteProp = OverridableStringUnion< export interface PalettePrimaryOverrides {} -export interface PalettePrimary - extends OverridableRecord {} +export interface PalettePrimary extends OverridableRecord< + PaletteRange, + PalettePrimaryOverrides, + string +> {} export interface PaletteNeutralOverrides {} -export interface PaletteNeutral - extends OverridableRecord< - PaletteRange & { - plainHoverColor: string; - outlinedHoverColor: string; - softHoverColor: string; - }, - PaletteNeutralOverrides, - string - > {} +export interface PaletteNeutral extends OverridableRecord< + PaletteRange & { + plainHoverColor: string; + outlinedHoverColor: string; + softHoverColor: string; + }, + PaletteNeutralOverrides, + string +> {} export interface PaletteDangerOverrides {} -export interface PaletteDanger - extends OverridableRecord {} +export interface PaletteDanger extends OverridableRecord< + PaletteRange, + PaletteDangerOverrides, + string +> {} export interface PaletteSuccessOverrides {} -export interface PaletteSuccess - extends OverridableRecord {} +export interface PaletteSuccess extends OverridableRecord< + PaletteRange, + PaletteSuccessOverrides, + string +> {} export interface PaletteWarningOverrides {} -export interface PaletteWarning - extends OverridableRecord {} +export interface PaletteWarning extends OverridableRecord< + PaletteRange, + PaletteWarningOverrides, + string +> {} export interface PaletteOverrides {} -export interface Palette - extends OverridableImplicitRecord< - { - primary: PalettePrimary; - neutral: PaletteNeutral; - danger: PaletteDanger; - success: PaletteSuccess; - warning: PaletteWarning; - common: PaletteCommon; - text: PaletteText; - background: PaletteBackground; - divider: string; - focusVisible: string; - }, - PaletteOverrides - > { +export interface Palette extends OverridableImplicitRecord< + { + primary: PalettePrimary; + neutral: PaletteNeutral; + danger: PaletteDanger; + success: PaletteSuccess; + warning: PaletteWarning; + common: PaletteCommon; + text: PaletteText; + background: PaletteBackground; + divider: string; + focusVisible: string; + }, + PaletteOverrides +> { mode: 'light' | 'dark'; } diff --git a/packages/mui-joy/src/styles/types/typography.ts b/packages/mui-joy/src/styles/types/typography.ts index 295548719af9b1..bb6a49e6e569f8 100644 --- a/packages/mui-joy/src/styles/types/typography.ts +++ b/packages/mui-joy/src/styles/types/typography.ts @@ -21,8 +21,11 @@ export interface DefaultFontFamily { fallback: string; } export interface FontFamilyOverrides {} -export interface FontFamily - extends OverridableRecord {} +export interface FontFamily extends OverridableRecord< + DefaultFontFamily, + FontFamilyOverrides, + string +> {} export interface DefaultFontWeight { xs: string | number; @@ -32,8 +35,11 @@ export interface DefaultFontWeight { xl: string | number; } export interface FontWeightOverrides {} -export interface FontWeight - extends OverridableRecord {} +export interface FontWeight extends OverridableRecord< + DefaultFontWeight, + FontWeightOverrides, + string | number +> {} export interface DefaultLineHeight { xs: string | number; @@ -43,8 +49,11 @@ export interface DefaultLineHeight { xl: string | number; } export interface LineHeightOverrides {} -export interface LineHeight - extends OverridableRecord {} +export interface LineHeight extends OverridableRecord< + DefaultLineHeight, + LineHeightOverrides, + string | number +> {} export interface DefaultTypographySystem { h1: CSSObject; @@ -60,6 +69,9 @@ export interface DefaultTypographySystem { 'body-xs': CSSObject; } export interface TypographySystemOverrides {} -export interface TypographySystem - extends OverridableRecord {} +export interface TypographySystem extends OverridableRecord< + DefaultTypographySystem, + TypographySystemOverrides, + CSSObject +> {} export type TypographySystemOptions = MergeDefault; diff --git a/packages/mui-lab/src/TimelineConnector/TimelineConnector.d.ts b/packages/mui-lab/src/TimelineConnector/TimelineConnector.d.ts index affd0b0b003f50..38dffcc3c4535a 100644 --- a/packages/mui-lab/src/TimelineConnector/TimelineConnector.d.ts +++ b/packages/mui-lab/src/TimelineConnector/TimelineConnector.d.ts @@ -4,8 +4,9 @@ import { Theme } from '@mui/material/styles'; import { SxProps } from '@mui/system'; import { TimelineConnectorClasses } from './timelineConnectorClasses'; -export interface TimelineConnectorProps - extends StandardProps> { +export interface TimelineConnectorProps extends StandardProps< + React.HTMLAttributes +> { /** * The content of the component. */ diff --git a/packages/mui-lab/src/TimelineSeparator/TimelineSeparator.d.ts b/packages/mui-lab/src/TimelineSeparator/TimelineSeparator.d.ts index ec23e30ac7d151..3766b8b873822d 100644 --- a/packages/mui-lab/src/TimelineSeparator/TimelineSeparator.d.ts +++ b/packages/mui-lab/src/TimelineSeparator/TimelineSeparator.d.ts @@ -4,8 +4,9 @@ import { Theme } from '@mui/material/styles'; import { SxProps } from '@mui/system'; import { TimelineSeparatorClasses } from './timelineSeparatorClasses'; -export interface TimelineSeparatorProps - extends StandardProps> { +export interface TimelineSeparatorProps extends StandardProps< + React.HTMLAttributes +> { /** * The content of the component. */ diff --git a/packages/mui-material/src/AccordionSummary/AccordionSummary.d.ts b/packages/mui-material/src/AccordionSummary/AccordionSummary.d.ts index b57be73430895d..4e847ff8256ce8 100644 --- a/packages/mui-material/src/AccordionSummary/AccordionSummary.d.ts +++ b/packages/mui-material/src/AccordionSummary/AccordionSummary.d.ts @@ -85,8 +85,10 @@ export type AccordionSummaryTypeMap< defaultComponent: RootComponent; }>; -export interface AccordionSummaryOwnerState - extends Omit {} +export interface AccordionSummaryOwnerState extends Omit< + AccordionSummaryProps, + 'slots' | 'slotProps' +> {} /** * diff --git a/packages/mui-material/src/Autocomplete/Autocomplete.d.ts b/packages/mui-material/src/Autocomplete/Autocomplete.d.ts index 789cb00a8405da..24915bb2df27ef 100644 --- a/packages/mui-material/src/Autocomplete/Autocomplete.d.ts +++ b/packages/mui-material/src/Autocomplete/Autocomplete.d.ts @@ -186,7 +186,9 @@ export interface AutocompleteProps< DisableClearable extends boolean | undefined, FreeSolo extends boolean | undefined, ChipComponent extends React.ElementType = ChipTypeMap['defaultComponent'], -> extends UseAutocompleteProps, +> + extends + UseAutocompleteProps, StandardProps, 'defaultValue' | 'onChange' | 'children'>, AutocompleteSlotsAndSlotProps { /** diff --git a/packages/mui-material/src/AvatarGroup/AvatarGroup.d.ts b/packages/mui-material/src/AvatarGroup/AvatarGroup.d.ts index 18b1301fae861d..d233a8bd0a3560 100644 --- a/packages/mui-material/src/AvatarGroup/AvatarGroup.d.ts +++ b/packages/mui-material/src/AvatarGroup/AvatarGroup.d.ts @@ -122,7 +122,9 @@ export type AvatarGroupProps< component?: React.ElementType; }; -export interface AvatarGroupOwnerState - extends PartiallyRequired {} +export interface AvatarGroupOwnerState extends PartiallyRequired< + AvatarGroupProps, + 'max' | 'spacing' | 'component' | 'variant' +> {} export default AvatarGroup; diff --git a/packages/mui-material/src/Backdrop/Backdrop.d.ts b/packages/mui-material/src/Backdrop/Backdrop.d.ts index d329a26e5faa98..57d33d659e6b20 100644 --- a/packages/mui-material/src/Backdrop/Backdrop.d.ts +++ b/packages/mui-material/src/Backdrop/Backdrop.d.ts @@ -45,8 +45,7 @@ export type BackdropSlotsAndSlotProps = CreateSlotsAndSlotProps< >; export interface BackdropOwnProps - extends Partial>, - BackdropSlotsAndSlotProps { + extends Partial>, BackdropSlotsAndSlotProps { /** * The content of the component. */ diff --git a/packages/mui-material/src/BottomNavigationAction/BottomNavigationAction.d.ts b/packages/mui-material/src/BottomNavigationAction/BottomNavigationAction.d.ts index c7dfbccffb9412..f31ffcad2f829c 100644 --- a/packages/mui-material/src/BottomNavigationAction/BottomNavigationAction.d.ts +++ b/packages/mui-material/src/BottomNavigationAction/BottomNavigationAction.d.ts @@ -106,7 +106,9 @@ export type BottomNavigationActionProps< component?: React.ElementType; }; -export interface BottomNavigationActionOwnerState - extends Omit {} +export interface BottomNavigationActionOwnerState extends Omit< + BottomNavigationActionProps, + 'slots' | 'slotProps' +> {} export default BottomNavigationAction; diff --git a/packages/mui-material/src/CardActionArea/CardActionArea.d.ts b/packages/mui-material/src/CardActionArea/CardActionArea.d.ts index 0b5020f463ff63..6baa1689fd8505 100644 --- a/packages/mui-material/src/CardActionArea/CardActionArea.d.ts +++ b/packages/mui-material/src/CardActionArea/CardActionArea.d.ts @@ -40,8 +40,10 @@ export type CardActionAreaSlotsAndSlotProps = CreateSlotsAndSlotProps< } >; -export interface CardActionAreaOwnerState - extends Omit {} +export interface CardActionAreaOwnerState extends Omit< + CardActionAreaProps, + 'slots' | 'slotProps' +> {} export interface CardActionAreaOwnProps { /** diff --git a/packages/mui-material/src/Checkbox/Checkbox.d.ts b/packages/mui-material/src/Checkbox/Checkbox.d.ts index 34d1b6d9a1a1f4..eeeac3600e8e97 100644 --- a/packages/mui-material/src/Checkbox/Checkbox.d.ts +++ b/packages/mui-material/src/Checkbox/Checkbox.d.ts @@ -49,7 +49,8 @@ export type CheckboxSlotsAndSlotProps = CreateSlotsAndSlotProps< >; export interface CheckboxProps - extends StandardProps< + extends + StandardProps< SwitchBaseProps, 'checkedIcon' | 'color' | 'icon' | 'type' | 'slots' | 'slotProps' >, diff --git a/packages/mui-material/src/CircularProgress/CircularProgress.d.ts b/packages/mui-material/src/CircularProgress/CircularProgress.d.ts index 8caa6abdced8d5..0447a2a7e0e281 100644 --- a/packages/mui-material/src/CircularProgress/CircularProgress.d.ts +++ b/packages/mui-material/src/CircularProgress/CircularProgress.d.ts @@ -8,8 +8,10 @@ import { CircularProgressClasses } from './circularProgressClasses'; export interface CircularProgressPropsColorOverrides {} export interface CircularProgressPropsVariantOverrides {} -export interface CircularProgressProps - extends StandardProps, 'children'> { +export interface CircularProgressProps extends StandardProps< + React.HTMLAttributes, + 'children' +> { /** * Override or extend the styles applied to the component. */ diff --git a/packages/mui-material/src/Collapse/Collapse.d.ts b/packages/mui-material/src/Collapse/Collapse.d.ts index 46f3ae39a62cc8..01c66a4e01a51f 100644 --- a/packages/mui-material/src/Collapse/Collapse.d.ts +++ b/packages/mui-material/src/Collapse/Collapse.d.ts @@ -41,8 +41,7 @@ export type CollapseSlotsAndSlotProps = CreateSlotsAndSlotProps< >; export interface CollapseProps - extends StandardProps, - CollapseSlotsAndSlotProps { + extends StandardProps, CollapseSlotsAndSlotProps { /** * The content node to be collapsed. */ diff --git a/packages/mui-material/src/Dialog/Dialog.d.ts b/packages/mui-material/src/Dialog/Dialog.d.ts index 0069a75f7b1252..6270477344194d 100644 --- a/packages/mui-material/src/Dialog/Dialog.d.ts +++ b/packages/mui-material/src/Dialog/Dialog.d.ts @@ -85,7 +85,8 @@ export type DialogSlotsAndSlotProps = CreateSlotsAndSlotProps< >; export interface DialogProps - extends Omit, 'slots' | 'slotProps'>, + extends + Omit, 'slots' | 'slotProps'>, DialogSlotsAndSlotProps { /** * The id(s) of the element(s) that describe the dialog. diff --git a/packages/mui-material/src/Drawer/Drawer.d.ts b/packages/mui-material/src/Drawer/Drawer.d.ts index 58fdfd9bb80cc6..74cbb25630ca3b 100644 --- a/packages/mui-material/src/Drawer/Drawer.d.ts +++ b/packages/mui-material/src/Drawer/Drawer.d.ts @@ -93,7 +93,8 @@ export type DrawerSlotsAndSlotProps = CreateSlotsAndSlotProps< >; export interface DrawerProps - extends StandardProps, + extends + StandardProps, DrawerSlotsAndSlotProps { /** * Side from which the drawer will appear. diff --git a/packages/mui-material/src/FormControlLabel/FormControlLabel.d.ts b/packages/mui-material/src/FormControlLabel/FormControlLabel.d.ts index 87df9c07eaebb5..cc5d57933c11e3 100644 --- a/packages/mui-material/src/FormControlLabel/FormControlLabel.d.ts +++ b/packages/mui-material/src/FormControlLabel/FormControlLabel.d.ts @@ -23,7 +23,8 @@ export type FormControlLabelSlotsAndSlotProps = CreateSlotsAndSlotProps< >; export interface FormControlLabelProps - extends StandardProps, 'children' | 'onChange'>, + extends + StandardProps, 'children' | 'onChange'>, FormControlLabelSlotsAndSlotProps { /** * If `true`, the component appears selected. diff --git a/packages/mui-material/src/ImageListItemBar/ImageListItemBar.d.ts b/packages/mui-material/src/ImageListItemBar/ImageListItemBar.d.ts index a2497ce76e91b0..d31fa89eeab057 100644 --- a/packages/mui-material/src/ImageListItemBar/ImageListItemBar.d.ts +++ b/packages/mui-material/src/ImageListItemBar/ImageListItemBar.d.ts @@ -4,8 +4,10 @@ import { Theme } from '../styles'; import { InternalStandardProps as StandardProps } from '../internal'; import { ImageListItemBarClasses } from './imageListItemBarClasses'; -export interface ImageListItemBarProps - extends StandardProps, 'title'> { +export interface ImageListItemBarProps extends StandardProps< + React.HTMLAttributes, + 'title' +> { /** * An IconButton element to be used as secondary action target * (primary action target is the item itself). diff --git a/packages/mui-material/src/InputBase/InputBase.d.ts b/packages/mui-material/src/InputBase/InputBase.d.ts index 21040080f02eec..6b4049ae9da69a 100644 --- a/packages/mui-material/src/InputBase/InputBase.d.ts +++ b/packages/mui-material/src/InputBase/InputBase.d.ts @@ -11,23 +11,22 @@ export interface InputBasePropsColorOverrides {} export interface InputBaseComponentsPropsOverrides {} -export interface InputBaseProps - extends StandardProps< - React.HTMLAttributes, - /* - * `onBlur`, `onChange`, `onFocus`, `onInvalid`, `onKeyDown`, `onKeyUp` are applied to the inner `InputComponent`, - * which by default is an input or textarea. Since these handlers differ from the - * ones inherited by `React.HTMLAttributes` we need to omit them. - */ - | 'children' - | 'defaultValue' - | 'onBlur' - | 'onChange' - | 'onFocus' - | 'onInvalid' - | 'onKeyDown' - | 'onKeyUp' - > { +export interface InputBaseProps extends StandardProps< + React.HTMLAttributes, + /* + * `onBlur`, `onChange`, `onFocus`, `onInvalid`, `onKeyDown`, `onKeyUp` are applied to the inner `InputComponent`, + * which by default is an input or textarea. Since these handlers differ from the + * ones inherited by `React.HTMLAttributes` we need to omit them. + */ + | 'children' + | 'defaultValue' + | 'onBlur' + | 'onChange' + | 'onFocus' + | 'onInvalid' + | 'onKeyDown' + | 'onKeyUp' +> { 'aria-describedby'?: string; /** * This prop helps users to fill forms faster, especially on mobile devices. @@ -242,8 +241,9 @@ export interface InputBaseProps value?: unknown; } -export interface InputBaseComponentProps - extends React.HTMLAttributes { +export interface InputBaseComponentProps extends React.HTMLAttributes< + HTMLInputElement | HTMLTextAreaElement +> { // Accommodate arbitrary additional props coming from the `inputProps` prop [arbitrary: string]: any; } diff --git a/packages/mui-material/src/LinearProgress/LinearProgress.d.ts b/packages/mui-material/src/LinearProgress/LinearProgress.d.ts index 5b0586be0ed0d5..6b5901c18fb2f9 100644 --- a/packages/mui-material/src/LinearProgress/LinearProgress.d.ts +++ b/packages/mui-material/src/LinearProgress/LinearProgress.d.ts @@ -8,8 +8,10 @@ import { LinearProgressClasses } from './linearProgressClasses'; export interface LinearProgressPropsColorOverrides {} export interface LinearProgressPropsVariantOverrides {} -export interface LinearProgressProps - extends StandardProps, 'children'> { +export interface LinearProgressProps extends StandardProps< + React.HTMLAttributes, + 'children' +> { /** * Override or extend the styles applied to the component. */ diff --git a/packages/mui-material/src/ListItemSecondaryAction/ListItemSecondaryAction.d.ts b/packages/mui-material/src/ListItemSecondaryAction/ListItemSecondaryAction.d.ts index 40764e2cb16f0e..9ea4d6254217e8 100644 --- a/packages/mui-material/src/ListItemSecondaryAction/ListItemSecondaryAction.d.ts +++ b/packages/mui-material/src/ListItemSecondaryAction/ListItemSecondaryAction.d.ts @@ -4,8 +4,9 @@ import { Theme } from '../styles'; import { InternalStandardProps as StandardProps } from '../internal'; import { ListItemSecondaryActionClasses } from './listItemSecondaryActionClasses'; -export interface ListItemSecondaryActionProps - extends StandardProps> { +export interface ListItemSecondaryActionProps extends StandardProps< + React.HTMLAttributes +> { /** * The content of the component, normally an `IconButton` or selection control. */ diff --git a/packages/mui-material/src/ListItemText/ListItemText.d.ts b/packages/mui-material/src/ListItemText/ListItemText.d.ts index dbcfd79f3dca33..c186b9153791a4 100644 --- a/packages/mui-material/src/ListItemText/ListItemText.d.ts +++ b/packages/mui-material/src/ListItemText/ListItemText.d.ts @@ -50,8 +50,8 @@ export interface ListItemTextOwnerState extends ListItemTextProps {} export interface ListItemTextProps< PrimaryTypographyComponent extends React.ElementType = 'span', SecondaryTypographyComponent extends React.ElementType = 'p', -> extends StandardProps>, - ListItemTextSlotsAndSlotProps { +> + extends StandardProps>, ListItemTextSlotsAndSlotProps { /** * Alias for the `primary` prop. */ diff --git a/packages/mui-material/src/Menu/Menu.d.ts b/packages/mui-material/src/Menu/Menu.d.ts index 88259c7056a96d..b0b22225cedfc0 100644 --- a/packages/mui-material/src/Menu/Menu.d.ts +++ b/packages/mui-material/src/Menu/Menu.d.ts @@ -90,8 +90,7 @@ export type MenuSlotsAndSlotProps = CreateSlotsAndSlotProps< >; export interface MenuProps - extends StandardProps>, - MenuSlotsAndSlotProps { + extends StandardProps>, MenuSlotsAndSlotProps { /** * An HTML element, or a function that returns one. * It's used to set the position of the menu. diff --git a/packages/mui-material/src/MobileStepper/MobileStepper.d.ts b/packages/mui-material/src/MobileStepper/MobileStepper.d.ts index 491e2c96d2e3de..ee61f7ad317c33 100644 --- a/packages/mui-material/src/MobileStepper/MobileStepper.d.ts +++ b/packages/mui-material/src/MobileStepper/MobileStepper.d.ts @@ -70,8 +70,7 @@ export type MobileStepperSlotsAndSlotProps = CreateSlotsAndSlotProps< >; export interface MobileStepperProps - extends StandardProps, - MobileStepperSlotsAndSlotProps { + extends StandardProps, MobileStepperSlotsAndSlotProps { /** * Set the active step (zero based index). * Defines which dot is highlighted when the variant is 'dots'. diff --git a/packages/mui-material/src/NativeSelect/NativeSelect.d.ts b/packages/mui-material/src/NativeSelect/NativeSelect.d.ts index 8b211dd54d2832..dbe756ba305dd1 100644 --- a/packages/mui-material/src/NativeSelect/NativeSelect.d.ts +++ b/packages/mui-material/src/NativeSelect/NativeSelect.d.ts @@ -6,8 +6,10 @@ import { InputProps } from '../Input'; import { NativeSelectInputProps } from './NativeSelectInput'; import { NativeSelectClasses } from './nativeSelectClasses'; -export interface NativeSelectProps - extends StandardProps { +export interface NativeSelectProps extends StandardProps< + InputProps, + 'inputProps' | 'value' | 'onChange' +> { /** * The option elements to populate the select with. * Can be some `