@imfusion/web-ui 0.10.1-dev.54.g47954adf → 0.10.1-dev.58.gfb9bd6a3

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
@@ -65,6 +65,7 @@ never changes the character width, so columns stay aligned. CoFo Sans Mono still
65
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>
66
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>
67
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
+ - `Select.ItemDescription` sets a muted second line under an item's text, such as what a role allows; the trigger shows only the item text, and the list keeps the trigger's width so descriptions wrap. — Nikolaus Brunner <brunner@imfusion.com>
68
69
  - `Table.Root` takes `density` (`compact`, `comfortable`, `spacious`) for the cell padding. — Nikolaus Brunner <brunner@imfusion.com>
69
70
  - `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>
70
71
  - [`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>
@@ -154,6 +155,9 @@ never changes the character width, so columns stay aligned. CoFo Sans Mono still
154
155
 
155
156
  ### Fixed
156
157
 
158
+ - `Typo.Hero`, `Typo.H3`, `Typo.H4`, `Typo.Lead`, and `Typo.Blockquote` no longer crowd their letters: `--imf-ui-font-letterspacing-hero` and `--imf-ui-font-letterspacing-brand` scale with the viewport, from about -0.0225em and -0.01em at 360px to -0.025em and -0.02em at 1920px, so pairs like "rt" and "ty" stay apart — Nikolaus Brunner <brunner@imfusion.com>
159
+ - The `Select` popup sits 4px below its trigger by default (`sideOffset` on `Select.Positioner`) and casts a hard shadow (`--imf-ui-shadow-4`). — Nikolaus Brunner <brunner@imfusion.com>
160
+ - An empty `Select.ItemIndicator` draws the `Check` icon in the item's text colour, so it stays visible on the highlighted item. Base UI's fallback was a `✔️` emoji in its own colour. — Nikolaus Brunner <brunner@imfusion.com>
157
161
  - 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>
158
162
  - 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>
159
163
  - `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>
@@ -56,7 +56,7 @@ export declare namespace Backdrop {
56
56
  var displayName: string;
57
57
  }
58
58
  /** Select.Positioner — positions the popup relative to the trigger. */
59
- export declare function Positioner({ align, alignItemWithTrigger, ...props }: React.ComponentProps<typeof SelectPrimitive.Positioner>): import("react/jsx-runtime").JSX.Element;
59
+ export declare function Positioner({ align, alignItemWithTrigger, sideOffset, ...props }: React.ComponentProps<typeof SelectPrimitive.Positioner>): import("react/jsx-runtime").JSX.Element;
60
60
  export declare namespace Positioner {
61
61
  var displayName: string;
62
62
  }
@@ -83,8 +83,8 @@ export declare function Item(props: ItemProps): import("react/jsx-runtime").JSX.
83
83
  export declare namespace Item {
84
84
  var displayName: string;
85
85
  }
86
- /** Select.ItemIndicator — visual marker (e.g. checkmark) inside the selected item. */
87
- export declare function ItemIndicator(props: React.ComponentProps<typeof SelectPrimitive.ItemIndicator>): import("react/jsx-runtime").JSX.Element;
86
+ /** Select.ItemIndicator — marker inside the selected item. Without children it draws a check icon in the item's text colour. */
87
+ export declare function ItemIndicator({ children, ...props }: React.ComponentProps<typeof SelectPrimitive.ItemIndicator>): import("react/jsx-runtime").JSX.Element;
88
88
  export declare namespace ItemIndicator {
89
89
  var displayName: string;
90
90
  }
@@ -93,6 +93,14 @@ export declare function ItemText(props: React.ComponentProps<typeof SelectPrimit
93
93
  export declare namespace ItemText {
94
94
  var displayName: string;
95
95
  }
96
+ /**
97
+ * Select.ItemDescription — a muted second line under an item's text, such as what a role allows. It stays out of the
98
+ * trigger, which shows only `Select.ItemText`.
99
+ */
100
+ export declare function ItemDescription(props: React.ComponentProps<"div">): import("react/jsx-runtime").JSX.Element;
101
+ export declare namespace ItemDescription {
102
+ var displayName: string;
103
+ }
96
104
  /** Select.Group — wrapper around a grouped set of items. */
97
105
  export declare function Group(props: React.ComponentProps<typeof SelectPrimitive.Group>): import("react/jsx-runtime").JSX.Element;
98
106
  export declare namespace Group {