@imfusion/web-ui 0.8.1-dev.3.g40eaad1c → 0.8.1-dev.31.g7b15b0d3

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.
Files changed (40) hide show
  1. package/CHANGELOG.md +71 -0
  2. package/README.md +19 -17
  3. package/dist/components/card/card.d.ts +15 -1
  4. package/dist/components/field/field.d.ts +5 -2
  5. package/dist/components/slider/slider.d.ts +11 -1
  6. package/dist/components/typo/typo.d.ts +20 -11
  7. package/dist/index.js +1374 -1340
  8. package/dist/integrations/frame-selection/frame-selection-view.d.ts +24 -0
  9. package/dist/integrations/frame-selection/frame-selection.d.ts +21 -0
  10. package/dist/integrations/frame-selection/frame-selection.meta.d.ts +2 -0
  11. package/dist/integrations/frame-selection/index.d.ts +2 -0
  12. package/dist/integrations/frame-selection.js +121 -0
  13. package/dist/integrations/image-display-options.js +71 -70
  14. package/dist/llms/evals/runner/config.d.ts +1 -0
  15. package/dist/separator-BAxxttef.js +26 -0
  16. package/dist/slider-gyIYWSy3.js +116 -0
  17. package/dist/style.css +1 -1
  18. package/dist/tabs-9d4oaDwZ.js +295 -0
  19. package/dist/utils/status-glyphs.d.ts +4 -0
  20. package/dist/vite.js +1 -1
  21. package/dist/web-ui-cli.js +1 -1
  22. package/docs/user-guide/AgentTooling.mdx +8 -3
  23. package/package.json +4 -4
  24. package/src/docgen/doc.gen.json +149 -2
  25. package/src/llms/llms.gen.txt +8 -2
  26. package/src/llms/skills/imf-web-ui/SKILL.md +2 -0
  27. package/src/llms/skills/imf-web-ui-audit/SKILL.md +5 -3
  28. package/src/llms/skills/imf-web-ui-components/SKILL.md +3 -1
  29. package/src/llms/skills/imf-web-ui-conventions/templates/AUDIT_CHECKLIST.md +1 -0
  30. package/src/llms/skills/imf-web-ui-conventions/topics/authentication.md +2 -1
  31. package/src/llms/skills/imf-web-ui-conventions/topics/data.md +5 -3
  32. package/src/llms/skills/imf-web-ui-conventions/topics/styling.md +4 -2
  33. package/src/llms/skills/imf-web-ui-conventions/topics/typescript.md +14 -0
  34. package/src/llms/skills/imf-web-ui-setup/SKILL.md +2 -0
  35. package/src/llms/skills/imf-web-ui-update/SKILL.md +37 -6
  36. package/src/llms/skills/imf-web-ui-user-profile/SKILL.md +95 -0
  37. package/src/llms/skills/imf-web-ui-ux/SKILL.md +2 -0
  38. package/src/llms/tokens.gen.json +3 -3
  39. package/dist/tabs-BS6rqrrA.js +0 -398
  40. /package/dist/{paths-Oi0v8x-w.js → paths-CUyf9wjm.js} +0 -0
