@imfusion/web-ui 0.6.4-dev.8.g41d03f2f → 0.6.4-dev.84.gbfc0d437

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 (139) hide show
  1. package/README.md +19 -55
  2. package/dist/assets/vendors/base-ui.d.ts +2 -3
  3. package/dist/breakpoints/min-width.d.ts +3 -7
  4. package/dist/breakpoints/registry.d.ts +3 -9
  5. package/dist/{code-Ce8uiPsv.js → code-D2lwxHgd.js} +15 -15
  6. package/dist/codegen/gen-breakpoints-css.d.ts +0 -4
  7. package/dist/codegen/gen-token-css.d.ts +0 -2
  8. package/dist/components/app-shell/app-shell.d.ts +7 -11
  9. package/dist/components/button/button.d.ts +7 -12
  10. package/dist/components/callout/callout.d.ts +11 -18
  11. package/dist/components/card/card.d.ts +11 -10
  12. package/dist/components/checkbox/checkbox.d.ts +2 -38
  13. package/dist/components/chip/chip.cva.d.ts +2 -4
  14. package/dist/components/chip/chip.d.ts +1 -1
  15. package/dist/components/code/code.d.ts +2 -2
  16. package/dist/components/collapsible/collapsible.d.ts +4 -35
  17. package/dist/components/copy-button/copy-button.d.ts +1 -1
  18. package/dist/components/drawer/drawer.d.ts +17 -100
  19. package/dist/components/field/field.d.ts +7 -67
  20. package/dist/components/fieldset/fieldset.d.ts +2 -15
  21. package/dist/components/icon/icon.d.ts +2 -2
  22. package/dist/components/input/input.d.ts +2 -8
  23. package/dist/components/logo/imfusion/imfusion.d.ts +2 -5
  24. package/dist/components/logo/imfusion/marks.d.ts +10 -0
  25. package/dist/components/logo/logo.d.ts +3 -3
  26. package/dist/components/navigation-menu/subs/flyout-link.d.ts +5 -19
  27. package/dist/components/navigation-menu/subs/inline-submenu.d.ts +2 -4
  28. package/dist/components/navigation-menu/subs/link.d.ts +6 -23
  29. package/dist/components/navigation-menu/subs/overlay.d.ts +6 -51
  30. package/dist/components/navigation-menu/subs/shared.d.ts +4 -14
  31. package/dist/components/navigation-menu/subs/structure.d.ts +7 -29
  32. package/dist/components/navigation-menu/subs/trigger.d.ts +11 -20
  33. package/dist/components/number-field/index.d.ts +2 -0
  34. package/dist/components/number-field/number-field.d.ts +72 -0
  35. package/dist/components/number-field/number-field.meta.d.ts +2 -0
  36. package/dist/components/popover/popover.d.ts +23 -98
  37. package/dist/components/row/row.d.ts +1 -1
  38. package/dist/components/select/select.d.ts +26 -189
  39. package/dist/components/separator/separator.d.ts +5 -4
  40. package/dist/components/slider/slider.d.ts +7 -77
  41. package/dist/components/spinner/spinner.d.ts +13 -8
  42. package/dist/components/stack/stack.d.ts +3 -4
  43. package/dist/components/switch/switch.d.ts +2 -31
  44. package/dist/components/table/table.d.ts +10 -18
  45. package/dist/components/tabs/tabs.d.ts +18 -52
  46. package/dist/components/toast/toast.d.ts +16 -103
  47. package/dist/components/toggle/toggle.d.ts +3 -21
  48. package/dist/components/toggle-group/toggle-group.d.ts +3 -20
  49. package/dist/components/tooltip/tooltip.d.ts +26 -85
  50. package/dist/components/typo/typo.d.ts +25 -25
  51. package/dist/docgen/gen-docgen.utils.d.ts +3 -4
  52. package/dist/hooks/use-color-scheme.d.ts +5 -11
  53. package/dist/hooks/use-media-query.d.ts +2 -7
  54. package/dist/{icons-Cy1HAosO.js → icons-CaGCCwG-.js} +7 -7
  55. package/dist/icons.js +1 -1
  56. package/dist/index.d.ts +1 -0
  57. package/dist/index.js +1486 -1368
  58. package/dist/integrations/code-highlight/highlighter.d.ts +1 -56
  59. package/dist/integrations/code-highlight.js +41 -189
  60. package/dist/integrations/image-display-options/image-display-options-view.utils.d.ts +0 -1
  61. package/dist/integrations/image-display-options.js +54 -54
  62. package/dist/llms/evals/runner/affected.d.ts +2 -0
  63. package/dist/llms/evals/runner/benchmark.d.ts +12 -0
  64. package/dist/llms/evals/runner/compare.d.ts +2 -0
  65. package/dist/llms/evals/runner/config.d.ts +29 -0
  66. package/dist/llms/evals/runner/evidence.d.ts +7 -0
  67. package/dist/llms/evals/runner/execute.d.ts +32 -0
  68. package/dist/llms/evals/runner/grade.d.ts +10 -0
  69. package/dist/llms/evals/runner/report-md.d.ts +2 -0
  70. package/dist/llms/evals/runner/report.d.ts +4 -0
  71. package/dist/llms/evals/runner/run.d.ts +2 -0
  72. package/dist/llms/evals/runner/scenario.d.ts +3 -0
  73. package/dist/llms/evals/runner/types.d.ts +140 -0
  74. package/dist/llms/evals/runner/workspace.d.ts +2 -0
  75. package/dist/llms/evals/runner/write-generated.d.ts +1 -0
  76. package/dist/provider/web-ui-provider.d.ts +4 -1
  77. package/dist/style.css +1 -1
  78. package/dist/{tabs-DIe1Utiy.js → tabs-By5ir2pt.js} +162 -159
  79. package/dist/tokens/apply.d.ts +4 -9
  80. package/dist/tokens/control-registry.d.ts +3 -6
  81. package/dist/tokens/types.d.ts +7 -24
  82. package/dist/tokens/use-token-controls.d.ts +3 -12
  83. package/dist/types/meta.d.ts +15 -32
  84. package/dist/utils/index.d.ts +1 -0
  85. package/dist/utils/resolve-state-props.d.ts +4 -0
  86. package/dist/vite/brand-assets.d.ts +3 -0
  87. package/dist/vite/index.d.ts +2 -0
  88. package/dist/vite/readable-css-module-names.d.ts +11 -0
  89. package/dist/vite.js +55 -0
  90. package/dist/web-ui-cli.js +322 -0
  91. package/docs/user-guide/AgentTooling.mdx +127 -0
  92. package/docs/user-guide/BrandAssets.mdx +102 -0
  93. package/docs/user-guide/Changelog.mdx +23 -0
  94. package/docs/user-guide/GettingStarted.mdx +70 -0
  95. package/docs/user-guide/HowItsBuilt.mdx +113 -0
  96. package/docs/user-guide/Tokens.mdx +87 -0
  97. package/docs/user-guide/UsagePatterns.mdx +122 -0
  98. package/package.json +27 -22
  99. package/src/assets/public/favicon/apple-touch-icon.png +0 -0
  100. package/src/assets/public/favicon/favicon-16.png +0 -0
  101. package/src/assets/public/favicon/favicon-32.png +0 -0
  102. package/src/assets/public/favicon/favicon.ico +0 -0
  103. package/src/assets/public/favicon/favicon.svg +7 -0
  104. package/src/assets/public/favicon/icon-192.png +0 -0
  105. package/src/assets/public/favicon/icon-512.png +0 -0
  106. package/src/assets/public/favicon/og-image.png +0 -0
  107. package/src/assets/public/spinner/imfusion-spinner-black.webp +0 -0
  108. package/src/assets/public/spinner/imfusion-spinner-blue.webp +0 -0
  109. package/src/assets/public/spinner/imfusion-spinner-white.webp +0 -0
  110. package/src/docgen/doc.gen.json +3255 -603
  111. package/src/llms/install-templates/AGENTS.md +4 -4
  112. package/src/llms/install-templates/hooks/baseline-staleness.sh +9 -2
  113. package/src/llms/llms.gen.txt +7 -1
  114. package/src/llms/skills/imf-web-ui/SKILL.md +44 -21
  115. package/src/llms/skills/imf-web-ui-audit/SKILL.md +25 -11
  116. package/src/llms/skills/imf-web-ui-components/SKILL.md +4 -1
  117. package/src/llms/skills/imf-web-ui-conventions/SKILL.md +2 -2
  118. package/src/llms/skills/imf-web-ui-conventions/templates/AUDIT_CHECKLIST.md +0 -1
  119. package/src/llms/skills/imf-web-ui-conventions/templates/REPORT.md +21 -2
  120. package/src/llms/skills/imf-web-ui-conventions/topics/agent-tooling.md +15 -10
  121. package/src/llms/skills/imf-web-ui-conventions/topics/assets.md +7 -4
  122. package/src/llms/skills/imf-web-ui-conventions/topics/data.md +3 -1
  123. package/src/llms/skills/imf-web-ui-conventions/topics/docs-structure.md +2 -2
  124. package/src/llms/skills/imf-web-ui-conventions/topics/git.md +4 -2
  125. package/src/llms/skills/imf-web-ui-conventions/topics/library-setup.md +10 -1
  126. package/src/llms/skills/imf-web-ui-conventions/topics/styling.md +2 -2
  127. package/src/llms/skills/imf-web-ui-conventions/topics/tokens.md +4 -2
  128. package/src/llms/skills/imf-web-ui-conventions/topics/tooling.md +13 -11
  129. package/src/llms/skills/imf-web-ui-setup/SKILL.md +17 -9
  130. package/src/llms/skills/imf-web-ui-update/SKILL.md +36 -14
  131. package/src/llms/skills/imf-web-ui-ux/SKILL.md +5 -3
  132. package/src/llms/tokens.gen.json +71 -7
  133. package/bin/install.js +0 -446
  134. package/dist/build/vite-css-module-names/index.d.ts +0 -20
  135. package/dist/build/vite-css-module-names.js +0 -17
  136. package/dist/components/spinner/spinner.geometry.d.ts +0 -37
  137. package/dist/integrations/code-highlight/languages/cmake.d.ts +0 -1
  138. package/dist/integrations/code-highlight/languages/cpp.d.ts +0 -1
  139. /package/dist/{meta-CySnRuVp.js → meta-j-7HGrWv.js} +0 -0
