|
|
|
@ -8,6 +8,7 @@ |
|
|
|
let slider |
|
|
|
let instance |
|
|
|
|
|
|
|
export let _bb |
|
|
|
export let variant = "continuous" //or discrete |
|
|
|
export let showTicks = false |
|
|
|
export let min = 0 |
|
|
|
@ -17,6 +18,14 @@ |
|
|
|
export let label = "" |
|
|
|
export let disabled = false |
|
|
|
|
|
|
|
function handleChange(val) { |
|
|
|
value = val |
|
|
|
if (_bb.isBound(_bb.props.value)) { |
|
|
|
_bb.setStateFromBinding(_bb.props.value, value) |
|
|
|
} |
|
|
|
_bb.call(onChange, val) |
|
|
|
} |
|
|
|
|
|
|
|
onMount(() => { |
|
|
|
let s = MDCSlider.attachTo(slider) |
|
|
|
return () => instance.destroy() |
|
|
|
@ -28,16 +37,12 @@ |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
$: instance && console.log("instance dot value: ", instance.value) |
|
|
|
|
|
|
|
$: isDiscrete = variant === "discrete" |
|
|
|
$: displayMarkers = isDiscrete && showTicks |
|
|
|
|
|
|
|
$: modifiers = { variant, displayMarkers } |
|
|
|
$: props = { modifiers } |
|
|
|
$: sliderCls = cb.build({ props }) |
|
|
|
|
|
|
|
$: console.log("VALUE", value) |
|
|
|
</script> |
|
|
|
|
|
|
|
<div |
|
|
|
@ -49,7 +54,8 @@ |
|
|
|
aria-valuemax="100" |
|
|
|
aria-valuenow="0" |
|
|
|
aria-label="Select Value" |
|
|
|
on:MDCSlider:change={e => console.log('SLIDER VAL', e.detail.value)}> |
|
|
|
on:MDCSlider:input={e => handleChange(e.detail.value)} |
|
|
|
on:MDCSlider:change={e => handleChange(e.detail.value)}> |
|
|
|
<div class="mdc-slider__track-container"> |
|
|
|
<div class="mdc-slider__track" /> |
|
|
|
</div> |
|
|
|
@ -63,57 +69,3 @@ |
|
|
|
<div class="mdc-slider__focus-ring" /> |
|
|
|
</div> |
|
|
|
</div> |
|
|
|
|
|
|
|
<!-- |
|
|
|
<div |
|
|
|
bind:this={slider} |
|
|
|
class={sliderCls} |
|
|
|
tabindex="0" |
|
|
|
role="slider" |
|
|
|
aria-valuemin={min} |
|
|
|
aria-valuemax={max} |
|
|
|
aria-valuenow={value} |
|
|
|
data-step={step} |
|
|
|
aria-label={label} |
|
|
|
on:MDCSlider:input={e => console.log('INPUT', e.detail.value)} |
|
|
|
on:MDCSlider:change={e => console.log('CHANGE', e.detail.value)} |
|
|
|
aria-disabled={disabled}> |
|
|
|
<div class="mdc-slider__track-container"> |
|
|
|
{#if displayMarkers} |
|
|
|
<div class="mdc-slider__track-container"> |
|
|
|
<div class="mdc-slider__track" /> |
|
|
|
<div class="mdc-slider__track-marker-container" /> |
|
|
|
</div> |
|
|
|
{:else} |
|
|
|
<div class="mdc-slider__track" /> |
|
|
|
{/if} |
|
|
|
</div> |
|
|
|
<div class="mdc-slider__thumb-container"> |
|
|
|
{#if isDiscrete} |
|
|
|
<div class="mdc-slider__pin"> |
|
|
|
<span class="mdc-slider__pin-value-marker" /> |
|
|
|
</div> |
|
|
|
{/if} |
|
|
|
<svg class="mdc-slider__thumb" width="21" height="21"> |
|
|
|
<circle cx="10.5" cy="10.5" r="7.875" /> |
|
|
|
</svg> |
|
|
|
<div class="mdc-slider__focus-ring" /> |
|
|
|
</div> |
|
|
|
</div> --> |
|
|
|
|
|
|
|
<!-- <div class="mdc-slider mdc-slider--discrete" tabindex="0" role="slider" |
|
|
|
aria-valuemin="0" aria-valuemax="100" aria-valuenow="0" |
|
|
|
aria-label="Select Value"> |
|
|
|
<div class="mdc-slider__track-container"> |
|
|
|
<div class="mdc-slider__track"></div> |
|
|
|
</div> |
|
|
|
<div class="mdc-slider__thumb-container"> |
|
|
|
<div class="mdc-slider__pin"> |
|
|
|
<span class="mdc-slider__pin-value-marker"></span> |
|
|
|
</div> |
|
|
|
<svg class="mdc-slider__thumb" width="21" height="21"> |
|
|
|
<circle cx="10.5" cy="10.5" r="7.875"></circle> |
|
|
|
</svg> |
|
|
|
<div class="mdc-slider__focus-ring"></div> |
|
|
|
</div> |
|
|
|
</div> --> |
|
|
|
|