@imfusion/web-ui 0.6.4-dev.84.gbfc0d437 → 0.7.1-dev.1.g3b4d502e
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 +400 -0
- package/README.md +17 -14
- package/dist/components/tabs/tabs.d.ts +1 -1
- package/dist/index.js +1 -1
- package/dist/integrations/image-display-options.js +1 -1
- package/dist/style.css +1 -1
- package/dist/{tabs-By5ir2pt.js → tabs-BS6rqrrA.js} +102 -78
- package/docs/user-guide/AgentTooling.mdx +9 -3
- package/docs/user-guide/BrandAssets.mdx +3 -2
- package/docs/user-guide/Changelog.mdx +13 -10
- package/docs/user-guide/GettingStarted.mdx +5 -4
- package/docs/user-guide/HowItsBuilt.mdx +3 -2
- package/docs/user-guide/Tokens.mdx +4 -3
- package/docs/user-guide/UsagePatterns.mdx +3 -2
- package/package.json +2 -1
- package/src/llms/skills/imf-web-ui-components/SKILL.md +3 -2
- package/src/llms/skills/imf-web-ui-conventions/SKILL.md +1 -0
- package/src/llms/skills/imf-web-ui-update/SKILL.md +11 -5
- package/src/llms/skills/imf-web-ui-ux/SKILL.md +2 -1
- package/src/llms/tokens.gen.json +8 -8
package/CHANGELOG.md
ADDED
|
@@ -0,0 +1,400 @@
|
|
|
1
|
+
# Changelog
|
|
2
|
+
|
|
3
|
+
## `0.7.1` 2026.09.27
|
|
4
|
+
|
|
5
|
+
### Fixed
|
|
6
|
+
|
|
7
|
+
- The 0.7.0 release notes install the package before running `npx web-ui install`. — Nikolaus Brunner <brunner@imfusion.com>
|
|
8
|
+
|
|
9
|
+
---
|
|
10
|
+
|
|
11
|
+
## `0.7.0` 2026.09.27
|
|
12
|
+
|
|
13
|
+
### Highlights
|
|
14
|
+
|
|
15
|
+
#### Set up through your agent
|
|
16
|
+
|
|
17
|
+
Web UI is now built to be installed and used through a coding agent. Once the package is installed, `npx web-ui install
|
|
18
|
+
skills` and `npx web-ui install hooks` set up its agent skills and lifecycle hooks for Claude Code, Codex, or both
|
|
19
|
+
([WEBSDK-241](https://imfusion.atlassian.net/browse/WEBSDK-241)). The user guides ship inside the package, and the router
|
|
20
|
+
skill sends library questions to the matching page. Getting Started walks through handing the setup to your agent, and
|
|
21
|
+
Agent Tooling lists what each agent reads and where ([WEBSDK-206](https://imfusion.atlassian.net/browse/WEBSDK-206)).
|
|
22
|
+
|
|
23
|
+
```sh
|
|
24
|
+
npm install @imfusion/web-ui
|
|
25
|
+
npx web-ui install skills --harness=all
|
|
26
|
+
npx web-ui install hooks --harness=all
|
|
27
|
+
```
|
|
28
|
+
|
|
29
|
+
Then ask your agent to wire the library into the project:
|
|
30
|
+
|
|
31
|
+
```text
|
|
32
|
+
Set up @imfusion/web-ui in this project.
|
|
33
|
+
```
|
|
34
|
+
|
|
35
|
+
That runs `/imf-web-ui-setup`, which proposes a plan and writes the stylesheet import and `WebUIProvider` only after you
|
|
36
|
+
approve it. `/imf-web-ui-audit` checks an existing project against the library's conventions without changing any file.
|
|
37
|
+
|
|
38
|
+
The hooks point the agent at the `imf-web-ui` router. The router answers library questions from the packaged user guides and
|
|
39
|
+
hands other tasks to a skill. Setup, audit, and the UX skill work from `imf-web-ui-conventions`, a knowledge skill that
|
|
40
|
+
holds the ImFusion frontend conventions. Solid outlines are the skills you run; dashed boxes are knowledge the agent
|
|
41
|
+
reads:
|
|
42
|
+
|
|
43
|
+
```mermaid
|
|
44
|
+
flowchart TD
|
|
45
|
+
guides["Packaged<br/>user guides<br/>(knowledge)"] -.-> router
|
|
46
|
+
hooks["Automatic hooks<br/>Session start: point to the router<br/>Subagent start: same for helpers<br/>Each prompt: name matching skills"] --> router["/imf-web-ui<br/>router"]
|
|
47
|
+
conventions["imf-web-ui-<br/>conventions<br/>(knowledge)"] ~~~ router
|
|
48
|
+
router --> update["/imf-web-ui-<br/>update"]
|
|
49
|
+
router --> components["/imf-web-ui-<br/>components"]
|
|
50
|
+
router --> ux["/imf-web-ui-<br/>ux"]
|
|
51
|
+
router --> audit["/imf-web-ui-<br/>audit"]
|
|
52
|
+
router --> setup["/imf-web-ui-<br/>setup"]
|
|
53
|
+
conventions -.-> setup
|
|
54
|
+
conventions -.-> audit
|
|
55
|
+
conventions -.-> ux
|
|
56
|
+
update -. offers .-> audit
|
|
57
|
+
class router primary
|
|
58
|
+
class guides,conventions knowledge
|
|
59
|
+
class update,components,ux,audit,setup action
|
|
60
|
+
```
|
|
61
|
+
|
|
62
|
+
#### New and updated components
|
|
63
|
+
|
|
64
|
+
- `NumberField` is new. It handles numeric entry with styled increment and decrement buttons, sizes to its content, and
|
|
65
|
+
fills its parent with `width="full"` ([WEBSDK-236](https://imfusion.atlassian.net/browse/WEBSDK-236)).
|
|
66
|
+
- Adapted primitives accept every upstream prop, `ref` included, and their prop tables show the upstream descriptions and
|
|
67
|
+
defaults ([WEBSDK-229](https://imfusion.atlassian.net/browse/WEBSDK-229)).
|
|
68
|
+
- `Typo` follows the ImFusion body and heading scales, with variable font weights from 450 to 600. `Typo.Hero` is a new
|
|
69
|
+
responsive display heading from 48 to 144 px. `Typo.Hero`, `Typo.H1`, and `Typo.H2` fade every line after the first;
|
|
70
|
+
`fadeAfterFirstLine` turns that off.
|
|
71
|
+
- `Spinner` plays the animated ImFusion glyph in `blue`, `white`, or `black`
|
|
72
|
+
([WEBSDK-205](https://imfusion.atlassian.net/browse/WEBSDK-205)).
|
|
73
|
+
- `Button` takes `context="oncolor"` for actions on saturated primary surfaces
|
|
74
|
+
([WEBSDK-216](https://imfusion.atlassian.net/browse/WEBSDK-216)).
|
|
75
|
+
- `Separator` has a named spacing scale for the margins around it and accepts `render`
|
|
76
|
+
([WEBSDK-229](https://imfusion.atlassian.net/browse/WEBSDK-229)).
|
|
77
|
+
- Code highlighting registers every grammar TanStack Highlight ships, including C++, CMake, Go, and PHP
|
|
78
|
+
([WEBSDK-239](https://imfusion.atlassian.net/browse/WEBSDK-239)).
|
|
79
|
+
|
|
80
|
+
#### Brand assets
|
|
81
|
+
|
|
82
|
+
The ImFusion favicon set and social preview image ship under `@imfusion/web-ui/assets/*`. The `imfusionBrandAssets` Vite
|
|
83
|
+
plugin serves them at the site root in dev and emits them into your build
|
|
84
|
+
([CP-154](https://imfusion.atlassian.net/browse/CP-154)).
|
|
85
|
+
|
|
86
|
+
#### A branded Storybook
|
|
87
|
+
|
|
88
|
+
Storybook carries the ImFusion look: a primary sidebar with the ImFusion logo, theme colors read from the Web UI tokens, and
|
|
89
|
+
square corners with hard shadows across menus, dialogs, and the addon panel. On wide screens the sidebar and the content
|
|
90
|
+
float as separate boxes ([WEBSDK-182](https://imfusion.atlassian.net/browse/WEBSDK-182)). Tokens has its own section with
|
|
91
|
+
live controls, and a Changelog page renders this file.
|
|
92
|
+
|
|
93
|
+
The layout adapts from a wide desktop down to a phone:
|
|
94
|
+
|
|
95
|
+

|
|
96
|
+

|
|
97
|
+

|
|
98
|
+

|
|
99
|
+
|
|
100
|
+
#### Important fixes
|
|
101
|
+
|
|
102
|
+
- `WebUIProvider` applies the color scheme, and its `colorScheme` prop pins it. Under the `system` preference,
|
|
103
|
+
`useColorScheme` writes the resolved `light` or `dark` value to `data-imf-ui-color-scheme`
|
|
104
|
+
([WEBSDK-235](https://imfusion.atlassian.net/browse/WEBSDK-235)).
|
|
105
|
+
- `Select` values and `Drawer` payloads keep their types through the generic roots
|
|
106
|
+
([WEBSDK-212](https://imfusion.atlassian.net/browse/WEBSDK-212)).
|
|
107
|
+
|
|
108
|
+
#### Migrating from 0.6
|
|
109
|
+
|
|
110
|
+
The skill installer is a `web-ui` command with subcommands. `--harness=claude|codex|all` replaces `--target`, and the skills
|
|
111
|
+
must be installed before the hooks for the same harness:
|
|
112
|
+
|
|
113
|
+
```diff
|
|
114
|
+
- npx web-ui-install
|
|
115
|
+
- npx web-ui-install --hooks
|
|
116
|
+
+ npx web-ui install skills --harness=all
|
|
117
|
+
+ npx web-ui install hooks --harness=all
|
|
118
|
+
```
|
|
119
|
+
|
|
120
|
+
`readableCssModuleNames` has a new import path:
|
|
121
|
+
|
|
122
|
+
```diff
|
|
123
|
+
- import { readableCssModuleNames } from "@imfusion/web-ui/build/vite-css-module-names";
|
|
124
|
+
+ import { readableCssModuleNames } from "@imfusion/web-ui/vite";
|
|
125
|
+
```
|
|
126
|
+
|
|
127
|
+
Spinner ignores `color`. Choose a baked variant:
|
|
128
|
+
|
|
129
|
+
```diff
|
|
130
|
+
- <Spinner style={{ color: "white" }} />
|
|
131
|
+
+ <Spinner variant="white" />
|
|
132
|
+
```
|
|
133
|
+
|
|
134
|
+
### Breaking
|
|
135
|
+
|
|
136
|
+
- **Breaking:** `npx web-ui install skills` and `npx web-ui install hooks` replace `npx web-ui-install` ([WEBSDK-241](https://imfusion.atlassian.net/browse/WEBSDK-241)). — Nikolaus Brunner <brunner@imfusion.com>
|
|
137
|
+
- `--harness=claude|codex|all` replaces `--target claude|agents|all`, and `install hooks` replaces `--hooks`.
|
|
138
|
+
- `install hooks` requires the skills to be installed for the same harness.
|
|
139
|
+
- Skills install into `.agents/skills/`; `claude` adds a link per skill in `.claude/skills/`.
|
|
140
|
+
- The installer owns every `imf-web-ui` and `imf-web-ui-*` skill directory and overwrites or prunes them.
|
|
141
|
+
- **Breaking:** Spinner plays the brand glyph animation in a baked color and ignores `color` ([WEBSDK-205](https://imfusion.atlassian.net/browse/WEBSDK-205)). — Nikolaus Brunner <brunner@imfusion.com>
|
|
142
|
+
- `variant` selects `blue` (default), `white`, or `black`; the animation ignores `currentColor` and the color scheme.
|
|
143
|
+
- The animation ignores `prefers-reduced-motion` and cannot pause.
|
|
144
|
+
- The frames add about 139 KB to `dist/index.js`.
|
|
145
|
+
- **Breaking:** `readableCssModuleNames` moves from `@imfusion/web-ui/build/vite-css-module-names` to `@imfusion/web-ui/vite` ([CP-154](https://imfusion.atlassian.net/browse/CP-154)). — Nikolaus Brunner <brunner@imfusion.com>
|
|
146
|
+
|
|
147
|
+
### Added
|
|
148
|
+
|
|
149
|
+
- Tabs lists scroll when their tabs overflow, and the active tab sticks to the edge it would scroll past and draws its own box while the list overflows. — Nikolaus Brunner <brunner@imfusion.com>
|
|
150
|
+
- The package ships `CHANGELOG.md`, so the packaged Changelog guide has its content. — Nikolaus Brunner <brunner@imfusion.com>
|
|
151
|
+
- Storybook examples — Nikolaus Brunner <brunner@imfusion.com>
|
|
152
|
+
- The Showcase, typography prose, documentation, and a responsive type spec.
|
|
153
|
+
- An image-led page for `Typo.Hero`.
|
|
154
|
+
- An advisory audit hook counts hedged findings in a written `AUDIT_REPORT.md`. — Nikolaus Brunner <brunner@imfusion.com>
|
|
155
|
+
|
|
156
|
+
### Changed
|
|
157
|
+
|
|
158
|
+
- Token defaults — Nikolaus Brunner <brunner@imfusion.com>
|
|
159
|
+
- The dark surface is lighter at luma `0.35`, and the support and minor backgrounds sit further from it.
|
|
160
|
+
- Shadow elevation levels share one opacity, and `--imf-ui-shadow-intensity` defaults to `15%`.
|
|
161
|
+
- In the dark scheme, primary fills are darker and primary text is lighter: `--imf-ui-color-primary-bg-luma-dark`
|
|
162
|
+
defaults to `0.6` and `--imf-ui-color-primary-fg-luma-dark` to `0.8`.
|
|
163
|
+
- Links, highlights, and inline code are flatter ([WEBSDK-227](https://imfusion.atlassian.net/browse/WEBSDK-227)). — Nikolaus Brunner <brunner@imfusion.com>
|
|
164
|
+
- `Typo.Link` has no trailing arrow and underlines on hover only.
|
|
165
|
+
- `Typo.Highlight` uses the main primary background.
|
|
166
|
+
- `Code.Inline` is a flat chip on the minor background, without border or shadow.
|
|
167
|
+
- `Code.InlineLink` has no trailing arrow, uses the primary text color, and accepts any children.
|
|
168
|
+
- The Tooltip trigger underline is dotted and uses the text color.
|
|
169
|
+
- Layout and display components ([WEBSDK-216](https://imfusion.atlassian.net/browse/WEBSDK-216)). — Nikolaus Brunner <brunner@imfusion.com>
|
|
170
|
+
- Card has a configurable image ratio, 16:10 by default, and its images fill horizontal layouts without gaps.
|
|
171
|
+
- AppShell's aside is 21.25rem wide, and its section padding is configurable.
|
|
172
|
+
- Table text defaults to 14px.
|
|
173
|
+
- Chip labels have higher contrast.
|
|
174
|
+
- Typo and Input defaults — Nikolaus Brunner <brunner@imfusion.com>
|
|
175
|
+
- `Typo.H1` and `Typo.H2` default to the `primary` variant.
|
|
176
|
+
- `Typo.Lead` uses the medium font weight.
|
|
177
|
+
- Heading margins and list indents scale with the fluid type sizes, `Typo.H1` gets a top margin, and a heading that
|
|
178
|
+
opens its container starts flush.
|
|
179
|
+
- Input padding is `0.75em` at every size, so it scales with the font size.
|
|
180
|
+
- The code highlight theme tokens (`--th-*`) are scoped to `Code.Block` and `Code.Inline` instead of `:root` ([WEBSDK-206](https://imfusion.atlassian.net/browse/WEBSDK-206)). — Nikolaus Brunner <brunner@imfusion.com>
|
|
181
|
+
- Documentation ([WEBSDK-206](https://imfusion.atlassian.net/browse/WEBSDK-206)). — Nikolaus Brunner <brunner@imfusion.com>
|
|
182
|
+
- The user guide runs Getting Started, Agent Tooling, Usage Patterns, Brand Assets, and How It's Built.
|
|
183
|
+
- The Tokens page is the single place that documents the Storybook token controls, and the token reference shows them like
|
|
184
|
+
the showcase: a side panel on large screens, a drawer on smaller ones.
|
|
185
|
+
- Docs pages end with previous and next links in sidebar order.
|
|
186
|
+
- Storybook docs render `mermaid` fences as diagrams, with a diagram's `title` as a primary caption, `owned` and
|
|
187
|
+
`external` subgraphs as primary-tinted and grey-striped lanes, and GitHub alerts as Callouts.
|
|
188
|
+
- The Design System page opens with how views and components are designed in Claude Design, and shows the sync in one
|
|
189
|
+
diagram, split by who owns each step.
|
|
190
|
+
- The development docs split Architecture, the decisions and their reasons, from Rules, the checkable rules with wrong and
|
|
191
|
+
right examples. The release guide shows under Development, and the color system and release guides have flow diagrams.
|
|
192
|
+
- Docs and skills are shorter, with examples and tables in place of repeated prose.
|
|
193
|
+
- `design/DESIGN.md` describes ImFusion's characteristics, voice, type, and color in the styleguide's own words, with
|
|
194
|
+
example images under `design/examples/`, and `web-ui-dev-claude-design-sync` syncs it, the user guide, and the token and
|
|
195
|
+
icon lookups to the Claude Design project.
|
|
196
|
+
- Storybook — Nikolaus Brunner <brunner@imfusion.com>
|
|
197
|
+
- Storybook and its addons use version 10.6.0 ([WEBSDK-238](https://imfusion.atlassian.net/browse/WEBSDK-238)).
|
|
198
|
+
- Prop tables show string defaults without quotes and list each default once ([WEBSDK-229](https://imfusion.atlassian.net/browse/WEBSDK-229)).
|
|
199
|
+
- The manager follows the OS color scheme without a reload and hides the onboarding checklists, the create-story button,
|
|
200
|
+
and the tag filters.
|
|
201
|
+
- The sidebar gives its header, navigation groups, and items more vertical space.
|
|
202
|
+
- Sidebar rows that expand read as bold folders without chevrons, test entries sit under their story in italics, and
|
|
203
|
+
the context-menu button stays clear of labels.
|
|
204
|
+
- Docs pages open with a `Typo.Hero` title on token-based surfaces in the library font families, and story canvases have
|
|
205
|
+
a softer border.
|
|
206
|
+
- Storybook uses the ImFusion favicon set and starts on the next free port.
|
|
207
|
+
- The production build omits the Vitest testing widget.
|
|
208
|
+
- The Storybook config is written with `defineMain` and `definePreview`.
|
|
209
|
+
- Agent skills — Nikolaus Brunner <brunner@imfusion.com>
|
|
210
|
+
- `imf-web-ui-update` reads the shipped `CHANGELOG.md` in its migration audit: it maps breaking changes and migration steps
|
|
211
|
+
to the project's call sites and lists fitting new features as suggestions, changing no file until the person approves.
|
|
212
|
+
- `web-ui-dev-changelog` covers the mechanical log and the curated release section, and `web-ui-dev-release` curates
|
|
213
|
+
the release notes through it.
|
|
214
|
+
- `web-ui-dev-audit-docs` checks Mermaid diagrams against the skills and flows they draw.
|
|
215
|
+
- The Development docs have an Agent Tooling page that draws the dev skills, their hook, and the shared writing skills.
|
|
216
|
+
- `web-ui-dev-llm-framework` keeps the consumer and dev LLM framework diagrams in sync, and unit tests fail when a diagram
|
|
217
|
+
and its skills or hooks disagree.
|
|
218
|
+
- `imf-web-ui-conventions` is a knowledge skill that setup, audit, and the UX skill load; it is not user-invocable.
|
|
219
|
+
- `imf-web-ui-audit` reports improvements that no convention asks for in a separate `Suggestions` section.
|
|
220
|
+
- The consumer skills route documentation work to the `docs-structure` topic, and `imf-web-ui-conventions` invokes
|
|
221
|
+
`/documentation-writer` only when a project has it.
|
|
222
|
+
- The development skills run `humanizer` on documentation prose and keep `documentation-writer` for new pages and
|
|
223
|
+
restructures.
|
|
224
|
+
- `web-ui-dev-changelog` writes migration guidance as `diff` and code blocks.
|
|
225
|
+
- CI and verification — Nikolaus Brunner <brunner@imfusion.com>
|
|
226
|
+
- TeamCity builds open pull requests and pushed release tags without a manual run ([WEBSDK-256](https://imfusion.atlassian.net/browse/WEBSDK-256)).
|
|
227
|
+
- TeamCity runs static checks before builds, tests, and publishing.
|
|
228
|
+
- Pre-commit runs whole-repository lint and format checks, and full verification runs the fast checks first.
|
|
229
|
+
- `ci:status` shows each build's published npm version and whether it went to the dev or stable channel.
|
|
230
|
+
|
|
231
|
+
### Fixed
|
|
232
|
+
|
|
233
|
+
- Components — Nikolaus Brunner <brunner@imfusion.com>
|
|
234
|
+
- The NumberField input minimum scales with the control size and stays slightly narrower than both controls combined.
|
|
235
|
+
- Callout slot boundaries override default Typo margins.
|
|
236
|
+
- Button rendered as a link has no text underline ([WEBSDK-206](https://imfusion.atlassian.net/browse/WEBSDK-206)).
|
|
237
|
+
- The NavigationMenu inline submenu gap and the Code block border use existing tokens ([WEBSDK-206](https://imfusion.atlassian.net/browse/WEBSDK-206)).
|
|
238
|
+
- Docs and Storybook — Nikolaus Brunner <brunner@imfusion.com>
|
|
239
|
+
- Markdown tables render through the styled Web UI table components.
|
|
240
|
+
- The preview keeps the docs background in dark mode while pages load and switch ([WEBSDK-206](https://imfusion.atlassian.net/browse/WEBSDK-206)).
|
|
241
|
+
- The story frame fits the docs column: its border stays visible and the canvas does not scroll sideways on wide displays.
|
|
242
|
+
- The usage and styling examples give a wrapped `Switch.Root` its `data-imf-ui-component` attribute ([WEBSDK-206](https://imfusion.atlassian.net/browse/WEBSDK-206)).
|
|
243
|
+
- Agent skills — Nikolaus Brunner <brunner@imfusion.com>
|
|
244
|
+
- Consumer skills load the UX skill for new forms and check CSS token names against the package before use ([WEBSDK-218](https://imfusion.atlassian.net/browse/WEBSDK-218)).
|
|
245
|
+
- `imf-web-ui-audit` dispatches an investigator per topic before reading any topic inline, uses the investigators'
|
|
246
|
+
evidence without re-checking it, keeps every finding in the report contract's shape, and files working code that
|
|
247
|
+
differs from a convention as a deviation ([WEBSDK-218](https://imfusion.atlassian.net/browse/WEBSDK-218)).
|
|
248
|
+
- The router sends broken-install and library-choice questions to the skill that answers them, and `imf-web-ui-setup`
|
|
249
|
+
stays on the topic it was asked about.
|
|
250
|
+
- `imf-web-ui-ux` asks a question before recommending on a vague request and builds a fully specified one without asking.
|
|
251
|
+
- `imf-web-ui-components` starts every lookup at the component index, even for a component it already knows.
|
|
252
|
+
- `imf-web-ui-update` stops on any uncommitted work before it installs or writes anything.
|
|
253
|
+
- The `imf-web-ui-conventions` audit checklist lists only sections the React topic has ([WEBSDK-206](https://imfusion.atlassian.net/browse/WEBSDK-206)).
|
|
254
|
+
- The format-on-edit agent hook runs Prettier from the edited file's own worktree, so a worktree's `.prettierignore` applies. — Nikolaus Brunner <brunner@imfusion.com>
|
|
255
|
+
|
|
256
|
+
---
|
|
257
|
+
|
|
258
|
+
## `0.6.3` 2026.09.03
|
|
259
|
+
|
|
260
|
+
### Changed
|
|
261
|
+
|
|
262
|
+
- The npm banner image has fixed dimensions. — Nikolaus Brunner <brunner@imfusion.com>
|
|
263
|
+
- The release steps live in the release docs instead of the README. — Nikolaus Brunner <brunner@imfusion.com>
|
|
264
|
+
|
|
265
|
+
---
|
|
266
|
+
|
|
267
|
+
## `0.6.2` 2026.09.03
|
|
268
|
+
|
|
269
|
+
### Fixed
|
|
270
|
+
|
|
271
|
+
- The npm package banner and public metadata render correctly ([WEBSDK-224](https://imfusion.atlassian.net/browse/WEBSDK-224)). — Nikolaus Brunner <brunner@imfusion.com>
|
|
272
|
+
|
|
273
|
+
### Changed
|
|
274
|
+
|
|
275
|
+
- The docs describe the manual release procedure. — Nikolaus Brunner <brunner@imfusion.com>
|
|
276
|
+
- The remaining release hints move from the README to the release docs. — Nikolaus Brunner <brunner@imfusion.com>
|
|
277
|
+
|
|
278
|
+
---
|
|
279
|
+
|
|
280
|
+
## `0.6.1` 2026.09.02
|
|
281
|
+
|
|
282
|
+
### Highlights
|
|
283
|
+
|
|
284
|
+
#### Public npm package
|
|
285
|
+
|
|
286
|
+
Install `@imfusion/web-ui` from npm without a registry token. The package is still pre-1.0 and not meant for production use.
|
|
287
|
+
|
|
288
|
+
#### Toast
|
|
289
|
+
|
|
290
|
+
`WebUIProvider` mounts a Toast provider for stacked, anchored, actionable, and promise-driven notifications.
|
|
291
|
+
|
|
292
|
+
#### Code highlighting
|
|
293
|
+
|
|
294
|
+
CodeHighlight now covers HTML, JavaScript, JSX, Markdown, YAML, SQL, Dockerfile, and TOML.
|
|
295
|
+
|
|
296
|
+
### Added
|
|
297
|
+
|
|
298
|
+
- `@imfusion/web-ui` is on npm, installs without a token, and documents its pre-1.0 status ([WEBSDK-224](https://imfusion.atlassian.net/browse/WEBSDK-224)). — Nikolaus Brunner <brunner@imfusion.com>
|
|
299
|
+
- Stack has a zero-gap option. — Nikolaus Brunner <brunner@imfusion.com>
|
|
300
|
+
- Typo and Code support Base UI render composition ([WEBSDK-221](https://imfusion.atlassian.net/browse/WEBSDK-221)). — Nikolaus Brunner <brunner@imfusion.com>
|
|
301
|
+
- CodeHighlight highlights HTML, JavaScript, JSX, Markdown, YAML, SQL, Dockerfile, and TOML. — Nikolaus Brunner <brunner@imfusion.com>
|
|
302
|
+
- Toast primitive adapted from Base UI, with stacked notifications, anchored feedback, actions, and promise-driven messages; `WebUIProvider` mounts a default provider. — Nikolaus Brunner <brunner@imfusion.com>
|
|
303
|
+
|
|
304
|
+
### Changed
|
|
305
|
+
|
|
306
|
+
- `npm run ci:status` lists recent TeamCity builds. — Nikolaus Brunner <brunner@imfusion.com>
|
|
307
|
+
- Toast viewports have width variants and adjusted typography. — Nikolaus Brunner <brunner@imfusion.com>
|
|
308
|
+
- The surface and status color tokens are retuned. — Nikolaus Brunner <brunner@imfusion.com>
|
|
309
|
+
- Code blocks use the support background token. — Nikolaus Brunner <brunner@imfusion.com>
|
|
310
|
+
- `npm run ci:status` links each TeamCity run. — Nikolaus Brunner <brunner@imfusion.com>
|
|
311
|
+
- CodeHighlight uses TanStack Highlight's GitHub Light and Dark presets for syntax colors ([WEBSDK-222](https://imfusion.atlassian.net/browse/WEBSDK-222)). — Nikolaus Brunner <brunner@imfusion.com>
|
|
312
|
+
- New and updated documentation goes through the `documentation-writer` skill. — Nikolaus Brunner <brunner@imfusion.com>
|
|
313
|
+
- The documentation is rewritten to read more plainly. — Nikolaus Brunner <brunner@imfusion.com>
|
|
314
|
+
- Pre-commit runs focused checks, and the full CI verification runs before each push. — Nikolaus Brunner <brunner@imfusion.com>
|
|
315
|
+
- One command tags and pushes a prepared release commit. — Nikolaus Brunner <brunner@imfusion.com>
|
|
316
|
+
- Tagged release builds can be checked through the optional TeamCity CLI. — Nikolaus Brunner <brunner@imfusion.com>
|
|
317
|
+
|
|
318
|
+
---
|
|
319
|
+
|
|
320
|
+
## `0.6.0` 2026.08.26
|
|
321
|
+
|
|
322
|
+
### Highlights
|
|
323
|
+
|
|
324
|
+
#### Icons
|
|
325
|
+
|
|
326
|
+
Storybook lists all 1,671 bundled Iconoir icons, searchable by name, tag, category, or style. Each tile copies its JSX or
|
|
327
|
+
named import.
|
|
328
|
+
|
|
329
|
+
```tsx
|
|
330
|
+
import { ArrowRight, Icon } from "@imfusion/web-ui/icons";
|
|
331
|
+
|
|
332
|
+
<Icon glyph={ArrowRight} variant="primary" aria-label="Continue" role="img" />;
|
|
333
|
+
```
|
|
334
|
+
|
|
335
|
+
#### Forms
|
|
336
|
+
|
|
337
|
+
- `Field` groups a label, control, validation state, and supporting copy.
|
|
338
|
+
- `Fieldset` groups related controls under a shared legend.
|
|
339
|
+
|
|
340
|
+
#### Code highlighting
|
|
341
|
+
|
|
342
|
+
CodeHighlight renders C++, Python, and CMake snippets.
|
|
343
|
+
|
|
344
|
+
### Breaking
|
|
345
|
+
|
|
346
|
+
- **Breaking:** The consumer skills are renamed around `setup`, `audit`, and `conventions`, two retired skills are removed, and consumers need to rerun `npx web-ui-install`. — Nikolaus Brunner <brunner@imfusion.com>
|
|
347
|
+
- **Breaking:** Three injection hooks (SessionStart, SubagentStart, UserPromptSubmit), registered for both Claude Code and Codex, replace the shipped post-edit lint hook; rerunning `npx web-ui-install --hooks` prunes the retired hook and its registrations. — Nikolaus Brunner <brunner@imfusion.com>
|
|
348
|
+
|
|
349
|
+
### Added
|
|
350
|
+
|
|
351
|
+
- The Web UI icon facade, with searchable iconography docs in Storybook. — Nikolaus Brunner <brunner@imfusion.com>
|
|
352
|
+
- CodeHighlight highlights C++, Python, and CMake. — Nikolaus Brunner <brunner@imfusion.com>
|
|
353
|
+
- A turn-end Stop gate hook blocks an agent turn that edited source files once, until the project's verification is addressed, on Claude Code and Codex. — Nikolaus Brunner <brunner@imfusion.com>
|
|
354
|
+
- Field and Fieldset primitives. — Nikolaus Brunner <brunner@imfusion.com>
|
|
355
|
+
- Readable CSS class names through an opt-in consumer plugin. — Nikolaus Brunner <brunner@imfusion.com>
|
|
356
|
+
- A Web UI update skill and an ImFusion frontend setup skill. — Nikolaus Brunner <brunner@imfusion.com>
|
|
357
|
+
- Automated versioning, release publishing, and a `dev` dist-tag. — Nikolaus Brunner <brunner@imfusion.com>
|
|
358
|
+
- A documented Web UI release workflow. — Nikolaus Brunner <brunner@imfusion.com>
|
|
359
|
+
|
|
360
|
+
### Fixed
|
|
361
|
+
|
|
362
|
+
- Chip's main, support, and minor variants use the right color tokens. — Nikolaus Brunner <brunner@imfusion.com>
|
|
363
|
+
- The peer contract accepts SDK 1.x prereleases as well as stable major 1. — Nikolaus Brunner <brunner@imfusion.com>
|
|
364
|
+
- Storybook token overrides live in URL globals, and hidden localStorage values no longer come back. — Nikolaus Brunner <brunner@imfusion.com>
|
|
365
|
+
- Callout's Title and Description slots keep their size when the content has its own margins. — Ehsan Shafiei <shafiei@imfusion.com>
|
|
366
|
+
- CodeHighlight highlights Python function calls correctly. — Nikolaus Brunner <brunner@imfusion.com>
|
|
367
|
+
- ESLint resolves in worktrees through the main checkout's configuration. — Nikolaus Brunner <brunner@imfusion.com>
|
|
368
|
+
- Teardown finishes when a skill removes its own worktree session. — Nikolaus Brunner <brunner@imfusion.com>
|
|
369
|
+
- Re-running the skill installer skips the target prompt. — Nikolaus Brunner <brunner@imfusion.com>
|
|
370
|
+
- Settings with braced `${CLAUDE_PROJECT_DIR}` get no duplicate hook registrations. — Nikolaus Brunner <brunner@imfusion.com>
|
|
371
|
+
- Type checking covers TypeScript outside `src/`. — Nikolaus Brunner <brunner@imfusion.com>
|
|
372
|
+
|
|
373
|
+
### Changed
|
|
374
|
+
|
|
375
|
+
- Library builds keep declared runtime packages external. — Nikolaus Brunner <brunner@imfusion.com>
|
|
376
|
+
- The full CI verification suite runs before every push. — Nikolaus Brunner <brunner@imfusion.com>
|
|
377
|
+
- Syntax highlighting stays inside the CodeHighlight integration, and Code copies the rendered content. — Nikolaus Brunner <brunner@imfusion.com>
|
|
378
|
+
- The audit skill runs as an orchestrator in plan mode: one cheap investigator per topic gathers evidence, and the merged findings become a plan instead of a report file. — Nikolaus Brunner <brunner@imfusion.com>
|
|
379
|
+
- Every changelog entry names its author and stays on one line. — Nikolaus Brunner <brunner@imfusion.com>
|
|
380
|
+
- The conventions topics are short manifests with rule bullets per section and snippets over prose, and the audit checklist has one checkbox per topic section. — Nikolaus Brunner <brunner@imfusion.com>
|
|
381
|
+
- An agent-tooling conventions topic covers the vendored skills, lifecycle hooks, host registrations, and the Codex trust gate, and the setup and audit skills can select it. — Nikolaus Brunner <brunner@imfusion.com>
|
|
382
|
+
- Consumer projects get a conventions coverage checklist and a full post-setup audit. — Nikolaus Brunner <brunner@imfusion.com>
|
|
383
|
+
- Every Web UI update refreshes the vendored agent hooks. — Nikolaus Brunner <brunner@imfusion.com>
|
|
384
|
+
- Frontend setup assessments are static and reviewable, and cover data and agent tooling. — Nikolaus Brunner <brunner@imfusion.com>
|
|
385
|
+
- The consumer skills build on a shared frontend conventions baseline. — Nikolaus Brunner <brunner@imfusion.com>
|
|
386
|
+
- TanStack Intent guidance lives in the agent setup skill. — Nikolaus Brunner <brunner@imfusion.com>
|
|
387
|
+
- The shipped skills carry updated TanStack Query usage conventions. — Nikolaus Brunner <brunner@imfusion.com>
|
|
388
|
+
- Imports that reach parent directories use the `#/` alias, and lint enforces it. — Nikolaus Brunner <brunner@imfusion.com>
|
|
389
|
+
- The update skill includes a consumer migration audit. — Nikolaus Brunner <brunner@imfusion.com>
|
|
390
|
+
- The Logo README is revised, and Logo has an `oncolor` variant. — Nikolaus Brunner <brunner@imfusion.com>
|
|
391
|
+
- The skills' commit-format guidance is tighter, and the installer prunes removed targets. — Nikolaus Brunner <brunner@imfusion.com>
|
|
392
|
+
- The development skills include the blind alignment findings. — Nikolaus Brunner <brunner@imfusion.com>
|
|
393
|
+
- Web UI commits and ready pull requests require a changelog entry. — Nikolaus Brunner <brunner@imfusion.com>
|
|
394
|
+
- Each development and consumer skill pre-approves the tools it routinely needs. — Nikolaus Brunner <brunner@imfusion.com>
|
|
395
|
+
|
|
396
|
+
---
|
|
397
|
+
|
|
398
|
+
## `0.5.0` 2026.08.03
|
|
399
|
+
|
|
400
|
+
Initial tagged release.
|
package/README.md
CHANGED
|
@@ -70,17 +70,20 @@ npm run git:config
|
|
|
70
70
|
|
|
71
71
|
The main development skills are:
|
|
72
72
|
|
|
73
|
-
| Skill
|
|
74
|
-
|
|
|
75
|
-
| `/web-ui-dev-getting-started`
|
|
76
|
-
| `/web-ui-dev-start`
|
|
77
|
-
| `/web-ui-dev-new-component`
|
|
78
|
-
| `/web-ui-dev-update-component`
|
|
79
|
-
| `/web-ui-dev-design-component`
|
|
80
|
-
| `/web-ui-dev-story`
|
|
81
|
-
| `/web-ui-dev-commit`
|
|
82
|
-
| `/web-ui-dev-
|
|
83
|
-
| `/web-ui-dev-
|
|
84
|
-
| `/web-ui-dev-
|
|
85
|
-
| `/web-ui-dev-
|
|
86
|
-
| `/web-ui-dev-
|
|
73
|
+
| Skill | Use it for |
|
|
74
|
+
| ---------------------------------- | ------------------------------------------------ |
|
|
75
|
+
| `/web-ui-dev-getting-started` | Route a first task based on experience and goal. |
|
|
76
|
+
| `/web-ui-dev-start` | Establish task context and working location. |
|
|
77
|
+
| `/web-ui-dev-new-component` | Add a primitive. |
|
|
78
|
+
| `/web-ui-dev-update-component` | Change an existing primitive. |
|
|
79
|
+
| `/web-ui-dev-design-component` | Apply the ImFusion brand to a component. |
|
|
80
|
+
| `/web-ui-dev-story` | Author a Storybook story. |
|
|
81
|
+
| `/web-ui-dev-commit` | Verify and commit a change. |
|
|
82
|
+
| `/web-ui-dev-changelog` | Write the changelog entry or curate a release. |
|
|
83
|
+
| `/web-ui-dev-release` | Prepare and ship a release. |
|
|
84
|
+
| `/web-ui-dev-audit-docs` | Check docs for drift before a commit. |
|
|
85
|
+
| `/web-ui-dev-llm-framework` | Keep the LLM framework diagrams in sync. |
|
|
86
|
+
| `/web-ui-dev-eval-consumer-skills` | Evaluate the shipped consumer skills. |
|
|
87
|
+
| `/web-ui-dev-claude-design-sync` | Update the design system in Claude Design. |
|
|
88
|
+
| `/web-ui-dev-teardown-worktree` | Remove a finished worktree. |
|
|
89
|
+
| `/web-ui-dev-mcp` | Recover one optional MCP capability. |
|
|
@@ -22,7 +22,7 @@ interface ListProps extends React.ComponentProps<typeof TabsPrimitive.List>, Var
|
|
|
22
22
|
fill?: VariantProps<typeof tabsList>["fill"];
|
|
23
23
|
}
|
|
24
24
|
/** Tabs.List — the strip of Tabs.Tab triggers, plus the sliding Tabs.Indicator. */
|
|
25
|
-
export declare function List({ fill, ...props }: ListProps): import("react/jsx-runtime").JSX.Element;
|
|
25
|
+
export declare function List({ fill, ref, ...props }: ListProps): import("react/jsx-runtime").JSX.Element;
|
|
26
26
|
export declare namespace List {
|
|
27
27
|
var displayName: string;
|
|
28
28
|
}
|
package/dist/index.js
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { t as e } from "./chunk-DmhlhrBa.js";
|
|
2
|
-
import { C as t, S as n, c as r, d as i, l as a, m as o, s, u as c } from "./tabs-
|
|
2
|
+
import { C as t, S as n, c as r, d as i, l as a, m as o, s, u as c } from "./tabs-BS6rqrrA.js";
|
|
3
3
|
import { t as l } from "./meta-j-7HGrWv.js";
|
|
4
4
|
import { At as ee, GT as u, Kv as te, Ma as ne, Na as d, Pm as re, Qt as f, Qv as ie, RA as ae, Wk as oe, Xo as se, aE as ce, hn as le, iv as ue, r as p, rn as de, sn as fe, t as pe, zk as me } from "./icons-CaGCCwG-.js";
|
|
5
5
|
import { a as he, o as ge, r as _e, t as ve } from "./code-D2lwxHgd.js";
|
|
@@ -1,4 +1,4 @@
|
|
|
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-
|
|
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
2
|
import { t as y } from "../meta-j-7HGrWv.js";
|
|
3
3
|
import { cva as b } from "class-variance-authority";
|
|
4
4
|
import { Fragment as x, jsx as S, jsxs as C } from "react/jsx-runtime";
|