@@ -1,90 +1,56 @@
1
1
  import { Tabs as TabsPrimitive } from '@base-ui/react/tabs';
2
- type UpstreamRoot = React.ComponentProps<typeof TabsPrimitive.Root>;
3
- type UpstreamList = React.ComponentProps<typeof TabsPrimitive.List>;
4
- type UpstreamTab = React.ComponentProps<typeof TabsPrimitive.Tab>;
5
- type UpstreamIndicator = React.ComponentProps<typeof TabsPrimitive.Indicator>;
6
- type UpstreamPanel = React.ComponentProps<typeof TabsPrimitive.Panel>;
7
- type RootProps = UpstreamRoot;
2
+ import { VariantProps } from 'class-variance-authority';
3
+ declare const tabsList: (props?: ({
4
+ fill?: boolean | null | undefined;
5
+ } & import('class-variance-authority/types').ClassProp) | undefined) => string;
8
6
  /**
9
7
  * Tabs.Root — container that manages the active tab value and orientation context.
10
8
  *
11
9
  * @see https://base-ui.com/react/components/tabs
12
10
  * @llm https://base-ui.com/react/components/tabs.md
13
11
  */
14
- export declare function Root({ className, ...props }: RootProps): import("react/jsx-runtime").JSX.Element;
12
+ export declare function Root(props: React.ComponentProps<typeof TabsPrimitive.Root>): import("react/jsx-runtime").JSX.Element;
15
13
  export declare namespace Root {
16
14
  var displayName: string;
17
15
  }
