@kpf_/kiso 1.0.2 → 1.1.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.
Files changed (30) hide show
  1. package/AI_USAGE.md +99 -0
  2. package/README.md +64 -146
  3. package/dist/components/atoms/Card.d.ts +12 -0
  4. package/dist/components/atoms/FormControls.d.ts +26 -0
  5. package/dist/components/atoms/Layout.d.ts +39 -0
  6. package/dist/components/atoms/Media.d.ts +22 -0
  7. package/dist/components/atoms/Status.d.ts +34 -0
  8. package/dist/components/atoms/Typography.d.ts +34 -0
  9. package/dist/components/molecules/CardSections.d.ts +28 -0
  10. package/dist/components/molecules/Feedback.d.ts +26 -0
  11. package/dist/components/molecules/FormFields.d.ts +46 -0
  12. package/dist/components/molecules/Interaction.d.ts +17 -0
  13. package/dist/components/molecules/Navigation.d.ts +32 -0
  14. package/dist/components/motion/HotSlider.d.ts +2 -1
  15. package/dist/components/motion/Magnetic.d.ts +6 -0
  16. package/dist/components/motion/Spotlight.d.ts +8 -0
  17. package/dist/components/motion/StaggerText.d.ts +3 -9
  18. package/dist/components/motion/TextScramble.d.ts +9 -0
  19. package/dist/components/motion/Tilt.d.ts +7 -0
  20. package/dist/components/motion/ViewTransition.d.ts +2 -1
  21. package/dist/components/organisms/ContentOrganisms.d.ts +5 -0
  22. package/dist/components/organisms/DataOrganisms.d.ts +8 -0
  23. package/dist/components/organisms/FormOrganisms.d.ts +4 -0
  24. package/dist/components/organisms/NavigationOrganisms.d.ts +18 -0
  25. package/dist/components/organisms/OverlayOrganisms.d.ts +14 -0
  26. package/dist/index.d.ts +20 -0
  27. package/dist/kiso.js +9019 -3213
  28. package/dist/kiso.umd.cjs +52 -35
  29. package/dist/style.css +1 -1
  30. package/package.json +1 -1
package/AI_USAGE.md ADDED
@@ -0,0 +1,99 @@
1
+ # Kiso AI Consumption Protocol (v1.0.2+)
2
+
3
+ > **IDENTITY:** You are an AI Agent tasked with building high-end interfaces using the **Kiso Design System**.
4
+ > **PHILOSOPHY:** Kiso is built on **Tactile Intelligence**—interfaces should feel physical, weighted, and responsive to interaction through physics-based motion.
5
+ > **SOURCE:** This document is your technical master reference for consuming `@kpf_/kiso`.
6
+
7
+ ## 📦 Installation & Setup
8
+
9
+ ```bash
10
+ npm install @kpf_/kiso
11
+ ```
12
+
13
+ **CRITICAL:** You MUST import global styles in your root layout (e.g., `layout.tsx`, `App.tsx`):
14
+ ```tsx
15
+ import '@kpf_/kiso/style.css'
16
+ ```
17
+
18
+ ## 🧩 Component Landscape
19
+
20
+ Kiso is organized into Atomic folders. Use the following categorized inventory to avoid hallucinations.
21
+
22
+ ### 1. Atoms (Base Elements)
23
+ * **Typography:** `Text`, `Heading`, `Label`, `Caption`, `Code`, `Link`
24
+ * **Layout:** `Stack`, `Grid`, `Container`, `Divider`, `Spacer`, `AspectRatio`
25
+ * **Status:** `Badge`, `Tag`, `Spinner`, `ProgressBar`, `Skeleton`
26
+ * **Media:** `Avatar`, `Image`, `Icon`
27
+ * **Forms:** `Button`, `Input`, `Toggle`, `Textarea`, `Checkbox`, `Radio`, `Select`, `OTPInput`
28
+ * **Containers:** `Card`
29
+
30
+ ### 2. Molecules (Component Clusters)
31
+ * **Feedback:** `Toast`, `Toaster`, `Alert`, `Snackbar`, `EmptyState`
32
+ * **Navigation:** `Dropdown`, `Tabs`, `Breadcrumbs`, `Pagination`, `Stepper`, `Timeline`
33
+ * **Interaction:** `Modal`, `Popover`, `AccordionItem`, `Tooltip`, `CopyToClipboard`
34
+ * **Composites:** `FormField`, `PasswordField`, `SearchInput`, `StatCard`, `InfoRow`
35
+
36
+ ### 3. Organisms (Layout & Sections)
37
+ * **Shell:** `Navbar`, `Sidebar`, `Footer`
38
+ * **Forms:** `LoginForm`, `SignupForm`, `ProfileForm`
39
+ * **Content:** `HeroSection`, `FeatureGrid`, `FAQSection`, `PricingTable`
40
+ * **Data:** `DataTable`, `DashboardStats`, `ActivityFeed`
41
+ * **Overlays:** `ConfirmationDialog`
42
+
43
+ ### 4. Motion (Tactile Primitives)
44
+ * **Text:** `StaggerText`, `TextScramble`
45
+ * **Physics:** `Magnetic`, `Tilt`, `Spotlight`
46
+ * **Flow:** `HotSlider`, `ViewTransition`
47
+
48
+ ## 🎨 Design System Constraints
49
+
50
+ Do **NOT** use generic Tailwind colors or utility-first overrides for component cores.
51
+
52
+ - **Colors:** `bg-kiso-green`, `text-kiso-forest`, `border-kiso-stroke`, `bg-kiso-gray`
53
+ - **Transitions:** `ease-kiso` (Tactile spring timing)
54
+ - **Shadows:** `shadow-kiso-sm`, `shadow-kiso-md`
55
+ - **Rounding:** `rounded-kiso-md`, `rounded-kiso-lg`
56
+
57
+ ## 🛡️ Strict Compliance Rules (The "Kiso Guardrails")
58
+
59
+ 1. **NO CLASSNAME PROP:** Kiso components do **NOT** accept `className`. Use provided props (`variant`, `size`, `status`, `rounded`).
60
+ 2. **Wrappers for Layout:** If you must apply margin, width, or positioning classes, wrap the Kiso component in a primitive `div` or use Kiso `Stack`/`Grid`.
61
+ 3. **Continuous Build Verification (CBV):** Always run `npm run lint && npm run build` after implementing Kiso components to ensure prop types and exports are valid.
62
+ 4. **No Hallucinations:** If a component is not listed above, it does not exist in Kiso.
63
+ 5. **Motion Preference:** Prioritize `StaggerText` for headings and `Magnetic`/`Tilt` for primary CTAs to maintain "Tactile" feel.
64
+
65
+ ## 📚 Implementation Example
66
+
67
+ ```tsx
68
+ import {
69
+ Card,
70
+ Heading,
71
+ Text,
72
+ Button,
73
+ Stack,
74
+ Magnetic,
75
+ Tilt
76
+ } from '@kpf_/kiso'
77
+
78
+ export function ProductShowcase() {
79
+ return (
80
+ <Tilt max={10}>
81
+ <Card padding="lg" shadow="md">
82
+ <Stack gap={6} align="start">
83
+ <Heading level="h2">The Kiso Modular Kit</Heading>
84
+ <Text variant="muted">
85
+ Physics-based components for modern tactile intelligence.
86
+ </Text>
87
+
88
+ <div className="flex gap-4 mt-2">
89
+ <Magnetic strength={0.2}>
90
+ <Button variant="primary" size="lg">Get Started</Button>
91
+ </Magnetic>
92
+ <Button variant="outline" size="lg">Documentation</Button>
93
+ </div>
94
+ </Stack>
95
+ </Card>
96
+ </Tilt>
97
+ )
98
+ }
99
+ ```
package/README.md CHANGED
@@ -1,168 +1,86 @@
1
1
  # Kiso Design System
