Skip to content

Commit

Permalink
feat: add invalidation state and error text
Browse files Browse the repository at this point in the history
  • Loading branch information
Arucard89 committed Feb 4, 2024
1 parent c999818 commit 06e0ecb
Show file tree
Hide file tree
Showing 3 changed files with 14 additions and 10 deletions.
9 changes: 6 additions & 3 deletions src/components/Slider/Slider.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -24,7 +24,8 @@ export const Slider = React.forwardRef(function Slider(
marksCount = 0,
availableValues,
hasTooltip = false,
error,
errorText,
validationState,
disabled = false,
debounceDelay = 0,
onBlur,
Expand Down Expand Up @@ -75,7 +76,7 @@ export const Slider = React.forwardRef(function Slider(
});
const styleModifiers = {
size,
error: Boolean(error) && !disabled,
error: validationState === 'invalid' && !disabled,
disabled,
hasTooltip: Boolean(hasTooltip),
};
Expand Down Expand Up @@ -120,7 +121,9 @@ export const Slider = React.forwardRef(function Slider(
: undefined
}
></BaseSlider>
{styleModifiers.error && <div className={b('error', {size})}>{error}</div>}
{styleModifiers.error && errorText && (
<div className={b('error', {size})}>{errorText}</div>
)}
</div>
);
});
8 changes: 4 additions & 4 deletions src/components/Slider/__stories__/SliderShowcase.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -45,10 +45,10 @@ export const SliderShowcase = () => {
<ShowcaseBlock title="Range disabled" disabled defaultValue={[20, 40]} />
</div>
<div className={blockCn}>
<ShowcaseBlock title="error" error={'Error description'} defaultValue={20} />
<ShowcaseBlock title="error" errorText={'Error description'} defaultValue={20} />
<ShowcaseBlock
title="Range error"
error={'Error description'}
errorText={'Error description'}
defaultValue={[20, 40]}
/>
</div>
Expand All @@ -69,13 +69,13 @@ export const SliderShowcase = () => {
<ShowcaseBlock
title="tooltip error"
hasTooltip
error={'Error description'}
errorText={'Error description'}
defaultValue={20}
/>
<ShowcaseBlock
title="Range tooltip error"
hasTooltip
error={'Error description'}
errorText={'Error description'}
defaultValue={[20, 40]}
/>
</div>
Expand Down
7 changes: 4 additions & 3 deletions src/components/Slider/types.ts
Original file line number Diff line number Diff line change
Expand Up @@ -20,8 +20,9 @@ export type SliderProps<ValueType = number | [number, number]> = {
hasTooltip?: boolean;

disabled?: boolean;
error?: string;

errorText?: string;
/** Describes the validation state */
validationState?: 'invalid';
debounceDelay?: number;
onFocus?: (e: React.FocusEvent<HTMLDivElement>) => void;
onBlur?: (e: React.FocusEvent<HTMLDivElement>) => void;
Expand All @@ -31,7 +32,7 @@ export type SliderProps<ValueType = number | [number, number]> = {
autoFocus?: boolean;
tabIndex?: ValueType;

apiRef: BaseSliderRefType;
apiRef: React.RefObject<BaseSliderRefType>;
} & Pick<DOMProps, 'className'> &
QAProps;

Expand Down

0 comments on commit 06e0ecb

Please sign in to comment.