18
- type ListProps = Omit<React.HTMLAttributes<HTMLDivElement>, "className"> & {
19
- /** @default false */
20
- activateOnFocus?: UpstreamList["activateOnFocus"];
21
- /** @default true */
22
- loopFocus?: UpstreamList["loopFocus"];
16
+ interface ListProps extends React.ComponentProps<typeof TabsPrimitive.List>, VariantProps<typeof tabsList> {
23
17
  /**
24
18
  * Give every tab an equal share of the list's length (equal width when
25
19
  * horizontal). When vertical, this only takes effect if the list is stretched
26
20
  * to a definite height.
27
- * @default false
28
21
  */
29
- fill?: boolean;
30
- className?: UpstreamList["className"];
31
- render?: UpstreamList["render"];
32
- };
22
+ fill?: VariantProps<typeof tabsList>["fill"];
23
+ }
33
24
  /** Tabs.List — the strip of Tabs.Tab triggers, plus the sliding Tabs.Indicator. */
34
- export declare function List({ fill, className, ...props }: ListProps): import("react/jsx-runtime").JSX.Element;
25
+ export declare function List({ fill, ...props }: ListProps): import("react/jsx-runtime").JSX.Element;
35
26
  export declare namespace List {
36
27
  var displayName: string;
37
28
  }
38
- type TabProps = Omit<React.ButtonHTMLAttributes<HTMLButtonElement>, "className" | "value" | "disabled"> & {
39
- value: UpstreamTab["value"];
40
- /** @default true */
41
- nativeButton?: UpstreamTab["nativeButton"];
42
- disabled?: UpstreamTab["disabled"];
43
- className?: UpstreamTab["className"];
44
- render?: UpstreamTab["render"];
45
- };
46
29
  /** Tabs.Tab — a single trigger. Reads `data-active`/`data-disabled` from Base UI for all visual state. */
47
- export declare function Tab({ className, ...props }: TabProps): import("react/jsx-runtime").JSX.Element;
30
+ export declare function Tab(props: React.ComponentProps<typeof TabsPrimitive.Tab>): import("react/jsx-runtime").JSX.Element;
48
31
  export declare namespace Tab {
49
32
  var displayName: string;
50
33
  }
51
- type IndicatorProps = Omit<React.HTMLAttributes<HTMLSpanElement>, "className"> & {
52
- /** @default false */
53
- renderBeforeHydration?: UpstreamIndicator["renderBeforeHydration"];
54
- className?: UpstreamIndicator["className"];
55
- render?: UpstreamIndicator["render"];
56
- };
57
34
  /**
58
- * Tabs.Indicator — the bordered box marking the active tab, overlapping the
59
- * shared hairline border to visually fuse the active tab with the panel
60
- * frame beneath it. Positioned via the `--active-tab-*` CSS custom
61
- * properties Base UI writes onto it; render once per Tabs.List, after the
62
- * Tabs.Tab list.
35
+ * Tabs.Indicator — the bordered box marking the active tab, positioned via
36
+ * the `--active-tab-*` CSS custom properties Base UI writes onto it. Render
37
+ * once per Tabs.List, after the Tabs.Tab list.
63
38
  */
64
- export declare function Indicator({ className, ...props }: IndicatorProps): import("react/jsx-runtime").JSX.Element;
39
+ export declare function Indicator(props: React.ComponentProps<typeof TabsPrimitive.Indicator>): import("react/jsx-runtime").JSX.Element;
65
40
  export declare namespace Indicator {
66
41
  var displayName: string;
67
42
  }
68
- type PanelViewportProps = React.HTMLAttributes<HTMLDivElement>;
69
43
  /**
70
44
  * Tabs.PanelViewport — the shared frame Tabs.Panel elements render inside.
71
- * No Base UI equivalent exists (upstream leaves this as a plain wrapper div
72
- * in its own reference); we surface it as a named part since its hairline
73
- * border is what Tabs.Indicator visually fuses into.
45
+ * No Base UI equivalent exists; it's surfaced as a named part since its
46
+ * hairline border is what Tabs.Indicator visually fuses into.
74
47
  */
75
- export declare function PanelViewport({ className, ...props }: PanelViewportProps): import("react/jsx-runtime").JSX.Element;
48
+ export declare function PanelViewport(props: React.HTMLAttributes<HTMLDivElement>): import("react/jsx-runtime").JSX.Element;
76
49
  export declare namespace PanelViewport {
77
50
  var displayName: string;
78
51
  }
79
- type PanelProps = Omit<React.HTMLAttributes<HTMLDivElement>, "className"> & {
80
- value: UpstreamPanel["value"];
81
- /** @default false */
82
- keepMounted?: UpstreamPanel["keepMounted"];
83
- className?: UpstreamPanel["className"];
84
- render?: UpstreamPanel["render"];
85
- };
86
52
  /** Tabs.Panel — the content shown for a matching Tabs.Tab value. */
