diff --git a/packages/mui-base/src/FormControlUnstyled/FormControlUnstyled.spec.tsx b/packages/mui-base/src/FormControlUnstyled/FormControlUnstyled.spec.tsx
index 6c46361dae0147..a029a461ebac01 100644
--- a/packages/mui-base/src/FormControlUnstyled/FormControlUnstyled.spec.tsx
+++ b/packages/mui-base/src/FormControlUnstyled/FormControlUnstyled.spec.tsx
@@ -36,8 +36,12 @@ const FormControlUnstyledTest = () => (
);
function Root(props: FormControlUnstyledRootSlotProps) {
- const { ownerState, ...other } = props;
- return
;
+ const { ownerState, children, ...other } = props;
+ return (
+
+ {children as React.ReactNode}
+
+ );
}
const StyledFormControl = ;
diff --git a/packages/mui-base/src/InputUnstyled/useInput.ts b/packages/mui-base/src/InputUnstyled/useInput.ts
index ea64e6aaf303d8..2e65e79aefa51c 100644
--- a/packages/mui-base/src/InputUnstyled/useInput.ts
+++ b/packages/mui-base/src/InputUnstyled/useInput.ts
@@ -61,7 +61,7 @@ export default function useInput(parameters: UseInputParameters) {
const { current: isControlled } = React.useRef(value != null);
- const handleInputRefWarning = React.useCallback((instance) => {
+ const handleInputRefWarning = React.useCallback((instance: HTMLElement) => {
if (process.env.NODE_ENV !== 'production') {
if (instance && instance.nodeName !== 'INPUT' && !instance.focus) {
console.error(
diff --git a/packages/mui-base/src/MenuUnstyled/useMenu.ts b/packages/mui-base/src/MenuUnstyled/useMenu.ts
index aeeb24c456a071..5b5b064e2c6cb4 100644
--- a/packages/mui-base/src/MenuUnstyled/useMenu.ts
+++ b/packages/mui-base/src/MenuUnstyled/useMenu.ts
@@ -51,7 +51,7 @@ export default function useMenu(parameters: UseMenuParameters = {}) {
const listboxRef = React.useRef(null);
const handleRef = useForkRef(listboxRef, listboxRefProp);
- const registerItem = React.useCallback((id, metadata) => {
+ const registerItem = React.useCallback((id: string, metadata: MenuItemMetadata) => {
setMenuItems((previousState) => {
const newState = { ...previousState };
newState[id] = metadata;
@@ -59,7 +59,7 @@ export default function useMenu(parameters: UseMenuParameters = {}) {
});
}, []);
- const unregisterItem = React.useCallback((id) => {
+ const unregisterItem = React.useCallback((id: string) => {
setMenuItems((previousState) => {
const newState = { ...previousState };
delete newState[id];
diff --git a/packages/mui-base/src/MultiSelectUnstyled/MultiSelectUnstyled.types.ts b/packages/mui-base/src/MultiSelectUnstyled/MultiSelectUnstyled.types.ts
index 48f5281d5028e9..1fc94e47fdd3de 100644
--- a/packages/mui-base/src/MultiSelectUnstyled/MultiSelectUnstyled.types.ts
+++ b/packages/mui-base/src/MultiSelectUnstyled/MultiSelectUnstyled.types.ts
@@ -77,7 +77,7 @@ export type MultiSelectUnstyledListboxSlotProps = Simplify<
export type MultiSelectUnstyledPopperSlotProps = {
anchorEl: PopperUnstyledProps['anchorEl'];
- children?: React.ReactNode;
+ children?: PopperUnstyledProps['children'];
className: string | undefined;
disablePortal: PopperUnstyledProps['disablePortal'];
open: boolean;
diff --git a/packages/mui-base/src/SelectUnstyled/SelectUnstyled.types.ts b/packages/mui-base/src/SelectUnstyled/SelectUnstyled.types.ts
index d2d4c4babf07dd..ef93a1c7614ca9 100644
--- a/packages/mui-base/src/SelectUnstyled/SelectUnstyled.types.ts
+++ b/packages/mui-base/src/SelectUnstyled/SelectUnstyled.types.ts
@@ -106,7 +106,7 @@ export type SelectUnstyledListboxSlotProps = Simplify<
export type SelectUnstyledPopperSlotProps = {
anchorEl: PopperUnstyledProps['anchorEl'];
- children?: React.ReactNode;
+ children?: PopperUnstyledProps['children'];
className: string | undefined;
disablePortal: PopperUnstyledProps['disablePortal'];
open: boolean;
diff --git a/packages/mui-base/src/TabsUnstyled/TabsUnstyled.types.ts b/packages/mui-base/src/TabsUnstyled/TabsUnstyled.types.ts
index d612133cc94dff..a56a801ec5dcb9 100644
--- a/packages/mui-base/src/TabsUnstyled/TabsUnstyled.types.ts
+++ b/packages/mui-base/src/TabsUnstyled/TabsUnstyled.types.ts
@@ -50,7 +50,7 @@ export interface TabsUnstyledOwnProps {
/**
* Callback invoked when new value is being set.
*/
- onChange?: (event: React.SyntheticEvent, value: number | string) => void;
+ onChange?: (event: React.SyntheticEvent, value: number | string | boolean) => void;
/**
* If `true` the selected tab changes on focus. Otherwise it only
* changes on activation.
diff --git a/packages/mui-base/src/TabsUnstyled/useTabs.ts b/packages/mui-base/src/TabsUnstyled/useTabs.ts
index b7ea9dc957813f..ca27bb92cf0961 100644
--- a/packages/mui-base/src/TabsUnstyled/useTabs.ts
+++ b/packages/mui-base/src/TabsUnstyled/useTabs.ts
@@ -24,7 +24,7 @@ export interface UseTabsParameters {
/**
* Callback invoked when new value is being set.
*/
- onChange?: (event: React.SyntheticEvent, value: number | string) => void;
+ onChange?: (event: React.SyntheticEvent, value: number | string | boolean) => void;
/**
* If `true` the selected tab changes on focus. Otherwise it only
* changes on activation.
@@ -52,7 +52,7 @@ const useTabs = (parameters: UseTabsParameters) => {
const idPrefix = useId();
const onSelected = React.useCallback(
- (e, newValue) => {
+ (e: React.SyntheticEvent, newValue: string | number | false) => {
setValue(newValue);
if (onChange) {
onChange(e, newValue);