@imfusion/web-ui 0.8.1-dev.9.gda40b9aa → 0.9.1-dev.6.gbdb251ae
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 +283 -5
- package/README.md +29 -18
- package/THIRD_PARTY_NOTICES.md +34 -0
- package/dist/{code-D2lwxHgd.js → code-BYkr5k55.js} +13 -13
- package/dist/codegen/gen-icons.d.ts +29 -4
- package/dist/codegen/sharpen-icon.d.ts +11 -0
- package/dist/components/account-card/account-card.d.ts +9 -9
- package/dist/components/app-shell/app-shell.d.ts +59 -34
- package/dist/components/avatar/avatar.d.ts +1 -1
- package/dist/components/button/button.d.ts +14 -7
- package/dist/components/callout/callout.d.ts +4 -4
- package/dist/components/card/card.d.ts +21 -7
- package/dist/components/chip/chip.cva.d.ts +1 -1
- package/dist/components/chip/chip.d.ts +1 -1
- package/dist/components/chip-link/chip-link.d.ts +1 -1
- package/dist/components/code/code.d.ts +1 -1
- package/dist/components/icon/icon.d.ts +1 -1
- package/dist/components/icon-button/icon-button.d.ts +19 -0
- package/dist/components/icon-button/icon-button.meta.d.ts +2 -0
- package/dist/components/icon-button/index.d.ts +2 -0
- package/dist/components/kbd/aria-key-shortcuts.d.ts +5 -0
- package/dist/components/kbd/index.d.ts +2 -0
- package/dist/components/kbd/kbd.d.ts +14 -0
- package/dist/components/kbd/kbd.meta.d.ts +2 -0
- package/dist/components/logo/logo.d.ts +3 -3
- package/dist/components/meter/index.d.ts +2 -0
- package/dist/components/meter/meter.d.ts +33 -0
- package/dist/components/meter/meter.meta.d.ts +2 -0
- package/dist/components/navigation-menu/subs/link.d.ts +1 -1
- package/dist/components/popover/popover.d.ts +3 -3
- package/dist/components/prose/prose.d.ts +1 -1
- package/dist/components/row/row.d.ts +3 -3
- package/dist/components/skeleton/index.d.ts +2 -0
- package/dist/components/skeleton/skeleton.d.ts +50 -0
- package/dist/components/skeleton/skeleton.meta.d.ts +2 -0
- package/dist/components/slider/slider.d.ts +11 -1
- package/dist/components/spinner/spinner.d.ts +1 -1
- package/dist/components/stack/stack.d.ts +3 -3
- package/dist/components/table/table.d.ts +16 -7
- package/dist/components/tabs/tabs.d.ts +1 -1
- package/dist/components/toggle/toggle.d.ts +7 -1
- package/dist/components/tooltip/tooltip.d.ts +2 -2
- package/dist/components/typo/typo.d.ts +21 -12
- package/dist/icons/catalog.gen.d.ts +3804 -0
- package/dist/icons/create-icon.d.ts +3 -0
- package/dist/icons/icon-config-context.d.ts +3 -0
- package/dist/icons/icon-config.d.ts +2 -2
- package/dist/icons/icons.gen.d.ts +1737 -1672
- package/dist/icons-BsK_o-Cb.js +36358 -0
- package/dist/icons.js +2 -2
- package/dist/index.d.ts +5 -0
- package/dist/index.js +2111 -1613
- package/dist/integrations/code-highlight.js +6 -4
- 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/image-display-options-view.d.ts +1 -1
- package/dist/integrations/image-display-options/image-display-options.d.ts +1 -1
- package/dist/integrations/image-display-options.js +56 -55
- package/dist/llms/evals/runner/config.d.ts +1 -0
- package/dist/llms/gen-tokens.d.ts +1 -1
- package/dist/{paths-Oi0v8x-w.js → paths-B5Ht3ETc.js} +2 -2
- package/dist/separator-lzz4A3x_.js +26 -0
- package/dist/slider-Cqpreglu.js +116 -0
- package/dist/style.css +1 -1
- package/dist/tabs-DRyqtS04.js +358 -0
- package/dist/utils/email.d.ts +7 -0
- package/dist/utils/status-glyphs.d.ts +4 -0
- package/dist/vite.js +2 -2
- package/dist/web-ui-cli.js +1 -1
- package/docs/user-guide/AgentTooling.mdx +8 -3
- package/package.json +38 -38
- package/src/docgen/doc.gen.json +1383 -214
- package/src/llms/icon-catalog.gen.json +5541 -1671
- package/src/llms/llms.gen.txt +29 -2
- package/src/llms/skills/imf-web-ui/SKILL.md +3 -1
- package/src/llms/skills/imf-web-ui-audit/SKILL.md +18 -4
- package/src/llms/skills/imf-web-ui-components/SKILL.md +3 -1
- package/src/llms/skills/imf-web-ui-conventions/templates/AUDIT_CHECKLIST.md +3 -2
- package/src/llms/skills/imf-web-ui-conventions/topics/git.md +2 -3
- package/src/llms/skills/imf-web-ui-conventions/topics/library-boundary.md +6 -0
- package/src/llms/skills/imf-web-ui-conventions/topics/npm-project.md +3 -4
- package/src/llms/skills/imf-web-ui-conventions/topics/styling.md +4 -2
- package/src/llms/skills/imf-web-ui-conventions/topics/tooling.md +83 -42
- package/src/llms/skills/imf-web-ui-setup/SKILL.md +2 -0
- package/src/llms/skills/imf-web-ui-update/SKILL.md +42 -7
- package/src/llms/skills/imf-web-ui-user-profile/SKILL.md +95 -0
- package/src/llms/skills/imf-web-ui-ux/SKILL.md +2 -0
- package/src/llms/tokens.gen.json +9 -9
- package/dist/icons-CaGCCwG-.js +0 -78
- package/dist/tabs-BS6rqrrA.js +0 -398
- /package/dist/{meta-j-7HGrWv.js → meta-V_KyLeGn.js} +0 -0
- /package/dist/{chunk-DmhlhrBa.js → rolldown-runtime-Dy4uBu1J.js} +0 -0
|
@@ -0,0 +1,358 @@
|
|
|
1
|
+
import { t as e } from "./rolldown-runtime-Dy4uBu1J.js";
|
|
2
|
+
import { mh as t, pM as n } from "./icons-BsK_o-Cb.js";
|
|
3
|
+
import { t as r } from "./meta-V_KyLeGn.js";
|
|
4
|
+
import { l as i, u as a } from "./slider-Cqpreglu.js";
|
|
5
|
+
import { cva as o } from "class-variance-authority";
|
|
6
|
+
import { jsx as s, jsxs as c } from "react/jsx-runtime";
|
|
7
|
+
import { Children as l, useCallback as u } from "react";
|
|
8
|
+
import { Switch as d } from "@base-ui/react/switch";
|
|
9
|
+
import { Toggle as f } from "@base-ui/react/toggle";
|
|
10
|
+
import { ToggleGroup as p } from "@base-ui/react/toggle-group";
|
|
11
|
+
import { Tabs as m } from "@base-ui/react/tabs";
|
|
12
|
+
var h = {
|
|
13
|
+
flat: "imf-ui-kbd-module-flat",
|
|
14
|
+
icon: "imf-ui-kbd-module-icon",
|
|
15
|
+
primary: "imf-ui-kbd-module-primary",
|
|
16
|
+
root: "imf-ui-kbd-module-root"
|
|
17
|
+
}, g = o(h.root, { variants: { variant: {
|
|
18
|
+
default: null,
|
|
19
|
+
primary: h.primary,
|
|
20
|
+
flat: h.flat
|
|
21
|
+
} } });
|
|
22
|
+
function _({ variant: e = "default", icon: r = !1, children: i, ...a }) {
|
|
23
|
+
return /* @__PURE__ */ c("kbd", {
|
|
24
|
+
...a,
|
|
25
|
+
"data-imf-ui-component": "Kbd",
|
|
26
|
+
className: g({
|
|
27
|
+
variant: e,
|
|
28
|
+
className: a.className
|
|
29
|
+
}),
|
|
30
|
+
children: [r && /* @__PURE__ */ s(n, {
|
|
31
|
+
glyph: t,
|
|
32
|
+
strokeWidth: 2,
|
|
33
|
+
"aria-hidden": !0,
|
|
34
|
+
className: h.icon
|
|
35
|
+
}), i]
|
|
36
|
+
});
|
|
37
|
+
}
|
|
38
|
+
//#endregion
|
|
39
|
+
//#region src/components/kbd/kbd.meta.ts
|
|
40
|
+
var ee = {
|
|
41
|
+
name: "Kbd",
|
|
42
|
+
category: r.display,
|
|
43
|
+
status: "experimental",
|
|
44
|
+
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.",
|
|
45
|
+
origin: "native",
|
|
46
|
+
internalDependencies: ["Icon"]
|
|
47
|
+
}, v = {
|
|
48
|
+
ctrl: "Control",
|
|
49
|
+
control: "Control",
|
|
50
|
+
cmd: "Meta",
|
|
51
|
+
"⌘": "Meta",
|
|
52
|
+
meta: "Meta",
|
|
53
|
+
opt: "Alt",
|
|
54
|
+
option: "Alt",
|
|
55
|
+
"⌥": "Alt",
|
|
56
|
+
alt: "Alt",
|
|
57
|
+
shift: "Shift",
|
|
58
|
+
"⇧": "Shift",
|
|
59
|
+
esc: "Escape",
|
|
60
|
+
escape: "Escape"
|
|
61
|
+
};
|
|
62
|
+
function y(e) {
|
|
63
|
+
let t = e.trim().split(/\s+/).filter(Boolean);
|
|
64
|
+
if (t.length !== 0) return t.map((e) => v[e.toLowerCase()] ?? (e.length === 1 ? e.toUpperCase() : e)).join("+");
|
|
65
|
+
}
|
|
66
|
+
var b = {
|
|
67
|
+
root: "imf-ui-switch-module-root",
|
|
68
|
+
thumb: "imf-ui-switch-module-thumb"
|
|
69
|
+
}, x = /* @__PURE__ */ e({
|
|
70
|
+
Root: () => w,
|
|
71
|
+
Thumb: () => T
|
|
72
|
+
}), S = o(b.root), C = o(b.thumb);
|
|
73
|
+
function w(e) {
|
|
74
|
+
return /* @__PURE__ */ s(d.Root, {
|
|
75
|
+
...e,
|
|
76
|
+
"data-imf-ui-component": "Switch.Root",
|
|
77
|
+
className: (t) => S({ className: i(e.className, t) })
|
|
78
|
+
});
|
|
79
|
+
}
|
|
80
|
+
w.displayName = "Switch.Root";
|
|
81
|
+
function T(e) {
|
|
82
|
+
return /* @__PURE__ */ s(d.Thumb, {
|
|
83
|
+
...e,
|
|
84
|
+
"data-imf-ui-component": "Switch.Thumb",
|
|
85
|
+
className: (t) => C({ className: i(e.className, t) })
|
|
86
|
+
});
|
|
87
|
+
}
|
|
88
|
+
T.displayName = "Switch.Thumb";
|
|
89
|
+
var E = {
|
|
90
|
+
root: "imf-ui-toggle-module-root",
|
|
91
|
+
shortcut: "imf-ui-toggle-module-shortcut"
|
|
92
|
+
}, te = o(E.root), D = 2;
|
|
93
|
+
function O(e) {
|
|
94
|
+
let t = 0;
|
|
95
|
+
return l.forEach(e, (e) => {
|
|
96
|
+
typeof e == "string" || typeof e == "number" ? t += String(e).trim().length : e != null && typeof e != "boolean" && (t += D);
|
|
97
|
+
}), t;
|
|
98
|
+
}
|
|
99
|
+
function k({ style: e, shortcut: t, children: n, ...r }) {
|
|
100
|
+
let o = {
|
|
101
|
+
"--glyph-count": O(n),
|
|
102
|
+
"--max-glyphs": D
|
|
103
|
+
};
|
|
104
|
+
return /* @__PURE__ */ c(f, {
|
|
105
|
+
"aria-keyshortcuts": t ? y(t) : void 0,
|
|
106
|
+
...r,
|
|
107
|
+
"data-imf-ui-component": "Toggle",
|
|
108
|
+
style: (t) => ({
|
|
109
|
+
...o,
|
|
110
|
+
...a(e, t)
|
|
111
|
+
}),
|
|
112
|
+
className: (e) => te({ className: i(r.className, e) }),
|
|
113
|
+
children: [n, t && /* @__PURE__ */ s(_, {
|
|
114
|
+
variant: "flat",
|
|
115
|
+
className: E.shortcut,
|
|
116
|
+
"aria-hidden": !0,
|
|
117
|
+
children: t
|
|
118
|
+
})]
|
|
119
|
+
});
|
|
120
|
+
}
|
|
121
|
+
//#endregion
|
|
122
|
+
//#region src/components/toggle-group/toggle-group.tsx
|
|
123
|
+
var A = o({ root: "imf-ui-toggle-group-module-root" }.root);
|
|
124
|
+
function j(e) {
|
|
125
|
+
return /* @__PURE__ */ s(p, {
|
|
126
|
+
...e,
|
|
127
|
+
"data-imf-ui-component": "ToggleGroup",
|
|
128
|
+
className: (t) => A({ className: i(e.className, t) })
|
|
129
|
+
});
|
|
130
|
+
}
|
|
131
|
+
var M = {
|
|
132
|
+
alignCenter: "imf-ui-row-module-alignCenter",
|
|
133
|
+
alignEnd: "imf-ui-row-module-alignEnd",
|
|
134
|
+
alignStart: "imf-ui-row-module-alignStart",
|
|
135
|
+
alignStretch: "imf-ui-row-module-alignStretch",
|
|
136
|
+
gap1: "imf-ui-row-module-gap1",
|
|
137
|
+
gap10: "imf-ui-row-module-gap10",
|
|
138
|
+
gap2: "imf-ui-row-module-gap2",
|
|
139
|
+
gap3: "imf-ui-row-module-gap3",
|
|
140
|
+
gap4: "imf-ui-row-module-gap4",
|
|
141
|
+
gap5: "imf-ui-row-module-gap5",
|
|
142
|
+
gap6: "imf-ui-row-module-gap6",
|
|
143
|
+
gap7: "imf-ui-row-module-gap7",
|
|
144
|
+
gap8: "imf-ui-row-module-gap8",
|
|
145
|
+
gap9: "imf-ui-row-module-gap9",
|
|
146
|
+
justifyAround: "imf-ui-row-module-justifyAround",
|
|
147
|
+
justifyBetween: "imf-ui-row-module-justifyBetween",
|
|
148
|
+
justifyCenter: "imf-ui-row-module-justifyCenter",
|
|
149
|
+
justifyEnd: "imf-ui-row-module-justifyEnd",
|
|
150
|
+
justifyEvenly: "imf-ui-row-module-justifyEvenly",
|
|
151
|
+
justifyStart: "imf-ui-row-module-justifyStart",
|
|
152
|
+
root: "imf-ui-row-module-root",
|
|
153
|
+
wrap: "imf-ui-row-module-wrap"
|
|
154
|
+
}, N = o(M.root, { variants: {
|
|
155
|
+
gap: {
|
|
156
|
+
1: M.gap1,
|
|
157
|
+
2: M.gap2,
|
|
158
|
+
3: M.gap3,
|
|
159
|
+
4: M.gap4,
|
|
160
|
+
5: M.gap5,
|
|
161
|
+
6: M.gap6,
|
|
162
|
+
7: M.gap7,
|
|
163
|
+
8: M.gap8,
|
|
164
|
+
9: M.gap9,
|
|
165
|
+
10: M.gap10
|
|
166
|
+
},
|
|
167
|
+
align: {
|
|
168
|
+
start: M.alignStart,
|
|
169
|
+
center: M.alignCenter,
|
|
170
|
+
end: M.alignEnd,
|
|
171
|
+
stretch: M.alignStretch
|
|
172
|
+
},
|
|
173
|
+
justify: {
|
|
174
|
+
start: M.justifyStart,
|
|
175
|
+
center: M.justifyCenter,
|
|
176
|
+
end: M.justifyEnd,
|
|
177
|
+
between: M.justifyBetween,
|
|
178
|
+
around: M.justifyAround,
|
|
179
|
+
evenly: M.justifyEvenly
|
|
180
|
+
},
|
|
181
|
+
wrap: {
|
|
182
|
+
true: M.wrap,
|
|
183
|
+
false: null
|
|
184
|
+
}
|
|
185
|
+
} });
|
|
186
|
+
function P({ gap: e = "2", align: t = "stretch", justify: n = "start", wrap: r = !1, ...i }) {
|
|
187
|
+
return /* @__PURE__ */ s("div", {
|
|
188
|
+
...i,
|
|
189
|
+
"data-imf-ui-component": "Row",
|
|
190
|
+
className: N({
|
|
191
|
+
gap: e,
|
|
192
|
+
align: t,
|
|
193
|
+
justify: n,
|
|
194
|
+
wrap: r,
|
|
195
|
+
className: i.className
|
|
196
|
+
})
|
|
197
|
+
});
|
|
198
|
+
}
|
|
199
|
+
var F = {
|
|
200
|
+
alignCenter: "imf-ui-stack-module-alignCenter",
|
|
201
|
+
alignEnd: "imf-ui-stack-module-alignEnd",
|
|
202
|
+
alignStart: "imf-ui-stack-module-alignStart",
|
|
203
|
+
alignStretch: "imf-ui-stack-module-alignStretch",
|
|
204
|
+
gap0: "imf-ui-stack-module-gap0",
|
|
205
|
+
gap1: "imf-ui-stack-module-gap1",
|
|
206
|
+
gap10: "imf-ui-stack-module-gap10",
|
|
207
|
+
gap2: "imf-ui-stack-module-gap2",
|
|
208
|
+
gap3: "imf-ui-stack-module-gap3",
|
|
209
|
+
gap4: "imf-ui-stack-module-gap4",
|
|
210
|
+
gap5: "imf-ui-stack-module-gap5",
|
|
211
|
+
gap6: "imf-ui-stack-module-gap6",
|
|
212
|
+
gap7: "imf-ui-stack-module-gap7",
|
|
213
|
+
gap8: "imf-ui-stack-module-gap8",
|
|
214
|
+
gap9: "imf-ui-stack-module-gap9",
|
|
215
|
+
justifyAround: "imf-ui-stack-module-justifyAround",
|
|
216
|
+
justifyBetween: "imf-ui-stack-module-justifyBetween",
|
|
217
|
+
justifyCenter: "imf-ui-stack-module-justifyCenter",
|
|
218
|
+
justifyEnd: "imf-ui-stack-module-justifyEnd",
|
|
219
|
+
justifyEvenly: "imf-ui-stack-module-justifyEvenly",
|
|
220
|
+
justifyStart: "imf-ui-stack-module-justifyStart",
|
|
221
|
+
root: "imf-ui-stack-module-root"
|
|
222
|
+
}, I = o(F.root, { variants: {
|
|
223
|
+
gap: {
|
|
224
|
+
0: F.gap0,
|
|
225
|
+
1: F.gap1,
|
|
226
|
+
2: F.gap2,
|
|
227
|
+
3: F.gap3,
|
|
228
|
+
4: F.gap4,
|
|
229
|
+
5: F.gap5,
|
|
230
|
+
6: F.gap6,
|
|
231
|
+
7: F.gap7,
|
|
232
|
+
8: F.gap8,
|
|
233
|
+
9: F.gap9,
|
|
234
|
+
10: F.gap10
|
|
235
|
+
},
|
|
236
|
+
align: {
|
|
237
|
+
start: F.alignStart,
|
|
238
|
+
center: F.alignCenter,
|
|
239
|
+
end: F.alignEnd,
|
|
240
|
+
stretch: F.alignStretch
|
|
241
|
+
},
|
|
242
|
+
justify: {
|
|
243
|
+
start: F.justifyStart,
|
|
244
|
+
center: F.justifyCenter,
|
|
245
|
+
end: F.justifyEnd,
|
|
246
|
+
between: F.justifyBetween,
|
|
247
|
+
around: F.justifyAround,
|
|
248
|
+
evenly: F.justifyEvenly
|
|
249
|
+
}
|
|
250
|
+
} });
|
|
251
|
+
function L({ gap: e = "4", align: t = "stretch", justify: n = "start", ...r }) {
|
|
252
|
+
return /* @__PURE__ */ s("div", {
|
|
253
|
+
...r,
|
|
254
|
+
"data-imf-ui-component": "Stack",
|
|
255
|
+
className: I({
|
|
256
|
+
gap: e,
|
|
257
|
+
align: t,
|
|
258
|
+
justify: n,
|
|
259
|
+
className: r.className
|
|
260
|
+
})
|
|
261
|
+
});
|
|
262
|
+
}
|
|
263
|
+
var R = {
|
|
264
|
+
indicator: "imf-ui-tabs-module-indicator",
|
|
265
|
+
list: "imf-ui-tabs-module-list",
|
|
266
|
+
listFill: "imf-ui-tabs-module-listFill",
|
|
267
|
+
panel: "imf-ui-tabs-module-panel",
|
|
268
|
+
panelViewport: "imf-ui-tabs-module-panelViewport",
|
|
269
|
+
root: "imf-ui-tabs-module-root",
|
|
270
|
+
tab: "imf-ui-tabs-module-tab"
|
|
271
|
+
}, z = /* @__PURE__ */ e({
|
|
272
|
+
Indicator: () => Z,
|
|
273
|
+
List: () => Y,
|
|
274
|
+
Panel: () => $,
|
|
275
|
+
PanelViewport: () => Q,
|
|
276
|
+
Root: () => J,
|
|
277
|
+
Tab: () => X
|
|
278
|
+
}), B = o(R.list, { variants: { fill: {
|
|
279
|
+
true: R.listFill,
|
|
280
|
+
false: null
|
|
281
|
+
} } }), V = o(R.root), H = o(R.tab), U = o(R.indicator), W = o(R.panelViewport), G = o(R.panel);
|
|
282
|
+
function K(e, t) {
|
|
283
|
+
typeof e == "function" ? e(t) : e && (e.current = t);
|
|
284
|
+
}
|
|
285
|
+
function q(e) {
|
|
286
|
+
let t = new ResizeObserver(() => {
|
|
287
|
+
let t = e.dataset.orientation === "vertical" ? e.scrollHeight > e.clientHeight : e.scrollWidth > e.clientWidth;
|
|
288
|
+
e.toggleAttribute("data-overflowing", t);
|
|
289
|
+
}), n = () => {
|
|
290
|
+
t.disconnect(), t.observe(e);
|
|
291
|
+
for (let n of e.children) t.observe(n);
|
|
292
|
+
}, r = new MutationObserver(n);
|
|
293
|
+
return r.observe(e, { childList: !0 }), n(), () => {
|
|
294
|
+
t.disconnect(), r.disconnect();
|
|
295
|
+
};
|
|
296
|
+
}
|
|
297
|
+
function J(e) {
|
|
298
|
+
return /* @__PURE__ */ s(m.Root, {
|
|
299
|
+
...e,
|
|
300
|
+
"data-imf-ui-component": "Tabs.Root",
|
|
301
|
+
className: (t) => V({ className: i(e.className, t) })
|
|
302
|
+
});
|
|
303
|
+
}
|
|
304
|
+
J.displayName = "Tabs.Root";
|
|
305
|
+
function Y({ fill: e = !1, ref: t, ...n }) {
|
|
306
|
+
let r = u((e) => {
|
|
307
|
+
if (!e) return;
|
|
308
|
+
K(t, e);
|
|
309
|
+
let n = q(e);
|
|
310
|
+
return () => {
|
|
311
|
+
n(), K(t, null);
|
|
312
|
+
};
|
|
313
|
+
}, [t]);
|
|
314
|
+
return /* @__PURE__ */ s(m.List, {
|
|
315
|
+
...n,
|
|
316
|
+
ref: r,
|
|
317
|
+
"data-imf-ui-component": "Tabs.List",
|
|
318
|
+
className: (t) => B({
|
|
319
|
+
fill: e,
|
|
320
|
+
className: i(n.className, t)
|
|
321
|
+
})
|
|
322
|
+
});
|
|
323
|
+
}
|
|
324
|
+
Y.displayName = "Tabs.List";
|
|
325
|
+
function X(e) {
|
|
326
|
+
return /* @__PURE__ */ s(m.Tab, {
|
|
327
|
+
...e,
|
|
328
|
+
"data-imf-ui-component": "Tabs.Tab",
|
|
329
|
+
className: (t) => H({ className: i(e.className, t) })
|
|
330
|
+
});
|
|
331
|
+
}
|
|
332
|
+
X.displayName = "Tabs.Tab";
|
|
333
|
+
function Z(e) {
|
|
334
|
+
return /* @__PURE__ */ s(m.Indicator, {
|
|
335
|
+
...e,
|
|
336
|
+
"data-imf-ui-component": "Tabs.Indicator",
|
|
337
|
+
className: (t) => U({ className: i(e.className, t) })
|
|
338
|
+
});
|
|
339
|
+
}
|
|
340
|
+
Z.displayName = "Tabs.Indicator";
|
|
341
|
+
function Q(e) {
|
|
342
|
+
return /* @__PURE__ */ s("div", {
|
|
343
|
+
...e,
|
|
344
|
+
"data-imf-ui-component": "Tabs.PanelViewport",
|
|
345
|
+
className: W({ className: e.className })
|
|
346
|
+
});
|
|
347
|
+
}
|
|
348
|
+
Q.displayName = "Tabs.PanelViewport";
|
|
349
|
+
function $(e) {
|
|
350
|
+
return /* @__PURE__ */ s(m.Panel, {
|
|
351
|
+
...e,
|
|
352
|
+
"data-imf-ui-component": "Tabs.Panel",
|
|
353
|
+
className: (t) => G({ className: i(e.className, t) })
|
|
354
|
+
});
|
|
355
|
+
}
|
|
356
|
+
$.displayName = "Tabs.Panel";
|
|
357
|
+
//#endregion
|
|
358
|
+
export { _, J as a, L as c, k as d, w as f, ee as g, y as h, Q as i, P as l, x as m, Y as n, X as o, T as p, $ as r, z as s, Z as t, j as u };
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
/** Splits an email at its last `@`. Without a local part and a domain, `local` is the whole string. */
|
|
2
|
+
export declare function splitEmail(email: string): {
|
|
3
|
+
local: string;
|
|
4
|
+
domain?: string;
|
|
5
|
+
};
|
|
6
|
+
/** Up to two initials from the email's local part, split at dots, dashes, and underscores: `m.rossi@…` gives `MR`. */
|
|
7
|
+
export declare function initialsFromEmail(email: string): string;
|
package/dist/vite.js
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { n as e } from "./paths-
|
|
1
|
+
import { n as e } from "./paths-B5Ht3ETc.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";
|
|
@@ -54,7 +54,7 @@ function h() {
|
|
|
54
54
|
//#region src/vite/readable-css-module-names.ts
|
|
55
55
|
function g(e, t) {
|
|
56
56
|
let { lightningcss: n, modules: r, transformer: i } = e.css ?? {}, a = n?.cssModules;
|
|
57
|
-
if (
|
|
57
|
+
if (typeof a != "boolean" && r !== !1 && !a?.pattern && !(typeof r == "object" && r.generateScopedName)) return i === "postcss" ? { css: { modules: { generateScopedName: t } } } : { css: {
|
|
58
58
|
transformer: "lightningcss",
|
|
59
59
|
lightningcss: { cssModules: { pattern: t } }
|
|
60
60
|
} };
|
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-B5Ht3ETc.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";
|
|
@@ -55,8 +55,12 @@ With the hooks installed, the agent is pointed at the router at the start of eve
|
|
|
55
55
|
picks it up from the skill's description; invoke it by name when it does not.
|
|
56
56
|
|
|
57
57
|
The router answers library questions from the packaged user guides and hands other tasks to a skill. Setup, audit, and UX
|
|
58
|
-
work from `imf-web-ui-conventions`, a knowledge skill that holds the ImFusion frontend conventions.
|
|
59
|
-
|
|
58
|
+
work from `imf-web-ui-conventions`, a knowledge skill that holds the ImFusion frontend conventions. Every skill
|
|
59
|
+
you run first reads `imf-web-ui-user-profile`. On the first run it asks a few questions about your name, your
|
|
60
|
+
background, your experience, how much explanation you want, and how you like to work, then saves the answers to
|
|
61
|
+
`~/.config/imfusion/web-ui/consumer-profile.md` if you agree. Say "change my profile" to answer again.
|
|
62
|
+
|
|
63
|
+
Solid outlines are the skills you run; dashed boxes are knowledge the agent reads:
|
|
60
64
|
|
|
61
65
|
<ConsumerLlmFrameworkDiagram />
|
|
62
66
|
|
|
@@ -83,7 +87,8 @@ The hooks put the agent on the right skill at the right moment and ask it to ver
|
|
|
83
87
|
## Keeping it current
|
|
84
88
|
|
|
85
89
|
Ask the agent to update the library, for example "Update @imfusion/web-ui". That runs `/imf-web-ui-update`, which installs
|
|
86
|
-
the newer package and refreshes the skills, hook scripts, and registrations to match it.
|
|
90
|
+
the newer package and refreshes the skills, hook scripts, and registrations to match it. It then reports what the new
|
|
91
|
+
releases change for your code and offers `/imf-web-ui-audit full` as a wider check of the project.
|
|
87
92
|
|
|
88
93
|
To do the same by hand, update the package, then run:
|
|
89
94
|
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@imfusion/web-ui",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.9.1-dev.6.gbdb251ae",
|
|
4
4
|
"description": "The official Web UI component library for ImFusion web apps",
|
|
5
5
|
"author": "ImFusion GmbH",
|
|
6
6
|
"homepage": "https://imfusion.com",
|
|
@@ -62,8 +62,8 @@
|
|
|
62
62
|
"scripts": {
|
|
63
63
|
"dev": "tsx scripts/dev.ts",
|
|
64
64
|
"dev:host": "tsx scripts/dev.ts --host",
|
|
65
|
-
"dev:lib": "concurrently -n codegen,lib -c yellow,blue \"npm run codegen:watch\" \"
|
|
66
|
-
"build": "npm run codegen && rm -rf dist &&
|
|
65
|
+
"dev:lib": "concurrently -n codegen,lib -c yellow,blue \"npm run codegen:watch\" \"vp build --watch\"",
|
|
66
|
+
"build": "npm run codegen && rm -rf dist && vp build && chmod +x dist/web-ui-cli.js && npm run codegen:docgen && npm run codegen:llms && npm run codegen:tokens",
|
|
67
67
|
"build:storybook": "npm run codegen:storybook && storybook build",
|
|
68
68
|
"ci:status": "teamcity run list --job WebSDK_WebUI_BuildTest --limit 3 --json=id,number,status,state,branchName,buildType.name,triggered.type,triggered.user.name,startDate,finishDate,webUrl | tsx scripts/ci-status.ts",
|
|
69
69
|
"storybook": "npm run codegen:storybook && storybook dev -p 6006 --no-open --ci",
|
|
@@ -74,32 +74,32 @@
|
|
|
74
74
|
"codegen:docgen": "tsx src/docgen/gen-docgen.ts",
|
|
75
75
|
"codegen:llms": "tsx src/llms/gen-llms.ts",
|
|
76
76
|
"codegen:tokens": "tsx src/llms/gen-tokens.ts",
|
|
77
|
-
"verify:format": "
|
|
78
|
-
"verify:lint": "
|
|
77
|
+
"verify:format": "vp fmt --check . --ignore-path .gitignore --ignore-path $(git rev-parse --path-format=absolute --git-path info/exclude)",
|
|
78
|
+
"verify:lint": "vp lint . --max-warnings=0",
|
|
79
79
|
"verify:typecheck": "npm run codegen && tsc -p tsconfig.json --noEmit && tsc -p tsconfig.lib.json --noEmit && tsc -p .storybook/tsconfig.json --noEmit",
|
|
80
|
-
"verify:tests": "
|
|
80
|
+
"verify:tests": "vp test run",
|
|
81
81
|
"verify:knip": "knip",
|
|
82
82
|
"verify:deps": "tsx scripts/check-pinned-dependencies.ts",
|
|
83
83
|
"verify:icons": "tsx scripts/verify/icons-public-api.ts",
|
|
84
84
|
"verify:changelog": "tsx scripts/verify/changelog.ts",
|
|
85
|
-
"verify:
|
|
85
|
+
"verify:generated": "tsx scripts/verify/generated.ts",
|
|
86
86
|
"verify:full": "tsx scripts/verify/full.ts",
|
|
87
|
-
"
|
|
88
|
-
"
|
|
89
|
-
"lint
|
|
90
|
-
"test:unit": "
|
|
91
|
-
"test:stories": "
|
|
92
|
-
"test:watch": "
|
|
87
|
+
"verify:fast": "tsx scripts/verify/full.ts --fast",
|
|
88
|
+
"format": "vp fmt .",
|
|
89
|
+
"lint": "vp lint . --fix",
|
|
90
|
+
"test:unit": "vp test run --project unit",
|
|
91
|
+
"test:stories": "vp test run --project storybook",
|
|
92
|
+
"test:watch": "vp test",
|
|
93
93
|
"skills:eval": "tsx src/llms/evals/runner/run.ts",
|
|
94
|
-
"skills:eval:dev": "WEB_UI_SKILL_EVAL_ROOT=/private/tmp/web-ui-dev-skill-evals WEB_UI_SKILL_EVAL_RESULTS_DIR=.agents/evals/results WEB_UI_SKILL_EVAL_REPORT_PATH=.agents/evals/REPORT.md WEB_UI_SKILL_EVAL_SKILL_FAMILY=web-ui-dev WEB_UI_SKILL_EVAL_WORKSPACE_LABEL='development repository' tsx src/llms/evals/runner/run.ts --scenarios-dir .agents/evals/scenarios --setup .agents/evals/setup-env.sh",
|
|
94
|
+
"skills:eval:dev": "WEB_UI_SKILL_EVAL_SCENARIOS_DIR=.agents/evals/scenarios WEB_UI_SKILL_EVAL_SKILLS_DIR=.agents/skills WEB_UI_SKILL_EVAL_ROOT=/private/tmp/web-ui-dev-skill-evals WEB_UI_SKILL_EVAL_RESULTS_DIR=.agents/evals/results WEB_UI_SKILL_EVAL_REPORT_PATH=.agents/evals/REPORT.md WEB_UI_SKILL_EVAL_SKILL_FAMILY=web-ui-dev WEB_UI_SKILL_EVAL_WORKSPACE_LABEL='development repository' tsx src/llms/evals/runner/run.ts --scenarios-dir .agents/evals/scenarios --setup .agents/evals/setup-env.sh",
|
|
95
95
|
"skills:eval:compare": "tsx src/llms/evals/runner/compare.ts",
|
|
96
96
|
"skills:eval:affected": "tsx src/llms/evals/runner/affected.ts",
|
|
97
97
|
"skills:eval:report": "tsx src/llms/evals/runner/report.ts",
|
|
98
98
|
"git:config": "git config core.hooksPath .githooks && git config pull.rebase true && git config merge.ff only"
|
|
99
99
|
},
|
|
100
100
|
"peerDependencies": {
|
|
101
|
-
"@imfusion/sdk": "
|
|
102
|
-
"@imfusion/sdk-react": "
|
|
101
|
+
"@imfusion/sdk": "*",
|
|
102
|
+
"@imfusion/sdk-react": "*",
|
|
103
103
|
"@tanstack/highlight": "^0.1.0",
|
|
104
104
|
"react": "^19.0.0",
|
|
105
105
|
"react-dom": "^19.0.0"
|
|
@@ -119,20 +119,18 @@
|
|
|
119
119
|
"@base-ui/react": "1.6.0",
|
|
120
120
|
"@clack/prompts": "1.7.0",
|
|
121
121
|
"class-variance-authority": "0.7.1",
|
|
122
|
-
"commander": "15.0.0"
|
|
123
|
-
"iconoir-react": "7.12.1"
|
|
122
|
+
"commander": "15.0.0"
|
|
124
123
|
},
|
|
125
124
|
"devDependencies": {
|
|
126
|
-
"@eslint/compat": "1.4.1",
|
|
127
|
-
"@eslint/js": "9.39.4",
|
|
128
125
|
"@imfusion/sdk": "1.0.0",
|
|
129
126
|
"@imfusion/sdk-react": "1.0.0",
|
|
130
|
-
"@storybook/addon-a11y": "10.6.
|
|
131
|
-
"@storybook/addon-docs": "10.6.
|
|
132
|
-
"@storybook/addon-mcp": "10.6.
|
|
133
|
-
"@storybook/addon-vitest": "10.6.
|
|
134
|
-
"@storybook/react-vite": "10.6.
|
|
127
|
+
"@storybook/addon-a11y": "10.6.2",
|
|
128
|
+
"@storybook/addon-docs": "10.6.2",
|
|
129
|
+
"@storybook/addon-mcp": "10.6.2",
|
|
130
|
+
"@storybook/addon-vitest": "10.6.2",
|
|
131
|
+
"@storybook/react-vite": "10.6.2",
|
|
135
132
|
"@tanstack/highlight": "0.1.0",
|
|
133
|
+
"@tanstack/react-hotkeys": "0.13.0",
|
|
136
134
|
"@tanstack/react-pacer": "0.22.1",
|
|
137
135
|
"@types/culori": "4.0.1",
|
|
138
136
|
"@types/mdx": "2.0.13",
|
|
@@ -140,17 +138,11 @@
|
|
|
140
138
|
"@types/react": "19.2.14",
|
|
141
139
|
"@types/react-dom": "19.2.3",
|
|
142
140
|
"@vitejs/plugin-react": "6.0.1",
|
|
143
|
-
"@vitest/browser-playwright": "
|
|
141
|
+
"@vitest/browser-playwright": "5.0.3",
|
|
144
142
|
"concurrently": "9.2.1",
|
|
145
143
|
"culori": "4.0.2",
|
|
146
|
-
"
|
|
147
|
-
"
|
|
148
|
-
"eslint-plugin-mdx": "3.7.0",
|
|
149
|
-
"eslint-plugin-react": "7.37.5",
|
|
150
|
-
"eslint-plugin-react-hooks": "5.2.0",
|
|
151
|
-
"eslint-plugin-react-refresh": "0.4.26",
|
|
152
|
-
"globals": "15.15.0",
|
|
153
|
-
"jiti": "2.7.0",
|
|
144
|
+
"fast-xml-parser": "5.11.2",
|
|
145
|
+
"iconoir": "7.12.1",
|
|
154
146
|
"knip": "6.14.2",
|
|
155
147
|
"lightningcss": "1.32.0",
|
|
156
148
|
"mermaid": "12.0.0",
|
|
@@ -158,12 +150,20 @@
|
|
|
158
150
|
"prettier": "3.8.3",
|
|
159
151
|
"react-docgen-typescript": "2.4.0",
|
|
160
152
|
"remark-gfm": "4.0.1",
|
|
161
|
-
"storybook": "10.6.
|
|
153
|
+
"storybook": "10.6.2",
|
|
162
154
|
"tsx": "4.21.0",
|
|
163
155
|
"typescript": "6.0.3",
|
|
164
|
-
"
|
|
165
|
-
"vite": "8.0.10",
|
|
156
|
+
"vite": "npm:@voidzero-dev/vite-plus-core@1.1.0",
|
|
166
157
|
"vite-plugin-dts": "5.0.0",
|
|
167
|
-
"
|
|
158
|
+
"vite-plus": "1.1.0",
|
|
159
|
+
"vitest": "5.0.3"
|
|
160
|
+
},
|
|
161
|
+
"overrides": {
|
|
162
|
+
"vite": "npm:@voidzero-dev/vite-plus-core@1.1.0",
|
|
163
|
+
"vitest": "5.0.3",
|
|
164
|
+
"storybook": {
|
|
165
|
+
".": "$storybook",
|
|
166
|
+
"vite-plus": "$vite-plus"
|
|
167
|
+
}
|
|
168
168
|
}
|
|
169
169
|
}
|