@imfusion/web-ui 0.5.1-dev.7.ga571658e → 0.6.0

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 (98) hide show
  1. package/README.md +55 -33
  2. package/bin/install.js +428 -0
  3. package/bin/install.test.ts +329 -0
  4. package/dist/build/vite-css-module-names/index.d.ts +20 -0
  5. package/dist/build/vite-css-module-names.js +17 -0
  6. package/dist/chunk-DmhlhrBa.js +11 -0
  7. package/dist/code-Blo48PGr.js +136 -0
  8. package/dist/codegen/gen-icons.d.ts +24 -0
  9. package/dist/components/callout/callout.d.ts +1 -1
  10. package/dist/components/chip-link/chip-link.d.ts +1 -1
  11. package/dist/components/code/code.d.ts +10 -18
  12. package/dist/components/field/field.d.ts +104 -0
  13. package/dist/components/field/field.meta.d.ts +2 -0
  14. package/dist/components/field/index.d.ts +2 -0
  15. package/dist/components/fieldset/fieldset.d.ts +29 -0
  16. package/dist/components/fieldset/fieldset.meta.d.ts +2 -0
  17. package/dist/components/fieldset/index.d.ts +2 -0
  18. package/dist/components/icon/icon.d.ts +16 -0
  19. package/dist/components/icon/icon.meta.d.ts +2 -0
  20. package/dist/components/icon/index.d.ts +4 -0
  21. package/dist/components/icon/types.d.ts +2 -0
  22. package/dist/components/input/input.d.ts +3 -1
  23. package/dist/components/typo/typo.d.ts +2 -2
  24. package/dist/docgen/component-sources.d.ts +7 -0
  25. package/dist/hooks/index.d.ts +1 -0
  26. package/dist/hooks/use-resize-observer.d.ts +2 -0
  27. package/dist/icons/catalog.gen.d.ts +8357 -0
  28. package/dist/icons/icon-config-provider.d.ts +8 -0
  29. package/dist/icons/icon-context.d.ts +4 -0
  30. package/dist/icons/icons.gen.d.ts +1672 -0
  31. package/dist/icons/index.d.ts +3 -0
  32. package/dist/icons-wBmF0U2x.js +78 -0
  33. package/dist/icons.js +2 -0
  34. package/dist/index.d.ts +4 -1
  35. package/dist/index.js +1793 -12210
  36. package/dist/integrations/code-highlight/code-highlight.d.ts +8 -6
  37. package/dist/integrations/code-highlight/highlighter.d.ts +32 -3
  38. package/dist/integrations/code-highlight/language-patterns.d.ts +7 -0
  39. package/dist/integrations/code-highlight/languages/cmake.d.ts +1 -0
  40. package/dist/integrations/code-highlight/languages/cpp.d.ts +1 -0
  41. package/dist/integrations/code-highlight/languages/python.d.ts +1 -0
  42. package/dist/integrations/code-highlight.js +198 -59
  43. package/dist/integrations/image-display-options.js +70 -69
  44. package/dist/llms/gen-tokens.d.ts +7 -0
  45. package/dist/meta-CySnRuVp.js +21 -0
  46. package/dist/provider/web-ui-provider.d.ts +4 -1
  47. package/dist/style.css +1 -1
  48. package/dist/tabs-CMKvMF4E.js +369 -0
  49. package/package.json +48 -26
  50. package/src/docgen/doc.gen.json +381 -38
  51. package/src/llms/icon-catalog.gen.json +11203 -0
  52. package/src/llms/install-templates/AGENTS.md +34 -0
  53. package/src/llms/install-templates/codex-hooks.json +44 -0
  54. package/src/llms/install-templates/hooks/baseline-staleness.sh +17 -0
  55. package/src/llms/install-templates/hooks/session-start.sh +5 -0
  56. package/src/llms/install-templates/hooks/stop.sh +18 -0
  57. package/src/llms/install-templates/hooks/subagent-start.sh +5 -0
  58. package/src/llms/install-templates/hooks/user-prompt-submit.sh +5 -0
  59. package/src/llms/install-templates/settings.json +45 -0
  60. package/src/llms/llms.gen.txt +17 -0
  61. package/src/llms/skills/imf-web-ui/SKILL.md +13 -12
  62. package/src/llms/skills/imf-web-ui-audit/SKILL.md +119 -0
  63. package/src/llms/skills/imf-web-ui-components/SKILL.md +56 -3
  64. package/src/llms/skills/imf-web-ui-conventions/SKILL.md +57 -0
  65. package/src/llms/skills/imf-web-ui-conventions/templates/AUDIT_CHECKLIST.md +141 -0
  66. package/src/llms/skills/imf-web-ui-conventions/templates/REPORT.md +45 -0
  67. package/src/llms/skills/imf-web-ui-conventions/topics/agent-tooling.md +82 -0
  68. package/src/llms/skills/imf-web-ui-conventions/topics/assets.md +27 -0
  69. package/src/llms/skills/imf-web-ui-conventions/topics/authentication.md +65 -0
  70. package/src/llms/skills/imf-web-ui-conventions/topics/class-names.md +50 -0
  71. package/src/llms/skills/imf-web-ui-conventions/topics/components.md +101 -0
  72. package/src/llms/skills/imf-web-ui-conventions/topics/data.md +221 -0
  73. package/src/llms/skills/imf-web-ui-conventions/topics/docs-structure.md +40 -0
  74. package/src/llms/skills/imf-web-ui-conventions/topics/git.md +34 -0
  75. package/src/llms/skills/imf-web-ui-conventions/topics/library-boundary.md +35 -0
  76. package/src/llms/skills/imf-web-ui-conventions/topics/library-setup.md +26 -0
  77. package/src/llms/skills/imf-web-ui-conventions/topics/npm-project.md +53 -0
  78. package/src/llms/skills/imf-web-ui-conventions/topics/project-structure.md +44 -0
  79. package/src/llms/skills/imf-web-ui-conventions/topics/react.md +109 -0
  80. package/src/llms/skills/imf-web-ui-conventions/topics/styling.md +88 -0
  81. package/src/llms/skills/imf-web-ui-conventions/topics/testing.md +25 -0
  82. package/src/llms/skills/imf-web-ui-conventions/topics/tokens.md +7 -0
  83. package/src/llms/skills/imf-web-ui-conventions/topics/tooling.md +116 -0
  84. package/src/llms/skills/imf-web-ui-conventions/topics/typescript.md +73 -0
  85. package/src/llms/skills/imf-web-ui-conventions/topics/validation.md +62 -0
  86. package/src/llms/skills/imf-web-ui-setup/SKILL.md +67 -37
  87. package/src/llms/skills/imf-web-ui-update/SKILL.md +157 -0
  88. package/src/llms/skills/imf-web-ui-ux/SKILL.md +4 -4
  89. package/src/llms/skills/imf-web-ui-ux/references/forms.md +2 -2
  90. package/src/llms/tokens.gen.json +887 -0
  91. package/bin/install-skill.js +0 -203
  92. package/dist/code-qBbqAHK-.js +0 -190
  93. package/dist/meta-B8C51eyL.js +0 -74
  94. package/dist/tabs-DqBFSqq6.js +0 -3789
  95. package/src/llms/skills/imf-web-ui-frontend-patterns/SKILL.md +0 -93
  96. package/src/llms/skills/imf-web-ui-frontend-patterns/references/code-conventions.md +0 -133
  97. package/src/llms/skills/imf-web-ui-frontend-patterns/references/react-patterns.md +0 -94
  98. package/src/llms/skills/imf-web-ui-imfusion-frontend-setup/SKILL.md +0 -201
