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

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 (141) hide show
  1. package/CHANGELOG.md +391 -0
  2. package/README.md +22 -55
  3. package/dist/assets/vendors/base-ui.d.ts +2 -3
  4. package/dist/breakpoints/min-width.d.ts +3 -7
  5. package/dist/breakpoints/registry.d.ts +3 -9
  6. package/dist/{code-Ce8uiPsv.js → code-D2lwxHgd.js} +15 -15
  7. package/dist/codegen/gen-breakpoints-css.d.ts +0 -4
  8. package/dist/codegen/gen-token-css.d.ts +0 -2
  9. package/dist/components/app-shell/app-shell.d.ts +7 -11
  10. package/dist/components/button/button.d.ts +7 -12
  11. package/dist/components/callout/callout.d.ts +11 -18
  12. package/dist/components/card/card.d.ts +11 -10
  13. package/dist/components/checkbox/checkbox.d.ts +2 -38
  14. package/dist/components/chip/chip.cva.d.ts +2 -4
  15. package/dist/components/chip/chip.d.ts +1 -1
  16. package/dist/components/code/code.d.ts +2 -2
  17. package/dist/components/collapsible/collapsible.d.ts +4 -35
  18. package/dist/components/copy-button/copy-button.d.ts +1 -1
  19. package/dist/components/drawer/drawer.d.ts +17 -100
  20. package/dist/components/field/field.d.ts +7 -67
  21. package/dist/components/fieldset/fieldset.d.ts +2 -15
  22. package/dist/components/icon/icon.d.ts +2 -2
  23. package/dist/components/input/input.d.ts +2 -8
  24. package/dist/components/logo/imfusion/imfusion.d.ts +2 -5
  25. package/dist/components/logo/imfusion/marks.d.ts +10 -0
  26. package/dist/components/logo/logo.d.ts +3 -3
  27. package/dist/components/navigation-menu/subs/flyout-link.d.ts +5 -19
  28. package/dist/components/navigation-menu/subs/inline-submenu.d.ts +2 -4
  29. package/dist/components/navigation-menu/subs/link.d.ts +6 -23
  30. package/dist/components/navigation-menu/subs/overlay.d.ts +6 -51
  31. package/dist/components/navigation-menu/subs/shared.d.ts +4 -14
  32. package/dist/components/navigation-menu/subs/structure.d.ts +7 -29
  33. package/dist/components/navigation-menu/subs/trigger.d.ts +11 -20
  34. package/dist/components/number-field/index.d.ts +2 -0
  35. package/dist/components/number-field/number-field.d.ts +72 -0
  36. package/dist/components/number-field/number-field.meta.d.ts +2 -0
  37. package/dist/components/popover/popover.d.ts +23 -98
  38. package/dist/components/row/row.d.ts +1 -1
  39. package/dist/components/select/select.d.ts +26 -189
  40. package/dist/components/separator/separator.d.ts +5 -4
  41. package/dist/components/slider/slider.d.ts +7 -77
  42. package/dist/components/spinner/spinner.d.ts +13 -8
  43. package/dist/components/stack/stack.d.ts +3 -4
  44. package/dist/components/switch/switch.d.ts +2 -31
  45. package/dist/components/table/table.d.ts +10 -18
  46. package/dist/components/tabs/tabs.d.ts +18 -52
  47. package/dist/components/toast/toast.d.ts +16 -103
  48. package/dist/components/toggle/toggle.d.ts +3 -21
  49. package/dist/components/toggle-group/toggle-group.d.ts +3 -20
  50. package/dist/components/tooltip/tooltip.d.ts +26 -85
  51. package/dist/components/typo/typo.d.ts +25 -25
  52. package/dist/docgen/gen-docgen.utils.d.ts +3 -4
  53. package/dist/hooks/use-color-scheme.d.ts +5 -11
  54. package/dist/hooks/use-media-query.d.ts +2 -7
  55. package/dist/{icons-Cy1HAosO.js → icons-CaGCCwG-.js} +7 -7
  56. package/dist/icons.js +1 -1
  57. package/dist/index.d.ts +1 -0
  58. package/dist/index.js +1486 -1368
  59. package/dist/integrations/code-highlight/highlighter.d.ts +1 -56
  60. package/dist/integrations/code-highlight.js +41 -189
  61. package/dist/integrations/image-display-options/image-display-options-view.utils.d.ts +0 -1
  62. package/dist/integrations/image-display-options.js +54 -54
  63. package/dist/llms/evals/runner/affected.d.ts +2 -0
  64. package/dist/llms/evals/runner/benchmark.d.ts +12 -0
  65. package/dist/llms/evals/runner/compare.d.ts +2 -0
  66. package/dist/llms/evals/runner/config.d.ts +29 -0
  67. package/dist/llms/evals/runner/evidence.d.ts +7 -0
  68. package/dist/llms/evals/runner/execute.d.ts +32 -0
  69. package/dist/llms/evals/runner/grade.d.ts +10 -0
  70. package/dist/llms/evals/runner/report-md.d.ts +2 -0
  71. package/dist/llms/evals/runner/report.d.ts +4 -0
  72. package/dist/llms/evals/runner/run.d.ts +2 -0
  73. package/dist/llms/evals/runner/scenario.d.ts +3 -0
  74. package/dist/llms/evals/runner/types.d.ts +140 -0
  75. package/dist/llms/evals/runner/workspace.d.ts +2 -0
  76. package/dist/llms/evals/runner/write-generated.d.ts +1 -0
  77. package/dist/provider/web-ui-provider.d.ts +4 -1
  78. package/dist/style.css +1 -1
  79. package/dist/tabs-BS6rqrrA.js +398 -0
  80. package/dist/tokens/apply.d.ts +4 -9
  81. package/dist/tokens/control-registry.d.ts +3 -6
  82. package/dist/tokens/types.d.ts +7 -24
  83. package/dist/tokens/use-token-controls.d.ts +3 -12
  84. package/dist/types/meta.d.ts +15 -32
  85. package/dist/utils/index.d.ts +1 -0
  86. package/dist/utils/resolve-state-props.d.ts +4 -0
  87. package/dist/vite/brand-assets.d.ts +3 -0
  88. package/dist/vite/index.d.ts +2 -0
  89. package/dist/vite/readable-css-module-names.d.ts +11 -0
  90. package/dist/vite.js +55 -0
  91. package/dist/web-ui-cli.js +322 -0
  92. package/docs/user-guide/AgentTooling.mdx +133 -0
  93. package/docs/user-guide/BrandAssets.mdx +103 -0
  94. package/docs/user-guide/Changelog.mdx +26 -0
  95. package/docs/user-guide/GettingStarted.mdx +71 -0
  96. package/docs/user-guide/HowItsBuilt.mdx +114 -0
  97. package/docs/user-guide/Tokens.mdx +88 -0
  98. package/docs/user-guide/UsagePatterns.mdx +123 -0
  99. package/package.json +28 -22
  100. package/src/assets/public/favicon/apple-touch-icon.png +0 -0
  101. package/src/assets/public/favicon/favicon-16.png +0 -0
  102. package/src/assets/public/favicon/favicon-32.png +0 -0
  103. package/src/assets/public/favicon/favicon.ico +0 -0
  104. package/src/assets/public/favicon/favicon.svg +7 -0
  105. package/src/assets/public/favicon/icon-192.png +0 -0
  106. package/src/assets/public/favicon/icon-512.png +0 -0
  107. package/src/assets/public/favicon/og-image.png +0 -0
  108. package/src/assets/public/spinner/imfusion-spinner-black.webp +0 -0
  109. package/src/assets/public/spinner/imfusion-spinner-blue.webp +0 -0
  110. package/src/assets/public/spinner/imfusion-spinner-white.webp +0 -0
  111. package/src/docgen/doc.gen.json +3255 -603
  112. package/src/llms/install-templates/AGENTS.md +4 -4
  113. package/src/llms/install-templates/hooks/baseline-staleness.sh +9 -2
  114. package/src/llms/llms.gen.txt +7 -1
  115. package/src/llms/skills/imf-web-ui/SKILL.md +44 -21
  116. package/src/llms/skills/imf-web-ui-audit/SKILL.md +25 -11
  117. package/src/llms/skills/imf-web-ui-components/SKILL.md +7 -3
  118. package/src/llms/skills/imf-web-ui-conventions/SKILL.md +3 -2
  119. package/src/llms/skills/imf-web-ui-conventions/templates/AUDIT_CHECKLIST.md +0 -1
  120. package/src/llms/skills/imf-web-ui-conventions/templates/REPORT.md +21 -2
  121. package/src/llms/skills/imf-web-ui-conventions/topics/agent-tooling.md +15 -10
  122. package/src/llms/skills/imf-web-ui-conventions/topics/assets.md +7 -4
  123. package/src/llms/skills/imf-web-ui-conventions/topics/data.md +3 -1
  124. package/src/llms/skills/imf-web-ui-conventions/topics/docs-structure.md +2 -2
  125. package/src/llms/skills/imf-web-ui-conventions/topics/git.md +4 -2
  126. package/src/llms/skills/imf-web-ui-conventions/topics/library-setup.md +10 -1
  127. package/src/llms/skills/imf-web-ui-conventions/topics/styling.md +2 -2
  128. package/src/llms/skills/imf-web-ui-conventions/topics/tokens.md +4 -2
  129. package/src/llms/skills/imf-web-ui-conventions/topics/tooling.md +13 -11
  130. package/src/llms/skills/imf-web-ui-setup/SKILL.md +17 -9
  131. package/src/llms/skills/imf-web-ui-update/SKILL.md +47 -19
  132. package/src/llms/skills/imf-web-ui-ux/SKILL.md +6 -3
  133. package/src/llms/tokens.gen.json +79 -15
  134. package/bin/install.js +0 -446
  135. package/dist/build/vite-css-module-names/index.d.ts +0 -20
  136. package/dist/build/vite-css-module-names.js +0 -17
  137. package/dist/components/spinner/spinner.geometry.d.ts +0 -37
  138. package/dist/integrations/code-highlight/languages/cmake.d.ts +0 -1
  139. package/dist/integrations/code-highlight/languages/cpp.d.ts +0 -1
  140. package/dist/tabs-DIe1Utiy.js +0 -371
  141. /package/dist/{meta-CySnRuVp.js → meta-j-7HGrWv.js} +0 -0
