File tree Expand file tree Collapse file tree 3 files changed +18
-4
lines changed Expand file tree Collapse file tree 3 files changed +18
-4
lines changed Original file line number Diff line number Diff line change @@ -87,6 +87,7 @@ prop | type | default | description
8787** max** | ` Number ` | ` 100 ` | Maximum value for the slider
8888** step** | ` Number ` | ` 1 ` | Every ` nth ` value to allow handle to stop at
8989** range** | ` Boolean ` /` String ` | ` false ` | Whether to style as a range picker. Use ` range='min' ` or ` range='max' ` for min/max variants
90+ ** pushy** | ` Boolean ` | ` false ` | If ` range ` is ` true ` , then this boolean decides if one handle will push the other along
9091** float** | ` Boolean ` | ` false ` | Set true to add a floating label above focussed handles
9192** vertical** | ` Boolean ` | ` false ` | Make the slider render vertically
9293** pips** | ` Boolean ` | ` false ` | Whether to show pips/notches on the slider
Original file line number Diff line number Diff line change 44
55 // range slider props
66 export let range = false ;
7+ export let pushy = false ;
78 export let min = 0 ;
89 export let max = 100 ;
910 export let step = 1 ;
269270 * @return {number} the value that was moved to (after alignment/clamping)
270271 **/
271272 function moveHandle (index , value ) {
273+ if (range) {
272274 // restrict the handles of a range-slider from
273- // going past one-another
274- if (range && index === 0 && value > values[1 ]) {
275+ // going past one-another unless "pushy" is true
276+ if (index === 0 && value > values[1 ]) {
277+ if (pushy) {
278+ values[1 ] = value;
279+ } else {
275280 value = values[1 ];
276- } else if (range && index === 1 && value < values[0 ]) {
281+ }
282+ } else if (index === 1 && value < values[0 ]) {
283+ if (pushy) {
284+ values[0 ] = value;
285+ } else {
277286 value = values[0 ];
287+ }
288+ }
278289 }
279290 // set the value for the handle, and align/clamp it
280291 values[index] = value;
Original file line number Diff line number Diff line change 66 let day = [3 ];
77 let hue = [244 ];
88 let dynamic = [0 ,50 ];
9+ let pushy = [30 ,60 ]
910 const formatter = v => {
1011 return num .format (v);
1112 };
6566 <RangeSlider float pips first =" label" last =" label" />
6667 <RangeSlider float pips first =" label" last =" label" rest =" label" />
6768 <br >
68- <RangeSlider range values ={[35 ,65 ]} pips all =" label" float />
69+ <RangeSlider range bind:values ={pushy } float />
70+ <RangeSlider range pushy bind:values ={pushy } pips all =" label" float />
6971 <RangeSlider range ="min" values ={[65 ]} pips all =" label" float />
7072 <RangeSlider range ="max" values ={[35 ]} pips all =" label" float />
7173 <br >
You can’t perform that action at this time.
0 commit comments