@@ -0,0 +1,24 @@
1
+ type FrameSelectionViewProps = React.HTMLAttributes<HTMLDivElement> & {
2
+ /** Index of the focused frame, starting at 0. */
3
+ focus: number;
4
+ /** Number of frames in the selected image sets. Nothing renders for one frame or fewer. */
5
+ count: number;
6
+ /** Called with the new 0-based frame index while the thumb moves. */
7
+ onFocusChange: (index: number) => void;
8
+ /** Direction of the slider; the vertical layout stacks the readout under it. */
9
+ orientation?: "horizontal" | "vertical";
10
+ /** Accessible name of the slider thumb. */
11
+ label?: string;
12
+ /** Whether the slider ignores user interaction. */
13
+ disabled?: boolean;
14
+ };
15
+ /**
16
+ * FrameSelectionView - the SDK-free presentational surface behind
17
+ * `FrameSelection`: the same slider and readout, driven by plain props
18
+ * instead of live SDK data.
19
+ */
20
+ export declare function FrameSelectionView({ focus, count, onFocusChange, orientation, label, disabled, className, style, ...props }: FrameSelectionViewProps): import("react/jsx-runtime").JSX.Element | null;
21
+ export declare namespace FrameSelectionView {
22
+ var displayName: string;
23
+ }
24
+ export {};
@@ -0,0 +1,21 @@
1
+ import { Data, HandleArray } from '@imfusion/sdk';
2
+ import { FrameSelectionView } from './frame-selection-view';
3
+ type Props = Omit<React.ComponentProps<typeof FrameSelectionView>, "focus" | "count" | "onFocusChange"> & {
4
+ /**
5
+ * Datasets to scan, for example from `useVisibleData()`. Non-image data, single-frame image sets, and image sets whose
6
+ * frame count differs from the first multi-frame set are ignored.
7
+ */
8
+ data: HandleArray<Data>;
9
+ };
10
+ /**
11
+ * FrameSelection - a position slider bound to the focused frame of the multi-frame image sets in `data`.
12
+ * Every matching image set follows the slider, and a `{focus} | {count}` readout sits beside it.
13
+ * Renders nothing when `data` holds no multi-frame image set.
14
+ *
15
+ * Must render inside an `ImFusionProvider`.
16
+ */
17
+ export declare function FrameSelection({ data, orientation, label, disabled, ...props }: Props): import("react/jsx-runtime").JSX.Element;
18
+ export declare namespace FrameSelection {
19
+ var displayName: string;
20
+ }
21
+ export {};
@@ -0,0 +1,2 @@
1
+ import { ComponentMeta } from '../../types/meta';
2
+ export declare const frameSelectionMeta: ComponentMeta;
@@ -0,0 +1,2 @@
1
+ export { FrameSelection } from './frame-selection';
2
+ export { frameSelectionMeta } from './frame-selection.meta';
@@ -0,0 +1,121 @@
1
+ import { a as e, i as t, o as n, t as r } from "../slider-gyIYWSy3.js";
2
+ import { t as i } from "../meta-j-7HGrWv.js";
3
+ import { t as a } from "../separator-BAxxttef.js";
4
+ import { cva as o } from "class-variance-authority";
5
+ import { Fragment as s, jsx as c, jsxs as l } from "react/jsx-runtime";
6
+ import { useEffect as u, useMemo as d, useState as f } from "react";
7
+ import { useImFusion as p } from "@imfusion/sdk-react";
8
+ var m = {
9
+ count: "imf-ui-frame-selection-module-count",
10
+ focus: "imf-ui-frame-selection-module-focus",
11
+ readout: "imf-ui-frame-selection-module-readout",
12
+ root: "imf-ui-frame-selection-module-root",
13
+ separator: "imf-ui-frame-selection-module-separator",
14
+ slider: "imf-ui-frame-selection-module-slider"
15
+ }, h = o(m.root);
16
+ function g({ focus: i, count: o, onFocusChange: s, orientation: u = "horizontal", label: d = "Frame", disabled: f = !1, className: p, style: g, ..._ }) {
17
+ if (o <= 1) return null;
18
+ let v = i + 1, y = {
19
+ "--digits": String(o).length,
20
+ "--count": o
21
+ };
22
+ return /* @__PURE__ */ l("div", {
23
+ ..._,
24
+ "data-imf-ui-component": "FrameSelection",
25
+ "data-orientation": u,
26
+ className: h({ className: p }),
27
+ style: {
28
+ ...y,
29
+ ...g
30
+ },
31
+ children: [/* @__PURE__ */ c(t, {
32
+ className: m.slider,
33
+ variant: "position",
34
+ orientation: u,
35
+ disabled: f,
36
+ min: 1,
37
+ max: o,
38
+ value: v,
39
+ onValueChange: (e) => {
40
+ s((typeof e == "number" ? e : e[0]) - 1);
41
+ },
42
+ children: /* @__PURE__ */ c(r, { children: /* @__PURE__ */ c(n, { children: /* @__PURE__ */ c(e, {
43
+ "aria-label": d,
44
+ getAriaValueText: (e, t) => `${String(t)} of ${String(o)}`
45
+ }) }) })
46
+ }), /* @__PURE__ */ l("div", {
47
+ className: m.readout,
48
+ "aria-hidden": "true",
49
+ children: [
50
+ /* @__PURE__ */ c("span", {
51
+ className: m.focus,
52
+ children: v
53
+ }),
54
+ /* @__PURE__ */ c(a, {
55
+ className: m.separator,
56
+ orientation: u === "horizontal" ? "vertical" : "horizontal"
57
+ }),
58
+ /* @__PURE__ */ c("span", {
59
+ className: m.count,
60
+ children: o
61
+ })
62
+ ]
63
+ })]
64
+ });
65
+ }
66
+ g.displayName = "FrameSelectionView";
67
+ //#endregion
68
+ //#region src/integrations/frame-selection/frame-selection.tsx
69
+ function _(e, t) {
70
+ if (e.length === 0) return [];
71
+ let n = t.bindings.getImages(e), r = null, i = [];
72
+ for (let e of n) e.size() > 1 && (r ??= e.size(), e.size() == r && i.push(e));
73
+ return i;
74
+ }
75
+ function v({ data: e, orientation: t = "horizontal", label: n = "Frame", disabled: r = !1, ...i }) {
76
+ let a = p(), o = d(() => _(e, a), [e, a]), l = o[0]?.size() ?? 0, [m, h] = f(() => o[0]?.focus() ?? 0);
77
+ return u(function() {
78
+ h(o[0]?.focus() ?? 0);
79
+ let e = o.map((e) => e.onSelectionChanged(() => {
80
+ let t = e.focus();
81
+ h((e) => e === t ? e : t);
82
+ }));
83
+ return () => e.forEach((e) => e());
84
+ }, [o]), u(function() {
85
+ let e = !1;
86
+ for (let t of o) t.focus() !== m && (t.setFocus(m), e = !0);
87
+ e && a.render();
88
+ }, [
89
+ m,
90
+ o,
91
+ a
92
+ ]), /* @__PURE__ */ c(s, { children: l > 1 && /* @__PURE__ */ c(g, {
93
+ ...i,
94
+ focus: m,
95
+ count: l,
96
+ onFocusChange: h,
97
+ orientation: t,
98
+ label: n,
99
+ disabled: r
100
+ }) });
101
+ }
102
+ v.displayName = "FrameSelection";
103
+ //#endregion
104
+ //#region src/integrations/frame-selection/frame-selection.meta.ts
105
+ var y = {
106
+ name: "FrameSelection",
107
+ category: i.inputs,
108
+ status: "experimental",
109
+ description: "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\".",
110
+ origin: "adapted",
111
+ internalDependencies: ["Slider", "Separator"],
112
+ upstream: {
113
+ name: "ImFusion Web SDK",
114
+ websiteLink: "https://www.imfusion.com/",
115
+ docLink: "https://docs.imfusion.com/",
116
+ llmDocLink: "https://docs.imfusion.com/",
117
+ runtimeDependencies: ["@imfusion/sdk", "@imfusion/sdk-react"]
118
+ }
119
+ };
120
+ //#endregion
121
+ export { v as FrameSelection, y as frameSelectionMeta };
@@ -1,5 +1,6 @@
1
- import { _ as e, a as t, b as n, c as r, d as i, f as a, g as o, h as s, i as c, l, n as u, o as d, p as f, r as p, t as m, u as h, v as g, x as _, y as v } from "../tabs-BS6rqrrA.js";
2
- import { t as y } from "../meta-j-7HGrWv.js";
1
+ import { a as e, i as t, n, o as r, r as i, s as a, t as o } from "../slider-gyIYWSy3.js";
2
+ import { t as s } from "../meta-j-7HGrWv.js";
3
+ import { a as c, c as l, d as u, f as d, i as f, l as p, n as m, o as h, p as g, r as _, t as v, u as y } from "../tabs-9d4oaDwZ.js";
3
4
  import { cva as b } from "class-variance-authority";