2
2
 
3
- Package: `@kpf/kiso`
4
- Version: `1.0.0`
5
- Framework: React 19 / TypeScript
3
+ Package: `@kpf_/kiso`
4
+ Version: `1.0.2` (Build Verified)
5
+ Philosophy: **Tactile Intelligence**
6
6
 
7
- **Kiso** (Japanese for *Foundation*) is a strict, atomic UI library built for tactile interaction and precise motion. It enforces a specific set of physics curves (`ease-kiso`) and a hardcoded token system to ensure visual consistency across applications.
7
+ **Kiso** (Japanese for *Foundation*) is a high-performance UI library built for physical interaction and precise motion. It enforces physics-based behaviors through custom springs and the signature `ease-kiso` bezier curve.
8
8
 
9
- ## Integration
10
-
11
- ### 1. Installation
9
+ ## 🚀 Installation
12
10
 
13
11
  ```bash
14
- npm install @kpf/kiso framer-motion
12
+ npm install @kpf_/kiso framer-motion @phosphor-icons/react
15
13
  ```
16
14
 
17
- ### 2. Styles & Fonts
18
-
19
- Kiso relies on **Plus Jakarta Sans** and a compiled CSS file for token injection.
20
-
21
- In your root entry file (e.g., `main.tsx` or `layout.tsx`):
15
+ ## 🔌 Setup
22
16
 
23
- ```typescript
24
- // 1. Import the Font
25
- import '@fontsource/plus-jakarta-sans/400.css';
26
- import '@fontsource/plus-jakarta-sans/500.css';
27
- import '@fontsource/plus-jakarta-sans/600.css';
28
- import '@fontsource/plus-jakarta-sans/700.css';
17
+ ### 1. Global Styles
18
+ In your root layout (e.g., `layout.tsx` or `App.tsx`):
29
19
 
30
- // 2. Import Kiso Core Styles
31
- import '@kpf/kiso/dist/style.css';
20
+ ```tsx
21
+ import '@kpf_/kiso/style.css'
32
22
  ```
33
23
 
34
- ### 3. Provider Setup
24
+ ### 2. Fonts
25
+ Kiso is designed around **Plus Jakarta Sans** (Primary) and **JetBrains Mono** (Code).
35
26
 
36
- The system requires a global context for feedback loops (Toasts). Wrap your application root:
37
-
38
- ```typescript
39
- import { KisoToastProvider } from '@kpf/kiso';
40
-
41
- function App() {
42
- return (
43
- <KisoToastProvider>
44
- <YourApplication />
45
- </KisoToastProvider>
46
- );
47
- }
27
+ ```tsx
28
+ // Example using Google Fonts or Fontsource
29
+ import '@fontsource/plus-jakarta-sans/400.css';
30
+ import '@fontsource/plus-jakarta-sans/700.css';
31
+ import '@fontsource/jetbrains-mono/500.css';
48
32
  ```
