@imfusion/web-ui 0.7.2-dev.6.g1f49e9fa → 0.8.1-dev.1.g11d9ffbe

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.
Files changed (34) hide show
  1. package/CHANGELOG.md +103 -0
  2. package/README.md +32 -0
  3. package/dist/components/account-card/account-card.d.ts +53 -0
  4. package/dist/components/account-card/account-card.meta.d.ts +2 -0
  5. package/dist/components/account-card/index.d.ts +2 -0
  6. package/dist/components/avatar/avatar.d.ts +40 -0
  7. package/dist/components/avatar/avatar.meta.d.ts +2 -0
  8. package/dist/components/avatar/index.d.ts +2 -0
  9. package/dist/components/navigation-menu/subs/link.d.ts +1 -4
  10. package/dist/components/prose/index.d.ts +2 -0
  11. package/dist/components/prose/prose.d.ts +1 -0
  12. package/dist/components/prose/prose.meta.d.ts +2 -0
  13. package/dist/components/separator/separator.d.ts +1 -2
  14. package/dist/components/typo/typo.d.ts +12 -16
  15. package/dist/index.d.ts +3 -0
  16. package/dist/index.js +1358 -1213
  17. package/dist/paths-Oi0v8x-w.js +26 -0
  18. package/dist/style.css +1 -1
  19. package/dist/vite/index.d.ts +1 -0
  20. package/dist/vite/local-web-ui-link.d.ts +8 -0
  21. package/dist/vite.js +32 -17
  22. package/dist/web-ui-cli.js +121 -146
  23. package/docs/user-guide/Changelog.mdx +1 -1
  24. package/package.json +1 -1
  25. package/src/docgen/doc.gen.json +209 -78
  26. package/src/llms/llms.gen.txt +16 -0
  27. package/src/llms/skills/imf-web-ui-conventions/SKILL.md +1 -1
  28. package/src/llms/skills/imf-web-ui-conventions/templates/AUDIT_CHECKLIST.md +5 -4
  29. package/src/llms/skills/imf-web-ui-conventions/topics/library-boundary.md +13 -0
  30. package/src/llms/skills/imf-web-ui-conventions/topics/react.md +1 -1
  31. package/src/llms/skills/imf-web-ui-conventions/topics/styling.md +25 -0
  32. package/src/llms/skills/imf-web-ui-conventions/topics/tooling.md +3 -0
  33. package/src/llms/skills/imf-web-ui-update/SKILL.md +2 -1
  34. package/src/llms/skills/imf-web-ui-ux/SKILL.md +2 -1
package/CHANGELOG.md CHANGED
@@ -4,6 +4,99 @@
4
4
 
5
5
  ### Added
6
6
 
