@imfusion/web-ui 0.6.4-dev.1.g4ec1264f → 0.6.4-dev.22.ge7bf54c9

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.
@@ -0,0 +1,134 @@
1
+ import { t as e } from "./chunk-DmhlhrBa.js";
2
+ import { t } from "./meta-CySnRuVp.js";
3
+ import { Ma as n, Xo as r, r as i } from "./icons-Cy1HAosO.js";
4
+ import { cx as a } from "class-variance-authority";
5
+ import { Fragment as o, jsx as s, jsxs as c } from "react/jsx-runtime";
6
+ import { useCallback as l, useEffect as u, useRef as d, useState as f } from "react";
7
+ import { mergeProps as p } from "@base-ui/react/merge-props";
8
+ import { useRender as m } from "@base-ui/react/use-render";
9
+ //#region src/hooks/use-clipboard.ts
10
+ function h({ timeout: e = 1500 } = {}) {
11
+ let [t, n] = f(!1), r = d(void 0);
12
+ return u(() => () => clearTimeout(r.current), []), {
13
+ copied: t,
14
+ copy: l((t) => {
15
+ navigator.clipboard.writeText(t).then(() => {
16
+ n(!0), clearTimeout(r.current), r.current = setTimeout(() => n(!1), e);
17
+ });
18
+ }, [e])
19
+ };
20
+ }
21
+ var g = {
22
+ block: "imf-ui-code-module-block",
23
+ copy: "imf-ui-code-module-copy",
24
+ inline: "imf-ui-code-module-inline",
25
+ inlineCopy: "imf-ui-code-module-inlineCopy",
26
+ inlineLink: "imf-ui-code-module-inlineLink",
27
+ language: "imf-ui-code-module-language",
28
+ pre: "imf-ui-code-module-pre",
29
+ separator: "imf-ui-code-module-separator"
30
+ }, _ = /* @__PURE__ */ e({
31
+ Block: () => b,
32
+ Inline: () => v,
33
+ InlineLink: () => y
34
+ });
35
+ function v({ className: e, copyable: t = !1, children: l, render: u, ...f }) {
36
+ let { copied: _, copy: v } = h(), y = d(null), b = _ ? n : r;
37
+ return m({
38
+ defaultTagName: "code",
39
+ render: u,
40
+ props: {
41
+ ...p(f, {
42
+ className: a(g.inline, e),
43
+ children: /* @__PURE__ */ c(o, { children: [
44
+ /* @__PURE__ */ s("span", {
45
+ ref: y,
46
+ children: l
47
+ }),
48
+ t && /* @__PURE__ */ s("span", { className: g.separator }),
49
+ t && /* @__PURE__ */ s("button", {
50
+ type: "button",
51
+ className: g.inlineCopy,
52
+ "data-copied": _ || void 0,
53
+ "aria-label": _ ? "Copied" : "Copy",
54
+ onClick: () => v(y.current?.textContent ?? ""),
55
+ children: /* @__PURE__ */ s(i, {
56
+ glyph: b,
57
+ size: 12,
58
+ strokeWidth: 2,
59
+ "aria-hidden": !0
60
+ })
61
+ })
62
+ ] })
63
+ }),
64
+ "data-imf-ui-component": "Code.Inline"
65
+ }
66
+ });
67
+ }
68
+ v.displayName = "Code.Inline";
69
+ function y({ kind: e = "external", ...t }) {
70
+ let n = e === "external" ? {
71
+ target: "_blank",
72
+ rel: "noreferrer"
73
+ } : {};
74
+ return m({
75
+ defaultTagName: "a",
76
+ render: t.render,
77
+ props: {
78
+ ...p(n, t, {
79
+ className: a(g.inline, g.inlineLink, t.className),
80
+ children: t.children
81
+ }),
82
+ "data-imf-ui-component": "Code.InlineLink",
83
+ "data-kind": e
84
+ }
85
+ });
86
+ }
87
+ y.displayName = "Code.InlineLink";
88
+ function b({ className: e, language: t, hideCopy: o = !1, children: l, ...u }) {
89
+ let { copied: f, copy: p } = h(), m = d(null), _ = f ? n : r;
90
+ return /* @__PURE__ */ c("div", {
91
+ "data-imf-ui-component": "Code.Block",
92
+ className: a(g.block, e),
93
+ children: [
94
+ t != null && /* @__PURE__ */ s("span", {
95
+ className: g.language,
96
+ children: t
97
+ }),
98
+ !o && /* @__PURE__ */ s("button", {
99
+ type: "button",
100
+ className: g.copy,
101
+ "data-copied": f || void 0,
102
+ "aria-label": f ? "Copied" : "Copy",
103
+ onClick: () => p(m.current?.textContent ?? ""),
104
+ children: /* @__PURE__ */ s(i, {
105
+ glyph: _,
106
+ size: 12,
107
+ strokeWidth: 2,
108
+ "aria-hidden": !0
109
+ })
110
+ }),
111
+ /* @__PURE__ */ s("pre", {
112
+ ...u,
113
+ className: g.pre,
114
+ children: /* @__PURE__ */ s("code", {
115
+ ref: m,
116
+ children: l
117
+ })
118
+ })
119
+ ]
120
+ });
121
+ }
122
+ b.displayName = "Code.Block";
123
+ //#endregion
124
+ //#region src/components/code/code.meta.ts
125
+ var x = {
126
+ name: "Code",
127
+ category: t.display,
128
+ status: "stable",
129
+ namespace: !0,
130
+ description: "Displays source code inline or in a block, with optional language labels and copying. Also called a code snippet or code block.",
131
+ origin: "native"
132
+ };
133
+ //#endregion
134
+ export { _ as a, y as i, b as n, h as o, v as r, x as t };
@@ -5,6 +5,7 @@ declare const button: (props?: ({
5
5
  size?: "sm" | "md" | "lg" | "hero" | null | undefined;
6
6
  chamfer?: boolean | null | undefined;
7
7
  radius?: "sm" | "md" | "lg" | "none" | "round" | null | undefined;
8
+ context?: "default" | "oncolor" | null | undefined;
8
9
  } & import('class-variance-authority/types').ClassProp) | undefined) => string;