87
- export declare function Panel({ className, ...props }: PanelProps): import("react/jsx-runtime").JSX.Element;
53
+ export declare function Panel(props: React.ComponentProps<typeof TabsPrimitive.Panel>): import("react/jsx-runtime").JSX.Element;
88
54
  export declare namespace Panel {
89
55
  var displayName: string;
90
56
  }
@@ -1,19 +1,8 @@
1
1
  import { Toast as ToastPrimitive } from '@base-ui/react/toast';
2
2
  import { VariantProps } from 'class-variance-authority';
3
- type UpstreamProvider = React.ComponentProps<typeof ToastPrimitive.Provider>;
4
- type UpstreamPortal = React.ComponentProps<typeof ToastPrimitive.Portal>;
5
- type UpstreamViewport = React.ComponentProps<typeof ToastPrimitive.Viewport>;
6
- type UpstreamRoot = React.ComponentProps<typeof ToastPrimitive.Root>;
7
- type UpstreamContent = React.ComponentProps<typeof ToastPrimitive.Content>;
8
- type UpstreamTitle = React.ComponentProps<typeof ToastPrimitive.Title>;
9
- type UpstreamDescription = React.ComponentProps<typeof ToastPrimitive.Description>;
10
- type UpstreamClose = React.ComponentProps<typeof ToastPrimitive.Close>;
11
- type UpstreamAction = React.ComponentProps<typeof ToastPrimitive.Action>;
12
- type UpstreamPositioner = React.ComponentProps<typeof ToastPrimitive.Positioner>;
13
- type UpstreamArrow = React.ComponentProps<typeof ToastPrimitive.Arrow>;
14
3
  declare const toastViewport: (props?: ({
15
4
  position?: "top-left" | "top-center" | "top-right" | "bottom-left" | "bottom-center" | "bottom-right" | null | undefined;
16
- width?: "content" | "default" | "compact" | "wide" | null | undefined;
5
+ width?: "default" | "content" | "compact" | "wide" | null | undefined;
17
6
  } & import('class-variance-authority/types').ClassProp) | undefined) => string;
