@handamade/psi-react 0.19.0 → 0.21.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.
- package/README.md +1 -1
- package/dist/AppShell/AppShell.d.ts +51 -0
- package/dist/AppShell/AppShell.d.ts.map +1 -0
- package/dist/Banner/Banner.d.ts +35 -0
- package/dist/Banner/Banner.d.ts.map +1 -0
- package/dist/Button/Button.d.ts +4 -0
- package/dist/Button/Button.d.ts.map +1 -1
- package/dist/CopyButton/CopyButton.d.ts +23 -0
- package/dist/CopyButton/CopyButton.d.ts.map +1 -0
- package/dist/CursorPagination/CursorPagination.d.ts +29 -0
- package/dist/CursorPagination/CursorPagination.d.ts.map +1 -0
- package/dist/Field/Field.d.ts +18 -3
- package/dist/Field/Field.d.ts.map +1 -1
- package/dist/Field/useFieldControl.d.ts +40 -0
- package/dist/Field/useFieldControl.d.ts.map +1 -0
- package/dist/InlineAlert/InlineAlert.d.ts +32 -0
- package/dist/InlineAlert/InlineAlert.d.ts.map +1 -0
- package/dist/NavBar/NavBar.d.ts +10 -2
- package/dist/NavBar/NavBar.d.ts.map +1 -1
- package/dist/NavTree/NavGroup.d.ts +22 -0
- package/dist/NavTree/NavGroup.d.ts.map +1 -0
- package/dist/NavTree/NavItem.d.ts +25 -0
- package/dist/NavTree/NavItem.d.ts.map +1 -0
- package/dist/NavTree/NavTree.d.ts +23 -0
- package/dist/NavTree/NavTree.d.ts.map +1 -0
- package/dist/Skeleton/Skeleton.d.ts +22 -0
- package/dist/Skeleton/Skeleton.d.ts.map +1 -0
- package/dist/SkipLink/SkipLink.d.ts +25 -0
- package/dist/SkipLink/SkipLink.d.ts.map +1 -0
- package/dist/Table/Table.d.ts +6 -3
- package/dist/Table/Table.d.ts.map +1 -1
- package/dist/Table/TableBody.d.ts +7 -4
- package/dist/Table/TableBody.d.ts.map +1 -1
- package/dist/Table/TableCaption.d.ts +21 -0
- package/dist/Table/TableCaption.d.ts.map +1 -0
- package/dist/Table/TableCell.d.ts +15 -5
- package/dist/Table/TableCell.d.ts.map +1 -1
- package/dist/Table/TableHead.d.ts +5 -3
- package/dist/Table/TableHead.d.ts.map +1 -1
- package/dist/Table/TableHeaderCell.d.ts +5 -3
- package/dist/Table/TableHeaderCell.d.ts.map +1 -1
- package/dist/Table/TableRow.d.ts +5 -3
- package/dist/Table/TableRow.d.ts.map +1 -1
- package/dist/Toast/Announcement.d.ts +30 -0
- package/dist/Toast/Announcement.d.ts.map +1 -0
- package/dist/Toast/Toast.d.ts +16 -2
- package/dist/Toast/Toast.d.ts.map +1 -1
- package/dist/Toast/ToastProvider.d.ts.map +1 -1
- package/dist/Toast/ToastRegion.d.ts +16 -7
- package/dist/Toast/ToastRegion.d.ts.map +1 -1
- package/dist/Toast/status.d.ts +15 -0
- package/dist/Toast/status.d.ts.map +1 -0
- package/dist/Toast/useToast.d.ts +6 -1
- package/dist/Toast/useToast.d.ts.map +1 -1
- package/dist/Toolbar/Toolbar.d.ts +16 -4
- package/dist/Toolbar/Toolbar.d.ts.map +1 -1
- package/dist/a11y-meta.d.ts.map +1 -1
- package/dist/icons/IconChevronLeft.d.ts +7 -0
- package/dist/icons/IconChevronLeft.d.ts.map +1 -0
- package/dist/icons/IconLogOut.d.ts +7 -0
- package/dist/icons/IconLogOut.d.ts.map +1 -0
- package/dist/icons/IconMenu.d.ts +7 -0
- package/dist/icons/IconMenu.d.ts.map +1 -0
- package/dist/icons/IconSimCard.d.ts +7 -0
- package/dist/icons/IconSimCard.d.ts.map +1 -0
- package/dist/icons/index.d.ts +4 -0
- package/dist/icons/index.d.ts.map +1 -1
- package/dist/index.d.ts +30 -4
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +1373 -1032
- package/dist/manifest.json +1044 -240
- package/dist/patterns.json +671 -3
- package/dist/styles.css +1 -1
- package/docs/Announcement.md +37 -0
- package/docs/AppShell.md +46 -0
- package/docs/AspectRatio.md +1 -1
- package/docs/Banner.md +54 -0
- package/docs/Button.md +2 -1
- package/docs/Card.md +1 -1
- package/docs/Checkbox.md +1 -1
- package/docs/CopyButton.md +51 -0
- package/docs/CursorPagination.md +45 -0
- package/docs/DescriptionItem.md +1 -1
- package/docs/DescriptionList.md +1 -1
- package/docs/Dialog.md +1 -1
- package/docs/Field.md +5 -3
- package/docs/IconButton.md +1 -1
- package/docs/InlineAlert.md +53 -0
- package/docs/Input.md +1 -1
- package/docs/Menu.md +1 -1
- package/docs/MenuItem.md +1 -1
- package/docs/MenuSeparator.md +1 -1
- package/docs/NavBar.md +4 -2
- package/docs/NavGroup.md +40 -0
- package/docs/NavItem.md +40 -0
- package/docs/NavTree.md +39 -0
- package/docs/Pagination.md +1 -1
- package/docs/Panel.md +1 -1
- package/docs/Select.md +1 -1
- package/docs/Skeleton.md +50 -0
- package/docs/SkipLink.md +40 -0
- package/docs/Switch.md +1 -1
- package/docs/Tab.md +1 -1
- package/docs/TabList.md +1 -1
- package/docs/TabPanel.md +1 -1
- package/docs/Table.md +1 -1
- package/docs/TableBody.md +3 -2
- package/docs/TableCaption.md +39 -0
- package/docs/TableCell.md +5 -2
- package/docs/TableHead.md +2 -1
- package/docs/TableHeaderCell.md +2 -1
- package/docs/TableRow.md +2 -1
- package/docs/Tabs.md +1 -1
- package/docs/Tag.md +1 -1
- package/docs/Toast.md +5 -3
- package/docs/ToastProvider.md +1 -1
- package/docs/ToastRegion.md +4 -4
- package/docs/Toolbar.md +5 -3
- package/docs/Tooltip.md +1 -1
- package/llms.txt +39 -9
- package/package.json +2 -2
package/README.md
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
# @handamade/psi-react
|
|
2
2
|
|
|
3
|
-
|
|
3
|
+
46 React 19 components consuming @handamade/psi-tokens. Zero runtime dependencies, CSS Modules, full TypeScript support.
|
|
4
4
|
|
|
5
5
|
## Installation
|
|
6
6
|
|
|
@@ -0,0 +1,51 @@
|
|
|
1
|
+
import type { HTMLAttributes, ReactNode, Ref } from "react";
|
|
2
|
+
export interface AppShellProps extends Omit<HTMLAttributes<HTMLDivElement>, "children"> {
|
|
3
|
+
/** A `SkipLink` (D88), rendered first so it is the first tab stop. Point its
|
|
4
|
+
* `href` at `#` plus `mainId`. */
|
|
5
|
+
skipLink?: ReactNode;
|
|
6
|
+
/** The header row, usually a `NavBar` (D88). It sits in a row of its own
|
|
7
|
+
* above the sidebar and `main`, so nothing scrolls under it. */
|
|
8
|
+
header?: ReactNode;
|
|
9
|
+
/** The sidebar's content, usually a `NavTree` (D88). The shell wraps it in a
|
|
10
|
+
* `<div>`, not an `<aside>`: a `NavTree` is already the landmark. */
|
|
11
|
+
sidebar?: ReactNode;
|
|
12
|
+
/** The page, rendered inside `<main>` (D88). */
|
|
13
|
+
children?: ReactNode;
|
|
14
|
+
/** Whether the sidebar is shown. Controlled: wire your Menu toggle's
|
|
15
|
+
* `aria-expanded` and this to one piece of state. Closed, the sidebar is
|
|
16
|
+
* `hidden`, so it leaves the layout and the accessibility tree, and stays in
|
|
17
|
+
* the DOM so the toggle's `aria-controls` keeps naming an element (D88).
|
|
18
|
+
* @default true */
|
|
19
|
+
sidebarOpen?: boolean;
|
|
20
|
+
/** A theme name for the sidebar alone, such as `"dark"`: sets
|
|
21
|
+
* `data-psi-theme` on the sidebar element, so every token inside re-resolves
|
|
22
|
+
* under that theme while the rest of the page keeps its own (D88). The
|
|
23
|
+
* sidebar paints `--psi-bg-primary` itself; a theme paints no background. */
|
|
24
|
+
sidebarTheme?: string;
|
|
25
|
+
/** `id` of the sidebar element, which a toggle names with `aria-controls`
|
|
26
|
+
* (D88). @default "sidebar" */
|
|
27
|
+
sidebarId?: string;
|
|
28
|
+
/** `id` of `<main>`, which a `SkipLink`'s `href` names (D88). @default "main" */
|
|
29
|
+
mainId?: string;
|
|
30
|
+
className?: string;
|
|
31
|
+
/** Forwarded ref to the root `<div>`. */
|
|
32
|
+
ref?: Ref<HTMLDivElement>;
|
|
33
|
+
}
|
|
34
|
+
/** The frame of an application (D88): a header row over a sidebar and a
|
|
35
|
+
* `<main>` that each scroll on their own, filling the viewport (`100dvh`).
|
|
36
|
+
* Because the header has a row of its own and `main` is its own scroller,
|
|
37
|
+
* nothing scrolls under the header, so a focused element is never obscured by
|
|
38
|
+
* it (WCAG 2.2 *Focus Not Obscured*) without `scroll-padding`.
|
|
39
|
+
*
|
|
40
|
+
* `main` carries `id={mainId}` and `tabIndex={-1}`: the target of a `SkipLink`,
|
|
41
|
+
* not a tab stop; focused by the skip link it draws the shared focus ring
|
|
42
|
+
* inside its box. A closed sidebar is `hidden`, not narrowed to icons; there is
|
|
43
|
+
* no responsive drawer and no stored open state, so this is a desktop frame.
|
|
44
|
+
* A page whose document must scroll as a whole does not use `AppShell`. Mount it
|
|
45
|
+
* at the root of the page with no margin or padding around it: it is `100dvh`
|
|
46
|
+
* tall, so anything around it makes the document scroll and slides the frame.
|
|
47
|
+
*
|
|
48
|
+
* Do not place a `ToastRegion` at `top-start` in an app with a skip link: the
|
|
49
|
+
* native top layer paints over the focused link. */
|
|
50
|
+
export declare function AppShell({ skipLink, header, sidebar, children, sidebarOpen, sidebarTheme, sidebarId, mainId, className, ref, ...rest }: AppShellProps): import("react").JSX.Element;
|
|
51
|
+
//# sourceMappingURL=AppShell.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"AppShell.d.ts","sourceRoot":"","sources":["../../src/AppShell/AppShell.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,SAAS,EAAE,GAAG,EAAE,MAAM,OAAO,CAAC;AAG5D,MAAM,WAAW,aAAc,SAAQ,IAAI,CAAC,cAAc,CAAC,cAAc,CAAC,EAAE,UAAU,CAAC;IACrF;sCACkC;IAClC,QAAQ,CAAC,EAAE,SAAS,CAAC;IACrB;oEACgE;IAChE,MAAM,CAAC,EAAE,SAAS,CAAC;IACnB;yEACqE;IACrE,OAAO,CAAC,EAAE,SAAS,CAAC;IACpB,gDAAgD;IAChD,QAAQ,CAAC,EAAE,SAAS,CAAC;IACrB;;;;uBAImB;IACnB,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB;;;iFAG6E;IAC7E,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB;mCAC+B;IAC/B,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,iFAAiF;IACjF,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,yCAAyC;IACzC,GAAG,CAAC,EAAE,GAAG,CAAC,cAAc,CAAC,CAAC;CAC3B;AAED;;;;;;;;;;;;;;;oDAeoD;AACpD,wBAAgB,QAAQ,CAAC,EACvB,QAAQ,EACR,MAAM,EACN,OAAO,EACP,QAAQ,EACR,WAAkB,EAClB,YAAY,EACZ,SAAqB,EACrB,MAAe,EACf,SAAS,EACT,GAAG,EACH,GAAG,IAAI,EACR,EAAE,aAAa,+BAgBf"}
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
import type { HTMLAttributes, ReactNode, Ref } from "react";
|
|
2
|
+
import type { StatusVariant } from "../Toast/status.js";
|
|
3
|
+
/** Banner's variants are the shared status axis (see Toast/status.ts). */
|
|
4
|
+
export type BannerVariant = StatusVariant;
|
|
5
|
+
export interface BannerProps extends Omit<HTMLAttributes<HTMLDivElement>, "title"> {
|
|
6
|
+
/** Status variant. @default "neutral" */
|
|
7
|
+
variant?: BannerVariant;
|
|
8
|
+
/** A short heading, rendered before the body in the medium weight. */
|
|
9
|
+
title?: ReactNode;
|
|
10
|
+
/** The message. */
|
|
11
|
+
children: ReactNode;
|
|
12
|
+
/** Trailing affordance — a ghost Button (Review, Retry, Learn more). */
|
|
13
|
+
action?: ReactNode;
|
|
14
|
+
/** When provided, renders the dismiss button and calls this. Banner does not
|
|
15
|
+
* remove itself; the owner disposes. */
|
|
16
|
+
onDismiss?: () => void;
|
|
17
|
+
/** The visually hidden status word (D83). A string replaces the default
|
|
18
|
+
* ("Success:", "Warning:", "Error:") — pass the translated word; `null`
|
|
19
|
+
* drops it. Unset keeps the default, and `neutral` has none. */
|
|
20
|
+
statusLabel?: string | null;
|
|
21
|
+
className?: string;
|
|
22
|
+
/** Forwarded ref to the underlying `<div>`. */
|
|
23
|
+
ref?: Ref<HTMLDivElement>;
|
|
24
|
+
}
|
|
25
|
+
/** A full-width, page-level status message (D86). It is not a live region:
|
|
26
|
+
* it renders no `role` and no `aria-live`, so mounting one announces nothing,
|
|
27
|
+
* and announcing stays the application's — route the same event through a
|
|
28
|
+
* `ToastRegion` or an `Announcement` if it must be spoken.
|
|
29
|
+
*
|
|
30
|
+
* Controlled and presentational: it holds no state and never removes itself;
|
|
31
|
+
* `onDismiss` reports and the owner disposes. A tinted strip with no radius
|
|
32
|
+
* and no border, it is meant to span the page edge to edge, above the
|
|
33
|
+
* content. For the same message inside content, use `InlineAlert`. */
|
|
34
|
+
export declare function Banner({ variant, title, children, action, onDismiss, statusLabel, className, ref, ...rest }: BannerProps): import("react").JSX.Element;
|
|
35
|
+
//# sourceMappingURL=Banner.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Banner.d.ts","sourceRoot":"","sources":["../../src/Banner/Banner.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,SAAS,EAAE,GAAG,EAAE,MAAM,OAAO,CAAC;AAI5D,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AAGxD,0EAA0E;AAC1E,MAAM,MAAM,aAAa,GAAG,aAAa,CAAC;AAE1C,MAAM,WAAW,WAAY,SAAQ,IAAI,CAAC,cAAc,CAAC,cAAc,CAAC,EAAE,OAAO,CAAC;IAChF,yCAAyC;IACzC,OAAO,CAAC,EAAE,aAAa,CAAC;IACxB,sEAAsE;IACtE,KAAK,CAAC,EAAE,SAAS,CAAC;IAClB,mBAAmB;IACnB,QAAQ,EAAE,SAAS,CAAC;IACpB,wEAAwE;IACxE,MAAM,CAAC,EAAE,SAAS,CAAC;IACnB;4CACwC;IACxC,SAAS,CAAC,EAAE,MAAM,IAAI,CAAC;IACvB;;oEAEgE;IAChE,WAAW,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC5B,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,+CAA+C;IAC/C,GAAG,CAAC,EAAE,GAAG,CAAC,cAAc,CAAC,CAAC;CAC3B;AASD;;;;;;;;sEAQsE;AACtE,wBAAgB,MAAM,CAAC,EACrB,OAAmB,EACnB,KAAK,EACL,QAAQ,EACR,MAAM,EACN,SAAS,EACT,WAAW,EACX,SAAS,EACT,GAAG,EACH,GAAG,IAAI,EACR,EAAE,WAAW,+BAuBb"}
|
package/dist/Button/Button.d.ts
CHANGED
|
@@ -8,6 +8,10 @@ export interface ButtonProps extends ButtonHTMLAttributes<HTMLButtonElement> {
|
|
|
8
8
|
variant?: Variant;
|
|
9
9
|
/** Height in px (24 | 32 | 40 | 48). @default 32 */
|
|
10
10
|
size?: Size;
|
|
11
|
+
/** Button type. Declared so the manifest lists it and a pattern can say
|
|
12
|
+
* `submit` (D87). No default is set: the platform's applies — `submit`
|
|
13
|
+
* inside a form, a plain button elsewhere. */
|
|
14
|
+
type?: "button" | "submit" | "reset";
|
|
11
15
|
/** Render as an anchor with this href (D33). disabled → aria-disabled,
|
|
12
16
|
* no href attribute, pointer-events: none. */
|
|
13
17
|
href?: string;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Button.d.ts","sourceRoot":"","sources":["../../src/Button/Button.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAEV,oBAAoB,EAEpB,GAAG,EACH,SAAS,EACV,MAAM,OAAO,CAAC;AAGf,KAAK,OAAO,GACR,QAAQ,GACR,eAAe,GACf,SAAS,GACT,gBAAgB,GAChB,OAAO,GACP,QAAQ,GACR,eAAe,GACf,SAAS,CAAC;AAEd,KAAK,IAAI,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,CAAC;AAE9B,MAAM,WAAW,WAAY,SAAQ,oBAAoB,CAAC,iBAAiB,CAAC;IAC1E,qBAAqB;IACrB,QAAQ,CAAC,EAAE,SAAS,CAAC;IACrB,yCAAyC;IACzC,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,oDAAoD;IACpD,IAAI,CAAC,EAAE,IAAI,CAAC;IACZ;kDAC8C;IAC9C,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,0CAA0C;IAC1C,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,uCAAuC;IACvC,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,+CAA+C;IAC/C,GAAG,CAAC,EAAE,GAAG,CAAC,iBAAiB,GAAG,iBAAiB,CAAC,CAAC;CAClD;AAoBD;8CAC8C;AAC9C,wBAAgB,MAAM,CAAC,EACrB,OAAmB,EACnB,IAAS,EACT,IAAI,EACJ,MAAM,EACN,GAAG,EACH,QAAQ,EACR,SAAS,EACT,OAAO,EACP,GAAG,EACH,GAAG,IAAI,EACR,EAAE,WAAW,+BA0Cb"}
|
|
1
|
+
{"version":3,"file":"Button.d.ts","sourceRoot":"","sources":["../../src/Button/Button.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAEV,oBAAoB,EAEpB,GAAG,EACH,SAAS,EACV,MAAM,OAAO,CAAC;AAGf,KAAK,OAAO,GACR,QAAQ,GACR,eAAe,GACf,SAAS,GACT,gBAAgB,GAChB,OAAO,GACP,QAAQ,GACR,eAAe,GACf,SAAS,CAAC;AAEd,KAAK,IAAI,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,CAAC;AAE9B,MAAM,WAAW,WAAY,SAAQ,oBAAoB,CAAC,iBAAiB,CAAC;IAC1E,qBAAqB;IACrB,QAAQ,CAAC,EAAE,SAAS,CAAC;IACrB,yCAAyC;IACzC,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,oDAAoD;IACpD,IAAI,CAAC,EAAE,IAAI,CAAC;IACZ;;kDAE8C;IAC9C,IAAI,CAAC,EAAE,QAAQ,GAAG,QAAQ,GAAG,OAAO,CAAC;IACrC;kDAC8C;IAC9C,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,0CAA0C;IAC1C,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,uCAAuC;IACvC,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,+CAA+C;IAC/C,GAAG,CAAC,EAAE,GAAG,CAAC,iBAAiB,GAAG,iBAAiB,CAAC,CAAC;CAClD;AAoBD;8CAC8C;AAC9C,wBAAgB,MAAM,CAAC,EACrB,OAAmB,EACnB,IAAS,EACT,IAAI,EACJ,MAAM,EACN,GAAG,EACH,QAAQ,EACR,SAAS,EACT,OAAO,EACP,GAAG,EACH,GAAG,IAAI,EACR,EAAE,WAAW,+BA0Cb"}
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
import type { ButtonProps } from "../Button/Button.js";
|
|
2
|
+
export interface CopyButtonProps {
|
|
3
|
+
/** The text written to the clipboard. */
|
|
4
|
+
value: string;
|
|
5
|
+
/** Visible text of the button. @default "Copy" */
|
|
6
|
+
label?: string;
|
|
7
|
+
/** Button height in px. @default 32 */
|
|
8
|
+
size?: 24 | 32 | 40 | 48;
|
|
9
|
+
/** Button variant. @default "ghost" */
|
|
10
|
+
variant?: ButtonProps["variant"];
|
|
11
|
+
/** Called with the outcome once the clipboard write settles. `"failed"` covers
|
|
12
|
+
* a rejected write and an environment with no clipboard API. */
|
|
13
|
+
onCopy?: (result: "copied" | "failed") => void;
|
|
14
|
+
className?: string;
|
|
15
|
+
}
|
|
16
|
+
/** Not a live region: it renders no role and no `aria-live`, never changes its
|
|
17
|
+
* label or icon after a copy, and announces nothing. The application speaks
|
|
18
|
+
* the result — route `onCopy` through its announcer or a Toast (D86).
|
|
19
|
+
*
|
|
20
|
+
* Copies `value` to the clipboard when pressed. A `Button` with a leading
|
|
21
|
+
* `IconCopy` and a visible label; the icon only reinforces the word. */
|
|
22
|
+
export declare function CopyButton({ value, label, size, variant, onCopy, className, }: CopyButtonProps): import("react").JSX.Element;
|
|
23
|
+
//# sourceMappingURL=CopyButton.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"CopyButton.d.ts","sourceRoot":"","sources":["../../src/CopyButton/CopyButton.tsx"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,qBAAqB,CAAC;AAGvD,MAAM,WAAW,eAAe;IAC9B,yCAAyC;IACzC,KAAK,EAAE,MAAM,CAAC;IACd,kDAAkD;IAClD,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,uCAAuC;IACvC,IAAI,CAAC,EAAE,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,CAAC;IACzB,uCAAuC;IACvC,OAAO,CAAC,EAAE,WAAW,CAAC,SAAS,CAAC,CAAC;IACjC;oEACgE;IAChE,MAAM,CAAC,EAAE,CAAC,MAAM,EAAE,QAAQ,GAAG,QAAQ,KAAK,IAAI,CAAC;IAC/C,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED;;;;;wEAKwE;AACxE,wBAAgB,UAAU,CAAC,EACzB,KAAK,EACL,KAAc,EACd,IAAS,EACT,OAAiB,EACjB,MAAM,EACN,SAAS,GACV,EAAE,eAAe,+BAuBjB"}
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
export interface CursorPaginationProps {
|
|
2
|
+
/** Whether a previous page exists — the consumer knows, from its tokens. */
|
|
3
|
+
hasPrevious: boolean;
|
|
4
|
+
/** Whether a next page exists. */
|
|
5
|
+
hasNext: boolean;
|
|
6
|
+
/** Called when the user asks for the previous page. */
|
|
7
|
+
onPrevious: () => void;
|
|
8
|
+
/** Called when the user asks for the next page. */
|
|
9
|
+
onNext: () => void;
|
|
10
|
+
/** Visible text of the previous button. @default "Previous" */
|
|
11
|
+
previousLabel?: string;
|
|
12
|
+
/** Visible text of the next button. @default "Next" */
|
|
13
|
+
nextLabel?: string;
|
|
14
|
+
/** Button height in px. @default 32 */
|
|
15
|
+
size?: 32 | 40;
|
|
16
|
+
/** Accessible name for the nav landmark. @default "Pagination" */
|
|
17
|
+
"aria-label"?: string;
|
|
18
|
+
className?: string;
|
|
19
|
+
}
|
|
20
|
+
/** A pager for a list that pages by cursor (D85): a backend that returns a
|
|
21
|
+
* `nextPageToken` and no page count. Two `ghost` Buttons with visible words in
|
|
22
|
+
* a `<nav>`; the chevrons only reinforce them. A direction that is not
|
|
23
|
+
* available is disabled. It holds no state and knows nothing about pages —
|
|
24
|
+
* the consumer holds the tokens and answers `hasPrevious` / `hasNext`.
|
|
25
|
+
*
|
|
26
|
+
* A sibling of `Pagination`, not a mode of it: `Pagination`'s contract is a
|
|
27
|
+
* page count and numbers, and this one has neither. */
|
|
28
|
+
export declare function CursorPagination({ hasPrevious, hasNext, onPrevious, onNext, previousLabel, nextLabel, size, "aria-label": ariaLabel, className, }: CursorPaginationProps): import("react").JSX.Element;
|
|
29
|
+
//# sourceMappingURL=CursorPagination.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"CursorPagination.d.ts","sourceRoot":"","sources":["../../src/CursorPagination/CursorPagination.tsx"],"names":[],"mappings":"AAIA,MAAM,WAAW,qBAAqB;IACpC,4EAA4E;IAC5E,WAAW,EAAE,OAAO,CAAC;IACrB,kCAAkC;IAClC,OAAO,EAAE,OAAO,CAAC;IACjB,uDAAuD;IACvD,UAAU,EAAE,MAAM,IAAI,CAAC;IACvB,mDAAmD;IACnD,MAAM,EAAE,MAAM,IAAI,CAAC;IACnB,+DAA+D;IAC/D,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,uDAAuD;IACvD,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,uCAAuC;IACvC,IAAI,CAAC,EAAE,EAAE,GAAG,EAAE,CAAC;IACf,kEAAkE;IAClE,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED;;;;;;;uDAOuD;AACvD,wBAAgB,gBAAgB,CAAC,EAC/B,WAAW,EACX,OAAO,EACP,UAAU,EACV,MAAM,EACN,aAA0B,EAC1B,SAAkB,EAClB,IAAS,EACT,YAAY,EAAE,SAAwB,EACtC,SAAS,GACV,EAAE,qBAAqB,+BAgBvB"}
|
package/dist/Field/Field.d.ts
CHANGED
|
@@ -3,6 +3,10 @@ import type { HTMLAttributes, ReactNode, Ref } from "react";
|
|
|
3
3
|
export interface FieldContextValue {
|
|
4
4
|
/** Generated (or htmlFor-overridden) id the label points at. */
|
|
5
5
|
id: string;
|
|
6
|
+
/** id of the rendered <label>, when there is one and the Field is not a
|
|
7
|
+
* group. A <label for> names only a labelable element, so a control that is
|
|
8
|
+
* not one (a combobox div, say) names itself with aria-labelledby (D84). */
|
|
9
|
+
labelId?: string;
|
|
6
10
|
/** id of the rendered message line, if any — joins aria-describedby. */
|
|
7
11
|
describedBy?: string;
|
|
8
12
|
/** True when the Field carries an error. */
|
|
@@ -23,16 +27,27 @@ export interface FieldProps extends HTMLAttributes<HTMLElement> {
|
|
|
23
27
|
error?: ReactNode;
|
|
24
28
|
/** Renders the required marker and flows `required` to the control. @default false */
|
|
25
29
|
required?: boolean;
|
|
30
|
+
/** With `required`, the label shows this text — "(Required)", say — instead
|
|
31
|
+
* of the asterisk, so the requirement is stated in words and not by a glyph
|
|
32
|
+
* alone (D84). Visible and aria-hidden: the control carries the programmatic
|
|
33
|
+
* signal (`required` / `aria-required`), and a screen reader that heard both
|
|
34
|
+
* would say it twice. Without `required` it renders nothing. */
|
|
35
|
+
requiredText?: string;
|
|
26
36
|
/** Group mode: fieldset/legend wrapping several self-labeled controls
|
|
27
37
|
* (Checkbox/Switch); the message describes the whole group. @default false */
|
|
28
38
|
group?: boolean;
|
|
29
39
|
/** Override the generated control id (pair it with the same id on the control). */
|
|
30
40
|
htmlFor?: string;
|
|
41
|
+
/** When false, the message line is not a live region: an application that
|
|
42
|
+
* routes every announcement through one announcer of its own sets this and
|
|
43
|
+
* announces field errors itself. The message still describes the control
|
|
44
|
+
* (aria-describedby). @default true (D81) */
|
|
45
|
+
announce?: boolean;
|
|
31
46
|
/** Forwarded ref to the root element. */
|
|
32
47
|
ref?: Ref<HTMLDivElement | HTMLFieldSetElement>;
|
|
33
48
|
}
|
|
34
49
|
/** Labeled form-row wrapper: label above, control, one message line below —
|
|
35
|
-
* description normally, error when set (aria-live).
|
|
36
|
-
* id/aria-describedby/aria-invalid into Input and Select (D49). */
|
|
37
|
-
export declare function Field({ label, description, error, required, group, htmlFor, className, children, ref, ...rest }: FieldProps): import("react").JSX.Element;
|
|
50
|
+
* description normally, error when set (aria-live unless `announce={false}`).
|
|
51
|
+
* Auto-wires id/aria-describedby/aria-invalid into Input and Select (D49). */
|
|
52
|
+
export declare function Field({ label, description, error, required, requiredText, group, htmlFor, announce, className, children, ref, ...rest }: FieldProps): import("react").JSX.Element;
|
|
38
53
|
//# sourceMappingURL=Field.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Field.d.ts","sourceRoot":"","sources":["../../src/Field/Field.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,cAAc,EAAE,SAAS,EAAE,GAAG,EAAE,MAAM,OAAO,CAAC;AAG5D,6EAA6E;AAC7E,MAAM,WAAW,iBAAiB;IAChC,gEAAgE;IAChE,EAAE,EAAE,MAAM,CAAC;IACX,wEAAwE;IACxE,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,4CAA4C;IAC5C,OAAO,EAAE,OAAO,CAAC;IACjB,sDAAsD;IACtD,QAAQ,EAAE,OAAO,CAAC;CACnB;AAED,eAAO,MAAM,YAAY,mDAAgD,CAAC;AAE1E,MAAM,WAAW,UAAW,SAAQ,cAAc,CAAC,WAAW,CAAC;IAC7D,qCAAqC;IACrC,QAAQ,CAAC,EAAE,SAAS,CAAC;IACrB,oEAAoE;IACpE,KAAK,CAAC,EAAE,SAAS,CAAC;IAClB,0EAA0E;IAC1E,WAAW,CAAC,EAAE,SAAS,CAAC;IACxB;8DAC0D;IAC1D,KAAK,CAAC,EAAE,SAAS,CAAC;IAClB,sFAAsF;IACtF,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB;kFAC8E;IAC9E,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,mFAAmF;IACnF,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,yCAAyC;IACzC,GAAG,CAAC,EAAE,GAAG,CAAC,cAAc,GAAG,mBAAmB,CAAC,CAAC;CACjD;AAED;;
|
|
1
|
+
{"version":3,"file":"Field.d.ts","sourceRoot":"","sources":["../../src/Field/Field.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,cAAc,EAAE,SAAS,EAAE,GAAG,EAAE,MAAM,OAAO,CAAC;AAG5D,6EAA6E;AAC7E,MAAM,WAAW,iBAAiB;IAChC,gEAAgE;IAChE,EAAE,EAAE,MAAM,CAAC;IACX;;gFAE4E;IAC5E,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,wEAAwE;IACxE,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,4CAA4C;IAC5C,OAAO,EAAE,OAAO,CAAC;IACjB,sDAAsD;IACtD,QAAQ,EAAE,OAAO,CAAC;CACnB;AAED,eAAO,MAAM,YAAY,mDAAgD,CAAC;AAE1E,MAAM,WAAW,UAAW,SAAQ,cAAc,CAAC,WAAW,CAAC;IAC7D,qCAAqC;IACrC,QAAQ,CAAC,EAAE,SAAS,CAAC;IACrB,oEAAoE;IACpE,KAAK,CAAC,EAAE,SAAS,CAAC;IAClB,0EAA0E;IAC1E,WAAW,CAAC,EAAE,SAAS,CAAC;IACxB;8DAC0D;IAC1D,KAAK,CAAC,EAAE,SAAS,CAAC;IAClB,sFAAsF;IACtF,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB;;;;oEAIgE;IAChE,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB;kFAC8E;IAC9E,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,mFAAmF;IACnF,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB;;;iDAG6C;IAC7C,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,yCAAyC;IACzC,GAAG,CAAC,EAAE,GAAG,CAAC,cAAc,GAAG,mBAAmB,CAAC,CAAC;CACjD;AAED;;8EAE8E;AAC9E,wBAAgB,KAAK,CAAC,EACpB,KAAK,EACL,WAAW,EACX,KAAK,EACL,QAAgB,EAChB,YAAY,EACZ,KAAa,EACb,OAAO,EACP,QAAe,EACf,SAAS,EACT,QAAQ,EACR,GAAG,EACH,GAAG,IAAI,EACR,EAAE,UAAU,+BA+DZ"}
|
|
@@ -0,0 +1,40 @@
|
|
|
1
|
+
/** What a control spreads onto its focusable element to join a Field (D84).
|
|
2
|
+
* Each key is present only when the Field supplies it: the flags are `true`
|
|
3
|
+
* or absent, never `false`. */
|
|
4
|
+
export interface FieldControlProps {
|
|
5
|
+
/** The id the Field's label points at. */
|
|
6
|
+
id?: string;
|
|
7
|
+
/** The Field's label. A `<label for>` names only a labelable element (input,
|
|
8
|
+
* select, textarea, button), and a custom control is usually a div, so the
|
|
9
|
+
* label is handed over by reference as well. */
|
|
10
|
+
"aria-labelledby"?: string;
|
|
11
|
+
/** The Field's message line — its description, or its error when set. */
|
|
12
|
+
"aria-describedby"?: string;
|
|
13
|
+
/** Present while the Field carries an error. */
|
|
14
|
+
"aria-invalid"?: true;
|
|
15
|
+
/** Present while the Field is required. */
|
|
16
|
+
"aria-required"?: true;
|
|
17
|
+
/** Present while the Field is required, for a native form control. */
|
|
18
|
+
required?: true;
|
|
19
|
+
}
|
|
20
|
+
/** The wiring a Field gives its control, as props, for a control Psi did not
|
|
21
|
+
* write (D84) — a combo box or date-time picker built on another library, say.
|
|
22
|
+
* Spread the result onto the element that takes focus:
|
|
23
|
+
*
|
|
24
|
+
* const field = useFieldControl();
|
|
25
|
+
* <div role="combobox" {...field} />
|
|
26
|
+
*
|
|
27
|
+
* Inside a Field it returns the `id` the label points at, `aria-labelledby`
|
|
28
|
+
* for the label itself (a `<label for>` names only a labelable element, and a
|
|
29
|
+
* div is not one), `aria-describedby` for the message line, and
|
|
30
|
+
* `aria-invalid`, `aria-required` and `required` when the Field sets them —
|
|
31
|
+
* the wiring Input and Select do for themselves, plus the name they get from
|
|
32
|
+
* `<label for>` for free.
|
|
33
|
+
* Outside a Field it returns an empty object, so a control can be used with
|
|
34
|
+
* or without one.
|
|
35
|
+
*
|
|
36
|
+
* The element must carry a role that admits `aria-required` (combobox,
|
|
37
|
+
* textbox, listbox, spinbutton, …). If it also merges its own
|
|
38
|
+
* `aria-describedby`, join the two ids with a space. */
|
|
39
|
+
export declare function useFieldControl(): FieldControlProps;
|
|
40
|
+
//# sourceMappingURL=useFieldControl.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"useFieldControl.d.ts","sourceRoot":"","sources":["../../src/Field/useFieldControl.ts"],"names":[],"mappings":"AAGA;;+BAE+B;AAC/B,MAAM,WAAW,iBAAiB;IAChC,0CAA0C;IAC1C,EAAE,CAAC,EAAE,MAAM,CAAC;IACZ;;oDAEgD;IAChD,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B,yEAAyE;IACzE,kBAAkB,CAAC,EAAE,MAAM,CAAC;IAC5B,gDAAgD;IAChD,cAAc,CAAC,EAAE,IAAI,CAAC;IACtB,2CAA2C;IAC3C,eAAe,CAAC,EAAE,IAAI,CAAC;IACvB,sEAAsE;IACtE,QAAQ,CAAC,EAAE,IAAI,CAAC;CACjB;AAED;;;;;;;;;;;;;;;;;;wDAkBwD;AACxD,wBAAgB,eAAe,IAAI,iBAAiB,CAUnD"}
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
import type { HTMLAttributes, ReactNode, Ref } from "react";
|
|
2
|
+
import type { StatusVariant } from "../Toast/status.js";
|
|
3
|
+
/** InlineAlert's variants are the shared status axis (see Toast/status.ts). */
|
|
4
|
+
export type InlineAlertVariant = StatusVariant;
|
|
5
|
+
export interface InlineAlertProps extends Omit<HTMLAttributes<HTMLDivElement>, "title"> {
|
|
6
|
+
/** Status variant. @default "neutral" */
|
|
7
|
+
variant?: InlineAlertVariant;
|
|
8
|
+
/** A short heading, rendered before the body in the medium weight. */
|
|
9
|
+
title?: ReactNode;
|
|
10
|
+
/** The message. */
|
|
11
|
+
children: ReactNode;
|
|
12
|
+
/** Trailing affordance — a ghost Button (Review, Retry, Learn more). */
|
|
13
|
+
action?: ReactNode;
|
|
14
|
+
/** The visually hidden status word (D83). A string replaces the default
|
|
15
|
+
* ("Success:", "Warning:", "Error:") — pass the translated word; `null`
|
|
16
|
+
* drops it. Unset keeps the default, and `neutral` has none. */
|
|
17
|
+
statusLabel?: string | null;
|
|
18
|
+
className?: string;
|
|
19
|
+
/** Forwarded ref to the underlying `<div>`. */
|
|
20
|
+
ref?: Ref<HTMLDivElement>;
|
|
21
|
+
}
|
|
22
|
+
/** Not `role="alert"`, despite its name. It is not a live region: it renders
|
|
23
|
+
* no `role` and no `aria-live`, so mounting one announces nothing, and
|
|
24
|
+
* announcing stays the application's — route the same event through a
|
|
25
|
+
* `ToastRegion` or an `Announcement` if it must be spoken.
|
|
26
|
+
*
|
|
27
|
+
* A status message that sits inside content (D86): above a form, in a panel.
|
|
28
|
+
* A tinted surface with a 1px border in the variant's colour and a radius; it
|
|
29
|
+
* fills the width of its container rather than setting its own. Presentational
|
|
30
|
+
* and stateless, with no dismiss button. For a page-wide strip, use `Banner`. */
|
|
31
|
+
export declare function InlineAlert({ variant, title, children, action, statusLabel, className, ref, ...rest }: InlineAlertProps): import("react").JSX.Element;
|
|
32
|
+
//# sourceMappingURL=InlineAlert.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"InlineAlert.d.ts","sourceRoot":"","sources":["../../src/InlineAlert/InlineAlert.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,SAAS,EAAE,GAAG,EAAE,MAAM,OAAO,CAAC;AAE5D,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AAGxD,+EAA+E;AAC/E,MAAM,MAAM,kBAAkB,GAAG,aAAa,CAAC;AAE/C,MAAM,WAAW,gBAAiB,SAAQ,IAAI,CAAC,cAAc,CAAC,cAAc,CAAC,EAAE,OAAO,CAAC;IACrF,yCAAyC;IACzC,OAAO,CAAC,EAAE,kBAAkB,CAAC;IAC7B,sEAAsE;IACtE,KAAK,CAAC,EAAE,SAAS,CAAC;IAClB,mBAAmB;IACnB,QAAQ,EAAE,SAAS,CAAC;IACpB,wEAAwE;IACxE,MAAM,CAAC,EAAE,SAAS,CAAC;IACnB;;oEAEgE;IAChE,WAAW,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC5B,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,+CAA+C;IAC/C,GAAG,CAAC,EAAE,GAAG,CAAC,cAAc,CAAC,CAAC;CAC3B;AASD;;;;;;;;iFAQiF;AACjF,wBAAgB,WAAW,CAAC,EAC1B,OAAmB,EACnB,KAAK,EACL,QAAQ,EACR,MAAM,EACN,WAAW,EACX,SAAS,EACT,GAAG,EACH,GAAG,IAAI,EACR,EAAE,gBAAgB,+BAkBlB"}
|
package/dist/NavBar/NavBar.d.ts
CHANGED
|
@@ -4,11 +4,19 @@ export interface NavBarProps extends HTMLAttributes<HTMLElement> {
|
|
|
4
4
|
brand?: ReactNode;
|
|
5
5
|
/** Trailing actions slot (theme switch, CTA). */
|
|
6
6
|
actions?: ReactNode;
|
|
7
|
-
/** Nav links.
|
|
7
|
+
/** Nav links. The `<nav>` renders only when there are children, so a bar with
|
|
8
|
+
* a brand and actions and no links has no empty landmark (D88). */
|
|
8
9
|
children?: ReactNode;
|
|
10
|
+
/** Accessible name of the links' `<nav>` (its `aria-label`). Rest props land
|
|
11
|
+
* on the `<header>`, so this is the only way to label the `<nav>` (D88). */
|
|
12
|
+
navLabel?: string;
|
|
13
|
+
/** Lay the row out at full width: it drops `psi-container` (the centred
|
|
14
|
+
* max-width column) and keeps the `--psi-gutter` side padding. For an
|
|
15
|
+
* application header over a full-width frame (D88). @default false */
|
|
16
|
+
fluid?: boolean;
|
|
9
17
|
/** Forwarded ref to the header element. */
|
|
10
18
|
ref?: Ref<HTMLElement>;
|
|
11
19
|
}
|
|
12
20
|
/** Top navigation bar with brand, nav-link, and trailing-action slots. */
|
|
13
|
-
export declare function NavBar({ brand, actions, children, className, ref, ...rest }: NavBarProps): import("react").JSX.Element;
|
|
21
|
+
export declare function NavBar({ brand, actions, children, navLabel, fluid, className, ref, ...rest }: NavBarProps): import("react").JSX.Element;
|
|
14
22
|
//# sourceMappingURL=NavBar.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"NavBar.d.ts","sourceRoot":"","sources":["../../src/NavBar/NavBar.tsx"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"NavBar.d.ts","sourceRoot":"","sources":["../../src/NavBar/NavBar.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,cAAc,EAAE,SAAS,EAAE,GAAG,EAAE,MAAM,OAAO,CAAC;AAG5D,MAAM,WAAW,WAAY,SAAQ,cAAc,CAAC,WAAW,CAAC;IAC9D,uDAAuD;IACvD,KAAK,CAAC,EAAE,SAAS,CAAC;IAClB,iDAAiD;IACjD,OAAO,CAAC,EAAE,SAAS,CAAC;IACpB;uEACmE;IACnE,QAAQ,CAAC,EAAE,SAAS,CAAC;IACrB;gFAC4E;IAC5E,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB;;0EAEsE;IACtE,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,2CAA2C;IAC3C,GAAG,CAAC,EAAE,GAAG,CAAC,WAAW,CAAC,CAAC;CACxB;AAED,0EAA0E;AAC1E,wBAAgB,MAAM,CAAC,EAAE,KAAK,EAAE,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAE,KAAa,EAAE,SAAS,EAAE,GAAG,EAAE,GAAG,IAAI,EAAE,EAAE,WAAW,+BAgBjH"}
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
import type { ReactNode } from "react";
|
|
2
|
+
export interface NavGroupProps {
|
|
3
|
+
/** The group's visible label, such as "Reports". */
|
|
4
|
+
label: ReactNode;
|
|
5
|
+
/** Whether the group's items are shown. Controlled. */
|
|
6
|
+
open: boolean;
|
|
7
|
+
/** Called with the next state when the button is pressed. The group never
|
|
8
|
+
* changes `open` itself. */
|
|
9
|
+
onOpenChange: (open: boolean) => void;
|
|
10
|
+
/** `NavItem`s of the group. */
|
|
11
|
+
children: ReactNode;
|
|
12
|
+
className?: string;
|
|
13
|
+
}
|
|
14
|
+
/** A collapsible group of `NavItem`s in a `NavTree` (D88). Controlled-only,
|
|
15
|
+
* like `Tabs` (D67): `open` and `onOpenChange` are required and nothing is
|
|
16
|
+
* remembered. Renders a native `<button aria-expanded aria-controls>` over a
|
|
17
|
+
* `<ul>` that is `hidden` when closed, so the items leave the layout and the
|
|
18
|
+
* accessibility tree while `aria-controls` keeps naming an element. The
|
|
19
|
+
* chevron turns with the state and is `aria-hidden`: the label and
|
|
20
|
+
* `aria-expanded` carry the meaning. */
|
|
21
|
+
export declare function NavGroup({ label, open, onOpenChange, children, className }: NavGroupProps): import("react").JSX.Element;
|
|
22
|
+
//# sourceMappingURL=NavGroup.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"NavGroup.d.ts","sourceRoot":"","sources":["../../src/NavTree/NavGroup.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AAIvC,MAAM,WAAW,aAAa;IAC5B,oDAAoD;IACpD,KAAK,EAAE,SAAS,CAAC;IACjB,uDAAuD;IACvD,IAAI,EAAE,OAAO,CAAC;IACd;gCAC4B;IAC5B,YAAY,EAAE,CAAC,IAAI,EAAE,OAAO,KAAK,IAAI,CAAC;IACtC,+BAA+B;IAC/B,QAAQ,EAAE,SAAS,CAAC;IACpB,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED;;;;;;wCAMwC;AACxC,wBAAgB,QAAQ,CAAC,EAAE,KAAK,EAAE,IAAI,EAAE,YAAY,EAAE,QAAQ,EAAE,SAAS,EAAE,EAAE,aAAa,+BAoBzF"}
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
import type { HTMLAttributes, ReactNode, Ref } from "react";
|
|
2
|
+
export interface NavItemProps extends Omit<HTMLAttributes<HTMLLIElement>, "children"> {
|
|
3
|
+
/** Without `href`: one anchor, your router's link — put `aria-current="page"`
|
|
4
|
+
* on the current one. With `href`: the link's text. */
|
|
5
|
+
children: ReactNode;
|
|
6
|
+
/** Render the anchor yourself (D88), for a plain link or a preset: the
|
|
7
|
+
* `<li>` holds `<a href>` with `children` as its text. Router apps leave it
|
|
8
|
+
* out and pass their own link as the child, so the link keeps its own
|
|
9
|
+
* handlers. */
|
|
10
|
+
href?: string;
|
|
11
|
+
/** Mark the link as the current page (`aria-current="page"`). Only with
|
|
12
|
+
* `href`; a link you pass as a child carries its own `aria-current`. */
|
|
13
|
+
current?: boolean;
|
|
14
|
+
className?: string;
|
|
15
|
+
/** Forwarded ref to the `<li>`. */
|
|
16
|
+
ref?: Ref<HTMLLIElement>;
|
|
17
|
+
}
|
|
18
|
+
/** One entry of a `NavTree` (D88): an `<li>` that styles the single anchor
|
|
19
|
+
* inside it. Router apps pass their own link as the child, so it keeps its
|
|
20
|
+
* `href`, `aria-current` and handlers; `href` is for plain links and for
|
|
21
|
+
* presets, where the compose tree can hold only manifest components and a raw
|
|
22
|
+
* `<a>` is not one. The current page is never marked by colour alone: medium
|
|
23
|
+
* weight, a raised surface and a bar at the inline start. */
|
|
24
|
+
export declare function NavItem({ children, href, current, className, ref, ...rest }: NavItemProps): import("react").JSX.Element;
|
|
25
|
+
//# sourceMappingURL=NavItem.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"NavItem.d.ts","sourceRoot":"","sources":["../../src/NavTree/NavItem.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,SAAS,EAAE,GAAG,EAAE,MAAM,OAAO,CAAC;AAG5D,MAAM,WAAW,YAAa,SAAQ,IAAI,CAAC,cAAc,CAAC,aAAa,CAAC,EAAE,UAAU,CAAC;IACnF;2DACuD;IACvD,QAAQ,EAAE,SAAS,CAAC;IACpB;;;mBAGe;IACf,IAAI,CAAC,EAAE,MAAM,CAAC;IACd;4EACwE;IACxE,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,mCAAmC;IACnC,GAAG,CAAC,EAAE,GAAG,CAAC,aAAa,CAAC,CAAC;CAC1B;AAED;;;;;6DAK6D;AAC7D,wBAAgB,OAAO,CAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,OAAO,EAAE,SAAS,EAAE,GAAG,EAAE,GAAG,IAAI,EAAE,EAAE,YAAY,+BAazF"}
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
import type { HTMLAttributes, ReactNode, Ref } from "react";
|
|
2
|
+
export interface NavTreeProps extends Omit<HTMLAttributes<HTMLElement>, "aria-label" | "children"> {
|
|
3
|
+
/**
|
|
4
|
+
* Accessible name of the navigation landmark, such as "Main". Required: an
|
|
5
|
+
* app has more than one `<nav>` (a header's, a sidebar's), and an unnamed
|
|
6
|
+
* one is indistinguishable from the rest. Declared here rather than
|
|
7
|
+
* inherited so docgen keeps it in the manifest (D60).
|
|
8
|
+
*/
|
|
9
|
+
"aria-label": string;
|
|
10
|
+
/** `NavItem`s and `NavGroup`s — each renders an `<li>`. */
|
|
11
|
+
children: ReactNode;
|
|
12
|
+
className?: string;
|
|
13
|
+
/** Forwarded ref to the `<nav>`. */
|
|
14
|
+
ref?: Ref<HTMLElement>;
|
|
15
|
+
}
|
|
16
|
+
/** A navigation tree (D88): a `<nav aria-label>` around a `<ul>` of `NavItem`s
|
|
17
|
+
* and `NavGroup`s. Native elements only — *Tab* moves through the group
|
|
18
|
+
* buttons and the links of open groups; there is no roving focus and no
|
|
19
|
+
* `role="menu"` or `role="tree"`, because site navigation is a list of links,
|
|
20
|
+
* not a widget. Router-agnostic: pass your router's link inside each
|
|
21
|
+
* `NavItem`, with `aria-current="page"` on the current one. */
|
|
22
|
+
export declare function NavTree({ children, className, ref, ...rest }: NavTreeProps): import("react").JSX.Element;
|
|
23
|
+
//# sourceMappingURL=NavTree.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"NavTree.d.ts","sourceRoot":"","sources":["../../src/NavTree/NavTree.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,SAAS,EAAE,GAAG,EAAE,MAAM,OAAO,CAAC;AAG5D,MAAM,WAAW,YAAa,SAAQ,IAAI,CAAC,cAAc,CAAC,WAAW,CAAC,EAAE,YAAY,GAAG,UAAU,CAAC;IAChG;;;;;OAKG;IACH,YAAY,EAAE,MAAM,CAAC;IACrB,2DAA2D;IAC3D,QAAQ,EAAE,SAAS,CAAC;IACpB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,oCAAoC;IACpC,GAAG,CAAC,EAAE,GAAG,CAAC,WAAW,CAAC,CAAC;CACxB;AAED;;;;;+DAK+D;AAC/D,wBAAgB,OAAO,CAAC,EAAE,QAAQ,EAAE,SAAS,EAAE,GAAG,EAAE,GAAG,IAAI,EAAE,EAAE,YAAY,+BAO1E"}
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
import type { HTMLAttributes, Ref } from "react";
|
|
2
|
+
export interface SkeletonProps extends HTMLAttributes<HTMLDivElement> {
|
|
3
|
+
/** `text` renders `lines` stacked bars; `block` one box. @default "text" */
|
|
4
|
+
variant?: "text" | "block";
|
|
5
|
+
/** Number of text lines; the last of several is shorter. Text only. @default 1 */
|
|
6
|
+
lines?: number;
|
|
7
|
+
/** Height of a block, from the size scale. Block only. @default 40 */
|
|
8
|
+
size?: 24 | 32 | 40 | 48;
|
|
9
|
+
className?: string;
|
|
10
|
+
/** Forwarded ref to the underlying `<div>`. */
|
|
11
|
+
ref?: Ref<HTMLDivElement>;
|
|
12
|
+
}
|
|
13
|
+
/** A loading placeholder. It is not a live region: it renders no `role` and
|
|
14
|
+
* no `aria-live`, and it is always `aria-hidden="true"`, so assistive tech
|
|
15
|
+
* skips it entirely. Put `aria-busy` on the region the skeleton stands for —
|
|
16
|
+
* that is what tells a screen reader the content is coming.
|
|
17
|
+
*
|
|
18
|
+
* Its width fills the container; size the container, not the skeleton. The
|
|
19
|
+
* pulse is an opacity animation that stops under
|
|
20
|
+
* `prefers-reduced-motion: reduce` (D86). */
|
|
21
|
+
export declare function Skeleton({ variant, lines, size, className, ref, ...rest }: SkeletonProps): import("react").JSX.Element;
|
|
22
|
+
//# sourceMappingURL=Skeleton.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Skeleton.d.ts","sourceRoot":"","sources":["../../src/Skeleton/Skeleton.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,GAAG,EAAE,MAAM,OAAO,CAAC;AAGjD,MAAM,WAAW,aAAc,SAAQ,cAAc,CAAC,cAAc,CAAC;IACnE,4EAA4E;IAC5E,OAAO,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC;IAC3B,kFAAkF;IAClF,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,sEAAsE;IACtE,IAAI,CAAC,EAAE,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,CAAC;IACzB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,+CAA+C;IAC/C,GAAG,CAAC,EAAE,GAAG,CAAC,cAAc,CAAC,CAAC;CAC3B;AAED;;;;;;;6CAO6C;AAC7C,wBAAgB,QAAQ,CAAC,EACvB,OAAgB,EAChB,KAAS,EACT,IAAS,EACT,SAAS,EACT,GAAG,EACH,GAAG,IAAI,EACR,EAAE,aAAa,+BAiBf"}
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
import type { AnchorHTMLAttributes, ReactNode, Ref } from "react";
|
|
2
|
+
export interface SkipLinkProps extends AnchorHTMLAttributes<HTMLAnchorElement> {
|
|
3
|
+
/** Fragment of the element to skip to, such as `"#main"`. The target must be
|
|
4
|
+
* focusable (`tabIndex={-1}` is enough), or focus does not move. */
|
|
5
|
+
href: string;
|
|
6
|
+
/** Visible text, such as "Skip to content". */
|
|
7
|
+
children: ReactNode;
|
|
8
|
+
/** Forwarded ref to the anchor. */
|
|
9
|
+
ref?: Ref<HTMLAnchorElement>;
|
|
10
|
+
}
|
|
11
|
+
/** A link to the page's main content, invisible until it takes keyboard focus
|
|
12
|
+
* and then fixed at the inline-start top corner on a surface, drawing the
|
|
13
|
+
* shared focus ring (D88). Render it first in the document.
|
|
14
|
+
*
|
|
15
|
+
* No script: native fragment navigation moves focus to a target that is
|
|
16
|
+
* focusable, so the next *Tab* continues from inside it. `AppShell`'s `main`
|
|
17
|
+
* is one (`tabIndex={-1}`); a bare `<main>` is not, so give it one.
|
|
18
|
+
*
|
|
19
|
+
* A modal `Dialog` makes the rest of the document inert, so the link never
|
|
20
|
+
* needs to beat one. A `ToastRegion` is on the native top layer, which paints
|
|
21
|
+
* above everything whatever its `z-index`: do not place one at `top-start`
|
|
22
|
+
* (its default is `bottom-end`) in an app with a skip link, or it covers the
|
|
23
|
+
* focused link. */
|
|
24
|
+
export declare function SkipLink({ className, ref, children, ...rest }: SkipLinkProps): import("react").JSX.Element;
|
|
25
|
+
//# sourceMappingURL=SkipLink.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"SkipLink.d.ts","sourceRoot":"","sources":["../../src/SkipLink/SkipLink.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,oBAAoB,EAAE,SAAS,EAAE,GAAG,EAAE,MAAM,OAAO,CAAC;AAGlE,MAAM,WAAW,aAAc,SAAQ,oBAAoB,CAAC,iBAAiB,CAAC;IAC5E;wEACoE;IACpE,IAAI,EAAE,MAAM,CAAC;IACb,+CAA+C;IAC/C,QAAQ,EAAE,SAAS,CAAC;IACpB,mCAAmC;IACnC,GAAG,CAAC,EAAE,GAAG,CAAC,iBAAiB,CAAC,CAAC;CAC9B;AAED;;;;;;;;;;;;mBAYmB;AACnB,wBAAgB,QAAQ,CAAC,EAAE,SAAS,EAAE,GAAG,EAAE,QAAQ,EAAE,GAAG,IAAI,EAAE,EAAE,aAAa,+BAO5E"}
|
package/dist/Table/Table.d.ts
CHANGED
|
@@ -1,11 +1,14 @@
|
|
|
1
|
-
import type { ReactNode, Ref } from "react";
|
|
1
|
+
import type { ReactNode, Ref, TableHTMLAttributes } from "react";
|
|
2
2
|
export type TableSize = 32 | 40 | 48;
|
|
3
3
|
/** Controlled sort state. `null` means no column is sorted. */
|
|
4
4
|
export interface TableSortState {
|
|
5
5
|
key: string;
|
|
6
6
|
direction: "asc" | "desc";
|
|
7
7
|
}
|
|
8
|
-
|
|
8
|
+
/** Remaining HTML attributes land on the `<table>` (D85): `aria-label`,
|
|
9
|
+
* `aria-busy` while a page loads, `id`, `data-*`. The table's own attributes
|
|
10
|
+
* (`data-size`) win. */
|
|
11
|
+
export interface TableProps extends Omit<TableHTMLAttributes<HTMLTableElement>, "children"> {
|
|
9
12
|
/** Row height in px. @default 40 */
|
|
10
13
|
size?: TableSize;
|
|
11
14
|
/** Pins the header while the body scrolls. */
|
|
@@ -38,5 +41,5 @@ export interface TableProps {
|
|
|
38
41
|
}
|
|
39
42
|
/** Data table on native table semantics. Holds no state: sorting, selection
|
|
40
43
|
* and pagination are the consumer's (D62, extending D50/D53). */
|
|
41
|
-
export declare function Table({ size, stickyHeader, sortable, sort, onSortChange, selectable, selected, onSelectionChange, children, className, ref, }: TableProps): import("react").JSX.Element;
|
|
44
|
+
export declare function Table({ size, stickyHeader, sortable, sort, onSortChange, selectable, selected, onSelectionChange, children, className, ref, ...rest }: TableProps): import("react").JSX.Element;
|
|
42
45
|
//# sourceMappingURL=Table.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Table.d.ts","sourceRoot":"","sources":["../../src/Table/Table.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,SAAS,EAAE,GAAG,EAAE,MAAM,OAAO,CAAC;
|
|
1
|
+
{"version":3,"file":"Table.d.ts","sourceRoot":"","sources":["../../src/Table/Table.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,SAAS,EAAE,GAAG,EAAE,mBAAmB,EAAE,MAAM,OAAO,CAAC;AAKjE,MAAM,MAAM,SAAS,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,CAAC;AAErC,+DAA+D;AAC/D,MAAM,WAAW,cAAc;IAC7B,GAAG,EAAE,MAAM,CAAC;IACZ,SAAS,EAAE,KAAK,GAAG,MAAM,CAAC;CAC3B;AAiDD;;wBAEwB;AACxB,MAAM,WAAW,UAAW,SAAQ,IAAI,CAAC,mBAAmB,CAAC,gBAAgB,CAAC,EAAE,UAAU,CAAC;IACzF,oCAAoC;IACpC,IAAI,CAAC,EAAE,SAAS,CAAC;IACjB,8CAA8C;IAC9C,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB,4EAA4E;IAC5E,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,4DAA4D;IAC5D,IAAI,CAAC,EAAE,cAAc,GAAG,IAAI,CAAC;IAC7B;;;;;;;;OAQG;IACH,YAAY,CAAC,EAAE,CAAC,IAAI,EAAE,cAAc,KAAK,IAAI,CAAC;IAC9C,iDAAiD;IACjD,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,gEAAgE;IAChE,QAAQ,CAAC,EAAE,WAAW,CAAC,MAAM,CAAC,CAAC;IAC/B,gFAAgF;IAChF,iBAAiB,CAAC,EAAE,CAAC,QAAQ,EAAE,WAAW,CAAC,MAAM,CAAC,KAAK,IAAI,CAAC;IAC5D,+BAA+B;IAC/B,QAAQ,EAAE,SAAS,CAAC;IACpB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,yDAAyD;IACzD,GAAG,CAAC,EAAE,GAAG,CAAC,gBAAgB,CAAC,CAAC;CAC7B;AAED;iEACiE;AACjE,wBAAgB,KAAK,CAAC,EACpB,IAAS,EACT,YAAY,EACZ,QAAgB,EAChB,IAAW,EACX,YAAY,EACZ,UAAkB,EAClB,QAA0B,EAC1B,iBAAiB,EACjB,QAAQ,EACR,SAAS,EACT,GAAG,EACH,GAAG,IAAI,EACR,EAAE,UAAU,+BAkBZ"}
|
|
@@ -1,9 +1,12 @@
|
|
|
1
|
-
import type { ReactNode } from "react";
|
|
2
|
-
export interface TableBodyProps {
|
|
1
|
+
import type { HTMLAttributes, ReactNode, Ref } from "react";
|
|
2
|
+
export interface TableBodyProps extends Omit<HTMLAttributes<HTMLTableSectionElement>, "children"> {
|
|
3
3
|
/** The body TableRows. */
|
|
4
4
|
children: ReactNode;
|
|
5
5
|
className?: string;
|
|
6
|
+
/** Forwarded ref to the `<tbody>`. */
|
|
7
|
+
ref?: Ref<HTMLTableSectionElement>;
|
|
6
8
|
}
|
|
7
|
-
/** `<tbody>` wrapper.
|
|
8
|
-
|
|
9
|
+
/** `<tbody>` wrapper. Remaining attributes land on it (D85) — `aria-busy`
|
|
10
|
+
* while a page of rows loads, say. */
|
|
11
|
+
export declare function TableBody({ children, className, ref, ...rest }: TableBodyProps): import("react").JSX.Element;
|
|
9
12
|
//# sourceMappingURL=TableBody.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"TableBody.d.ts","sourceRoot":"","sources":["../../src/Table/TableBody.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;
|
|
1
|
+
{"version":3,"file":"TableBody.d.ts","sourceRoot":"","sources":["../../src/Table/TableBody.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,SAAS,EAAE,GAAG,EAAE,MAAM,OAAO,CAAC;AAG5D,MAAM,WAAW,cAAe,SAAQ,IAAI,CAAC,cAAc,CAAC,uBAAuB,CAAC,EAAE,UAAU,CAAC;IAC/F,0BAA0B;IAC1B,QAAQ,EAAE,SAAS,CAAC;IACpB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,sCAAsC;IACtC,GAAG,CAAC,EAAE,GAAG,CAAC,uBAAuB,CAAC,CAAC;CACpC;AAED;sCACsC;AACtC,wBAAgB,SAAS,CAAC,EAAE,QAAQ,EAAE,SAAS,EAAE,GAAG,EAAE,GAAG,IAAI,EAAE,EAAE,cAAc,+BAM9E"}
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
import type { HTMLAttributes, ReactNode, Ref } from "react";
|
|
2
|
+
export interface TableCaptionProps extends Omit<HTMLAttributes<HTMLTableCaptionElement>, "children"> {
|
|
3
|
+
/** The name line — what the table lists. Also the table's accessible name. */
|
|
4
|
+
children: ReactNode;
|
|
5
|
+
/** An optional second line: the range shown, say — "Rows 51–100 of more
|
|
6
|
+
* than 100,000". */
|
|
7
|
+
detail?: ReactNode;
|
|
8
|
+
className?: string;
|
|
9
|
+
/** Forwarded ref to the `<caption>`, so focus can be moved to it. */
|
|
10
|
+
ref?: Ref<HTMLTableCaptionElement>;
|
|
11
|
+
}
|
|
12
|
+
/** `<caption>` — the table's name, above it, and an optional detail line
|
|
13
|
+
* (D85). It names the table for assistive tech, which an `aria-label` on the
|
|
14
|
+
* `Table` would also do, but a caption is visible.
|
|
15
|
+
*
|
|
16
|
+
* A token-paged list has no page numbers to land on, so after a page change
|
|
17
|
+
* the consumer moves focus here: give it `tabIndex={-1}`, put the range in
|
|
18
|
+
* `detail`, and call `focus()` on the ref. The ring is the shared one (D82),
|
|
19
|
+
* drawn inside the caption's box. Remaining attributes land on the element. */
|
|
20
|
+
export declare function TableCaption({ children, detail, className, ref, ...rest }: TableCaptionProps): import("react").JSX.Element;
|
|
21
|
+
//# sourceMappingURL=TableCaption.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"TableCaption.d.ts","sourceRoot":"","sources":["../../src/Table/TableCaption.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,SAAS,EAAE,GAAG,EAAE,MAAM,OAAO,CAAC;AAG5D,MAAM,WAAW,iBAAkB,SAAQ,IAAI,CAAC,cAAc,CAAC,uBAAuB,CAAC,EAAE,UAAU,CAAC;IAClG,8EAA8E;IAC9E,QAAQ,EAAE,SAAS,CAAC;IACpB;wBACoB;IACpB,MAAM,CAAC,EAAE,SAAS,CAAC;IACnB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,qEAAqE;IACrE,GAAG,CAAC,EAAE,GAAG,CAAC,uBAAuB,CAAC,CAAC;CACpC;AAED;;;;;;;+EAO+E;AAC/E,wBAAgB,YAAY,CAAC,EAAE,QAAQ,EAAE,MAAM,EAAE,SAAS,EAAE,GAAG,EAAE,GAAG,IAAI,EAAE,EAAE,iBAAiB,+BAO5F"}
|
|
@@ -1,12 +1,22 @@
|
|
|
1
|
-
import type { ReactNode } from "react";
|
|
2
|
-
export interface TableCellProps {
|
|
1
|
+
import type { ReactNode, Ref, TdHTMLAttributes } from "react";
|
|
2
|
+
export interface TableCellProps extends Omit<TdHTMLAttributes<HTMLTableCellElement>, "children"> {
|
|
3
3
|
/** Right-aligns and renders tabular figures (D62). */
|
|
4
4
|
numeric?: boolean;
|
|
5
|
+
/** Columns the cell spans — an empty-state row spanning the table (D85). */
|
|
6
|
+
colSpan?: number;
|
|
7
|
+
/** Renders `<th scope="row">` instead of `<td>`: the cell that names its
|
|
8
|
+
* row, an identifier say, so a screen reader reads it with every cell in
|
|
9
|
+
* the row (D85). Styled as a cell, at medium weight. */
|
|
10
|
+
rowHeader?: boolean;
|
|
5
11
|
/** Cell content. */
|
|
6
12
|
children?: ReactNode;
|
|
7
13
|
className?: string;
|
|
14
|
+
/** Forwarded ref to the cell element. */
|
|
15
|
+
ref?: Ref<HTMLTableCellElement>;
|
|
8
16
|
}
|
|
9
|
-
/** `<td
|
|
10
|
-
*
|
|
11
|
-
|
|
17
|
+
/** `<td>`, or `<th scope="row">` with `rowHeader`. `numeric` means
|
|
18
|
+
* right-aligned *and* tabular — a column that aligns but whose digits jitter
|
|
19
|
+
* between rows defeats the purpose. Remaining attributes land on the cell
|
|
20
|
+
* (D85). */
|
|
21
|
+
export declare function TableCell({ numeric, colSpan, rowHeader, children, className, ref, ...rest }: TableCellProps): import("react").JSX.Element;
|
|
12
22
|
//# sourceMappingURL=TableCell.d.ts.map
|