9
10
  type UpstreamButton = React.ComponentProps<typeof ButtonPrimitive>;
10
11
  type Props = Omit<React.ButtonHTMLAttributes<HTMLButtonElement>, "className" | "style"> & VariantProps<typeof button> & {
@@ -26,5 +27,7 @@ type Props = Omit<React.ButtonHTMLAttributes<HTMLButtonElement>, "className" | "
26
27
  * @doc https://base-ui.com/react/components/button
27
28
  * @llm https://base-ui.com/react/components/button.md
28
29
  */
29
- export declare function Button({ variant, size, chamfer, radius, className, startIcon, endIcon, children, ...props }: Props): import("react/jsx-runtime").JSX.Element;
30
+ export declare function Button({ variant, size,
31
+ /** Explicit saturated-surface context; this is never inferred from an ancestor. */
32
+ context, chamfer, radius, className, startIcon, endIcon, children, ...props }: Props): import("react/jsx-runtime").JSX.Element;
30
33
  export {};
@@ -32,12 +32,15 @@ declare function Root({ density, variant, shadow, radius, orientation, withBorde
32
32
  declare namespace Root {
33
33
  var displayName: string;
34
34
  }
35
- type ImageProps = React.ImgHTMLAttributes<HTMLImageElement>;
35
+ type ImageProps = React.ImgHTMLAttributes<HTMLImageElement> & {
36
+ /** Width divided by height, or "auto" to use the image's intrinsic ratio. */
37
+ aspectRatio?: number | "auto";
38
+ };
36
39
  /**
37
40
  * Card.Image — an edge-to-edge media slot. Has no padding, so the image bleeds
38
41
  * to the card edges. Always place it first among the slots.
39
42
  */
40
- declare function Image({ className, alt, ...props }: ImageProps): import("react/jsx-runtime").JSX.Element;
43
+ declare function Image({ className, alt, aspectRatio, style, ...props }: ImageProps): import("react/jsx-runtime").JSX.Element;
41
44
  declare namespace Image {
42
45
  var displayName: string;
43
46
  }
@@ -15,20 +15,18 @@ export declare namespace Inline {
15
15
  var displayName: string;
16
16
  }
17
17
  export type CodeInlineLinkKind = "external" | "internal";
18
- type InlineLinkProps = Omit<useRender.ComponentProps<"a">, "children"> & {
19
- /** The link text, as a raw string, rendered as a code fragment. */
20
- children: string;
21
- /** 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. */
18
+ type InlineLinkProps = useRender.ComponentProps<"a"> & {
19
+ /** Link target scope. `"external"` (default) opens in a new tab; `"internal"` stays in the current tab. */
22
20
  kind?: CodeInlineLinkKind;
23
21
  };
24
22
  /**
25
23
  * Code.InlineLink — the inline-code chip rendered as a link: the same hairline
26
- * box, with a directional arrow behind the separator instead of a copy button.
24
+ * box, with an optional directional arrow behind the separator instead of a copy button.
27
25
  * Sibling of `Code.Inline`, sharing its chip visual (`.inline`) — never both a
28
26
  * copy button and a link on the same chip. Mirrors `ChipLink`'s shape (anchor
29
27
  * is the chip root, trailing icon nudges on hover, `data-kind` picks the icon).
30
28
  */
31
- export declare function InlineLink({ className, kind, children, render, ...props }: InlineLinkProps): import('react').ReactElement<unknown, string | import('react').JSXElementConstructor<any>>;
29
+ export declare function InlineLink({ kind, ...props }: InlineLinkProps): import('react').ReactElement<unknown, string | import('react').JSXElementConstructor<any>>;
32
30
  export declare namespace InlineLink {
33
31
  var displayName: string;
34
32
  }
@@ -4,7 +4,7 @@ type UpstreamRoot = React.ComponentProps<typeof CollapsiblePrimitive.Root>;
4
4
  type UpstreamTrigger = React.ComponentProps<typeof CollapsiblePrimitive.Trigger>;
5
5
  type UpstreamPanel = React.ComponentProps<typeof CollapsiblePrimitive.Panel>;
6
6
  declare const collapsibleRoot: (props?: ({
7
- variant?: "solid" | "default" | null | undefined;
7
+ variant?: "default" | "solid" | null | undefined;
8
8
  } & import('class-variance-authority/types').ClassProp) | undefined) => string;
9
9
  type RootProps = Omit<React.HTMLAttributes<HTMLDivElement>, "className" | "style"> & VariantProps<typeof collapsibleRoot> & {
10
10
  /** Visual treatment applied to the trigger. `solid` gives the trigger a contained surface background; `default` is transparent at rest and drenched-blue when open. */
@@ -1,7 +1,7 @@
1
1
  import { Drawer as DrawerPrimitive } from '@base-ui/react/drawer';
2
2
  type BorderColor = "primary" | "fg-minor" | "fg-support" | "none";
3
3
  type BorderStyle = "solid" | "dashed" | "none";
4
- type UpstreamRoot = React.ComponentProps<typeof DrawerPrimitive.Root>;
4
+ type UpstreamRoot<Payload = unknown> = React.ComponentProps<typeof DrawerPrimitive.Root<Payload>>;
5
5
  type UpstreamTrigger = React.ComponentProps<typeof DrawerPrimitive.Trigger>;
6
6
  type UpstreamPortal = React.ComponentProps<typeof DrawerPrimitive.Portal>;
7
7
  type UpstreamBackdrop = React.ComponentProps<typeof DrawerPrimitive.Backdrop>;
@@ -14,23 +14,23 @@ type UpstreamClose = React.ComponentProps<typeof DrawerPrimitive.Close>;
14
14
  type UpstreamIndent = React.ComponentProps<typeof DrawerPrimitive.Indent>;
15
15
  type UpstreamIndentBackground = React.ComponentProps<typeof DrawerPrimitive.IndentBackground>;
16
16
  type UpstreamSwipeArea = React.ComponentProps<typeof DrawerPrimitive.SwipeArea>;
17
- type RootProps = {
18
- open?: UpstreamRoot["open"];
17
+ type RootProps<Payload = unknown> = {
18
+ open?: UpstreamRoot<Payload>["open"];
19
19
  /** @default false */
20
- defaultOpen?: UpstreamRoot["defaultOpen"];
21
- onOpenChange?: UpstreamRoot["onOpenChange"];
22
- onOpenChangeComplete?: UpstreamRoot["onOpenChangeComplete"];
20
+ defaultOpen?: UpstreamRoot<Payload>["defaultOpen"];
21
+ onOpenChange?: UpstreamRoot<Payload>["onOpenChange"];
22
+ onOpenChangeComplete?: UpstreamRoot<Payload>["onOpenChangeComplete"];
23
23
  /** @default true */
24
- modal?: UpstreamRoot["modal"];
24
+ modal?: UpstreamRoot<Payload>["modal"];
25
25
  /** @default 'down' */
26
- swipeDirection?: UpstreamRoot["swipeDirection"];
27
- snapPoints?: UpstreamRoot["snapPoints"];
28
- snapPoint?: UpstreamRoot["snapPoint"];
29
- onSnapPointChange?: UpstreamRoot["onSnapPointChange"];
26
+ swipeDirection?: UpstreamRoot<Payload>["swipeDirection"];
27
+ snapPoints?: UpstreamRoot<Payload>["snapPoints"];
28
+ snapPoint?: UpstreamRoot<Payload>["snapPoint"];
29
+ onSnapPointChange?: UpstreamRoot<Payload>["onSnapPointChange"];
30
30
  /** @default false */
31
- disablePointerDismissal?: UpstreamRoot["disablePointerDismissal"];
31
+ disablePointerDismissal?: UpstreamRoot<Payload>["disablePointerDismissal"];
32
32
  /** @default false */
33
- snapToSequentialPoints?: UpstreamRoot["snapToSequentialPoints"];
33
+ snapToSequentialPoints?: UpstreamRoot<Payload>["snapToSequentialPoints"];
34
34
  /**
35
35
  * Colour of the border on the panel's open edge. Inherited by Drawer.Popup;
36
36
  * a Popup-level prop overrides it.
@@ -43,7 +43,7 @@ type RootProps = {
43
43
  * @default 'solid'
44
44
  */
45
45
  borderStyle?: BorderStyle;
46
- children?: UpstreamRoot["children"];
46
+ children?: UpstreamRoot<Payload>["children"];
47
47
  };
48
48
  /**
49
49
  * Drawer.Root — container that manages open/closed state and gesture interaction.
@@ -51,7 +51,7 @@ type RootProps = {
51
51
  * @see https://base-ui.com/react/components/drawer
52
52
  * @llm https://base-ui.com/react/components/drawer.md
53
53
  */
54
- export declare function Root({ borderColor, borderStyle, ...props }: RootProps): import("react/jsx-runtime").JSX.Element;
54
+ export declare function Root<Payload = unknown>({ borderColor, borderStyle, ...props }: RootProps<Payload>): import("react/jsx-runtime").JSX.Element;
55
55
  export declare namespace Root {
56
56
  var displayName: string;
57
57
  }
@@ -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" | "main" | "inherit" | "support" | "minor" | "brand" | "warning" | "info" | "oncolor" | "accent-1" | "accent-2" | "accent-3" | null | undefined;
6
+ variant?: "primary" | "positive" | "negative" | "oncolor" | "main" | "inherit" | "support" | "minor" | "brand" | "warning" | "info" | "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`. */
@@ -2,7 +2,7 @@ import { ReactNode } from 'react';
2
2
  import { VariantProps } from 'class-variance-authority';
3
3
  declare const logo: (props?: ({
4
4
  size?: "sm" | "md" | "lg" | "hero" | "xs" | "xl" | "fit" | null | undefined;
5
- variant?: "main" | "inherit" | "support" | "minor" | "brand" | "oncolor" | null | undefined;
5
+ variant?: "oncolor" | "main" | "inherit" | "support" | "minor" | "brand" | null | undefined;
6
6
  } & import('class-variance-authority/types').ClassProp) | undefined) => string;
7
7
  type Props = Omit<React.HTMLAttributes<HTMLSpanElement>, "children"> & VariantProps<typeof logo> & {
8
8
  /** Logo source — an image URL or an inline SVG node. Required; this primitive carries no brand default (see `ImFusionLogo` for our own mark). */
@@ -1,5 +1,5 @@
1
1
  import { Select as SelectPrimitive } from '@base-ui/react/select';
2
- type UpstreamRoot = React.ComponentProps<typeof SelectPrimitive.Root>;
2
+ type UpstreamRoot<Value = unknown, Multiple extends boolean | undefined = false> = React.ComponentProps<typeof SelectPrimitive.Root<Value, Multiple>>;
3
3
  type UpstreamLabel = React.ComponentProps<typeof SelectPrimitive.Label>;
4
4
  type UpstreamTrigger = React.ComponentProps<typeof SelectPrimitive.Trigger>;
5
5
  type UpstreamValue = React.ComponentProps<typeof SelectPrimitive.Value>;
@@ -18,37 +18,37 @@ type UpstreamGroupLabel = React.ComponentProps<typeof SelectPrimitive.GroupLabel
18
18
  type UpstreamSeparator = React.ComponentProps<typeof SelectPrimitive.Separator>;
19
19
  type UpstreamScrollUpArrow = React.ComponentProps<typeof SelectPrimitive.ScrollUpArrow>;
20
20
  type UpstreamScrollDownArrow = React.ComponentProps<typeof SelectPrimitive.ScrollDownArrow>;
21
- type RootProps = {
22
- value?: UpstreamRoot["value"];
23
- defaultValue?: UpstreamRoot["defaultValue"];
24
- onValueChange?: UpstreamRoot["onValueChange"];
21
+ type RootProps<Value = unknown, Multiple extends boolean | undefined = false> = {
22
+ value?: UpstreamRoot<Value, Multiple>["value"];
23
+ defaultValue?: UpstreamRoot<Value, Multiple>["defaultValue"];
24
+ onValueChange?: UpstreamRoot<Value, Multiple>["onValueChange"];
25
25
  /** @default false */
26
- defaultOpen?: UpstreamRoot["defaultOpen"];
27
- open?: UpstreamRoot["open"];
28
- onOpenChange?: UpstreamRoot["onOpenChange"];
29
- onOpenChangeComplete?: UpstreamRoot["onOpenChangeComplete"];
26
+ defaultOpen?: UpstreamRoot<Value, Multiple>["defaultOpen"];
27
+ open?: UpstreamRoot<Value, Multiple>["open"];
28
+ onOpenChange?: UpstreamRoot<Value, Multiple>["onOpenChange"];
29
+ onOpenChangeComplete?: UpstreamRoot<Value, Multiple>["onOpenChangeComplete"];
30
30
  /** @default false */
31
- multiple?: UpstreamRoot["multiple"];
31
+ multiple?: UpstreamRoot<Value, Multiple>["multiple"];
32
32
  /** @default false */
33
- disabled?: UpstreamRoot["disabled"];
33
+ disabled?: UpstreamRoot<Value, Multiple>["disabled"];
34
34
  /** @default false */
35
- readOnly?: UpstreamRoot["readOnly"];
35
+ readOnly?: UpstreamRoot<Value, Multiple>["readOnly"];
36
36
  /** @default false */
37
- required?: UpstreamRoot["required"];
37
+ required?: UpstreamRoot<Value, Multiple>["required"];
38
38
  /** @default true */
39
- modal?: UpstreamRoot["modal"];
39
+ modal?: UpstreamRoot<Value, Multiple>["modal"];
40
40
  /** @default true */
41
- highlightItemOnHover?: UpstreamRoot["highlightItemOnHover"];
42
- items?: UpstreamRoot["items"];
43
- isItemEqualToValue?: UpstreamRoot["isItemEqualToValue"];
44
- itemToStringLabel?: UpstreamRoot["itemToStringLabel"];
45
- itemToStringValue?: UpstreamRoot["itemToStringValue"];
46
- autoComplete?: UpstreamRoot["autoComplete"];
47
- form?: UpstreamRoot["form"];
48
- inputRef?: UpstreamRoot["inputRef"];
49
- actionsRef?: UpstreamRoot["actionsRef"];
50
- name?: UpstreamRoot["name"];
51
- id?: UpstreamRoot["id"];
41
+ highlightItemOnHover?: UpstreamRoot<Value, Multiple>["highlightItemOnHover"];
42
+ items?: UpstreamRoot<Value, Multiple>["items"];
43
+ isItemEqualToValue?: UpstreamRoot<Value, Multiple>["isItemEqualToValue"];
44
+ itemToStringLabel?: UpstreamRoot<Value, Multiple>["itemToStringLabel"];
45
+ itemToStringValue?: UpstreamRoot<Value, Multiple>["itemToStringValue"];
46
+ autoComplete?: UpstreamRoot<Value, Multiple>["autoComplete"];
47
+ form?: UpstreamRoot<Value, Multiple>["form"];
48
+ inputRef?: UpstreamRoot<Value, Multiple>["inputRef"];
49
+ actionsRef?: UpstreamRoot<Value, Multiple>["actionsRef"];
50
+ name?: UpstreamRoot<Value, Multiple>["name"];
51
+ id?: UpstreamRoot<Value, Multiple>["id"];
52
52
  children?: React.ReactNode;
53
53
  };
54
54
  /**
@@ -61,7 +61,7 @@ type RootProps = {
61
61
  * @doc https://base-ui.com/react/components/select
62
62
  * @llm https://base-ui.com/react/components/select.md
63
63
  */
64
- export declare function Root({ className, style, ...props }: RootProps & {
64
+ export declare function Root<Value = unknown, Multiple extends boolean | undefined = false>({ className, style, ...props }: RootProps<Value, Multiple> & {
65
65
  className?: string;
66
66
  style?: React.CSSProperties;
67
67
  }): import("react/jsx-runtime").JSX.Element;
@@ -13,7 +13,7 @@ type UpstreamPositioner = React.ComponentProps<typeof ToastPrimitive.Positioner>
13
13
  type UpstreamArrow = React.ComponentProps<typeof ToastPrimitive.Arrow>;
14
14
  declare const toastViewport: (props?: ({
15
15
  position?: "top-left" | "top-center" | "top-right" | "bottom-left" | "bottom-center" | "bottom-right" | null | undefined;
16
- width?: "content" | "default" | "compact" | "wide" | null | undefined;
16
+ width?: "default" | "content" | "compact" | "wide" | null | undefined;
17
17
  } & import('class-variance-authority/types').ClassProp) | undefined) => string;
18
18
  declare const toastRoot: (props?: ({
19
19
  variant?: "warning" | "info" | "neutral" | "success" | "error" | null | undefined;
@@ -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;
@@ -20,7 +20,7 @@ type OrderedListProps = useRender.ComponentProps<"ol"> & TypoProps & SpacingProp
20
20
  type UnorderedListProps = useRender.ComponentProps<"ul"> & TypoProps & SpacingProps;
21
21
  export type TypoLinkKind = "external" | "internal";
22
22
  type LinkProps = useRender.ComponentProps<"a"> & TypoProps & {
23
- /** 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. */
23
+ /** Link target scope. `"external"` (default) opens in a new tab; `"internal"` stays in the current tab. */
24
24
  kind?: TypoLinkKind;
25
25
  };
26
26
  /** Typo.H1 — top-level page heading. */
@@ -83,7 +83,7 @@ export declare function Highlight({ variant, className, render, ...props }: Inli
83
83
  export declare namespace Highlight {
84
84
  var displayName: string;
85
85
  }
86
- /** Typo.Link — inline anchor. Auto-appends a local Web UI directional icon (`ArrowUpRight` for external, `ArrowRight` for internal), mirroring ChipLink's affordance for prose links. */
86
+ /** Typo.Link — inline anchor with an optional local Web UI directional icon. */
87
87
  export declare function Link({ variant, kind, className, render, ...props }: LinkProps): import('react').ReactElement<unknown, string | import('react').JSXElementConstructor<any>>;
88
88
  export declare namespace Link {
89
89
  var displayName: string;