@danieljoffe/shared-ui 0.0.1
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/LICENSE.md +117 -0
- package/README.md +373 -0
- package/dist/index.d.ts +2 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +5360 -0
- package/dist/lib/Alert.d.ts +13 -0
- package/dist/lib/Alert.d.ts.map +1 -0
- package/dist/lib/AspectRatio.d.ts +8 -0
- package/dist/lib/AspectRatio.d.ts.map +1 -0
- package/dist/lib/Avatar.d.ts +11 -0
- package/dist/lib/Avatar.d.ts.map +1 -0
- package/dist/lib/Badge.d.ts +12 -0
- package/dist/lib/Badge.d.ts.map +1 -0
- package/dist/lib/Breadcrumb.d.ts +12 -0
- package/dist/lib/Breadcrumb.d.ts.map +1 -0
- package/dist/lib/Button.d.ts +23 -0
- package/dist/lib/Button.d.ts.map +1 -0
- package/dist/lib/CTACard.d.ts +10 -0
- package/dist/lib/CTACard.d.ts.map +1 -0
- package/dist/lib/Card.d.ts +39 -0
- package/dist/lib/Card.d.ts.map +1 -0
- package/dist/lib/Checkbox.d.ts +8 -0
- package/dist/lib/Checkbox.d.ts.map +1 -0
- package/dist/lib/Container.d.ts +10 -0
- package/dist/lib/Container.d.ts.map +1 -0
- package/dist/lib/Divider.d.ts +11 -0
- package/dist/lib/Divider.d.ts.map +1 -0
- package/dist/lib/Dropdown.d.ts +17 -0
- package/dist/lib/Dropdown.d.ts.map +1 -0
- package/dist/lib/FormFieldError.d.ts +6 -0
- package/dist/lib/FormFieldError.d.ts.map +1 -0
- package/dist/lib/Grid.d.ts +26 -0
- package/dist/lib/Grid.d.ts.map +1 -0
- package/dist/lib/GridBg.d.ts +7 -0
- package/dist/lib/GridBg.d.ts.map +1 -0
- package/dist/lib/Heading.d.ts +12 -0
- package/dist/lib/Heading.d.ts.map +1 -0
- package/dist/lib/Input.d.ts +12 -0
- package/dist/lib/Input.d.ts.map +1 -0
- package/dist/lib/Kbd.d.ts +8 -0
- package/dist/lib/Kbd.d.ts.map +1 -0
- package/dist/lib/Loading.d.ts +12 -0
- package/dist/lib/Loading.d.ts.map +1 -0
- package/dist/lib/Modal.d.ts +18 -0
- package/dist/lib/Modal.d.ts.map +1 -0
- package/dist/lib/PageContainer.d.ts +22 -0
- package/dist/lib/PageContainer.d.ts.map +1 -0
- package/dist/lib/PageLayout.d.ts +14 -0
- package/dist/lib/PageLayout.d.ts.map +1 -0
- package/dist/lib/Pagination.d.ts +11 -0
- package/dist/lib/Pagination.d.ts.map +1 -0
- package/dist/lib/ProgressBar.d.ts +15 -0
- package/dist/lib/ProgressBar.d.ts.map +1 -0
- package/dist/lib/Section.d.ts +23 -0
- package/dist/lib/Section.d.ts.map +1 -0
- package/dist/lib/SectionLabel.d.ts +9 -0
- package/dist/lib/SectionLabel.d.ts.map +1 -0
- package/dist/lib/Select.d.ts +17 -0
- package/dist/lib/Select.d.ts.map +1 -0
- package/dist/lib/Sidebar.d.ts +20 -0
- package/dist/lib/Sidebar.d.ts.map +1 -0
- package/dist/lib/Skeleton.d.ts +11 -0
- package/dist/lib/Skeleton.d.ts.map +1 -0
- package/dist/lib/Spacer.d.ts +8 -0
- package/dist/lib/Spacer.d.ts.map +1 -0
- package/dist/lib/Spinner.d.ts +13 -0
- package/dist/lib/Spinner.d.ts.map +1 -0
- package/dist/lib/Stack.d.ts +18 -0
- package/dist/lib/Stack.d.ts.map +1 -0
- package/dist/lib/StatsCard.d.ts +16 -0
- package/dist/lib/StatsCard.d.ts.map +1 -0
- package/dist/lib/StructuredData.d.ts +5 -0
- package/dist/lib/StructuredData.d.ts.map +1 -0
- package/dist/lib/Switch.d.ts +13 -0
- package/dist/lib/Switch.d.ts.map +1 -0
- package/dist/lib/Table.d.ts +25 -0
- package/dist/lib/Table.d.ts.map +1 -0
- package/dist/lib/Tabs.d.ts +17 -0
- package/dist/lib/Tabs.d.ts.map +1 -0
- package/dist/lib/Text.d.ts +12 -0
- package/dist/lib/Text.d.ts.map +1 -0
- package/dist/lib/Textarea.d.ts +10 -0
- package/dist/lib/Textarea.d.ts.map +1 -0
- package/dist/lib/ThemeProvider.d.ts +14 -0
- package/dist/lib/ThemeProvider.d.ts.map +1 -0
- package/dist/lib/ThemeToggle.d.ts +2 -0
- package/dist/lib/ThemeToggle.d.ts.map +1 -0
- package/dist/lib/Toast.d.ts +18 -0
- package/dist/lib/Toast.d.ts.map +1 -0
- package/dist/lib/Tooltip.d.ts +13 -0
- package/dist/lib/Tooltip.d.ts.map +1 -0
- package/dist/lib/index.d.ts +89 -0
- package/dist/lib/index.d.ts.map +1 -0
- package/dist/lib/styles/formStyles.d.ts +42 -0
- package/dist/lib/styles/formStyles.d.ts.map +1 -0
- package/dist/lib/styles/semanticVariants.d.ts +22 -0
- package/dist/lib/styles/semanticVariants.d.ts.map +1 -0
- package/dist/lib/types.d.ts +3 -0
- package/dist/lib/types.d.ts.map +1 -0
- package/dist/lib/utils/ErrorBoundary.d.ts +21 -0
- package/dist/lib/utils/ErrorBoundary.d.ts.map +1 -0
- package/dist/lib/utils/ModalErrorBoundary.d.ts +21 -0
- package/dist/lib/utils/ModalErrorBoundary.d.ts.map +1 -0
- package/dist/lib/utils/cn.d.ts +3 -0
- package/dist/lib/utils/cn.d.ts.map +1 -0
- package/dist/lib/utils/index.d.ts +5 -0
- package/dist/lib/utils/index.d.ts.map +1 -0
- package/dist/lib/utils/validateProps.d.ts +6 -0
- package/dist/lib/utils/validateProps.d.ts.map +1 -0
- package/dist/test-setup.d.ts +1 -0
- package/dist/test-setup.d.ts.map +1 -0
- package/package.json +79 -0
- package/src/styles/indigo-theme.css +322 -0
- package/src/styles/preview.scss +4 -0
- package/src/styles/pyre-storybook-preview.css +50 -0
- package/src/styles/pyre-theme.css +346 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Spacer.d.ts","sourceRoot":"","sources":["../../src/lib/Spacer.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,cAAc,EAAE,KAAK,GAAG,EAAE,MAAM,OAAO,CAAC;AAGtD,MAAM,WAAW,WAAY,SAAQ,IAAI,CACvC,cAAc,CAAC,cAAc,CAAC,EAC9B,WAAW,CACZ;IACC,GAAG,CAAC,EAAE,GAAG,CAAC,cAAc,CAAC,GAAG,SAAS,CAAC;IACtC,IAAI,CAAC,EAAE,IAAI,GAAG,IAAI,GAAG,IAAI,GAAG,IAAI,GAAG,IAAI,GAAG,KAAK,CAAC;IAChD,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAWD,wBAAgB,MAAM,CAAC,EAAE,IAAW,EAAE,SAAS,EAAE,GAAG,EAAE,GAAG,KAAK,EAAE,EAAE,WAAW,2CAI5E"}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import { HTMLAttributes, Ref } from 'react';
|
|
2
|
+
import { SemanticVariant } from './styles/semanticVariants';
|
|
3
|
+
import { ComponentSize } from './types';
|
|
4
|
+
type SpinnerVariant = 'accent' | SemanticVariant;
|
|
5
|
+
export interface SpinnerProps extends Omit<HTMLAttributes<HTMLDivElement>, 'className' | 'role'> {
|
|
6
|
+
ref?: Ref<HTMLDivElement> | undefined;
|
|
7
|
+
size?: ComponentSize;
|
|
8
|
+
variant?: SpinnerVariant;
|
|
9
|
+
className?: string;
|
|
10
|
+
}
|
|
11
|
+
export declare function Spinner({ size, variant, 'aria-label': ariaLabel, className, ref, ...props }: SpinnerProps): import("react/jsx-runtime").JSX.Element;
|
|
12
|
+
export {};
|
|
13
|
+
//# sourceMappingURL=Spinner.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Spinner.d.ts","sourceRoot":"","sources":["../../src/lib/Spinner.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,cAAc,EAAE,KAAK,GAAG,EAAE,MAAM,OAAO,CAAC;AACtD,OAAO,EAEL,KAAK,eAAe,EACrB,MAAM,2BAA2B,CAAC;AACnC,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,SAAS,CAAC;AAG7C,KAAK,cAAc,GAAG,QAAQ,GAAG,eAAe,CAAC;AAEjD,MAAM,WAAW,YAAa,SAAQ,IAAI,CACxC,cAAc,CAAC,cAAc,CAAC,EAC9B,WAAW,GAAG,MAAM,CACrB;IACC,GAAG,CAAC,EAAE,GAAG,CAAC,cAAc,CAAC,GAAG,SAAS,CAAC;IACtC,IAAI,CAAC,EAAE,aAAa,CAAC;IACrB,OAAO,CAAC,EAAE,cAAc,CAAC;IACzB,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAqBD,wBAAgB,OAAO,CAAC,EACtB,IAAW,EACX,OAAkB,EAClB,YAAY,EAAE,SAAqB,EACnC,SAAS,EACT,GAAG,EACH,GAAG,KAAK,EACT,EAAE,YAAY,2CAed"}
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
import { ReactNode, ComponentPropsWithoutRef, Ref } from 'react';
|
|
2
|
+
type StackElement = 'div' | 'p' | 'ul' | 'ol' | 'nav' | 'section' | 'article' | 'aside' | 'main' | 'header' | 'footer';
|
|
3
|
+
export interface StackProps<T extends StackElement = 'div'> {
|
|
4
|
+
/** The HTML element to render as. Defaults to 'div'. Use 'ul' or 'ol' for semantic lists. */
|
|
5
|
+
as?: T;
|
|
6
|
+
children: ReactNode;
|
|
7
|
+
direction?: 'vertical' | 'horizontal';
|
|
8
|
+
gap?: 'none' | 'xs' | 'sm' | 'md' | 'lg' | 'xl';
|
|
9
|
+
align?: 'start' | 'center' | 'end' | 'stretch';
|
|
10
|
+
justify?: 'start' | 'center' | 'end' | 'between' | 'around' | 'evenly';
|
|
11
|
+
wrap?: boolean;
|
|
12
|
+
className?: string;
|
|
13
|
+
ref?: Ref<Element> | undefined;
|
|
14
|
+
}
|
|
15
|
+
type PolymorphicStackProps<T extends StackElement = 'div'> = StackProps<T> & Omit<ComponentPropsWithoutRef<T>, keyof StackProps<T>>;
|
|
16
|
+
export declare function Stack<T extends StackElement = 'div'>({ as, children, direction, gap, align, justify, wrap, className, ref, ...rest }: PolymorphicStackProps<T>): import("react/jsx-runtime").JSX.Element;
|
|
17
|
+
export {};
|
|
18
|
+
//# sourceMappingURL=Stack.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Stack.d.ts","sourceRoot":"","sources":["../../src/lib/Stack.tsx"],"names":[],"mappings":"AAAA,OAAO,EACL,KAAK,SAAS,EAEd,KAAK,wBAAwB,EAC7B,KAAK,GAAG,EACT,MAAM,OAAO,CAAC;AAGf,KAAK,YAAY,GACb,KAAK,GACL,GAAG,GACH,IAAI,GACJ,IAAI,GACJ,KAAK,GACL,SAAS,GACT,SAAS,GACT,OAAO,GACP,MAAM,GACN,QAAQ,GACR,QAAQ,CAAC;AAEb,MAAM,WAAW,UAAU,CAAC,CAAC,SAAS,YAAY,GAAG,KAAK;IACxD,6FAA6F;IAC7F,EAAE,CAAC,EAAE,CAAC,CAAC;IACP,QAAQ,EAAE,SAAS,CAAC;IACpB,SAAS,CAAC,EAAE,UAAU,GAAG,YAAY,CAAC;IACtC,GAAG,CAAC,EAAE,MAAM,GAAG,IAAI,GAAG,IAAI,GAAG,IAAI,GAAG,IAAI,GAAG,IAAI,CAAC;IAChD,KAAK,CAAC,EAAE,OAAO,GAAG,QAAQ,GAAG,KAAK,GAAG,SAAS,CAAC;IAC/C,OAAO,CAAC,EAAE,OAAO,GAAG,QAAQ,GAAG,KAAK,GAAG,SAAS,GAAG,QAAQ,GAAG,QAAQ,CAAC;IACvE,IAAI,CAAC,EAAE,OAAO,CAAC;IACf,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,GAAG,CAAC,EAAE,GAAG,CAAC,OAAO,CAAC,GAAG,SAAS,CAAC;CAChC;AAED,KAAK,qBAAqB,CAAC,CAAC,SAAS,YAAY,GAAG,KAAK,IAAI,UAAU,CAAC,CAAC,CAAC,GACxE,IAAI,CAAC,wBAAwB,CAAC,CAAC,CAAC,EAAE,MAAM,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC;AAgCzD,wBAAgB,KAAK,CAAC,CAAC,SAAS,YAAY,GAAG,KAAK,EAAE,EACpD,EAAE,EACF,QAAQ,EACR,SAAsB,EACtB,GAAU,EACV,KAAiB,EACjB,OAAiB,EACjB,IAAY,EACZ,SAAS,EACT,GAAG,EACH,GAAG,IAAI,EACR,EAAE,qBAAqB,CAAC,CAAC,CAAC,2CAoB1B"}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
import { ReactNode } from 'react';
|
|
2
|
+
export interface StatsCardProps {
|
|
3
|
+
title: string;
|
|
4
|
+
value: string | number;
|
|
5
|
+
change?: number;
|
|
6
|
+
changeLabel?: string;
|
|
7
|
+
/** Unit suffix appended after the change number. Defaults to '%'. */
|
|
8
|
+
changeUnit?: string;
|
|
9
|
+
/** When true, a negative change is treated as good (green). Useful for
|
|
10
|
+
* metrics where lower is better — e.g. "avg days to response". */
|
|
11
|
+
invertChange?: boolean;
|
|
12
|
+
icon?: ReactNode;
|
|
13
|
+
className?: string;
|
|
14
|
+
}
|
|
15
|
+
export declare function StatsCard({ title, value, change, changeLabel, changeUnit, invertChange, icon, className, }: StatsCardProps): import("react/jsx-runtime").JSX.Element;
|
|
16
|
+
//# sourceMappingURL=StatsCard.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"StatsCard.d.ts","sourceRoot":"","sources":["../../src/lib/StatsCard.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AAIvC,MAAM,WAAW,cAAc;IAC7B,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,MAAM,GAAG,MAAM,CAAC;IACvB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,qEAAqE;IACrE,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB;sEACkE;IAClE,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB,IAAI,CAAC,EAAE,SAAS,CAAC;IACjB,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED,wBAAgB,SAAS,CAAC,EACxB,KAAK,EACL,KAAK,EACL,MAAM,EACN,WAAW,EACX,UAAgB,EAChB,YAAoB,EACpB,IAAI,EACJ,SAAS,GACV,EAAE,cAAc,2CA8DhB"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"StructuredData.d.ts","sourceRoot":"","sources":["../../src/lib/StructuredData.tsx"],"names":[],"mappings":"AAAA,MAAM,WAAW,mBAAmB;IAClC,IAAI,EAAE,MAAM,CAAC;CACd;AAED,wBAAgB,cAAc,CAAC,EAAE,IAAI,EAAE,EAAE,mBAAmB,2CAS3D"}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import { Ref } from 'react';
|
|
2
|
+
export interface SwitchProps {
|
|
3
|
+
ref?: Ref<HTMLButtonElement> | undefined;
|
|
4
|
+
checked: boolean;
|
|
5
|
+
onChange: (checked: boolean) => void;
|
|
6
|
+
label?: string | undefined;
|
|
7
|
+
error?: string | undefined;
|
|
8
|
+
disabled?: boolean;
|
|
9
|
+
className?: string | undefined;
|
|
10
|
+
id?: string | undefined;
|
|
11
|
+
}
|
|
12
|
+
export declare function Switch({ checked, onChange, label, error, disabled, className, id, ref, }: SwitchProps): import("react/jsx-runtime").JSX.Element;
|
|
13
|
+
//# sourceMappingURL=Switch.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Switch.d.ts","sourceRoot":"","sources":["../../src/lib/Switch.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAS,KAAK,GAAG,EAAE,MAAM,OAAO,CAAC;AAKxC,MAAM,WAAW,WAAW;IAC1B,GAAG,CAAC,EAAE,GAAG,CAAC,iBAAiB,CAAC,GAAG,SAAS,CAAC;IACzC,OAAO,EAAE,OAAO,CAAC;IACjB,QAAQ,EAAE,CAAC,OAAO,EAAE,OAAO,KAAK,IAAI,CAAC;IACrC,KAAK,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAC3B,KAAK,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAC3B,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,SAAS,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAC/B,EAAE,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;CACzB;AAED,wBAAgB,MAAM,CAAC,EACrB,OAAO,EACP,QAAQ,EACR,KAAK,EACL,KAAK,EACL,QAAgB,EAChB,SAAS,EACT,EAAE,EACF,GAAG,GACJ,EAAE,WAAW,2CAwDb"}
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
import { ReactNode } from 'react';
|
|
2
|
+
export interface Column<T> {
|
|
3
|
+
key: string;
|
|
4
|
+
header: string;
|
|
5
|
+
render?: (row: T) => ReactNode;
|
|
6
|
+
align?: 'left' | 'center' | 'right';
|
|
7
|
+
width?: string;
|
|
8
|
+
}
|
|
9
|
+
export interface TableProps<T> {
|
|
10
|
+
columns: Column<T>[];
|
|
11
|
+
data: T[];
|
|
12
|
+
onRowClick?: (row: T) => void;
|
|
13
|
+
striped?: boolean;
|
|
14
|
+
className?: string;
|
|
15
|
+
/** Visible caption rendered inside the table for accessibility */
|
|
16
|
+
caption?: string;
|
|
17
|
+
/** aria-label for the table (used when caption is not provided) */
|
|
18
|
+
ariaLabel?: string;
|
|
19
|
+
/** Function to derive a unique key from each row (avoids index keys) */
|
|
20
|
+
rowKey?: (row: T) => string | number;
|
|
21
|
+
/** Function to derive an accessible label for clickable rows */
|
|
22
|
+
getRowAriaLabel?: (row: T) => string;
|
|
23
|
+
}
|
|
24
|
+
export declare function Table<T extends Record<string, unknown>>({ columns, data, onRowClick, striped, className, caption, ariaLabel, rowKey, getRowAriaLabel, }: TableProps<T>): import("react/jsx-runtime").JSX.Element;
|
|
25
|
+
//# sourceMappingURL=Table.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Table.d.ts","sourceRoot":"","sources":["../../src/lib/Table.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAiB,SAAS,EAAE,MAAM,OAAO,CAAC;AAItD,MAAM,WAAW,MAAM,CAAC,CAAC;IACvB,GAAG,EAAE,MAAM,CAAC;IACZ,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,CAAC,EAAE,CAAC,GAAG,EAAE,CAAC,KAAK,SAAS,CAAC;IAC/B,KAAK,CAAC,EAAE,MAAM,GAAG,QAAQ,GAAG,OAAO,CAAC;IACpC,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAED,MAAM,WAAW,UAAU,CAAC,CAAC;IAC3B,OAAO,EAAE,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC;IACrB,IAAI,EAAE,CAAC,EAAE,CAAC;IACV,UAAU,CAAC,EAAE,CAAC,GAAG,EAAE,CAAC,KAAK,IAAI,CAAC;IAC9B,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,kEAAkE;IAClE,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,mEAAmE;IACnE,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,wEAAwE;IACxE,MAAM,CAAC,EAAE,CAAC,GAAG,EAAE,CAAC,KAAK,MAAM,GAAG,MAAM,CAAC;IACrC,gEAAgE;IAChE,eAAe,CAAC,EAAE,CAAC,GAAG,EAAE,CAAC,KAAK,MAAM,CAAC;CACtC;AAED,wBAAgB,KAAK,CAAC,CAAC,SAAS,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,EACvD,OAAO,EACP,IAAI,EACJ,UAAU,EACV,OAAe,EACf,SAAS,EACT,OAAO,EACP,SAAS,EACT,MAAM,EACN,eAAe,GAChB,EAAE,UAAU,CAAC,CAAC,CAAC,2CAkGf"}
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
import { ReactNode, Ref } from 'react';
|
|
2
|
+
export interface Tab {
|
|
3
|
+
id: string;
|
|
4
|
+
label: string;
|
|
5
|
+
content: ReactNode;
|
|
6
|
+
}
|
|
7
|
+
export type TabsVariant = 'underline' | 'pill';
|
|
8
|
+
export interface TabsProps {
|
|
9
|
+
ref?: Ref<HTMLDivElement> | undefined;
|
|
10
|
+
tabs: Tab[];
|
|
11
|
+
defaultTab?: string | undefined;
|
|
12
|
+
onChange?: (tabId: string) => void;
|
|
13
|
+
className?: string | undefined;
|
|
14
|
+
variant?: TabsVariant;
|
|
15
|
+
}
|
|
16
|
+
export declare function Tabs({ tabs, defaultTab, onChange, className, variant, ref, }: TabsProps): import("react/jsx-runtime").JSX.Element | null;
|
|
17
|
+
//# sourceMappingURL=Tabs.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Tabs.d.ts","sourceRoot":"","sources":["../../src/lib/Tabs.tsx"],"names":[],"mappings":"AAEA,OAAO,EAIL,KAAK,SAAS,EAEd,KAAK,GAAG,EACT,MAAM,OAAO,CAAC;AAGf,MAAM,WAAW,GAAG;IAClB,EAAE,EAAE,MAAM,CAAC;IACX,KAAK,EAAE,MAAM,CAAC;IACd,OAAO,EAAE,SAAS,CAAC;CACpB;AAED,MAAM,MAAM,WAAW,GAAG,WAAW,GAAG,MAAM,CAAC;AAE/C,MAAM,WAAW,SAAS;IACxB,GAAG,CAAC,EAAE,GAAG,CAAC,cAAc,CAAC,GAAG,SAAS,CAAC;IACtC,IAAI,EAAE,GAAG,EAAE,CAAC;IACZ,UAAU,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAChC,QAAQ,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;IACnC,SAAS,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAC/B,OAAO,CAAC,EAAE,WAAW,CAAC;CACvB;AAED,wBAAgB,IAAI,CAAC,EACnB,IAAI,EACJ,UAAU,EACV,QAAQ,EACR,SAAS,EACT,OAAqB,EACrB,GAAG,GACJ,EAAE,SAAS,kDAkHX"}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import { HTMLAttributes, ReactNode, Ref } from 'react';
|
|
2
|
+
type TextElement = 'p' | 'span' | 'div' | 'label';
|
|
3
|
+
export type TextVariant = 'body' | 'bodyLg' | 'subtitle' | 'cardDescription' | 'detail' | 'label' | 'meta' | 'caption' | 'helper' | 'error';
|
|
4
|
+
export interface TextProps extends Omit<HTMLAttributes<HTMLElement>, 'children'> {
|
|
5
|
+
ref?: Ref<HTMLElement> | undefined;
|
|
6
|
+
as?: TextElement;
|
|
7
|
+
variant: TextVariant;
|
|
8
|
+
children: ReactNode;
|
|
9
|
+
}
|
|
10
|
+
export declare function Text({ as, variant, className, children, ref, ...props }: TextProps): import("react/jsx-runtime").JSX.Element;
|
|
11
|
+
export {};
|
|
12
|
+
//# sourceMappingURL=Text.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Text.d.ts","sourceRoot":"","sources":["../../src/lib/Text.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,cAAc,EAAE,KAAK,SAAS,EAAE,KAAK,GAAG,EAAE,MAAM,OAAO,CAAC;AAGtE,KAAK,WAAW,GAAG,GAAG,GAAG,MAAM,GAAG,KAAK,GAAG,OAAO,CAAC;AAElD,MAAM,MAAM,WAAW,GACnB,MAAM,GACN,QAAQ,GACR,UAAU,GACV,iBAAiB,GACjB,QAAQ,GACR,OAAO,GACP,MAAM,GACN,SAAS,GACT,QAAQ,GACR,OAAO,CAAC;AAEZ,MAAM,WAAW,SAAU,SAAQ,IAAI,CACrC,cAAc,CAAC,WAAW,CAAC,EAC3B,UAAU,CACX;IACC,GAAG,CAAC,EAAE,GAAG,CAAC,WAAW,CAAC,GAAG,SAAS,CAAC;IACnC,EAAE,CAAC,EAAE,WAAW,CAAC;IACjB,OAAO,EAAE,WAAW,CAAC;IACrB,QAAQ,EAAE,SAAS,CAAC;CACrB;AA4BD,wBAAgB,IAAI,CAAC,EACnB,EAAE,EACF,OAAO,EACP,SAAS,EACT,QAAQ,EACR,GAAG,EACH,GAAG,KAAK,EACT,EAAE,SAAS,2CAWX"}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import { TextareaHTMLAttributes, Ref } from 'react';
|
|
2
|
+
export interface TextareaProps extends TextareaHTMLAttributes<HTMLTextAreaElement> {
|
|
3
|
+
ref?: Ref<HTMLTextAreaElement> | undefined;
|
|
4
|
+
label?: string | undefined;
|
|
5
|
+
error?: string | undefined;
|
|
6
|
+
helperText?: string | undefined;
|
|
7
|
+
success?: boolean | undefined;
|
|
8
|
+
}
|
|
9
|
+
export declare function Textarea({ label, error, helperText, success, className, id, required, ref, ...props }: TextareaProps): import("react/jsx-runtime").JSX.Element;
|
|
10
|
+
//# sourceMappingURL=Textarea.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Textarea.d.ts","sourceRoot":"","sources":["../../src/lib/Textarea.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,sBAAsB,EAAE,KAAK,GAAG,EAAE,MAAM,OAAO,CAAC;AAc9D,MAAM,WAAW,aAAc,SAAQ,sBAAsB,CAAC,mBAAmB,CAAC;IAChF,GAAG,CAAC,EAAE,GAAG,CAAC,mBAAmB,CAAC,GAAG,SAAS,CAAC;IAC3C,KAAK,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAC3B,KAAK,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAC3B,UAAU,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAChC,OAAO,CAAC,EAAE,OAAO,GAAG,SAAS,CAAC;CAC/B;AAED,wBAAgB,QAAQ,CAAC,EACvB,KAAK,EACL,KAAK,EACL,UAAU,EACV,OAAO,EACP,SAAS,EACT,EAAE,EACF,QAAQ,EACR,GAAG,EACH,GAAG,KAAK,EACT,EAAE,aAAa,2CAkDf"}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import { ReactNode } from 'react';
|
|
2
|
+
export type Theme = 'light' | 'dark' | 'system';
|
|
3
|
+
export interface ThemeContextType {
|
|
4
|
+
theme: Theme;
|
|
5
|
+
resolvedTheme: 'light' | 'dark';
|
|
6
|
+
isDarkMode: boolean;
|
|
7
|
+
setTheme: (theme: Theme) => void;
|
|
8
|
+
toggleDarkMode: () => void;
|
|
9
|
+
}
|
|
10
|
+
export declare function useTheme(): ThemeContextType;
|
|
11
|
+
export declare function ThemeProvider({ children }: {
|
|
12
|
+
children: ReactNode;
|
|
13
|
+
}): import("react/jsx-runtime").JSX.Element;
|
|
14
|
+
//# sourceMappingURL=ThemeProvider.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ThemeProvider.d.ts","sourceRoot":"","sources":["../../src/lib/ThemeProvider.tsx"],"names":[],"mappings":"AAEA,OAAO,EACL,KAAK,SAAS,EAOf,MAAM,OAAO,CAAC;AAEf,MAAM,MAAM,KAAK,GAAG,OAAO,GAAG,MAAM,GAAG,QAAQ,CAAC;AAEhD,MAAM,WAAW,gBAAgB;IAC/B,KAAK,EAAE,KAAK,CAAC;IACb,aAAa,EAAE,OAAO,GAAG,MAAM,CAAC;IAChC,UAAU,EAAE,OAAO,CAAC;IACpB,QAAQ,EAAE,CAAC,KAAK,EAAE,KAAK,KAAK,IAAI,CAAC;IACjC,cAAc,EAAE,MAAM,IAAI,CAAC;CAC5B;AAUD,wBAAgB,QAAQ,IAAI,gBAAgB,CAE3C;AAkBD,wBAAgB,aAAa,CAAC,EAAE,QAAQ,EAAE,EAAE;IAAE,QAAQ,EAAE,SAAS,CAAA;CAAE,2CAiDlE"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ThemeToggle.d.ts","sourceRoot":"","sources":["../../src/lib/ThemeToggle.tsx"],"names":[],"mappings":"AAMA,wBAAgB,WAAW,4CA6B1B"}
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
import { ReactNode } from 'react';
|
|
2
|
+
import { SemanticVariant } from './styles/semanticVariants';
|
|
3
|
+
export type ToastVariant = SemanticVariant;
|
|
4
|
+
export interface ToastItem {
|
|
5
|
+
id: string;
|
|
6
|
+
variant: SemanticVariant;
|
|
7
|
+
title: string;
|
|
8
|
+
description?: string;
|
|
9
|
+
duration?: number;
|
|
10
|
+
}
|
|
11
|
+
export interface ToastContextType {
|
|
12
|
+
toast: (params: Omit<ToastItem, 'id'>) => void;
|
|
13
|
+
}
|
|
14
|
+
export declare function useToast(): ToastContextType;
|
|
15
|
+
export declare function ToastProvider({ children }: {
|
|
16
|
+
children: ReactNode;
|
|
17
|
+
}): import("react/jsx-runtime").JSX.Element;
|
|
18
|
+
//# sourceMappingURL=Toast.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Toast.d.ts","sourceRoot":"","sources":["../../src/lib/Toast.tsx"],"names":[],"mappings":"AAGA,OAAO,EAOL,KAAK,SAAS,EACf,MAAM,OAAO,CAAC;AAGf,OAAO,EAAiB,KAAK,eAAe,EAAE,MAAM,2BAA2B,CAAC;AAIhF,MAAM,MAAM,YAAY,GAAG,eAAe,CAAC;AAE3C,MAAM,WAAW,SAAS;IACxB,EAAE,EAAE,MAAM,CAAC;IACX,OAAO,EAAE,eAAe,CAAC;IACzB,KAAK,EAAE,MAAM,CAAC;IACd,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB;AAED,MAAM,WAAW,gBAAgB;IAC/B,KAAK,EAAE,CAAC,MAAM,EAAE,IAAI,CAAC,SAAS,EAAE,IAAI,CAAC,KAAK,IAAI,CAAC;CAChD;AAID,wBAAgB,QAAQ,qBAEvB;AA8FD,wBAAgB,aAAa,CAAC,EAAE,QAAQ,EAAE,EAAE;IAAE,QAAQ,EAAE,SAAS,CAAA;CAAE,2CA2BlE"}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import { ReactElement, Ref } from 'react';
|
|
2
|
+
type TooltipPosition = 'top' | 'bottom' | 'left' | 'right';
|
|
3
|
+
export interface TooltipProps {
|
|
4
|
+
ref?: Ref<HTMLDivElement> | undefined;
|
|
5
|
+
content: string;
|
|
6
|
+
children: ReactElement;
|
|
7
|
+
position?: TooltipPosition;
|
|
8
|
+
delay?: number;
|
|
9
|
+
className?: string | undefined;
|
|
10
|
+
}
|
|
11
|
+
export declare function Tooltip({ content, children, position, delay, className, ref, }: TooltipProps): import("react/jsx-runtime").JSX.Element;
|
|
12
|
+
export {};
|
|
13
|
+
//# sourceMappingURL=Tooltip.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Tooltip.d.ts","sourceRoot":"","sources":["../../src/lib/Tooltip.tsx"],"names":[],"mappings":"AAEA,OAAO,EAQL,KAAK,YAAY,EAEjB,KAAK,GAAG,EACT,MAAM,OAAO,CAAC;AAGf,KAAK,eAAe,GAAG,KAAK,GAAG,QAAQ,GAAG,MAAM,GAAG,OAAO,CAAC;AAE3D,MAAM,WAAW,YAAY;IAC3B,GAAG,CAAC,EAAE,GAAG,CAAC,cAAc,CAAC,GAAG,SAAS,CAAC;IACtC,OAAO,EAAE,MAAM,CAAC;IAChB,QAAQ,EAAE,YAAY,CAAC;IACvB,QAAQ,CAAC,EAAE,eAAe,CAAC;IAC3B,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,SAAS,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;CAChC;AASD,wBAAgB,OAAO,CAAC,EACtB,OAAO,EACP,QAAQ,EACR,QAAgB,EAChB,KAAW,EACX,SAAS,EACT,GAAG,GACJ,EAAE,YAAY,2CAoEd"}
|
|
@@ -0,0 +1,89 @@
|
|
|
1
|
+
export { Alert } from './Alert';
|
|
2
|
+
export { AspectRatio } from './AspectRatio';
|
|
3
|
+
export { Avatar } from './Avatar';
|
|
4
|
+
export { Badge } from './Badge';
|
|
5
|
+
export { Breadcrumb } from './Breadcrumb';
|
|
6
|
+
export { type ButtonBase, type ButtonSize, type ButtonVariant, type ButtonProps, Button, baseButtonStyles, sizeButtonStyles, variantButtonStyles, variantLinkOutline, } from './Button';
|
|
7
|
+
export { Card, CardHeader, CardTitle, CardContent, CardFooter } from './Card';
|
|
8
|
+
export { Checkbox } from './Checkbox';
|
|
9
|
+
export { Container, type ContainerSize } from './Container';
|
|
10
|
+
export { CTACard } from './CTACard';
|
|
11
|
+
export { Divider } from './Divider';
|
|
12
|
+
export { Heading } from './Heading';
|
|
13
|
+
export { Text } from './Text';
|
|
14
|
+
export { FormFieldError } from './FormFieldError';
|
|
15
|
+
export { Dropdown } from './Dropdown';
|
|
16
|
+
export { PageContainer } from './PageContainer';
|
|
17
|
+
export { PageLayout } from './PageLayout';
|
|
18
|
+
export { Grid, GridItem } from './Grid';
|
|
19
|
+
export { GridBg } from './GridBg';
|
|
20
|
+
export { Input } from './Input';
|
|
21
|
+
export { Kbd } from './Kbd';
|
|
22
|
+
export { Loading } from './Loading';
|
|
23
|
+
export { Modal } from './Modal';
|
|
24
|
+
export { Pagination } from './Pagination';
|
|
25
|
+
export { ProgressBar } from './ProgressBar';
|
|
26
|
+
export { Section } from './Section';
|
|
27
|
+
export { SectionLabel } from './SectionLabel';
|
|
28
|
+
export { Select } from './Select';
|
|
29
|
+
export { Sidebar } from './Sidebar';
|
|
30
|
+
export { Skeleton } from './Skeleton';
|
|
31
|
+
export { Spacer } from './Spacer';
|
|
32
|
+
export { Spinner } from './Spinner';
|
|
33
|
+
export { Stack } from './Stack';
|
|
34
|
+
export { StructuredData } from './StructuredData';
|
|
35
|
+
export { StatsCard } from './StatsCard';
|
|
36
|
+
export { Switch } from './Switch';
|
|
37
|
+
export { Table } from './Table';
|
|
38
|
+
export { Tabs } from './Tabs';
|
|
39
|
+
export { Textarea } from './Textarea';
|
|
40
|
+
export { ThemeProvider, useTheme } from './ThemeProvider';
|
|
41
|
+
export { ThemeToggle } from './ThemeToggle';
|
|
42
|
+
export { ToastProvider, useToast } from './Toast';
|
|
43
|
+
export { Tooltip } from './Tooltip';
|
|
44
|
+
export { cn, validateProps, ErrorBoundary, ModalErrorBoundary } from './utils';
|
|
45
|
+
export type { ComponentSize } from './types';
|
|
46
|
+
export type { AlertProps } from './Alert';
|
|
47
|
+
export type { AspectRatioProps } from './AspectRatio';
|
|
48
|
+
export type { AvatarProps } from './Avatar';
|
|
49
|
+
export type { BadgeProps, BadgeVariant } from './Badge';
|
|
50
|
+
export type { BreadcrumbItem, BreadcrumbProps } from './Breadcrumb';
|
|
51
|
+
export type { CardProps, CardHeaderProps, CardTitleProps, CardContentProps, CardFooterProps, } from './Card';
|
|
52
|
+
export type { CheckboxProps } from './Checkbox';
|
|
53
|
+
export type { ContainerProps } from './Container';
|
|
54
|
+
export type { CTACardProps } from './CTACard';
|
|
55
|
+
export type { DividerProps } from './Divider';
|
|
56
|
+
export type { HeadingProps, HeadingVariant } from './Heading';
|
|
57
|
+
export type { TextProps, TextVariant } from './Text';
|
|
58
|
+
export type { FormFieldErrorProps } from './FormFieldError';
|
|
59
|
+
export type { DropdownItem, DropdownProps } from './Dropdown';
|
|
60
|
+
export type { PageContainerProps } from './PageContainer';
|
|
61
|
+
export type { PageLayoutProps } from './PageLayout';
|
|
62
|
+
export type { GridProps, GridItemProps } from './Grid';
|
|
63
|
+
export type { GridBgProps } from './GridBg';
|
|
64
|
+
export type { InputProps } from './Input';
|
|
65
|
+
export type { KbdProps } from './Kbd';
|
|
66
|
+
export type { LoadingProps } from './Loading';
|
|
67
|
+
export type { ModalProps } from './Modal';
|
|
68
|
+
export type { PaginationProps } from './Pagination';
|
|
69
|
+
export type { ProgressBarProps } from './ProgressBar';
|
|
70
|
+
export type { SectionProps } from './Section';
|
|
71
|
+
export type { SectionLabelProps } from './SectionLabel';
|
|
72
|
+
export type { SelectProps, SelectOption } from './Select';
|
|
73
|
+
export type { SidebarItem, SidebarProps } from './Sidebar';
|
|
74
|
+
export type { SkeletonProps } from './Skeleton';
|
|
75
|
+
export type { SpacerProps } from './Spacer';
|
|
76
|
+
export type { SpinnerProps } from './Spinner';
|
|
77
|
+
export type { StackProps } from './Stack';
|
|
78
|
+
export type { StructuredDataProps } from './StructuredData';
|
|
79
|
+
export type { StatsCardProps } from './StatsCard';
|
|
80
|
+
export type { SwitchProps } from './Switch';
|
|
81
|
+
export type { Column, TableProps } from './Table';
|
|
82
|
+
export type { TabsProps, Tab, TabsVariant } from './Tabs';
|
|
83
|
+
export type { TextareaProps } from './Textarea';
|
|
84
|
+
export type { Theme, ThemeContextType } from './ThemeProvider';
|
|
85
|
+
export type { ToastVariant, ToastItem, ToastContextType } from './Toast';
|
|
86
|
+
export type { TooltipProps } from './Tooltip';
|
|
87
|
+
export type { SemanticVariant } from './styles/semanticVariants';
|
|
88
|
+
export { SEMANTIC_TEXT, SEMANTIC_BG_LIGHT, SEMANTIC_BORDER, SEMANTIC_SPINNER, } from './styles/semanticVariants';
|
|
89
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/lib/index.tsx"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Shared style constants for form and interactive components.
|
|
3
|
+
*
|
|
4
|
+
* Centralizes recurring Tailwind class patterns so every form field,
|
|
5
|
+
* button, and dismissible component draws from a single source of truth.
|
|
6
|
+
*/
|
|
7
|
+
/** Label above a form field (Input, Select, Textarea). */
|
|
8
|
+
export declare const FORM_LABEL = "block text-text-primary mb-2";
|
|
9
|
+
/** Required-field asterisk (Input, Textarea). */
|
|
10
|
+
export declare const REQUIRED_MARK = "text-error ml-1";
|
|
11
|
+
/**
|
|
12
|
+
* Shared base for text inputs, selects, and textareas.
|
|
13
|
+
* Does NOT include padding — that varies per component (Input has size prop).
|
|
14
|
+
*/
|
|
15
|
+
export declare const BASE_FIELD: string;
|
|
16
|
+
/** Default field padding when no size prop is used. */
|
|
17
|
+
export declare const FIELD_PADDING = "px-4 py-2.5";
|
|
18
|
+
/** Placeholder styling added to free-text fields (Input, Textarea). */
|
|
19
|
+
export declare const FIELD_PLACEHOLDER = "placeholder:text-text-tertiary";
|
|
20
|
+
/** Border + ring override when a field has a validation error. */
|
|
21
|
+
export declare const FIELD_ERROR = "border-error focus-visible:ring-error";
|
|
22
|
+
/** Border + ring override when a field value is confirmed valid. */
|
|
23
|
+
export declare const FIELD_SUCCESS = "border-success focus-visible:ring-success";
|
|
24
|
+
/** Standard disabled treatment for directly-disabled elements. */
|
|
25
|
+
export declare const DISABLED = "disabled:opacity-50 disabled:cursor-not-allowed";
|
|
26
|
+
/**
|
|
27
|
+
* Disabled treatment via the `peer` selector — used when the real
|
|
28
|
+
* input is `sr-only` and the visual indicator is a sibling (Checkbox).
|
|
29
|
+
*/
|
|
30
|
+
export declare const DISABLED_PEER = "peer-disabled:opacity-50 peer-disabled:cursor-not-allowed";
|
|
31
|
+
/** Brand-coloured focus ring shared across interactive controls. */
|
|
32
|
+
export declare const FOCUS_RING = "focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-brand-500";
|
|
33
|
+
/** Offset that lifts the ring away from the control surface. */
|
|
34
|
+
export declare const FOCUS_RING_OFFSET = "focus-visible:ring-offset-2 focus-visible:ring-offset-surface";
|
|
35
|
+
/**
|
|
36
|
+
* Peer-variant focus ring for sr-only inputs whose visual sibling
|
|
37
|
+
* needs to show focus (Checkbox).
|
|
38
|
+
*/
|
|
39
|
+
export declare const FOCUS_RING_PEER: string;
|
|
40
|
+
/** Hover treatment for icon-only dismiss/close buttons (Alert, Modal, Toast). */
|
|
41
|
+
export declare const DISMISS_BUTTON = "text-text-tertiary hover:text-text-primary transition-colors";
|
|
42
|
+
//# sourceMappingURL=formStyles.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"formStyles.d.ts","sourceRoot":"","sources":["../../../src/lib/styles/formStyles.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAMH,0DAA0D;AAC1D,eAAO,MAAM,UAAU,iCAAiC,CAAC;AAEzD,iDAAiD;AACjD,eAAO,MAAM,aAAa,oBAAoB,CAAC;AAE/C;;;GAGG;AACH,eAAO,MAAM,UAAU,QAKZ,CAAC;AAEZ,uDAAuD;AACvD,eAAO,MAAM,aAAa,gBAAgB,CAAC;AAE3C,uEAAuE;AACvE,eAAO,MAAM,iBAAiB,mCAAmC,CAAC;AAMlE,kEAAkE;AAClE,eAAO,MAAM,WAAW,0CAA0C,CAAC;AAEnE,oEAAoE;AACpE,eAAO,MAAM,aAAa,8CAA8C,CAAC;AAMzE,kEAAkE;AAClE,eAAO,MAAM,QAAQ,oDAAoD,CAAC;AAE1E;;;GAGG;AACH,eAAO,MAAM,aAAa,8DACmC,CAAC;AAM9D,oEAAoE;AACpE,eAAO,MAAM,UAAU,iFACyD,CAAC;AAEjF,gEAAgE;AAChE,eAAO,MAAM,iBAAiB,kEACmC,CAAC;AAElE;;;GAGG;AACH,eAAO,MAAM,eAAe,QAGjB,CAAC;AAMZ,iFAAiF;AACjF,eAAO,MAAM,cAAc,iEACqC,CAAC"}
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Shared semantic color variant system.
|
|
3
|
+
*
|
|
4
|
+
* The four-point semantic scale (info / success / warning / error) recurs
|
|
5
|
+
* across Alert, Badge, Spinner, and Toast. This module provides atomic
|
|
6
|
+
* building blocks so each component composes its variant styles from a
|
|
7
|
+
* single source of truth.
|
|
8
|
+
*/
|
|
9
|
+
/** The four-point semantic variant scale shared across the library. */
|
|
10
|
+
export type SemanticVariant = 'info' | 'success' | 'warning' | 'error';
|
|
11
|
+
/** Semantic text colors (Alert, Badge, Toast icon coloring). */
|
|
12
|
+
export declare const SEMANTIC_TEXT: Record<SemanticVariant, string>;
|
|
13
|
+
/** Light semantic backgrounds (Alert, Badge). */
|
|
14
|
+
export declare const SEMANTIC_BG_LIGHT: Record<SemanticVariant, string>;
|
|
15
|
+
/** Semantic border colors at 30% opacity (Alert, Badge, Spinner). */
|
|
16
|
+
export declare const SEMANTIC_BORDER: Record<SemanticVariant, string>;
|
|
17
|
+
/**
|
|
18
|
+
* Spinner border pattern: translucent ring + solid top edge.
|
|
19
|
+
* Used by Spinner component for its semantic variants.
|
|
20
|
+
*/
|
|
21
|
+
export declare const SEMANTIC_SPINNER: Record<SemanticVariant, string>;
|
|
22
|
+
//# sourceMappingURL=semanticVariants.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"semanticVariants.d.ts","sourceRoot":"","sources":["../../../src/lib/styles/semanticVariants.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAMH,uEAAuE;AACvE,MAAM,MAAM,eAAe,GAAG,MAAM,GAAG,SAAS,GAAG,SAAS,GAAG,OAAO,CAAC;AAMvE,gEAAgE;AAChE,eAAO,MAAM,aAAa,EAAE,MAAM,CAAC,eAAe,EAAE,MAAM,CAKzD,CAAC;AAEF,iDAAiD;AACjD,eAAO,MAAM,iBAAiB,EAAE,MAAM,CAAC,eAAe,EAAE,MAAM,CAK7D,CAAC;AAEF,qEAAqE;AACrE,eAAO,MAAM,eAAe,EAAE,MAAM,CAAC,eAAe,EAAE,MAAM,CAK3D,CAAC;AAMF;;;GAGG;AACH,eAAO,MAAM,gBAAgB,EAAE,MAAM,CAAC,eAAe,EAAE,MAAM,CAK5D,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/lib/types.ts"],"names":[],"mappings":"AAAA,8DAA8D;AAC9D,MAAM,MAAM,aAAa,GAAG,IAAI,GAAG,IAAI,GAAG,IAAI,CAAC"}
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
import { Component, ReactNode, ErrorInfo } from 'react';
|
|
2
|
+
interface ErrorBoundaryProps {
|
|
3
|
+
fallback?: ReactNode;
|
|
4
|
+
children: ReactNode;
|
|
5
|
+
onError?: (error: Error, errorInfo: ErrorInfo) => void;
|
|
6
|
+
}
|
|
7
|
+
interface ErrorBoundaryState {
|
|
8
|
+
hasError: boolean;
|
|
9
|
+
}
|
|
10
|
+
/**
|
|
11
|
+
* Generic error boundary for catching render errors in child components.
|
|
12
|
+
* Useful for preventing cascading failures in complex UI components.
|
|
13
|
+
*/
|
|
14
|
+
export declare class ErrorBoundary extends Component<ErrorBoundaryProps, ErrorBoundaryState> {
|
|
15
|
+
state: ErrorBoundaryState;
|
|
16
|
+
static getDerivedStateFromError(): ErrorBoundaryState;
|
|
17
|
+
componentDidCatch(error: Error, errorInfo: ErrorInfo): void;
|
|
18
|
+
render(): ReactNode;
|
|
19
|
+
}
|
|
20
|
+
export {};
|
|
21
|
+
//# sourceMappingURL=ErrorBoundary.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ErrorBoundary.d.ts","sourceRoot":"","sources":["../../../src/lib/utils/ErrorBoundary.tsx"],"names":[],"mappings":"AAEA,OAAO,EAAE,SAAS,EAAE,KAAK,SAAS,EAAE,KAAK,SAAS,EAAE,MAAM,OAAO,CAAC;AAElE,UAAU,kBAAkB;IAC1B,QAAQ,CAAC,EAAE,SAAS,CAAC;IACrB,QAAQ,EAAE,SAAS,CAAC;IACpB,OAAO,CAAC,EAAE,CAAC,KAAK,EAAE,KAAK,EAAE,SAAS,EAAE,SAAS,KAAK,IAAI,CAAC;CACxD;AAED,UAAU,kBAAkB;IAC1B,QAAQ,EAAE,OAAO,CAAC;CACnB;AAED;;;GAGG;AACH,qBAAa,aAAc,SAAQ,SAAS,CAC1C,kBAAkB,EAClB,kBAAkB,CACnB;IACU,KAAK,EAAE,kBAAkB,CAAuB;IAEzD,MAAM,CAAC,wBAAwB,IAAI,kBAAkB;IAI5C,iBAAiB,CAAC,KAAK,EAAE,KAAK,EAAE,SAAS,EAAE,SAAS,GAAG,IAAI;IAO3D,MAAM,IAAI,SAAS;CAM7B"}
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
import { Component, ReactNode, ErrorInfo } from 'react';
|
|
2
|
+
interface ModalErrorBoundaryProps {
|
|
3
|
+
fallback?: ReactNode;
|
|
4
|
+
children: ReactNode;
|
|
5
|
+
}
|
|
6
|
+
interface ModalErrorBoundaryState {
|
|
7
|
+
hasError: boolean;
|
|
8
|
+
}
|
|
9
|
+
/**
|
|
10
|
+
* Specialized error boundary for Modal components.
|
|
11
|
+
* Modal crashes can leave the app in a bad state (scroll locked, backdrop stuck).
|
|
12
|
+
* This boundary ensures cleanup happens even on error.
|
|
13
|
+
*/
|
|
14
|
+
export declare class ModalErrorBoundary extends Component<ModalErrorBoundaryProps, ModalErrorBoundaryState> {
|
|
15
|
+
state: ModalErrorBoundaryState;
|
|
16
|
+
static getDerivedStateFromError(): ModalErrorBoundaryState;
|
|
17
|
+
componentDidCatch(error: Error, errorInfo: ErrorInfo): void;
|
|
18
|
+
render(): ReactNode;
|
|
19
|
+
}
|
|
20
|
+
export {};
|
|
21
|
+
//# sourceMappingURL=ModalErrorBoundary.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ModalErrorBoundary.d.ts","sourceRoot":"","sources":["../../../src/lib/utils/ModalErrorBoundary.tsx"],"names":[],"mappings":"AAEA,OAAO,EAAE,SAAS,EAAE,KAAK,SAAS,EAAE,KAAK,SAAS,EAAE,MAAM,OAAO,CAAC;AAElE,UAAU,uBAAuB;IAC/B,QAAQ,CAAC,EAAE,SAAS,CAAC;IACrB,QAAQ,EAAE,SAAS,CAAC;CACrB;AAED,UAAU,uBAAuB;IAC/B,QAAQ,EAAE,OAAO,CAAC;CACnB;AAED;;;;GAIG;AACH,qBAAa,kBAAmB,SAAQ,SAAS,CAC/C,uBAAuB,EACvB,uBAAuB,CACxB;IACU,KAAK,EAAE,uBAAuB,CAAuB;IAE9D,MAAM,CAAC,wBAAwB,IAAI,uBAAuB;IAIjD,iBAAiB,CAAC,KAAK,EAAE,KAAK,EAAE,SAAS,EAAE,SAAS,GAAG,IAAI;IAU3D,MAAM,IAAI,SAAS;CAM7B"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"cn.d.ts","sourceRoot":"","sources":["../../../src/lib/utils/cn.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,UAAU,EAAQ,MAAM,MAAM,CAAC;AAG7C,wBAAgB,EAAE,CAAC,GAAG,MAAM,EAAE,UAAU,EAAE,UAEzC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/lib/utils/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,EAAE,EAAE,MAAM,MAAM,CAAC;AAC1B,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAChD,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAChD,OAAO,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAC"}
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Development-only prop validation helper.
|
|
3
|
+
* Logs errors in development, silently falls back to defaults in production.
|
|
4
|
+
*/
|
|
5
|
+
export declare function validateProps<T extends Record<string, unknown>>(props: T, validate: (props: T) => string | null, defaults: Partial<T>, componentName: string): T;
|
|
6
|
+
//# sourceMappingURL=validateProps.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"validateProps.d.ts","sourceRoot":"","sources":["../../../src/lib/utils/validateProps.ts"],"names":[],"mappings":"AAAA;;;GAGG;AACH,wBAAgB,aAAa,CAAC,CAAC,SAAS,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAC7D,KAAK,EAAE,CAAC,EACR,QAAQ,EAAE,CAAC,KAAK,EAAE,CAAC,KAAK,MAAM,GAAG,IAAI,EACrC,QAAQ,EAAE,OAAO,CAAC,CAAC,CAAC,EACpB,aAAa,EAAE,MAAM,GACpB,CAAC,CAWH"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
//# sourceMappingURL=test-setup.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"test-setup.d.ts","sourceRoot":"","sources":["../src/test-setup.ts"],"names":[],"mappings":"AAAA,OAAO,2BAA2B,CAAC"}
|
package/package.json
ADDED
|
@@ -0,0 +1,79 @@
|
|
|
1
|
+
{
|
|
2
|
+
"name": "@danieljoffe/shared-ui",
|
|
3
|
+
"version": "0.0.1",
|
|
4
|
+
"description": "React component library and design system shared across danieljoffe.com and WyrdFold — Tailwind CSS 4, React 19, server-component-friendly.",
|
|
5
|
+
"type": "module",
|
|
6
|
+
"sideEffects": false,
|
|
7
|
+
"main": "./dist/index.js",
|
|
8
|
+
"module": "./dist/index.js",
|
|
9
|
+
"types": "./dist/index.d.ts",
|
|
10
|
+
"exports": {
|
|
11
|
+
"./package.json": "./package.json",
|
|
12
|
+
".": {
|
|
13
|
+
"@danieljoffe.com/source": "./src/index.ts",
|
|
14
|
+
"types": "./dist/index.d.ts",
|
|
15
|
+
"import": "./dist/index.js",
|
|
16
|
+
"default": "./dist/index.js"
|
|
17
|
+
},
|
|
18
|
+
"./*": {
|
|
19
|
+
"@danieljoffe.com/source": "./src/lib/*.tsx",
|
|
20
|
+
"types": "./dist/lib/*.d.ts",
|
|
21
|
+
"default": "./src/lib/*.tsx"
|
|
22
|
+
},
|
|
23
|
+
"./styles/*": {
|
|
24
|
+
"@danieljoffe.com/source": "./src/lib/styles/*.ts",
|
|
25
|
+
"types": "./dist/lib/styles/*.d.ts",
|
|
26
|
+
"default": "./src/lib/styles/*.ts"
|
|
27
|
+
},
|
|
28
|
+
"./types": {
|
|
29
|
+
"@danieljoffe.com/source": "./src/lib/types.ts",
|
|
30
|
+
"types": "./dist/lib/types.d.ts",
|
|
31
|
+
"default": "./src/lib/types.ts"
|
|
32
|
+
},
|
|
33
|
+
"./styles/indigo-theme.css": "./src/styles/indigo-theme.css",
|
|
34
|
+
"./styles/pyre-theme.css": "./src/styles/pyre-theme.css"
|
|
35
|
+
},
|
|
36
|
+
"files": [
|
|
37
|
+
"dist",
|
|
38
|
+
"src/styles",
|
|
39
|
+
"README.md",
|
|
40
|
+
"LICENSE.md"
|
|
41
|
+
],
|
|
42
|
+
"keywords": [
|
|
43
|
+
"react",
|
|
44
|
+
"react-19",
|
|
45
|
+
"ui",
|
|
46
|
+
"component-library",
|
|
47
|
+
"design-system",
|
|
48
|
+
"tailwindcss",
|
|
49
|
+
"tailwind-css-4",
|
|
50
|
+
"typescript",
|
|
51
|
+
"headless",
|
|
52
|
+
"wyrdfold"
|
|
53
|
+
],
|
|
54
|
+
"author": "Daniel Joffe",
|
|
55
|
+
"license": "FSL-1.1-MIT",
|
|
56
|
+
"homepage": "https://github.com/danieljoffe/danieljoffe.com/tree/main/libs/shared/ui",
|
|
57
|
+
"repository": {
|
|
58
|
+
"type": "git",
|
|
59
|
+
"url": "git+https://github.com/danieljoffe/danieljoffe.com.git",
|
|
60
|
+
"directory": "libs/shared/ui"
|
|
61
|
+
},
|
|
62
|
+
"bugs": {
|
|
63
|
+
"url": "https://github.com/danieljoffe/danieljoffe.com/issues"
|
|
64
|
+
},
|
|
65
|
+
"publishConfig": {
|
|
66
|
+
"access": "public",
|
|
67
|
+
"registry": "https://registry.npmjs.org/"
|
|
68
|
+
},
|
|
69
|
+
"dependencies": {
|
|
70
|
+
"clsx": "^2.1.0",
|
|
71
|
+
"tailwind-merge": "^3.0.0"
|
|
72
|
+
},
|
|
73
|
+
"peerDependencies": {
|
|
74
|
+
"react": "^19.0.0",
|
|
75
|
+
"react-dom": "^19.0.0",
|
|
76
|
+
"tailwindcss": "^4.0.0",
|
|
77
|
+
"lucide-react": ">=0.400.0"
|
|
78
|
+
}
|
|
79
|
+
}
|