@imfusion/web-ui 0.8.1-dev.17.gcbf0282e → 0.8.1-dev.18.g2355b181
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +5 -0
- package/dist/components/slider/slider.d.ts +11 -1
- package/dist/index.js +1344 -1366
- package/dist/integrations/frame-selection/frame-selection-view.d.ts +24 -0
- package/dist/integrations/frame-selection/frame-selection.d.ts +21 -0
- package/dist/integrations/frame-selection/frame-selection.meta.d.ts +2 -0
- package/dist/integrations/frame-selection/index.d.ts +2 -0
- package/dist/integrations/frame-selection.js +121 -0
- package/dist/integrations/image-display-options.js +71 -70
- package/dist/separator-BAxxttef.js +26 -0
- package/dist/slider-gyIYWSy3.js +116 -0
- package/dist/style.css +1 -1
- package/dist/tabs-9d4oaDwZ.js +295 -0
- package/dist/vite.js +1 -1
- package/dist/web-ui-cli.js +1 -1
- package/package.json +1 -1
- package/src/docgen/doc.gen.json +45 -1
- package/src/llms/llms.gen.txt +7 -1
- package/dist/tabs-BS6rqrrA.js +0 -398
- /package/dist/{paths-Oi0v8x-w.js → paths-CUyf9wjm.js} +0 -0
|
@@ -0,0 +1,295 @@
|
|
|
1
|
+
import { t as e } from "./chunk-DmhlhrBa.js";
|
|
2
|
+
import { l as t, u as n } from "./slider-gyIYWSy3.js";
|
|
3
|
+
import { cva as r } from "class-variance-authority";
|
|
4
|
+
import { jsx as i } from "react/jsx-runtime";
|
|
5
|
+
import { Children as a, useCallback as o } from "react";
|
|
6
|
+
import { Switch as s } from "@base-ui/react/switch";
|
|
7
|
+
import { Toggle as c } from "@base-ui/react/toggle";
|
|
8
|
+
import { ToggleGroup as l } from "@base-ui/react/toggle-group";
|
|
9
|
+
import { Tabs as u } from "@base-ui/react/tabs";
|
|
10
|
+
var d = {
|
|
11
|
+
root: "imf-ui-switch-module-root",
|
|
12
|
+
thumb: "imf-ui-switch-module-thumb"
|
|
13
|
+
}, f = /* @__PURE__ */ e({
|
|
14
|
+
Root: () => h,
|
|
15
|
+
Thumb: () => g
|
|
16
|
+
}), p = r(d.root), m = r(d.thumb);
|
|
17
|
+
function h(e) {
|
|
18
|
+
return /* @__PURE__ */ i(s.Root, {
|
|
19
|
+
...e,
|
|
20
|
+
"data-imf-ui-component": "Switch.Root",
|
|
21
|
+
className: (n) => p({ className: t(e.className, n) })
|
|
22
|
+
});
|
|
23
|
+
}
|
|
24
|
+
h.displayName = "Switch.Root";
|
|
25
|
+
function g(e) {
|
|
26
|
+
return /* @__PURE__ */ i(s.Thumb, {
|
|
27
|
+
...e,
|
|
28
|
+
"data-imf-ui-component": "Switch.Thumb",
|
|
29
|
+
className: (n) => m({ className: t(e.className, n) })
|
|
30
|
+
});
|
|
31
|
+
}
|
|
32
|
+
g.displayName = "Switch.Thumb";
|
|
33
|
+
//#endregion
|
|
34
|
+
//#region src/components/toggle/toggle.tsx
|
|
35
|
+
var _ = r({ root: "imf-ui-toggle-module-root" }.root), v = 2;
|
|
36
|
+
function y(e) {
|
|
37
|
+
let t = 0;
|
|
38
|
+
return a.forEach(e, (e) => {
|
|
39
|
+
typeof e == "string" || typeof e == "number" ? t += String(e).trim().length : e != null && typeof e != "boolean" && (t += v);
|
|
40
|
+
}), t;
|
|
41
|
+
}
|
|
42
|
+
function b({ style: e, children: r, ...a }) {
|
|
43
|
+
let o = {
|
|
44
|
+
"--glyph-count": y(r),
|
|
45
|
+
"--max-glyphs": v
|
|
46
|
+
};
|
|
47
|
+
return /* @__PURE__ */ i(c, {
|
|
48
|
+
...a,
|
|
49
|
+
"data-imf-ui-component": "Toggle",
|
|
50
|
+
style: (t) => ({
|
|
51
|
+
...o,
|
|
52
|
+
...n(e, t)
|
|
53
|
+
}),
|
|
54
|
+
className: (e) => _({ className: t(a.className, e) }),
|
|
55
|
+
children: r
|
|
56
|
+
});
|
|
57
|
+
}
|
|
58
|
+
//#endregion
|
|
59
|
+
//#region src/components/toggle-group/toggle-group.tsx
|
|
60
|
+
var x = r({ root: "imf-ui-toggle-group-module-root" }.root);
|
|
61
|
+
function S(e) {
|
|
62
|
+
return /* @__PURE__ */ i(l, {
|
|
63
|
+
...e,
|
|
64
|
+
"data-imf-ui-component": "ToggleGroup",
|
|
65
|
+
className: (n) => x({ className: t(e.className, n) })
|
|
66
|
+
});
|
|
67
|
+
}
|
|
68
|
+
var C = {
|
|
69
|
+
alignCenter: "imf-ui-row-module-alignCenter",
|
|
70
|
+
alignEnd: "imf-ui-row-module-alignEnd",
|
|
71
|
+
alignStart: "imf-ui-row-module-alignStart",
|
|
72
|
+
alignStretch: "imf-ui-row-module-alignStretch",
|
|
73
|
+
gap1: "imf-ui-row-module-gap1",
|
|
74
|
+
gap10: "imf-ui-row-module-gap10",
|
|
75
|
+
gap2: "imf-ui-row-module-gap2",
|
|
76
|
+
gap3: "imf-ui-row-module-gap3",
|
|
77
|
+
gap4: "imf-ui-row-module-gap4",
|
|
78
|
+
gap5: "imf-ui-row-module-gap5",
|
|
79
|
+
gap6: "imf-ui-row-module-gap6",
|
|
80
|
+
gap7: "imf-ui-row-module-gap7",
|
|
81
|
+
gap8: "imf-ui-row-module-gap8",
|
|
82
|
+
gap9: "imf-ui-row-module-gap9",
|
|
83
|
+
justifyAround: "imf-ui-row-module-justifyAround",
|
|
84
|
+
justifyBetween: "imf-ui-row-module-justifyBetween",
|
|
85
|
+
justifyCenter: "imf-ui-row-module-justifyCenter",
|
|
86
|
+
justifyEnd: "imf-ui-row-module-justifyEnd",
|
|
87
|
+
justifyEvenly: "imf-ui-row-module-justifyEvenly",
|
|
88
|
+
justifyStart: "imf-ui-row-module-justifyStart",
|
|
89
|
+
root: "imf-ui-row-module-root",
|
|
90
|
+
wrap: "imf-ui-row-module-wrap"
|
|
91
|
+
}, w = r(C.root, { variants: {
|
|
92
|
+
gap: {
|
|
93
|
+
1: C.gap1,
|
|
94
|
+
2: C.gap2,
|
|
95
|
+
3: C.gap3,
|
|
96
|
+
4: C.gap4,
|
|
97
|
+
5: C.gap5,
|
|
98
|
+
6: C.gap6,
|
|
99
|
+
7: C.gap7,
|
|
100
|
+
8: C.gap8,
|
|
101
|
+
9: C.gap9,
|
|
102
|
+
10: C.gap10
|
|
103
|
+
},
|
|
104
|
+
align: {
|
|
105
|
+
start: C.alignStart,
|
|
106
|
+
center: C.alignCenter,
|
|
107
|
+
end: C.alignEnd,
|
|
108
|
+
stretch: C.alignStretch
|
|
109
|
+
},
|
|
110
|
+
justify: {
|
|
111
|
+
start: C.justifyStart,
|
|
112
|
+
center: C.justifyCenter,
|
|
113
|
+
end: C.justifyEnd,
|
|
114
|
+
between: C.justifyBetween,
|
|
115
|
+
around: C.justifyAround,
|
|
116
|
+
evenly: C.justifyEvenly
|
|
117
|
+
},
|
|
118
|
+
wrap: {
|
|
119
|
+
true: C.wrap,
|
|
120
|
+
false: null
|
|
121
|
+
}
|
|
122
|
+
} });
|
|
123
|
+
function T({ gap: e = "2", align: t = "stretch", justify: n = "start", wrap: r = !1, ...a }) {
|
|
124
|
+
return /* @__PURE__ */ i("div", {
|
|
125
|
+
...a,
|
|
126
|
+
"data-imf-ui-component": "Row",
|
|
127
|
+
className: w({
|
|
128
|
+
gap: e,
|
|
129
|
+
align: t,
|
|
130
|
+
justify: n,
|
|
131
|
+
wrap: r,
|
|
132
|
+
className: a.className
|
|
133
|
+
})
|
|
134
|
+
});
|
|
135
|
+
}
|
|
136
|
+
var E = {
|
|
137
|
+
alignCenter: "imf-ui-stack-module-alignCenter",
|
|
138
|
+
alignEnd: "imf-ui-stack-module-alignEnd",
|
|
139
|
+
alignStart: "imf-ui-stack-module-alignStart",
|
|
140
|
+
alignStretch: "imf-ui-stack-module-alignStretch",
|
|
141
|
+
gap0: "imf-ui-stack-module-gap0",
|
|
142
|
+
gap1: "imf-ui-stack-module-gap1",
|
|
143
|
+
gap10: "imf-ui-stack-module-gap10",
|
|
144
|
+
gap2: "imf-ui-stack-module-gap2",
|
|
145
|
+
gap3: "imf-ui-stack-module-gap3",
|
|
146
|
+
gap4: "imf-ui-stack-module-gap4",
|
|
147
|
+
gap5: "imf-ui-stack-module-gap5",
|
|
148
|
+
gap6: "imf-ui-stack-module-gap6",
|
|
149
|
+
gap7: "imf-ui-stack-module-gap7",
|
|
150
|
+
gap8: "imf-ui-stack-module-gap8",
|
|
151
|
+
gap9: "imf-ui-stack-module-gap9",
|
|
152
|
+
justifyAround: "imf-ui-stack-module-justifyAround",
|
|
153
|
+
justifyBetween: "imf-ui-stack-module-justifyBetween",
|
|
154
|
+
justifyCenter: "imf-ui-stack-module-justifyCenter",
|
|
155
|
+
justifyEnd: "imf-ui-stack-module-justifyEnd",
|
|
156
|
+
justifyEvenly: "imf-ui-stack-module-justifyEvenly",
|
|
157
|
+
justifyStart: "imf-ui-stack-module-justifyStart",
|
|
158
|
+
root: "imf-ui-stack-module-root"
|
|
159
|
+
}, D = r(E.root, { variants: {
|
|
160
|
+
gap: {
|
|
161
|
+
0: E.gap0,
|
|
162
|
+
1: E.gap1,
|
|
163
|
+
2: E.gap2,
|
|
164
|
+
3: E.gap3,
|
|
165
|
+
4: E.gap4,
|
|
166
|
+
5: E.gap5,
|
|
167
|
+
6: E.gap6,
|
|
168
|
+
7: E.gap7,
|
|
169
|
+
8: E.gap8,
|
|
170
|
+
9: E.gap9,
|
|
171
|
+
10: E.gap10
|
|
172
|
+
},
|
|
173
|
+
align: {
|
|
174
|
+
start: E.alignStart,
|
|
175
|
+
center: E.alignCenter,
|
|
176
|
+
end: E.alignEnd,
|
|
177
|
+
stretch: E.alignStretch
|
|
178
|
+
},
|
|
179
|
+
justify: {
|
|
180
|
+
start: E.justifyStart,
|
|
181
|
+
center: E.justifyCenter,
|
|
182
|
+
end: E.justifyEnd,
|
|
183
|
+
between: E.justifyBetween,
|
|
184
|
+
around: E.justifyAround,
|
|
185
|
+
evenly: E.justifyEvenly
|
|
186
|
+
}
|
|
187
|
+
} });
|
|
188
|
+
function O({ gap: e = "4", align: t = "stretch", justify: n = "start", ...r }) {
|
|
189
|
+
return /* @__PURE__ */ i("div", {
|
|
190
|
+
...r,
|
|
191
|
+
"data-imf-ui-component": "Stack",
|
|
192
|
+
className: D({
|
|
193
|
+
gap: e,
|
|
194
|
+
align: t,
|
|
195
|
+
justify: n,
|
|
196
|
+
className: r.className
|
|
197
|
+
})
|
|
198
|
+
});
|
|
199
|
+
}
|
|
200
|
+
var k = {
|
|
201
|
+
indicator: "imf-ui-tabs-module-indicator",
|
|
202
|
+
list: "imf-ui-tabs-module-list",
|
|
203
|
+
listFill: "imf-ui-tabs-module-listFill",
|
|
204
|
+
panel: "imf-ui-tabs-module-panel",
|
|
205
|
+
panelViewport: "imf-ui-tabs-module-panelViewport",
|
|
206
|
+
root: "imf-ui-tabs-module-root",
|
|
207
|
+
tab: "imf-ui-tabs-module-tab"
|
|
208
|
+
}, A = /* @__PURE__ */ e({
|
|
209
|
+
Indicator: () => H,
|
|
210
|
+
List: () => B,
|
|
211
|
+
Panel: () => W,
|
|
212
|
+
PanelViewport: () => U,
|
|
213
|
+
Root: () => z,
|
|
214
|
+
Tab: () => V
|
|
215
|
+
}), j = r(k.list, { variants: { fill: {
|
|
216
|
+
true: k.listFill,
|
|
217
|
+
false: null
|
|
218
|
+
} } }), M = r(k.root), N = r(k.tab), P = r(k.indicator), F = r(k.panelViewport), I = r(k.panel);
|
|
219
|
+
function L(e, t) {
|
|
220
|
+
typeof e == "function" ? e(t) : e && (e.current = t);
|
|
221
|
+
}
|
|
222
|
+
function R(e) {
|
|
223
|
+
let t = new ResizeObserver(() => {
|
|
224
|
+
let t = e.dataset.orientation === "vertical" ? e.scrollHeight > e.clientHeight : e.scrollWidth > e.clientWidth;
|
|
225
|
+
e.toggleAttribute("data-overflowing", t);
|
|
226
|
+
}), n = () => {
|
|
227
|
+
t.disconnect(), t.observe(e);
|
|
228
|
+
for (let n of e.children) t.observe(n);
|
|
229
|
+
}, r = new MutationObserver(n);
|
|
230
|
+
return r.observe(e, { childList: !0 }), n(), () => {
|
|
231
|
+
t.disconnect(), r.disconnect();
|
|
232
|
+
};
|
|
233
|
+
}
|
|
234
|
+
function z(e) {
|
|
235
|
+
return /* @__PURE__ */ i(u.Root, {
|
|
236
|
+
...e,
|
|
237
|
+
"data-imf-ui-component": "Tabs.Root",
|
|
238
|
+
className: (n) => M({ className: t(e.className, n) })
|
|
239
|
+
});
|
|
240
|
+
}
|
|
241
|
+
z.displayName = "Tabs.Root";
|
|
242
|
+
function B({ fill: e = !1, ref: n, ...r }) {
|
|
243
|
+
let a = o((e) => {
|
|
244
|
+
if (!e) return;
|
|
245
|
+
L(n, e);
|
|
246
|
+
let t = R(e);
|
|
247
|
+
return () => {
|
|
248
|
+
t(), L(n, null);
|
|
249
|
+
};
|
|
250
|
+
}, [n]);
|
|
251
|
+
return /* @__PURE__ */ i(u.List, {
|
|
252
|
+
...r,
|
|
253
|
+
ref: a,
|
|
254
|
+
"data-imf-ui-component": "Tabs.List",
|
|
255
|
+
className: (n) => j({
|
|
256
|
+
fill: e,
|
|
257
|
+
className: t(r.className, n)
|
|
258
|
+
})
|
|
259
|
+
});
|
|
260
|
+
}
|
|
261
|
+
B.displayName = "Tabs.List";
|
|
262
|
+
function V(e) {
|
|
263
|
+
return /* @__PURE__ */ i(u.Tab, {
|
|
264
|
+
...e,
|
|
265
|
+
"data-imf-ui-component": "Tabs.Tab",
|
|
266
|
+
className: (n) => N({ className: t(e.className, n) })
|
|
267
|
+
});
|
|
268
|
+
}
|
|
269
|
+
V.displayName = "Tabs.Tab";
|
|
270
|
+
function H(e) {
|
|
271
|
+
return /* @__PURE__ */ i(u.Indicator, {
|
|
272
|
+
...e,
|
|
273
|
+
"data-imf-ui-component": "Tabs.Indicator",
|
|
274
|
+
className: (n) => P({ className: t(e.className, n) })
|
|
275
|
+
});
|
|
276
|
+
}
|
|
277
|
+
H.displayName = "Tabs.Indicator";
|
|
278
|
+
function U(e) {
|
|
279
|
+
return /* @__PURE__ */ i("div", {
|
|
280
|
+
...e,
|
|
281
|
+
"data-imf-ui-component": "Tabs.PanelViewport",
|
|
282
|
+
className: F({ className: e.className })
|
|
283
|
+
});
|
|
284
|
+
}
|
|
285
|
+
U.displayName = "Tabs.PanelViewport";
|
|
286
|
+
function W(e) {
|
|
287
|
+
return /* @__PURE__ */ i(u.Panel, {
|
|
288
|
+
...e,
|
|
289
|
+
"data-imf-ui-component": "Tabs.Panel",
|
|
290
|
+
className: (n) => I({ className: t(e.className, n) })
|
|
291
|
+
});
|
|
292
|
+
}
|
|
293
|
+
W.displayName = "Tabs.Panel";
|
|
294
|
+
//#endregion
|
|
295
|
+
export { z as a, O as c, b as d, h as f, U as i, T as l, f as m, B as n, V as o, g as p, W as r, A as s, H as t, S as u };
|
package/dist/vite.js
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { n as e } from "./paths-
|
|
1
|
+
import { n as e } from "./paths-CUyf9wjm.js";
|
|
2
2
|
import { readFileSync as t, readdirSync as n, realpathSync as r } from "node:fs";
|
|
3
3
|
import { dirname as i, join as a, resolve as o, sep as s } from "node:path";
|
|
4
4
|
import { fileURLToPath as c } from "node:url";
|
package/dist/web-ui-cli.js
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
#!/usr/bin/env node
|
|
2
|
-
import { n as e, r as t, t as n } from "./paths-
|
|
2
|
+
import { n as e, r as t, t as n } from "./paths-CUyf9wjm.js";
|
|
3
3
|
import { chmodSync as r, cpSync as i, existsSync as a, lstatSync as o, mkdirSync as s, readFileSync as c, readdirSync as l, readlinkSync as u, realpathSync as d, rmSync as f, symlinkSync as p, writeFileSync as m } from "node:fs";
|
|
4
4
|
import { dirname as h, relative as g, resolve as _ } from "node:path";
|
|
5
5
|
import { Command as ee, Option as te } from "commander";
|
package/package.json
CHANGED
package/src/docgen/doc.gen.json
CHANGED
|
@@ -5569,7 +5569,7 @@
|
|
|
5569
5569
|
"slider": {
|
|
5570
5570
|
"root": {
|
|
5571
5571
|
"name": "Slider.Root",
|
|
5572
|
-
"description": "Slider.Root — value selector along a continuous or stepped track.",
|
|
5572
|
+
"description": "Slider.Root — value selector along a continuous or stepped track.\n\n`variant=\"position\"` draws a scrollbar-like trough and bar thumb for picking one position\nbetween `min` and `max`, such as a slice or frame; `onValueChange` reports the position.",
|
|
5573
5573
|
"props": [
|
|
5574
5574
|
{
|
|
5575
5575
|
"name": "className",
|
|
@@ -5717,6 +5717,13 @@
|
|
|
5717
5717
|
"type": "number | readonly number[]",
|
|
5718
5718
|
"defaultValue": null,
|
|
5719
5719
|
"description": "The value of the slider.\nFor ranged sliders, provide an array with two values."
|
|
5720
|
+
},
|
|
5721
|
+
{
|
|
5722
|
+
"name": "variant",
|
|
5723
|
+
"required": false,
|
|
5724
|
+
"type": "\"default\" | \"position\" | null",
|
|
5725
|
+
"defaultValue": "default",
|
|
5726
|
+
"description": ""
|
|
5720
5727
|
}
|
|
5721
5728
|
]
|
|
5722
5729
|
},
|
|
@@ -8349,6 +8356,43 @@
|
|
|
8349
8356
|
}
|
|
8350
8357
|
]
|
|
8351
8358
|
},
|
|
8359
|
+
"frame-selection": {
|
|
8360
|
+
"root": {
|
|
8361
|
+
"name": "FrameSelection",
|
|
8362
|
+
"description": "FrameSelection - a position slider bound to the focused frame of the multi-frame image sets in `data`.\nEvery matching image set follows the slider, and a `{focus} | {count}` readout sits beside it.\nRenders nothing when `data` holds no multi-frame image set.\n\nMust render inside an `ImFusionProvider`.",
|
|
8363
|
+
"props": [
|
|
8364
|
+
{
|
|
8365
|
+
"name": "data",
|
|
8366
|
+
"required": true,
|
|
8367
|
+
"type": "HandleArray<Data>",
|
|
8368
|
+
"defaultValue": null,
|
|
8369
|
+
"description": "Datasets to scan, for example from `useVisibleData()`. Non-image data, single-frame image sets, and image sets whose\nframe count differs from the first multi-frame set are ignored."
|
|
8370
|
+
},
|
|
8371
|
+
{
|
|
8372
|
+
"name": "disabled",
|
|
8373
|
+
"required": false,
|
|
8374
|
+
"type": "boolean",
|
|
8375
|
+
"defaultValue": "false",
|
|
8376
|
+
"description": "Whether the slider ignores user interaction."
|
|
8377
|
+
},
|
|
8378
|
+
{
|
|
8379
|
+
"name": "label",
|
|
8380
|
+
"required": false,
|
|
8381
|
+
"type": "string",
|
|
8382
|
+
"defaultValue": "Frame",
|
|
8383
|
+
"description": "Accessible name of the slider thumb."
|
|
8384
|
+
},
|
|
8385
|
+
{
|
|
8386
|
+
"name": "orientation",
|
|
8387
|
+
"required": false,
|
|
8388
|
+
"type": "\"horizontal\" | \"vertical\"",
|
|
8389
|
+
"defaultValue": "horizontal",
|
|
8390
|
+
"description": "Direction of the slider; the vertical layout stacks the readout under it."
|
|
8391
|
+
}
|
|
8392
|
+
]
|
|
8393
|
+
},
|
|
8394
|
+
"subComponents": []
|
|
8395
|
+
},
|
|
8352
8396
|
"image-display-options": {
|
|
8353
8397
|
"root": {
|
|
8354
8398
|
"name": "ImageDisplayOptions",
|
package/src/llms/llms.gen.txt
CHANGED
|
@@ -96,6 +96,12 @@ Semantic group for related form controls with a shared legend. Also called a for
|
|
|
96
96
|
- props: node_modules/@imfusion/web-ui/src/docgen/doc.gen.json -> .fieldset (jq: jq '.fieldset' node_modules/@imfusion/web-ui/src/docgen/doc.gen.json)
|
|
97
97
|
- further reading (usage/anatomy, not props): https://base-ui.com/react/components/fieldset.md
|
|
98
98
|
|
|
99
|
+
## FrameSelection
|
|
100
|
+
- category: Inputs, status: experimental
|
|
101
|
+
Frame or slice picker bound to the focused frame of ImFusion image sets, with a focus and count readout. For a position picker not tied to the SDK, use Slider with variant="position".
|
|
102
|
+
- props: node_modules/@imfusion/web-ui/src/docgen/doc.gen.json -> .frame-selection (jq: jq '.frame-selection' node_modules/@imfusion/web-ui/src/docgen/doc.gen.json)
|
|
103
|
+
- further reading (usage/anatomy, not props): https://docs.imfusion.com/
|
|
104
|
+
|
|
99
105
|
## Icon
|
|
100
106
|
- category: Display, status: stable
|
|
101
107
|
Renders a Web UI icon with an optional semantic foreground color. The default inherits the surrounding currentColor.
|
|
@@ -160,7 +166,7 @@ Line that divides content horizontally or vertically. Also called a divider or r
|
|
|
160
166
|
|
|
161
167
|
## Slider
|
|
162
168
|
- category: Inputs, status: stable
|
|
163
|
-
Numeric input for choosing one value or a range by dragging a thumb. Also called a range input; use it when relative magnitude matters.
|
|
169
|
+
Numeric input for choosing one value or a range by dragging a thumb. Also called a range input; use it when relative magnitude matters. The position variant is a scrubber for picking one slice or frame.
|
|
164
170
|
- props: node_modules/@imfusion/web-ui/src/docgen/doc.gen.json -> .slider (jq: jq '.slider' node_modules/@imfusion/web-ui/src/docgen/doc.gen.json)
|
|
165
171
|
- further reading (usage/anatomy, not props): https://base-ui.com/react/components/slider.md
|
|
166
172
|
|