@imfusion/web-ui 0.8.1-dev.6.g254fcc45 → 0.8.1-dev.64.gbde1f63f

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 (97) hide show
  1. package/CHANGELOG.md +250 -6
  2. package/README.md +28 -18
  3. package/THIRD_PARTY_NOTICES.md +34 -0
  4. package/dist/{code-D2lwxHgd.js → code-BYkr5k55.js} +13 -13
  5. package/dist/codegen/gen-icons.d.ts +29 -4
  6. package/dist/codegen/sharpen-icon.d.ts +11 -0
  7. package/dist/components/account-card/account-card.d.ts +9 -9
  8. package/dist/components/app-shell/app-shell.d.ts +59 -34
  9. package/dist/components/avatar/avatar.d.ts +1 -1
  10. package/dist/components/button/button.d.ts +14 -7
  11. package/dist/components/callout/callout.d.ts +4 -4
  12. package/dist/components/card/card.d.ts +21 -7
  13. package/dist/components/chip/chip.cva.d.ts +1 -1
  14. package/dist/components/chip/chip.d.ts +1 -1
  15. package/dist/components/chip-link/chip-link.d.ts +1 -1
  16. package/dist/components/code/code.d.ts +1 -1
  17. package/dist/components/field/field.d.ts +5 -2
  18. package/dist/components/icon/icon.d.ts +1 -1
  19. package/dist/components/icon-button/icon-button.d.ts +19 -0
  20. package/dist/components/icon-button/icon-button.meta.d.ts +2 -0
  21. package/dist/components/icon-button/index.d.ts +2 -0
  22. package/dist/components/kbd/aria-key-shortcuts.d.ts +5 -0
  23. package/dist/components/kbd/index.d.ts +2 -0
  24. package/dist/components/kbd/kbd.d.ts +14 -0
  25. package/dist/components/kbd/kbd.meta.d.ts +2 -0
  26. package/dist/components/logo/logo.d.ts +3 -3
  27. package/dist/components/meter/index.d.ts +2 -0
  28. package/dist/components/meter/meter.d.ts +33 -0
  29. package/dist/components/meter/meter.meta.d.ts +2 -0
  30. package/dist/components/navigation-menu/subs/link.d.ts +1 -1
  31. package/dist/components/popover/popover.d.ts +3 -3
  32. package/dist/components/prose/prose.d.ts +1 -1
  33. package/dist/components/row/row.d.ts +3 -3
  34. package/dist/components/skeleton/index.d.ts +2 -0
  35. package/dist/components/skeleton/skeleton.d.ts +47 -0
  36. package/dist/components/skeleton/skeleton.meta.d.ts +2 -0
  37. package/dist/components/slider/slider.d.ts +11 -1
  38. package/dist/components/spinner/spinner.d.ts +1 -1
  39. package/dist/components/stack/stack.d.ts +3 -3
  40. package/dist/components/table/table.d.ts +16 -7
  41. package/dist/components/tabs/tabs.d.ts +1 -1
  42. package/dist/components/toggle/toggle.d.ts +7 -1
  43. package/dist/components/tooltip/tooltip.d.ts +2 -2
  44. package/dist/components/typo/typo.d.ts +21 -12
  45. package/dist/icons/catalog.gen.d.ts +3804 -0
  46. package/dist/icons/create-icon.d.ts +3 -0
  47. package/dist/icons/icon-config-context.d.ts +3 -0
  48. package/dist/icons/icon-config.d.ts +2 -2
  49. package/dist/icons/icons.gen.d.ts +1737 -1672
  50. package/dist/icons-BsK_o-Cb.js +36358 -0
  51. package/dist/icons.js +2 -2
  52. package/dist/index.d.ts +5 -0
  53. package/dist/index.js +2080 -1607
  54. package/dist/integrations/code-highlight.js +6 -4
  55. package/dist/integrations/frame-selection/frame-selection-view.d.ts +24 -0
  56. package/dist/integrations/frame-selection/frame-selection.d.ts +21 -0
  57. package/dist/integrations/frame-selection/frame-selection.meta.d.ts +2 -0
  58. package/dist/integrations/frame-selection/index.d.ts +2 -0
  59. package/dist/integrations/frame-selection.js +121 -0
  60. package/dist/integrations/image-display-options/image-display-options-view.d.ts +1 -1
  61. package/dist/integrations/image-display-options/image-display-options.d.ts +1 -1
  62. package/dist/integrations/image-display-options.js +56 -55
  63. package/dist/llms/evals/runner/config.d.ts +1 -0
  64. package/dist/llms/gen-tokens.d.ts +1 -1
  65. package/dist/{paths-Oi0v8x-w.js → paths-B5Ht3ETc.js} +2 -2
  66. package/dist/separator-lzz4A3x_.js +26 -0
  67. package/dist/slider-Cqpreglu.js +116 -0
  68. package/dist/style.css +1 -1
  69. package/dist/tabs-DRyqtS04.js +358 -0
  70. package/dist/utils/email.d.ts +7 -0
  71. package/dist/utils/status-glyphs.d.ts +4 -0
  72. package/dist/vite.js +2 -2
  73. package/dist/web-ui-cli.js +1 -1
  74. package/docs/user-guide/AgentTooling.mdx +8 -3
  75. package/package.json +38 -38
  76. package/src/docgen/doc.gen.json +1377 -215
  77. package/src/llms/icon-catalog.gen.json +5541 -1671
  78. package/src/llms/llms.gen.txt +29 -2
  79. package/src/llms/skills/imf-web-ui/SKILL.md +3 -1
  80. package/src/llms/skills/imf-web-ui-audit/SKILL.md +18 -4
  81. package/src/llms/skills/imf-web-ui-components/SKILL.md +3 -1
  82. package/src/llms/skills/imf-web-ui-conventions/templates/AUDIT_CHECKLIST.md +3 -2
  83. package/src/llms/skills/imf-web-ui-conventions/topics/authentication.md +2 -1
  84. package/src/llms/skills/imf-web-ui-conventions/topics/data.md +5 -3
  85. package/src/llms/skills/imf-web-ui-conventions/topics/git.md +2 -3
  86. package/src/llms/skills/imf-web-ui-conventions/topics/npm-project.md +3 -4
  87. package/src/llms/skills/imf-web-ui-conventions/topics/styling.md +4 -2
  88. package/src/llms/skills/imf-web-ui-conventions/topics/tooling.md +83 -42
  89. package/src/llms/skills/imf-web-ui-setup/SKILL.md +2 -0
  90. package/src/llms/skills/imf-web-ui-update/SKILL.md +42 -7
  91. package/src/llms/skills/imf-web-ui-user-profile/SKILL.md +95 -0
  92. package/src/llms/skills/imf-web-ui-ux/SKILL.md +2 -0
  93. package/src/llms/tokens.gen.json +3 -3
  94. package/dist/icons-CaGCCwG-.js +0 -78
  95. package/dist/tabs-BS6rqrrA.js +0 -398
  96. /package/dist/{meta-j-7HGrWv.js → meta-V_KyLeGn.js} +0 -0
  97. /package/dist/{chunk-DmhlhrBa.js → rolldown-runtime-Dy4uBu1J.js} +0 -0
