+
+
+
+ {this.marker
+ ? this.marker.map((markerValue) => {
+ if (markerValue > this.max || markerValue < this.min) {
+ return;
+ }
+
+ let left = (markerValue - this.rangeMin) / range;
+
+ return (
+
+ );
+ })
+ : null}
+
+
+
+
this.onInput(event)}
+ style={{
+ '--value': `${valueInPercentage}`,
+ '--trace-reference': `${traceReferenceInPercentage}`,
+ '--trace-start': `${traceStart}`,
+ '--trace-end': `${traceEnd}`,
+ }}
+ class={{
+ trace:
+ this.trace && traceReferenceInPercentage !== valueInPercentage,
+ }}
+ onFocus={() => {
+ this.showTooltip = true;
+ }}
+ onBlur={() => {
+ this.showTooltip = false;
+ }}
+ role="slider"
+ aria-valuenow={this.rangeInput}
+ aria-valuemin={this.min}
+ aria-valuemax={this.max}
+ {...this.a11yAttributes}
+ />
+
+
+ {this.rangeInput}
+
+
+