7
+ - Components — Nikolaus Brunner <brunner@imfusion.com>
8
+ - `Avatar` shows a person's photo, their initials, or a person glyph, in three sizes and an on-color context.
9
+ - `AccountCard` links to the signed-in person's account with an avatar, a title, a description, and a trailing action.
10
+
11
+ ---
12
+
13
+ ## `0.8.0` &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 2026.10.01
14
+
15
+ ### Highlights
16
+
17
+ #### The layout owns spacing
18
+
19
+ Web UI components have no outer margin. The parent sets the space between them: `Stack` and `Row` gaps in UI, and the new
20
+ `Prose` for long-form text. A component now sits at the same distance from its neighbours in every layout, where a margin
21
+ used to add to the gap inside a `Stack`, a `Row`, or a card.
22
+
23
+ ```tsx
24
+ import { Callout, Prose, Stack, Typo } from "@imfusion/web-ui";
25
+
26
+ <Stack gap="3">
27
+ <Typo.P>Your study is ready.</Typo.P>
28
+ <Callout.Root>…</Callout.Root>
29
+ </Stack>
30
+
31
+ <Prose>
32
+ <Typo.H2>Export</Typo.H2>
33
+ <Typo.P>Pick a format, then a destination.</Typo.P>
34
+ </Prose>
35
+ ```
36
+
37
+ `Prose` spaces headings, paragraphs, lists, `Code.Block`, `Table.Root`, `Callout.Root`, and `Separator` by their role, and
38
+ its first and last child sit flush with its edges. It is `experimental`. `imf-web-ui-conventions` has a Spacing section,
39
+ `imf-web-ui-audit` checks it, and `imf-web-ui-update` finds the call sites a style-only change touches.
40
+
41
+ #### New and updated components
42
+
43
+ - `Prose` is new. It spaces long-form text and the blocks inside it.
44
+ - Read-only `Input`, `NumberField`, and `Select` share a dashed border, muted text, and no fill, so a locked value reads
45
+ apart from an editable or a disabled one. A read-only search `Input` has no clear button.
46
+ - `NavigationMenu` flyout text and padding scale with the fluid body size, and `NavigationMenu.Link` has no hover arrow.
47
+
48
+ #### Link a local checkout
49
+
50
+ The `localWebUILink` Vite plugin dedupes the library's peer dependencies in an app that links a local Web UI checkout.
51
+
52
+ #### Important fixes
53
+
54
+ - `WebUIProvider` and `useColorScheme` render on the server and hydrate from the stored and OS color scheme.
55
+
56
+ #### Migrating from 0.7
57
+
58
+ Typo members have no margin and no `spacing` prop. Wrap long-form text in `Prose`:
59
+
60
+ ```diff
61
+ - <div>
62
+ + <Prose>
63
+ <Typo.H2>Export</Typo.H2>
64
+ <Typo.P>Pick a format, then a destination.</Typo.P>
65
+ - </div>
66
+ + </Prose>
67
+ ```
68
+
69
+ Delete `spacing="none"`, which is now the only behavior:
70
+
71
+ ```diff
72
+ - <Typo.P spacing="none">Your study is ready.</Typo.P>
73
+ + <Typo.P>Your study is ready.</Typo.P>
74
+ ```
75
+
76
+ `Callout.Root`, `Table.Root`, `Code.Block`, and `Separator` have no margin either. Space them with a gap, or put them inside
77
+ `Prose`:
78
+
79
+ ```diff
80
+ - <div>
81
+ + <Stack gap="3">
82
+ <Callout.Root>…</Callout.Root>
83
+ - <Separator spacing="large" />
84
+ + <Separator />
85
+ <Table.Root>…</Table.Root>
86
+ - </div>
87
+ + </Stack>
88
+ ```
89
+
90
+ ### Breaking
91
+
92
+ - **Breaking:** Web UI components have no outer margin. `Stack` and `Row` gaps space UI, and `Prose` spaces long-form text. — Nikolaus Brunner <brunner@imfusion.com>
93
+ - Block `Typo` members (`Hero`, `H1`–`H4`, `P`, `Lead`, `Blockquote`, and the lists) have no default margin and no
94
+ `spacing` prop.
95
+ - `Callout.Root`, `Table.Root`, and `Code.Block` have no bottom margin.
96
+ - `Separator` has no `spacing` prop.
97
+
98
+ ### Added
99
+
7
100
  - Storybook — Nikolaus Brunner <brunner@imfusion.com>
8
101
  - The token drawer offers Kode Mono as a mono font.
9
102
 
@@ -11,19 +104,29 @@
11
104
 
12
105
  - Components — Nikolaus Brunner <brunner@imfusion.com>
13
106
  - `Drawer` draws its open-edge border at `--imf-ui-border-size-1`.
107
+ - `NavigationMenu.InlineSubmenu` spaces its rail and detail pane with one flyout padding.
14
108
  - Agent skills — Nikolaus Brunner <brunner@imfusion.com>
109
+ - `imf-web-ui-conventions` says when a locked field uses `readOnly`, `disabled`, or plain text.
15
110
  - `imf-web-ui-update` measures the delta from a prerelease baseline by diffing the old package's types and styles.
