@prmichaelsen/agentbase-ux 0.0.2
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 +62 -0
- package/dist/__tests__/setup.d.ts +2 -0
- package/dist/__tests__/setup.d.ts.map +1 -0
- package/dist/__tests__/test-utils.d.ts +6 -0
- package/dist/__tests__/test-utils.d.ts.map +1 -0
- package/dist/components/Button.d.ts +19 -0
- package/dist/components/Button.d.ts.map +1 -0
- package/dist/components/Button.test.d.ts +2 -0
- package/dist/components/Button.test.d.ts.map +1 -0
- package/dist/components/ConfirmationModal.d.ts +17 -0
- package/dist/components/ConfirmationModal.d.ts.map +1 -0
- package/dist/components/ConfirmationModal.test.d.ts +2 -0
- package/dist/components/ConfirmationModal.test.d.ts.map +1 -0
- package/dist/components/MenuItem.d.ts +17 -0
- package/dist/components/MenuItem.d.ts.map +1 -0
- package/dist/components/MenuItem.test.d.ts +2 -0
- package/dist/components/MenuItem.test.d.ts.map +1 -0
- package/dist/components/Modal.d.ts +18 -0
- package/dist/components/Modal.d.ts.map +1 -0
- package/dist/components/Modal.test.d.ts +2 -0
- package/dist/components/Modal.test.d.ts.map +1 -0
- package/dist/components/Paginator.d.ts +14 -0
- package/dist/components/Paginator.d.ts.map +1 -0
- package/dist/components/Paginator.test.d.ts +2 -0
- package/dist/components/Paginator.test.d.ts.map +1 -0
- package/dist/components/Popover.d.ts +18 -0
- package/dist/components/Popover.d.ts.map +1 -0
- package/dist/components/SlideOverPanel.d.ts +12 -0
- package/dist/components/SlideOverPanel.d.ts.map +1 -0
- package/dist/components/SlideOverPanel.test.d.ts +2 -0
- package/dist/components/SlideOverPanel.test.d.ts.map +1 -0
- package/dist/components/Slider.d.ts +36 -0
- package/dist/components/Slider.d.ts.map +1 -0
- package/dist/components/Slider.test.d.ts +2 -0
- package/dist/components/Slider.test.d.ts.map +1 -0
- package/dist/components/ToggleSwitch.d.ts +17 -0
- package/dist/components/ToggleSwitch.d.ts.map +1 -0
- package/dist/components/ToggleSwitch.test.d.ts +2 -0
- package/dist/components/ToggleSwitch.test.d.ts.map +1 -0
- package/dist/hooks/useDebounce.d.ts +2 -0
- package/dist/hooks/useDebounce.d.ts.map +1 -0
- package/dist/hooks/useDebounce.test.d.ts +2 -0
- package/dist/hooks/useDebounce.test.d.ts.map +1 -0
- package/dist/index.d.ts +18 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +746 -0
- package/dist/index.js.map +7 -0
- package/dist/lib/theming.d.ts +61 -0
- package/dist/lib/theming.d.ts.map +1 -0
- package/dist/lib/theming.test.d.ts +2 -0
- package/dist/lib/theming.test.d.ts.map +1 -0
- package/dist/tokens.css +88 -0
- package/dist/utils/clipboard.d.ts +9 -0
- package/dist/utils/clipboard.d.ts.map +1 -0
- package/dist/utils/clipboard.test.d.ts +2 -0
- package/dist/utils/clipboard.test.d.ts.map +1 -0
- package/dist/utils/format-time.d.ts +6 -0
- package/dist/utils/format-time.d.ts.map +1 -0
- package/dist/utils/format-time.test.d.ts +2 -0
- package/dist/utils/format-time.test.d.ts.map +1 -0
- package/package.json +43 -0
package/README.md
ADDED
|
@@ -0,0 +1,62 @@
|
|
|
1
|
+
# agentbase-ux
|
|
2
|
+
|
|
3
|
+
Reusable, themeable UI primitives for TanStack Start + Tailwind applications
|
|
4
|
+
|
|
5
|
+
> Built with [Agent Context Protocol](https://github.com/prmichaelsen/agent-context-protocol)
|
|
6
|
+
|
|
7
|
+
## Quick Start
|
|
8
|
+
|
|
9
|
+
```bash
|
|
10
|
+
npm install @prmichaelsen/agentbase-ux
|
|
11
|
+
```
|
|
12
|
+
|
|
13
|
+
## Features
|
|
14
|
+
|
|
15
|
+
- Themeable component library with dark/light mode support
|
|
16
|
+
- CSS custom properties via Tailwind v4 `@theme` directive
|
|
17
|
+
- React context-based theming with `useTheme()` hook
|
|
18
|
+
- Extracted from production agentbase.me application
|
|
19
|
+
|
|
20
|
+
## Development
|
|
21
|
+
|
|
22
|
+
This project uses the Agent Context Protocol for development:
|
|
23
|
+
|
|
24
|
+
- `@acp.init` - Initialize agent context
|
|
25
|
+
- `@acp.plan` - Plan milestones and tasks
|
|
26
|
+
- `@acp.proceed` - Continue with next task
|
|
27
|
+
- `@acp.status` - Check project status
|
|
28
|
+
|
|
29
|
+
See [AGENT.md](./AGENT.md) for complete ACP documentation.
|
|
30
|
+
|
|
31
|
+
## Project Structure
|
|
32
|
+
|
|
33
|
+
```
|
|
34
|
+
agentbase-ux/
|
|
35
|
+
├── AGENT.md # ACP methodology
|
|
36
|
+
├── agent/ # ACP directory
|
|
37
|
+
│ ├── design/ # Design documents
|
|
38
|
+
│ ├── milestones/ # Project milestones
|
|
39
|
+
│ ├── tasks/ # Task breakdown
|
|
40
|
+
│ ├── patterns/ # Architectural patterns
|
|
41
|
+
│ └── progress.yaml # Progress tracking
|
|
42
|
+
├── src/ # Library source
|
|
43
|
+
│ ├── lib/ # Theming system
|
|
44
|
+
│ ├── components/ # UI components
|
|
45
|
+
│ ├── hooks/ # React hooks
|
|
46
|
+
│ └── utils/ # Utilities
|
|
47
|
+
└── package.json
|
|
48
|
+
```
|
|
49
|
+
|
|
50
|
+
## Getting Started
|
|
51
|
+
|
|
52
|
+
1. Initialize context: `@acp.init`
|
|
53
|
+
2. Plan your project: `@acp.plan`
|
|
54
|
+
3. Start building: `@acp.proceed`
|
|
55
|
+
|
|
56
|
+
## License
|
|
57
|
+
|
|
58
|
+
MIT
|
|
59
|
+
|
|
60
|
+
## Author
|
|
61
|
+
|
|
62
|
+
prmichaelsen
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"setup.d.ts","sourceRoot":"","sources":["../../src/__tests__/setup.ts"],"names":[],"mappings":"AAAA,OAAO,kCAAkC,CAAA"}
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
import { type RenderOptions } from '@testing-library/react';
|
|
2
|
+
import type { ReactElement } from 'react';
|
|
3
|
+
export declare function renderWithTheme(ui: ReactElement, options?: Omit<RenderOptions, 'wrapper'>): import("@testing-library/react").RenderResult<typeof import("@testing-library/dom/types/queries"), HTMLElement, HTMLElement>;
|
|
4
|
+
export { render } from '@testing-library/react';
|
|
5
|
+
export { default as userEvent } from '@testing-library/user-event';
|
|
6
|
+
//# sourceMappingURL=test-utils.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"test-utils.d.ts","sourceRoot":"","sources":["../../src/__tests__/test-utils.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAU,KAAK,aAAa,EAAE,MAAM,wBAAwB,CAAA;AAEnE,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,OAAO,CAAA;AAMzC,wBAAgB,eAAe,CAAC,EAAE,EAAE,YAAY,EAAE,OAAO,CAAC,EAAE,IAAI,CAAC,aAAa,EAAE,SAAS,CAAC,gIAEzF;AAED,OAAO,EAAE,MAAM,EAAE,MAAM,wBAAwB,CAAA;AAC/C,OAAO,EAAE,OAAO,IAAI,SAAS,EAAE,MAAM,6BAA6B,CAAA"}
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Button — Themeable button with variant and size support.
|
|
3
|
+
*
|
|
4
|
+
* Uses useTheme() for all color classes. Layout utilities (padding,
|
|
5
|
+
* font-weight, rounded, flex) are applied directly.
|
|
6
|
+
*/
|
|
7
|
+
import { type ReactNode, type ButtonHTMLAttributes } from 'react';
|
|
8
|
+
export type ButtonVariant = 'primary' | 'secondary' | 'danger' | 'success' | 'ghost';
|
|
9
|
+
export type ButtonSize = 'sm' | 'md' | 'lg';
|
|
10
|
+
interface ButtonProps extends ButtonHTMLAttributes<HTMLButtonElement> {
|
|
11
|
+
variant?: ButtonVariant;
|
|
12
|
+
size?: ButtonSize;
|
|
13
|
+
icon?: ReactNode;
|
|
14
|
+
children: ReactNode;
|
|
15
|
+
fullWidth?: boolean;
|
|
16
|
+
}
|
|
17
|
+
export declare function Button({ variant, size, icon, children, fullWidth, className, disabled, ...props }: ButtonProps): import("react/jsx-runtime").JSX.Element;
|
|
18
|
+
export {};
|
|
19
|
+
//# sourceMappingURL=Button.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Button.d.ts","sourceRoot":"","sources":["../../src/components/Button.tsx"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAAE,KAAK,SAAS,EAAE,KAAK,oBAAoB,EAAE,MAAM,OAAO,CAAA;AAGjE,MAAM,MAAM,aAAa,GAAG,SAAS,GAAG,WAAW,GAAG,QAAQ,GAAG,SAAS,GAAG,OAAO,CAAA;AACpF,MAAM,MAAM,UAAU,GAAG,IAAI,GAAG,IAAI,GAAG,IAAI,CAAA;AAE3C,UAAU,WAAY,SAAQ,oBAAoB,CAAC,iBAAiB,CAAC;IACnE,OAAO,CAAC,EAAE,aAAa,CAAA;IACvB,IAAI,CAAC,EAAE,UAAU,CAAA;IACjB,IAAI,CAAC,EAAE,SAAS,CAAA;IAChB,QAAQ,EAAE,SAAS,CAAA;IACnB,SAAS,CAAC,EAAE,OAAO,CAAA;CACpB;AAQD,wBAAgB,MAAM,CAAC,EACrB,OAAmB,EACnB,IAAW,EACX,IAAI,EACJ,QAAQ,EACR,SAAiB,EACjB,SAAc,EACd,QAAgB,EAChB,GAAG,KAAK,EACT,EAAE,WAAW,2CA0Bb"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Button.test.d.ts","sourceRoot":"","sources":["../../src/components/Button.test.tsx"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* ConfirmationModal — Themeable confirmation dialog with danger/warning/info variants.
|
|
3
|
+
*/
|
|
4
|
+
interface ConfirmationModalProps {
|
|
5
|
+
isOpen: boolean;
|
|
6
|
+
onClose: () => void;
|
|
7
|
+
onConfirm: () => void;
|
|
8
|
+
title: string;
|
|
9
|
+
message: string | React.ReactNode;
|
|
10
|
+
confirmText?: string;
|
|
11
|
+
cancelText?: string;
|
|
12
|
+
variant?: 'danger' | 'warning' | 'info';
|
|
13
|
+
isLoading?: boolean;
|
|
14
|
+
}
|
|
15
|
+
export declare function ConfirmationModal({ isOpen, onClose, onConfirm, title, message, confirmText, cancelText, variant, isLoading, }: ConfirmationModalProps): import("react/jsx-runtime").JSX.Element;
|
|
16
|
+
export {};
|
|
17
|
+
//# sourceMappingURL=ConfirmationModal.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ConfirmationModal.d.ts","sourceRoot":"","sources":["../../src/components/ConfirmationModal.tsx"],"names":[],"mappings":"AAAA;;GAEG;AAKH,UAAU,sBAAsB;IAC9B,MAAM,EAAE,OAAO,CAAA;IACf,OAAO,EAAE,MAAM,IAAI,CAAA;IACnB,SAAS,EAAE,MAAM,IAAI,CAAA;IACrB,KAAK,EAAE,MAAM,CAAA;IACb,OAAO,EAAE,MAAM,GAAG,KAAK,CAAC,SAAS,CAAA;IACjC,WAAW,CAAC,EAAE,MAAM,CAAA;IACpB,UAAU,CAAC,EAAE,MAAM,CAAA;IACnB,OAAO,CAAC,EAAE,QAAQ,GAAG,SAAS,GAAG,MAAM,CAAA;IACvC,SAAS,CAAC,EAAE,OAAO,CAAA;CACpB;AAQD,wBAAgB,iBAAiB,CAAC,EAChC,MAAM,EACN,OAAO,EACP,SAAS,EACT,KAAK,EACL,OAAO,EACP,WAAuB,EACvB,UAAqB,EACrB,OAAkB,EAClB,SAAiB,GAClB,EAAE,sBAAsB,2CA0CxB"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ConfirmationModal.test.d.ts","sourceRoot":"","sources":["../../src/components/ConfirmationModal.test.tsx"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* MenuItem — Themeable menu item button with icon, label, and loading state.
|
|
3
|
+
*/
|
|
4
|
+
import type { LucideIcon } from 'lucide-react';
|
|
5
|
+
interface MenuItemProps {
|
|
6
|
+
icon: LucideIcon;
|
|
7
|
+
label: string;
|
|
8
|
+
onClick: () => void;
|
|
9
|
+
disabled?: boolean;
|
|
10
|
+
danger?: boolean;
|
|
11
|
+
loading?: boolean;
|
|
12
|
+
className?: string;
|
|
13
|
+
suffix?: React.ReactNode;
|
|
14
|
+
}
|
|
15
|
+
export declare function MenuItem({ icon: Icon, label, onClick, disabled, danger, loading, className, suffix }: MenuItemProps): import("react/jsx-runtime").JSX.Element;
|
|
16
|
+
export {};
|
|
17
|
+
//# sourceMappingURL=MenuItem.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"MenuItem.d.ts","sourceRoot":"","sources":["../../src/components/MenuItem.tsx"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,cAAc,CAAA;AAI9C,UAAU,aAAa;IACrB,IAAI,EAAE,UAAU,CAAA;IAChB,KAAK,EAAE,MAAM,CAAA;IACb,OAAO,EAAE,MAAM,IAAI,CAAA;IACnB,QAAQ,CAAC,EAAE,OAAO,CAAA;IAClB,MAAM,CAAC,EAAE,OAAO,CAAA;IAChB,OAAO,CAAC,EAAE,OAAO,CAAA;IACjB,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,MAAM,CAAC,EAAE,KAAK,CAAC,SAAS,CAAA;CACzB;AAED,wBAAgB,QAAQ,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,EAAE,OAAO,EAAE,SAAS,EAAE,MAAM,EAAE,EAAE,aAAa,2CAenH"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"MenuItem.test.d.ts","sourceRoot":"","sources":["../../src/components/MenuItem.test.tsx"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Modal — Themeable portal-based modal with escape/backdrop dismiss.
|
|
3
|
+
*
|
|
4
|
+
* Supports persistent mode (no dismiss), configurable max-width,
|
|
5
|
+
* and iOS safe-area-inset-top.
|
|
6
|
+
*/
|
|
7
|
+
interface ModalProps {
|
|
8
|
+
isOpen: boolean;
|
|
9
|
+
onClose: () => void;
|
|
10
|
+
children: React.ReactNode;
|
|
11
|
+
title?: string;
|
|
12
|
+
style?: React.CSSProperties;
|
|
13
|
+
maxWidth?: 'sm' | 'md' | 'lg' | 'xl' | '2xl';
|
|
14
|
+
persistent?: boolean;
|
|
15
|
+
}
|
|
16
|
+
export declare function Modal({ isOpen, onClose, children, title, style, maxWidth, persistent, }: ModalProps): import("react").ReactPortal | null;
|
|
17
|
+
export {};
|
|
18
|
+
//# sourceMappingURL=Modal.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Modal.d.ts","sourceRoot":"","sources":["../../src/components/Modal.tsx"],"names":[],"mappings":"AAAA;;;;;GAKG;AAMH,UAAU,UAAU;IAClB,MAAM,EAAE,OAAO,CAAA;IACf,OAAO,EAAE,MAAM,IAAI,CAAA;IACnB,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAA;IACzB,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,KAAK,CAAC,EAAE,KAAK,CAAC,aAAa,CAAA;IAC3B,QAAQ,CAAC,EAAE,IAAI,GAAG,IAAI,GAAG,IAAI,GAAG,IAAI,GAAG,KAAK,CAAA;IAC5C,UAAU,CAAC,EAAE,OAAO,CAAA;CACrB;AAUD,wBAAgB,KAAK,CAAC,EACpB,MAAM,EACN,OAAO,EACP,QAAQ,EACR,KAAK,EACL,KAAK,EACL,QAAe,EACf,UAAkB,GACnB,EAAE,UAAU,sCA4DZ"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Modal.test.d.ts","sourceRoot":"","sources":["../../src/components/Modal.test.tsx"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Paginator — Themeable page navigation with editable current page input.
|
|
3
|
+
*
|
|
4
|
+
* Pattern: |< < 3 4 [X] 5 6 > >|
|
|
5
|
+
*/
|
|
6
|
+
interface PaginatorProps {
|
|
7
|
+
currentPage: number;
|
|
8
|
+
totalPages: number;
|
|
9
|
+
onPageChange: (page: number) => void;
|
|
10
|
+
siblings?: number;
|
|
11
|
+
}
|
|
12
|
+
export declare function Paginator({ currentPage, totalPages, onPageChange, siblings, }: PaginatorProps): import("react/jsx-runtime").JSX.Element | null;
|
|
13
|
+
export {};
|
|
14
|
+
//# sourceMappingURL=Paginator.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Paginator.d.ts","sourceRoot":"","sources":["../../src/components/Paginator.tsx"],"names":[],"mappings":"AAAA;;;;GAIG;AAMH,UAAU,cAAc;IACtB,WAAW,EAAE,MAAM,CAAA;IACnB,UAAU,EAAE,MAAM,CAAA;IAClB,YAAY,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,CAAA;IACpC,QAAQ,CAAC,EAAE,MAAM,CAAA;CAClB;AAED,wBAAgB,SAAS,CAAC,EACxB,WAAW,EACX,UAAU,EACV,YAAY,EACZ,QAAY,GACb,EAAE,cAAc,kDAmFhB"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Paginator.test.d.ts","sourceRoot":"","sources":["../../src/components/Paginator.test.tsx"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Popover — Themeable positioned popover with auto viewport adjustment.
|
|
3
|
+
*
|
|
4
|
+
* Renders in a portal. Supports above/below anchor positioning with
|
|
5
|
+
* automatic flipping when insufficient viewport space.
|
|
6
|
+
*/
|
|
7
|
+
import { type ReactNode, type RefObject } from 'react';
|
|
8
|
+
interface PopoverProps {
|
|
9
|
+
open: boolean;
|
|
10
|
+
anchorRef: RefObject<HTMLElement | null>;
|
|
11
|
+
onClose: () => void;
|
|
12
|
+
children: ReactNode;
|
|
13
|
+
className?: string;
|
|
14
|
+
anchor?: 'above' | 'below';
|
|
15
|
+
}
|
|
16
|
+
export declare function Popover({ open, anchorRef, onClose, children, className, anchor }: PopoverProps): import("react").ReactPortal | null;
|
|
17
|
+
export {};
|
|
18
|
+
//# sourceMappingURL=Popover.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Popover.d.ts","sourceRoot":"","sources":["../../src/components/Popover.tsx"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAA+B,KAAK,SAAS,EAAE,KAAK,SAAS,EAAE,MAAM,OAAO,CAAA;AAInF,UAAU,YAAY;IACpB,IAAI,EAAE,OAAO,CAAA;IACb,SAAS,EAAE,SAAS,CAAC,WAAW,GAAG,IAAI,CAAC,CAAA;IACxC,OAAO,EAAE,MAAM,IAAI,CAAA;IACnB,QAAQ,EAAE,SAAS,CAAA;IACnB,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,MAAM,CAAC,EAAE,OAAO,GAAG,OAAO,CAAA;CAC3B;AAED,wBAAgB,OAAO,CAAC,EAAE,IAAI,EAAE,SAAS,EAAE,OAAO,EAAE,QAAQ,EAAE,SAAS,EAAE,MAAgB,EAAE,EAAE,YAAY,sCAoFxG"}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* SlideOverPanel — Themeable right-side slide-over overlay with backdrop.
|
|
3
|
+
*/
|
|
4
|
+
import { type ReactNode } from 'react';
|
|
5
|
+
interface SlideOverPanelProps {
|
|
6
|
+
open: boolean;
|
|
7
|
+
onClose: () => void;
|
|
8
|
+
children: ReactNode;
|
|
9
|
+
}
|
|
10
|
+
export declare function SlideOverPanel({ open, onClose, children }: SlideOverPanelProps): import("react/jsx-runtime").JSX.Element | null;
|
|
11
|
+
export {};
|
|
12
|
+
//# sourceMappingURL=SlideOverPanel.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"SlideOverPanel.d.ts","sourceRoot":"","sources":["../../src/components/SlideOverPanel.tsx"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAAuB,KAAK,SAAS,EAAE,MAAM,OAAO,CAAA;AAG3D,UAAU,mBAAmB;IAC3B,IAAI,EAAE,OAAO,CAAA;IACb,OAAO,EAAE,MAAM,IAAI,CAAA;IACnB,QAAQ,EAAE,SAAS,CAAA;CACpB;AAED,wBAAgB,cAAc,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,QAAQ,EAAE,EAAE,mBAAmB,kDAsC9E"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"SlideOverPanel.test.d.ts","sourceRoot":"","sources":["../../src/components/SlideOverPanel.test.tsx"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Slider — Themeable range slider with gradient fill.
|
|
3
|
+
*
|
|
4
|
+
* Two modes:
|
|
5
|
+
* - Continuous: provide min, max, step, value
|
|
6
|
+
* - Discrete: provide options array, value snaps to option values
|
|
7
|
+
*
|
|
8
|
+
* Requires the `slider-styled` CSS class from tokens.css.
|
|
9
|
+
* Fill gradient uses CSS custom properties from the theme.
|
|
10
|
+
*/
|
|
11
|
+
interface SliderBaseProps {
|
|
12
|
+
disabled?: boolean;
|
|
13
|
+
className?: string;
|
|
14
|
+
}
|
|
15
|
+
interface ContinuousSliderProps extends SliderBaseProps {
|
|
16
|
+
options?: never;
|
|
17
|
+
labels?: never;
|
|
18
|
+
min: number;
|
|
19
|
+
max: number;
|
|
20
|
+
step: number;
|
|
21
|
+
value: number;
|
|
22
|
+
onChange: (value: number) => void;
|
|
23
|
+
}
|
|
24
|
+
interface DiscreteSliderProps<T extends number | string> extends SliderBaseProps {
|
|
25
|
+
options: T[];
|
|
26
|
+
labels?: boolean | ((option: T) => string);
|
|
27
|
+
min?: never;
|
|
28
|
+
max?: never;
|
|
29
|
+
step?: never;
|
|
30
|
+
value: T;
|
|
31
|
+
onChange: (value: T) => void;
|
|
32
|
+
}
|
|
33
|
+
export type SliderProps<T extends number | string = number> = ContinuousSliderProps | DiscreteSliderProps<T>;
|
|
34
|
+
export declare function Slider<T extends number | string = number>(props: SliderProps<T>): import("react/jsx-runtime").JSX.Element;
|
|
35
|
+
export {};
|
|
36
|
+
//# sourceMappingURL=Slider.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Slider.d.ts","sourceRoot":"","sources":["../../src/components/Slider.tsx"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAKH,UAAU,eAAe;IACvB,QAAQ,CAAC,EAAE,OAAO,CAAA;IAClB,SAAS,CAAC,EAAE,MAAM,CAAA;CACnB;AAED,UAAU,qBAAsB,SAAQ,eAAe;IACrD,OAAO,CAAC,EAAE,KAAK,CAAA;IACf,MAAM,CAAC,EAAE,KAAK,CAAA;IACd,GAAG,EAAE,MAAM,CAAA;IACX,GAAG,EAAE,MAAM,CAAA;IACX,IAAI,EAAE,MAAM,CAAA;IACZ,KAAK,EAAE,MAAM,CAAA;IACb,QAAQ,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAA;CAClC;AAED,UAAU,mBAAmB,CAAC,CAAC,SAAS,MAAM,GAAG,MAAM,CAAE,SAAQ,eAAe;IAC9E,OAAO,EAAE,CAAC,EAAE,CAAA;IACZ,MAAM,CAAC,EAAE,OAAO,GAAG,CAAC,CAAC,MAAM,EAAE,CAAC,KAAK,MAAM,CAAC,CAAA;IAC1C,GAAG,CAAC,EAAE,KAAK,CAAA;IACX,GAAG,CAAC,EAAE,KAAK,CAAA;IACX,IAAI,CAAC,EAAE,KAAK,CAAA;IACZ,KAAK,EAAE,CAAC,CAAA;IACR,QAAQ,EAAE,CAAC,KAAK,EAAE,CAAC,KAAK,IAAI,CAAA;CAC7B;AAED,MAAM,MAAM,WAAW,CAAC,CAAC,SAAS,MAAM,GAAG,MAAM,GAAG,MAAM,IACtD,qBAAqB,GACrB,mBAAmB,CAAC,CAAC,CAAC,CAAA;AAS1B,wBAAgB,MAAM,CAAC,CAAC,SAAS,MAAM,GAAG,MAAM,GAAG,MAAM,EAAE,KAAK,EAAE,WAAW,CAAC,CAAC,CAAC,2CAuD/E"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Slider.test.d.ts","sourceRoot":"","sources":["../../src/components/Slider.test.tsx"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* ToggleSwitch — Themeable iOS-style toggle.
|
|
3
|
+
*
|
|
4
|
+
* Uses useTheme() for on/off track colors and text.
|
|
5
|
+
*/
|
|
6
|
+
import { type ButtonHTMLAttributes } from 'react';
|
|
7
|
+
export type ToggleSwitchSize = 'sm' | 'md' | 'lg';
|
|
8
|
+
interface ToggleSwitchProps extends Omit<ButtonHTMLAttributes<HTMLButtonElement>, 'size' | 'type' | 'onChange'> {
|
|
9
|
+
checked: boolean;
|
|
10
|
+
onChange: (checked: boolean) => void;
|
|
11
|
+
size?: ToggleSwitchSize;
|
|
12
|
+
label?: string;
|
|
13
|
+
description?: string;
|
|
14
|
+
}
|
|
15
|
+
export declare function ToggleSwitch({ checked, onChange, size, label, description, disabled, id, ...props }: ToggleSwitchProps): import("react/jsx-runtime").JSX.Element;
|
|
16
|
+
export {};
|
|
17
|
+
//# sourceMappingURL=ToggleSwitch.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ToggleSwitch.d.ts","sourceRoot":"","sources":["../../src/components/ToggleSwitch.tsx"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,KAAK,oBAAoB,EAAE,MAAM,OAAO,CAAA;AAGjD,MAAM,MAAM,gBAAgB,GAAG,IAAI,GAAG,IAAI,GAAG,IAAI,CAAA;AAEjD,UAAU,iBAAkB,SAAQ,IAAI,CAAC,oBAAoB,CAAC,iBAAiB,CAAC,EAAE,MAAM,GAAG,MAAM,GAAG,UAAU,CAAC;IAC7G,OAAO,EAAE,OAAO,CAAA;IAChB,QAAQ,EAAE,CAAC,OAAO,EAAE,OAAO,KAAK,IAAI,CAAA;IACpC,IAAI,CAAC,EAAE,gBAAgB,CAAA;IACvB,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,WAAW,CAAC,EAAE,MAAM,CAAA;CACrB;AAYD,wBAAgB,YAAY,CAAC,EAC3B,OAAO,EACP,QAAQ,EACR,IAAW,EACX,KAAK,EACL,WAAW,EACX,QAAgB,EAChB,EAAE,EACF,GAAG,KAAK,EACT,EAAE,iBAAiB,2CAmEnB"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ToggleSwitch.test.d.ts","sourceRoot":"","sources":["../../src/components/ToggleSwitch.test.tsx"],"names":[],"mappings":""}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"useDebounce.d.ts","sourceRoot":"","sources":["../../src/hooks/useDebounce.ts"],"names":[],"mappings":"AAEA,wBAAgB,WAAW,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC,EAAE,KAAK,EAAE,MAAM,GAAG,CAAC,CAczD"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"useDebounce.test.d.ts","sourceRoot":"","sources":["../../src/hooks/useDebounce.test.ts"],"names":[],"mappings":""}
|
package/dist/index.d.ts
ADDED
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
export { Button } from './components/Button';
|
|
2
|
+
export type { ButtonVariant, ButtonSize } from './components/Button';
|
|
3
|
+
export { ConfirmationModal } from './components/ConfirmationModal';
|
|
4
|
+
export { MenuItem } from './components/MenuItem';
|
|
5
|
+
export { Modal } from './components/Modal';
|
|
6
|
+
export { Paginator } from './components/Paginator';
|
|
7
|
+
export { Popover } from './components/Popover';
|
|
8
|
+
export { Slider } from './components/Slider';
|
|
9
|
+
export type { SliderProps } from './components/Slider';
|
|
10
|
+
export { SlideOverPanel } from './components/SlideOverPanel';
|
|
11
|
+
export { ToggleSwitch } from './components/ToggleSwitch';
|
|
12
|
+
export type { ToggleSwitchSize } from './components/ToggleSwitch';
|
|
13
|
+
export { useDebounce } from './hooks/useDebounce';
|
|
14
|
+
export { formatExactTime, getRelativeTime } from './utils/format-time';
|
|
15
|
+
export { shareOrCopyUrl, copyToClipboard } from './utils/clipboard';
|
|
16
|
+
export { ThemingProvider, useTheme, themes } from './lib/theming';
|
|
17
|
+
export type { Theme, ThemeName } from './lib/theming';
|
|
18
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,MAAM,EAAE,MAAM,qBAAqB,CAAA;AAC5C,YAAY,EAAE,aAAa,EAAE,UAAU,EAAE,MAAM,qBAAqB,CAAA;AACpE,OAAO,EAAE,iBAAiB,EAAE,MAAM,gCAAgC,CAAA;AAClE,OAAO,EAAE,QAAQ,EAAE,MAAM,uBAAuB,CAAA;AAChD,OAAO,EAAE,KAAK,EAAE,MAAM,oBAAoB,CAAA;AAC1C,OAAO,EAAE,SAAS,EAAE,MAAM,wBAAwB,CAAA;AAClD,OAAO,EAAE,OAAO,EAAE,MAAM,sBAAsB,CAAA;AAC9C,OAAO,EAAE,MAAM,EAAE,MAAM,qBAAqB,CAAA;AAC5C,YAAY,EAAE,WAAW,EAAE,MAAM,qBAAqB,CAAA;AACtD,OAAO,EAAE,cAAc,EAAE,MAAM,6BAA6B,CAAA;AAC5D,OAAO,EAAE,YAAY,EAAE,MAAM,2BAA2B,CAAA;AACxD,YAAY,EAAE,gBAAgB,EAAE,MAAM,2BAA2B,CAAA;AAGjE,OAAO,EAAE,WAAW,EAAE,MAAM,qBAAqB,CAAA;AAGjD,OAAO,EAAE,eAAe,EAAE,eAAe,EAAE,MAAM,qBAAqB,CAAA;AACtE,OAAO,EAAE,cAAc,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAA;AAGnE,OAAO,EAAE,eAAe,EAAE,QAAQ,EAAE,MAAM,EAAE,MAAM,eAAe,CAAA;AACjE,YAAY,EAAE,KAAK,EAAE,SAAS,EAAE,MAAM,eAAe,CAAA"}
|