Skip to content

Commit

Permalink
refactor(Slider): rename var & refactor Slider handlers
Browse files Browse the repository at this point in the history
  • Loading branch information
RobelTekle committed Aug 30, 2023
1 parent 1522de6 commit 9fdb64f
Show file tree
Hide file tree
Showing 2 changed files with 19 additions and 22 deletions.
12 changes: 6 additions & 6 deletions packages/Slider/src/Range.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -37,9 +37,9 @@ const ensureMin = ({
step: number
min: number
}) => {
let cleanValue = Math.min(value, toCompare - 1 * step)
cleanValue = Math.max(cleanValue, min)
return round(cleanValue, step)
let ensuredValue = Math.min(value, toCompare - 1 * step)
ensuredValue = Math.max(ensuredValue, min)
return round(ensuredValue, step)
}

/**
Expand All @@ -56,9 +56,9 @@ const ensureMax = ({
step: number
max: number
}) => {
let cleanValue = Math.max(value, toCompare + 1 * step)
cleanValue = Math.min(cleanValue, max)
return round(cleanValue, step)
let ensuredValue = Math.max(value, toCompare + 1 * step)
ensuredValue = Math.min(ensuredValue, max)
return round(ensuredValue, step)
}

/**
Expand Down
29 changes: 13 additions & 16 deletions packages/Slider/src/index.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -70,7 +70,7 @@ export const SliderComponent = forwardRef<'div', SliderProps>(
}

// Handle enter key
const handleKeyDown = (e: React.KeyboardEvent<HTMLInputElement>) => {
const handleSliderKeyDown = (e: React.KeyboardEvent<HTMLInputElement>) => {
e.preventDefault()
let value = localValue

Expand All @@ -93,22 +93,19 @@ export const SliderComponent = forwardRef<'div', SliderProps>(
setInputValue(value)
}

const handleInput = (e: React.KeyboardEvent<HTMLInputElement>) => {
if (e.key === 'Enter') {
const value = ensureMinMax(inputValue, min, max, step)
setInputValue(value)
setLocalValue(value)
onChange(value)
}
}

const handleBlur = () => {
const handleInput = () => {
const value = ensureMinMax(inputValue, min, max, step)
setInputValue(value)
setLocalValue(value)
onChange(value)
}

const handleInputKeyDown = (e: React.KeyboardEvent<HTMLInputElement>) => {
if (e.key === 'Enter') {
handleInput()
}
}

const getPercent = useCallback(
(value: number) => Math.round(((value - min) / (max - min)) * 100),
[min, max]
Expand Down Expand Up @@ -150,9 +147,9 @@ export const SliderComponent = forwardRef<'div', SliderProps>(
disabled={disabled}
max={max}
min={min}
onBlur={handleBlur}
onBlur={handleInput}
onChange={handleInputChange}
onKeyDown={handleInput}
onKeyDown={handleInputKeyDown}
size="sm"
type="number"
value={inputValue.toString()}
Expand All @@ -176,7 +173,7 @@ export const SliderComponent = forwardRef<'div', SliderProps>(
_setLocalValue(value)
setInputValue(value)
}}
onKeyDown={handleKeyDown}
onKeyDown={handleSliderKeyDown}
onMouseDown={() => {
tooltip && tooltipVisible === false && setTooltipVisible(true)
}}
Expand Down Expand Up @@ -216,9 +213,9 @@ export const SliderComponent = forwardRef<'div', SliderProps>(
disabled={disabled}
max={max}
min={min}
onBlur={handleBlur}
onBlur={handleInput}
onChange={handleInputChange}
onKeyDown={handleInput}
onKeyDown={handleInputKeyDown}
size="sm"
type="number"
value={inputValue.toString()}
Expand Down

0 comments on commit 9fdb64f

Please sign in to comment.