From de8346f1fd75d0633ab3a009150354e9401168d6 Mon Sep 17 00:00:00 2001 From: Pascal Corpet Date: Mon, 9 Mar 2026 23:34:43 +0100 Subject: [PATCH] =?UTF-8?q?[slider]=C2=A0Accept=20readonly=20array=20for?= =?UTF-8?q?=20the=20value=20prop?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- packages/mui-material/src/Slider/Slider.d.ts | 7 ++++--- packages/mui-material/src/Slider/Slider.spec.tsx | 6 ++++++ 2 files changed, 10 insertions(+), 3 deletions(-) diff --git a/packages/mui-material/src/Slider/Slider.d.ts b/packages/mui-material/src/Slider/Slider.d.ts index b383a43b00352a..edab9ee9e74782 100644 --- a/packages/mui-material/src/Slider/Slider.d.ts +++ b/packages/mui-material/src/Slider/Slider.d.ts @@ -20,7 +20,7 @@ export interface SliderOwnerState extends SliderProps { focusedThumbIndex: number; } -export interface SliderOwnProps { +export interface SliderOwnProps { /** * The label of the slider. */ @@ -317,18 +317,19 @@ export interface SliderOwnProps { export interface SliderTypeMap< RootComponent extends React.ElementType = 'span', AdditionalProps = {}, - Value extends number | number[] = number | number[], + Value extends number | readonly number[] = number | number[], > { props: AdditionalProps & SliderOwnProps; defaultComponent: RootComponent; } -export type SliderComponent = OverridableComponent< +export type SliderComponent = OverridableComponent< SliderTypeMap<'span', {}, Value> >; export type SliderType = SliderComponent & SliderComponent & + SliderComponent & SliderComponent; export interface SliderValueLabelProps extends React.HTMLAttributes { diff --git a/packages/mui-material/src/Slider/Slider.spec.tsx b/packages/mui-material/src/Slider/Slider.spec.tsx index e67ec81db65454..fca18386181cd5 100644 --- a/packages/mui-material/src/Slider/Slider.spec.tsx +++ b/packages/mui-material/src/Slider/Slider.spec.tsx @@ -82,6 +82,12 @@ function testOnChange() { onChange={(event, value: number[]) => {}} onChangeCommitted={(event, value: number[]) => {}} />; +const values = [5, 10] as const; + {}} + onChangeCommitted={(event, value: readonly number[]) => {}} +/>; const CustomComponent: React.FC<{ stringProp: string; numberProp: number }> = function CustomComponent() {