@@ -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
  };
@@ -2,7 +2,7 @@ import { useRender } from '@base-ui/react/use-render';
2
2
  import { VariantProps } from 'class-variance-authority';
3
3
  import { Code } from '../code';
4
4
  declare const typo: (props?: ({
5
- variant?: "primary" | "positive" | "negative" | "main" | "support" | "minor" | "brand" | "warning" | "info" | "oncolor" | "accent-1" | "accent-2" | "accent-3" | null | undefined;
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
7
  declare const spacingVariants: (props?: ({
8
8
  spacing?: "none" | "default" | null | undefined;
@@ -10,91 +10,91 @@ declare const spacingVariants: (props?: ({
10
10
  type TypoProps = VariantProps<typeof typo>;
11
11
  type SpacingProps = VariantProps<typeof spacingVariants>;
12
12
  type HeadingProps = useRender.ComponentProps<"h1"> & TypoProps & SpacingProps;
13
+ type LongHeadingProps = HeadingProps & {
14
+ /** Whether lines after the first use a translucent text color. */
15
+ fadeAfterFirstLine?: boolean;
16
+ };
13
17
  type ParagraphProps = useRender.ComponentProps<"p"> & TypoProps & SpacingProps;
14
- type DetailProps = useRender.ComponentProps<"p"> & TypoProps;
15
- type InlineProps = useRender.ComponentProps<"mark"> & TypoProps;
16
- type InlineCodeProps = React.ComponentProps<typeof Code.Inline>;
17
- type SmallProps = useRender.ComponentProps<"small"> & TypoProps;
18
- type BlockquoteProps = useRender.ComponentProps<"blockquote"> & TypoProps & SpacingProps;
19
- type OrderedListProps = useRender.ComponentProps<"ol"> & TypoProps & SpacingProps;
20
- type UnorderedListProps = useRender.ComponentProps<"ul"> & TypoProps & SpacingProps;
21
18
  export type TypoLinkKind = "external" | "internal";
22
19
  type LinkProps = useRender.ComponentProps<"a"> & TypoProps & {
23
20
  /** Link target scope. `"external"` (default) opens in a new tab; `"internal"` stays in the current tab. */
24
21
  kind?: TypoLinkKind;
25
22
  };
23
+ /** 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>>;
25
+ export declare namespace Hero {
26
+ var displayName: string;
27
+ }
26
28
  /** Typo.H1 — top-level page heading. */
27
- export declare function H1({ variant, spacing, className, render, ...props }: HeadingProps): import('react').ReactElement<unknown, string | import('react').JSXElementConstructor<any>>;
29
+ export declare function H1({ variant, spacing, fadeAfterFirstLine, render, ...props }: LongHeadingProps): import('react').ReactElement<unknown, string | import('react').JSXElementConstructor<any>>;
28
30
  export declare namespace H1 {
29
31
  var displayName: string;
30
32
  }
31
33
  /** Typo.H2 — section heading. */
32
- export declare function H2({ variant, spacing, className, render, ...props }: HeadingProps): import('react').ReactElement<unknown, string | import('react').JSXElementConstructor<any>>;
34
+ export declare function H2({ variant, spacing, fadeAfterFirstLine, render, ...props }: LongHeadingProps): import('react').ReactElement<unknown, string | import('react').JSXElementConstructor<any>>;
33
35
  export declare namespace H2 {
34
36
  var displayName: string;
35
37
  }
36
38
  /** Typo.H3 — sub-section heading. */
37
- export declare function H3({ variant, spacing, className, render, ...props }: HeadingProps): import('react').ReactElement<unknown, string | import('react').JSXElementConstructor<any>>;
39
+ export declare function H3({ variant, spacing, render, ...props }: HeadingProps): import('react').ReactElement<unknown, string | import('react').JSXElementConstructor<any>>;
38
40
  export declare namespace H3 {
39
41
  var displayName: string;
40
42
  }
41
43
  /** Typo.H4 — minor heading. */
42
- export declare function H4({ variant, spacing, className, render, ...props }: HeadingProps): import('react').ReactElement<unknown, string | import('react').JSXElementConstructor<any>>;
44
+ export declare function H4({ variant, spacing, render, ...props }: HeadingProps): import('react').ReactElement<unknown, string | import('react').JSXElementConstructor<any>>;
43
45
  export declare namespace H4 {
44
46
  var displayName: string;
45
47
  }
46
48
  /** Typo.P — body paragraph. */
47
- export declare function P({ variant, spacing, className, render, ...props }: ParagraphProps): import('react').ReactElement<unknown, string | import('react').JSXElementConstructor<any>>;
49
+ export declare function P({ variant, spacing, render, ...props }: ParagraphProps): import('react').ReactElement<unknown, string | import('react').JSXElementConstructor<any>>;
48
50
  export declare namespace P {
49
51
  var displayName: string;
50
52
  }
51
53
  /** Typo.Lead — emphasised intro paragraph. */
52
- export declare function Lead({ variant, spacing, className, render, ...props }: ParagraphProps): import('react').ReactElement<unknown, string | import('react').JSXElementConstructor<any>>;
54
+ export declare function Lead({ variant, spacing, render, ...props }: ParagraphProps): import('react').ReactElement<unknown, string | import('react').JSXElementConstructor<any>>;
53
55
  export declare namespace Lead {
54
56
  var displayName: string;
55
57
  }
56
58
  /** Typo.Detail — compact UI text, between Small (12px) and P (16px). */
57
- export declare function Detail({ variant, className, render, ...props }: DetailProps): import('react').ReactElement<unknown, string | import('react').JSXElementConstructor<any>>;
59
+ export declare function Detail({ variant, render, ...props }: useRender.ComponentProps<"p"> & TypoProps): import('react').ReactElement<unknown, string | import('react').JSXElementConstructor<any>>;
58
60
  export declare namespace Detail {
59
61
  var displayName: string;
60
62
  }
61
63
  /** Typo.Small — fine print. */
62
- export declare function Small({ variant, className, render, ...props }: SmallProps): import('react').ReactElement<unknown, string | import('react').JSXElementConstructor<any>>;
64
+ export declare function Small({ variant, render, ...props }: useRender.ComponentProps<"small"> & TypoProps): import('react').ReactElement<unknown, string | import('react').JSXElementConstructor<any>>;
63
65
  export declare namespace Small {
64
66
  var displayName: string;
65
67
  }
66
68
  /** Typo.Blockquote — pulled quotation. */
67
- export declare function Blockquote({ variant, spacing, className, render, ...props }: BlockquoteProps): import('react').ReactElement<unknown, string | import('react').JSXElementConstructor<any>>;
69
+ export declare function Blockquote({ variant, spacing, render, ...props }: useRender.ComponentProps<"blockquote"> & TypoProps & SpacingProps): import('react').ReactElement<unknown, string | import('react').JSXElementConstructor<any>>;
68
70
  export declare namespace Blockquote {
69
71
  var displayName: string;
70
72
  }
71
73
  /**
72
74
  * Typo.InlineCode — inline code fragment. Thin wrapper over `Code.Inline`, which
73
- * owns the inline-code styling; the rendered `<code>` carries the `Code.Inline`
74
- * identity. Unlike other Typo members it has no color-`variant` axis — inline
75
- * code is a fixed neutral chip.
75
+ * owns the styling and identity. No color-`variant` axis — it's a fixed neutral chip.
76
76
  */
77
- export declare function InlineCode(props: InlineCodeProps): import("react/jsx-runtime").JSX.Element;
77
+ export declare function InlineCode(props: React.ComponentProps<typeof Code.Inline>): import("react/jsx-runtime").JSX.Element;
78
78
  export declare namespace InlineCode {
79
79
  var displayName: string;
80
80
  }
81
81
  /** Typo.Highlight — inline mark/highlight. */
82
- export declare function Highlight({ variant, className, render, ...props }: InlineProps): import('react').ReactElement<unknown, string | import('react').JSXElementConstructor<any>>;
82
+ export declare function Highlight({ variant, render, ...props }: useRender.ComponentProps<"mark"> & TypoProps): import('react').ReactElement<unknown, string | import('react').JSXElementConstructor<any>>;
83
83
  export declare namespace Highlight {
84
84
  var displayName: string;
85
85
  }
86
86
  /** Typo.Link — inline anchor with an optional local Web UI directional icon. */
87
- export declare function Link({ variant, kind, className, render, ...props }: LinkProps): import('react').ReactElement<unknown, string | import('react').JSXElementConstructor<any>>;
87
+ export declare function Link({ variant, kind, render, ...props }: LinkProps): import('react').ReactElement<unknown, string | import('react').JSXElementConstructor<any>>;
88
88
  export declare namespace Link {
89
89
  var displayName: string;
90
90
  }
91
91
  /** Typo.OrderedList — numbered list. */
92
- export declare function OrderedList({ variant, spacing, className, render, ...props }: OrderedListProps): import('react').ReactElement<unknown, string | import('react').JSXElementConstructor<any>>;
92
+ export declare function OrderedList({ variant, spacing, render, ...props }: useRender.ComponentProps<"ol"> & TypoProps & SpacingProps): import('react').ReactElement<unknown, string | import('react').JSXElementConstructor<any>>;
93
93
  export declare namespace OrderedList {
94
94
  var displayName: string;
95
95
  }
96
96
  /** Typo.UnorderedList — bulleted list. */
97
- export declare function UnorderedList({ variant, spacing, className, render, ...props }: UnorderedListProps): import('react').ReactElement<unknown, string | import('react').JSXElementConstructor<any>>;
97
+ export declare function UnorderedList({ variant, spacing, render, ...props }: useRender.ComponentProps<"ul"> & TypoProps & SpacingProps): import('react').ReactElement<unknown, string | import('react').JSXElementConstructor<any>>;
98
98
  export declare namespace UnorderedList {
99
99
  var displayName: string;
100
100
  }
@@ -3,10 +3,9 @@ export declare const docgenOptions: ParserOptions;
3
3
  /** Converts a kebab-case folder name to PascalCase component prefix. */
4
4
  export declare function toPascalCase(s: string): string;
5
5
  /**
6
- * Extracts the default value string from a react-docgen-typescript PropItem.
7
- * Parses JSDoc @default string literals via JSON.parse so that quoted strings
8
- * ("primary" → primary) and non-string literals (false, 0) both render
9
- * consistently with destructured defaults in the prop table.
6
+ * Extracts a default value from a react-docgen-typescript PropItem. Parses
7
+ * JSDoc @default string literals via JSON.parse so quoted strings and
8
+ * non-string literals render consistently with destructured defaults.
10
9
  */
11
10
  export declare function extractDefault(raw: unknown): string | null;
12
11
  /** Strips the minimum leading whitespace shared by all non-empty lines. */
@@ -6,20 +6,14 @@ import { ColorScheme, ColorSchemePreference } from '../types/theme';
6
6
  */
7
7
  export declare function parsePreference(stored: string | null): ColorSchemePreference;
8
8
  /**
9
- * Manages the active color scheme with OS preference support and localStorage persistence.
10
- *
11
- * Pass `{ value }` to drive it from an external source (e.g. a Storybook toolbar
12
- * global) — in that controlled mode localStorage is bypassed entirely.
13
- *
14
- * @returns `colorScheme` — the active preference; "system" means follow the OS
15
- * @returns `resolvedColorScheme` — the scheme currently in effect ("light" | "dark")
16
- * @returns `setColorScheme` — updates the preference and applies it immediately (no-op when controlled)
9
+ * Manages the active color scheme with OS preference support and localStorage
10
+ * persistence. Pass `{ value }` to drive it from an external source (e.g. a
11
+ * Storybook toolbar global); see the `value` param for controlled-mode behavior.
17
12
  */
18
13
  export declare function useColorScheme({ value }?: {
19
14
  /**
20
- * Controlled preference. When provided, the hook applies this scheme and
21
- * ignores localStorage (neither reads nor writes it), and `setColorScheme`
22
- * becomes a no-op — the caller owns the value. Omit for the default
15
+ * Controlled preference. When provided, the hook applies this scheme and ignores
16
+ * localStorage entirely; `setColorScheme` becomes a no-op. Omit for the default
23
17
  * localStorage-backed behavior.
24
18
  */
25
19
  value?: ColorSchemePreference;
@@ -2,12 +2,7 @@ export interface UseMediaQueryOptions {
2
2
  getInitialValueInEffect: boolean;
3
3
  }
4
4
  /**
5
- * Returns whether the given media query string currently matches.
6
- * Updates reactively as the viewport changes.
7
- *
8
- * Copied and adapted from Mantine's useMediaQuery; no upstream
9
- * runtime dependency.
10
- *
11
- * @see https://github.com/mantinedev/mantine/blob/master/packages/%40mantine/hooks/src/use-media-query/use-media-query.ts
5
+ * Returns whether the given media query currently matches, updating
6
+ * reactively as the viewport changes.
12
7
  */
13
8
  export declare function useMediaQuery(query: string, initialValue?: boolean, { getInitialValueInEffect }?: UseMediaQueryOptions): boolean;