From 1e8d1d3e0b34828288c158aa06770683b04ac35c Mon Sep 17 00:00:00 2001 From: Pascal Corpet Date: Fri, 13 Mar 2026 10:01:28 +0100 Subject: [PATCH 1/2] =?UTF-8?q?[slider]=C2=A0Accept=20readonly=20array=20f?= =?UTF-8?q?or=20the=20value=20prop=20(#47936)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Co-authored-by: Zeeshan Tamboli --- packages/mui-material/src/Slider/Slider.d.ts | 10 ++++++---- packages/mui-material/src/Slider/Slider.spec.tsx | 14 ++++++++++++++ 2 files changed, 20 insertions(+), 4 deletions(-) diff --git a/packages/mui-material/src/Slider/Slider.d.ts b/packages/mui-material/src/Slider/Slider.d.ts index 32a2a1af4bf939..5c695eba2ba28b 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 { @@ -368,7 +369,8 @@ declare const Slider: SliderType; export type SliderProps< RootComponent extends React.ElementType = SliderTypeMap['defaultComponent'], AdditionalProps = {}, -> = OverrideProps, RootComponent> & { + Value extends number | readonly number[] = number | number[], +> = OverrideProps, RootComponent> & { component?: React.ElementType | undefined; }; diff --git a/packages/mui-material/src/Slider/Slider.spec.tsx b/packages/mui-material/src/Slider/Slider.spec.tsx index e67ec81db65454..5205ee044041d0 100644 --- a/packages/mui-material/src/Slider/Slider.spec.tsx +++ b/packages/mui-material/src/Slider/Slider.spec.tsx @@ -1,5 +1,6 @@ import * as React from 'react'; import Slider from '@mui/material/Slider'; +import type { SliderProps } from '@mui/material/Slider'; function testOnChange() { function handleSliderChange(event: Event, value: unknown) {} @@ -82,6 +83,19 @@ function testOnChange() { onChange={(event, value: number[]) => {}} onChangeCommitted={(event, value: number[]) => {}} />; +const values = [5, 10] as const; + {}} + onChangeCommitted={(event, value: readonly number[]) => {}} +/>; + +const sliderProps: SliderProps<'span', {}, readonly number[]> = { + value: values, + onChange: (event, value: readonly number[]) => {}, + onChangeCommitted: (event, value: readonly number[]) => {}, +}; +; const CustomComponent: React.FC<{ stringProp: string; numberProp: number }> = function CustomComponent() { From f753048329a818b7e62b954bbb39fbf218801957 Mon Sep 17 00:00:00 2001 From: ZeeshanTamboli Date: Fri, 13 Mar 2026 14:41:49 +0530 Subject: [PATCH 2/2] rerun CI