@handamade/psi-react 0.21.0 → 0.23.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 (72) hide show
  1. package/README.md +17 -0
  2. package/dist/Field/Field.d.ts +5 -1
  3. package/dist/Field/Field.d.ts.map +1 -1
  4. package/dist/NavTree/NavItem.d.ts +12 -8
  5. package/dist/NavTree/NavItem.d.ts.map +1 -1
  6. package/dist/Tabs/Tab.d.ts.map +1 -1
  7. package/dist/Tabs/Tabs.d.ts +20 -1
  8. package/dist/Tabs/Tabs.d.ts.map +1 -1
  9. package/dist/Toast/Announcement.d.ts +12 -4
  10. package/dist/Toast/Announcement.d.ts.map +1 -1
  11. package/dist/Toast/ToastProvider.d.ts +27 -4
  12. package/dist/Toast/ToastProvider.d.ts.map +1 -1
  13. package/dist/Toast/ToastRegion.d.ts +11 -2
  14. package/dist/Toast/ToastRegion.d.ts.map +1 -1
  15. package/dist/Toast/useToast.d.ts +11 -2
  16. package/dist/Toast/useToast.d.ts.map +1 -1
  17. package/dist/Toolbar/Toolbar.d.ts +16 -6
  18. package/dist/Toolbar/Toolbar.d.ts.map +1 -1
  19. package/dist/index.d.ts +1 -1
  20. package/dist/index.d.ts.map +1 -1
  21. package/dist/index.js +1050 -1015
  22. package/dist/manifest.json +32 -11
  23. package/dist/patterns.json +4 -4
  24. package/dist/styles.css +1 -1
  25. package/docs/Announcement.md +3 -3
  26. package/docs/AppShell.md +1 -1
  27. package/docs/AspectRatio.md +1 -1
  28. package/docs/Banner.md +1 -1
  29. package/docs/Button.md +1 -1
  30. package/docs/Card.md +1 -1
  31. package/docs/Checkbox.md +1 -1
  32. package/docs/CopyButton.md +1 -1
  33. package/docs/CursorPagination.md +1 -1
  34. package/docs/DescriptionItem.md +1 -1
  35. package/docs/DescriptionList.md +1 -1
  36. package/docs/Dialog.md +1 -1
  37. package/docs/Field.md +2 -2
  38. package/docs/IconButton.md +1 -1
  39. package/docs/InlineAlert.md +1 -1
  40. package/docs/Input.md +1 -1
  41. package/docs/Menu.md +1 -1
  42. package/docs/MenuItem.md +1 -1
  43. package/docs/MenuSeparator.md +1 -1
  44. package/docs/NavBar.md +1 -1
  45. package/docs/NavGroup.md +1 -1
  46. package/docs/NavItem.md +5 -5
  47. package/docs/NavTree.md +1 -1
  48. package/docs/Pagination.md +1 -1
  49. package/docs/Panel.md +1 -1
  50. package/docs/Select.md +1 -1
  51. package/docs/Skeleton.md +1 -1
  52. package/docs/SkipLink.md +1 -1
  53. package/docs/Switch.md +1 -1
  54. package/docs/Tab.md +1 -1
  55. package/docs/TabList.md +1 -1
  56. package/docs/TabPanel.md +1 -1
  57. package/docs/Table.md +1 -1
  58. package/docs/TableBody.md +1 -1
  59. package/docs/TableCaption.md +1 -1
  60. package/docs/TableCell.md +1 -1
  61. package/docs/TableHead.md +1 -1
  62. package/docs/TableHeaderCell.md +1 -1
  63. package/docs/TableRow.md +1 -1
  64. package/docs/Tabs.md +3 -3
  65. package/docs/Tag.md +1 -1
  66. package/docs/Toast.md +1 -1
  67. package/docs/ToastProvider.md +6 -3
  68. package/docs/ToastRegion.md +4 -4
  69. package/docs/Toolbar.md +2 -2
  70. package/docs/Tooltip.md +1 -1
  71. package/llms.txt +10 -7
  72. package/package.json +3 -2
package/README.md CHANGED
@@ -33,6 +33,23 @@ export default function App() {
33
33
  }