@@ -0,0 +1,369 @@
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 { Children as r } from "react";
5
+ import { Slider as i } from "@base-ui/react/slider";
6
+ import { Switch as a } from "@base-ui/react/switch";
7
+ import { Toggle as o } from "@base-ui/react/toggle";
8
+ import { ToggleGroup as s } from "@base-ui/react/toggle-group";
9
+ import { Tabs as c } from "@base-ui/react/tabs";
10
+ var l = {
11
+ control: "imf-ui-slider-module-control",
12
+ indicator: "imf-ui-slider-module-indicator",
13
+ label: "imf-ui-slider-module-label",
14
+ root: "imf-ui-slider-module-root",
15
+ thumb: "imf-ui-slider-module-thumb",
16
+ track: "imf-ui-slider-module-track",
17
+ value: "imf-ui-slider-module-value"
18
+ }, u = /* @__PURE__ */ e({
19
+ Control: () => x,
20
+ Indicator: () => C,
21
+ Label: () => y,
22
+ Root: () => v,
23
+ Thumb: () => w,
24
+ Track: () => S,
25
+ Value: () => b
26
+ }), d = t(l.root), f = t(l.label), p = t(l.value), m = t(l.control), h = t(l.track), g = t(l.indicator), _ = t(l.thumb);
27
+ function v({ value: e, defaultValue: t, onValueChange: r, onValueCommitted: a, min: o = 0, max: s = 100, step: c = 1, largeStep: l = 10, minStepsBetweenValues: u = 0, disabled: f = !1, orientation: p = "horizontal", name: m, form: h, locale: g, thumbAlignment: _ = "edge", thumbCollisionBehavior: v = "push", format: y, className: b, ...x }) {
28
+ return /* @__PURE__ */ n(i.Root, {
29
+ ...x,
30
+ "data-imf-ui-component": "Slider.Root",
31
+ "data-orientation": p,
32
+ className: (e) => d({ className: typeof b == "function" ? b(e) : b }),
33
+ value: e,
34
+ defaultValue: t,
35
+ onValueChange: r,
36
+ onValueCommitted: a,
37
+ min: o,
38
+ max: s,
39
+ step: c,
40
+ largeStep: l,
41
+ minStepsBetweenValues: u,
42
+ disabled: f,
43
+ orientation: p,
44
+ name: m,
45
+ form: h,
46
+ locale: g,
47
+ thumbAlignment: _,
48
+ thumbCollisionBehavior: v,
49
+ format: y,
50
+ children: x.children
51
+ });
52
+ }
53
+ v.displayName = "Slider.Root";
54
+ function y({ className: e, ...t }) {
55
+ return /* @__PURE__ */ n(i.Label, {
56
+ ...t,
57
+ "data-imf-ui-component": "Slider.Label",
58
+ className: (t) => f({ className: typeof e == "function" ? e(t) : e }),
59
+ children: t.children
60
+ });
61
+ }
62
+ y.displayName = "Slider.Label";
63
+ function b({ className: e, children: t, ...r }) {
64
+ return /* @__PURE__ */ n(i.Value, {
65
+ ...r,
66
+ "data-imf-ui-component": "Slider.Value",
67
+ className: (t) => p({ className: typeof e == "function" ? e(t) : e }),
68
+ children: t
69
+ });
70
+ }
71
+ b.displayName = "Slider.Value";
72
+ function x({ className: e, ...t }) {
73
+ return /* @__PURE__ */ n(i.Control, {
74
+ ...t,
75
+ "data-imf-ui-component": "Slider.Control",
76
+ className: (t) => m({ className: typeof e == "function" ? e(t) : e }),
77
+ children: t.children
78
+ });
79
+ }
80
+ x.displayName = "Slider.Control";
81
+ function S({ className: e, ...t }) {
82
+ return /* @__PURE__ */ n(i.Track, {
83
+ ...t,
84
+ "data-imf-ui-component": "Slider.Track",
85
+ className: (t) => h({ className: typeof e == "function" ? e(t) : e }),
86
+ children: t.children
87
+ });
88
+ }
89
+ S.displayName = "Slider.Track";
90
+ function C({ className: e, ...t }) {
91
+ return /* @__PURE__ */ n(i.Indicator, {
92
+ ...t,
93
+ "data-imf-ui-component": "Slider.Indicator",
94
+ className: (t) => g({ className: typeof e == "function" ? e(t) : e })
95
+ });
96
+ }
97
+ C.displayName = "Slider.Indicator";
98
+ function w({ index: e, className: t, ...r }) {
99
+ return /* @__PURE__ */ n(i.Thumb, {
100
+ ...r,
101
+ "data-imf-ui-component": "Slider.Thumb",
102
+ className: (e) => _({ className: typeof t == "function" ? t(e) : t }),
103
+ index: e
104
+ });
105
+ }
106
+ w.displayName = "Slider.Thumb";
107
+ var T = {
108
+ root: "imf-ui-switch-module-root",
109
+ thumb: "imf-ui-switch-module-thumb"
110
+ }, E = /* @__PURE__ */ e({
111
+ Root: () => O,
112
+ Thumb: () => k
113
+ }), D = t(T.root), ee = t(T.thumb);
114
+ function O({ className: e, ...t }) {
115
+ return /* @__PURE__ */ n(a.Root, {
116
+ ...t,
117
+ "data-imf-ui-component": "Switch.Root",
118
+ className: (t) => D({ className: typeof e == "function" ? e(t) : e }),
119
+ children: t.children
120
+ });
121
+ }
122
+ O.displayName = "Switch.Root";
123
+ function k({ className: e, ...t }) {
124
+ return /* @__PURE__ */ n(a.Thumb, {
125
+ ...t,
126
+ "data-imf-ui-component": "Switch.Thumb",
127
+ className: (t) => ee({ className: typeof e == "function" ? e(t) : e })
128
+ });
129
+ }
130
+ k.displayName = "Switch.Thumb";
131
+ //#endregion
132
+ //#region src/components/toggle/toggle.tsx
133
+ var A = t({ root: "imf-ui-toggle-module-root" }.root), j = 2;
134
+ function M(e) {
135
+ let t = 0;
136
+ return r.forEach(e, (e) => {
137
+ typeof e == "string" || typeof e == "number" ? t += String(e).trim().length : e != null && typeof e != "boolean" && (t += j);
138
+ }), t;
139
+ }
140
+ function N({ className: e, style: t, children: r, ...i }) {
141
+ let a = {
142
+ "--glyph-count": M(r),
143
+ "--max-glyphs": j
144
+ };
145
+ return /* @__PURE__ */ n(o, {
146
+ ...i,
147
+ "data-imf-ui-component": "Toggle",
148
+ style: (e) => ({
149
+ ...a,
150
+ ...typeof t == "function" ? t(e) : t
151
+ }),
152
+ className: (t) => A({ className: typeof e == "function" ? e(t) : e }),
153
+ children: r
154
+ });
155
+ }
156
+ //#endregion
157
+ //#region src/components/toggle-group/toggle-group.tsx
158
+ var te = t({ root: "imf-ui-toggle-group-module-root" }.root);
159
+ function ne({ className: e, ...t }) {
160
+ return /* @__PURE__ */ n(s, {
161
+ ...t,
162
+ "data-imf-ui-component": "ToggleGroup",
163
+ className: (t) => te({ className: typeof e == "function" ? e(t) : e })
164
+ });
165
+ }
166
+ var P = {
167
+ alignCenter: "imf-ui-row-module-alignCenter",
168
+ alignEnd: "imf-ui-row-module-alignEnd",
169
+ alignStart: "imf-ui-row-module-alignStart",
170
+ alignStretch: "imf-ui-row-module-alignStretch",
171
+ gap1: "imf-ui-row-module-gap1",
172
+ gap10: "imf-ui-row-module-gap10",
173
+ gap2: "imf-ui-row-module-gap2",
174
+ gap3: "imf-ui-row-module-gap3",
175
+ gap4: "imf-ui-row-module-gap4",
176
+ gap5: "imf-ui-row-module-gap5",
177
+ gap6: "imf-ui-row-module-gap6",
178
+ gap7: "imf-ui-row-module-gap7",
179
+ gap8: "imf-ui-row-module-gap8",
180
+ gap9: "imf-ui-row-module-gap9",
181
+ justifyAround: "imf-ui-row-module-justifyAround",
182
+ justifyBetween: "imf-ui-row-module-justifyBetween",
183
+ justifyCenter: "imf-ui-row-module-justifyCenter",
184
+ justifyEnd: "imf-ui-row-module-justifyEnd",
185
+ justifyEvenly: "imf-ui-row-module-justifyEvenly",
186
+ justifyStart: "imf-ui-row-module-justifyStart",
187
+ root: "imf-ui-row-module-root",
188
+ wrap: "imf-ui-row-module-wrap"
189
+ }, F = t(P.root, { variants: {
190
+ gap: {
191
+ 1: P.gap1,
192
+ 2: P.gap2,
193
+ 3: P.gap3,
194
+ 4: P.gap4,
195
+ 5: P.gap5,
196
+ 6: P.gap6,
197
+ 7: P.gap7,
198
+ 8: P.gap8,
199
+ 9: P.gap9,
200
+ 10: P.gap10
201
+ },
202
+ align: {
203
+ start: P.alignStart,
204
+ center: P.alignCenter,
205
+ end: P.alignEnd,
206
+ stretch: P.alignStretch
207
+ },
208
+ justify: {
209
+ start: P.justifyStart,
210
+ center: P.justifyCenter,
211
+ end: P.justifyEnd,
212
+ between: P.justifyBetween,
213
+ around: P.justifyAround,
214
+ evenly: P.justifyEvenly
215
+ },
216
+ wrap: {
217
+ true: P.wrap,
218
+ false: null
219
+ }
220
+ } });
221
+ function I({ gap: e = "2", align: t = "stretch", justify: r = "start", wrap: i = !1, className: a, ...o }) {
222
+ return /* @__PURE__ */ n("div", {
223
+ ...o,
224
+ "data-imf-ui-component": "Row",
225
+ className: F({
226
+ gap: e,
227
+ align: t,
228
+ justify: r,
229
+ wrap: i,
230
+ className: a
231
+ }),
232
+ children: o.children
233
+ });
234
+ }
235
+ var L = {
236
+ alignCenter: "imf-ui-stack-module-alignCenter",
237
+ alignEnd: "imf-ui-stack-module-alignEnd",
238
+ alignStart: "imf-ui-stack-module-alignStart",
239
+ alignStretch: "imf-ui-stack-module-alignStretch",
240
+ gap1: "imf-ui-stack-module-gap1",
241
+ gap10: "imf-ui-stack-module-gap10",
242
+ gap2: "imf-ui-stack-module-gap2",
243
+ gap3: "imf-ui-stack-module-gap3",
244
+ gap4: "imf-ui-stack-module-gap4",
245
+ gap5: "imf-ui-stack-module-gap5",
246
+ gap6: "imf-ui-stack-module-gap6",
247
+ gap7: "imf-ui-stack-module-gap7",
248
+ gap8: "imf-ui-stack-module-gap8",
249
+ gap9: "imf-ui-stack-module-gap9",
250
+ justifyAround: "imf-ui-stack-module-justifyAround",
251
+ justifyBetween: "imf-ui-stack-module-justifyBetween",
252
+ justifyCenter: "imf-ui-stack-module-justifyCenter",
253
+ justifyEnd: "imf-ui-stack-module-justifyEnd",
254
+ justifyEvenly: "imf-ui-stack-module-justifyEvenly",
255
+ justifyStart: "imf-ui-stack-module-justifyStart",
256
+ root: "imf-ui-stack-module-root"
257
+ }, R = t(L.root, { variants: {
258
+ gap: {
259
+ 1: L.gap1,
260
+ 2: L.gap2,
261
+ 3: L.gap3,
262
+ 4: L.gap4,
263
+ 5: L.gap5,
264
+ 6: L.gap6,
265
+ 7: L.gap7,
266
+ 8: L.gap8,
267
+ 9: L.gap9,
268
+ 10: L.gap10
269
+ },
270
+ align: {
271
+ start: L.alignStart,
272
+ center: L.alignCenter,
273
+ end: L.alignEnd,
274
+ stretch: L.alignStretch
275
+ },
276
+ justify: {
277
+ start: L.justifyStart,
278
+ center: L.justifyCenter,
279
+ end: L.justifyEnd,
280
+ between: L.justifyBetween,
281
+ around: L.justifyAround,
282
+ evenly: L.justifyEvenly
283
+ }
284
+ } });
285
+ function z({ gap: e = "4", align: t = "stretch", justify: r = "start", className: i, ...a }) {
286
+ return /* @__PURE__ */ n("div", {
287
+ ...a,
288
+ "data-imf-ui-component": "Stack",
289
+ className: R({
290
+ gap: e,
291
+ align: t,
292
+ justify: r,
293
+ className: i
294
+ }),
295
+ children: a.children
296
+ });
297
+ }
298
+ var B = {
299
+ indicator: "imf-ui-tabs-module-indicator",
300
+ list: "imf-ui-tabs-module-list",
301
+ listFill: "imf-ui-tabs-module-listFill",
302
+ panel: "imf-ui-tabs-module-panel",
303
+ panelViewport: "imf-ui-tabs-module-panelViewport",
304
+ root: "imf-ui-tabs-module-root",
305
+ tab: "imf-ui-tabs-module-tab"
306
+ }, V = /* @__PURE__ */ e({
307
+ Indicator: () => Z,
308
+ List: () => Y,
309
+ Panel: () => $,
310
+ PanelViewport: () => Q,
311
+ Root: () => J,
312
+ Tab: () => X
313
+ }), H = t(B.list, { variants: { fill: {
314
+ true: B.listFill,
315
+ false: null
316
+ } } }), U = t(B.root), W = t(B.tab), G = t(B.indicator), K = t(B.panelViewport), q = t(B.panel);
317
+ function J({ className: e, ...t }) {
318
+ return /* @__PURE__ */ n(c.Root, {
319
+ ...t,
320
+ "data-imf-ui-component": "Tabs.Root",
321
+ className: (t) => U({ className: typeof e == "function" ? e(t) : e })
322
+ });
323
+ }
324
+ J.displayName = "Tabs.Root";
325
+ function Y({ fill: e = !1, className: t, ...r }) {
326
+ return /* @__PURE__ */ n(c.List, {
327
+ ...r,
328
+ "data-imf-ui-component": "Tabs.List",
329
+ className: (n) => H({
330
+ fill: e,
331
+ className: typeof t == "function" ? t(n) : t
332
+ })
333
+ });
334
+ }
335
+ Y.displayName = "Tabs.List";
336
+ function X({ className: e, ...t }) {
337
+ return /* @__PURE__ */ n(c.Tab, {
338
+ ...t,
339
+ "data-imf-ui-component": "Tabs.Tab",
340
+ className: (t) => W({ className: typeof e == "function" ? e(t) : e })
341
+ });
342
+ }
343
+ X.displayName = "Tabs.Tab";
344
+ function Z({ className: e, ...t }) {
345
+ return /* @__PURE__ */ n(c.Indicator, {
346
+ ...t,
347
+ "data-imf-ui-component": "Tabs.Indicator",
348
+ className: (t) => G({ className: typeof e == "function" ? e(t) : e })
349
+ });
350
+ }
351
+ Z.displayName = "Tabs.Indicator";
352
+ function Q({ className: e, ...t }) {
353
+ return /* @__PURE__ */ n("div", {
354
+ ...t,
355
+ "data-imf-ui-component": "Tabs.PanelViewport",
356
+ className: K({ className: e })
357
+ });
358
+ }
359
+ Q.displayName = "Tabs.PanelViewport";
360
+ function $({ className: e, ...t }) {
361
+ return /* @__PURE__ */ n(c.Panel, {
362
+ ...t,
363
+ "data-imf-ui-component": "Tabs.Panel",
364
+ className: (t) => q({ className: typeof e == "function" ? e(t) : e })
365
+ });
366
+ }
367
+ $.displayName = "Tabs.Panel";
368
+ //#endregion
369
+ export { u as S, y as _, J as a, S as b, z as c, N as d, O as f, C as g, x as h, Q as i, I as l, E as m, Y as n, X as o, k as p, $ as r, V as s, Z as t, ne as u, v, b as x, w as y };
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@imfusion/web-ui",
3
- "version": "0.5.1-dev.7.ga571658e",
3
+ "version": "0.6.0",
4
4
  "description": "The official Web UI component library for ImFusion web apps",