111
+ - The component and story dev skills name the Storybook CLI command for each lookup and check, and route only pixels, DOM,
112
+ focus, and console checks to Chrome DevTools.
113
+ - `web-ui-dev-new-component` checks existing primitives before any upstream lookup, for a URL or a description, and routes
114
+ a partial match to `web-ui-dev-update-component`.
16
115
 
17
116
  ### Fixed
18
117
 
19
118
  - Storybook — Nikolaus Brunner <brunner@imfusion.com>
20
119
  - Nested sidebar groups and components indent under their parent group.
120
+ - Sidebar components line up with the stories and docs beside them.
121
+ - The showcase keeps a gap between its content and the docked token drawer.
122
+ - The showcase docks the token drawer from the `xl` breakpoint, so its navigation strip fits beside it.
21
123
  - Font choices in the token drawer persist in the URL.
22
124
  - The sidebar and panes stay visible while the sidebar is resized.
23
125
  - The sidebar keeps a minimum width that fits its section labels.
24
126
  - The preview stays dark while a page loads in dark mode.
25
127
  - Agent skills — Nikolaus Brunner <brunner@imfusion.com>
26
128
  - `npx web-ui install skills` formats the skill version markers with the project's Prettier.
129
+ - `imf-web-ui-audit` has a checklist box for every tooling section, including Vite plugins.
27
130
 
28
131
  ---
29
132
 
package/README.md CHANGED
@@ -87,3 +87,35 @@ The main development skills are:
87
87
  | `/web-ui-dev-claude-design-sync` | Update the design system in Claude Design. |
88
88
  | `/web-ui-dev-teardown-worktree` | Remove a finished worktree. |
89
89
  | `/web-ui-dev-mcp` | Recover one optional MCP capability. |