@@ -1,57 +1,54 @@
1
- /**
2
- * AppShell — application layout shell.
3
- *
4
- * The classic dashboard frame: a fixed header, collapsible navbar/aside
5
- * sidebars, an optional footer, and a scrolling main content area. Also called
6
- * an app layout, application frame, dashboard shell, or sidebar layout.
7
- *
8
- * Composed of seven sub-components used with dot-notation: `AppShell.Root` wraps
9
- * `AppShell.Header`, `AppShell.Navbar`, `AppShell.Aside`, `AppShell.Footer`,
10
- * `AppShell.Main`, and (inside a sidebar) `AppShell.Section`.
11
- *
12
- * Sizing is CSS-driven — override the `--imf-ui-appshell-*` custom properties
13
- * rather than passing dimension props. Below the responsive breakpoints the
14
- * navbar (`md`) and aside (`lg`) become sliding overlays toggled via the `open`
15
- * prop; the consumer wires that to a burger button.
16
- *
17
- * Copied and adapted from Mantine's AppShell; no upstream runtime dependency.
18
- * MIT licensed (see Mantine repo).
19
- *
20
- * @see https://mantine.dev/llms/core-app-shell.md
21
- */
22
- declare function Root(props: React.HTMLAttributes<HTMLDivElement>): import("react/jsx-runtime").JSX.Element;
1
+ import { Button as ButtonPrimitive } from '@base-ui/react/button';
2
+ import { useRender } from '@base-ui/react/use-render';
3
+ import { VariantProps } from 'class-variance-authority';
4
+ declare const navbarSurface: (props?: ({
5
+ variant?: "default" | "branded" | null | undefined;
6
+ } & import('class-variance-authority/types').ClassProp) | undefined) => string;
7
+ declare function Root({ ref, ...props }: React.ComponentProps<"div">): import("react/jsx-runtime").JSX.Element;
23
8
  declare namespace Root {
24
9
  var displayName: string;
25
10
  }
26
- declare function Header(props: React.HTMLAttributes<HTMLElement>): import("react/jsx-runtime").JSX.Element;
11
+ declare function Header(props: React.ComponentProps<"header">): import("react/jsx-runtime").JSX.Element;
27
12
  declare namespace Header {
28
13
  var displayName: string;
29
14
  }
