@imfusion/web-ui 0.11.1-dev.47.g23180a23 → 0.11.1-dev.49.gcda1589f
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 +12 -0
- package/dist/{code-BX1Humcy.js → code-BaLXMEMa.js} +2 -2
- package/dist/icon-button-roSB497o.js +171 -0
- package/dist/index.js +2599 -2780
- package/dist/integrations/code-highlight.js +2 -2
- package/dist/integrations/frame-selection.js +1 -1
- package/dist/integrations/image-display-options.js +75 -73
- package/dist/integrations/layout-mode/index.d.ts +2 -0
- package/dist/integrations/layout-mode/layout-mode-view.d.ts +32 -0
- package/dist/integrations/layout-mode/layout-mode.d.ts +13 -0
- package/dist/integrations/layout-mode/layout-mode.meta.d.ts +2 -0
- package/dist/integrations/layout-mode.js +103 -0
- package/dist/integrations/view-tools/index.d.ts +4 -0
- package/dist/integrations/view-tools/use-view-interaction.d.ts +21 -0
- package/dist/integrations/view-tools/view-tools-view.d.ts +23 -0
- package/dist/integrations/view-tools/view-tools.d.ts +14 -0
- package/dist/integrations/view-tools/view-tools.meta.d.ts +2 -0
- package/dist/integrations/view-tools.js +133 -0
- package/dist/rolldown-runtime-Dy4uBu1J.js +11 -0
- package/dist/row-CImu8yXV.js +136 -0
- package/dist/{scroll-area-CUo1NBaW.js → scroll-area-CXQ_SxPX.js} +21 -20
- package/dist/{slider-BKDxeTmk.js → slider-CpIZMAFl.js} +24 -23
- package/dist/style.css +1 -1
- package/dist/tabs-BqgyMmo6.js +173 -0
- package/dist/toggle-group-Bhb3qicp.js +31 -0
- package/dist/toggle-group-eGr6_hgQ.js +125 -0
- package/dist/{utils-RZJAXfcf.js → utils-J6vbjIt1.js} +11 -21
- package/package.json +3 -3
- package/src/docgen/doc.gen.json +130 -0
- package/src/llms/llms.gen.txt +12 -0
- package/dist/tabs-CLeLjFNy.js +0 -423
|
@@ -0,0 +1,173 @@
|
|
|
1
|
+
import { t as e } from "./rolldown-runtime-Dy4uBu1J.js";
|
|
2
|
+
import { a as t } from "./utils-J6vbjIt1.js";
|
|
3
|
+
import { cva as n, cx as r } from "class-variance-authority";
|
|
4
|
+
import { jsx as i } from "react/jsx-runtime";
|
|
5
|
+
import { createContext as a, useCallback as o, useContext as s } from "react";
|
|
6
|
+
import { Switch as c } from "@base-ui/react/switch";
|
|
7
|
+
import { Tabs as l } from "@base-ui/react/tabs";
|
|
8
|
+
var u = {
|
|
9
|
+
root: "imf-ui-switch-module-root",
|
|
10
|
+
thumb: "imf-ui-switch-module-thumb"
|
|
11
|
+
}, d = /* @__PURE__ */ e({
|
|
12
|
+
Root: () => m,
|
|
13
|
+
Thumb: () => h
|
|
14
|
+
}), f = n(u.root), p = n(u.thumb);
|
|
15
|
+
function m(e) {
|
|
16
|
+
return /* @__PURE__ */ i(c.Root, {
|
|
17
|
+
...e,
|
|
18
|
+
"data-imf-ui-component": "Switch.Root",
|
|
19
|
+
className: (n) => f({ className: t(e.className, n) })
|
|
20
|
+
});
|
|
21
|
+
}
|
|
22
|
+
m.displayName = "Switch.Root";
|
|
23
|
+
function h(e) {
|
|
24
|
+
return /* @__PURE__ */ i(c.Thumb, {
|
|
25
|
+
...e,
|
|
26
|
+
"data-imf-ui-component": "Switch.Thumb",
|
|
27
|
+
className: (n) => p({ className: t(e.className, n) })
|
|
28
|
+
});
|
|
29
|
+
}
|
|
30
|
+
h.displayName = "Switch.Thumb";
|
|
31
|
+
var g = {
|
|
32
|
+
item: "imf-ui-tabs-underline-module-item",
|
|
33
|
+
rule: "imf-ui-tabs-underline-module-rule"
|
|
34
|
+
}, _ = n(g.rule), v = n(g.item), y = {
|
|
35
|
+
indicator: "imf-ui-tabs-module-indicator",
|
|
36
|
+
indicatorUnderline: "imf-ui-tabs-module-indicatorUnderline",
|
|
37
|
+
list: "imf-ui-tabs-module-list",
|
|
38
|
+
listFill: "imf-ui-tabs-module-listFill",
|
|
39
|
+
listUnderline: "imf-ui-tabs-module-listUnderline",
|
|
40
|
+
panel: "imf-ui-tabs-module-panel",
|
|
41
|
+
panelUnderline: "imf-ui-tabs-module-panelUnderline",
|
|
42
|
+
panelViewport: "imf-ui-tabs-module-panelViewport",
|
|
43
|
+
panelViewportUnderline: "imf-ui-tabs-module-panelViewportUnderline",
|
|
44
|
+
root: "imf-ui-tabs-module-root",
|
|
45
|
+
tab: "imf-ui-tabs-module-tab",
|
|
46
|
+
tabUnderline: "imf-ui-tabs-module-tabUnderline"
|
|
47
|
+
}, b = /* @__PURE__ */ e({
|
|
48
|
+
Indicator: () => N,
|
|
49
|
+
List: () => j,
|
|
50
|
+
Panel: () => F,
|
|
51
|
+
PanelViewport: () => P,
|
|
52
|
+
Root: () => A,
|
|
53
|
+
Tab: () => M
|
|
54
|
+
}), x = n(y.list, { variants: {
|
|
55
|
+
fill: {
|
|
56
|
+
true: y.listFill,
|
|
57
|
+
false: null
|
|
58
|
+
},
|
|
59
|
+
appearance: {
|
|
60
|
+
boxed: null,
|
|
61
|
+
underline: r(y.listUnderline, _())
|
|
62
|
+
}
|
|
63
|
+
} }), S = n(y.root), C = n(null, { variants: { appearance: {
|
|
64
|
+
boxed: y.tab,
|
|
65
|
+
underline: r(y.tabUnderline, v())
|
|
66
|
+
} } }), w = n(null, { variants: { appearance: {
|
|
67
|
+
boxed: y.indicator,
|
|
68
|
+
underline: y.indicatorUnderline
|
|
69
|
+
} } }), T = n(y.panelViewport, { variants: { appearance: {
|
|
70
|
+
boxed: null,
|
|
71
|
+
underline: y.panelViewportUnderline
|
|
72
|
+
} } }), E = n(y.panel, { variants: { appearance: {
|
|
73
|
+
boxed: null,
|
|
74
|
+
underline: y.panelUnderline
|
|
75
|
+
} } }), D = a("boxed");
|
|
76
|
+
function O(e, t) {
|
|
77
|
+
typeof e == "function" ? e(t) : e && (e.current = t);
|
|
78
|
+
}
|
|
79
|
+
function k(e) {
|
|
80
|
+
let t = new ResizeObserver(() => {
|
|
81
|
+
let t = e.dataset.orientation === "vertical" ? e.scrollHeight > e.clientHeight : e.scrollWidth > e.clientWidth;
|
|
82
|
+
e.toggleAttribute("data-overflowing", t);
|
|
83
|
+
}), n = () => {
|
|
84
|
+
t.disconnect(), t.observe(e);
|
|
85
|
+
for (let n of e.children) t.observe(n);
|
|
86
|
+
}, r = new MutationObserver(n);
|
|
87
|
+
return r.observe(e, { childList: !0 }), n(), () => {
|
|
88
|
+
t.disconnect(), r.disconnect();
|
|
89
|
+
};
|
|
90
|
+
}
|
|
91
|
+
function A({ appearance: e = "boxed", ...n }) {
|
|
92
|
+
let r = n.orientation === "vertical" ? "boxed" : e;
|
|
93
|
+
return /* @__PURE__ */ i(D, {
|
|
94
|
+
value: r,
|
|
95
|
+
children: /* @__PURE__ */ i(l.Root, {
|
|
96
|
+
...n,
|
|
97
|
+
"data-imf-ui-component": "Tabs.Root",
|
|
98
|
+
className: (e) => S({ className: t(n.className, e) })
|
|
99
|
+
})
|
|
100
|
+
});
|
|
101
|
+
}
|
|
102
|
+
A.displayName = "Tabs.Root";
|
|
103
|
+
function j({ fill: e = !1, ref: n, ...r }) {
|
|
104
|
+
let a = s(D), c = o((e) => {
|
|
105
|
+
if (!e) return;
|
|
106
|
+
O(n, e);
|
|
107
|
+
let t = k(e);
|
|
108
|
+
return () => {
|
|
109
|
+
t(), O(n, null);
|
|
110
|
+
};
|
|
111
|
+
}, [n]);
|
|
112
|
+
return /* @__PURE__ */ i(l.List, {
|
|
113
|
+
...r,
|
|
114
|
+
ref: c,
|
|
115
|
+
"data-imf-ui-component": "Tabs.List",
|
|
116
|
+
className: (n) => x({
|
|
117
|
+
fill: e,
|
|
118
|
+
appearance: a,
|
|
119
|
+
className: t(r.className, n)
|
|
120
|
+
})
|
|
121
|
+
});
|
|
122
|
+
}
|
|
123
|
+
j.displayName = "Tabs.List";
|
|
124
|
+
function M(e) {
|
|
125
|
+
let n = s(D);
|
|
126
|
+
return /* @__PURE__ */ i(l.Tab, {
|
|
127
|
+
...e,
|
|
128
|
+
"data-imf-ui-component": "Tabs.Tab",
|
|
129
|
+
className: (r) => C({
|
|
130
|
+
appearance: n,
|
|
131
|
+
className: t(e.className, r)
|
|
132
|
+
})
|
|
133
|
+
});
|
|
134
|
+
}
|
|
135
|
+
M.displayName = "Tabs.Tab";
|
|
136
|
+
function N(e) {
|
|
137
|
+
let n = s(D);
|
|
138
|
+
return /* @__PURE__ */ i(l.Indicator, {
|
|
139
|
+
...e,
|
|
140
|
+
"data-imf-ui-component": "Tabs.Indicator",
|
|
141
|
+
className: (r) => w({
|
|
142
|
+
appearance: n,
|
|
143
|
+
className: t(e.className, r)
|
|
144
|
+
})
|
|
145
|
+
});
|
|
146
|
+
}
|
|
147
|
+
N.displayName = "Tabs.Indicator";
|
|
148
|
+
function P(e) {
|
|
149
|
+
let t = s(D);
|
|
150
|
+
return /* @__PURE__ */ i("div", {
|
|
151
|
+
...e,
|
|
152
|
+
"data-imf-ui-component": "Tabs.PanelViewport",
|
|
153
|
+
className: T({
|
|
154
|
+
appearance: t,
|
|
155
|
+
className: e.className
|
|
156
|
+
})
|
|
157
|
+
});
|
|
158
|
+
}
|
|
159
|
+
P.displayName = "Tabs.PanelViewport";
|
|
160
|
+
function F(e) {
|
|
161
|
+
let n = s(D);
|
|
162
|
+
return /* @__PURE__ */ i(l.Panel, {
|
|
163
|
+
...e,
|
|
164
|
+
"data-imf-ui-component": "Tabs.Panel",
|
|
165
|
+
className: (r) => E({
|
|
166
|
+
appearance: n,
|
|
167
|
+
className: t(e.className, r)
|
|
168
|
+
})
|
|
169
|
+
});
|
|
170
|
+
}
|
|
171
|
+
F.displayName = "Tabs.Panel";
|
|
172
|
+
//#endregion
|
|
173
|
+
export { A as a, v as c, h as d, d as f, P as i, _ as l, j as n, M as o, F as r, b as s, N as t, m as u };
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
import { t as e } from "./meta-V_KyLeGn.js";
|
|
2
|
+
import "./toggle-group-eGr6_hgQ.js";
|
|
3
|
+
//#region src/components/toggle/toggle.meta.ts
|
|
4
|
+
var t = {
|
|
5
|
+
name: "Toggle",
|
|
6
|
+
category: e.inputs,
|
|
7
|
+
status: "experimental",
|
|
8
|
+
description: "Two-state button for a pressed or unpressed option. Compose several in ToggleGroup for a segmented control.",
|
|
9
|
+
origin: "adapted",
|
|
10
|
+
internalDependencies: ["Kbd"],
|
|
11
|
+
upstream: {
|
|
12
|
+
name: "Base UI",
|
|
13
|
+
websiteLink: "https://base-ui.com/",
|
|
14
|
+
docLink: "https://base-ui.com/react/components/toggle",
|
|
15
|
+
llmDocLink: "https://base-ui.com/react/components/toggle.md"
|
|
16
|
+
}
|
|
17
|
+
}, n = {
|
|
18
|
+
name: "ToggleGroup",
|
|
19
|
+
category: e.inputs,
|
|
20
|
+
status: "experimental",
|
|
21
|
+
description: "Group of connected Toggle buttons that share a selection. Also called a segmented control; set `multiple` for more than one active option.",
|
|
22
|
+
origin: "adapted",
|
|
23
|
+
upstream: {
|
|
24
|
+
name: "Base UI",
|
|
25
|
+
websiteLink: "https://base-ui.com/",
|
|
26
|
+
docLink: "https://base-ui.com/react/components/toggle-group",
|
|
27
|
+
llmDocLink: "https://base-ui.com/react/components/toggle-group.md"
|
|
28
|
+
}
|
|
29
|
+
};
|
|
30
|
+
//#endregion
|
|
31
|
+
export { t as n, n as t };
|
|
@@ -0,0 +1,125 @@
|
|
|
1
|
+
import { _M as e, mh as t } from "./icons-vc1WZCxX.js";
|
|
2
|
+
import { t as n } from "./meta-V_KyLeGn.js";
|
|
3
|
+
import { a as r, o as i } from "./utils-J6vbjIt1.js";
|
|
4
|
+
import { cva as a } from "class-variance-authority";
|
|
5
|
+
import { jsx as o, jsxs as s } from "react/jsx-runtime";
|
|
6
|
+
import { Children as c, createContext as l, useContext as u } from "react";
|
|
7
|
+
import { Toggle as d } from "@base-ui/react/toggle";
|
|
8
|
+
import { ToggleGroup as f } from "@base-ui/react/toggle-group";
|
|
9
|
+
var p = {
|
|
10
|
+
flat: "imf-ui-kbd-module-flat",
|
|
11
|
+
icon: "imf-ui-kbd-module-icon",
|
|
12
|
+
primary: "imf-ui-kbd-module-primary",
|
|
13
|
+
root: "imf-ui-kbd-module-root"
|
|
14
|
+
}, m = a(p.root, { variants: { variant: {
|
|
15
|
+
default: null,
|
|
16
|
+
primary: p.primary,
|
|
17
|
+
flat: p.flat
|
|
18
|
+
} } });
|
|
19
|
+
function h({ variant: n = "default", icon: r = !1, children: i, ...a }) {
|
|
20
|
+
return /* @__PURE__ */ s("kbd", {
|
|
21
|
+
...a,
|
|
22
|
+
"data-imf-ui-component": "Kbd",
|
|
23
|
+
className: m({
|
|
24
|
+
variant: n,
|
|
25
|
+
className: a.className
|
|
26
|
+
}),
|
|
27
|
+
children: [r && /* @__PURE__ */ o(e, {
|
|
28
|
+
glyph: t,
|
|
29
|
+
strokeWidth: 2,
|
|
30
|
+
"aria-hidden": !0,
|
|
31
|
+
className: p.icon
|
|
32
|
+
}), i]
|
|
33
|
+
});
|
|
34
|
+
}
|
|
35
|
+
//#endregion
|
|
36
|
+
//#region src/components/kbd/kbd.meta.ts
|
|
37
|
+
var g = {
|
|
38
|
+
name: "Kbd",
|
|
39
|
+
category: n.display,
|
|
40
|
+
status: "experimental",
|
|
41
|
+
description: "Shows a keyboard key or shortcut, such as the letter that activates a button. Also called a key hint; Button and Toggle render it through their `shortcut` prop.",
|
|
42
|
+
origin: "native",
|
|
43
|
+
internalDependencies: ["Icon"]
|
|
44
|
+
}, _ = {
|
|
45
|
+
ctrl: "Control",
|
|
46
|
+
control: "Control",
|
|
47
|
+
cmd: "Meta",
|
|
48
|
+
"⌘": "Meta",
|
|
49
|
+
meta: "Meta",
|
|
50
|
+
opt: "Alt",
|
|
51
|
+
option: "Alt",
|
|
52
|
+
"⌥": "Alt",
|
|
53
|
+
alt: "Alt",
|
|
54
|
+
shift: "Shift",
|
|
55
|
+
"⇧": "Shift",
|
|
56
|
+
esc: "Escape",
|
|
57
|
+
escape: "Escape"
|
|
58
|
+
};
|
|
59
|
+
function v(e) {
|
|
60
|
+
let t = e.trim().split(/\s+/).filter(Boolean);
|
|
61
|
+
if (t.length !== 0) return t.map((e) => _[e.toLowerCase()] ?? (e.length === 1 ? e.toUpperCase() : e)).join("+");
|
|
62
|
+
}
|
|
63
|
+
//#endregion
|
|
64
|
+
//#region src/components/toggle-group/toggle-group-size.ts
|
|
65
|
+
var y = l("md"), b = {
|
|
66
|
+
root: "imf-ui-toggle-module-root",
|
|
67
|
+
shortcut: "imf-ui-toggle-module-shortcut",
|
|
68
|
+
sizeSm: "imf-ui-toggle-module-sizeSm"
|
|
69
|
+
}, x = a(b.root, { variants: { size: {
|
|
70
|
+
sm: b.sizeSm,
|
|
71
|
+
md: null
|
|
72
|
+
} } }), S = 2;
|
|
73
|
+
function C(e) {
|
|
74
|
+
let t = 0;
|
|
75
|
+
return c.forEach(e, (e) => {
|
|
76
|
+
typeof e == "string" || typeof e == "number" ? t += String(e).trim().length : e != null && typeof e != "boolean" && (t += S);
|
|
77
|
+
}), t;
|
|
78
|
+
}
|
|
79
|
+
function w({ style: e, shortcut: t, size: n, children: a, ...c }) {
|
|
80
|
+
let l = u(y), f = {
|
|
81
|
+
"--glyph-count": C(a),
|
|
82
|
+
"--max-glyphs": S
|
|
83
|
+
};
|
|
84
|
+
return /* @__PURE__ */ s(d, {
|
|
85
|
+
"aria-keyshortcuts": t ? v(t) : void 0,
|
|
86
|
+
...c,
|
|
87
|
+
"data-imf-ui-component": "Toggle",
|
|
88
|
+
style: (t) => ({
|
|
89
|
+
...f,
|
|
90
|
+
...i(e, t)
|
|
91
|
+
}),
|
|
92
|
+
className: (e) => x({
|
|
93
|
+
size: n ?? l,
|
|
94
|
+
className: r(c.className, e)
|
|
95
|
+
}),
|
|
96
|
+
children: [a, t && /* @__PURE__ */ o(h, {
|
|
97
|
+
variant: "flat",
|
|
98
|
+
className: b.shortcut,
|
|
99
|
+
"aria-hidden": !0,
|
|
100
|
+
children: t
|
|
101
|
+
})]
|
|
102
|
+
});
|
|
103
|
+
}
|
|
104
|
+
var T = {
|
|
105
|
+
root: "imf-ui-toggle-group-module-root",
|
|
106
|
+
sizeSm: "imf-ui-toggle-group-module-sizeSm"
|
|
107
|
+
}, E = a(T.root, { variants: { size: {
|
|
108
|
+
sm: T.sizeSm,
|
|
109
|
+
md: null
|
|
110
|
+
} } });
|
|
111
|
+
function D({ size: e = "md", ...t }) {
|
|
112
|
+
return /* @__PURE__ */ o(y.Provider, {
|
|
113
|
+
value: e ?? "md",
|
|
114
|
+
children: /* @__PURE__ */ o(f, {
|
|
115
|
+
...t,
|
|
116
|
+
"data-imf-ui-component": "ToggleGroup",
|
|
117
|
+
className: (n) => E({
|
|
118
|
+
size: e,
|
|
119
|
+
className: r(t.className, n)
|
|
120
|
+
})
|
|
121
|
+
})
|
|
122
|
+
});
|
|
123
|
+
}
|
|
124
|
+
//#endregion
|
|
125
|
+
export { h as a, g as i, w as n, v as r, D as t };
|
|
@@ -1,28 +1,18 @@
|
|
|
1
1
|
import { createContext as e, useCallback as t, useContext as n, useEffect as r, useId as i, useMemo as a, useState as o } from "react";
|
|
2
|
-
//#region \0rolldown/runtime.js
|
|
3
|
-
var s = Object.defineProperty, c = (e, t) => {
|
|
4
|
-
let n = {};
|
|
5
|
-
for (var r in e) s(n, r, {
|
|
6
|
-
get: e[r],
|
|
7
|
-
enumerable: !0
|
|
8
|
-
});
|
|
9
|
-
return t || s(n, Symbol.toStringTag, { value: "Module" }), n;
|
|
10
|
-
};
|
|
11
|
-
//#endregion
|
|
12
2
|
//#region src/utils/resolve-state-props.ts
|
|
13
|
-
function
|
|
3
|
+
function s(e, t) {
|
|
14
4
|
return e instanceof Function ? e(t) : e;
|
|
15
5
|
}
|
|
16
|
-
function
|
|
17
|
-
return
|
|
6
|
+
function c(e, t) {
|
|
7
|
+
return s(e, t);
|
|
18
8
|
}
|
|
19
|
-
function
|
|
20
|
-
return
|
|
9
|
+
function l(e, t) {
|
|
10
|
+
return s(e, t);
|
|
21
11
|
}
|
|
22
12
|
//#endregion
|
|
23
13
|
//#region src/utils/item-parts.tsx
|
|
24
|
-
var
|
|
25
|
-
function
|
|
14
|
+
var u = e(null);
|
|
15
|
+
function d() {
|
|
26
16
|
let e = i(), t = i(), [n, r] = o(!1), [s, c] = o(!1);
|
|
27
17
|
return {
|
|
28
18
|
context: a(() => ({
|
|
@@ -37,13 +27,13 @@ function p() {
|
|
|
37
27
|
}
|
|
38
28
|
};
|
|
39
29
|
}
|
|
40
|
-
function
|
|
41
|
-
let t = n(
|
|
30
|
+
function f(e) {
|
|
31
|
+
let t = n(u), i = e === "label" ? t?.setHasLabel : t?.setHasDescription;
|
|
42
32
|
return r(() => (i?.(!0), () => i?.(!1)), [i]), e === "label" ? t?.labelId : t?.descriptionId;
|
|
43
33
|
}
|
|
44
34
|
//#endregion
|
|
45
35
|
//#region src/utils/stable-popup-height.ts
|
|
46
|
-
function
|
|
36
|
+
function p({ ref: e }) {
|
|
47
37
|
let [n, r] = o();
|
|
48
38
|
return {
|
|
49
39
|
ref: t((t) => {
|
|
@@ -53,4 +43,4 @@ function h({ ref: e }) {
|
|
|
53
43
|
};
|
|
54
44
|
}
|
|
55
45
|
//#endregion
|
|
56
|
-
export {
|
|
46
|
+
export { c as a, d as i, u as n, l as o, f as r, p as t };
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@imfusion/web-ui",
|
|
3
|
-
"version": "0.11.1-dev.
|
|
3
|
+
"version": "0.11.1-dev.49.gcda1589f",
|
|
4
4
|
"description": "The official Web UI component library for ImFusion web apps",
|
|
5
5
|
"author": "ImFusion GmbH",
|
|
6
6
|
"homepage": "https://imfusion.com",
|
|
@@ -122,8 +122,8 @@
|
|
|
122
122
|
"commander": "15.0.0"
|
|
123
123
|
},
|
|
124
124
|
"devDependencies": {
|
|
125
|
-
"@imfusion/sdk": "1.
|
|
126
|
-
"@imfusion/sdk-react": "1.
|
|
125
|
+
"@imfusion/sdk": "1.3.0",
|
|
126
|
+
"@imfusion/sdk-react": "1.3.0",
|
|
127
127
|
"@storybook/addon-a11y": "10.6.2",
|
|
128
128
|
"@storybook/addon-docs": "10.6.2",
|
|
129
129
|
"@storybook/addon-mcp": "10.6.2",
|
package/src/docgen/doc.gen.json
CHANGED
|
@@ -14160,5 +14160,135 @@
|
|
|
14160
14160
|
]
|
|
14161
14161
|
},
|
|
14162
14162
|
"subComponents": []
|
|
14163
|
+
},
|
|
14164
|
+
"layout-mode": {
|
|
14165
|
+
"root": {
|
|
14166
|
+
"name": "LayoutMode",
|
|
14167
|
+
"description": "LayoutMode - picks the ImFusion viewer's layout mode: Auto, Rows, Focus + stack, or Focus + rows.\n`compact` is a row of icon toggles; `labeled` stacks them vertically with each mode's name beside its icon.\n\nMust render inside `ImFusionReady`, within an `ImFusionProvider`.",
|
|
14168
|
+
"props": [
|
|
14169
|
+
{
|
|
14170
|
+
"name": "autoLabel",
|
|
14171
|
+
"required": false,
|
|
14172
|
+
"type": "string",
|
|
14173
|
+
"defaultValue": null,
|
|
14174
|
+
"description": "Name of the toggle that lets the viewer choose between Rows and Focus + stack."
|
|
14175
|
+
},
|
|
14176
|
+
{
|
|
14177
|
+
"name": "className",
|
|
14178
|
+
"required": false,
|
|
14179
|
+
"type": "string | ((state: ToggleGroupState) => string)",
|
|
14180
|
+
"defaultValue": null,
|
|
14181
|
+
"description": "CSS class applied to the element, or a function that\nreturns a class based on the component's state."
|
|
14182
|
+
},
|
|
14183
|
+
{
|
|
14184
|
+
"name": "disabled",
|
|
14185
|
+
"required": false,
|
|
14186
|
+
"type": "boolean",
|
|
14187
|
+
"defaultValue": "false",
|
|
14188
|
+
"description": "Whether the toggle group should ignore user interaction."
|
|
14189
|
+
},
|
|
14190
|
+
{
|
|
14191
|
+
"name": "focusPlusRowsLabel",
|
|
14192
|
+
"required": false,
|
|
14193
|
+
"type": "string",
|
|
14194
|
+
"defaultValue": null,
|
|
14195
|
+
"description": "Name of the toggle that shows one large view with the others in rows beside it."
|
|
14196
|
+
},
|
|
14197
|
+
{
|
|
14198
|
+
"name": "focusPlusStackLabel",
|
|
14199
|
+
"required": false,
|
|
14200
|
+
"type": "string",
|
|
14201
|
+
"defaultValue": null,
|
|
14202
|
+
"description": "Name of the toggle that shows one large view with the others stacked beside it."
|
|
14203
|
+
},
|
|
14204
|
+
{
|
|
14205
|
+
"name": "label",
|
|
14206
|
+
"required": false,
|
|
14207
|
+
"type": "string",
|
|
14208
|
+
"defaultValue": null,
|
|
14209
|
+
"description": "Accessible name of the group."
|
|
14210
|
+
},
|
|
14211
|
+
{
|
|
14212
|
+
"name": "loopFocus",
|
|
14213
|
+
"required": false,
|
|
14214
|
+
"type": "boolean",
|
|
14215
|
+
"defaultValue": "true",
|
|
14216
|
+
"description": "Whether to loop keyboard focus back to the first item\nwhen the end of the list is reached while using the arrow keys."
|
|
14217
|
+
},
|
|
14218
|
+
{
|
|
14219
|
+
"name": "orientation",
|
|
14220
|
+
"required": false,
|
|
14221
|
+
"type": "Orientation",
|
|
14222
|
+
"defaultValue": "horizontal",
|
|
14223
|
+
"description": ""
|
|
14224
|
+
},
|
|
14225
|
+
{
|
|
14226
|
+
"name": "ref",
|
|
14227
|
+
"required": false,
|
|
14228
|
+
"type": "Ref<HTMLDivElement>",
|
|
14229
|
+
"defaultValue": null,
|
|
14230
|
+
"description": "Allows getting a ref to the component instance.\nOnce the component unmounts, React will set `ref.current` to `null`\n(or call the ref with `null` if you passed a callback ref).\n@see {@link https://react.dev/learn/referencing-values-with-refs#refs-and-the-dom React Docs}"
|
|
14231
|
+
},
|
|
14232
|
+
{
|
|
14233
|
+
"name": "render",
|
|
14234
|
+
"required": false,
|
|
14235
|
+
"type": "| ReactElement<\n unknown,\n string | JSXElementConstructor<any>\n >\n| ComponentRenderFn<HTMLProps, ToggleGroupState>",
|
|
14236
|
+
"defaultValue": null,
|
|
14237
|
+
"description": "Allows you to replace the component's HTML element\nwith a different tag, or compose it with another component.\n\nAccepts a `ReactElement` or a function that returns the element to render."
|
|
14238
|
+
},
|
|
14239
|
+
{
|
|
14240
|
+
"name": "rowsLabel",
|
|
14241
|
+
"required": false,
|
|
14242
|
+
"type": "string",
|
|
14243
|
+
"defaultValue": null,
|
|
14244
|
+
"description": "Name of the toggle that arranges the views in up to two rows."
|
|
14245
|
+
},
|
|
14246
|
+
{
|
|
14247
|
+
"name": "size",
|
|
14248
|
+
"required": false,
|
|
14249
|
+
"type": "\"sm\" | \"md\" | null",
|
|
14250
|
+
"defaultValue": null,
|
|
14251
|
+
"description": ""
|
|
14252
|
+
},
|
|
14253
|
+
{
|
|
14254
|
+
"name": "style",
|
|
14255
|
+
"required": false,
|
|
14256
|
+
"type": "| CSSProperties\n| ((state: ToggleGroupState) => CSSProperties)",
|
|
14257
|
+
"defaultValue": null,
|
|
14258
|
+
"description": "Style applied to the element, or a function that\nreturns a style object based on the component's state."
|
|
14259
|
+
},
|
|
14260
|
+
{
|
|
14261
|
+
"name": "variant",
|
|
14262
|
+
"required": false,
|
|
14263
|
+
"type": "\"compact\" | \"labeled\" | null",
|
|
14264
|
+
"defaultValue": null,
|
|
14265
|
+
"description": ""
|
|
14266
|
+
}
|
|
14267
|
+
]
|
|
14268
|
+
},
|
|
14269
|
+
"subComponents": []
|
|
14270
|
+
},
|
|
14271
|
+
"view-tools": {
|
|
14272
|
+
"root": {
|
|
14273
|
+
"name": "ViewTools",
|
|
14274
|
+
"description": "ViewTools - Pan, Zoom, and Windowing toggles that limit the left mouse button in the main 2D and MPR views to one\naction, and a button that resets the view group. Releasing the active toggle restores the default input mapping.\nThe active tool is the one `useViewInteraction` reads and sets.\n\nMust render inside `ImFusionReady`, within an `ImFusionProvider`. Needs `@imfusion/sdk` 1.3.0 or later.",
|
|
14275
|
+
"props": [
|
|
14276
|
+
{
|
|
14277
|
+
"name": "orientation",
|
|
14278
|
+
"required": false,
|
|
14279
|
+
"type": "\"horizontal\" | \"vertical\"",
|
|
14280
|
+
"defaultValue": null,
|
|
14281
|
+
"description": "Lays the tools out in a row or a column."
|
|
14282
|
+
},
|
|
14283
|
+
{
|
|
14284
|
+
"name": "ref",
|
|
14285
|
+
"required": false,
|
|
14286
|
+
"type": "Ref<HTMLDivElement>",
|
|
14287
|
+
"defaultValue": null,
|
|
14288
|
+
"description": "Allows getting a ref to the component instance.\nOnce the component unmounts, React will set `ref.current` to `null`\n(or call the ref with `null` if you passed a callback ref).\n@see {@link https://react.dev/learn/referencing-values-with-refs#refs-and-the-dom React Docs}"
|
|
14289
|
+
}
|
|
14290
|
+
]
|
|
14291
|
+
},
|
|
14292
|
+
"subComponents": []
|
|
14163
14293
|
}
|
|
14164
14294
|
}
|
package/src/llms/llms.gen.txt
CHANGED
|
@@ -157,6 +157,12 @@ Single-line text input for form data entry. Also called a text field; it support
|
|
|
157
157
|
Shows a keyboard key or shortcut, such as the letter that activates a button. Also called a key hint; Button and Toggle render it through their `shortcut` prop.
|
|
158
158
|
- props: node_modules/@imfusion/web-ui/src/docgen/doc.gen.json -> .kbd (jq: jq '.kbd' node_modules/@imfusion/web-ui/src/docgen/doc.gen.json)
|
|
159
159
|
|
|
160
|
+
## LayoutMode
|
|
161
|
+
- category: Inputs, status: experimental
|
|
162
|
+
Picker bound to the ImFusion viewer's layout mode: Auto, Rows, Focus + stack, or Focus + rows, as a compact icon row or a labeled vertical list. Also called a layout or view arrangement switch; for a segmented choice not tied to the SDK, use ToggleGroup.
|
|
163
|
+
- props: node_modules/@imfusion/web-ui/src/docgen/doc.gen.json -> .layout-mode (jq: jq '.layout-mode' node_modules/@imfusion/web-ui/src/docgen/doc.gen.json)
|
|
164
|
+
- further reading (usage/anatomy, not props): https://docs.imfusion.com/
|
|
165
|
+
|
|
160
166
|
## Logo
|
|
161
167
|
- category: Display, status: stable
|
|
162
168
|
Renders a logo from a URL or inline React element with consistent sizing. Also called a wordmark or brand mark.
|
|
@@ -302,3 +308,9 @@ Hover- or focus-triggered label for brief help about a control or term. Also cal
|
|
|
302
308
|
- category: Display, status: stable
|
|
303
309
|
Semantic text primitives for display and standard headings, paragraphs, lists, quotes, links, and inline code. The namespace uses native HTML elements and token-based text roles.
|
|
304
310
|
- props: node_modules/@imfusion/web-ui/src/docgen/doc.gen.json -> .typo (jq: jq '.typo' node_modules/@imfusion/web-ui/src/docgen/doc.gen.json)
|
|
311
|
+
|
|
312
|
+
## ViewTools
|
|
313
|
+
- category: Inputs, status: experimental
|
|
314
|
+
Toolbar that limits mouse interaction in the ImFusion main 2D and MPR views to pan, zoom, or windowing, with a reset button for the view group. For a segmented control not tied to the SDK, use ToggleGroup.
|
|
315
|
+
- props: node_modules/@imfusion/web-ui/src/docgen/doc.gen.json -> .view-tools (jq: jq '.view-tools' node_modules/@imfusion/web-ui/src/docgen/doc.gen.json)
|
|
316
|
+
- further reading (usage/anatomy, not props): https://docs.imfusion.com/
|