90
+
91
+ ### Work on it from a consumer app
92
+
93
+ To change the library while running an app that uses it, point the app's dependency at your checkout:
94
+
95
+ ```json
96
+ "@imfusion/web-ui": "file:../web-ui"
97
+ ```
98
+
99
+ Run `npm install` in the app, then keep `npm run dev:lib` running here. The package resolves to `dist/`, so the app resolves
100
+ nothing until the first watch build has finished, and sees each later change once the rebuild has written it.
101
+
102
+ npm links the checkout instead of copying it. Without help, the app then loads two copies of React, its own and the one in
103
+ this checkout's `node_modules`, and every hook fails with "Invalid hook call". Register `localWebUILink` in the app's Vite
104
+ config to prevent that:
105
+
106
+ ```ts
107
+ import { localWebUILink } from "@imfusion/web-ui/vite";
108
+
109
+ export default defineConfig({
110
+ plugins: [react(), localWebUILink()]
111
+ });
112
+ ```
113
+
114
+ It dedupes every peer dependency of the library, including `@imfusion/sdk` and `@imfusion/sdk-react`. For an installed
115
+ package it does nothing, so it can stay in the config.
116
+
117
+ It covers the browser in development and in the build. Server rendering, including React Router prerendering, still loads
118
+ dependencies through Node, which picks the checkout's React. Base UI's `use-sync-external-store` dependency is CommonJS, so
119
+ Popover, Select, and other stateful parts can still fail on the server.
120
+
121
+ Change the dependency back before you commit the app.
@@ -0,0 +1,53 @@
1
+ import { useRender } from '@base-ui/react/use-render';
2
+ import { VariantProps } from 'class-variance-authority';
3
+ import * as AvatarParts from '../avatar/avatar';
4
+ declare const root: (props?: ({
5
+ context?: "default" | "oncolor" | null | undefined;
6
+ } & import('class-variance-authority/types').ClassProp) | undefined) => string;
7
+ type RootProps = useRender.ComponentProps<"a"> & VariantProps<typeof root>;
8
+ /**
9
+ * AccountCard.Root — the link to the signed-in person's account, holding `AccountCard.Avatar`, `AccountCard.Title`, and
10
+ * `AccountCard.Description`. Pass a router link through `render`. `aria-current="page"` marks it current with a tint and
11
+ * an inset rule. Its accessible name is the title and description; the avatar stays decorative.
12
+ *
13
+ * Place `AccountCard.Action` beside the root, not inside it: a link cannot contain a button.
14
+ */
15
+ declare function Root({
16
+ /** Explicit saturated-surface context; this is never inferred from an ancestor. */
17
+ context, render, ...props }: RootProps): import("react/jsx-runtime").JSX.Element;
18
+ declare namespace Root {
19
+ var displayName: string;
20
+ }
21
+ type AvatarProps = React.HTMLAttributes<HTMLSpanElement> & {
22
+ /** The person's photo. Until it loads, and when it fails, the initials or the person glyph show instead. */
23
+ src?: string;
24
+ /** The avatar size. */
25
+ size?: React.ComponentProps<typeof AvatarParts.Root>["size"];
26
+ };
27
+ /**
28
+ * AccountCard.Avatar — a decorative `Avatar` in the card's context. Its children are the initials; without them it shows
29
+ * a person glyph.
30
+ */
31
+ declare function Avatar({ src, size, children, ...props }: AvatarProps): import("react/jsx-runtime").JSX.Element;
32
+ declare namespace Avatar {
33
+ var displayName: string;
34
+ }
35
+ /** AccountCard.Title — the account's name, or its email until a name exists. Truncates to one line. */
36
+ declare function Title(props: React.HTMLAttributes<HTMLSpanElement>): import("react/jsx-runtime").JSX.Element;
37
+ declare namespace Title {
38
+ var displayName: string;
39
+ }
40
+ /** AccountCard.Description — a second line such as organization and role. Truncates to one line. */
41
+ declare function Description(props: React.HTMLAttributes<HTMLSpanElement>): import("react/jsx-runtime").JSX.Element;
42
+ declare namespace Description {
43
+ var displayName: string;
44
+ }
45
+ /**
46
+ * AccountCard.Action — a trailing slot beside `AccountCard.Root`, such as a ghost icon `Button` that logs out. The
47
+ * button carries its own `aria-label` and its own `context`.
48
+ */
49
+ declare function Action(props: React.HTMLAttributes<HTMLDivElement>): import("react/jsx-runtime").JSX.Element;
50
+ declare namespace Action {
51
+ var displayName: string;
52
+ }
53
+ export { Root, Avatar, Title, Description, Action };
@@ -0,0 +1,2 @@
1
+ import { ComponentMeta } from '../../types/meta';
2
+ export declare const accountCardMeta: ComponentMeta;
@@ -0,0 +1,2 @@
1
+ export * as AccountCard from './account-card';
2
+ export { accountCardMeta } from './account-card.meta';
@@ -0,0 +1,40 @@
1
+ import { Avatar as AvatarPrimitive } from '@base-ui/react/avatar';
2
+ import { VariantProps } from 'class-variance-authority';
3
+ declare const root: (props?: ({
4
+ size?: "sm" | "md" | "lg" | null | undefined;
5
+ context?: "default" | "oncolor" | null | undefined;
6
+ } & import('class-variance-authority/types').ClassProp) | undefined) => string;
7
+ interface RootProps extends React.ComponentProps<typeof AvatarPrimitive.Root>, VariantProps<typeof root> {
8
+ }
9
+ /**
10
+ * Avatar.Root — a round badge that stands for a person. Also called a profile picture or user badge.
11
+ *
12
+ * Without `aria-label` or `aria-labelledby` it is decorative and hidden from assistive tech, for use next to a visible
13
+ * name. With a label it is announced as an image with that name.
14
+ *
15
+ * @doc https://base-ui.com/react/components/avatar
16
+ * @llm https://base-ui.com/react/components/avatar.md
17
+ */
18
+ declare function Root({ size,
19
+ /** Explicit saturated-surface context; this is never inferred from an ancestor. */
20
+ context, ...props }: RootProps): import("react/jsx-runtime").JSX.Element;
21
+ declare namespace Root {
22
+ var displayName: string;
23
+ }
24
+ /**
25
+ * Avatar.Fallback — the initials the consumer passes, one or two letters. Without children it shows a person glyph.
26
+ * It derives nothing from a name or email.
27
+ */
28
+ declare function Fallback({ children, ...props }: React.ComponentProps<typeof AvatarPrimitive.Fallback>): import("react/jsx-runtime").JSX.Element;
29
+ declare namespace Fallback {
30
+ var displayName: string;
31
+ }
32
+ /**
33
+ * Avatar.Image — the person's photo, cropped to the circle. It shows once `src` has loaded; until then, and when it
34
+ * fails, `Avatar.Fallback` shows instead.
35
+ */
36
+ declare function Image({ alt, ...props }: React.ComponentProps<typeof AvatarPrimitive.Image>): import("react/jsx-runtime").JSX.Element;
37
+ declare namespace Image {
38
+ var displayName: string;
39
+ }
40
+ export { Root, Image, Fallback };
@@ -0,0 +1,2 @@
1
+ import { ComponentMeta } from '../../types/meta';
2
+ export declare const avatarMeta: ComponentMeta;
@@ -0,0 +1,2 @@
1
+ export * as Avatar from './avatar';
2
+ export { avatarMeta } from './avatar.meta';
@@ -4,11 +4,8 @@ import { UpstreamLink } from './shared';
4
4
  * NavigationMenu.Link — a top-strip (rail) link: a peer of `Trigger` for a