49
33
 
50
- ## Component Architecture
34
+ ## 🧩 Component Architecture
51
35
 
52
- Kiso uses a specific naming convention (`Kiso[Component]`) and favors **Compound Component** patterns for complex molecules to keep the API surface minimal.
36
+ Kiso is organized into Atomic tiers for maximum composability.
53
37
 
54
38
  ### Atoms
55
-
56
- #### Button
57
- Utilizes tactile press physics (`scale-96`) and custom easing.
58
-
59
- ```typescript
60
- import { KisoButton } from '@kpf/kiso';
61
-
62
- <KisoButton variant='primary' onClick={handleClick}>
63
- Confirm Action
64
- </KisoButton>
65
-
66
- <KisoButton variant='destructive' isLoading={isDeleting}>
67
- Delete Item
68
- </KisoButton>
69
- ```
70
-
71
- #### Input
72
- Includes slot support for icons and right-aligned actions.
73
-
74
- ```typescript
75
- import { KisoInput } from '@kpf/kiso';
76
- import { MagnifyingGlass } from '@phosphor-icons/react';
77
-
78
- <KisoInput
79
- placeholder='Search...'
80
- leftIcon={<MagnifyingGlass />}
81
- error={hasError}
82
- />
83
- ```
84
-
85
- ### Molecules (Stateful)
86
-
87
- #### Modal System
88
- Uses a compound pattern. The `Content` component handles the entrance animation automatically based on the `variant` prop (`standard` | `sheet` | `bottom`).
89
-
90
- ```typescript
91
- import { KisoModal } from '@kpf/kiso';
92
-
93
- <KisoModal open={isOpen} onOpenChange={setIsOpen}>
94
- <KisoModal.Content variant='sheet'>
95
- <KisoModal.Header>
96
- <h2>Transaction Details</h2>
97
- </KisoModal.Header>
98
-
99
- <div className='p-6'>
100
- {/* Content */}
101
- </div>
102
-
103
- <KisoModal.Footer>
104
- <KisoButton variant='secondary' onClick={close}>Close</KisoButton>
105
- </KisoModal.Footer>
106
- </KisoModal.Content>
107
- </KisoModal>
108
- ```
109
-
110
- #### Toast Feedback
111
- Triggered via hook.
112
-
113
- ```typescript
114
- import { useToast } from '@kpf/kiso';
115
-
116
- const { success, error } = useToast();
117
-
118
- const handleSubmit = () => {
119
- try {
120
- saveData();
121
- success('Changes saved successfully.');
122
- } catch (err) {
123
- error('Failed to save data.');
124
- }
125
- };
126
- ```
127
-
128
- ### Motion System
129
-
130
- Kiso provides pre-configured motion primitives powered by Framer Motion. These use the **wise-drama** bezier curve (`0.1, 0.9, 0.2, 1`).
131
-
132
- #### Stagger Text
133
- Splits strings into characters and cascades them in.
134
-
135
- ```typescript
136
- import { KisoStaggerText } from '@kpf/kiso';
137
-
138
- <h1 className='text-4xl font-bold text-kiso-forest'>
139
- <KisoStaggerText text='Welcome Back' />
140
- </h1>
141
- ```
142
-
143
- #### View Transition (Wizard)
144
- Handles the exit/enter overlap logic for multi-step forms.
145
-
146
- ```typescript
147
- import { KisoViewTransition } from '@kpf/kiso';
148
-
149
- // direction is 'forward' | 'backward'
150
- <KisoViewTransition direction={navDirection}>
151
- {step === 1 && <StepOne key='step1' />}
152
- {step === 2 && <StepTwo key='step2' />}
153
- </KisoViewTransition>
39
+ Primitive build blocks:
40
+ - **Typography:** `Text`, `Heading`, `Label`, `Code`, `Link`
41
+ - **Forms:** `Button`, `Input`, `Toggle`, `Checkbox`, `Radio`, `OTPInput`
42
+ - **Layout:** `Stack`, `Grid`, `Container`, `Spacer`, `AspectRatio`
43
+ - **Visual:** `Avatar`, `Badge`, `Tag`, `Spinner`, `Card`
44
+
45
+ ### Molecules
46
+ Stateful interaction patterns:
47
+ - **Navigation:** `Tabs`, `Stepper`, `Timeline`, `Breadcrumbs`, `Pagination`
48
+ - **Feedback:** `Toaster`, `useToast`, `Alert`, `Snackbar`, `EmptyState`
49
+ - **Overlays:** `Modal`, `Popover`, `Tooltip`, `AccordionItem`
50
+ - **Composites:** `FormField`, `PasswordField`, `StatCard`
51
+
52
+ ### Organisms
53
+ High-level production-ready sections:
54
+ - **Forms:** `LoginForm`, `SignupForm`, `ProfileForm`
55
+ - **Marketing:** `HeroSection`, `FeatureGrid`, `PricingTable`
56
+ - **Data:** `DataTable`, `DashboardStats`, `ActivityFeed`
57
+ - **Shell:** `Navbar`, `Sidebar`, `Footer`
58
+
59
+ ## Motion (Tactile Intelligence)
60
+
61
+ Kiso includes physics-based primitives that go beyond simple transitions:
62
+
63
+ - **Magnetic:** Wraps elements to pull them toward the cursor.
64
+ - **Tilt:** Adds reactive 3D depth to containers on hover.
65
+ - **Spotlight:** A tracking radial reveal layer.
66
+ - **StaggerText:** Character-by-character entrance sequences.
67
+ - **TextScramble:** Decoding animations for headlines.
68
+
69
+ ```tsx
70
+ import { Tilt, Card, StaggerText } from '@kpf_/kiso'
71
+
72
+ <Tilt>
73
+ <Card padding="lg">
74
+ <StaggerText text="Tactile Logic" />
75
+ </Card>
76
+ </Tilt>
154
77
  ```
155
78
 
156
- ## Design Tokens
79
+ ## 🛡️ Strict Guidelines
157
80
 
158
- Do not use arbitrary values. Use the Kiso token set for consistency.
81
+ - **No className:** Kiso components do **NOT** accept a `className` prop. All styling is variant/prop-driven to maintain design integrity.
82
+ - **Layout Wrappers:** Use `Stack`, `Grid`, or standard `div` elements to handle external positioning.
83
+ - **Tokens:** Always use `kiso` prefixed tailwind tokens for custom elements (`bg-kiso-green`, `text-kiso-forest`).
159
84
 
160
- | Category | Token | Value |
161
- | --- | --- | --- |
162
- | **Color** | `text-kiso-forest` | Primary Text (#163300) |
163
- | | `bg-kiso-green` | Primary Action (#9FE870) |
164
- | | `bg-kiso-gray` | Backgrounds (#F2F4F8) |
165
- | | `border-kiso-stroke` | Borders (#D3D5D8) |
166
- | **Shadow** | `shadow-kiso-modal` | Deep elevation for dialogs |
167
- | **Ease** | `ease-kiso` | Standard interaction curve |
168
- | **Ease** | `ease-drama` | Long-form motion curve |
85
+ ## 📄 License
86
+ MIT © Kim Fajardo
@@ -0,0 +1,12 @@
1
+ import { VariantProps } from 'class-variance-authority';
2
+ import * as React from "react";
3
+ declare const cardVariants: (props?: ({
4
+ variant?: "default" | "flat" | "outline" | "glass" | null | undefined;
5
+ rounded?: "sm" | "md" | "lg" | "none" | "xl" | null | undefined;
6
+ hoverable?: boolean | null | undefined;
7
+ padding?: "sm" | "md" | "lg" | "none" | "xl" | null | undefined;
8
+ } & import('class-variance-authority/types').ClassProp) | undefined) => string;
9
+ export interface CardProps extends Omit<React.HTMLAttributes<HTMLDivElement>, "className">, VariantProps<typeof cardVariants> {
10
+ }
11
+ export declare const Card: React.MemoExoticComponent<React.ForwardRefExoticComponent<CardProps & React.RefAttributes<HTMLDivElement>>>;
12
+ export {};
@@ -0,0 +1,26 @@
1
+ import { VariantProps } from 'class-variance-authority';
2
+ import * as React from "react";
3
+ declare const textareaVariants: (props?: ({
4
+ status?: "default" | "error" | "success" | "warning" | null | undefined;
5
+ rounded?: "sm" | "md" | "lg" | "none" | "xl" | null | undefined;
6
+ } & import('class-variance-authority/types').ClassProp) | undefined) => string;
7
+ export type TextareaProps = Omit<React.TextareaHTMLAttributes<HTMLTextAreaElement>, "className"> & VariantProps<typeof textareaVariants>;
8
+ export declare const Textarea: React.MemoExoticComponent<React.ForwardRefExoticComponent<Omit<React.TextareaHTMLAttributes<HTMLTextAreaElement>, "className"> & VariantProps<(props?: ({
9
+ status?: "default" | "error" | "success" | "warning" | null | undefined;
10
+ rounded?: "sm" | "md" | "lg" | "none" | "xl" | null | undefined;
11
+ } & import('class-variance-authority/types').ClassProp) | undefined) => string> & React.RefAttributes<HTMLTextAreaElement>>>;
12
+ export type CheckboxProps = Omit<React.InputHTMLAttributes<HTMLInputElement>, "className" | "type">;
13
+ export declare const Checkbox: React.MemoExoticComponent<React.ForwardRefExoticComponent<CheckboxProps & React.RefAttributes<HTMLInputElement>>>;
14
+ export type RadioProps = Omit<React.InputHTMLAttributes<HTMLInputElement>, "className" | "type">;
15
+ export declare const Radio: React.MemoExoticComponent<React.ForwardRefExoticComponent<RadioProps & React.RefAttributes<HTMLInputElement>>>;
16
+ declare const selectVariants: (props?: import('class-variance-authority/types').ClassProp | undefined) => string;
17
+ export interface SelectProps extends Omit<React.SelectHTMLAttributes<HTMLSelectElement>, "className">, VariantProps<typeof selectVariants> {
18
+ }
19
+ export declare const Select: React.MemoExoticComponent<React.ForwardRefExoticComponent<SelectProps & React.RefAttributes<HTMLSelectElement>>>;
20
+ export interface OTPInputProps {
21
+ length?: number;
22
+ onChange?: (value: string) => void;
23
+ disabled?: boolean;
24
+ }
25
+ export declare const OTPInput: React.MemoExoticComponent<({ length, onChange, disabled }: OTPInputProps) => import("react/jsx-runtime").JSX.Element>;
26
+ export {};
@@ -0,0 +1,39 @@
1
+ import { VariantProps } from 'class-variance-authority';
2
+ import * as React from "react";
3
+ declare const dividerVariants: (props?: ({
4
+ orientation?: "horizontal" | "vertical" | null | undefined;
5
+ } & import('class-variance-authority/types').ClassProp) | undefined) => string;
6
+ export interface DividerProps extends Omit<React.HTMLAttributes<HTMLDivElement>, "className">, VariantProps<typeof dividerVariants> {
7
+ }
8
+ export declare const Divider: React.MemoExoticComponent<React.ForwardRefExoticComponent<DividerProps & React.RefAttributes<HTMLDivElement>>>;
9
+ export interface SpacerProps {
10
+ size?: number | string;
11
+ axis?: 'horizontal' | 'vertical';
12
+ }
13
+ export declare const Spacer: React.MemoExoticComponent<({ size, axis }: SpacerProps) => import("react/jsx-runtime").JSX.Element>;
14
+ export interface ContainerProps extends Omit<React.HTMLAttributes<HTMLDivElement>, "className"> {
15
+ center?: boolean;
16
+ }
17
+ export declare const Container: React.MemoExoticComponent<React.ForwardRefExoticComponent<ContainerProps & React.RefAttributes<HTMLDivElement>>>;
18
+ declare const stackVariants: (props?: ({
19
+ direction?: "row" | "column" | "row-reverse" | "column-reverse" | null | undefined;
20
+ align?: "center" | "end" | "start" | "baseline" | "stretch" | null | undefined;
21
+ justify?: "center" | "end" | "start" | "between" | "around" | "evenly" | null | undefined;
22
+ gap?: 0 | 1 | 2 | 3 | 16 | 4 | 5 | 6 | 8 | 10 | 12 | null | undefined;
23
+ wrap?: boolean | null | undefined;
24
+ } & import('class-variance-authority/types').ClassProp) | undefined) => string;
25
+ export interface StackProps extends Omit<React.HTMLAttributes<HTMLDivElement>, "className">, VariantProps<typeof stackVariants> {
26
+ }
27
+ export declare const Stack: React.MemoExoticComponent<React.ForwardRefExoticComponent<StackProps & React.RefAttributes<HTMLDivElement>>>;
28
+ declare const gridVariants: (props?: ({
29
+ cols?: 1 | 2 | 3 | 4 | 5 | 6 | 12 | null | undefined;
30
+ gap?: 0 | 1 | 2 | 3 | 16 | 4 | 5 | 6 | 8 | 10 | 12 | null | undefined;
31
+ } & import('class-variance-authority/types').ClassProp) | undefined) => string;
32
+ export interface GridProps extends Omit<React.HTMLAttributes<HTMLDivElement>, "className">, VariantProps<typeof gridVariants> {
33
+ }
34
+ export declare const Grid: React.MemoExoticComponent<React.ForwardRefExoticComponent<GridProps & React.RefAttributes<HTMLDivElement>>>;
35
+ export interface AspectRatioProps extends Omit<React.HTMLAttributes<HTMLDivElement>, "className"> {
36
+ ratio?: number;
37
+ }
38
+ export declare const AspectRatio: React.MemoExoticComponent<React.ForwardRefExoticComponent<AspectRatioProps & React.RefAttributes<HTMLDivElement>>>;
39
+ export {};
@@ -0,0 +1,22 @@
1
+ import { VariantProps } from 'class-variance-authority';
2
+ import * as React from "react";
3
+ declare const avatarVariants: (props?: ({
4
+ size?: "sm" | "md" | "lg" | "xl" | "xs" | "2xl" | null | undefined;
5
+ } & import('class-variance-authority/types').ClassProp) | undefined) => string;
6
+ export interface AvatarProps extends Omit<React.HTMLAttributes<HTMLDivElement>, "className">, VariantProps<typeof avatarVariants> {
7
+ src?: string;
8
+ alt?: string;
9
+ fallback?: React.ReactNode;
10
+ }
11
+ export declare const Avatar: React.MemoExoticComponent<React.ForwardRefExoticComponent<AvatarProps & React.RefAttributes<HTMLDivElement>>>;
12
+ export interface ImageProps extends Omit<React.ImgHTMLAttributes<HTMLImageElement>, "className"> {
13
+ aspectRatio?: number;
14
+ rounded?: 'none' | 'sm' | 'md' | 'lg' | 'xl' | 'full';
15
+ }
16
+ export declare const Image: React.MemoExoticComponent<React.ForwardRefExoticComponent<ImageProps & React.RefAttributes<HTMLImageElement>>>;
17
+ export interface IconProps extends Omit<React.HTMLAttributes<HTMLSpanElement>, "className"> {
18
+ size?: number | string;
19
+ color?: string;
20
+ }
21
+ export declare const Icon: React.MemoExoticComponent<React.ForwardRefExoticComponent<IconProps & React.RefAttributes<HTMLSpanElement>>>;
22
+ export {};
@@ -0,0 +1,34 @@
1
+ import { VariantProps } from 'class-variance-authority';
2
+ import * as React from "react";
3
+ declare const badgeVariants: (props?: ({
4
+ variant?: "secondary" | "destructive" | "default" | "success" | "outline" | null | undefined;
5
+ } & import('class-variance-authority/types').ClassProp) | undefined) => string;
6
+ export interface BadgeProps extends Omit<React.HTMLAttributes<HTMLDivElement>, "className">, VariantProps<typeof badgeVariants> {
7
+ }
8
+ export declare const Badge: React.MemoExoticComponent<React.ForwardRefExoticComponent<BadgeProps & React.RefAttributes<HTMLDivElement>>>;
9
+ declare const tagVariants: (props?: ({
10
+ variant?: "primary" | "default" | "forest" | null | undefined;
11
+ } & import('class-variance-authority/types').ClassProp) | undefined) => string;
12
+ export interface TagProps extends Omit<React.HTMLAttributes<HTMLDivElement>, "className">, VariantProps<typeof tagVariants> {
13
+ onClose?: () => void;
14
+ }
15
+ export declare const Tag: React.MemoExoticComponent<React.ForwardRefExoticComponent<TagProps & React.RefAttributes<HTMLDivElement>>>;
16
+ declare const spinnerVariants: (props?: ({
17
+ size?: "sm" | "md" | "lg" | "xl" | null | undefined;
18
+ } & import('class-variance-authority/types').ClassProp) | undefined) => string;
19
+ export interface SpinnerProps extends Omit<React.HTMLAttributes<SVGSVGElement>, "className">, VariantProps<typeof spinnerVariants> {
20
+ }
21
+ export declare const Spinner: React.MemoExoticComponent<React.ForwardRefExoticComponent<SpinnerProps & React.RefAttributes<SVGSVGElement>>>;
22
+ export interface ProgressBarProps {
23
+ value?: number;
24
+ max?: number;
25
+ variant?: 'primary' | 'success' | 'destructive';
26
+ }
27
+ export declare const ProgressBar: React.MemoExoticComponent<({ value, max, variant }: ProgressBarProps) => import("react/jsx-runtime").JSX.Element>;
28
+ declare const skeletonVariants: (props?: ({
29
+ variant?: "default" | "circle" | null | undefined;
30
+ } & import('class-variance-authority/types').ClassProp) | undefined) => string;
31
+ export interface SkeletonProps extends Omit<React.HTMLAttributes<HTMLDivElement>, "className">, VariantProps<typeof skeletonVariants> {
32
+ }
33
+ export declare const Skeleton: React.MemoExoticComponent<React.ForwardRefExoticComponent<SkeletonProps & React.RefAttributes<HTMLDivElement>>>;
34
+ export {};
@@ -0,0 +1,34 @@
1
+ import { VariantProps } from 'class-variance-authority';
2
+ import * as React from "react";
3
+ declare const textVariants: (props?: ({
4
+ variant?: "inverse" | "default" | "error" | "success" | "muted" | null | undefined;
5
+ size?: "sm" | "md" | "lg" | "xl" | "xs" | null | undefined;
6
+ weight?: "bold" | "normal" | "medium" | "semibold" | null | undefined;
7
+ } & import('class-variance-authority/types').ClassProp) | undefined) => string;
8
+ export interface TextProps extends Omit<React.HTMLAttributes<HTMLParagraphElement>, "className">, VariantProps<typeof textVariants> {
9
+ as?: "p" | "span" | "div";
10
+ }
11
+ export declare const Text: React.MemoExoticComponent<React.ForwardRefExoticComponent<TextProps & React.RefAttributes<HTMLParagraphElement>>>;
12
+ declare const headingVariants: (props?: ({
13
+ level?: "h1" | "h2" | "h3" | "h4" | "h5" | "h6" | null | undefined;
14
+ } & import('class-variance-authority/types').ClassProp) | undefined) => string;
15
+ export type HeadingProps = Omit<React.HTMLAttributes<HTMLHeadingElement>, "className"> & VariantProps<typeof headingVariants>;
16
+ export declare const Heading: React.MemoExoticComponent<React.ForwardRefExoticComponent<Omit<React.HTMLAttributes<HTMLHeadingElement>, "className"> & VariantProps<(props?: ({
17
+ level?: "h1" | "h2" | "h3" | "h4" | "h5" | "h6" | null | undefined;
18
+ } & import('class-variance-authority/types').ClassProp) | undefined) => string> & React.RefAttributes<HTMLHeadingElement>>>;
19
+ declare const labelVariants: (props?: import('class-variance-authority/types').ClassProp | undefined) => string;
20
+ export type LabelProps = Omit<React.LabelHTMLAttributes<HTMLLabelElement>, "className"> & VariantProps<typeof labelVariants>;
21
+ export declare const Label: React.MemoExoticComponent<React.ForwardRefExoticComponent<Omit<React.LabelHTMLAttributes<HTMLLabelElement>, "className"> & VariantProps<(props?: import('class-variance-authority/types').ClassProp | undefined) => string> & React.RefAttributes<HTMLLabelElement>>>;
22
+ export declare const Caption: React.MemoExoticComponent<React.ForwardRefExoticComponent<TextProps & React.RefAttributes<HTMLSpanElement>>>;
23
+ export type CodeProps = Omit<React.HTMLAttributes<HTMLElement>, "className">;
24
+ export declare const Code: React.MemoExoticComponent<React.ForwardRefExoticComponent<CodeProps & React.RefAttributes<HTMLElement>>>;
25
+ declare const linkVariants: (props?: ({
26
+ variant?: "primary" | "default" | "muted" | null | undefined;
27
+ size?: "sm" | "md" | "lg" | "xl" | "xs" | null | undefined;
28
+ } & import('class-variance-authority/types').ClassProp) | undefined) => string;
29
+ export type LinkProps = Omit<React.AnchorHTMLAttributes<HTMLAnchorElement>, "className"> & VariantProps<typeof linkVariants>;
30
+ export declare const Link: React.MemoExoticComponent<React.ForwardRefExoticComponent<Omit<React.AnchorHTMLAttributes<HTMLAnchorElement>, "className"> & VariantProps<(props?: ({
31
+ variant?: "primary" | "default" | "muted" | null | undefined;
32
+ size?: "sm" | "md" | "lg" | "xl" | "xs" | null | undefined;
33
+ } & import('class-variance-authority/types').ClassProp) | undefined) => string> & React.RefAttributes<HTMLAnchorElement>>>;
34
+ export {};
@@ -0,0 +1,28 @@
1
+ import { CardProps } from '../atoms/Card';
2
+ import * as React from "react";
3
+ export declare const CardHeader: React.MemoExoticComponent<({ children, ...props }: Omit<React.HTMLAttributes<HTMLDivElement>, "className">) => import("react/jsx-runtime").JSX.Element>;
4
+ export declare const CardTitle: React.MemoExoticComponent<({ children, ...props }: Omit<React.HTMLAttributes<HTMLHeadingElement>, "className">) => import("react/jsx-runtime").JSX.Element>;
5
+ export declare const CardDescription: React.MemoExoticComponent<({ children, ...props }: Omit<React.HTMLAttributes<HTMLParagraphElement>, "className">) => import("react/jsx-runtime").JSX.Element>;
6
+ export declare const CardContent: React.MemoExoticComponent<({ children, ...props }: Omit<React.HTMLAttributes<HTMLDivElement>, "className">) => import("react/jsx-runtime").JSX.Element>;
7
+ export declare const CardFooter: React.MemoExoticComponent<({ children, ...props }: Omit<React.HTMLAttributes<HTMLDivElement>, "className">) => import("react/jsx-runtime").JSX.Element>;
8
+ export interface StatCardProps extends CardProps {
9
+ label: string;
10
+ value: string | number;
11
+ trend?: {
12
+ value: string | number;
13
+ positive?: boolean;
14
+ };
15
+ icon?: React.ReactNode;
16
+ }
17
+ export declare const StatCard: React.MemoExoticComponent<({ label, value, trend, icon, ...props }: StatCardProps) => import("react/jsx-runtime").JSX.Element>;
18
+ export interface InfoRowProps {
19
+ label: string;
20
+ value: React.ReactNode;
21
+ horizontal?: boolean;
22
+ }
23
+ export declare const InfoRow: React.MemoExoticComponent<({ label, value, horizontal }: InfoRowProps) => import("react/jsx-runtime").JSX.Element>;
24
+ export interface CopyToClipboardProps {
25
+ text: string;
26
+ children?: React.ReactNode;
27
+ }
28
+ export declare const CopyToClipboard: React.MemoExoticComponent<({ text, children }: CopyToClipboardProps) => import("react/jsx-runtime").JSX.Element>;
@@ -0,0 +1,26 @@
1
+ import { VariantProps } from 'class-variance-authority';
2
+ import * as React from "react";
3
+ declare const alertVariants: (props?: ({
4
+ variant?: "error" | "success" | "warning" | "info" | null | undefined;
5
+ } & import('class-variance-authority/types').ClassProp) | undefined) => string;
6
+ export interface AlertProps extends Omit<React.HTMLAttributes<HTMLDivElement>, "className">, VariantProps<typeof alertVariants> {
7
+ title?: string;
8
+ onClose?: () => void;
9
+ }
10
+ export declare const Alert: React.MemoExoticComponent<React.ForwardRefExoticComponent<AlertProps & React.RefAttributes<HTMLDivElement>>>;
11
+ export interface SnackbarProps {
12
+ open?: boolean;
13
+ message: string;
14
+ action?: React.ReactNode;
15
+ onClose?: () => void;
16
+ duration?: number;
17
+ }
18
+ export declare const Snackbar: React.MemoExoticComponent<({ open, message, action, onClose, duration }: SnackbarProps) => import("react/jsx-runtime").JSX.Element | null>;
19
+ export interface EmptyStateProps {
20
+ icon?: React.ReactNode;
21
+ title: string;
22
+ description?: string;
23
+ action?: React.ReactNode;
24
+ }
25
+ export declare const EmptyState: React.MemoExoticComponent<({ icon, title, description, action }: EmptyStateProps) => import("react/jsx-runtime").JSX.Element>;
26
+ export {};
@@ -0,0 +1,46 @@
1
+ import * as React from "react";
2
+ export interface FormFieldProps {
3
+ label?: string;
4
+ error?: string;
5
+ hint?: string;
6
+ required?: boolean;
7
+ children: React.ReactNode;
8
+ }
9
+ export declare const FormField: React.MemoExoticComponent<({ label, error, hint, required, children }: FormFieldProps) => import("react/jsx-runtime").JSX.Element>;
10
+ export interface PasswordFieldProps extends Omit<React.InputHTMLAttributes<HTMLInputElement>, "className" | "type"> {
11
+ label?: string;
12
+ error?: string;
13
+ }
14
+ export declare const PasswordField: React.MemoExoticComponent<React.ForwardRefExoticComponent<PasswordFieldProps & React.RefAttributes<HTMLInputElement>>>;
15
+ export type SearchInputProps = Omit<React.InputHTMLAttributes<HTMLInputElement>, "className">;
16
+ export declare const SearchInput: React.MemoExoticComponent<React.ForwardRefExoticComponent<SearchInputProps & React.RefAttributes<HTMLInputElement>>>;
17
+ export interface SelectFieldProps extends Omit<React.SelectHTMLAttributes<HTMLSelectElement>, "className"> {
18
+ label?: string;
19
+ error?: string;
20
+ options?: {
21
+ label: string;
22
+ value: string;
23
+ }[];
24
+ }
25
+ export declare const SelectField: React.MemoExoticComponent<React.ForwardRefExoticComponent<SelectFieldProps & React.RefAttributes<HTMLSelectElement>>>;
26
+ export interface CheckboxGroupProps {
27
+ label?: string;
28
+ options: {
29
+ label: string;
30
+ value: string;
31
+ }[];
32
+ value?: string[];
33
+ onChange?: (value: string[]) => void;
34
+ }
35
+ export declare const CheckboxGroup: React.MemoExoticComponent<({ label, options, value, onChange }: CheckboxGroupProps) => import("react/jsx-runtime").JSX.Element>;
36
+ export interface RadioGroupProps {
37
+ label?: string;
38
+ name: string;
39
+ options: {
40
+ label: string;
41
+ value: string;
42
+ }[];
43
+ value?: string;
44
+ onChange?: (value: string) => void;
45
+ }
46
+ export declare const RadioGroup: React.MemoExoticComponent<({ label, name, options, value, onChange }: RadioGroupProps) => import("react/jsx-runtime").JSX.Element>;
@@ -0,0 +1,17 @@
1
+ import * as React from "react";
2
+ export interface PopoverProps {
3
+ trigger: React.ReactNode;
4
+ children: React.ReactNode;
5
+ }
6
+ export declare const Popover: React.MemoExoticComponent<({ trigger, children }: PopoverProps) => import("react/jsx-runtime").JSX.Element>;
7
+ export interface AccordionItemProps {
8
+ title: string;
9
+ children: React.ReactNode;
10
+ defaultOpen?: boolean;
11
+ }
12
+ export declare const AccordionItem: React.MemoExoticComponent<({ title, children, defaultOpen }: AccordionItemProps) => import("react/jsx-runtime").JSX.Element>;
13
+ export interface TooltipProps {
14
+ content: string;
15
+ children: React.ReactNode;
16
+ }
17
+ export declare const Tooltip: React.MemoExoticComponent<({ content, children }: TooltipProps) => import("react/jsx-runtime").JSX.Element>;