30
- type NavbarProps = React.HTMLAttributes<HTMLElement> & {
31
- /** Whether the mobile overlay is open. Ignored above the `md` breakpoint, where the navbar is always visible. */
15
+ type DrawerProps = {
16
+ /** Whether the drawer is open below the breakpoint. Ignored while the section is docked. */
32
17
  open?: boolean;
18
+ /** Called when the drawer asks to open or close: scrim, swipe, or Escape. */
19
+ onOpenChange?: (open: boolean) => void;
33
20
  };
34
- declare function Navbar({ open, ...props }: NavbarProps): import("react/jsx-runtime").JSX.Element;
21
+ type NavbarProps = React.ComponentProps<"nav"> & VariantProps<typeof navbarSurface> & DrawerProps;
22
+ /**
23
+ * `variant="branded"` paints the primary color; children opt into on-color themselves. Below `md` the navbar opens as a
24
+ * drawer from the inline end.
25
+ */
26
+ declare function Navbar({ variant, open, onOpenChange, ...props }: NavbarProps): import("react/jsx-runtime").JSX.Element;
35
27
  declare namespace Navbar {
36
28
  var displayName: string;
37
29
  }
38
- type AsideProps = React.HTMLAttributes<HTMLElement> & {
39
- /** Whether the mobile overlay is open. Ignored above the `lg` breakpoint, where the aside is always visible. */
40
- open?: boolean;
30
+ type AsideProps = React.ComponentProps<"aside"> & DrawerProps & {
31
+ /** Adds a drag handle on the inline-start edge from the `lg` breakpoint up. Double-click or Home restores the default width. */
32
+ resizable?: boolean;
33
+ /** Called with the new width in px when a drag ends, on each arrow-key step, and on reset. */
34
+ onWidthChange?: (width: number) => void;
35
+ /** Accessible name of the drag handle. */
36
+ resizeLabel?: string;
41
37
  };
42
- declare function Aside({ open, ...props }: AsideProps): import("react/jsx-runtime").JSX.Element;
38
+ /** Below `lg` the aside opens as a drawer: from the bottom on phones, from the inline end on tablets. */
39
+ declare function Aside({ open, onOpenChange, resizable, onWidthChange, resizeLabel, children, ...props }: AsideProps): import("react/jsx-runtime").JSX.Element;
43
40
  declare namespace Aside {
44
41
  var displayName: string;
45
42
  }
46
- declare function Footer(props: React.HTMLAttributes<HTMLElement>): import("react/jsx-runtime").JSX.Element;
43
+ declare function Footer(props: React.ComponentProps<"footer">): import("react/jsx-runtime").JSX.Element;
47
44
  declare namespace Footer {
48
45
  var displayName: string;
49
46
  }
50
- declare function Main(props: React.HTMLAttributes<HTMLElement>): import("react/jsx-runtime").JSX.Element;
47
+ declare function Main(props: React.ComponentProps<"main">): import("react/jsx-runtime").JSX.Element;
51
48
  declare namespace Main {
52
49
  var displayName: string;
53
50
  }
54
- type SectionProps = React.HTMLAttributes<HTMLDivElement> & {
51
+ type SectionProps = React.ComponentProps<"div"> & {
55
52
  /** If set, the section expands to fill the remaining space in its sidebar. */
56
53
  grow?: boolean;
57
54
  };
@@ -59,4 +56,32 @@ declare function Section({ grow, ...props }: SectionProps): import("react/jsx-ru
59
56
  declare namespace Section {
60
57
  var displayName: string;
61
58
  }
62
- export { Root, Header, Navbar, Aside, Footer, Main, Section };
59
+ type BurgerProps = React.ComponentProps<typeof ButtonPrimitive> & {
60
+ /** Whether the navigation it controls is open; draws the cross and sets `aria-expanded`. */
61
+ opened?: boolean;
62
+ /** Accessible name. Defaults to "Open navigation" or "Close navigation" from `opened`. */
63
+ label?: string;
64
+ };
65
+ /**
66
+ * AppShell.Burger — the header's menu toggle: three sheared bands that cross when `opened`. Takes its color from the
67
+ * surface and hides from `md` up, where the navbar is docked.
68
+ */
69
+ declare function Burger({ opened, label, className, ...props }: BurgerProps): import("react/jsx-runtime").JSX.Element;
70
+ declare namespace Burger {
71
+ var displayName: string;
72
+ }
73
+ type NavItemProps = useRender.ComponentProps<"a"> & {
74
+ /** Leading icon, decorative. */
75
+ icon?: React.ReactNode;
76
+ /** One line under the label saying what is behind the link. */
77
+ description?: React.ReactNode;
78
+ };
79
+ /**
80
+ * AppShell.NavItem — a navbar link: icon, mono label, and an optional description. Takes its color from the navbar;
81
+ * `aria-current="page"` marks the current page. Pass a router link through `render`.
82
+ */
83
+ declare function NavItem({ icon, description, children, render, ...props }: NavItemProps): import('react').ReactElement<unknown, string | import('react').JSXElementConstructor<any>>;
84
+ declare namespace NavItem {
85
+ var displayName: string;
86
+ }
87
+ export { Root, Header, Navbar, Aside, Footer, Main, Section, Burger, NavItem };
@@ -2,7 +2,7 @@ import { Avatar as AvatarPrimitive } from '@base-ui/react/avatar';
2
2
  import { VariantProps } from 'class-variance-authority';
3
3
  declare const root: (props?: ({
4
4
  size?: "sm" | "md" | "lg" | null | undefined;
5
- context?: "default" | "oncolor" | null | undefined;
5
+ context?: "oncolor" | "default" | null | undefined;
6
6
  } & import('class-variance-authority/types').ClassProp) | undefined) => string;
7
7
  interface RootProps extends React.ComponentProps<typeof AvatarPrimitive.Root>, VariantProps<typeof root> {
8
8
  }
@@ -1,17 +1,24 @@
1
1
  import { Button as ButtonPrimitive } from '@base-ui/react/button';
2
2
  import { VariantProps } from 'class-variance-authority';
3
3
  declare const button: (props?: ({
4
- variant?: "primary" | "secondary" | "positive" | "negative" | "outline" | "ghost" | null | undefined;
4
+ variant?: "primary" | "positive" | "negative" | "secondary" | "outline" | "ghost" | null | undefined;
5
5
  size?: "sm" | "md" | "lg" | "hero" | null | undefined;
6
6
  chamfer?: boolean | null | undefined;
7
- radius?: "sm" | "md" | "lg" | "none" | "round" | null | undefined;
8
- context?: "default" | "oncolor" | null | undefined;
7
+ radius?: "none" | "round" | "sm" | "md" | "lg" | null | undefined;
8
+ context?: "oncolor" | "default" | null | undefined;
9
+ justify?: "center" | "spread" | null | undefined;
9
10
  } & import('class-variance-authority/types').ClassProp) | undefined) => string;
10
- interface Props extends React.ComponentProps<typeof ButtonPrimitive>, VariantProps<typeof button> {
11
- /** Leading slot — typically a label. When present, the label aligns right and the icon pins left. */
11
+ interface Props extends VariantProps<typeof button>, React.ComponentProps<typeof ButtonPrimitive> {
12
+ /** Leading slot, typically an icon. */
12
13
  startIcon?: React.ReactNode;
13
- /** Trailing slot — typically an icon. When present, the label aligns left and the icon pins right. */
14
+ /** Trailing slot, typically an icon. */
14
15
  endIcon?: React.ReactNode;
16
+ /**
17
+ * Key hint shown in the top corner at the end of the line, such as `"S"` or `"Ctrl Z"`. It also sets
18
+ * `aria-keyshortcuts` in its notation (`Control+Z`), which an explicit
19
+ * `aria-keyshortcuts` prop overrides. Display only: bind the key in the app, for example with `useHotkey` from TanStack Hotkeys.
20
+ */
21
+ shortcut?: string;
15
22
  }
16
23
  /**
17
24
  * Button
@@ -21,5 +28,5 @@ interface Props extends React.ComponentProps<typeof ButtonPrimitive>, VariantPro
21
28
  */
22
29
  export declare function Button({ variant, size,
23
30
  /** Explicit saturated-surface context; this is never inferred from an ancestor. */
24
- context, chamfer, radius, startIcon, endIcon, children, ...props }: Props): import("react/jsx-runtime").JSX.Element;
31
+ context, chamfer, radius, justify, startIcon, endIcon, shortcut, children, ...props }: Props): import("react/jsx-runtime").JSX.Element;
25
32
  export {};
@@ -9,7 +9,7 @@ declare const root: (props?: ({
9
9
  * the banner so it reads as a block region, not full container width. A persistent content-flow
10
10
  * element — not a transient Toast, not a modal Alert Dialog.
11
11
  */
12
- declare function Root({ variant, maxWidth, children, ...props }: React.HTMLAttributes<HTMLDivElement> & VariantProps<typeof root>): import("react/jsx-runtime").JSX.Element;
12
+ declare function Root({ variant, maxWidth, children, ...props }: React.ComponentProps<"div"> & VariantProps<typeof root>): import("react/jsx-runtime").JSX.Element;
13
13
  declare namespace Root {
14
14
  var displayName: string;
15
15
  }
@@ -18,17 +18,17 @@ declare namespace Root {
18
18
  * are passed; pass a custom icon as children to override. `aria-hidden` (variant is conveyed by
19
19
  * copy) and inherits colour via `currentColor`.
20
20
  */
21
- declare function Icon({ children, ...props }: React.HTMLAttributes<HTMLSpanElement>): import("react/jsx-runtime").JSX.Element;
21
+ declare function Icon({ children, ...props }: React.ComponentProps<"span">): import("react/jsx-runtime").JSX.Element;
22
22
  declare namespace Icon {
23
23
  var displayName: string;
24
24
  }
25
25
  /** Callout.Title — an optional short heading, set in the semi-mono UPPERCASE technical voice. */
26
- declare function Title(props: React.HTMLAttributes<HTMLDivElement>): import("react/jsx-runtime").JSX.Element;
26
+ declare function Title(props: React.ComponentProps<"div">): import("react/jsx-runtime").JSX.Element;
27
27
  declare namespace Title {
28
28
  var displayName: string;
29
29
  }
30
30
  /** Callout.Description — the message body, set in the editorial (grotesk) body voice. */
31
- declare function Description(props: React.HTMLAttributes<HTMLDivElement>): import("react/jsx-runtime").JSX.Element;
31
+ declare function Description(props: React.ComponentProps<"div">): import("react/jsx-runtime").JSX.Element;
32
32
  declare namespace Description {
33
33
  var displayName: string;
34
34
  }
@@ -1,12 +1,12 @@
1
1
  import { VariantProps } from 'class-variance-authority';
2
2
  declare const root: (props?: ({
3
3
  density?: "compact" | "comfortable" | "spacious" | null | undefined;
4
- variant?: "primary" | "main" | "support" | "minor" | "brand" | null | undefined;
5
- shadow?: "sm" | "md" | "lg" | "none" | null | undefined;
6
- radius?: "sm" | "md" | "lg" | "brand" | null | undefined;
4
+ variant?: "main" | "support" | "minor" | "brand" | "primary" | null | undefined;
5
+ shadow?: "none" | "sm" | "md" | "lg" | null | undefined;
6
+ radius?: "brand" | "sm" | "md" | "lg" | null | undefined;
7
7
  orientation?: "horizontal" | "vertical" | null | undefined;
8
8
  } & import('class-variance-authority/types').ClassProp) | undefined) => string;
9
- type RootProps = React.HTMLAttributes<HTMLDivElement> & VariantProps<typeof root> & {
9
+ type RootProps = React.ComponentProps<"div"> & VariantProps<typeof root> & {
10
10
  /** Draws the hairline border. Applies to the neutral variants only — coloured variants are always borderless. */
11
11
  /** @default true */
12
12
  withBorder?: boolean;
@@ -30,7 +30,7 @@ declare function Root({ density, variant, shadow, radius, orientation, withBorde
30
30
  declare namespace Root {
31
31
  var displayName: string;
32
32
  }
33
- type ImageProps = React.ImgHTMLAttributes<HTMLImageElement> & {
33
+ type ImageProps = React.ComponentProps<"img"> & {
34
34
  /** Width divided by height, or "auto" to use the image's intrinsic ratio. */
35
35
  aspectRatio?: number | "auto";
36
36
  };
@@ -42,7 +42,21 @@ declare function Image({ alt, aspectRatio, style, ...props }: ImageProps): impor
42
42
  declare namespace Image {
43
43
  var displayName: string;
44
44
  }
45
- type SlotProps = React.HTMLAttributes<HTMLDivElement>;
45
+ declare const status: (props?: ({
46
+ variant?: "positive" | "negative" | "warning" | "info" | null | undefined;
47
+ } & import('class-variance-authority/types').ClassProp) | undefined) => string;
48
+ type StatusProps = React.ComponentProps<"div"> & VariantProps<typeof status>;
49
+ /**
50
+ * Card.Status — a tinted slot that marks the card's status with the variant's glyph. Pass
51
+ * children to replace the glyph. Like `Card.Image`, place it first among the slots: a column
52
+ * beside the body in a horizontal card, a band above it in a vertical one. Decorative
53
+ * (`aria-hidden`); the card's text carries the status.
54
+ */
55
+ declare function Status({ variant, children, ...props }: StatusProps): import("react/jsx-runtime").JSX.Element;
56
+ declare namespace Status {
57
+ var displayName: string;
58
+ }
59
+ type SlotProps = React.ComponentProps<"div">;
46
60
  /** Card.Header — the padded title region at the top of the card body. */
47
61
  declare function Header(props: SlotProps): import("react/jsx-runtime").JSX.Element;
48
62
  declare namespace Header {
@@ -62,4 +76,4 @@ declare function Footer(props: SlotProps): import("react/jsx-runtime").JSX.Eleme
62
76
  declare namespace Footer {
63
77
  var displayName: string;
64
78
  }
65
- export { Root, Image, Header, Content, Footer };
79
+ export { Root, Image, Status, Header, Content, Footer };
@@ -4,7 +4,7 @@
4
4
  * avoids cross-component imports between Chip and its siblings.
5
5
  */
6
6
  export declare const chip: (props?: ({
7
- variant?: "primary" | "positive" | "negative" | "main" | "support" | "minor" | "brand" | "warning" | "info" | "accent-1" | "accent-2" | "accent-3" | null | undefined;
7
+ variant?: "main" | "support" | "minor" | "brand" | "primary" | "positive" | "negative" | "warning" | "info" | "accent-1" | "accent-2" | "accent-3" | null | undefined;
8
8
  appearance?: "outline" | "solid" | "subtle" | null | undefined;
9
9
  inline?: boolean | null | undefined;
10
10
  } & import('class-variance-authority/types').ClassProp) | undefined) => string;
@@ -1,6 +1,6 @@
1
1
  import { VariantProps } from 'class-variance-authority';
2
2
  import { chip } from './chip.cva';
3
- type Props = React.HTMLAttributes<HTMLSpanElement> & VariantProps<typeof chip> & {
3
+ type Props = React.ComponentProps<"span"> & VariantProps<typeof chip> & {
4
4
  children: React.ReactNode;
5
5
  };
6
6
  /**
@@ -1,7 +1,7 @@
1
1
  import { chip } from '../chip/chip.cva';
2
2
  import { VariantProps } from 'class-variance-authority';
3
3
  export type ChipLinkKind = "external" | "internal";
4
- type Props = React.AnchorHTMLAttributes<HTMLAnchorElement> & VariantProps<typeof chip> & {
4
+ type Props = React.ComponentProps<"a"> & VariantProps<typeof chip> & {
5
5
  href: string;
6
6
  /** Link target scope. `"external"` (default) opens in a new tab with a diagonal `ArrowUpRight` icon; `"internal"` stays in the current tab with a horizontal `ArrowRight` icon. */
7
7
  kind?: ChipLinkKind;
@@ -30,7 +30,7 @@ export declare function InlineLink({ kind, ...props }: InlineLinkProps): import(
30
30
  export declare namespace InlineLink {
31
31
  var displayName: string;
32
32
  }
33
- type BlockProps = Omit<React.HTMLAttributes<HTMLPreElement>, "children"> & {
33
+ type BlockProps = Omit<React.ComponentProps<"pre">, "children"> & {
34
34
  /** Code content shown in the block. The copy button copies its rendered text. */
35
35
  children: React.ReactNode;
36
36
  /** Language label shown in the corner notch. Omit to hide the notch. */
@@ -29,8 +29,11 @@ export declare function Control(props: React.ComponentProps<typeof FieldPrimitiv
29
29
  export declare namespace Control {
30
30
  var displayName: string;
31
31
  }
32
- /** Field.Error — an inline validation message shown when its match condition fails. */
33
- export declare function Error(props: React.ComponentProps<typeof FieldPrimitive.Error>): import("react/jsx-runtime").JSX.Element;
32
+ /**
33
+ * Field.Error — an inline validation message shown when its match condition fails.
34
+ * It announces itself with `role="alert"`; pass another `role` to quiet it.
35
+ */
36
+ export declare function Error({ role, ...props }: React.ComponentProps<typeof FieldPrimitive.Error>): import("react/jsx-runtime").JSX.Element;
34
37
  export declare namespace Error {
35
38
  var displayName: string;
36
39
  }
@@ -3,7 +3,7 @@ import { IconComponent } from './types';
3
3
  export declare const ICON_VARIANTS: readonly ["inherit", "main", "support", "minor", "brand", "primary", "positive", "negative", "warning", "info", "oncolor", "accent-1", "accent-2", "accent-3"];
4
4
  export type IconVariant = (typeof ICON_VARIANTS)[number];
5
5
  declare const icon: (props?: ({
6
- variant?: "primary" | "positive" | "negative" | "oncolor" | "main" | "inherit" | "support" | "minor" | "brand" | "warning" | "info" | "accent-1" | "accent-2" | "accent-3" | null | undefined;
6
+ variant?: "inherit" | "main" | "support" | "minor" | "brand" | "primary" | "positive" | "negative" | "warning" | "info" | "oncolor" | "accent-1" | "accent-2" | "accent-3" | null | undefined;
7
7
  } & import('class-variance-authority/types').ClassProp) | undefined) => string;
8
8
  type Props = Omit<React.ComponentProps<IconComponent>, "color"> & VariantProps<typeof icon> & {
9
9
  /** Icon component imported from `@imfusion/web-ui/icons`. */
@@ -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" | "justify"> {
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';
@@ -0,0 +1,5 @@
1
+ /**
2
+ * Turns a displayed shortcut such as `"Ctrl Shift Z"` into the `aria-keyshortcuts` form `"Control+Shift+Z"`, which joins
3
+ * the keys of one combination with `+` and reserves spaces for alternatives.
4
+ */
5
+ export declare function toAriaKeyShortcuts(shortcut: string): string | undefined;
@@ -0,0 +1,2 @@
1
+ export { Kbd } from './kbd';
2
+ export { kbdMeta } from './kbd.meta';
@@ -0,0 +1,14 @@
1
+ import { VariantProps } from 'class-variance-authority';
2
+ declare const kbd: (props?: ({
3
+ variant?: "primary" | "flat" | "default" | null | undefined;
4
+ } & import('class-variance-authority/types').ClassProp) | undefined) => string;
5
+ interface Props extends React.ComponentProps<"kbd">, VariantProps<typeof kbd> {
6
+ /** Show a keyboard glyph before the key, to mark it as a shortcut in running text. @default false */
7
+ icon?: boolean;
8
+ }
9
+ /**
10
+ * Kbd — a keyboard key or shortcut, drawn as a keycap tinted from the surrounding text. A combination such as `Ctrl Z` goes
11
+ * in one Kbd. `flat` drops the side face for a hint inside a control.
12
+ */
13
+ export declare function Kbd({ variant, icon, children, ...props }: Props): import("react/jsx-runtime").JSX.Element;
14
+ export {};
@@ -0,0 +1,2 @@
1
+ import { ComponentMeta } from '../../types/meta';
2
+ export declare const kbdMeta: ComponentMeta;
@@ -1,10 +1,10 @@
1
1
  import { ReactNode } from 'react';
2
2
  import { VariantProps } from 'class-variance-authority';
3
3
  declare const logo: (props?: ({
4
- size?: "sm" | "md" | "lg" | "hero" | "xs" | "xl" | "fit" | null | undefined;
5
- variant?: "oncolor" | "main" | "inherit" | "support" | "minor" | "brand" | null | undefined;
4
+ size?: "sm" | "md" | "lg" | "hero" | "xl" | "xs" | "fit" | null | undefined;
5
+ variant?: "inherit" | "main" | "support" | "minor" | "brand" | "oncolor" | null | undefined;
6
6
  } & import('class-variance-authority/types').ClassProp) | undefined) => string;
7
- type Props = Omit<React.HTMLAttributes<HTMLSpanElement>, "children"> & VariantProps<typeof logo> & {
7
+ type Props = Omit<React.ComponentProps<"span">, "children"> & VariantProps<typeof logo> & {
8
8
  /** Logo source — an image URL or inline SVG node. No brand default; see `ImFusionLogo` for the ImFusion mark. */
9
9
  src: string | ReactNode;
10
10
  alt: string;
@@ -0,0 +1,2 @@
1
+ export * as Meter from './meter';
2
+ export { meterMeta } from './meter.meta';
@@ -0,0 +1,33 @@
1
+ import { Meter as MeterPrimitive } from '@base-ui/react/meter';
2
+ /**
3
+ * Meter.Root — read-only measurement of a value within a known range.
4
+ *
5
+ * Without a visible `Meter.Label`, name the meter with `aria-label`.
6
+ *
7
+ * @doc https://base-ui.com/react/components/meter
8
+ * @llm https://base-ui.com/react/components/meter.md
9
+ */
10
+ export declare function Root({ min, max, ...props }: React.ComponentProps<typeof MeterPrimitive.Root>): import("react/jsx-runtime").JSX.Element;
11
+ export declare namespace Root {
12
+ var displayName: string;
13
+ }
14
+ /** Meter.Label — accessible label for the meter. */
15
+ export declare function Label(props: React.ComponentProps<typeof MeterPrimitive.Label>): import("react/jsx-runtime").JSX.Element;
16
+ export declare namespace Label {
17
+ var displayName: string;
18
+ }
19
+ /** Meter.Value — formatted readout of the current value. */
20
+ export declare function Value(props: React.ComponentProps<typeof MeterPrimitive.Value>): import("react/jsx-runtime").JSX.Element;
21
+ export declare namespace Value {
22
+ var displayName: string;
23
+ }
24
+ /** Meter.Track — the full range. */
25
+ export declare function Track(props: React.ComponentProps<typeof MeterPrimitive.Track>): import("react/jsx-runtime").JSX.Element;
26
+ export declare namespace Track {
27
+ var displayName: string;
28
+ }
29
+ /** Meter.Indicator — filled portion of the track up to the value. */
30
+ export declare function Indicator(props: React.ComponentProps<typeof MeterPrimitive.Indicator>): import("react/jsx-runtime").JSX.Element;
31
+ export declare namespace Indicator {
32
+ var displayName: string;
33
+ }
@@ -0,0 +1,2 @@
1
+ import { ComponentMeta } from '../../types/meta';
2
+ export declare const meterMeta: ComponentMeta;
@@ -15,7 +15,7 @@ export declare namespace Link {
15
15
  * Owns the flyout list layout so consumers wrap each card in an `<li>` and add no
16
16
  * layout styling of their own. Renders a `<ul>`.
17
17
  */
18
- export declare function LinkList(props: React.HTMLAttributes<HTMLUListElement>): import("react/jsx-runtime").JSX.Element;
18
+ export declare function LinkList(props: React.ComponentProps<"ul">): import("react/jsx-runtime").JSX.Element;
19
19
  export declare namespace LinkList {
20
20
  var displayName: string;
21
21
  }
@@ -1,11 +1,11 @@
1
1
  import { Popover as PopoverPrimitive } from '@base-ui/react/popover';
2
2
  import { VariantProps } from 'class-variance-authority';
3
3
  declare const popoverTrigger: (props?: ({
4
- variant?: "primary" | "secondary" | "positive" | "negative" | "outline" | "ghost" | null | undefined;
4
+ variant?: "primary" | "positive" | "negative" | "secondary" | "outline" | "ghost" | null | undefined;
5
5
  inline?: boolean | null | undefined;
6
6
  } & import('class-variance-authority/types').ClassProp) | undefined) => string;
7
7
  declare const popoverPopup: (props?: ({
8
- variant?: "primary" | "secondary" | "positive" | "negative" | "outline" | "ghost" | null | undefined;
8
+ variant?: "primary" | "positive" | "negative" | "secondary" | "outline" | "ghost" | null | undefined;
9
9
  } & import('class-variance-authority/types').ClassProp) | undefined) => string;
10
10
  export declare const createHandle: typeof PopoverPrimitive.createHandle;
11
11
  type RootProps<Payload = unknown> = React.ComponentProps<typeof PopoverPrimitive.Root<Payload>>;
@@ -59,7 +59,7 @@ export declare namespace Viewport {
59
59
  var displayName: string;
60
60
  }
61
61
  /** Popover.Eyebrow — small uppercase label above Title, for a category or kicker (e.g. "Glossary definition"). */
62
- export declare function Eyebrow(props: React.HTMLAttributes<HTMLParagraphElement>): import("react/jsx-runtime").JSX.Element;
62
+ export declare function Eyebrow(props: React.ComponentProps<"p">): import("react/jsx-runtime").JSX.Element;
63
63
  export declare namespace Eyebrow {
64
64
  var displayName: string;
65
65
  }
@@ -1 +1 @@
1
- export declare function Prose(props: React.HTMLAttributes<HTMLDivElement>): import("react/jsx-runtime").JSX.Element;
1
+ export declare function Prose(props: React.ComponentProps<"div">): import("react/jsx-runtime").JSX.Element;
@@ -1,11 +1,11 @@
1
1
  import { VariantProps } from 'class-variance-authority';
2
2
  declare const row: (props?: ({
3
3
  gap?: "1" | "2" | "3" | "4" | "5" | "6" | "7" | "8" | "9" | "10" | null | undefined;
4
- align?: "center" | "end" | "start" | "stretch" | null | undefined;
5
- justify?: "center" | "end" | "start" | "between" | "around" | "evenly" | null | undefined;
4
+ align?: "end" | "center" | "start" | "stretch" | null | undefined;
5
+ justify?: "end" | "center" | "start" | "between" | "around" | "evenly" | null | undefined;
6
6
  wrap?: boolean | null | undefined;
7
7
  } & import('class-variance-authority/types').ClassProp) | undefined) => string;
8
- type Props = React.HTMLAttributes<HTMLDivElement> & VariantProps<typeof row> & {
8
+ type Props = React.ComponentProps<"div"> & VariantProps<typeof row> & {
9
9
  /**
10
10
  * Cross-axis alignment. Sets both `align-items` (item alignment within a
11
11
  * row) and `align-content` (row distribution when `wrap` is on). `"stretch"`
@@ -0,0 +1,2 @@
1
+ export * as Skeleton from './skeleton';
2
+ export { skeletonMeta } from './skeleton.meta';
@@ -0,0 +1,47 @@
1
+ import { useRender } from '@base-ui/react/use-render';
2
+ type RootProps = useRender.ComponentProps<"div"> & {
3
+ /** Announced once through a visually hidden status. Pass `""` when something else already speaks for the region. */
4
+ label: string;
5
+ /** `none` holds every bone inside still. */
6
+ animation?: "shimmer" | "none";
7
+ };
8
+ /**
9
+ * Skeleton.Root — marks a region as loading. The view inside renders for real; bones stand in for the data. Sets
10
+ * `aria-busy` and announces `label` once, however many bones it holds.
11
+ */
12
+ declare function Root({ label, animation, render, ...props }: RootProps): import("react/jsx-runtime").JSX.Element;
13
+ declare namespace Root {
14
+ var displayName: string;
15
+ }
16
+ type TextProps = React.ComponentProps<"span"> & {
17
+ /** Width of the bar, capped at the container width. */
18
+ width?: React.CSSProperties["width"];
19
+ /** Number of stacked lines. The last of several is 60% wide. */
20
+ lines?: number;
21
+ };
22
+ /**
23
+ * Skeleton.Text — a text bar exactly one line of the parent's font tall. Place it inside the real Typo element so the
24
+ * row keeps the loaded row's height.
25
+ */
26
+ declare function Text({ width, lines, style, ...props }: TextProps): import("react/jsx-runtime").JSX.Element;
27
+ declare namespace Text {
28
+ var displayName: string;
29
+ }
30
+ type BlockProps = React.ComponentProps<"span"> & ({
31
+ /** `circle` takes its size from `width`, for avatars. */
32
+ shape?: "rect";
33
+ /** Width of the block, capped at the container width. A circle uses it for both sides. */
34
+ width?: React.CSSProperties["width"];
35
+ /** Height of the block. */
36
+ height: React.CSSProperties["height"];
37
+ } | {
38
+ shape: "circle";
39
+ width: React.CSSProperties["width"];
40
+ height?: never;
41
+ });
42
+ /** Skeleton.Block — a sized placeholder for a shaped element such as a meter, chip, or avatar. */
43
+ declare function Block({ width, shape, height, style, ...props }: BlockProps): import("react/jsx-runtime").JSX.Element;
44
+ declare namespace Block {
45
+ var displayName: string;
46
+ }
47
+ export { Root, Text, Block };
@@ -0,0 +1,2 @@
1
+ import { ComponentMeta } from '../../types/meta';
2
+ export declare const skeletonMeta: ComponentMeta;
@@ -1,11 +1,20 @@
1
1
  import { Slider as SliderPrimitive } from '@base-ui/react/slider';
2
+ import { VariantProps } from 'class-variance-authority';
3
+ declare const sliderRoot: (props?: ({
4
+ variant?: "default" | "position" | null | undefined;
5
+ } & import('class-variance-authority/types').ClassProp) | undefined) => string;
6
+ interface RootProps extends React.ComponentProps<typeof SliderPrimitive.Root>, VariantProps<typeof sliderRoot> {
7
+ }
2
8
  /**
3
9
  * Slider.Root — value selector along a continuous or stepped track.
4
10
  *
11
+ * `variant="position"` draws a scrollbar-like trough and bar thumb for picking one position
12
+ * between `min` and `max`, such as a slice or frame; `onValueChange` reports the position.
13
+ *
5
14
  * @doc https://base-ui.com/react/components/slider
6
15
  * @llm https://base-ui.com/react/components/slider.md
7
16
  */
8
- export declare function Root({ value, defaultValue, onValueChange, onValueCommitted, min, max, step, largeStep, minStepsBetweenValues, disabled, orientation, name, form, locale, thumbAlignment, thumbCollisionBehavior, format, ...props }: React.ComponentProps<typeof SliderPrimitive.Root>): import("react/jsx-runtime").JSX.Element;
17
+ export declare function Root({ variant, value, defaultValue, onValueChange, onValueCommitted, min, max, step, largeStep, minStepsBetweenValues, disabled, orientation, name, form, locale, thumbAlignment, thumbCollisionBehavior, format, ...props }: RootProps): import("react/jsx-runtime").JSX.Element;
9
18
  export declare namespace Root {
10
19
  var displayName: string;
11
20
  }
@@ -39,3 +48,4 @@ export declare function Thumb({ index, ...props }: React.ComponentProps<typeof S
39
48
  export declare namespace Thumb {
40
49
  var displayName: string;
41
50
  }
51
+ export {};
@@ -7,7 +7,7 @@ declare const sources: {
7
7
  declare const spinner: (props?: ({
8
8
  size?: "sm" | "md" | "lg" | null | undefined;
9
9
  } & import('class-variance-authority/types').ClassProp) | undefined) => string;
10
- type Props = Omit<React.HTMLAttributes<HTMLSpanElement>, "role"> & VariantProps<typeof spinner> & {
10
+ type Props = Omit<React.ComponentProps<"span">, "role"> & VariantProps<typeof spinner> & {
11
11
  /** Accessible label announced by assistive tech. */
12
12
  label?: string;
13
13
  /**
@@ -1,10 +1,10 @@
1
1
  import { VariantProps } from 'class-variance-authority';
2
2
  declare const stack: (props?: ({
3
3
  gap?: "0" | "1" | "2" | "3" | "4" | "5" | "6" | "7" | "8" | "9" | "10" | null | undefined;
4
- align?: "center" | "end" | "start" | "stretch" | null | undefined;
5
- justify?: "center" | "end" | "start" | "between" | "around" | "evenly" | null | undefined;
4
+ align?: "end" | "center" | "start" | "stretch" | null | undefined;
5
+ justify?: "end" | "center" | "start" | "between" | "around" | "evenly" | null | undefined;
6
6
  } & import('class-variance-authority/types').ClassProp) | undefined) => string;
7
- type Props = React.HTMLAttributes<HTMLDivElement> & VariantProps<typeof stack>;
7
+ type Props = React.ComponentProps<"div"> & VariantProps<typeof stack>;
8
8
  /**
9
9
  * Stack — vertical layout primitive.
10
10
  *