34
34
  ```
35
35
 
36
+ ## Cascade
37
+
38
+ Component styles ship in `@layer psi.components` (D94), so utilities such as
39
+ `psi-gap-24` or `psi-fg-secondary` win over a component's own values. The
40
+ flip side: **unlayered CSS in your app beats every Psi component rule,
41
+ whatever its specificity.** An unlayered reset like `button { padding: 0 }`
42
+ will strip a `Button`. Put resets and element rules in a layer below Psi's:
43
+
44
+ ```css
45
+ @layer psi.base {
46
+ button { padding: 0; font: inherit; }
47
+ }
48
+ ```
49
+
50
+ or declare your own layer first:
51
+ `@layer reset, psi.base, psi.theme, psi.components, psi.utilities;`.
52
+
36
53
  ## Conventions
37
54
 
38
55
  - **size** is a pixel number: `24 | 32 | 40 | 48` (never `"sm"`, `"md"`, `"lg"`)
@@ -48,6 +48,10 @@ export interface FieldProps extends HTMLAttributes<HTMLElement> {
48
48
  }
49
49
  /** Labeled form-row wrapper: label above, control, one message line below —
50
50
  * description normally, error when set (aria-live unless `announce={false}`).
51
- * Auto-wires id/aria-describedby/aria-invalid into Input and Select (D49). */
51
+ * Auto-wires id/aria-describedby/aria-invalid into Input and Select (D49).
52
+ * Overriding `--psi-field-gap` or `--psi-field-label-height` on a narrower
53
+ * scope than the theme root, inside a `Toolbar align="start"` row, also needs
54
+ * `--psi-toolbar-action-offset` set on that same scope, or the row's button
55
+ * keeps the theme-root offset (D92). */
52
56
  export declare function Field({ label, description, error, required, requiredText, group, htmlFor, announce, className, children, ref, ...rest }: FieldProps): import("react").JSX.Element;
53
57
  //# 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;;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"}
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;;;;;;wCAMwC;AACxC,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"}
@@ -1,15 +1,17 @@
1
1
  import type { HTMLAttributes, ReactNode, Ref } from "react";
2
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. */
3
+ /** Without `href`: one anchor, your router's link. With `href`: the link's
4
+ * text. */
5
5
  children: ReactNode;
6
6
  /** Render the anchor yourself (D88), for a plain link or a preset: the
7
7
  * `<li>` holds `<a href>` with `children` as its text. Router apps leave it
8
8
  * out and pass their own link as the child, so the link keeps its own
9
9
  * handlers. */
10
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`. */
11
+ /** Mark the link as the current page (`aria-current="page"`): on the
12
+ * anchor `href` renders, or on the single element you pass as a child (D93).
13
+ * Without `current`, a child's own `aria-current` is left alone, so a router
14
+ * that marks its active link keeps working. */
13
15
  current?: boolean;
14
16
  className?: string;
15
17
  /** Forwarded ref to the `<li>`. */
@@ -17,9 +19,11 @@ export interface NavItemProps extends Omit<HTMLAttributes<HTMLLIElement>, "child
17
19
  }
18
20
  /** One entry of a `NavTree` (D88): an `<li>` that styles the single anchor
19
21
  * 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. */
22
+ * `href` and handlers; with `current`, `NavItem` clones it to add
23
+ * `aria-current="page"` (D93), as `Menu` clones its trigger. `href` is for
24
+ * plain links and for presets, where the compose tree can hold only manifest
25
+ * components and a raw `<a>` is not one. The current page is never marked by
26
+ * colour alone: medium weight, a raised surface and a bar at the inline
27
+ * start. */
24
28
  export declare function NavItem({ children, href, current, className, ref, ...rest }: NavItemProps): import("react").JSX.Element;
25
29
  //# sourceMappingURL=NavItem.d.ts.map
