Skip to content
Merged
Show file tree
Hide file tree
Changes from 2 commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
7 changes: 4 additions & 3 deletions packages/mui-material/src/Slider/Slider.d.ts
Original file line number Diff line number Diff line change
Expand Up @@ -20,7 +20,7 @@ export interface SliderOwnerState extends SliderProps {
focusedThumbIndex: number;
}

export interface SliderOwnProps<Value extends number | number[]> {
export interface SliderOwnProps<Value extends number | readonly number[]> {
/**
* The label of the slider.
*/
Expand Down Expand Up @@ -317,18 +317,19 @@ export interface SliderOwnProps<Value extends number | number[]> {
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<Value>;
defaultComponent: RootComponent;
}

export type SliderComponent<Value extends number | number[]> = OverridableComponent<
export type SliderComponent<Value extends number | readonly number[]> = OverridableComponent<
SliderTypeMap<'span', {}, Value>
>;

export type SliderType = SliderComponent<number> &
SliderComponent<number[]> &
SliderComponent<readonly number[]> &
SliderComponent<number | number[]>;

export interface SliderValueLabelProps extends React.HTMLAttributes<HTMLSpanElement> {
Expand Down
6 changes: 6 additions & 0 deletions packages/mui-material/src/Slider/Slider.spec.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -82,6 +82,12 @@ function testOnChange() {
onChange={(event, value: number[]) => {}}
onChangeCommitted={(event, value: number[]) => {}}
/>;
const values = [5, 10] as const;
<Slider
value={values}
onChange={(event, value: readonly number[]) => {}}
onChangeCommitted={(event, value: readonly number[]) => {}}
/>;

const CustomComponent: React.FC<{ stringProp: string; numberProp: number }> =
function CustomComponent() {
Expand Down
Loading