5
5
  "author": "ImFusion GmbH",
6
6
  "license": "UNLICENSED",
@@ -9,10 +9,17 @@
9
9
  "access": "restricted"
10
10
  },
11
11
  "type": "module",
12
+ "engines": {
13
+ "node": ">=24"
14
+ },
15
+ "imports": {
16
+ "#/*": "./src/*",
17
+ "#/storybook/*": "./.storybook/*"
18
+ },
12
19
  "module": "./dist/index.js",
13
20
  "types": "./dist/index.d.ts",
14
21
  "bin": {
15
- "web-ui-install-skills": "bin/install-skill.js"
22
+ "web-ui-install": "bin/install.js"
16
23
  },
17
24
  "exports": {
18
25
  ".": {
@@ -23,6 +30,14 @@
23
30
  "types": "./dist/integrations/*/index.d.ts",
24
31
  "import": "./dist/integrations/*.js"
25
32
  },
33
+ "./build/*": {
34
+ "types": "./dist/build/*/index.d.ts",
35
+ "import": "./dist/build/*.js"
36
+ },
37
+ "./icons": {
38
+ "types": "./dist/icons/index.d.ts",
39
+ "import": "./dist/icons.js"
40
+ },
26
41
  "./styles.css": "./dist/style.css",
27
42
  "./docgen.json": "./src/docgen/doc.gen.json",
28
43
  "./llms.txt": "./src/llms/llms.gen.txt",
@@ -30,44 +45,50 @@
30
45
  },