@@ -1 +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"}
1
+ {"version":3,"file":"NavItem.d.ts","sourceRoot":"","sources":["../../src/NavTree/NavItem.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,cAAc,EAAgB,SAAS,EAAE,GAAG,EAAE,MAAM,OAAO,CAAC;AAG1E,MAAM,WAAW,YAAa,SAAQ,IAAI,CAAC,cAAc,CAAC,aAAa,CAAC,EAAE,UAAU,CAAC;IACnF;eACW;IACX,QAAQ,EAAE,SAAS,CAAC;IACpB;;;mBAGe;IACf,IAAI,CAAC,EAAE,MAAM,CAAC;IACd;;;mDAG+C;IAC/C,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,mCAAmC;IACnC,GAAG,CAAC,EAAE,GAAG,CAAC,aAAa,CAAC,CAAC;CAC1B;AAED;;;;;;;YAOY;AACZ,wBAAgB,OAAO,CAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,OAAO,EAAE,SAAS,EAAE,GAAG,EAAE,GAAG,IAAI,EAAE,EAAE,YAAY,+BAuBzF"}
@@ -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"}
@@ -19,10 +19,18 @@ export interface AnnouncementProps {
19
19
  * `politeness` is not read here. ToastRegion reads it off the element to pick
20
20
  * a wrapper, the same way it reads a Toast's.
21
21
  *
22
- * Controlled, like Toast: it holds no state and never removes itself. Remove
23
- * it once it has been spoken. To announce the same text again, remove it and
24
- * render it again with a new `key` — a live region speaks changes, and an
25
- * unchanged node is not one.
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.
26
34
  *
27
35
  * It takes no `className`: the one thing a class could do to it is make it
28
36
  * visible, and then it is a Toast. */
@@ -1 +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;;;;;;;;;;;;;;;;;;;sCAmBsC;AACtC,wBAAgB,YAAY,CAAC,EAAE,QAAQ,EAAE,EAAE,iBAAiB,+BAM3D"}
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,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;AAsBD;;;;;;;;;;;;;;;;YAgBY;AACZ,wBAAgB,aAAa,CAAC,EAC5B,KAAS,EACT,QAAe,EACf,cAAsB,EACtB,SAAwB,EACxB,QAAQ,GACT,EAAE,kBAAkB,+BAmIpB"}
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,9 +1,11 @@
1
1
  import type { HTMLAttributes, ReactNode, Ref } from "react";
2
2
  export type ToastPlacement = "top-start" | "top-end" | "bottom-start" | "bottom-end";
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. */
3
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
10
  /** The stack — `Toast` and `Announcement` elements, each routed to a live
9
11
  * wrapper by its `politeness`, or by a Toast's variant when it names none. */
@@ -46,6 +48,13 @@ export interface ToastRegionProps extends Omit<HTMLAttributes<HTMLDivElement>, "
46
48
  * element (D83). That is how an application marks the region
47
49
  * `data-react-aria-top-layer`, so that a React Aria overlay — which hides
48
50
  * everything outside itself with `aria-hidden` — leaves the two live regions
49
- * exposed. The region's own attributes always win. */
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. */
50
59
  export declare function ToastRegion({ placement, "aria-label": ariaLabel, children, className, ref, ...rest }: ToastRegionProps): import("react").JSX.Element;
51
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,cAAc,EAAE,SAAS,EAAE,GAAG,EAAE,MAAM,OAAO,CAAC;AAM5D,MAAM,MAAM,cAAc,GAAG,WAAW,GAAG,SAAS,GAAG,cAAc,GAAG,YAAY,CAAC;AAErF,MAAM,WAAW,gBAAiB,SAAQ,IAAI,CAAC,cAAc,CAAC,cAAc,CAAC,EAAE,UAAU,CAAC;IACxF,uDAAuD;IACvD,SAAS,CAAC,EAAE,cAAc,CAAC;IAC3B,+DAA+D;IAC/D,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;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;sDAkCsD;AACtD,wBAAgB,WAAW,CAAC,EAC1B,SAAwB,EACxB,YAAY,EAAE,SAA2B,EACzC,QAAQ,EACR,SAAS,EACT,GAAG,EACH,GAAG,IAAI,EACR,EAAE,gBAAgB,+BAsDlB"}
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"}
@@ -14,12 +14,21 @@ export interface ToastOptions {
14
14
  * `null` drops it, unset keeps it. */
15
15
  statusLabel?: string | null;
16
16
  }
17
+ export interface AnnounceOptions {
18
+ /** Which live wrapper speaks it. @default "polite" */
19
+ politeness?: ToastPoliteness;
20
+ }
17
21
  export interface ToastHandle {
18
22
  /** Queue a toast; returns its id. */
19
23
  show: (toast: ToastOptions) => string;
20
- /** 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. */
21
30
  dismiss: (id: string) => void;
22
- /** Remove every queued toast. */
31
+ /** Remove every queued toast and announcement. */
23
32
  clear: () => void;
24
33
  }
25
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,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,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"}
@@ -5,12 +5,22 @@ export interface ToolbarProps extends HTMLAttributes<HTMLElement> {
5
5
  children?: ReactNode;
6
6
  /** Gap between controls in px. @default 8 */
7
7
  gap?: Gap;
8
- /** Cross-axis alignment. `end` lines items up on their bottom edge, so
9
- * controls under visible Field labels and a button without one share a
10
- * control line (D87). It lines up each item's *last* line: a Field in an
11
- * end-aligned row must end on its control — no description or error line
12
- * under it; put a hint in the label. @default "center" */
13
- align?: "center" | "end";
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";
14
24
  /** Root element. `form` renders a real `<form>`, so a submit Button
15
25
  * submits it and Enter in a field does too; with `aria-label` it is a
16
26
  * named form landmark, so it takes no `role="group"` (D87). Wire
@@ -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,WAAW,CAAC;IAC/D,oBAAoB;IACpB,QAAQ,CAAC,EAAE,SAAS,CAAC;IACrB,6CAA6C;IAC7C,GAAG,CAAC,EAAE,GAAG,CAAC;IACV;;;;8DAI0D;IAC1D,KAAK,CAAC,EAAE,QAAQ,GAAG,KAAK,CAAC;IACzB;;;oCAGgC;IAChC,EAAE,CAAC,EAAE,KAAK,GAAG,MAAM,CAAC;IACpB,yCAAyC;IACzC,GAAG,CAAC,EAAE,GAAG,CAAC,cAAc,GAAG,eAAe,CAAC,CAAC;CAC7C;AAID;;;;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
+ {"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"}
package/dist/index.d.ts CHANGED
@@ -92,6 +92,6 @@ export type { TabProps } from "./Tabs/Tab.js";
92
92
  export { TabPanel } from "./Tabs/TabPanel.js";
93
93
  export type { TabPanelProps } from "./Tabs/TabPanel.js";
94
94
  export { useToast, ToastContext } from "./Toast/useToast.js";
95
- export type { ToastHandle, ToastOptions } from "./Toast/useToast.js";
95
+ export type { AnnounceOptions, ToastHandle, ToastOptions } from "./Toast/useToast.js";
96
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";
97
97
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}