@imfusion/web-ui 0.10.1-dev.51.gc342cd5f → 0.10.1-dev.54.g47954adf
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 +5 -0
- package/dist/components/table/table.d.ts +5 -1
- package/dist/index.js +13 -4
- package/dist/style.css +1 -1
- package/package.json +1 -1
- package/src/docgen/doc.gen.json +7 -0
- package/src/llms/skills/imf-web-ui-audit/SKILL.md +4 -2
- package/src/llms/skills/imf-web-ui-conventions/topics/tooling.md +15 -3
- package/src/llms/skills/imf-web-ui-setup/SKILL.md +2 -1
- package/src/llms/skills/imf-web-ui-ux/SKILL.md +22 -0
- package/src/llms/tokens.gen.json +9 -1
package/CHANGELOG.md
CHANGED
|
@@ -60,10 +60,12 @@ never changes the character width, so columns stay aligned. CoFo Sans Mono still
|
|
|
60
60
|
|
|
61
61
|
### Added
|
|
62
62
|
|
|
63
|
+
- `--imf-ui-size-backdrop-edge` (`38%`) and `--imf-ui-size-backdrop-band-height` (`30dvh`) are the public backdrop's geometry tokens. The `imf-web-ui-ux` skill describes the handover. — Nikolaus Brunner <brunner@imfusion.com>
|
|
63
64
|
- `ProductLogo` renders the ImFusion Labels, Suite, and SDK product logos on the `Logo` sizes and color variants. The name is solid by default and cut out of the plate with `cutout`. [Product](src/components/logo/product/product.stories.tsx#Default) — Nikolaus Brunner <brunner@imfusion.com>
|
|
64
65
|
- `imf-web-ui-update` proposes and `imf-web-ui-audit` reports aligning the core runtime packages (React, Base UI, Vite+) with the versions Web UI builds with. — Nikolaus Brunner <brunner@imfusion.com>
|
|
65
66
|
- `localWebUILink()` and a `paths` block in `tsconfig.json` let an app run against a symlinked web-ui checkout with one React and one set of types. `imf-web-ui-setup` proposes both and `imf-web-ui-audit` reports a missing one. — Nikolaus Brunner <brunner@imfusion.com>
|
|
66
67
|
- The shell's navigation toggle sets `aria-controls` from the navbar, and reads the `id` the navbar generates. A consumer `id` on the Navbar is what it points at. — Nikolaus Brunner <brunner@imfusion.com>
|
|
68
|
+
- `Table.Root` takes `density` (`compact`, `comfortable`, `spacious`) for the cell padding. — Nikolaus Brunner <brunner@imfusion.com>
|
|
67
69
|
- `Table.HeaderCell` and `Table.Cell` take `action` for a column of buttons: it shrinks to its content, so the data columns keep the width. — Nikolaus Brunner <brunner@imfusion.com>
|
|
68
70
|
- [`useDisclosure`](src/hooks/use-disclosure.stories.tsx#UseDisclosure) keeps an open state that works controlled or uncontrolled, and returns `open`, `setOpen`, and `toggle`. — Nikolaus Brunner <brunner@imfusion.com>
|
|
69
71
|
- `AppShell.Navbar` and `AppShell.Aside` take `defaultOpen` and keep their own open state when `open` is omitted, and close an uncontrolled drawer when they dock. A controlled `open` is never changed by docking. — Nikolaus Brunner <brunner@imfusion.com>
|
|
@@ -108,6 +110,8 @@ never changes the character width, so columns stay aligned. CoFo Sans Mono still
|
|
|
108
110
|
|
|
109
111
|
### Changed
|
|
110
112
|
|
|
113
|
+
- The `Meter` track is translucent ink (8% `fg-main`), so it stays visible on tinted surfaces such as a selected table row. — Nikolaus Brunner <brunner@imfusion.com>
|
|
114
|
+
- `Table` reads lighter: the header has no band, its mono labels are muted with a 1px rule under them, body rows have no rules, and cells get more vertical padding. A selected row sits one neutral step darker than a hovered row, in place of the primary tint. — Nikolaus Brunner <brunner@imfusion.com>
|
|
111
115
|
- [`AppShell.Header`](src/components/app-shell/app-shell.mdx) is a page row that shows at every width, below the shell's bar on mobile. — Nikolaus Brunner <brunner@imfusion.com>
|
|
112
116
|
- The header pads its inline sides with `--imf-ui-appshell-padding`, so its content lines up with Main's.
|
|
113
117
|
- AppShell — Nikolaus Brunner <brunner@imfusion.com>
|
|
@@ -150,6 +154,7 @@ never changes the character width, so columns stay aligned. CoFo Sans Mono still
|
|
|
150
154
|
|
|
151
155
|
### Fixed
|
|
152
156
|
|
|
157
|
+
- The `tooling` topic, `imf-web-ui-setup` and `imf-web-ui-audit` keep tsconfig `paths` away from Vite: `resolve.tsconfigPaths` or `vite-tsconfig-paths` loaded the React types package as React and broke a build that installs Web UI from the registry. The `#/` alias comes from `imports` in `package.json`. — Nikolaus Brunner <brunner@imfusion.com>
|
|
153
158
|
- The skill staleness hook stays quiet when `@imfusion/web-ui` is a symlinked checkout, whose version never matches the installed skills. — Nikolaus Brunner <brunner@imfusion.com>
|
|
154
159
|
- `Drawer.Popup` draws no focus ring around the whole panel when it takes focus on open; the controls inside keep theirs. — Nikolaus Brunner <brunner@imfusion.com>
|
|
155
160
|
- `Chip` stays on one line within its container's width and ends in an ellipsis when the label doesn't fit. [Chip](src/components/chip/chip.mdx) — Nikolaus Brunner <brunner@imfusion.com>
|
|
@@ -4,8 +4,12 @@ type CellActionProps = {
|
|
|
4
4
|
action?: boolean;
|
|
5
5
|
};
|
|
6
6
|
type HeaderCellProps = React.ComponentProps<"th"> & CellActionProps;
|
|
7
|
+
type RootProps = React.ComponentProps<"table"> & {
|
|
8
|
+
/** Cell padding: `compact` for dense data, `spacious` for a few rows at a glance. */
|
|
9
|
+
density?: "compact" | "comfortable" | "spacious";
|
|
10
|
+
};
|
|
7
11
|
/** Table.Root — the `<table>` element. */
|
|
8
|
-
export declare function Root(props:
|
|
12
|
+
export declare function Root({ density, ...props }: RootProps): import("react/jsx-runtime").JSX.Element;
|
|
9
13
|
export declare namespace Root {
|
|
10
14
|
var displayName: string;
|
|
11
15
|
}
|
package/dist/index.js
CHANGED
|
@@ -3857,6 +3857,8 @@ var Rc = {
|
|
|
3857
3857
|
action: "imf-ui-table-module-action",
|
|
3858
3858
|
body: "imf-ui-table-module-body",
|
|
3859
3859
|
cell: "imf-ui-table-module-cell",
|
|
3860
|
+
densityCompact: "imf-ui-table-module-densityCompact",
|
|
3861
|
+
densitySpacious: "imf-ui-table-module-densitySpacious",
|
|
3860
3862
|
header: "imf-ui-table-module-header",
|
|
3861
3863
|
headerButton: "imf-ui-table-module-headerButton",
|
|
3862
3864
|
headerCell: "imf-ui-table-module-headerCell",
|
|
@@ -3874,15 +3876,22 @@ var Rc = {
|
|
|
3874
3876
|
Row: () => $c,
|
|
3875
3877
|
RowLink: () => nl,
|
|
3876
3878
|
SortableHeaderCell: () => ol
|
|
3877
|
-
}), Bc = g(Z.root
|
|
3879
|
+
}), Bc = g(Z.root, { variants: { density: {
|
|
3880
|
+
compact: Z.densityCompact,
|
|
3881
|
+
comfortable: null,
|
|
3882
|
+
spacious: Z.densitySpacious
|
|
3883
|
+
} } }), Vc = g(Z.header), Hc = g(Z.body), Uc = g(Z.row), Wc = { action: {
|
|
3878
3884
|
false: null,
|
|
3879
3885
|
true: Z.action
|
|
3880
3886
|
} }, Gc = g(Z.headerCell, { variants: Wc }), Kc = g(Z.cell, { variants: Wc }), qc = g(Z.rowLink), Jc = g(Z.headerButton), Yc = g(Z.sortIndicator);
|
|
3881
|
-
function Xc(e) {
|
|
3887
|
+
function Xc({ density: e = "comfortable", ...t }) {
|
|
3882
3888
|
return /* @__PURE__ */ v("table", {
|
|
3883
|
-
...
|
|
3889
|
+
...t,
|
|
3884
3890
|
"data-imf-ui-component": "Table.Root",
|
|
3885
|
-
className: Bc({
|
|
3891
|
+
className: Bc({
|
|
3892
|
+
density: e,
|
|
3893
|
+
className: t.className
|
|
3894
|
+
})
|
|
3886
3895
|
});
|
|
3887
3896
|
}
|
|
3888
3897
|
Xc.displayName = "Table.Root";
|