@handamade/psi-react 0.20.0 → 0.22.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 (115) hide show
  1. package/README.md +1 -1
  2. package/dist/AppShell/AppShell.d.ts +51 -0
  3. package/dist/AppShell/AppShell.d.ts.map +1 -0
  4. package/dist/Banner/Banner.d.ts +35 -0
  5. package/dist/Banner/Banner.d.ts.map +1 -0
  6. package/dist/Button/Button.d.ts +4 -0
  7. package/dist/Button/Button.d.ts.map +1 -1
  8. package/dist/CopyButton/CopyButton.d.ts +23 -0
  9. package/dist/CopyButton/CopyButton.d.ts.map +1 -0
  10. package/dist/CursorPagination/CursorPagination.d.ts +29 -0
  11. package/dist/CursorPagination/CursorPagination.d.ts.map +1 -0
  12. package/dist/Field/Field.d.ts +16 -2
  13. package/dist/Field/Field.d.ts.map +1 -1
  14. package/dist/Field/useFieldControl.d.ts +40 -0
  15. package/dist/Field/useFieldControl.d.ts.map +1 -0
  16. package/dist/InlineAlert/InlineAlert.d.ts +32 -0
  17. package/dist/InlineAlert/InlineAlert.d.ts.map +1 -0
  18. package/dist/NavBar/NavBar.d.ts +10 -2
  19. package/dist/NavBar/NavBar.d.ts.map +1 -1
  20. package/dist/NavTree/NavGroup.d.ts +22 -0
  21. package/dist/NavTree/NavGroup.d.ts.map +1 -0
  22. package/dist/NavTree/NavItem.d.ts +29 -0
  23. package/dist/NavTree/NavItem.d.ts.map +1 -0
  24. package/dist/NavTree/NavTree.d.ts +23 -0
  25. package/dist/NavTree/NavTree.d.ts.map +1 -0
  26. package/dist/Skeleton/Skeleton.d.ts +22 -0
  27. package/dist/Skeleton/Skeleton.d.ts.map +1 -0
  28. package/dist/SkipLink/SkipLink.d.ts +25 -0
  29. package/dist/SkipLink/SkipLink.d.ts.map +1 -0
  30. package/dist/Table/Table.d.ts +6 -3
  31. package/dist/Table/Table.d.ts.map +1 -1
  32. package/dist/Table/TableBody.d.ts +7 -4
  33. package/dist/Table/TableBody.d.ts.map +1 -1
  34. package/dist/Table/TableCaption.d.ts +21 -0
  35. package/dist/Table/TableCaption.d.ts.map +1 -0
  36. package/dist/Table/TableCell.d.ts +15 -5
  37. package/dist/Table/TableCell.d.ts.map +1 -1
  38. package/dist/Table/TableHead.d.ts +5 -3
  39. package/dist/Table/TableHead.d.ts.map +1 -1
  40. package/dist/Table/TableHeaderCell.d.ts +5 -3
  41. package/dist/Table/TableHeaderCell.d.ts.map +1 -1
  42. package/dist/Table/TableRow.d.ts +5 -3
  43. package/dist/Table/TableRow.d.ts.map +1 -1
  44. package/dist/Tabs/Tab.d.ts.map +1 -1
  45. package/dist/Tabs/Tabs.d.ts +20 -1
  46. package/dist/Tabs/Tabs.d.ts.map +1 -1
  47. package/dist/Toast/Announcement.d.ts +38 -0
  48. package/dist/Toast/Announcement.d.ts.map +1 -0
  49. package/dist/Toast/Toast.d.ts +16 -2
  50. package/dist/Toast/Toast.d.ts.map +1 -1
  51. package/dist/Toast/ToastProvider.d.ts +27 -4
  52. package/dist/Toast/ToastProvider.d.ts.map +1 -1
  53. package/dist/Toast/ToastRegion.d.ts +26 -8
  54. package/dist/Toast/ToastRegion.d.ts.map +1 -1
  55. package/dist/Toast/status.d.ts +15 -0
  56. package/dist/Toast/status.d.ts.map +1 -0
  57. package/dist/Toast/useToast.d.ts +17 -3
  58. package/dist/Toast/useToast.d.ts.map +1 -1
  59. package/dist/Toolbar/Toolbar.d.ts +26 -4
  60. package/dist/Toolbar/Toolbar.d.ts.map +1 -1
  61. package/dist/a11y-meta.d.ts.map +1 -1
  62. package/dist/index.d.ts +30 -4
  63. package/dist/index.d.ts.map +1 -1
  64. package/dist/index.js +1305 -958
  65. package/dist/manifest.json +1049 -235
  66. package/dist/patterns.json +671 -3
  67. package/dist/styles.css +1 -1
  68. package/docs/Announcement.md +37 -0
  69. package/docs/AppShell.md +46 -0
  70. package/docs/AspectRatio.md +1 -1
  71. package/docs/Banner.md +54 -0
  72. package/docs/Button.md +2 -1
  73. package/docs/Card.md +1 -1
  74. package/docs/Checkbox.md +1 -1
  75. package/docs/CopyButton.md +51 -0
  76. package/docs/CursorPagination.md +45 -0
  77. package/docs/DescriptionItem.md +1 -1
  78. package/docs/DescriptionList.md +1 -1
  79. package/docs/Dialog.md +1 -1
  80. package/docs/Field.md +4 -3
  81. package/docs/IconButton.md +1 -1
  82. package/docs/InlineAlert.md +53 -0
  83. package/docs/Input.md +1 -1
  84. package/docs/Menu.md +1 -1
  85. package/docs/MenuItem.md +1 -1
  86. package/docs/MenuSeparator.md +1 -1
  87. package/docs/NavBar.md +4 -2
  88. package/docs/NavGroup.md +40 -0
  89. package/docs/NavItem.md +40 -0
  90. package/docs/NavTree.md +39 -0
  91. package/docs/Pagination.md +1 -1
  92. package/docs/Panel.md +1 -1
  93. package/docs/Select.md +1 -1
  94. package/docs/Skeleton.md +50 -0
  95. package/docs/SkipLink.md +40 -0
  96. package/docs/Switch.md +1 -1
  97. package/docs/Tab.md +1 -1
  98. package/docs/TabList.md +1 -1
  99. package/docs/TabPanel.md +1 -1
  100. package/docs/Table.md +1 -1
  101. package/docs/TableBody.md +3 -2
  102. package/docs/TableCaption.md +39 -0
  103. package/docs/TableCell.md +5 -2
  104. package/docs/TableHead.md +2 -1
  105. package/docs/TableHeaderCell.md +2 -1
  106. package/docs/TableRow.md +2 -1
  107. package/docs/Tabs.md +3 -3
  108. package/docs/Tag.md +1 -1
  109. package/docs/Toast.md +5 -3
  110. package/docs/ToastProvider.md +6 -3
  111. package/docs/ToastRegion.md +5 -5
  112. package/docs/Toolbar.md +5 -3
  113. package/docs/Tooltip.md +1 -1
  114. package/llms.txt +41 -9
  115. package/package.json +2 -2