4
5
  import { Fragment as x, jsx as S, jsxs as C } from "react/jsx-runtime";
5
6
  import { useId as w, useMemo as T, useState as E } from "react";
@@ -73,29 +74,29 @@ function F(e, t) {
73
74
  //#endregion
74
75
  //#region src/integrations/image-display-options/image-display-options-view.tsx
75
76
  var I = b(k.root);
76
- function L({ spec: t, value: r, row: i, onChange: a }) {
77
- let c = /* @__PURE__ */ C(g, {
78
- value: r,
79
- min: t.min,
80
- max: t.max,
81
- step: t.step,
82
- format: t.format,
77
+ function L({ spec: s, value: c, row: l, onChange: u }) {
78
+ let d = /* @__PURE__ */ C(t, {
79
+ value: c,
80
+ min: s.min,
81
+ max: s.max,
82
+ step: s.step,
83
+ format: s.format,
83
84
  onValueChange: (e) => {
84
- a(typeof e == "number" ? e : e[0]);
85
+ u(typeof e == "number" ? e : e[0]);
85
86
  },
86
- children: [/* @__PURE__ */ C(l, {
87
+ children: [/* @__PURE__ */ C(p, {
87
88
  justify: "between",
88
- children: [/* @__PURE__ */ S(e, { children: t.label }), /* @__PURE__ */ S(_, {})]
89
- }), /* @__PURE__ */ S(s, { children: /* @__PURE__ */ C(n, { children: [/* @__PURE__ */ S(o, {}), /* @__PURE__ */ S(v, { "aria-label": t.label })] }) })]
89
+ children: [/* @__PURE__ */ S(i, { children: s.label }), /* @__PURE__ */ S(a, {})]
90
+ }), /* @__PURE__ */ S(o, { children: /* @__PURE__ */ C(r, { children: [/* @__PURE__ */ S(n, {}), /* @__PURE__ */ S(e, { "aria-label": s.label })] }) })]
90
91
  });
91
- return i ? /* @__PURE__ */ S("div", {
92
+ return l ? /* @__PURE__ */ S("div", {
92
93
  className: k.rowField,
93
- children: c
94
- }) : c;
94
+ children: d
95
+ }) : d;
95
96
  }
96
97
  function R({ checked: e, row: t, onChange: n }) {
97
98
  let r = w();
98
- return /* @__PURE__ */ C(l, {
99
+ return /* @__PURE__ */ C(p, {
99
100
  align: "center",
100
101
  justify: t ? "start" : "between",
101
102
  gap: "2",
@@ -104,18 +105,18 @@ function R({ checked: e, row: t, onChange: n }) {
104
105
  id: r,
105
106
  className: k.invertLabel,
106
107
  children: "Invert"
107
- }), /* @__PURE__ */ S(a, {
108
+ }), /* @__PURE__ */ S(d, {
108
109
  "aria-labelledby": r,
109
110
  checked: e,
110
111
  onCheckedChange: (e) => {
111
112
  n(e);
112
113
  },
113
- children: /* @__PURE__ */ S(f, {})
114
+ children: /* @__PURE__ */ S(g, {})
114
115
  })]
115
116
  });
116
117
  }
117
118
  function z({ active: e, onChange: t }) {
118
- return /* @__PURE__ */ C(h, {
119
+ return /* @__PURE__ */ C(y, {
119
120
  className: k.segment,
120
121
  "aria-label": "Display dimension",
121
122
  value: [e],
@@ -123,10 +124,10 @@ function z({ active: e, onChange: t }) {
123
124
  let n = e[0];
124
125
  (n === "2d" || n === "3d") && t(n);
125
126
  },
126
- children: [/* @__PURE__ */ S(i, {
127
+ children: [/* @__PURE__ */ S(u, {
127
128
  value: "2d",
128
129
  children: "2D"
129
- }), /* @__PURE__ */ S(i, {
130
+ }), /* @__PURE__ */ S(u, {
130
131
  value: "3d",
131
132
  children: "3D"
132
133
  })]
@@ -149,115 +150,115 @@ function B({ dimension: e, fields: t, options: n, row: r, onChange: i }) {
149
150
  }
150
151
  })] });
151
152
  }
152
- function V({ variant: e = "default", options: n, intensityRange: i, ranges: a, onOptionsChange: o, className: s, ...f }) {
153
- let [h, g] = E("2d"), _ = N(i, a), v = (e) => {
154
- g(e === "3d" ? "3d" : "2d");
153
+ function V({ variant: e = "default", options: t, intensityRange: n, ranges: r, onOptionsChange: i, className: a, ...o }) {
154
+ let [s, u] = E("2d"), d = N(n, r), g = (e) => {
155
+ u(e === "3d" ? "3d" : "2d");
155
156
  };
156
157
  return /* @__PURE__ */ S("div", {
157
- ...f,
158
+ ...o,
158
159
  "data-imf-ui-component": "ImageDisplayOptions",
159
- className: I({ className: s }),
160
- children: e === "default" ? /* @__PURE__ */ C(t, {
161
- value: h,
162
- onValueChange: v,
163
- children: [/* @__PURE__ */ C(u, { children: [
164
- /* @__PURE__ */ S(d, {
160
+ className: I({ className: a }),
161
+ children: e === "default" ? /* @__PURE__ */ C(c, {
162
+ value: s,
163
+ onValueChange: g,
164
+ children: [/* @__PURE__ */ C(m, { children: [
165
+ /* @__PURE__ */ S(h, {
165
166
  value: "2d",
166
167
  children: "2D Slices"
167
168
  }),
168
- /* @__PURE__ */ S(d, {
169
+ /* @__PURE__ */ S(h, {
169
170
  value: "3d",
170
171
  children: "3D Volume"
171
172
  }),
172
- /* @__PURE__ */ S(m, {})
173
- ] }), /* @__PURE__ */ C(c, { children: [/* @__PURE__ */ S(p, {
173
+ /* @__PURE__ */ S(v, {})
174
+ ] }), /* @__PURE__ */ C(f, { children: [/* @__PURE__ */ S(_, {
174
175
  value: "2d",
175
- children: /* @__PURE__ */ S(r, {
176
+ children: /* @__PURE__ */ S(l, {
176
177
  gap: "3",
177
178
  children: /* @__PURE__ */ S(B, {
178
179
  dimension: "2d",
179
- fields: _["2d"],
180
- options: n,
180
+ fields: d["2d"],
181
+ options: t,
181
182
  row: !1,
182
- onChange: o
183
+ onChange: i
183
184
  })
184
185
  })
185
- }), /* @__PURE__ */ S(p, {
186
+ }), /* @__PURE__ */ S(_, {
186
187
  value: "3d",
187
- children: /* @__PURE__ */ S(r, {
188
+ children: /* @__PURE__ */ S(l, {
188
189
  gap: "3",
189
190
  children: /* @__PURE__ */ S(B, {
190
191
  dimension: "3d",
191
- fields: _["3d"],
192
- options: n,
192
+ fields: d["3d"],
193
+ options: t,
193
194
  row: !1,
194
- onChange: o
195
+ onChange: i
195
196
  })
196
197
  })
197
198
  })] })]
198
- }) : e === "horizontal" ? /* @__PURE__ */ C(t, {
199
+ }) : e === "horizontal" ? /* @__PURE__ */ C(c, {
199
200
  className: k.horizontalTabs,
200
201
  orientation: "vertical",
201
- value: h,
202
- onValueChange: v,
203
- children: [/* @__PURE__ */ C(u, {
202
+ value: s,
203
+ onValueChange: g,
204
+ children: [/* @__PURE__ */ C(m, {
204
205
  fill: !0,
205
206
  children: [
206
- /* @__PURE__ */ S(d, {
207
+ /* @__PURE__ */ S(h, {
207
208
  value: "2d",
208
209
  children: "2D"
209
210
  }),
210
- /* @__PURE__ */ S(d, {
211
+ /* @__PURE__ */ S(h, {
211
212
  value: "3d",
212
213
  children: "3D"
213
214
  }),
214
- /* @__PURE__ */ S(m, {})
215
+ /* @__PURE__ */ S(v, {})
215
216
  ]
216
- }), /* @__PURE__ */ C(c, {
217
+ }), /* @__PURE__ */ C(f, {
217
218
  className: k.horizontalPanel,
218
- children: [/* @__PURE__ */ S(p, {
219
+ children: [/* @__PURE__ */ S(_, {
219
220
  value: "2d",
220
- children: /* @__PURE__ */ S(l, {
221
+ children: /* @__PURE__ */ S(p, {
221
222
  align: "center",
222
223
  gap: "3",
223
224
  className: k.strip,
224
225
  children: /* @__PURE__ */ S(B, {
225
226
  dimension: "2d",
226
- fields: _["2d"],
227
- options: n,
227
+ fields: d["2d"],
228
+ options: t,
228
229
  row: !0,
229
- onChange: o
230
+ onChange: i
230
231
  })
231
232
  })
232
- }), /* @__PURE__ */ S(p, {
233
+ }), /* @__PURE__ */ S(_, {
233
234
  value: "3d",
234
- children: /* @__PURE__ */ S(l, {
235
+ children: /* @__PURE__ */ S(p, {
235
236
  align: "center",
236
237
  gap: "3",
237
238
  className: k.strip,
238
239
  children: /* @__PURE__ */ S(B, {
239
240
  dimension: "3d",
240
- fields: _["3d"],
241
- options: n,
241
+ fields: d["3d"],
242
+ options: t,
242
243
  row: !0,
243
- onChange: o
244
+ onChange: i
244
245
  })
245
246
  })
246
247
  })]
247
248
  })]
248
- }) : /* @__PURE__ */ C(l, {
249
+ }) : /* @__PURE__ */ C(p, {
249
250
  align: "center",
250
251
  gap: "3",
251
252
  className: k.compactStrip,
252
253
  children: [/* @__PURE__ */ S(z, {
253
- active: h,
254
- onChange: g
254
+ active: s,
255
+ onChange: u
255
256
  }), /* @__PURE__ */ S(B, {
256
- dimension: h,
257
- fields: _[h],
258
- options: n,
257
+ dimension: s,
258
+ fields: d[s],
259
+ options: t,
259
260
  row: !0,
260
- onChange: o
261
+ onChange: i
261
262
  })]
262
263
  })
263
264
  });
@@ -295,7 +296,7 @@ H.displayName = "ImageDisplayOptions";
295
296
  //#region src/integrations/image-display-options/image-display-options.meta.ts
296
297
  var U = {
297
298
  name: "ImageDisplayOptions",
298
- category: y.inputs,
299
+ category: s.inputs,
299
300
  status: "experimental",
300
301
  description: "Panel and toolbar controls for an image dataset's display options, including window, level, gamma, and invert settings.",
301
302
  origin: "adapted",
@@ -3,6 +3,7 @@ export declare const NO_SKILLS: boolean;
3
3
  export declare const EVAL_ROOT: string;
4
4
  export declare const TEMPLATE: string;
5
5
  export declare const CODEX_HOME_DIR: string;
6
+ export declare const XDG_CONFIG_DIR: string;
6
7
  export declare const RESULTS_DIR: string;
7
8
  export declare const REPORT_PATH: string;
8
9
  export declare const SCENARIOS_DIR: string;
@@ -0,0 +1,26 @@
1
+ import { cva as e } from "class-variance-authority";
2
+ import { jsx as t } from "react/jsx-runtime";
3
+ import { Separator as n } from "@base-ui/react/separator";
4
+ var r = {
5
+ root: "imf-ui-separator-module-root",
6
+ variantDashed: "imf-ui-separator-module-variantDashed",
7
+ variantDotted: "imf-ui-separator-module-variantDotted",
8
+ variantSolid: "imf-ui-separator-module-variantSolid"
9
+ }, i = e(r.root, { variants: { variant: {
10
+ solid: r.variantSolid,
11
+ dashed: r.variantDashed,
12
+ dotted: r.variantDotted
13
+ } } });
14
+ function a({ orientation: e = "horizontal", variant: r = "solid", ...a }) {
15
+ return /* @__PURE__ */ t(n, {
16
+ ...a,
17
+ orientation: e,
18
+ "data-imf-ui-component": "Separator",
19
+ className: i({
20
+ variant: r,
21
+ className: a.className
22
+ })
23
+ });
24
+ }
25
+ //#endregion
26
+ export { a as t };
@@ -0,0 +1,116 @@
1
+ import { t as e } from "./chunk-DmhlhrBa.js";
2
+ import { cva as t } from "class-variance-authority";
3
+ import { jsx as n } from "react/jsx-runtime";
4
+ import { Slider as r } from "@base-ui/react/slider";
5
+ //#region src/utils/resolve-state-props.ts
6
+ function i(e, t) {
7
+ return e instanceof Function ? e(t) : e;
8
+ }
9
+ function a(e, t) {
10
+ return i(e, t);
11
+ }
12
+ function o(e, t) {
13
+ return i(e, t);
14
+ }
15
+ var s = {
16
+ control: "imf-ui-slider-module-control",
17
+ indicator: "imf-ui-slider-module-indicator",
18
+ label: "imf-ui-slider-module-label",
19
+ root: "imf-ui-slider-module-root",
20
+ thumb: "imf-ui-slider-module-thumb",
21
+ track: "imf-ui-slider-module-track",
22
+ value: "imf-ui-slider-module-value",
23
+ variantPosition: "imf-ui-slider-module-variantPosition"
24
+ }, c = /* @__PURE__ */ e({
25
+ Control: () => y,
26
+ Indicator: () => x,
27
+ Label: () => _,
28
+ Root: () => g,
29
+ Thumb: () => S,
30
+ Track: () => b,
31
+ Value: () => v
32
+ }), l = t(s.root, { variants: { variant: {
33
+ default: null,
34
+ position: s.variantPosition
35
+ } } }), u = t(s.label), d = t(s.value), f = t(s.control), p = t(s.track), m = t(s.indicator), h = t(s.thumb);
36
+ function g({ variant: e = "default", value: t, defaultValue: i, onValueChange: o, onValueCommitted: s, min: c = 0, max: u = 100, step: d = 1, largeStep: f = 10, minStepsBetweenValues: p = 0, disabled: m = !1, orientation: h = "horizontal", name: g, form: _, locale: v, thumbAlignment: y = "edge", thumbCollisionBehavior: b = "push", format: x, ...S }) {
37
+ return /* @__PURE__ */ n(r.Root, {
38
+ ...S,
39
+ "data-imf-ui-component": "Slider.Root",
40
+ "data-orientation": h,
41
+ className: (t) => l({
42
+ variant: e,
43
+ className: a(S.className, t)
44
+ }),
45
+ value: t,
46
+ defaultValue: i,
47
+ onValueChange: o,
48
+ onValueCommitted: s,
49
+ min: c,
50
+ max: u,
51
+ step: d,
52
+ largeStep: f,
53
+ minStepsBetweenValues: p,
54
+ disabled: m,
55
+ orientation: h,
56
+ name: g,
57
+ form: _,
58
+ locale: v,
59
+ thumbAlignment: y,
60
+ thumbCollisionBehavior: b,
61
+ format: x
62
+ });
63
+ }
64
+ g.displayName = "Slider.Root";
65
+ function _(e) {
66
+ return /* @__PURE__ */ n(r.Label, {
67
+ ...e,
68
+ "data-imf-ui-component": "Slider.Label",
69
+ className: (t) => u({ className: a(e.className, t) })
70
+ });
71
+ }
72
+ _.displayName = "Slider.Label";
73
+ function v({ children: e, ...t }) {
74
+ return /* @__PURE__ */ n(r.Value, {
75
+ ...t,
76
+ "data-imf-ui-component": "Slider.Value",
77
+ className: (e) => d({ className: a(t.className, e) }),
78
+ children: e
79
+ });
80
+ }
81
+ v.displayName = "Slider.Value";
82
+ function y(e) {
83
+ return /* @__PURE__ */ n(r.Control, {
84
+ ...e,
85
+ "data-imf-ui-component": "Slider.Control",
86
+ className: (t) => f({ className: a(e.className, t) })
87
+ });
88
+ }
89
+ y.displayName = "Slider.Control";
90
+ function b(e) {
91
+ return /* @__PURE__ */ n(r.Track, {
92
+ ...e,
93
+ "data-imf-ui-component": "Slider.Track",
94
+ className: (t) => p({ className: a(e.className, t) })
95
+ });
96
+ }
97
+ b.displayName = "Slider.Track";
98
+ function x(e) {
99
+ return /* @__PURE__ */ n(r.Indicator, {
100
+ ...e,
101
+ "data-imf-ui-component": "Slider.Indicator",
102
+ className: (t) => m({ className: a(e.className, t) })
103
+ });
104
+ }
105
+ x.displayName = "Slider.Indicator";
106
+ function S({ index: e, ...t }) {
107
+ return /* @__PURE__ */ n(r.Thumb, {
108
+ ...t,
109
+ "data-imf-ui-component": "Slider.Thumb",
110
+ className: (e) => h({ className: a(t.className, e) }),
111
+ index: e
112
+ });
113
+ }
114
+ S.displayName = "Slider.Thumb";
115
+ //#endregion
116
+ export { S as a, c, g as i, a as l, x as n, b as o, _ as r, v as s, y as t, o as u };