Pages

No matching results.

x
1
2
3
4
<div class="dual-range-input" data-controller="dual-range">
<input type="range" name="range_min_field" id="range_min_field" value="25" min="0" max="100" step="1" data-dual-range-target="min" />
<input type="range" name="range_max_field" id="range_max_field" value="75" min="0" max="100" step="1" data-dual-range-target="max" />
</div>
1
2
3
4
<div class="dual-range-input" data-controller="dual-range">
<%= range_field_tag "range_min_field", 25, min: 0, max: 100, step: 1, data: { dual_range_target: "min" } %>
<%= range_field_tag "range_max_field", 75, min: 0, max: 100, step: 1, data: { dual_range_target: "max" } %>
</div>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
@import url("https://esm.sh/@stanko/dual-range-input@1.0.0/dist/index.css");
.dual-range-input {
/* Height of the input */
--dri-height: 1rem;
/* Thumb size */
--dri-thumb-width: var(--dri-height);
--dri-thumb-height: var(--dri-height);
/* Thumb background color */
--dri-thumb-color: var(--color-primary);
--dri-thumb-hover-color: var(--dri-thumb-color);
--dri-thumb-active-color: var(--dri-thumb-color);
/* Thumb border */
--dri-thumb-border-color: var(--dri-thumb-color);
--dri-thumb-border-hover-color: var(--dri-thumb-border-color);
--dri-thumb-border-active-color: var(--dri-thumb-border-color);
--dri-thumb-border-radius: 1rem;
--dri-thumb-border-width: 1px;
/* Track size */
--dri-track-height: calc(var(--dri-height) * .45);
--dri-track-border-radius: 1rem;
/* Track color */
--dri-track-color: var(--color-border);
--dri-track-filled-color: var(--color-primary);
}
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
import { Controller } from "@hotwired/stimulus"
import DualRangeInput from "https://esm.sh/@stanko/dual-range-input@1.0.0?standalone"
export default class extends Controller {
static targets = [ "min", "max" ]
static values = { precision: Number, default: 3 }
connect() {
this.dualRangeInput = new DualRangeInput(this.minTarget, this.maxTarget, this.precisionValue)
}
disconnect() {
this.dualRangeInput.destroy()
}
}