18
7
  declare const toastRoot: (props?: ({
19
8
  variant?: "warning" | "info" | "neutral" | "success" | "error" | null | undefined;
@@ -30,12 +19,6 @@ export declare const useToastManager: typeof ToastPrimitive.useToastManager;
30
19
  * `toastManager`.
31
20
  */
32
21
  export declare const createToastManager: typeof ToastPrimitive.createToastManager;
33
- type ProviderProps = {
34
- timeout?: UpstreamProvider["timeout"];
35
- limit?: UpstreamProvider["limit"];
36
- toastManager?: UpstreamProvider["toastManager"];
37
- children?: UpstreamProvider["children"];
38
- };
39
22
  /**
40
23
  * Toast.Provider — owns the toast queue for its subtree. Renders no DOM element.
41
24
  *
@@ -45,155 +28,85 @@ type ProviderProps = {
45
28
  * @see https://base-ui.com/react/components/toast
46
29
  * @llm https://base-ui.com/react/components/toast.md
47
30
  */
48
- export declare function Provider({ timeout, limit, ...props }: ProviderProps): import("react/jsx-runtime").JSX.Element;
31
+ export declare function Provider({ timeout, limit, ...props }: React.ComponentProps<typeof ToastPrimitive.Provider>): import("react/jsx-runtime").JSX.Element;
49
32
  export declare namespace Provider {
50
33
  var displayName: string;
51
34
  }
52
- type PortalProps = Omit<React.HTMLAttributes<HTMLDivElement>, "className"> & {
53
- container?: UpstreamPortal["container"];
54
- className?: UpstreamPortal["className"];
55
- render?: UpstreamPortal["render"];
56
- children?: UpstreamPortal["children"];
57
- };
58
35
  /** Toast.Portal — moves the viewport out of the page flow so toasts float above the app. */
59
- export declare function Portal({ className, ...props }: PortalProps): import("react/jsx-runtime").JSX.Element;
36
+ export declare function Portal(props: React.ComponentProps<typeof ToastPrimitive.Portal>): import("react/jsx-runtime").JSX.Element;
60
37
  export declare namespace Portal {
61
38
  var displayName: string;
62
39
  }
63
- type ViewportProps = Omit<React.HTMLAttributes<HTMLDivElement>, "className"> & {
40
+ interface ViewportProps extends React.ComponentProps<typeof ToastPrimitive.Viewport>, VariantProps<typeof toastViewport> {
64
41
  /** Which edge or corner of the screen the stack anchors to. */
65
42
  position?: VariantProps<typeof toastViewport>["position"];
66
43
  /** Width treatment for the toast stack. */
67
44
  width?: VariantProps<typeof toastViewport>["width"];
68
- className?: UpstreamViewport["className"];
69
- render?: UpstreamViewport["render"];
70
- };
45
+ }
71
46
  /**
72
47
  * Toast.Viewport — the fixed layer that holds the stack. Hovering or focusing it
73
48
  * expands the collapsed toasts; it ignores pointer events except on the toasts
74
49
  * themselves so the app underneath stays clickable.
75
50
  */
76
- export declare function Viewport({ className, position, width, ...props }: ViewportProps): import("react/jsx-runtime").JSX.Element;
51
+ export declare function Viewport({ position, width, ...props }: ViewportProps): import("react/jsx-runtime").JSX.Element;
77
52
  export declare namespace Viewport {
78
53
  var displayName: string;
79
54
  }
80
- type RootProps = Omit<React.HTMLAttributes<HTMLDivElement>, "className"> & {
55
+ interface RootProps extends React.ComponentProps<typeof ToastPrimitive.Root>, VariantProps<typeof toastRoot> {
81
56
  /** Semantic treatment for the toast surface. */
82
57
  variant?: VariantProps<typeof toastRoot>["variant"];
83
- /** The toast object from the manager's `toasts` array. */
84
- toast: UpstreamRoot["toast"];
85
- /** @default ['down', 'right'] */
86
- swipeDirection?: UpstreamRoot["swipeDirection"];
87
- className?: UpstreamRoot["className"];
88
- render?: UpstreamRoot["render"];
89
- };
58
+ }
90
59
  /**
91
60
  * Toast.Root — one toast surface. Carries the upstream state as data attributes
92
61
  * (`data-starting-style`, `data-ending-style`, `data-expanded`, `data-limited`,
93
62
  * `data-swiping`) which the stylesheet uses for stack and exit motion.
94
63
  */
95
- export declare function Root({ className, variant, ...props }: RootProps): import("react/jsx-runtime").JSX.Element;
64
+ export declare function Root({ variant, ...props }: RootProps): import("react/jsx-runtime").JSX.Element;
96
65
  export declare namespace Root {
97
66
  var displayName: string;
98
67
  }
99
- type ContentProps = Omit<React.HTMLAttributes<HTMLDivElement>, "className"> & {
100
- className?: UpstreamContent["className"];
101
- render?: UpstreamContent["render"];
102
- };
103
68
  /**
104
69
  * Toast.Content — lays out title, description, action, and close. Fades out on
105
70
  * the toasts stacked behind the frontmost one via `data-behind`.
106
71
  */
107
- export declare function Content({ className, ...props }: ContentProps): import("react/jsx-runtime").JSX.Element;
72
+ export declare function Content(props: React.ComponentProps<typeof ToastPrimitive.Content>): import("react/jsx-runtime").JSX.Element;
108
73
  export declare namespace Content {
109
74
  var displayName: string;
110
75
  }
111
- type TitleProps = Omit<React.HTMLAttributes<HTMLHeadingElement>, "className"> & {
112
- className?: UpstreamTitle["className"];
113
- render?: UpstreamTitle["render"];
114
- };
115
76
  /** Toast.Title — the message heading. Falls back to the toast object's `title` when given no children. */
116
- export declare function Title({ className, ...props }: TitleProps): import("react/jsx-runtime").JSX.Element;
77
+ export declare function Title(props: React.ComponentProps<typeof ToastPrimitive.Title>): import("react/jsx-runtime").JSX.Element;
117
78
  export declare namespace Title {
118
79
  var displayName: string;
119
80
  }
120
- type DescriptionProps = Omit<React.HTMLAttributes<HTMLParagraphElement>, "className"> & {
121
- className?: UpstreamDescription["className"];
122
- render?: UpstreamDescription["render"];
123
- };
124
81
  /** Toast.Description — supporting copy. Falls back to the toast object's `description` when given no children. */
125
- export declare function Description({ className, ...props }: DescriptionProps): import("react/jsx-runtime").JSX.Element;
82
+ export declare function Description(props: React.ComponentProps<typeof ToastPrimitive.Description>): import("react/jsx-runtime").JSX.Element;
126
83
  export declare namespace Description {
127
84
  var displayName: string;
128
85
  }
129
- type CloseProps = Omit<React.ButtonHTMLAttributes<HTMLButtonElement>, "className"> & {
130
- /** @default true */
131
- nativeButton?: UpstreamClose["nativeButton"];
132
- className?: UpstreamClose["className"];
133
- render?: UpstreamClose["render"];
134
- };
135
86
  /** Toast.Close — dismisses the toast it sits in. */
136
- export declare function Close({ className, ...props }: CloseProps): import("react/jsx-runtime").JSX.Element;
87
+ export declare function Close(props: React.ComponentProps<typeof ToastPrimitive.Close>): import("react/jsx-runtime").JSX.Element;
137
88
  export declare namespace Close {
138
89
  var displayName: string;
139
90
  }
140
- type ActionProps = Omit<React.ButtonHTMLAttributes<HTMLButtonElement>, "className"> & {
141
- /** @default true */
142
- nativeButton?: UpstreamAction["nativeButton"];
143
- className?: UpstreamAction["className"];
144
- render?: UpstreamAction["render"];
145
- };
146
91
  /**
147
92
  * Toast.Action — the toast's single affordance, typically an undo. Its behavior
148
93
  * comes from `actionProps` on the toast object passed to the manager.
149
94
  */
150
- export declare function Action({ className, ...props }: ActionProps): import("react/jsx-runtime").JSX.Element;
95
+ export declare function Action(props: React.ComponentProps<typeof ToastPrimitive.Action>): import("react/jsx-runtime").JSX.Element;
151
96
  export declare namespace Action {
152
97
  var displayName: string;
153
98
  }
154
- type PositionerProps = Omit<React.HTMLAttributes<HTMLDivElement>, "className"> & {
155
- /** The toast object from the manager's `toasts` array. */
156
- toast: UpstreamPositioner["toast"];
157
- /** @default 'top' */
158
- side?: UpstreamPositioner["side"];
159
- /** @default 'center' */
160
- align?: UpstreamPositioner["align"];
161
- /** @default 0 */
162
- sideOffset?: UpstreamPositioner["sideOffset"];
163
- /** @default 0 */
164
- alignOffset?: UpstreamPositioner["alignOffset"];
165
- /** @default 5 */
166
- arrowPadding?: UpstreamPositioner["arrowPadding"];
167
- anchor?: UpstreamPositioner["anchor"];
168
- collisionAvoidance?: UpstreamPositioner["collisionAvoidance"];
169
- /** @default 'clipping-ancestors' */
170
- collisionBoundary?: UpstreamPositioner["collisionBoundary"];
171
- /** @default 5 */
172
- collisionPadding?: UpstreamPositioner["collisionPadding"];
173
- /** @default 'absolute' */
174
- positionMethod?: UpstreamPositioner["positionMethod"];
175
- /** @default false */
176
- sticky?: UpstreamPositioner["sticky"];
177
- /** @default false */
178
- disableAnchorTracking?: UpstreamPositioner["disableAnchorTracking"];
179
- className?: UpstreamPositioner["className"];
180
- render?: UpstreamPositioner["render"];
181
- };
182
99
  /**
183
100
  * Toast.Positioner — anchors a toast to an element instead of the stack, for
184
101
  * feedback that belongs next to the control that caused it. Wrap a `Root` in it
185
102
  * and the root switches to the compact content-sized surface.
186
103
  */
187
- export declare function Positioner({ className, ...props }: PositionerProps): import("react/jsx-runtime").JSX.Element;
104
+ export declare function Positioner(props: React.ComponentProps<typeof ToastPrimitive.Positioner>): import("react/jsx-runtime").JSX.Element;
188
105
  export declare namespace Positioner {
189
106
  var displayName: string;
190
107
  }
191
- type ArrowProps = Omit<React.HTMLAttributes<HTMLDivElement>, "className"> & {
192
- className?: UpstreamArrow["className"];
193
- render?: UpstreamArrow["render"];
194
- };
195
108
  /** Toast.Arrow — pointer joining an anchored toast to its anchor. Receives `data-side` for orientation. */
196
- export declare function Arrow({ className, ...props }: ArrowProps): import("react/jsx-runtime").JSX.Element;
109
+ export declare function Arrow(props: React.ComponentProps<typeof ToastPrimitive.Arrow>): import("react/jsx-runtime").JSX.Element;
197
110
  export declare namespace Arrow {
198
111
  var displayName: string;
199
112
  }
@@ -1,24 +1,6 @@
1
1
  import { Toggle as TogglePrimitive } from '@base-ui/react/toggle';
2
- type UpstreamToggle = React.ComponentProps<typeof TogglePrimitive>;
3
- type Props = Omit<React.ButtonHTMLAttributes<HTMLButtonElement>, "className" | "style" | "value" | "disabled"> & {
4
- /**
5
- * Identifies the toggle within a `ToggleGroup`: the value contributed to the
6
- * group's value array. Optional for a standalone toggle.
7
- */
8
- value?: UpstreamToggle["value"];
9
- /** Whether the toggle is pressed. */
10
- pressed?: UpstreamToggle["pressed"];
11
- /** @default false */
12
- defaultPressed?: UpstreamToggle["defaultPressed"];
13
- onPressedChange?: UpstreamToggle["onPressedChange"];
14
- /** @default false */
15
- disabled?: UpstreamToggle["disabled"];
16
- /** @default true */
17
- nativeButton?: UpstreamToggle["nativeButton"];
18
- className?: UpstreamToggle["className"];
19
- style?: UpstreamToggle["style"];
20
- render?: UpstreamToggle["render"];
21
- };
2
+ interface Props extends React.ComponentProps<typeof TogglePrimitive> {
3
+ }
22
4
  /**
23
5
  * Toggle - a two-state button. Use standalone for a
24
6
  * single on/off action (bold, mute), or compose several inside a `ToggleGroup`
@@ -27,5 +9,5 @@ type Props = Omit<React.ButtonHTMLAttributes<HTMLButtonElement>, "className" | "
27
9
  * @doc https://base-ui.com/react/components/toggle
28
10
  * @llm https://base-ui.com/react/components/toggle.md
29
11
  */
30
- export declare function Toggle({ className, style, children, ...props }: Props): import("react/jsx-runtime").JSX.Element;
12
+ export declare function Toggle({ style, children, ...props }: Props): import("react/jsx-runtime").JSX.Element;
31
13
  export {};
@@ -1,23 +1,6 @@
1
1
  import { ToggleGroup as ToggleGroupPrimitive } from '@base-ui/react/toggle-group';
2
- type UpstreamRoot = React.ComponentProps<typeof ToggleGroupPrimitive>;
3
- type Props = Omit<React.HTMLAttributes<HTMLDivElement>, "className" | "style" | "defaultValue"> & {
4
- /** Values of the currently pressed items (controlled). Always an array, even in single-select. */
5
- value?: UpstreamRoot["value"];
6
- /** Values of the initially pressed items (uncontrolled). */
7
- defaultValue?: UpstreamRoot["defaultValue"];
8
- onValueChange?: UpstreamRoot["onValueChange"];
9
- /** @default false */
10
- multiple?: UpstreamRoot["multiple"];
11
- /** @default false */
12
- disabled?: UpstreamRoot["disabled"];
13
- /** @default "horizontal" */
14
- orientation?: UpstreamRoot["orientation"];
15
- /** @default true */
16
- loopFocus?: UpstreamRoot["loopFocus"];
17
- className?: UpstreamRoot["className"];
18
- style?: UpstreamRoot["style"];
19
- render?: UpstreamRoot["render"];
20
- };
2
+ interface Props extends React.ComponentProps<typeof ToggleGroupPrimitive> {
3
+ }
21
4
  /**
22
5
  * ToggleGroup - a set of connected `Toggle`s sharing one value. Single-select by
23
6
  * default (a segmented control); set `multiple` for multi-select. Compose one
@@ -26,5 +9,5 @@ type Props = Omit<React.HTMLAttributes<HTMLDivElement>, "className" | "style" |
26
9
  * @doc https://base-ui.com/react/components/toggle-group
27
10
  * @llm https://base-ui.com/react/components/toggle-group.md
28
11
  */
29
- export declare function ToggleGroup({ className, ...props }: Props): import("react/jsx-runtime").JSX.Element;
12
+ export declare function ToggleGroup(props: Props): import("react/jsx-runtime").JSX.Element;
30
13
  export {};
@@ -1,21 +1,14 @@
1
1
  import { Tooltip as TooltipPrimitive } from '@base-ui/react/tooltip';
2
- type UpstreamProvider = React.ComponentProps<typeof TooltipPrimitive.Provider>;
2
+ import { VariantProps } from 'class-variance-authority';
3
3
  type UpstreamTrigger = React.ComponentProps<typeof TooltipPrimitive.Trigger>;
4
- type UpstreamPortal = React.ComponentProps<typeof TooltipPrimitive.Portal>;
5
- type UpstreamPositioner = React.ComponentProps<typeof TooltipPrimitive.Positioner>;
6
- type UpstreamPopup = React.ComponentProps<typeof TooltipPrimitive.Popup>;
7
- type UpstreamArrow = React.ComponentProps<typeof TooltipPrimitive.Arrow>;
8
- type UpstreamViewport = React.ComponentProps<typeof TooltipPrimitive.Viewport>;
4
+ declare const tooltipTrigger: (props?: ({
5
+ variant?: "primary" | "secondary" | "positive" | "negative" | null | undefined;
6
+ inline?: boolean | null | undefined;
7
+ } & import('class-variance-authority/types').ClassProp) | undefined) => string;
8
+ declare const tooltipPopup: (props?: ({
9
+ variant?: "primary" | "secondary" | "positive" | "negative" | null | undefined;
10
+ } & import('class-variance-authority/types').ClassProp) | undefined) => string;
9
11
  export declare const createHandle: typeof TooltipPrimitive.createHandle;
10
- type ProviderProps = {
11
- /** @default undefined */
12
- delay?: UpstreamProvider["delay"];
13
- /** @default undefined */
14
- closeDelay?: UpstreamProvider["closeDelay"];
15
- /** @default 400 */
16
- timeout?: UpstreamProvider["timeout"];
17
- children?: UpstreamProvider["children"];
18
- };
19
12
  /**
20
13
  * Tooltip.Provider — shares open/close delay across a group of tooltips so
21
14
  * moving between neighbouring triggers feels instant. Renders no DOM element.
@@ -23,7 +16,7 @@ type ProviderProps = {
23
16
  * @see https://base-ui.com/react/components/tooltip
24
17
  * @llm https://base-ui.com/react/components/tooltip.md
25
18
  */
26
- export declare function Provider(props: ProviderProps): import("react/jsx-runtime").JSX.Element;
19
+ export declare function Provider(props: React.ComponentProps<typeof TooltipPrimitive.Provider>): import("react/jsx-runtime").JSX.Element;
27
20
  export declare namespace Provider {
28
21
  var displayName: string;
29
22
  }
@@ -38,103 +31,51 @@ export declare function Root<Payload = unknown>(props: RootProps<Payload>): impo
38
31
  export declare namespace Root {
39
32
  var displayName: string;
40
33
  }
41
- type TriggerProps = Omit<React.ButtonHTMLAttributes<HTMLButtonElement>, "className"> & {
42
- variant?: "primary" | "secondary" | "positive" | "negative";
43
- inline?: boolean;
34
+ interface TriggerProps extends UpstreamTrigger, VariantProps<typeof tooltipTrigger> {
44
35
  /**
45
- * Milliseconds to wait before opening on hover. Defaults to a snappier value
46
- * than Base UI's 600ms — a deliberate imf default per "make the correct
47
- * choice the easy one". Grouped triggers under a `Tooltip.Provider` open
48
- * instantly after the first regardless of this value.
36
+ * Milliseconds to wait before opening on hover. Defaults to less than Base
37
+ * UI's 600ms, deliberately. Grouped triggers under a `Tooltip.Provider` open instantly
38
+ * after the first, regardless of this value.
49
39
  */
50
40
  delay?: UpstreamTrigger["delay"];
51
- /** @default 0 */
52
- closeDelay?: UpstreamTrigger["closeDelay"];
53
- /** @default false */
54
- disabled?: UpstreamTrigger["disabled"];
55
- handle?: UpstreamTrigger["handle"];
56
- payload?: UpstreamTrigger["payload"];
57
- className?: UpstreamTrigger["className"];
58
- render?: UpstreamTrigger["render"];
59
- };
41
+ }
60
42
  /** Tooltip.Trigger — element that reveals the tooltip on hover or focus. */
61
- export declare function Trigger({ variant, inline, delay, className, ...props }: TriggerProps): import("react/jsx-runtime").JSX.Element;
43
+ export declare function Trigger({ variant, inline, delay, ...props }: TriggerProps): import("react/jsx-runtime").JSX.Element;
62
44
  export declare namespace Trigger {
63
45
  var displayName: string;
64
46
  }
65
- type PortalProps = {
66
- container?: UpstreamPortal["container"];
67
- /** @default false */
68
- keepMounted?: UpstreamPortal["keepMounted"];
69
- children?: UpstreamPortal["children"];
70
- };
71
47
  /** Tooltip.Portal — renders the positioner in a portal outside the main document flow. */
72
- export declare function Portal(props: PortalProps): import("react/jsx-runtime").JSX.Element;
48
+ export declare function Portal(props: React.ComponentProps<typeof TooltipPrimitive.Portal>): import("react/jsx-runtime").JSX.Element;
73
49
  export declare namespace Portal {
74
50
  var displayName: string;
75
51
  }
76
- type PositionerProps = Omit<React.HTMLAttributes<HTMLDivElement>, "className"> & {
77
- /** @default 'top' */
78
- side?: UpstreamPositioner["side"];
79
- /** @default 'center' */
80
- align?: UpstreamPositioner["align"];
81
- sideOffset?: UpstreamPositioner["sideOffset"];
82
- /** @default 0 */
83
- alignOffset?: UpstreamPositioner["alignOffset"];
84
- /** @default 5 */
85
- arrowPadding?: UpstreamPositioner["arrowPadding"];
86
- anchor?: UpstreamPositioner["anchor"];
87
- /** @default false */
88
- disableAnchorTracking?: UpstreamPositioner["disableAnchorTracking"];
89
- collisionAvoidance?: UpstreamPositioner["collisionAvoidance"];
90
- /** @default 'clipping-ancestors' */
91
- collisionBoundary?: UpstreamPositioner["collisionBoundary"];
92
- /** @default 5 */
93
- collisionPadding?: UpstreamPositioner["collisionPadding"];
94
- /** @default false */
95
- sticky?: UpstreamPositioner["sticky"];
96
- className?: UpstreamPositioner["className"];
97
- render?: UpstreamPositioner["render"];
98
- };
99
52
  /**
100
53
  * Tooltip.Positioner — positions the popup relative to the trigger via
101
54
  * floating-point layout.
102
55
  *
103
- * `sideOffset` defaults to `--arrow-size` (tooltip.module.css) + 4px — enough
104
- * gap for the arrow to bridge with a few px of breathing room past its tip,
105
- * rather than landing flush on the trigger. Keep the two in sync if either
106
- * changes.
56
+ * `sideOffset` defaults to `--arrow-size` (tooltip.module.css) + 4px, for
57
+ * gap past the arrow tip. Keep the two values in sync.
107
58
  */
108
- export declare function Positioner({ className, sideOffset, ...props }: PositionerProps): import("react/jsx-runtime").JSX.Element;
59
+ export declare function Positioner({ sideOffset, ...props }: React.ComponentProps<typeof TooltipPrimitive.Positioner>): import("react/jsx-runtime").JSX.Element;
109
60
  export declare namespace Positioner {
110
61
  var displayName: string;
111
62
  }
112
- type PopupProps = Omit<React.HTMLAttributes<HTMLDivElement>, "className"> & {
63
+ interface PopupProps extends React.ComponentProps<typeof TooltipPrimitive.Popup>, VariantProps<typeof tooltipPopup> {
113
64
  /** Match to the Trigger variant to tint the popup border accordingly. */
114
- variant?: "primary" | "secondary" | "positive" | "negative";
115
- className?: UpstreamPopup["className"];
116
- render?: UpstreamPopup["render"];
117
- };
65
+ variant?: VariantProps<typeof tooltipPopup>["variant"];
66
+ }
118
67
  /** Tooltip.Popup — the visible label surface. Token-mapped background and border, flat by brand default. */
119
- export declare function Popup({ className, variant, ...props }: PopupProps): import("react/jsx-runtime").JSX.Element;
68
+ export declare function Popup({ variant, ...props }: PopupProps): import("react/jsx-runtime").JSX.Element;
120
69
  export declare namespace Popup {
121
70
  var displayName: string;
122
71
  }
123
- type ArrowProps = Omit<React.HTMLAttributes<HTMLDivElement>, "className"> & {
124
- className?: UpstreamArrow["className"];
125
- render?: UpstreamArrow["render"];
126
- };
127
72
  /** Tooltip.Arrow — visual pointer arrow anchored to the popup edge. Receives data-side for orientation. */
128
- export declare function Arrow({ className, ...props }: ArrowProps): import("react/jsx-runtime").JSX.Element;
73
+ export declare function Arrow(props: React.ComponentProps<typeof TooltipPrimitive.Arrow>): import("react/jsx-runtime").JSX.Element;
129
74
  export declare namespace Arrow {
130
75
  var displayName: string;
131
76
  }
132
- type ViewportProps = Omit<React.HTMLAttributes<HTMLDivElement>, "className"> & {
133
- className?: UpstreamViewport["className"];
134
- render?: UpstreamViewport["render"];
135
- };
136
77
  /** Tooltip.Viewport — content wrapper that supports direction-aware animations when content swaps. */
137
- export declare function Viewport({ className, ...props }: ViewportProps): import("react/jsx-runtime").JSX.Element;
78
+ export declare function Viewport(props: React.ComponentProps<typeof TooltipPrimitive.Viewport>): import("react/jsx-runtime").JSX.Element;
138
79
  export declare namespace Viewport {
139
80
  var displayName: string;
140
81
  }
@@ -146,7 +87,7 @@ type InlineProps = {
146
87
  /** Hover delay in ms before the tooltip opens. @default 150 */
147
88
  delay?: number;
148
89
  /** Which side of the trigger the popup appears on. @default 'top' */
149
- side?: UpstreamPositioner["side"];
90
+ side?: React.ComponentProps<typeof TooltipPrimitive.Positioner>["side"];
150
91
  /** Gap between trigger and popup in px. @default 13 */
151
92
  sideOffset?: number;
152
93
  };