@@ -1 +1 @@
1
- {"version":3,"file":"TableCell.d.ts","sourceRoot":"","sources":["../../src/Table/TableCell.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AAGvC,MAAM,WAAW,cAAc;IAC7B,sDAAsD;IACtD,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,oBAAoB;IACpB,QAAQ,CAAC,EAAE,SAAS,CAAC;IACrB,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED;+DAC+D;AAC/D,wBAAgB,SAAS,CAAC,EAAE,OAAO,EAAE,QAAQ,EAAE,SAAS,EAAE,EAAE,cAAc,+BAMzE"}
1
+ {"version":3,"file":"TableCell.d.ts","sourceRoot":"","sources":["../../src/Table/TableCell.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,GAAG,EAAE,gBAAgB,EAAE,MAAM,OAAO,CAAC;AAG9D,MAAM,WAAW,cAAe,SAAQ,IAAI,CAAC,gBAAgB,CAAC,oBAAoB,CAAC,EAAE,UAAU,CAAC;IAC9F,sDAAsD;IACtD,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,4EAA4E;IAC5E,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB;;4DAEwD;IACxD,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,oBAAoB;IACpB,QAAQ,CAAC,EAAE,SAAS,CAAC;IACrB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,yCAAyC;IACzC,GAAG,CAAC,EAAE,GAAG,CAAC,oBAAoB,CAAC,CAAC;CACjC;AAED;;;YAGY;AACZ,wBAAgB,SAAS,CAAC,EAAE,OAAO,EAAE,OAAO,EAAE,SAAS,EAAE,QAAQ,EAAE,SAAS,EAAE,GAAG,EAAE,GAAG,IAAI,EAAE,EAAE,cAAc,+BAc3G"}
@@ -1,13 +1,15 @@
1
- import type { ReactNode } from "react";
2
- export interface TableHeadProps {
1
+ import type { HTMLAttributes, ReactNode, Ref } from "react";
2
+ export interface TableHeadProps extends Omit<HTMLAttributes<HTMLTableSectionElement>, "children"> {
3
3
  /** The header TableRow. */
4
4
  children: ReactNode;
5
5
  className?: string;
6
+ /** Forwarded ref to the `<thead>`. */
7
+ ref?: Ref<HTMLTableSectionElement>;
6
8
  }
7
9
  /** `<thead>`. When the table is selectable, prepends the select-all cell to
8
10
  * the FIRST header row so the header's column count matches the body's — the
9
11
  * checkbox column is Table's, not the consumer's schema. Clones the row
10
12
  * rather than rebuilding it, so the consumer's own props on that `TableRow`
11
13
  * survive. */
12
- export declare function TableHead({ children, className }: TableHeadProps): import("react").JSX.Element;
14
+ export declare function TableHead({ children, className, ref, ...rest }: TableHeadProps): import("react").JSX.Element;
13
15
  //# sourceMappingURL=TableHead.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"TableHead.d.ts","sourceRoot":"","sources":["../../src/Table/TableHead.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAgB,SAAS,EAAE,MAAM,OAAO,CAAC;AAKrD,MAAM,WAAW,cAAc;IAC7B,2BAA2B;IAC3B,QAAQ,EAAE,SAAS,CAAC;IACpB,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED;;;;cAIc;AACd,wBAAgB,SAAS,CAAC,EAAE,QAAQ,EAAE,SAAS,EAAE,EAAE,cAAc,+BAqBhE"}
1
+ {"version":3,"file":"TableHead.d.ts","sourceRoot":"","sources":["../../src/Table/TableHead.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,cAAc,EAAgB,SAAS,EAAE,GAAG,EAAE,MAAM,OAAO,CAAC;AAK1E,MAAM,WAAW,cAAe,SAAQ,IAAI,CAAC,cAAc,CAAC,uBAAuB,CAAC,EAAE,UAAU,CAAC;IAC/F,2BAA2B;IAC3B,QAAQ,EAAE,SAAS,CAAC;IACpB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,sCAAsC;IACtC,GAAG,CAAC,EAAE,GAAG,CAAC,uBAAuB,CAAC,CAAC;CACpC;AAED;;;;cAIc;AACd,wBAAgB,SAAS,CAAC,EAAE,QAAQ,EAAE,SAAS,EAAE,GAAG,EAAE,GAAG,IAAI,EAAE,EAAE,cAAc,+BAyB9E"}
@@ -1,5 +1,5 @@
1
- import type { ReactNode } from "react";
2
- export interface TableHeaderCellProps {
1
+ import type { ReactNode, Ref, ThHTMLAttributes } from "react";
2
+ export interface TableHeaderCellProps extends Omit<ThHTMLAttributes<HTMLTableCellElement>, "children"> {
3
3
  /** Sort key this column emits. Enables the sort control when the table is `sortable`. */
4
4
  sortKey?: string;
5
5
  /** Right-aligns and renders tabular figures (D62). */
@@ -7,8 +7,10 @@ export interface TableHeaderCellProps {
7
7
  /** Header label. */
8
8
  children?: ReactNode;
9
9
  className?: string;
10
+ /** Forwarded ref to the `<th>`. */
11
+ ref?: Ref<HTMLTableCellElement>;
10
12
  }
11
13
  /** `<th scope="col">`. `aria-sort` belongs on the th, never on the inner
12
14
  * button — assistive tech reads the sort state from the column header. */
13
- export declare function TableHeaderCell({ sortKey, numeric, children, className }: TableHeaderCellProps): import("react").JSX.Element;
15
+ export declare function TableHeaderCell({ sortKey, numeric, children, className, ref, ...rest }: TableHeaderCellProps): import("react").JSX.Element;
14
16
  //# sourceMappingURL=TableHeaderCell.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"TableHeaderCell.d.ts","sourceRoot":"","sources":["../../src/Table/TableHeaderCell.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AAIvC,MAAM,WAAW,oBAAoB;IACnC,yFAAyF;IACzF,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,sDAAsD;IACtD,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,oBAAoB;IACpB,QAAQ,CAAC,EAAE,SAAS,CAAC;IACrB,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED;0EAC0E;AAC1E,wBAAgB,eAAe,CAAC,EAAE,OAAO,EAAE,OAAO,EAAE,QAAQ,EAAE,SAAS,EAAE,EAAE,oBAAoB,+BAsC9F"}
1
+ {"version":3,"file":"TableHeaderCell.d.ts","sourceRoot":"","sources":["../../src/Table/TableHeaderCell.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,SAAS,EAAE,GAAG,EAAE,gBAAgB,EAAE,MAAM,OAAO,CAAC;AAI9D,MAAM,WAAW,oBAAqB,SAAQ,IAAI,CAAC,gBAAgB,CAAC,oBAAoB,CAAC,EAAE,UAAU,CAAC;IACpG,yFAAyF;IACzF,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,sDAAsD;IACtD,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,oBAAoB;IACpB,QAAQ,CAAC,EAAE,SAAS,CAAC;IACrB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,mCAAmC;IACnC,GAAG,CAAC,EAAE,GAAG,CAAC,oBAAoB,CAAC,CAAC;CACjC;AAED;0EAC0E;AAC1E,wBAAgB,eAAe,CAAC,EAAE,OAAO,EAAE,OAAO,EAAE,QAAQ,EAAE,SAAS,EAAE,GAAG,EAAE,GAAG,IAAI,EAAE,EAAE,oBAAoB,+BAwC5G"}
@@ -1,5 +1,5 @@
1
- import type { ReactNode } from "react";
2
- export interface TableRowProps {
1
+ import type { HTMLAttributes, ReactNode, Ref } from "react";
2
+ export interface TableRowProps extends Omit<HTMLAttributes<HTMLTableRowElement>, "children"> {
3
3
  /** Stable identity for selection. Required for selectable tables (D62). */
4
4
  rowId?: string;
5
5
  /** Accessible name for this row's selection checkbox. */
@@ -7,7 +7,9 @@ export interface TableRowProps {
7
7
  /** The row's cells. */
8
8
  children: ReactNode;
9
9
  className?: string;
10
+ /** Forwarded ref to the `<tr>`. */
11
+ ref?: Ref<HTMLTableRowElement>;
10
12
  }
11
13
  /** `<tr>`. `rowId` is the key the `selected` set holds. */
12
- export declare function TableRow({ rowId, selectLabel, children, className }: TableRowProps): import("react").JSX.Element;
14
+ export declare function TableRow({ rowId, selectLabel, children, className, ref, ...rest }: TableRowProps): import("react").JSX.Element;
13
15
  //# sourceMappingURL=TableRow.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"TableRow.d.ts","sourceRoot":"","sources":["../../src/Table/TableRow.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AAKvC,MAAM,WAAW,aAAa;IAC5B,2EAA2E;IAC3E,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,yDAAyD;IACzD,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,uBAAuB;IACvB,QAAQ,EAAE,SAAS,CAAC;IACpB,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED,2DAA2D;AAC3D,wBAAgB,QAAQ,CAAC,EAAE,KAAK,EAAE,WAAW,EAAE,QAAQ,EAAE,SAAS,EAAE,EAAE,aAAa,+BAelF"}
1
+ {"version":3,"file":"TableRow.d.ts","sourceRoot":"","sources":["../../src/Table/TableRow.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,cAAc,EAAE,SAAS,EAAE,GAAG,EAAE,MAAM,OAAO,CAAC;AAK5D,MAAM,WAAW,aAAc,SAAQ,IAAI,CAAC,cAAc,CAAC,mBAAmB,CAAC,EAAE,UAAU,CAAC;IAC1F,2EAA2E;IAC3E,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,yDAAyD;IACzD,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,uBAAuB;IACvB,QAAQ,EAAE,SAAS,CAAC;IACpB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,mCAAmC;IACnC,GAAG,CAAC,EAAE,GAAG,CAAC,mBAAmB,CAAC,CAAC;CAChC;AAED,2DAA2D;AAC3D,wBAAgB,QAAQ,CAAC,EAAE,KAAK,EAAE,WAAW,EAAE,QAAQ,EAAE,SAAS,EAAE,GAAG,EAAE,GAAG,IAAI,EAAE,EAAE,aAAa,+BAiBhG"}
@@ -1 +1 @@
1
- {"version":3,"file":"Tab.d.ts","sourceRoot":"","sources":["../../src/Tabs/Tab.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,GAAG,EAAE,MAAM,OAAO,CAAC;AAI5C,MAAM,WAAW,QAAQ;IACvB,4DAA4D;IAC5D,KAAK,EAAE,MAAM,CAAC;IACd,2CAA2C;IAC3C,QAAQ,EAAE,SAAS,CAAC;IACpB,2EAA2E;IAC3E,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,kDAAkD;IAClD,GAAG,CAAC,EAAE,GAAG,CAAC,iBAAiB,CAAC,CAAC;CAC9B;AAED;;;;wDAIwD;AACxD,wBAAgB,GAAG,CAAC,EAAE,KAAK,EAAE,QAAQ,EAAE,QAAgB,EAAE,SAAS,EAAE,GAAG,EAAE,EAAE,QAAQ,+BAyBlF"}
1
+ {"version":3,"file":"Tab.d.ts","sourceRoot":"","sources":["../../src/Tabs/Tab.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,SAAS,EAAE,GAAG,EAAE,MAAM,OAAO,CAAC;AAI5C,MAAM,WAAW,QAAQ;IACvB,4DAA4D;IAC5D,KAAK,EAAE,MAAM,CAAC;IACd,2CAA2C;IAC3C,QAAQ,EAAE,SAAS,CAAC;IACpB,2EAA2E;IAC3E,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,kDAAkD;IAClD,GAAG,CAAC,EAAE,GAAG,CAAC,iBAAiB,CAAC,CAAC;CAC9B;AAED;;;;wDAIwD;AACxD,wBAAgB,GAAG,CAAC,EAAE,KAAK,EAAE,QAAQ,EAAE,QAAgB,EAAE,SAAS,EAAE,GAAG,EAAE,EAAE,QAAQ,+BAyClF"}
@@ -6,6 +6,23 @@ export interface TabsContextValue {
6
6
  orientation: TabsOrientation;
7
7
  /** Stable per-instance prefix, so two tab sets on one page never collide. */
8
8
  idPrefix: string;
9
+ /** The value of the one tab that holds the list's tab stop (D93). Equal to
10
+ * `value` when `value` names a registered tab, disabled or not; otherwise
11
+ * the first enabled tab in document order (the first tab when all are
12
+ * disabled), so a `value` that matches nothing still leaves the list
13
+ * reachable. `Tab` reads this rather than recomputing it. Optional: a
14
+ * hand-written provider that omits it gets `value`, as before D93. */
15
+ tabStop?: string;
16
+ /** Called by each `Tab` from a layout effect; returns the unregister.
17
+ * Optional for the same reason as `tabStop`. */
18
+ registerTab?: (entry: TabEntry) => () => void;
19
+ }
20
+ /** What a `Tab` tells its `Tabs`, so the provider can pick the tab stop. */
21
+ export interface TabEntry {
22
+ value: string;
23
+ disabled: boolean;
24
+ /** For document-order sorting; set by the time the layout effect runs. */
25
+ el: HTMLElement | null;
9
26
  }
10
27
  export declare const TabsContext: import("react").Context<TabsContextValue | null>;
11
28
  /** Throws rather than returning a default: a `Tab` outside `Tabs` would
@@ -13,7 +30,9 @@ export declare const TabsContext: import("react").Context<TabsContextValue | nul
13
30
  * surface far from its cause. */
14
31
  export declare function useTabsContext(component: string): TabsContextValue;
15
32
  export interface TabsProps {
16
- /** Controlled selected tab, matched against each `Tab`/`TabPanel` value. */
33
+ /** Controlled selected tab, matched against each `Tab`/`TabPanel` value. A
34
+ * value that matches no tab selects nothing, and the first enabled
35
+ * tab holds the list's tab stop (D93); development builds warn. */
17
36
  value: string;
18
37
  /** Fires with the newly selected value; the consumer flips `value`. */
19
38
  onValueChange: (value: string) => void;
@@ -1 +1 @@
1
- {"version":3,"file":"Tabs.d.ts","sourceRoot":"","sources":["../../src/Tabs/Tabs.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,SAAS,EAAE,GAAG,EAAE,MAAM,OAAO,CAAC;AAG5C,MAAM,MAAM,eAAe,GAAG,YAAY,GAAG,UAAU,CAAC;AAExD,MAAM,WAAW,gBAAgB;IAC/B,KAAK,EAAE,MAAM,CAAC;IACd,aAAa,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;IACvC,WAAW,EAAE,eAAe,CAAC;IAC7B,6EAA6E;IAC7E,QAAQ,EAAE,MAAM,CAAC;CAClB;AAED,eAAO,MAAM,WAAW,kDAA+C,CAAC;AAExE;;iCAEiC;AACjC,wBAAgB,cAAc,CAAC,SAAS,EAAE,MAAM,GAAG,gBAAgB,CAUlE;AAED,MAAM,WAAW,SAAS;IACxB,4EAA4E;IAC5E,KAAK,EAAE,MAAM,CAAC;IACd,uEAAuE;IACvE,aAAa,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;IACvC,mFAAmF;IACnF,WAAW,CAAC,EAAE,eAAe,CAAC;IAC9B,8CAA8C;IAC9C,QAAQ,EAAE,SAAS,CAAC;IACpB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,4CAA4C;IAC5C,GAAG,CAAC,EAAE,GAAG,CAAC,cAAc,CAAC,CAAC;CAC3B;AAED;;;;;;;;;;;8EAW8E;AAC9E,wBAAgB,IAAI,CAAC,EACnB,KAAK,EACL,aAAa,EACb,WAA0B,EAC1B,QAAQ,EACR,SAAS,EACT,GAAG,GACJ,EAAE,SAAS,+BAmBX;AAED;4EAC4E;AAC5E,wBAAgB,KAAK,CAAC,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,MAAM,CAE3D;AAED,wBAAgB,OAAO,CAAC,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,MAAM,CAE7D"}
1
+ {"version":3,"file":"Tabs.d.ts","sourceRoot":"","sources":["../../src/Tabs/Tabs.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,SAAS,EAAE,GAAG,EAAE,MAAM,OAAO,CAAC;AAG5C,MAAM,MAAM,eAAe,GAAG,YAAY,GAAG,UAAU,CAAC;AAExD,MAAM,WAAW,gBAAgB;IAC/B,KAAK,EAAE,MAAM,CAAC;IACd,aAAa,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;IACvC,WAAW,EAAE,eAAe,CAAC;IAC7B,6EAA6E;IAC7E,QAAQ,EAAE,MAAM,CAAC;IACjB;;;;;0EAKsE;IACtE,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB;oDACgD;IAChD,WAAW,CAAC,EAAE,CAAC,KAAK,EAAE,QAAQ,KAAK,MAAM,IAAI,CAAC;CAC/C;AAED,4EAA4E;AAC5E,MAAM,WAAW,QAAQ;IACvB,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,EAAE,OAAO,CAAC;IAClB,0EAA0E;IAC1E,EAAE,EAAE,WAAW,GAAG,IAAI,CAAC;CACxB;AAED,eAAO,MAAM,WAAW,kDAA+C,CAAC;AAExE;;iCAEiC;AACjC,wBAAgB,cAAc,CAAC,SAAS,EAAE,MAAM,GAAG,gBAAgB,CAUlE;AAED,MAAM,WAAW,SAAS;IACxB;;uEAEmE;IACnE,KAAK,EAAE,MAAM,CAAC;IACd,uEAAuE;IACvE,aAAa,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;IACvC,mFAAmF;IACnF,WAAW,CAAC,EAAE,eAAe,CAAC;IAC9B,8CAA8C;IAC9C,QAAQ,EAAE,SAAS,CAAC;IACpB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,4CAA4C;IAC5C,GAAG,CAAC,EAAE,GAAG,CAAC,cAAc,CAAC,CAAC;CAC3B;AAED;;;;;;;;;;;8EAW8E;AAC9E,wBAAgB,IAAI,CAAC,EACnB,KAAK,EACL,aAAa,EACb,WAA0B,EAC1B,QAAQ,EACR,SAAS,EACT,GAAG,GACJ,EAAE,SAAS,+BAwDX;AAED;4EAC4E;AAC5E,wBAAgB,KAAK,CAAC,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,MAAM,CAE3D;AAED,wBAAgB,OAAO,CAAC,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,MAAM,CAE7D"}
@@ -0,0 +1,38 @@
1
+ import type { ReactNode } from "react";
2
+ import type { ToastPoliteness } from "./Toast.js";
3
+ export interface AnnouncementProps {
4
+ /** Which of ToastRegion's two live wrappers speaks it. @default "polite" */
5
+ politeness?: ToastPoliteness;
6
+ /** The text to announce. */
7
+ children: ReactNode;
8
+ }
9
+ /** Text for a screen reader only, spoken through ToastRegion (D83).
10
+ *
11
+ * **It is not a live region.** It renders no `role` and no `aria-live`, and
12
+ * outside a ToastRegion it announces nothing — the region's two persistent
13
+ * wrappers are the only live regions, and an Announcement is content for one
14
+ * of them. Do not use it as a second announcer.
15
+ *
16
+ * Use it where an event must be spoken and there is nothing to show: a state
17
+ * change of the object on screen, or field errors the form already displays.
18
+ *
19
+ * `politeness` is not read here. ToastRegion reads it off the element to pick
20
+ * a wrapper, the same way it reads a Toast's.
21
+ *
22
+ * The usual way to render one is `useToast().announce(message)` (D91), which
23
+ * puts it in ToastProvider's region and gives it a lifetime: it leaves one
24
+ * second (the dwell) after it was added, and a later announcement does not
25
+ * remove it early — removing a node just after it was added can cut its
26
+ * speech, and the region's non-atomic wrappers (D90) speak each added node on
27
+ * its own. It never counts against the provider's toast `limit`.
28
+ *
29
+ * Rendered by hand, it is controlled, like Toast: it holds no state and never
30
+ * removes itself, so follow the same rule — remove it after a one-second
31
+ * dwell, not before. To announce the same text again, remove it and render it
32
+ * again with a new `key` — a live region speaks changes, and an unchanged node
33
+ * is not one.
34
+ *
35
+ * It takes no `className`: the one thing a class could do to it is make it
36
+ * visible, and then it is a Toast. */
37
+ export declare function Announcement({ children }: AnnouncementProps): import("react").JSX.Element;
38
+ //# sourceMappingURL=Announcement.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Announcement.d.ts","sourceRoot":"","sources":["../../src/Toast/Announcement.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AACvC,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,YAAY,CAAC;AAElD,MAAM,WAAW,iBAAiB;IAChC,4EAA4E;IAC5E,UAAU,CAAC,EAAE,eAAe,CAAC;IAC7B,4BAA4B;IAC5B,QAAQ,EAAE,SAAS,CAAC;CACrB;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;sCA2BsC;AACtC,wBAAgB,YAAY,CAAC,EAAE,QAAQ,EAAE,EAAE,iBAAiB,+BAM3D"}
@@ -1,5 +1,9 @@
1
1
  import type { ReactNode, Ref } from "react";
2
- export type ToastVariant = "neutral" | "success" | "warning" | "danger";
2
+ import type { StatusVariant } from "./status.js";
3
+ /** Toast's variants are the shared status axis (see status.ts). */
4
+ export type ToastVariant = StatusVariant;
5
+ /** Which of ToastRegion's two live wrappers speaks a child (D83). */
6
+ export type ToastPoliteness = "polite" | "assertive";
3
7
  export interface ToastProps {
4
8
  /** Status variant. @default "neutral" */
5
9
  variant?: ToastVariant;
@@ -10,6 +14,15 @@ export interface ToastProps {
10
14
  /** When provided, renders the dismiss button and calls this. Toast does not
11
15
  * remove itself; the owner disposes. */
12
16
  onDismiss?: () => void;
17
+ /** Which live wrapper ToastRegion routes this toast into (D83). Unset, the
18
+ * variant decides: neutral and success are polite, warning and danger
19
+ * assertive. Set it when the kind of event, not its tone, decides — the
20
+ * outcome of the user's own action may interrupt even when it succeeded. */
21
+ politeness?: ToastPoliteness;
22
+ /** The visually hidden status word (D83). A string replaces the default
23
+ * ("Success:", "Warning:", "Error:") — pass the translated word; `null`
24
+ * drops it. Unset keeps the default, and `neutral` has none. */
25
+ statusLabel?: string | null;
13
26
  className?: string;
14
27
  /** Forwarded ref to the underlying `<div>`. */
15
28
  ref?: Ref<HTMLDivElement>;
@@ -22,8 +35,9 @@ export interface ToastProps {
22
35
  * two persistent wrappers inside ToastRegion, because a live region must
23
36
  * pre-exist the content it announces; a role on the toast itself would
24
37
  * reintroduce the mount-with-content problem one level down.
38
+ * `politeness` (D83) only tells the region which wrapper to use.
25
39
  *
26
40
  * Composed by hand with ToastRegion for full control, or driven by
27
41
  * ToastProvider's queue. */
28
- export declare function Toast({ variant, children, action, onDismiss, className, ref, }: ToastProps): import("react").JSX.Element;
42
+ export declare function Toast({ variant, children, action, onDismiss, statusLabel, className, ref, }: ToastProps): import("react").JSX.Element;
29
43
  //# sourceMappingURL=Toast.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"Toast.d.ts","sourceRoot":"","sources":["../../src/Toast/Toast.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,GAAG,EAAE,MAAM,OAAO,CAAC;AAW5C,MAAM,MAAM,YAAY,GAAG,SAAS,GAAG,SAAS,GAAG,SAAS,GAAG,QAAQ,CAAC;AAExE,MAAM,WAAW,UAAU;IACzB,yCAAyC;IACzC,OAAO,CAAC,EAAE,YAAY,CAAC;IACvB,mBAAmB;IACnB,QAAQ,EAAE,SAAS,CAAC;IACpB,gEAAgE;IAChE,MAAM,CAAC,EAAE,SAAS,CAAC;IACnB;4CACwC;IACxC,SAAS,CAAC,EAAE,MAAM,IAAI,CAAC;IACvB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,+CAA+C;IAC/C,GAAG,CAAC,EAAE,GAAG,CAAC,cAAc,CAAC,CAAC;CAC3B;AAyBD;;;;;;;;;;4BAU4B;AAC5B,wBAAgB,KAAK,CAAC,EACpB,OAAmB,EACnB,QAAQ,EACR,MAAM,EACN,SAAS,EACT,SAAS,EACT,GAAG,GACJ,EAAE,UAAU,+BA2BZ"}
1
+ {"version":3,"file":"Toast.d.ts","sourceRoot":"","sources":["../../src/Toast/Toast.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,GAAG,EAAE,MAAM,OAAO,CAAC;AAI5C,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAGjD,mEAAmE;AACnE,MAAM,MAAM,YAAY,GAAG,aAAa,CAAC;AAEzC,qEAAqE;AACrE,MAAM,MAAM,eAAe,GAAG,QAAQ,GAAG,WAAW,CAAC;AAErD,MAAM,WAAW,UAAU;IACzB,yCAAyC;IACzC,OAAO,CAAC,EAAE,YAAY,CAAC;IACvB,mBAAmB;IACnB,QAAQ,EAAE,SAAS,CAAC;IACpB,gEAAgE;IAChE,MAAM,CAAC,EAAE,SAAS,CAAC;IACnB;4CACwC;IACxC,SAAS,CAAC,EAAE,MAAM,IAAI,CAAC;IACvB;;;gFAG4E;IAC5E,UAAU,CAAC,EAAE,eAAe,CAAC;IAC7B;;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;;;;;;;;;;;4BAW4B;AAC5B,wBAAgB,KAAK,CAAC,EACpB,OAAmB,EACnB,QAAQ,EACR,MAAM,EACN,SAAS,EACT,WAAW,EACX,SAAS,EACT,GAAG,GACJ,EAAE,UAAU,+BA6BZ"}
@@ -1,6 +1,9 @@
1
- import type { ReactNode } from "react";
1
+ import type { HTMLAttributes, ReactNode, Ref } from "react";
2
2
  import type { ToastPlacement } from "./ToastRegion.js";
3
- export interface ToastProviderProps {
3
+ /** Everything but the provider's own props is forwarded to its ToastRegion
4
+ * (D91) — the same surface ToastRegion takes, so `aria-label`, `ref`,
5
+ * `className` and `data-*` attributes land on the region element. */
6
+ export interface ToastProviderProps extends Omit<HTMLAttributes<HTMLDivElement>, "children"> {
4
7
  /** Max simultaneous toasts; the oldest is evicted first. @default 3 */
5
8
  limit?: number;
6
9
  /** Auto-dismiss for toasts with no action, in ms. @default 5000 */
@@ -12,6 +15,13 @@ export interface ToastProviderProps {
12
15
  placement?: ToastPlacement;
13
16
  /** The subtree that may call `useToast()`. The region is rendered alongside it. */
14
17
  children: ReactNode;
18
+ /** Accessible name for the region landmark, forwarded to ToastRegion.
19
+ * @default "Notifications" */
20
+ "aria-label"?: string;
21
+ /** Forwarded to the region element. */
22
+ className?: string;
23
+ /** Forwarded ref to the region element. */
24
+ ref?: Ref<HTMLDivElement>;
15
25
  }
16
26
  /** Owns the toast queue, its auto-dismiss timers, and the single ToastRegion
17
27
  * (D65).
@@ -29,6 +39,19 @@ export interface ToastProviderProps {
29
39
  * Timers pause while the pointer or focus is inside the region (WCAG 2.2.1),
30
40
  * and resume with the time *remaining* rather than a fresh full duration —
31
41
  * restarting would let a user hold a toast open indefinitely by jiggling the
32
- * mouse. */
33
- export declare function ToastProvider({ limit, duration, actionDuration, placement, children, }: ToastProviderProps): import("react").JSX.Element;
42
+ * mouse.
43
+ *
44
+ * **Announcements share the queue, not the limit (D91).** `announce()` adds a
45
+ * speech-only Announcement to the same region — never a live region of its
46
+ * own — and it leaves after a one-second dwell. A later announcement does not
47
+ * remove an earlier one early: removing a node just after it was added can cut
48
+ * its speech, and with non-atomic wrappers (D90) each added node is spoken on
49
+ * its own. Announcements live in their own list, so they never evict a visible
50
+ * toast; their timers live in the same map, so `dismiss`, `clear()` and
51
+ * unmount dispose them as they do a toast's, and they pause with the region.
52
+ *
53
+ * Remaining props go to the ToastRegion (D91): its `aria-label`, a `ref` to the
54
+ * region element, a `className`, and `data-*` attributes such as
55
+ * `data-react-aria-top-layer`. */
56
+ export declare function ToastProvider({ limit, duration, actionDuration, placement, children, ...regionProps }: ToastProviderProps): import("react").JSX.Element;
34
57
  //# sourceMappingURL=ToastProvider.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"ToastProvider.d.ts","sourceRoot":"","sources":["../../src/Toast/ToastProvider.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AAIvC,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAIvD,MAAM,WAAW,kBAAkB;IACjC,uEAAuE;IACvE,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,mEAAmE;IACnE,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB;gFAC4E;IAC5E,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,uDAAuD;IACvD,SAAS,CAAC,EAAE,cAAc,CAAC;IAC3B,mFAAmF;IACnF,QAAQ,EAAE,SAAS,CAAC;CACrB;AAmBD;;;;;;;;;;;;;;;;YAgBY;AACZ,wBAAgB,aAAa,CAAC,EAC5B,KAAS,EACT,QAAe,EACf,cAAsB,EACtB,SAAwB,EACxB,QAAQ,GACT,EAAE,kBAAkB,+BAyHpB"}
1
+ {"version":3,"file":"ToastProvider.d.ts","sourceRoot":"","sources":["../../src/Toast/ToastProvider.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,cAAc,EAAE,SAAS,EAAE,GAAG,EAAE,MAAM,OAAO,CAAC;AAK5D,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAUvD;;qEAEqE;AACrE,MAAM,WAAW,kBAAmB,SAAQ,IAAI,CAAC,cAAc,CAAC,cAAc,CAAC,EAAE,UAAU,CAAC;IAC1F,uEAAuE;IACvE,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,mEAAmE;IACnE,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB;gFAC4E;IAC5E,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,uDAAuD;IACvD,SAAS,CAAC,EAAE,cAAc,CAAC;IAC3B,mFAAmF;IACnF,QAAQ,EAAE,SAAS,CAAC;IACpB;kCAC8B;IAC9B,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,uCAAuC;IACvC,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,2CAA2C;IAC3C,GAAG,CAAC,EAAE,GAAG,CAAC,cAAc,CAAC,CAAC;CAC3B;AA6BD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;kCA6BkC;AAClC,wBAAgB,aAAa,CAAC,EAC5B,KAAS,EACT,QAAe,EACf,cAAsB,EACtB,SAAwB,EACxB,QAAQ,EACR,GAAG,WAAW,EACf,EAAE,kBAAkB,+BAyJpB"}
@@ -1,11 +1,14 @@
1
- import type { ReactNode, Ref } from "react";
1
+ import type { HTMLAttributes, ReactNode, Ref } from "react";
2
2
  export type ToastPlacement = "top-start" | "top-end" | "bottom-start" | "bottom-end";
3
- export interface ToastRegionProps {
3
+ /** The region is a `region` landmark (D90), named by `aria-label` — a name on a
4
+ * role-less `div` is prohibited by ARIA — and `role` is not overridable. */
5
+ export interface ToastRegionProps extends Omit<HTMLAttributes<HTMLDivElement>, "children"> {
4
6
  /** Corner the stack occupies. @default "bottom-end" */
5
7
  placement?: ToastPlacement;
6
- /** Accessible name for the region. @default "Notifications" */
8
+ /** Accessible name for the region landmark. @default "Notifications" */
7
9
  "aria-label"?: string;
8
- /** The toast stack — `Toast` elements, routed to a live wrapper by variant. */
10
+ /** The stack — `Toast` and `Announcement` elements, each routed to a live
11
+ * wrapper by its `politeness`, or by a Toast's variant when it names none. */
9
12
  children: ReactNode;
10
13
  className?: string;
11
14
  /** Forwarded ref to the region element. */
@@ -27,8 +30,10 @@ export interface ToastRegionProps {
27
30
  * confirmation for the action a user just took inside a dialog. And `auto`
28
31
  * would be dismissed by the very click that raised the toast.
29
32
  *
30
- * Routing reads `variant` off each child, the same Children.map technique
31
- * Table uses for select-all injection.
33
+ * Routing reads `politeness`, then `variant`, off each child — the same
34
+ * Children.map technique Table uses for select-all injection. `politeness`
35
+ * wins (D83): the owner of an announcement knows what kind of event it is,
36
+ * and tone is only the default.
32
37
  *
33
38
  * Consequence of the split, visible in the `InRegion` VR baseline: the stack is
34
39
  * grouped by politeness, not strictly chronological — every assertive toast
@@ -37,6 +42,19 @@ export interface ToastRegionProps {
37
42
  * live region with a politeness that changes per message, which is the thing
38
43
  * the two wrappers exist to avoid. Accepted: at `limit` 3 the grouping reads as
39
44
  * severity ordering, and the newest toast still lands nearest the screen edge
40
- * within its group. */
41
- export declare function ToastRegion({ placement, "aria-label": ariaLabel, children, className, ref, }: ToastRegionProps): import("react").JSX.Element;
45
+ * within its group.
46
+ *
47
+ * Remaining HTML attributes, `data-*` included, are spread onto the root
48
+ * element (D83). That is how an application marks the region
49
+ * `data-react-aria-top-layer`, so that a React Aria overlay — which hides
50
+ * everything outside itself with `aria-hidden` — leaves the two live regions
51
+ * exposed. The region's own attributes always win — `role` included.
52
+ *
53
+ * **The region is a landmark, and the wrappers speak only what is new (D90).**
54
+ * `role="region"` makes the `aria-label` legal (a name on a role-less `div` is
55
+ * prohibited) and gives the stack a place in the landmark list. Both wrappers
56
+ * set `aria-atomic="false"` explicitly: `role="status"` and `role="alert"`
57
+ * carry an implicit `true`, which lets a screen reader re-speak everything
58
+ * already in the wrapper whenever one message is added beside it. */
59
+ export declare function ToastRegion({ placement, "aria-label": ariaLabel, children, className, ref, ...rest }: ToastRegionProps): import("react").JSX.Element;
42
60
  //# sourceMappingURL=ToastRegion.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"ToastRegion.d.ts","sourceRoot":"","sources":["../../src/Toast/ToastRegion.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,SAAS,EAAE,GAAG,EAAE,MAAM,OAAO,CAAC;AAK5C,MAAM,MAAM,cAAc,GAAG,WAAW,GAAG,SAAS,GAAG,cAAc,GAAG,YAAY,CAAC;AAErF,MAAM,WAAW,gBAAgB;IAC/B,uDAAuD;IACvD,SAAS,CAAC,EAAE,cAAc,CAAC;IAC3B,+DAA+D;IAC/D,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,+EAA+E;IAC/E,QAAQ,EAAE,SAAS,CAAC;IACpB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,2CAA2C;IAC3C,GAAG,CAAC,EAAE,GAAG,CAAC,cAAc,CAAC,CAAC;CAC3B;AAaD;;;;;;;;;;;;;;;;;;;;;;;;;;uBA0BuB;AACvB,wBAAgB,WAAW,CAAC,EAC1B,SAAwB,EACxB,YAAY,EAAE,SAA2B,EACzC,QAAQ,EACR,SAAS,EACT,GAAG,GACJ,EAAE,gBAAgB,+BAoDlB"}
1
+ {"version":3,"file":"ToastRegion.d.ts","sourceRoot":"","sources":["../../src/Toast/ToastRegion.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,cAAc,EAAE,SAAS,EAAE,GAAG,EAAE,MAAM,OAAO,CAAC;AAM5D,MAAM,MAAM,cAAc,GAAG,WAAW,GAAG,SAAS,GAAG,cAAc,GAAG,YAAY,CAAC;AAErF;4EAC4E;AAC5E,MAAM,WAAW,gBAAiB,SAAQ,IAAI,CAAC,cAAc,CAAC,cAAc,CAAC,EAAE,UAAU,CAAC;IACxF,uDAAuD;IACvD,SAAS,CAAC,EAAE,cAAc,CAAC;IAC3B,wEAAwE;IACxE,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB;kFAC8E;IAC9E,QAAQ,EAAE,SAAS,CAAC;IACpB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,2CAA2C;IAC3C,GAAG,CAAC,EAAE,GAAG,CAAC,cAAc,CAAC,CAAC;CAC3B;AAmBD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;qEAyCqE;AACrE,wBAAgB,WAAW,CAAC,EAC1B,SAAwB,EACxB,YAAY,EAAE,SAA2B,EACzC,QAAQ,EACR,SAAS,EACT,GAAG,EACH,GAAG,IAAI,EACR,EAAE,gBAAgB,+BAuDlB"}
@@ -0,0 +1,15 @@
1
+ import { IconInfo } from "../icons/index.js";
2
+ /** The status axis every feedback component shares: Toast (D64), and Banner
3
+ * and InlineAlert (D86). `neutral` carries no status. */
4
+ export type StatusVariant = "neutral" | "success" | "warning" | "danger";
5
+ /** The variant's icon, always rendered `aria-hidden`: the meaning is carried
6
+ * by the status word, never by colour and shape alone. */
7
+ export declare const statusIcons: Record<StatusVariant, typeof IconInfo>;
8
+ /** Visually hidden status word, so the variant's meaning never rests on
9
+ * colour and shape alone. `neutral` carries no status, so it gets no prefix.
10
+ * A component's `statusLabel` (D83) replaces it (string) or drops it (null). */
11
+ export declare const statusPrefix: Record<StatusVariant, string | null>;
12
+ /** The word a component renders: the default for the variant unless the
13
+ * consumer set `statusLabel`. */
14
+ export declare function resolveStatusPrefix(variant: StatusVariant, statusLabel: string | null | undefined): string | null;
15
+ //# sourceMappingURL=status.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"status.d.ts","sourceRoot":"","sources":["../../src/Toast/status.ts"],"names":[],"mappings":"AAAA,OAAO,EAIL,QAAQ,EACT,MAAM,mBAAmB,CAAC;AAE3B;yDACyD;AACzD,MAAM,MAAM,aAAa,GAAG,SAAS,GAAG,SAAS,GAAG,SAAS,GAAG,QAAQ,CAAC;AAEzE;0DAC0D;AAC1D,eAAO,MAAM,WAAW,EAAE,MAAM,CAAC,aAAa,EAAE,OAAO,QAAQ,CAK9D,CAAC;AAEF;;gFAEgF;AAChF,eAAO,MAAM,YAAY,EAAE,MAAM,CAAC,aAAa,EAAE,MAAM,GAAG,IAAI,CAK7D,CAAC;AAEF;iCACiC;AACjC,wBAAgB,mBAAmB,CAAC,OAAO,EAAE,aAAa,EAAE,WAAW,EAAE,MAAM,GAAG,IAAI,GAAG,SAAS,GAAG,MAAM,GAAG,IAAI,CAEjH"}
@@ -1,5 +1,5 @@
1
1
  import type { ReactNode } from "react";
2
- import type { ToastVariant } from "./Toast.js";
2
+ import type { ToastPoliteness, ToastVariant } from "./Toast.js";
3
3
  export interface ToastOptions {
4
4
  /** @default "neutral" */
5
5
  variant?: ToastVariant;
@@ -8,13 +8,27 @@ export interface ToastOptions {
8
8
  /** Trailing affordance — a ghost Button. Its presence also selects the
9
9
  * longer auto-dismiss (`actionDuration`). */
10
10
  action?: ReactNode;
11
+ /** Which live wrapper speaks the toast (D83). Unset, the variant decides. */
12
+ politeness?: ToastPoliteness;
13
+ /** The visually hidden status word (D83): a string replaces the default,
14
+ * `null` drops it, unset keeps it. */
15
+ statusLabel?: string | null;
16
+ }
17
+ export interface AnnounceOptions {
18
+ /** Which live wrapper speaks it. @default "polite" */
19
+ politeness?: ToastPoliteness;
11
20
  }
12
21
  export interface ToastHandle {
13
22
  /** Queue a toast; returns its id. */
14
23
  show: (toast: ToastOptions) => string;
15
- /** Remove one toast by id. No-op if it has already gone. */
24
+ /** Speak a message through the same region without showing anything (D91):
25
+ * an Announcement in the wrapper `politeness` names. It leaves after a
26
+ * one-second dwell, never counts against `limit`, and is not removed early
27
+ * by a later one. Returns an id `dismiss` accepts. */
28
+ announce: (message: ReactNode, options?: AnnounceOptions) => string;
29
+ /** Remove one toast or announcement by id. No-op if it has already gone. */
16
30
  dismiss: (id: string) => void;
17
- /** Remove every queued toast. */
31
+ /** Remove every queued toast and announcement. */
18
32
  clear: () => void;
19
33
  }
20
34
  export declare const ToastContext: import("react").Context<ToastHandle | null>;
@@ -1 +1 @@
1
- {"version":3,"file":"useToast.d.ts","sourceRoot":"","sources":["../../src/Toast/useToast.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AACvC,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC;AAE/C,MAAM,WAAW,YAAY;IAC3B,yBAAyB;IACzB,OAAO,CAAC,EAAE,YAAY,CAAC;IACvB,wBAAwB;IACxB,OAAO,EAAE,SAAS,CAAC;IACnB;iDAC6C;IAC7C,MAAM,CAAC,EAAE,SAAS,CAAC;CACpB;AAED,MAAM,WAAW,WAAW;IAC1B,qCAAqC;IACrC,IAAI,EAAE,CAAC,KAAK,EAAE,YAAY,KAAK,MAAM,CAAC;IACtC,4DAA4D;IAC5D,OAAO,EAAE,CAAC,EAAE,EAAE,MAAM,KAAK,IAAI,CAAC;IAC9B,iCAAiC;IACjC,KAAK,EAAE,MAAM,IAAI,CAAC;CACnB;AAED,eAAO,MAAM,YAAY,6CAA0C,CAAC;AAEpE;;;;+CAI+C;AAC/C,wBAAgB,QAAQ,IAAI,WAAW,CAUtC"}
1
+ {"version":3,"file":"useToast.d.ts","sourceRoot":"","sources":["../../src/Toast/useToast.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AACvC,OAAO,KAAK,EAAE,eAAe,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC;AAEhE,MAAM,WAAW,YAAY;IAC3B,yBAAyB;IACzB,OAAO,CAAC,EAAE,YAAY,CAAC;IACvB,wBAAwB;IACxB,OAAO,EAAE,SAAS,CAAC;IACnB;iDAC6C;IAC7C,MAAM,CAAC,EAAE,SAAS,CAAC;IACnB,6EAA6E;IAC7E,UAAU,CAAC,EAAE,eAAe,CAAC;IAC7B;0CACsC;IACtC,WAAW,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;CAC7B;AAED,MAAM,WAAW,eAAe;IAC9B,sDAAsD;IACtD,UAAU,CAAC,EAAE,eAAe,CAAC;CAC9B;AAED,MAAM,WAAW,WAAW;IAC1B,qCAAqC;IACrC,IAAI,EAAE,CAAC,KAAK,EAAE,YAAY,KAAK,MAAM,CAAC;IACtC;;;0DAGsD;IACtD,QAAQ,EAAE,CAAC,OAAO,EAAE,SAAS,EAAE,OAAO,CAAC,EAAE,eAAe,KAAK,MAAM,CAAC;IACpE,4EAA4E;IAC5E,OAAO,EAAE,CAAC,EAAE,EAAE,MAAM,KAAK,IAAI,CAAC;IAC9B,kDAAkD;IAClD,KAAK,EAAE,MAAM,IAAI,CAAC;CACnB;AAED,eAAO,MAAM,YAAY,6CAA0C,CAAC;AAEpE;;;;+CAI+C;AAC/C,wBAAgB,QAAQ,IAAI,WAAW,CAUtC"}
@@ -1,17 +1,39 @@
1
1
  import type { HTMLAttributes, Ref, ReactNode } from "react";
2
2
  type Gap = 8 | 12 | 16;
3
- export interface ToolbarProps extends HTMLAttributes<HTMLDivElement> {
3
+ export interface ToolbarProps extends HTMLAttributes<HTMLElement> {
4
4
  /** The controls. */
5
5
  children?: ReactNode;
6
6
  /** Gap between controls in px. @default 8 */
7
7
  gap?: Gap;
8
+ /** Cross-axis alignment of the row's items. `center` (the default) centres
9
+ * them, for a row of controls without visible labels such as
10
+ * filter-toolbar. `end` and `start` are for a row of Fields with visible
11
+ * labels beside an unlabelled button.
12
+ * `end` (D87) lines items up on their bottom edge. It lines up each item's
13
+ * *last* line, so a Field in an end-aligned row must end on its control —
14
+ * no description or error line under it; use `start` for one.
15
+ * `start` (D92) lines up the controls: items share their top edge, and a
16
+ * *direct* `button` or `a` child drops by `--psi-toolbar-action-offset`
17
+ * (one Field label line plus the Field gap) onto the control line. Only a
18
+ * direct child is offset: a wrapped trigger (a Tooltip-wrapped button, a
19
+ * Menu trigger) is not. A Field's description or error line hangs below
20
+ * its control and moves nothing else. Every label in the row must fit on
21
+ * one line; a label that wraps pushes its control below the others.
22
+ * @default "center" */
23
+ align?: "center" | "end" | "start";
24
+ /** Root element. `form` renders a real `<form>`, so a submit Button
25
+ * submits it and Enter in a field does too; with `aria-label` it is a
26
+ * named form landmark, so it takes no `role="group"` (D87). Wire
27
+ * `onSubmit`. @default "div" */
28
+ as?: "div" | "form";
8
29
  /** Forwarded ref to the root element. */
9
- ref?: Ref<HTMLDivElement>;
30
+ ref?: Ref<HTMLDivElement | HTMLFormElement>;
10
31
  }
11
32
  /** Horizontal grouping row for filter/search controls (D52). Wraps on
12
33
  * overflow; zero JS. Deliberately NOT ARIA role="toolbar" — that role
13
34
  * contracts roving-tabindex arrow-key navigation, wrong for form controls.
14
- * With aria-label it announces as role="group". */
15
- export declare function Toolbar({ gap, className, children, ref, ...rest }: ToolbarProps): import("react").JSX.Element;
35
+ * With aria-label it announces as role="group"; as a form, as a named form
36
+ * landmark instead (D87). */
37
+ export declare function Toolbar({ gap, align, as, className, children, ref, ...rest }: ToolbarProps): import("react").JSX.Element;
16
38
  export {};
17
39
  //# sourceMappingURL=Toolbar.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"Toolbar.d.ts","sourceRoot":"","sources":["../../src/Toolbar/Toolbar.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,GAAG,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AAG5D,KAAK,GAAG,GAAG,CAAC,GAAG,EAAE,GAAG,EAAE,CAAC;AAEvB,MAAM,WAAW,YAAa,SAAQ,cAAc,CAAC,cAAc,CAAC;IAClE,oBAAoB;IACpB,QAAQ,CAAC,EAAE,SAAS,CAAC;IACrB,6CAA6C;IAC7C,GAAG,CAAC,EAAE,GAAG,CAAC;IACV,yCAAyC;IACzC,GAAG,CAAC,EAAE,GAAG,CAAC,cAAc,CAAC,CAAC;CAC3B;AAID;;;mDAGmD;AACnD,wBAAgB,OAAO,CAAC,EAAE,GAAO,EAAE,SAAS,EAAE,QAAQ,EAAE,GAAG,EAAE,GAAG,IAAI,EAAE,EAAE,YAAY,+BAOnF"}
1
+ {"version":3,"file":"Toolbar.d.ts","sourceRoot":"","sources":["../../src/Toolbar/Toolbar.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,GAAG,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AAG5D,KAAK,GAAG,GAAG,CAAC,GAAG,EAAE,GAAG,EAAE,CAAC;AAEvB,MAAM,WAAW,YAAa,SAAQ,cAAc,CAAC,WAAW,CAAC;IAC/D,oBAAoB;IACpB,QAAQ,CAAC,EAAE,SAAS,CAAC;IACrB,6CAA6C;IAC7C,GAAG,CAAC,EAAE,GAAG,CAAC;IACV;;;;;;;;;;;;;;2BAcuB;IACvB,KAAK,CAAC,EAAE,QAAQ,GAAG,KAAK,GAAG,OAAO,CAAC;IACnC;;;oCAGgC;IAChC,EAAE,CAAC,EAAE,KAAK,GAAG,MAAM,CAAC;IACpB,yCAAyC;IACzC,GAAG,CAAC,EAAE,GAAG,CAAC,cAAc,GAAG,eAAe,CAAC,CAAC;CAC7C;AASD;;;;6BAI6B;AAC7B,wBAAgB,OAAO,CAAC,EAAE,GAAO,EAAE,KAAgB,EAAE,EAAU,EAAE,SAAS,EAAE,QAAQ,EAAE,GAAG,EAAE,GAAG,IAAI,EAAE,EAAE,YAAY,+BAqBjH"}
@@ -1 +1 @@
1
- {"version":3,"file":"a11y-meta.d.ts","sourceRoot":"","sources":["../src/a11y-meta.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AACH,MAAM,WAAW,SAAS;IACxB,QAAQ,EAAE,KAAK,CAAC;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,QAAQ,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;IACpD,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAED,eAAO,MAAM,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,SAAS,CAgJ9C,CAAC"}
1
+ {"version":3,"file":"a11y-meta.d.ts","sourceRoot":"","sources":["../src/a11y-meta.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AACH,MAAM,WAAW,SAAS;IACxB,QAAQ,EAAE,KAAK,CAAC;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,QAAQ,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;IACpD,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAED,eAAO,MAAM,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,SAAS,CAqO9C,CAAC"}
package/dist/index.d.ts CHANGED
@@ -12,10 +12,22 @@ export { DescriptionItem } from "./DescriptionList/DescriptionItem.js";
12
12
  export type { DescriptionItemProps } from "./DescriptionList/DescriptionItem.js";
13
13
  export { NavBar } from "./NavBar/NavBar.js";
14
14
  export type { NavBarProps } from "./NavBar/NavBar.js";
15
+ export { SkipLink } from "./SkipLink/SkipLink.js";
16
+ export type { SkipLinkProps } from "./SkipLink/SkipLink.js";
17
+ export { NavTree } from "./NavTree/NavTree.js";
18
+ export type { NavTreeProps } from "./NavTree/NavTree.js";
19
+ export { NavGroup } from "./NavTree/NavGroup.js";
20
+ export type { NavGroupProps } from "./NavTree/NavGroup.js";
21
+ export { NavItem } from "./NavTree/NavItem.js";
22
+ export type { NavItemProps } from "./NavTree/NavItem.js";
23
+ export { AppShell } from "./AppShell/AppShell.js";
24
+ export type { AppShellProps } from "./AppShell/AppShell.js";
15
25
  export { AspectRatio } from "./AspectRatio/AspectRatio.js";
16
26
  export type { AspectRatioProps } from "./AspectRatio/AspectRatio.js";
17
- export { Field } from "./Field/Field.js";
18
- export type { FieldProps } from "./Field/Field.js";
27
+ export { Field, FieldContext } from "./Field/Field.js";
28
+ export type { FieldProps, FieldContextValue } from "./Field/Field.js";
29
+ export { useFieldControl } from "./Field/useFieldControl.js";
30
+ export type { FieldControlProps } from "./Field/useFieldControl.js";
19
31
  export { Dialog } from "./Dialog/Dialog.js";
20
32
  export type { DialogProps } from "./Dialog/Dialog.js";
21
33
  export { Input } from "./Input/Input.js";
@@ -49,14 +61,28 @@ export { TableHeaderCell } from "./Table/TableHeaderCell.js";
49
61
  export type { TableHeaderCellProps } from "./Table/TableHeaderCell.js";
50
62
  export { TableCell } from "./Table/TableCell.js";
51
63
  export type { TableCellProps } from "./Table/TableCell.js";
64
+ export { TableCaption } from "./Table/TableCaption.js";
65
+ export type { TableCaptionProps } from "./Table/TableCaption.js";
52
66
  export { Pagination } from "./Pagination/Pagination.js";
53
67
  export type { PaginationProps } from "./Pagination/Pagination.js";
68
+ export { CursorPagination } from "./CursorPagination/CursorPagination.js";
69
+ export type { CursorPaginationProps } from "./CursorPagination/CursorPagination.js";
54
70
  export { Toast } from "./Toast/Toast.js";
55
- export type { ToastProps, ToastVariant } from "./Toast/Toast.js";
71
+ export type { ToastProps, ToastVariant, ToastPoliteness } from "./Toast/Toast.js";
56
72
  export { ToastRegion } from "./Toast/ToastRegion.js";
57
73
  export type { ToastRegionProps, ToastPlacement } from "./Toast/ToastRegion.js";
58
74
  export { ToastProvider } from "./Toast/ToastProvider.js";
59
75
  export type { ToastProviderProps } from "./Toast/ToastProvider.js";
76
+ export { Announcement } from "./Toast/Announcement.js";
77
+ export type { AnnouncementProps } from "./Toast/Announcement.js";
78
+ export { Banner } from "./Banner/Banner.js";
79
+ export type { BannerProps, BannerVariant } from "./Banner/Banner.js";
80
+ export { InlineAlert } from "./InlineAlert/InlineAlert.js";
81
+ export type { InlineAlertProps, InlineAlertVariant } from "./InlineAlert/InlineAlert.js";
82
+ export { Skeleton } from "./Skeleton/Skeleton.js";
83
+ export type { SkeletonProps } from "./Skeleton/Skeleton.js";
84
+ export { CopyButton } from "./CopyButton/CopyButton.js";
85
+ export type { CopyButtonProps } from "./CopyButton/CopyButton.js";
60
86
  export { Tabs, TabsContext } from "./Tabs/Tabs.js";
61
87
  export type { TabsProps, TabsOrientation, TabsContextValue } from "./Tabs/Tabs.js";
62
88
  export { TabList } from "./Tabs/TabList.js";
@@ -66,6 +92,6 @@ export type { TabProps } from "./Tabs/Tab.js";
66
92
  export { TabPanel } from "./Tabs/TabPanel.js";
67
93
  export type { TabPanelProps } from "./Tabs/TabPanel.js";
68
94
  export { useToast, ToastContext } from "./Toast/useToast.js";
69
- export type { ToastHandle, ToastOptions } from "./Toast/useToast.js";
95
+ export type { AnnounceOptions, ToastHandle, ToastOptions } from "./Toast/useToast.js";
70
96
  export { IconPlus, IconMinus, IconClose, IconCheck, IconChevronDown, IconChevronRight, IconChevronLeft, IconSearch, IconSettings, IconUser, IconEdit, IconTrash, IconCopy, IconExternalLink, IconEye, IconEyeOff, IconLoader, IconArrowDown, IconArrowUpRight, IconLinkedIn, IconGitHub, IconX, IconInstagram, IconInfo, IconAlertTriangle, IconAlertCircle, IconMoreHorizontal, IconMenu, IconLogOut, IconSimCard, } from "./icons/index.js";
71
97
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,oBAAoB,CAAC;AAC5C,YAAY,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AACtD,OAAO,EAAE,UAAU,EAAE,MAAM,4BAA4B,CAAC;AACxD,YAAY,EAAE,eAAe,EAAE,MAAM,4BAA4B,CAAC;AAClE,OAAO,EAAE,IAAI,EAAE,MAAM,gBAAgB,CAAC;AACtC,YAAY,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAC;AAChD,OAAO,EAAE,KAAK,EAAE,MAAM,kBAAkB,CAAC;AACzC,YAAY,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AACnD,OAAO,EAAE,eAAe,EAAE,MAAM,sCAAsC,CAAC;AACvE,YAAY,EAAE,oBAAoB,EAAE,MAAM,sCAAsC,CAAC;AACjF,OAAO,EAAE,eAAe,EAAE,MAAM,sCAAsC,CAAC;AACvE,YAAY,EAAE,oBAAoB,EAAE,MAAM,sCAAsC,CAAC;AACjF,OAAO,EAAE,MAAM,EAAE,MAAM,oBAAoB,CAAC;AAC5C,YAAY,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AACtD,OAAO,EAAE,WAAW,EAAE,MAAM,8BAA8B,CAAC;AAC3D,YAAY,EAAE,gBAAgB,EAAE,MAAM,8BAA8B,CAAC;AACrE,OAAO,EAAE,KAAK,EAAE,MAAM,kBAAkB,CAAC;AACzC,YAAY,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AACnD,OAAO,EAAE,MAAM,EAAE,MAAM,oBAAoB,CAAC;AAC5C,YAAY,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AACtD,OAAO,EAAE,KAAK,EAAE,MAAM,kBAAkB,CAAC;AACzC,YAAY,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AACnD,OAAO,EAAE,MAAM,EAAE,MAAM,oBAAoB,CAAC;AAC5C,YAAY,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AACtD,OAAO,EAAE,QAAQ,EAAE,MAAM,wBAAwB,CAAC;AAClD,YAAY,EAAE,aAAa,EAAE,MAAM,wBAAwB,CAAC;AAC5D,OAAO,EAAE,MAAM,EAAE,MAAM,oBAAoB,CAAC;AAC5C,YAAY,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AACtD,OAAO,EAAE,GAAG,EAAE,MAAM,cAAc,CAAC;AACnC,YAAY,EAAE,QAAQ,EAAE,MAAM,cAAc,CAAC;AAC7C,OAAO,EAAE,OAAO,EAAE,MAAM,sBAAsB,CAAC;AAC/C,YAAY,EAAE,YAAY,EAAE,MAAM,sBAAsB,CAAC;AACzD,OAAO,EAAE,OAAO,EAAE,MAAM,sBAAsB,CAAC;AAC/C,YAAY,EAAE,YAAY,EAAE,MAAM,sBAAsB,CAAC;AACzD,OAAO,EAAE,IAAI,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AACnD,YAAY,EAAE,SAAS,EAAE,aAAa,EAAE,gBAAgB,EAAE,MAAM,gBAAgB,CAAC;AACjF,OAAO,EAAE,QAAQ,EAAE,MAAM,oBAAoB,CAAC;AAC9C,YAAY,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AACxD,OAAO,EAAE,aAAa,EAAE,MAAM,yBAAyB,CAAC;AACxD,OAAO,EAAE,KAAK,EAAE,MAAM,kBAAkB,CAAC;AACzC,YAAY,EAAE,UAAU,EAAE,SAAS,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAC9E,OAAO,EAAE,SAAS,EAAE,MAAM,sBAAsB,CAAC;AACjD,YAAY,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AAC3D,OAAO,EAAE,SAAS,EAAE,MAAM,sBAAsB,CAAC;AACjD,YAAY,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AAC3D,OAAO,EAAE,QAAQ,EAAE,MAAM,qBAAqB,CAAC;AAC/C,YAAY,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AACzD,OAAO,EAAE,eAAe,EAAE,MAAM,4BAA4B,CAAC;AAC7D,YAAY,EAAE,oBAAoB,EAAE,MAAM,4BAA4B,CAAC;AACvE,OAAO,EAAE,SAAS,EAAE,MAAM,sBAAsB,CAAC;AACjD,YAAY,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AAC3D,OAAO,EAAE,UAAU,EAAE,MAAM,4BAA4B,CAAC;AACxD,YAAY,EAAE,eAAe,EAAE,MAAM,4BAA4B,CAAC;AAClE,OAAO,EAAE,KAAK,EAAE,MAAM,kBAAkB,CAAC;AACzC,YAAY,EAAE,UAAU,EAAE,YAAY,EAAE,MAAM,kBAAkB,CAAC;AACjE,OAAO,EAAE,WAAW,EAAE,MAAM,wBAAwB,CAAC;AACrD,YAAY,EAAE,gBAAgB,EAAE,cAAc,EAAE,MAAM,wBAAwB,CAAC;AAC/E,OAAO,EAAE,aAAa,EAAE,MAAM,0BAA0B,CAAC;AACzD,YAAY,EAAE,kBAAkB,EAAE,MAAM,0BAA0B,CAAC;AACnE,OAAO,EAAE,IAAI,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AACnD,YAAY,EAAE,SAAS,EAAE,eAAe,EAAE,gBAAgB,EAAE,MAAM,gBAAgB,CAAC;AACnF,OAAO,EAAE,OAAO,EAAE,MAAM,mBAAmB,CAAC;AAC5C,YAAY,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AACtD,OAAO,EAAE,GAAG,EAAE,MAAM,eAAe,CAAC;AACpC,YAAY,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AAC9C,OAAO,EAAE,QAAQ,EAAE,MAAM,oBAAoB,CAAC;AAC9C,YAAY,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AACxD,OAAO,EAAE,QAAQ,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAC;AAC7D,YAAY,EAAE,WAAW,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAC;AACrE,OAAO,EACL,QAAQ,EACR,SAAS,EACT,SAAS,EACT,SAAS,EACT,eAAe,EACf,gBAAgB,EAChB,eAAe,EACf,UAAU,EACV,YAAY,EACZ,QAAQ,EACR,QAAQ,EACR,SAAS,EACT,QAAQ,EACR,gBAAgB,EAChB,OAAO,EACP,UAAU,EACV,UAAU,EACV,aAAa,EACb,gBAAgB,EAChB,YAAY,EACZ,UAAU,EACV,KAAK,EACL,aAAa,EACb,QAAQ,EACR,iBAAiB,EACjB,eAAe,EACf,kBAAkB,EAClB,QAAQ,EACR,UAAU,EACV,WAAW,GACZ,MAAM,kBAAkB,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}