@imfusion/web-ui 0.11.1-dev.64.gdd82b76a → 0.11.1-dev.66.g88142bbf
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 +14 -0
- package/dist/components/table/table.d.ts +49 -2
- package/dist/index.js +252 -164
- package/dist/style.css +1 -1
- package/package.json +1 -1
- package/src/docgen/doc.gen.json +334 -1
- package/src/llms/llms.gen.txt +1 -1
- package/src/llms/skills/imf-web-ui-components/SKILL.md +3 -1
package/CHANGELOG.md
CHANGED
|
@@ -4,6 +4,11 @@
|
|
|
4
4
|
|
|
5
5
|
### Added
|
|
6
6
|
|
|
7
|
+
- `Table.SelectCell` and `Table.SelectAllCell` put a row checkbox and a counted select-all checkbox in action columns,
|
|
8
|
+
`Table.Row` takes `disabled` to lock a row (its checkbox, `Table.RowLink` and `Table.RowButton` stop responding), and
|
|
9
|
+
`Table.EmptyRow` spans one muted cell across all columns. Selection state and the counter stay the app's.
|
|
10
|
+
[Table](src/components/table/table.mdx) ([WEBSDK-306](https://imfusion.atlassian.net/browse/WEBSDK-306)) — Nikolaus Brunner
|
|
11
|
+
<brunner@imfusion.com>
|
|
7
12
|
- `Image` is a new picture box over native `<picture>` and `<img>`, with an AVIF and a WebP source and a fallback `<img>`.
|
|
8
13
|
`width` and `height` are required and reserve the box before the image loads. It loads lazily and decodes asynchronously;
|
|
9
14
|
`priority` loads it eagerly with high fetch priority. A soft pulse shows while it loads and a glyph when it fails.
|
|
@@ -77,6 +82,9 @@
|
|
|
77
82
|
(`data-popup-open` with `aria-expanded`). A tooltip does not trigger it. This includes a `Button` passed as `render` to a
|
|
78
83
|
`Popover.Trigger`, `Menu.Trigger`, or `Drawer.Trigger`.
|
|
79
84
|
[Button](src/components/button/button.mdx) — Nikolaus Brunner <brunner@imfusion.com>
|
|
85
|
+
- An action cell that is not the last in its row drops its end padding, so a select gutter sits next to the column after it.
|
|
86
|
+
[Table](src/components/table/table.mdx) ([WEBSDK-306](https://imfusion.atlassian.net/browse/WEBSDK-306)) — Nikolaus Brunner
|
|
87
|
+
<brunner@imfusion.com>
|
|
80
88
|
- `Dialog.Simple` and `Dialog.Inline` without children render no `Dialog.Body`, so the header sits directly on the footer
|
|
81
89
|
without the body's padding between them. [Dialog](src/components/dialog/dialog.mdx)
|
|
82
90
|
([WEBSDK-247](https://imfusion.atlassian.net/browse/WEBSDK-247)) — Nikolaus Brunner <brunner@imfusion.com>
|
|
@@ -188,10 +196,16 @@
|
|
|
188
196
|
- `npm run dev` starts Storybook on the next free port again while another checkout's Storybook runs. — Nikolaus Brunner
|
|
189
197
|
<brunner@imfusion.com>
|
|
190
198
|
- A Storybook sidebar row's status icon stays in place on hover. — Nikolaus Brunner <brunner@imfusion.com>
|
|
199
|
+
- A docs page's `Uses` links open the linked component's page on the hosted Storybook too. — Nikolaus Brunner
|
|
200
|
+
<brunner@imfusion.com>
|
|
191
201
|
- `npm run ci:status` lists queued and running builds beside finished ones. — Nikolaus Brunner <brunner@imfusion.com>
|
|
192
202
|
- Components — Nikolaus Brunner <brunner@imfusion.com>
|
|
193
203
|
- A `Drawer.Close` or `Popover.Close` rendered as another component, such as a `Button`, keeps that component's styles.
|
|
194
204
|
- A `Popover.Trigger` rendered as another component keeps that component's styles, so `render={<Button />}` looks like a Button.
|
|
205
|
+
- `ScrollArea` keeps scrolling inside only along a direction it overflows. Along the other one, the wheel scrolls the
|
|
206
|
+
page. [ScrollArea](src/components/scroll-area/scroll-area.mdx)
|
|
207
|
+
- Components — Ehsan Shafiei <shafiei@imfusion.com>
|
|
208
|
+
- `Code.Block` passes scrolling to the page when the code cannot scroll farther in that direction. [Code](src/components/code/code.mdx)
|
|
195
209
|
- `dist/style.css` opens with the layer order statement (`imf-ui.tokens`, `imf-ui.base`, `imf-ui.components`), so each
|
|
196
210
|
component's own focus style beats the base focus ring and a focused field shows only its primary border.
|
|
197
211
|
([WEBSDK-274](https://imfusion.atlassian.net/browse/WEBSDK-274)) — Nikolaus Brunner <brunner@imfusion.com>
|
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import { useRender } from '@base-ui/react/use-render';
|
|
2
|
+
import { Checkbox } from '../checkbox';
|
|
2
3
|
type CellActionProps = {
|
|
3
4
|
/** Marks an action column: it shrinks to its content and keeps it on one line. */
|
|
4
5
|
action?: boolean;
|
|
@@ -23,8 +24,12 @@ export declare function Body(props: React.ComponentProps<"tbody">): import("reac
|
|
|
23
24
|
export declare namespace Body {
|
|
24
25
|
var displayName: string;
|
|
25
26
|
}
|
|
27
|
+
type RowProps = React.ComponentProps<"tr"> & {
|
|
28
|
+
/** Dims the row and takes it out of use: its select checkbox, `RowLink` and `RowButton` stop responding. */
|
|
29
|
+
disabled?: boolean;
|
|
30
|
+
};
|
|
26
31
|
/** Table.Row — a `<tr>` in header or body. */
|
|
27
|
-
export declare function Row(props:
|
|
32
|
+
export declare function Row({ disabled, ...props }: RowProps): import("react/jsx-runtime").JSX.Element;
|
|
28
33
|
export declare namespace Row {
|
|
29
34
|
var displayName: string;
|
|
30
35
|
}
|
|
@@ -48,7 +53,8 @@ export declare namespace RowLink {
|
|
|
48
53
|
}
|
|
49
54
|
/**
|
|
50
55
|
* Table.RowButton — a `<button>` that stands for its whole row, such as one that opens a drawer. Use it when the row acts
|
|
51
|
-
* instead of navigating; a link that goes to a page is a `Table.RowLink`.
|
|
56
|
+
* instead of navigating; a link that goes to a page is a `Table.RowLink`. In a disabled row it renders `disabled`, which
|
|
57
|
+
* only takes effect when it renders a button.
|
|
52
58
|
*/
|
|
53
59
|
export declare function RowButton({ render, type, ...props }: useRender.ComponentProps<"button">): import('react').ReactElement<unknown, string | import('react').JSXElementConstructor<any>>;
|
|
54
60
|
export declare namespace RowButton {
|
|
@@ -80,4 +86,45 @@ export declare function SortableHeaderCell({ sortDirection, onToggle, children,
|
|
|
80
86
|
export declare namespace SortableHeaderCell {
|
|
81
87
|
var displayName: string;
|
|
82
88
|
}
|
|
89
|
+
type SelectCellProps = Omit<React.ComponentProps<typeof Checkbox.Root>, "className" | "aria-label"> & {
|
|
90
|
+
/** Reaches the `<td>`, not the checkbox. */
|
|
91
|
+
className?: string;
|
|
92
|
+
/** Names the checkbox, such as `Select brain_mr_t1_0142`. */
|
|
93
|
+
"aria-label": string;
|
|
94
|
+
};
|
|
95
|
+
/**
|
|
96
|
+
* Table.SelectCell — a `<td>` action cell holding the row's checkbox. `checked` and `onCheckedChange` belong to the app.
|
|
97
|
+
* `disabled` follows the row's `disabled` unless set.
|
|
98
|
+
*/
|
|
99
|
+
export declare function SelectCell({ className, disabled, ...props }: SelectCellProps): import("react/jsx-runtime").JSX.Element;
|
|
100
|
+
export declare namespace SelectCell {
|
|
101
|
+
var displayName: string;
|
|
102
|
+
}
|
|
103
|
+
type SelectAllCellProps = Omit<React.ComponentProps<typeof Checkbox.Root>, "className" | "children" | "aria-label" | "aria-labelledby"> & {
|
|
104
|
+
/** Reaches the `<th>`, not the checkbox. */
|
|
105
|
+
className?: string;
|
|
106
|
+
/** Number of columns the cell spans, such as the select and thumbnail columns. */
|
|
107
|
+
colSpan?: number;
|
|
108
|
+
/** The counter beside the checkbox, such as `2/4`. The app computes it. */
|
|
109
|
+
children?: React.ReactNode;
|
|
110
|
+
/** Names the checkbox for assistive tech; the counter follows it. */
|
|
111
|
+
label?: string;
|
|
112
|
+
};
|
|
113
|
+
/**
|
|
114
|
+
* Table.SelectAllCell — a `<th>` action cell with the select-all checkbox. The checkbox is named by `label` plus the
|
|
115
|
+
* counter. `disabled` follows the row's `disabled` unless set.
|
|
116
|
+
*/
|
|
117
|
+
export declare function SelectAllCell({ className, colSpan, children, label, disabled, ...props }: SelectAllCellProps): import("react/jsx-runtime").JSX.Element;
|
|
118
|
+
export declare namespace SelectAllCell {
|
|
119
|
+
var displayName: string;
|
|
120
|
+
}
|
|
121
|
+
type EmptyRowProps = React.ComponentProps<"tr"> & {
|
|
122
|
+
/** Number of columns the message spans. */
|
|
123
|
+
colSpan: number;
|
|
124
|
+
};
|
|
125
|
+
/** Table.EmptyRow — a body row with one muted cell across all columns. `children` holds the message and an optional action. */
|
|
126
|
+
export declare function EmptyRow({ colSpan, children, ...props }: EmptyRowProps): import("react/jsx-runtime").JSX.Element;
|
|
127
|
+
export declare namespace EmptyRow {
|
|
128
|
+
var displayName: string;
|
|
129
|
+
}
|
|
83
130
|
export {};
|