5
5
  * section that navigates directly instead of opening a flyout. Renders an `<a>`.
6
6
  * For a link inside a flyout, use `NavigationMenu.FlyoutLink`.
7
- *
8
- * A trailing `ArrowRight` slides in on hover/focus. When a custom `render` is
9
- * supplied the icon is omitted — the consumer's element owns its content.
10
7
  */
11
- export declare function Link({ children, render, ...props }: React.ComponentProps<typeof NavigationMenuPrimitive.Link>): import("react/jsx-runtime").JSX.Element;
8
+ export declare function Link(props: React.ComponentProps<typeof NavigationMenuPrimitive.Link>): import("react/jsx-runtime").JSX.Element;
12
9
  export declare namespace Link {
13
10
  var displayName: string;
14
11
  }
@@ -0,0 +1,2 @@
1
+ export { Prose } from './prose';
2
+ export { proseMeta } from './prose.meta';
@@ -0,0 +1 @@
1
+ export declare function Prose(props: React.HTMLAttributes<HTMLDivElement>): import("react/jsx-runtime").JSX.Element;
@@ -0,0 +1,2 @@
1
+ import { ComponentMeta } from '../../types/meta';
2
+ export declare const proseMeta: ComponentMeta;
@@ -2,7 +2,6 @@ import { Separator as SeparatorPrimitive } from '@base-ui/react/separator';
2
2
  import { VariantProps } from 'class-variance-authority';
3
3
  declare const separator: (props?: ({
4
4
  variant?: "solid" | "dashed" | "dotted" | null | undefined;
5
- spacing?: "none" | "small" | "medium" | "large" | "spacious" | null | undefined;
6
5
  } & import('class-variance-authority/types').ClassProp) | undefined) => string;
7
6
  interface Props extends React.ComponentProps<typeof SeparatorPrimitive>, VariantProps<typeof separator> {
8
7
  }
@@ -12,5 +11,5 @@ interface Props extends React.ComponentProps<typeof SeparatorPrimitive>, Variant
12
11
  * @see https://base-ui.com/react/components/separator
13
12
  * @llm https://base-ui.com/react/components/separator.md
14
13
  */
15
- export declare function Separator({ orientation, variant, spacing, ...props }: Props): import("react/jsx-runtime").JSX.Element;
14
+ export declare function Separator({ orientation, variant, ...props }: Props): import("react/jsx-runtime").JSX.Element;
16
15
  export {};
@@ -4,54 +4,50 @@ import { Code } from '../code';
4
4
  declare const typo: (props?: ({
5
5
  variant?: "primary" | "positive" | "negative" | "oncolor" | "main" | "support" | "minor" | "brand" | "warning" | "info" | "accent-1" | "accent-2" | "accent-3" | null | undefined;
6
6
  } & import('class-variance-authority/types').ClassProp) | undefined) => string;