31
46
  "files": [
32
47
  "dist",
48
+ "src/llms/install-templates",
33
49
  "src/docgen/doc.gen.json",
34
50
  "src/llms/llms.gen.txt",
51
+ "src/llms/icon-catalog.gen.json",
52
+ "src/llms/tokens.gen.json",
35
53
  "src/llms/skills",
36
54
  "bin"
37
55
  ],
38
56
  "scripts": {
39
- "codegen:docgen": "tsx src/docgen/gen-docgen.ts",
40
- "codegen:llms": "tsx src/llms/gen-llms.ts",
41
- "codegen:watch": "tsx watch src/codegen/run.ts",
42
- "codegen:storybook": "tsx src/codegen/run.ts --storybook",
43
- "codegen": "tsx src/codegen/run.ts",
44
- "build": "npm run codegen && rm -rf dist && vite build && npm run codegen:docgen && npm run codegen:llms",
45
57
  "dev": "tsx scripts/dev.ts",
46
58
  "dev:host": "tsx scripts/dev.ts --host",
47
59
  "dev:lib": "concurrently -n codegen,lib -c yellow,blue \"npm run codegen:watch\" \"vite build --watch\"",
48
- "typecheck": "npm run codegen && tsc -p tsconfig.lib.json --noEmit && tsc -p .storybook/tsconfig.json --noEmit",
60
+ "build": "npm run codegen && rm -rf dist && vite build && npm run codegen:docgen && npm run codegen:llms && npm run codegen:tokens",
61
+ "build:storybook": "npm run codegen:storybook && storybook build",
62
+ "storybook": "npm run codegen:storybook && storybook dev -p 6006 --no-open",
63
+ "storybook:free-ports": "tsx scripts/free-storybook-ports.ts",
64
+ "codegen": "tsx src/codegen/run.ts",
65
+ "codegen:watch": "tsx watch src/codegen/run.ts",
66
+ "codegen:storybook": "tsx src/codegen/run.ts --storybook",
67
+ "codegen:docgen": "tsx src/docgen/gen-docgen.ts",
68
+ "codegen:llms": "tsx src/llms/gen-llms.ts",
69
+ "codegen:tokens": "tsx src/llms/gen-tokens.ts",
70
+ "verify:format": "prettier --check . --ignore-path .gitignore --ignore-path .prettierignore --ignore-path $(git rev-parse --path-format=absolute --git-path info/exclude)",
71
+ "verify:lint": "eslint . --cache --max-warnings=0",
72
+ "verify:typecheck": "npm run codegen && tsc -p tsconfig.json --noEmit && tsc -p tsconfig.lib.json --noEmit && tsc -p .storybook/tsconfig.json --noEmit",
73
+ "verify:tests": "vitest run",
74
+ "verify:knip": "knip",
75
+ "verify:deps": "tsx scripts/check-pinned-dependencies.ts",
76
+ "verify:icons": "tsx scripts/verify/icons-public-api.ts",
77
+ "verify:changelog": "tsx scripts/verify/changelog.ts",
78
+ "verify:staged": "tsx scripts/verify/staged.ts",
79
+ "verify:full": "tsx scripts/verify/full.ts && npm run verify:tests",
80
+ "release:prepare": "tsx scripts/release.ts prepare",
81
+ "release:tag": "tsx scripts/release.ts tag",
49
82
  "format": "prettier --write .",
50
- "format:check": "prettier --check .",
51
- "lint": "eslint . --cache --max-warnings=0",
52
- "lint:fix": "eslint . --cache --fix",
83
+ "lint": "eslint . --cache --fix",
53
84
  "lint:inspect": "npx @eslint/config-inspector@latest",
85
+ "test:unit": "vitest run --project unit",
86
+ "test:stories": "vitest run --project storybook",
87
+ "test:watch": "vitest",
54
88
  "skills:eval": "node src/llms/evals/run.mjs",
55
89
  "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' node src/llms/evals/run.mjs --scenarios-dir .agents/evals/scenarios --setup .agents/evals/setup-env.sh",
56
90
  "skills:eval:compare": "node src/llms/evals/compare.mjs",
57
91
  "skills:eval:report": "node src/llms/evals/report.mjs",
58
- "storybook": "npm run codegen:storybook && storybook dev -p 6006 --no-open",
59
- "storybook:free-ports": "tsx scripts/free-storybook-ports.ts",
60
- "build:storybook": "npm run codegen:storybook && storybook build",
61
- "test": "vitest run",
62
- "test:unit": "vitest run --project unit",
63
- "test:stories": "vitest run --project storybook",
64
- "test:watch": "vitest",
65
- "verify:preflight": "tsx scripts/verify/full.ts",
66
- "verify:full": "npm run verify:preflight && npm run test",
67
- "worktree:create": "tsx scripts/worktrees.ts create",
68
- "worktree:close": "tsx scripts/worktrees.ts close",
69
- "worktree:discard": "tsx scripts/worktrees.ts discard",
70
- "knip": "knip",
71
92
  "git:config": "git config core.hooksPath .githooks && git config pull.rebase true && git config merge.ff only"
72
93
  },
73
94
  "peerDependencies": {
@@ -92,7 +113,7 @@
92
113
  "@base-ui/react": "1.6.0",
93
114
  "@clack/prompts": "1.7.0",
94
115
  "class-variance-authority": "0.7.1",
95
- "lucide-react": "1.16.0"
116
+ "iconoir-react": "7.12.1"
96
117
  },
97
118
  "devDependencies": {
98
119
  "@eslint/compat": "1.4.1",
@@ -124,6 +145,7 @@
124
145
  "globals": "15.15.0",
125
146
  "jiti": "2.7.0",
126
147
  "knip": "6.14.2",
148
+ "lightningcss": "1.32.0",
127
149
  "nano-staged": "1.0.2",
128
150
  "playwright": "1.60.0",
129
151
  "prettier": "3.8.3",