From 9555ba5f175a5869b18efcfec971770edf6406e1 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Simon=20Ha=C3=AFoun-Viet?= Date: Wed, 14 Feb 2024 10:35:53 +0100 Subject: [PATCH 1/2] feat: reverse slider mode --- packages/Slider/src/index.tsx | 12 ++++++++++-- 1 file changed, 10 insertions(+), 2 deletions(-) diff --git a/packages/Slider/src/index.tsx b/packages/Slider/src/index.tsx index 54eff2183c..6535a99ecc 100644 --- a/packages/Slider/src/index.tsx +++ b/packages/Slider/src/index.tsx @@ -21,6 +21,7 @@ export interface SliderOptions borderSelectorColor?: string label?: string hint?: string + reverse?: boolean step?: number type?: Type values?: number[] @@ -47,6 +48,7 @@ export const SliderComponent = forwardRef<'div', SliderProps>( max, min, onChange, + reverse = false, step = 1, tooltip, type, @@ -114,7 +116,13 @@ export const SliderComponent = forwardRef<'div', SliderProps>( // Updates the slider range when user drag the slider useEffect(() => { if (range.current) { - range.current.style.backgroundSize = `${getPercent(localValue)}% 100%` + if (!reverse) { + range.current.style.backgroundSize = `${getPercent(localValue)}% 100%` + } else { + const percentage = 100 - getPercent(localValue) + range.current.style.backgroundSize = `${percentage}%` + range.current.style.backgroundPosition = 'right' + } } if (tooltipRef.current) { const fraction = getPercent(localValue) / 100 @@ -122,7 +130,7 @@ export const SliderComponent = forwardRef<'div', SliderProps>( (0.5 - fraction) * thumbWidth }px)` } - }, [localValue, getPercent]) + }, [localValue, getPercent, reverse]) // Give the possibility to the parent to modify the value from outside but we need to check if it respect the step useEffect(() => { From e1a007b4822fc5360cbe6781bdffe946de70a88d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Simon=20Ha=C3=AFoun-Viet?= Date: Wed, 14 Feb 2024 11:02:02 +0100 Subject: [PATCH 2/2] v5.11.1-alpha.0 --- lerna.json | 2 +- packages/Slider/package.json | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/lerna.json b/lerna.json index 6a952f7701..18fec2e368 100644 --- a/lerna.json +++ b/lerna.json @@ -3,7 +3,7 @@ "packages/*", "icons" ], - "version": "5.11.0", + "version": "5.11.1-alpha.0", "npmClient": "yarn", "useWorkspaces": true, "useNx": false diff --git a/packages/Slider/package.json b/packages/Slider/package.json index c4b541c417..41073f1388 100644 --- a/packages/Slider/package.json +++ b/packages/Slider/package.json @@ -1,6 +1,6 @@ { "name": "@welcome-ui/slider", - "version": "5.6.1", + "version": "5.11.1-alpha.0", "description": "Customizable design system with react • styled-components • styled-system and ariakit.", "main": "dist/index.js", "module": "dist/index.mjs",