7
- declare const spacingVariants: (props?: ({
8
- spacing?: "none" | "default" | null | undefined;
9
- } & import('class-variance-authority/types').ClassProp) | undefined) => string;
10
7
  type TypoProps = VariantProps<typeof typo>;
11
- type SpacingProps = VariantProps<typeof spacingVariants>;
12
- type HeadingProps = useRender.ComponentProps<"h1"> & TypoProps & SpacingProps;
8
+ type HeadingProps = useRender.ComponentProps<"h1"> & TypoProps;
13
9
  type LongHeadingProps = HeadingProps & {
14
10
  /** Whether lines after the first use a translucent text color. */
15
11
  fadeAfterFirstLine?: boolean;
16
12
  };
17
- type ParagraphProps = useRender.ComponentProps<"p"> & TypoProps & SpacingProps;
13
+ type ParagraphProps = useRender.ComponentProps<"p"> & TypoProps;
18
14
  export type TypoLinkKind = "external" | "internal";
19
15
  type LinkProps = useRender.ComponentProps<"a"> & TypoProps & {
20
16
  /** Link target scope. `"external"` (default) opens in a new tab; `"internal"` stays in the current tab. */
21
17
  kind?: TypoLinkKind;
22
18
  };
23
19
  /** Typo.Hero — oversized page heading. */
24
- export declare function Hero({ variant, spacing, fadeAfterFirstLine, render, ...props }: LongHeadingProps): import('react').ReactElement<unknown, string | import('react').JSXElementConstructor<any>>;
20
+ export declare function Hero({ variant, fadeAfterFirstLine, render, ...props }: LongHeadingProps): import('react').ReactElement<unknown, string | import('react').JSXElementConstructor<any>>;
25
21
  export declare namespace Hero {
26
22
  var displayName: string;
27
23
  }
28
24
  /** Typo.H1 — top-level page heading. */
29
- export declare function H1({ variant, spacing, fadeAfterFirstLine, render, ...props }: LongHeadingProps): import('react').ReactElement<unknown, string | import('react').JSXElementConstructor<any>>;
25
+ export declare function H1({ variant, fadeAfterFirstLine, render, ...props }: LongHeadingProps): import('react').ReactElement<unknown, string | import('react').JSXElementConstructor<any>>;
30
26
  export declare namespace H1 {
31
27
  var displayName: string;
32
28
  }
33
29
  /** Typo.H2 — section heading. */
34
- export declare function H2({ variant, spacing, fadeAfterFirstLine, render, ...props }: LongHeadingProps): import('react').ReactElement<unknown, string | import('react').JSXElementConstructor<any>>;
30
+ export declare function H2({ variant, fadeAfterFirstLine, render, ...props }: LongHeadingProps): import('react').ReactElement<unknown, string | import('react').JSXElementConstructor<any>>;
35
31
  export declare namespace H2 {
36
32
  var displayName: string;
37
33
  }
38
34
  /** Typo.H3 — sub-section heading. */
39
- export declare function H3({ variant, spacing, render, ...props }: HeadingProps): import('react').ReactElement<unknown, string | import('react').JSXElementConstructor<any>>;
35
+ export declare function H3({ variant, render, ...props }: HeadingProps): import('react').ReactElement<unknown, string | import('react').JSXElementConstructor<any>>;
40
36
  export declare namespace H3 {
41
37
  var displayName: string;
42
38
  }
43
39
  /** Typo.H4 — minor heading. */
44
- export declare function H4({ variant, spacing, render, ...props }: HeadingProps): import('react').ReactElement<unknown, string | import('react').JSXElementConstructor<any>>;
40
+ export declare function H4({ variant, render, ...props }: HeadingProps): import('react').ReactElement<unknown, string | import('react').JSXElementConstructor<any>>;
45
41
  export declare namespace H4 {
46
42
  var displayName: string;
47
43
  }
