@handamade/psi-react 0.11.0 → 0.13.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/Dialog/Dialog.d.ts +18 -3
- package/dist/Dialog/Dialog.d.ts.map +1 -1
- package/dist/Tabs/Tab.d.ts +19 -0
- package/dist/Tabs/Tab.d.ts.map +1 -0
- package/dist/Tabs/TabList.d.ts +19 -0
- package/dist/Tabs/TabList.d.ts.map +1 -0
- package/dist/Tabs/TabPanel.d.ts +23 -0
- package/dist/Tabs/TabPanel.d.ts.map +1 -0
- package/dist/Tabs/Tabs.d.ts +45 -0
- package/dist/Tabs/Tabs.d.ts.map +1 -0
- package/dist/Tabs/useTabsKeyboard.d.ts +21 -0
- package/dist/Tabs/useTabsKeyboard.d.ts.map +1 -0
- package/dist/a11y-meta.d.ts.map +1 -1
- package/dist/index.d.ts +8 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +722 -571
- package/dist/manifest.json +182 -2
- package/dist/patterns.json +55 -23
- package/dist/styles.css +1 -1
- package/docs/Dialog.md +4 -3
- package/docs/Tab.md +39 -0
- package/docs/TabList.md +40 -0
- package/docs/TabPanel.md +38 -0
- package/docs/Tabs.md +40 -0
- package/llms.txt +13 -1
- package/package.json +2 -2
package/README.md
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
# @handamade/psi-react
|
|
2
2
|
|
|
3
|
-
|
|
3
|
+
32 React 19 components consuming @handamade/psi-tokens. Zero runtime dependencies, CSS Modules, full TypeScript support.
|
|
4
4
|
|
|
5
5
|
## Installation
|
|
6
6
|
|
package/dist/Dialog/Dialog.d.ts
CHANGED
|
@@ -1,5 +1,10 @@
|
|
|
1
1
|
import type { DialogHTMLAttributes, ReactNode, Ref } from "react";
|
|
2
2
|
type Width = 400 | 560 | 720;
|
|
3
|
+
/** Where the panel sits. `inline-*` pin it full-height to that edge — that is
|
|
4
|
+
* a drawer / side sheet, and D66 is the decision that it is a placement rather
|
|
5
|
+
* than a sibling component. Logical, not `left`/`right`, so RTL flips without a
|
|
6
|
+
* second code path. */
|
|
7
|
+
export type DialogPlacement = "center" | "inline-start" | "inline-end";
|
|
3
8
|
export interface DialogProps extends Omit<DialogHTMLAttributes<HTMLDialogElement>, "title" | "onClose" | "open"> {
|
|
4
9
|
/** Controlled open state; syncs to showModal()/close(). */
|
|
5
10
|
open: boolean;
|
|
@@ -9,8 +14,12 @@ export interface DialogProps extends Omit<DialogHTMLAttributes<HTMLDialogElement
|
|
|
9
14
|
title?: ReactNode;
|
|
10
15
|
/** Action row (Buttons — one accent per group, danger for destructive). */
|
|
11
16
|
footer?: ReactNode;
|
|
12
|
-
/** Panel width in px (400 | 560 | 720).
|
|
17
|
+
/** Panel width in px (400 | 560 | 720). For an `inline-*` placement this is
|
|
18
|
+
* the drawer's width; the height is always the full viewport. @default 560 */
|
|
13
19
|
width?: Width;
|
|
20
|
+
/** Where the panel sits. `inline-start` / `inline-end` pin it full-height to
|
|
21
|
+
* that edge, making it a drawer (D66). @default "center" */
|
|
22
|
+
placement?: DialogPlacement;
|
|
14
23
|
/** false = no close button, Esc and backdrop swallowed — footer is the only exit. @default true */
|
|
15
24
|
dismissible?: boolean;
|
|
16
25
|
/** Forwarded ref to the underlying <dialog> element. */
|
|
@@ -18,7 +27,13 @@ export interface DialogProps extends Omit<DialogHTMLAttributes<HTMLDialogElement
|
|
|
18
27
|
}
|
|
19
28
|
/** Modal dialog on the native <dialog> top layer: focus trap, aria-modal and
|
|
20
29
|
* focus restore come from the platform; title/footer slots, Esc/backdrop/
|
|
21
|
-
* close-button dismissal via onClose(reason) (D50).
|
|
22
|
-
|
|
30
|
+
* close-button dismissal via onClose(reason) (D50).
|
|
31
|
+
*
|
|
32
|
+
* `placement` moves the panel and nothing else (D66): an `inline-start` /
|
|
33
|
+
* `inline-end` Dialog is a drawer, pinned full-height to that edge, with the
|
|
34
|
+
* same modality, focus trap, focus restore and dismissal reasons as a centered
|
|
35
|
+
* one. There is deliberately no separate Drawer component — a sibling would
|
|
36
|
+
* have to duplicate or wrap all of that. */
|
|
37
|
+
export declare function Dialog({ open, onClose, title, footer, width, placement, dismissible, className, children, ref, ...rest }: DialogProps): import("react").JSX.Element;
|
|
23
38
|
export {};
|
|
24
39
|
//# sourceMappingURL=Dialog.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Dialog.d.ts","sourceRoot":"","sources":["../../src/Dialog/Dialog.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,oBAAoB,EAAc,SAAS,EAAE,GAAG,EAAkB,MAAM,OAAO,CAAC;AAK9F,KAAK,KAAK,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,CAAC;AAE7B,MAAM,WAAW,WACf,SAAQ,IAAI,CAAC,oBAAoB,CAAC,iBAAiB,CAAC,EAAE,OAAO,GAAG,SAAS,GAAG,MAAM,CAAC;IACnF,2DAA2D;IAC3D,IAAI,EAAE,OAAO,CAAC;IACd,oFAAoF;IACpF,OAAO,EAAE,CAAC,MAAM,EAAE,KAAK,GAAG,UAAU,GAAG,cAAc,KAAK,IAAI,CAAC;IAC/D,sFAAsF;IACtF,KAAK,CAAC,EAAE,SAAS,CAAC;IAClB,2EAA2E;IAC3E,MAAM,CAAC,EAAE,SAAS,CAAC;IACnB
|
|
1
|
+
{"version":3,"file":"Dialog.d.ts","sourceRoot":"","sources":["../../src/Dialog/Dialog.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,oBAAoB,EAAc,SAAS,EAAE,GAAG,EAAkB,MAAM,OAAO,CAAC;AAK9F,KAAK,KAAK,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,CAAC;AAE7B;;;uBAGuB;AACvB,MAAM,MAAM,eAAe,GAAG,QAAQ,GAAG,cAAc,GAAG,YAAY,CAAC;AAEvE,MAAM,WAAW,WACf,SAAQ,IAAI,CAAC,oBAAoB,CAAC,iBAAiB,CAAC,EAAE,OAAO,GAAG,SAAS,GAAG,MAAM,CAAC;IACnF,2DAA2D;IAC3D,IAAI,EAAE,OAAO,CAAC;IACd,oFAAoF;IACpF,OAAO,EAAE,CAAC,MAAM,EAAE,KAAK,GAAG,UAAU,GAAG,cAAc,KAAK,IAAI,CAAC;IAC/D,sFAAsF;IACtF,KAAK,CAAC,EAAE,SAAS,CAAC;IAClB,2EAA2E;IAC3E,MAAM,CAAC,EAAE,SAAS,CAAC;IACnB;kFAC8E;IAC9E,KAAK,CAAC,EAAE,KAAK,CAAC;IACd;gEAC4D;IAC5D,SAAS,CAAC,EAAE,eAAe,CAAC;IAC5B,mGAAmG;IACnG,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,wDAAwD;IACxD,GAAG,CAAC,EAAE,GAAG,CAAC,iBAAiB,CAAC,CAAC;CAC9B;AAcD;;;;;;;;4CAQ4C;AAC5C,wBAAgB,MAAM,CAAC,EACrB,IAAI,EACJ,OAAO,EACP,KAAK,EACL,MAAM,EACN,KAAW,EACX,SAAoB,EACpB,WAAkB,EAClB,SAAS,EACT,QAAQ,EACR,GAAG,EACH,GAAG,IAAI,EACR,EAAE,WAAW,+BA0Eb"}
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
import type { ReactNode, Ref } from "react";
|
|
2
|
+
export interface TabProps {
|
|
3
|
+
/** Pairs this tab with the `TabPanel` of the same value. */
|
|
4
|
+
value: string;
|
|
5
|
+
/** Label — keep it to one or two words. */
|
|
6
|
+
children: ReactNode;
|
|
7
|
+
/** Skipped by arrow navigation and not selectable, but still announced. */
|
|
8
|
+
disabled?: boolean;
|
|
9
|
+
className?: string;
|
|
10
|
+
/** Forwarded ref to the underlying `<button>`. */
|
|
11
|
+
ref?: Ref<HTMLButtonElement>;
|
|
12
|
+
}
|
|
13
|
+
/** One `role="tab"` (D67). Renders a real `<button>`.
|
|
14
|
+
*
|
|
15
|
+
* `disabled` sets `aria-disabled` rather than the `disabled` attribute, so the
|
|
16
|
+
* tab stays discoverable to assistive tech while being skipped by roving
|
|
17
|
+
* navigation — the same choice MenuItem made in D53. */
|
|
18
|
+
export declare function Tab({ value, children, disabled, className, ref }: TabProps): import("react").JSX.Element;
|
|
19
|
+
//# sourceMappingURL=Tab.d.ts.map
|
|
@@ -0,0 +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"}
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
import type { ReactNode, Ref } from "react";
|
|
2
|
+
export interface TabListProps {
|
|
3
|
+
/**
|
|
4
|
+
* Accessible name for the tab set. Declared here rather than inherited so
|
|
5
|
+
* docgen keeps it in the manifest (D60) — a tablist without a name is
|
|
6
|
+
* announced as an unlabelled group, and the prop would otherwise be
|
|
7
|
+
* invisible to an agent reading the manifest.
|
|
8
|
+
*/
|
|
9
|
+
"aria-label"?: string;
|
|
10
|
+
/** One `Tab` per view. */
|
|
11
|
+
children: ReactNode;
|
|
12
|
+
className?: string;
|
|
13
|
+
/** Forwarded ref to the tablist element. */
|
|
14
|
+
ref?: Ref<HTMLDivElement>;
|
|
15
|
+
}
|
|
16
|
+
/** The `role="tablist"` container (D67). Owns the roving tabindex: the whole
|
|
17
|
+
* list is one Tab stop, and the arrow keys move between tabs inside it. */
|
|
18
|
+
export declare function TabList({ "aria-label": ariaLabel, children, className, ref }: TabListProps): import("react").JSX.Element;
|
|
19
|
+
//# sourceMappingURL=TabList.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"TabList.d.ts","sourceRoot":"","sources":["../../src/Tabs/TabList.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,SAAS,EAAE,GAAG,EAAE,MAAM,OAAO,CAAC;AAK5C,MAAM,WAAW,YAAY;IAC3B;;;;;OAKG;IACH,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,0BAA0B;IAC1B,QAAQ,EAAE,SAAS,CAAC;IACpB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,4CAA4C;IAC5C,GAAG,CAAC,EAAE,GAAG,CAAC,cAAc,CAAC,CAAC;CAC3B;AAED;2EAC2E;AAC3E,wBAAgB,OAAO,CAAC,EAAE,YAAY,EAAE,SAAS,EAAE,QAAQ,EAAE,SAAS,EAAE,GAAG,EAAE,EAAE,YAAY,+BAwB1F"}
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
import type { ReactNode, Ref } from "react";
|
|
2
|
+
export interface TabPanelProps {
|
|
3
|
+
/** Pairs this panel with the `Tab` of the same value. */
|
|
4
|
+
value: string;
|
|
5
|
+
/** The view for this tab. Rendered even when unselected, then `hidden`. */
|
|
6
|
+
children: ReactNode;
|
|
7
|
+
className?: string;
|
|
8
|
+
/** Forwarded ref to the panel element. */
|
|
9
|
+
ref?: Ref<HTMLDivElement>;
|
|
10
|
+
}
|
|
11
|
+
/** One `role="tabpanel"` (D67).
|
|
12
|
+
*
|
|
13
|
+
* Every panel renders; unselected ones carry `hidden`. Returning null instead
|
|
14
|
+
* would leave `aria-controls` on every unselected tab pointing at an element
|
|
15
|
+
* that does not exist, and would throw away DOM state — a half-filled form in
|
|
16
|
+
* a panel would lose its values on each tab switch. The cost is a heavier DOM
|
|
17
|
+
* when panels are large; the answer to that is rendering less inside the
|
|
18
|
+
* panel, not unmounting it behind the consumer's back.
|
|
19
|
+
*
|
|
20
|
+
* `tabIndex={0}` because a panel whose content has no focusable element would
|
|
21
|
+
* otherwise be unreachable by keyboard. */
|
|
22
|
+
export declare function TabPanel({ value, children, className, ref }: TabPanelProps): import("react").JSX.Element;
|
|
23
|
+
//# sourceMappingURL=TabPanel.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"TabPanel.d.ts","sourceRoot":"","sources":["../../src/Tabs/TabPanel.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,GAAG,EAAE,MAAM,OAAO,CAAC;AAI5C,MAAM,WAAW,aAAa;IAC5B,yDAAyD;IACzD,KAAK,EAAE,MAAM,CAAC;IACd,2EAA2E;IAC3E,QAAQ,EAAE,SAAS,CAAC;IACpB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,0CAA0C;IAC1C,GAAG,CAAC,EAAE,GAAG,CAAC,cAAc,CAAC,CAAC;CAC3B;AAED;;;;;;;;;;2CAU2C;AAC3C,wBAAgB,QAAQ,CAAC,EAAE,KAAK,EAAE,QAAQ,EAAE,SAAS,EAAE,GAAG,EAAE,EAAE,aAAa,+BAiB1E"}
|
|
@@ -0,0 +1,45 @@
|
|
|
1
|
+
import type { ReactNode, Ref } from "react";
|
|
2
|
+
export type TabsOrientation = "horizontal" | "vertical";
|
|
3
|
+
export interface TabsContextValue {
|
|
4
|
+
value: string;
|
|
5
|
+
onValueChange: (value: string) => void;
|
|
6
|
+
orientation: TabsOrientation;
|
|
7
|
+
/** Stable per-instance prefix, so two tab sets on one page never collide. */
|
|
8
|
+
idPrefix: string;
|
|
9
|
+
}
|
|
10
|
+
export declare const TabsContext: import("react").Context<TabsContextValue | null>;
|
|
11
|
+
/** Throws rather than returning a default: a `Tab` outside `Tabs` would
|
|
12
|
+
* silently render an unwired, unselectable button, and the failure would
|
|
13
|
+
* surface far from its cause. */
|
|
14
|
+
export declare function useTabsContext(component: string): TabsContextValue;
|
|
15
|
+
export interface TabsProps {
|
|
16
|
+
/** Controlled selected tab, matched against each `Tab`/`TabPanel` value. */
|
|
17
|
+
value: string;
|
|
18
|
+
/** Fires with the newly selected value; the consumer flips `value`. */
|
|
19
|
+
onValueChange: (value: string) => void;
|
|
20
|
+
/** Axis of the tab list, which also picks the arrow keys. @default "horizontal" */
|
|
21
|
+
orientation?: TabsOrientation;
|
|
22
|
+
/** A `TabList` and one `TabPanel` per tab. */
|
|
23
|
+
children: ReactNode;
|
|
24
|
+
className?: string;
|
|
25
|
+
/** Forwarded ref to the wrapper `<div>`. */
|
|
26
|
+
ref?: Ref<HTMLDivElement>;
|
|
27
|
+
}
|
|
28
|
+
/** Tab set root (D67) — holds no selection state of its own, following D50,
|
|
29
|
+
* D53 and D62: `value` and `onValueChange` are required and there is no
|
|
30
|
+
* `defaultValue`.
|
|
31
|
+
*
|
|
32
|
+
* Values are strings rather than indices because an index breaks the moment a
|
|
33
|
+
* tab is inserted, and real tab sets map to ids. `Tab` and `TabPanel` pair by
|
|
34
|
+
* value, so their source order need not match.
|
|
35
|
+
*
|
|
36
|
+
* Activation is automatic: arrow keys move focus and selection together. That
|
|
37
|
+
* is the APG default where panel content is already available, and manual
|
|
38
|
+
* activation is deliberately not offered as a mode — a consumer for whom
|
|
39
|
+
* activating a panel is expensive already controls what the panel renders. */
|
|
40
|
+
export declare function Tabs({ value, onValueChange, orientation, children, className, ref, }: TabsProps): import("react").JSX.Element;
|
|
41
|
+
/** Ids are derived from the value so a tab and its panel find each other
|
|
42
|
+
* without the consumer wiring anything, and stay unique across tab sets. */
|
|
43
|
+
export declare function tabId(prefix: string, value: string): string;
|
|
44
|
+
export declare function panelId(prefix: string, value: string): string;
|
|
45
|
+
//# sourceMappingURL=Tabs.d.ts.map
|
|
@@ -0,0 +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"}
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
import type { KeyboardEvent, RefObject } from "react";
|
|
2
|
+
import type { TabsOrientation } from "./Tabs.js";
|
|
3
|
+
interface Options {
|
|
4
|
+
listRef: RefObject<HTMLDivElement | null>;
|
|
5
|
+
orientation: TabsOrientation;
|
|
6
|
+
onValueChange: (value: string) => void;
|
|
7
|
+
}
|
|
8
|
+
/** Roving-tabindex keyboard navigation for Tabs (D67): arrow keys along the
|
|
9
|
+
* orientation's axis with wrap, Home/End, disabled tabs skipped, and selection
|
|
10
|
+
* following focus (automatic activation).
|
|
11
|
+
*
|
|
12
|
+
* Deliberately separate from useMenuKeyboard rather than abstracted with it.
|
|
13
|
+
* They share "roving tabindex with wrap and Home/End" and diverge on
|
|
14
|
+
* everything else: Menu is vertical-only, adds character typeahead, handles
|
|
15
|
+
* Esc, and returns focus to a trigger; Tabs is bi-axial, has none of those, and
|
|
16
|
+
* moves selection as it moves focus. A shared hook would take an options object
|
|
17
|
+
* with more branches than either caller uses. If a third caller appears, that
|
|
18
|
+
* is the signal to abstract. */
|
|
19
|
+
export declare function useTabsKeyboard({ listRef, orientation, onValueChange }: Options): (e: KeyboardEvent<HTMLDivElement>) => void;
|
|
20
|
+
export {};
|
|
21
|
+
//# sourceMappingURL=useTabsKeyboard.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"useTabsKeyboard.d.ts","sourceRoot":"","sources":["../../src/Tabs/useTabsKeyboard.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,aAAa,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AACtD,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,WAAW,CAAC;AAEjD,UAAU,OAAO;IACf,OAAO,EAAE,SAAS,CAAC,cAAc,GAAG,IAAI,CAAC,CAAC;IAC1C,WAAW,EAAE,eAAe,CAAC;IAC7B,aAAa,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;CACxC;AAED;;;;;;;;;;gCAUgC;AAChC,wBAAgB,eAAe,CAAC,EAAE,OAAO,EAAE,WAAW,EAAE,aAAa,EAAE,EAAE,OAAO,OAwBxE,aAAa,CAAC,cAAc,CAAC,UAoCpC"}
|
package/dist/a11y-meta.d.ts.map
CHANGED
|
@@ -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,
|
|
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"}
|
package/dist/index.d.ts
CHANGED
|
@@ -53,6 +53,14 @@ export { ToastRegion } from "./Toast/ToastRegion.js";
|
|
|
53
53
|
export type { ToastRegionProps, ToastPlacement } from "./Toast/ToastRegion.js";
|
|
54
54
|
export { ToastProvider } from "./Toast/ToastProvider.js";
|
|
55
55
|
export type { ToastProviderProps } from "./Toast/ToastProvider.js";
|
|
56
|
+
export { Tabs, TabsContext } from "./Tabs/Tabs.js";
|
|
57
|
+
export type { TabsProps, TabsOrientation, TabsContextValue } from "./Tabs/Tabs.js";
|
|
58
|
+
export { TabList } from "./Tabs/TabList.js";
|
|
59
|
+
export type { TabListProps } from "./Tabs/TabList.js";
|
|
60
|
+
export { Tab } from "./Tabs/Tab.js";
|
|
61
|
+
export type { TabProps } from "./Tabs/Tab.js";
|
|
62
|
+
export { TabPanel } from "./Tabs/TabPanel.js";
|
|
63
|
+
export type { TabPanelProps } from "./Tabs/TabPanel.js";
|
|
56
64
|
export { useToast, ToastContext } from "./Toast/useToast.js";
|
|
57
65
|
export type { ToastHandle, ToastOptions } from "./Toast/useToast.js";
|
|
58
66
|
export { IconPlus, IconMinus, IconClose, IconCheck, IconChevronDown, IconChevronRight, IconSearch, IconSettings, IconUser, IconEdit, IconTrash, IconCopy, IconExternalLink, IconEye, IconEyeOff, IconLoader, IconArrowDown, IconArrowUpRight, IconLinkedIn, IconGitHub, IconX, IconInstagram, IconInfo, IconAlertTriangle, IconAlertCircle, } from "./icons/index.js";
|
package/dist/index.d.ts.map
CHANGED
|
@@ -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,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,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,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,GAChB,MAAM,kBAAkB,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|