@imfusion/web-ui 0.8.1-dev.46.g027b5df2 → 0.8.1-dev.48.g0dad5878

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 CHANGED
@@ -64,6 +64,8 @@ workflows already ask for stay as they are. Say "change my profile" to answer ag
64
64
  range.
65
65
  - `FrameSelection`, from `@imfusion/web-ui/integrations/frame-selection`, steps through the frames of ImFusion Web SDK
66
66
  image sets with a position slider and a current-of-total readout.
67
+ - `IconButton` is a square `Button` that shows a single icon and no visible text. `label` sets its accessible name, the
68
+ glyph size follows the button size, and `iconProps` passes props such as `strokeWidth` to the icon.
67
69
  - AppShell ([WEBSDK-243](https://imfusion.atlassian.net/browse/WEBSDK-243)) — Nikolaus Brunner <brunner@imfusion.com>
68
70
  - `AppShell.Navbar` has a `variant` prop: `default` or `branded`, a rail filled with the primary color.
69
71
  - `AppShell.Burger` toggles the navbar drawer with three sheared bands that align on hover and cross when open.
@@ -128,6 +130,7 @@ workflows already ask for stay as they are. Say "change my profile" to answer ag
128
130
  - The toolchain is Vite+: `vp build` and `vp test` replace the Vite and Vitest scripts, and Oxlint and Oxfmt replace ESLint and Prettier.
129
131
  - The pre-commit hook runs `vp staged` against the staged state and never rewrites or stages files.
130
132
  - `verify:generated` checks every committed `*.gen.*` file against the sources that produce it. It runs in the pre-commit hook, in `verify:full`, and as a TeamCity step.
133
+ - The pre-push hook runs `verify:fast`, the `verify:full` suite without the builds and tests.
131
134
  - AppShell ([WEBSDK-243](https://imfusion.atlassian.net/browse/WEBSDK-243)) — Nikolaus Brunner <brunner@imfusion.com>
132
135
  - The navbar sits on the support background by default.
133
136
  - The navbar variants set the navbar's text color: `fg-main` by default, `fg-oncolor` when branded.
package/README.md CHANGED
@@ -71,7 +71,8 @@ needs its own `node_modules`; the hooks stop with "run npm ci" without one.
71
71
  The pre-commit hook runs `vp staged` against the staged state: it lints and format-checks the repository, checks that every
72
72
  generated `*.gen.*` file matches its sources (`npm run verify:generated`), and runs the pinned-dependency, Knip, type-check,
73
73
  and TeamCity DSL checks when their inputs are staged. It never rewrites or stages files; on failure it restores the working
74
- tree and prints what to fix. The pre-push hook runs `npm run verify:full`. The
74
+ tree and prints what to fix. The pre-push hook runs `npm run verify:fast`, the CI suite without the builds and tests; the
75
+ agent commit and landing skills run `npm run verify:full`. The
75
76
  [`web-ui-dev-getting-started`](./.agents/skills/web-ui-dev-getting-started/SKILL.md) skill can route a first task.
76
77
 
77
78
  The main development skills are:
@@ -0,0 +1,19 @@
1
+ import { Button } from '../button';
2
+ import { Icon, IconComponent } from '../icon';
3
+ interface Props extends Omit<React.ComponentProps<typeof Button>, "children" | "startIcon" | "endIcon"> {
4
+ /** Icon component imported from `@imfusion/web-ui/icons`. */
5
+ glyph: IconComponent;
6
+ /** Accessible name; the button renders no visible text. */
7
+ label: string;
8
+ /** Props for the inner Icon, such as `strokeWidth` or a `size` override. */
9
+ iconProps?: Omit<React.ComponentProps<typeof Icon>, "glyph">;
10
+ }
11
+ /**
12
+ * IconButton — a square Button that shows a single Icon. Composes Button, so every Button variant and native attribute
13
+ * passes through.
14
+ */
15
+ export declare function IconButton({ glyph, label, iconProps, size, ...props }: Props): import("react/jsx-runtime").JSX.Element;
16
+ export declare namespace IconButton {
17
+ var displayName: string;
18
+ }
19
+ export {};
@@ -0,0 +1,2 @@
1
+ import { ComponentMeta } from '../../types/meta';
2
+ export declare const iconButtonMeta: ComponentMeta;
@@ -0,0 +1,2 @@
1
+ export { IconButton } from './icon-button';
2
+ export { iconButtonMeta } from './icon-button.meta';
package/dist/index.d.ts CHANGED
@@ -1,6 +1,7 @@
1
1
  export { Button, buttonMeta } from './components/button';
2
2
  export { ChipLink, chipLinkMeta } from './components/chip-link';
3
3
  export { CopyButton, copyButtonMeta } from './components/copy-button';
4
+ export { IconButton, iconButtonMeta } from './components/icon-button';
4
5
  export { Checkbox, checkboxMeta } from './components/checkbox';
5
6
  export { Field, fieldMeta } from './components/field';
6
7
  export { Fieldset, fieldsetMeta } from './components/fieldset';