48
44
  /** Typo.P — body paragraph. */
49
- export declare function P({ variant, spacing, render, ...props }: ParagraphProps): import('react').ReactElement<unknown, string | import('react').JSXElementConstructor<any>>;
45
+ export declare function P({ variant, render, ...props }: ParagraphProps): import('react').ReactElement<unknown, string | import('react').JSXElementConstructor<any>>;
50
46
  export declare namespace P {
51
47
  var displayName: string;
52
48
  }
53
49
  /** Typo.Lead — emphasised intro paragraph. */
54
- export declare function Lead({ variant, spacing, render, ...props }: ParagraphProps): import('react').ReactElement<unknown, string | import('react').JSXElementConstructor<any>>;
50
+ export declare function Lead({ variant, render, ...props }: ParagraphProps): import('react').ReactElement<unknown, string | import('react').JSXElementConstructor<any>>;
55
51
  export declare namespace Lead {
56
52
  var displayName: string;
57
53
  }
@@ -66,7 +62,7 @@ export declare namespace Small {
66
62
  var displayName: string;
67
63
  }
68
64
  /** Typo.Blockquote — pulled quotation. */
69
- export declare function Blockquote({ variant, spacing, render, ...props }: useRender.ComponentProps<"blockquote"> & TypoProps & SpacingProps): import('react').ReactElement<unknown, string | import('react').JSXElementConstructor<any>>;
65
+ export declare function Blockquote({ variant, render, ...props }: useRender.ComponentProps<"blockquote"> & TypoProps): import('react').ReactElement<unknown, string | import('react').JSXElementConstructor<any>>;
70
66
  export declare namespace Blockquote {
71
67
  var displayName: string;
72
68
  }
@@ -89,12 +85,12 @@ export declare namespace Link {
89
85
  var displayName: string;
90
86
  }
91
87
  /** Typo.OrderedList — numbered list. */
92
- export declare function OrderedList({ variant, spacing, render, ...props }: useRender.ComponentProps<"ol"> & TypoProps & SpacingProps): import('react').ReactElement<unknown, string | import('react').JSXElementConstructor<any>>;
88
+ export declare function OrderedList({ variant, render, ...props }: useRender.ComponentProps<"ol"> & TypoProps): import('react').ReactElement<unknown, string | import('react').JSXElementConstructor<any>>;
93
89
  export declare namespace OrderedList {
94
90
  var displayName: string;
95
91
  }
96
92
  /** Typo.UnorderedList — bulleted list. */
97
- export declare function UnorderedList({ variant, spacing, render, ...props }: useRender.ComponentProps<"ul"> & TypoProps & SpacingProps): import('react').ReactElement<unknown, string | import('react').JSXElementConstructor<any>>;
93
+ export declare function UnorderedList({ variant, render, ...props }: useRender.ComponentProps<"ul"> & TypoProps): import('react').ReactElement<unknown, string | import('react').JSXElementConstructor<any>>;
98
94
  export declare namespace UnorderedList {
99
95
  var displayName: string;
100
96
  }
package/dist/index.d.ts CHANGED
@@ -15,9 +15,12 @@ export { AppShell, appShellMeta } from './components/app-shell';
15
15
  export { Card, cardMeta } from './components/card';
16
16
  export { Drawer, drawerMeta } from './components/drawer';
17
17
  export { Popover, popoverMeta } from './components/popover';
18
+ export { Prose, proseMeta } from './components/prose';
18
19
  export { Row, rowMeta } from './components/row';
19
20
  export { Separator, separatorMeta } from './components/separator';
20
21
  export { Stack, stackMeta } from './components/stack';
22
+ export { AccountCard, accountCardMeta } from './components/account-card';
23
+ export { Avatar, avatarMeta } from './components/avatar';
21
24
  export { Callout, calloutMeta } from './components/callout';
22
25
  export { Chip, chipMeta } from './components/chip';
23
26
  export { Code, codeMeta } from './components/code';