Previews

Pages

No matching results.

x
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
<!-- Range -->
<input type="range" name="range_field" id="range_field" value="2" min="0" max="10" class="input i-full" />
<!-- Range With Ticks -->
<input type="range" name="range_with_tick_marks" id="range_with_tick_marks" value="25" step="25" list="tickmarks" class="input i-full" />
<datalist id="tickmarks"><option value="0">0</option>
<option value="25">25</option>
<option value="50">50</option>
<option value="75">75</option>
<option value="100">100</option></datalist>
<!-- Range Vertical -->
<div class="flex items-center gap">
<input type="range" name="range_vertical_field_1" id="range_vertical_field_1" value="7" min="0" max="10" class="input" style="writing-mode: vertical-lr;" />
<input type="range" name="range_vertical_field_2" id="range_vertical_field_2" value="4" min="0" max="10" class="input" style="writing-mode: vertical-lr;" />
</div>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
<%# Range %>
<%= range_field_tag "range_field", 2, min: 0, max: 10, class: "input i-full" %>
<%# Range With Ticks %>
<%= range_field_tag "range_with_tick_marks", 25, step: 25, list: "tickmarks", class: "input i-full" %>
<%= tag.datalist options_for_select(["0", "25", "50", "75", "100"]), id: "tickmarks" %>
<%# Range Vertical %>
<div class="flex items-center gap">
<%= range_field_tag "range_vertical_field_1", 7, min: 0, max: 10, class: "input", style: "writing-mode: vertical-lr;" %>
<%= range_field_tag "range_vertical_field_2", 4, min: 0, max: 10, class: "input", style: "writing-mode: vertical-lr;" %>
</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
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
:where(.input) {
&:not([type="checkbox"], [type="radio"], [type="range"]) {
appearance: none;
background-color: var(--input-background, var(--color-surface));
block-size: var(--input-block-size, auto);
border: 1px solid var(--input-border-color, var(--color-border));
border-radius: var(--input-radius, var(--rounded-md));
box-shadow: var(--input-box-shadow, var(--shadow-xs));
font-size: var(--input-font-size, var(--text-sm));
inline-size: var(--input-inline-size, var(--size-full));
padding: var(--input-padding, .375rem .75rem);
}
&:is([type="checkbox"], [type="radio"]) {
accent-color: var(--input-accent-color, var(--color-primary));
block-size: var(--input-check-size, var(--size-4));
inline-size: var(--input-check-size, var(--size-4));
}
&:is([type="range"]) {
accent-color: var(--input-accent-color, var(--color-primary));
}
&:is(textarea[rows="auto"]) {
field-sizing: content;
max-block-size: calc(.875rem + var(--input-max-rows, 10lh));
min-block-size: calc(.875rem + var(--input-rows, 2lh));
}
&:is(select):not([multiple], [size]) {
background-image: url("chevron-down-zinc-500.svg");
background-position: center right var(--size-2);
background-repeat: no-repeat;
background-size: var(--size-4) auto;
}
> option {
padding: revert;
}
&::file-selector-button {
font-weight: var(--font-medium);
}
&:user-invalid {
border-color: var(--color-negative);
}
&:user-invalid + .invalid-feedback {
display: block;
}
&:focus-visible {
outline: var(--input-outline-size, 2px) solid var(--color-selected-dark);
}
&:disabled {
cursor: not-allowed; opacity: var(--opacity-50);
}
.field_with_errors & {
border-color: var(--color-negative);
}
}
.input--actor > input {
border: 0; inline-size: 100%; outline: 0;
}
.input--actor:focus-within {
outline: var(--input-outline-size, 2px) solid var(--color-selected-dark);
}
Java Script is not required or multiple files are needed, check the notes.