@vashu96/ui 0.0.1 → 0.0.4

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 ADDED
@@ -0,0 +1,158 @@
1
+ # @vashu96/ui
2
+
3
+ **Crystal Flat Design System** — A collection of high-quality, glassmorphism-inspired React components. Built with React, TypeScript, and modern CSS.
4
+
5
+ ## Features
6
+
7
+ - **Glassmorphism**: Beautiful, translucent UI elements.
8
+ - **Dynamic Theming**: Built-in support for light/dark modes and custom color schemes.
9
+ - **Accessible**: Follows WAI-ARIA patterns.
10
+ - **Type-Safe**: Written in TypeScript with full type definitions.
11
+
12
+ ## Installation
13
+
14
+ ```bash
15
+ npm install @vashu96/ui
16
+ ```
17
+
18
+ ## Setup
19
+
20
+ ### 1. Import Styles
21
+
22
+ Import the global styles in your main entry point (e.g., `main.tsx` or `App.tsx`):
23
+
24
+ ```tsx
25
+ import "@vashu96/ui/styles.css";
26
+ ```
27
+
28
+ ### 2. Wrap with ThemeProvider
29
+
30
+ To enable dynamic theming and utilizing the color system, wrap your application with the `ThemeProvider`:
31
+
32
+ ```tsx
33
+ import { ThemeProvider } from "@vashu96/ui";
34
+
35
+ function App() {
36
+ return (
37
+ <ThemeProvider defaultMode="system" storageKey="vashu-ui-theme">
38
+ <YourApp />
39
+ </ThemeProvider>
40
+ );
41
+ }
42
+ ```
43
+
44
+ ## Usage
45
+
46
+ ```tsx
47
+ import { Button, Card, SpotlightCard } from "@vashu96/ui";
48
+
49
+ function MyComponent() {
50
+ return (
51
+ <Card variant="glass">
52
+ <SpotlightCard>
53
+ <h2>Hello World</h2>
54
+ <Button variant="primary">Click Me</Button>
55
+ </SpotlightCard>
56
+ </Card>
57
+ );
58
+ }
59
+ ```
60
+
61
+ ## Components
62
+
63
+ The library provides a comprehensive set of components:
64
+
65
+ ### Layout
66
+
67
+ - `Card` - Versatile container with glass variants.
68
+ - `SpotlightCard` - Card with mouse-tracking spotlight effect.
69
+ - `Separator` - Visual divider.
70
+ - `Sheet` - Slide-out modal/drawer.
71
+ - `Sidebar` - Application sidebar navigation.
72
+ - `TOC` - Table of Contents for document navigation.
73
+
74
+ ### Forms
75
+
76
+ - `Button` - Interactive button with multiple variants.
77
+ - `Input` - Text input field.
78
+ - `Textarea` - Multi-line text input.
79
+ - `Checkbox` - Selection control.
80
+ - `Switch` - Toggle switch.
81
+ - `Slider` - Range slider.
82
+ - `Select` - Dropdown selection.
83
+ - `FormField` - Wrapper for form controls with labels and error states.
84
+ - `Label` - Text label for form elements.
85
+
86
+ ### Feedback
87
+
88
+ - `Badge` - Status indicator.
89
+ - `Alert` - Urgent information banner.
90
+ - `Toast` - Temporary notification.
91
+ - `Progress` - Progress bar.
92
+ - `Spinner` - Loading indicator.
93
+ - `Skeleton` - Loading placeholder.
94
+ - `EmptyState` - Placeholder for empty data sets.
95
+
96
+ ### Overlay
97
+
98
+ - `Dialog` - Modal dialog window.
99
+ - `ConfirmDialog` - Pre-configured confirmation modal.
100
+ - `Tooltip` - Information popup on hover.
101
+ - `Dropdown` - Menu for actions or selection.
102
+ - `Command` - Command palette/menu.
103
+ - `SearchCommand` - Specialized search command interface.
104
+
105
+ ### Navigation
106
+
107
+ - `Tabs` - Tabbed interface.
108
+ - `Breadcrumb` - Path navigation.
109
+ - `Pagination` - Page navigation for lists.
110
+ - `Tag` - Categorization tag.
111
+
112
+ ### Data Display
113
+
114
+ - `Table` - Simple data table.
115
+ - `DataTable` - Advanced table with sorting, filtering, and pagination.
116
+ - `Avatar` - User profile image/initials.
117
+
118
+ ## Theming System
119
+
120
+ The library includes a powerful dynamic theming system accessible via `useThemeContext`.
121
+
122
+ ### ThemeProvider Props
123
+
124
+ | Prop | Type | Default | Description |
125
+ | -------------- | ------------------------------- | ---------------- | ---------------------------------------- |
126
+ | `defaultMode` | `'light' \| 'dark' \| 'system'` | `'system'` | Initial color mode. |
127
+ | `defaultColor` | `ColorSchemeInput` | `PRESETS.indigo` | Initial primary color. |
128
+ | `storageKey` | `string` | `'theme'` | Key to use for localStorage persistence. |
129
+
130
+ ### Using the Context
131
+
132
+ You can control the theme programmatically using the `useThemeContext` hook:
133
+
134
+ ```tsx
135
+ import { useThemeContext, PRESETS } from "@vashu96/ui";
136
+
137
+ function ThemeSwitcher() {
138
+ const { mode, setMode, setColors } = useThemeContext();
139
+
140
+ return (
141
+ <div>
142
+ <button onClick={() => setMode(mode === "dark" ? "light" : "dark")}>
143
+ Toggle Mode
144
+ </button>
145
+ <button onClick={() => setColors(PRESETS.rose)}>Set Rose Theme</button>
146
+ </div>
147
+ );
148
+ }
149
+ ```
150
+
151
+ ### Color Presets
152
+
153
+ Available presets via `PRESETS`:
154
+ `indigo`, `emerald`, `rose`, `amber`, `cyan`, `violet`, `sky`, `fuchsia`, `orange`, `teal`.
155
+
156
+ ## License
157
+
158
+ MIT
package/dist/Alert.d.ts CHANGED
@@ -1,12 +1,32 @@
1
1
  import { ReactNode, HTMLAttributes } from 'react';
2
2
  type AlertVariant = "info" | "success" | "warning" | "danger";
3
3
  interface AlertProps extends HTMLAttributes<HTMLDivElement> {
4
+ /**
5
+ * The visual style of the alert.
6
+ * @default "info"
7
+ */
4
8
  variant?: AlertVariant;
9
+ /**
10
+ * Optional title for the alert.
11
+ */
5
12
  title?: string;
13
+ /**
14
+ * Custom icon. If not provided, a default icon is used based on the variant.
15
+ */
6
16
  icon?: ReactNode;
17
+ /**
18
+ * Whether the alert can be dismissed.
19
+ * @default false
20
+ */
7
21
  dismissible?: boolean;
22
+ /**
23
+ * Callback when the alert is dismissed.
24
+ */
8
25
  onDismiss?: () => void;
9
26
  children?: ReactNode;
10
27
  }
28
+ /**
29
+ * Alert component for displaying messages.
30
+ */
11
31
  declare const Alert: import('react').ForwardRefExoticComponent<AlertProps & import('react').RefAttributes<HTMLDivElement>>;
12
32
  export { Alert, type AlertProps, type AlertVariant };
package/dist/Avatar.d.ts CHANGED
@@ -1,10 +1,26 @@
1
1
  import { HTMLAttributes } from 'react';
2
2
  type AvatarSize = "xs" | "sm" | "md" | "lg" | "xl";
3
3
  interface AvatarProps extends HTMLAttributes<HTMLDivElement> {
4
+ /**
5
+ * Image source URL.
6
+ */
4
7
  src?: string;
8
+ /**
9
+ * Alt text for the image. Also used for fallback initials if `fallback` is not provided.
10
+ */
5
11
  alt?: string;
12
+ /**
13
+ * Explicit fallback text (e.g. initials).
14
+ */
6
15
  fallback?: string;
16
+ /**
17
+ * Size of the avatar.
18
+ * @default "md"
19
+ */
7
20
  size?: AvatarSize;
8
21
  }
22
+ /**
23
+ * Avatar component with image and fallback support.
24
+ */
9
25
  declare const Avatar: import('react').ForwardRefExoticComponent<AvatarProps & import('react').RefAttributes<HTMLDivElement>>;
10
26
  export { Avatar, type AvatarProps, type AvatarSize };
package/dist/Badge.d.ts CHANGED
@@ -1,7 +1,14 @@
1
1
  import { HTMLAttributes } from 'react';
2
2
  type BadgeVariant = "default" | "success" | "warning" | "danger" | "info";
3
3
  interface BadgeProps extends HTMLAttributes<HTMLSpanElement> {
4
+ /**
5
+ * The visual style of the badge.
6
+ * @default "default"
7
+ */
4
8
  variant?: BadgeVariant;
5
9
  }
10
+ /**
11
+ * Small count and labeling component.
12
+ */
6
13
  declare const Badge: import('react').ForwardRefExoticComponent<BadgeProps & import('react').RefAttributes<HTMLSpanElement>>;
7
14
  export { Badge, type BadgeProps, type BadgeVariant };
@@ -1,12 +1,37 @@
1
1
  import { ReactNode, HTMLAttributes } from 'react';
2
+ /**
3
+ * Breadcrumb navigation container.
4
+ */
2
5
  declare const Breadcrumb: import('react').ForwardRefExoticComponent<HTMLAttributes<HTMLElement> & import('react').RefAttributes<HTMLElement>>;
6
+ /**
7
+ * Ordered list container for breadcrumb items.
8
+ */
3
9
  declare const BreadcrumbList: import('react').ForwardRefExoticComponent<HTMLAttributes<HTMLOListElement> & import('react').RefAttributes<HTMLOListElement>>;
10
+ /**
11
+ * Individual item in the breadcrumb list.
12
+ */
4
13
  declare const BreadcrumbItem: import('react').ForwardRefExoticComponent<HTMLAttributes<HTMLLIElement> & import('react').RefAttributes<HTMLLIElement>>;
5
14
  interface BreadcrumbLinkProps extends HTMLAttributes<HTMLAnchorElement> {
15
+ /**
16
+ * Link URL.
17
+ */
6
18
  href?: string;
19
+ /**
20
+ * Whether the link is active/hovered.
21
+ */
7
22
  active?: boolean;
23
+ /**
24
+ * Whether this is the current page. Rendering as a span instead of a link.
25
+ */
26
+ isCurrent?: boolean;
8
27
  }
28
+ /**
29
+ * Navigation link or current page indicator.
30
+ */
9
31
  declare const BreadcrumbLink: import('react').ForwardRefExoticComponent<BreadcrumbLinkProps & import('react').RefAttributes<HTMLAnchorElement>>;
32
+ /**
33
+ * Visual separator between breadcrumb items.
34
+ */
10
35
  declare function BreadcrumbSeparator({ children, className, }: {
11
36
  children?: ReactNode;
12
37
  className?: string;
package/dist/Button.d.ts CHANGED
@@ -2,9 +2,25 @@ import { ButtonHTMLAttributes } from 'react';
2
2
  type ButtonVariant = "primary" | "secondary" | "ghost" | "danger";
3
3
  type ButtonSize = "sm" | "md" | "lg";
4
4
  interface ButtonProps extends ButtonHTMLAttributes<HTMLButtonElement> {
5
+ /**
6
+ * The visual style of the button.
7
+ * @default "primary"
8
+ */
5
9
  variant?: ButtonVariant;
10
+ /**
11
+ * The size of the button.
12
+ * @default "md"
13
+ */
6
14
  size?: ButtonSize;
15
+ /**
16
+ * Whether the button is in a loading state.
17
+ * Disables the button and shows a spinner.
18
+ * @default false
19
+ */
7
20
  loading?: boolean;
8
21
  }
22
+ /**
23
+ * Interactive button component with support for multiple variants, sizes, and loading states.
24
+ */
9
25
  declare const Button: import('react').ForwardRefExoticComponent<ButtonProps & import('react').RefAttributes<HTMLButtonElement>>;
10
26
  export { Button, type ButtonProps, type ButtonVariant, type ButtonSize };
package/dist/Card.d.ts CHANGED
@@ -1,8 +1,19 @@
1
1
  import { HTMLAttributes } from 'react';
2
2
  type CardVariant = "glass" | "solid" | "outline";
3
3
  interface CardProps extends HTMLAttributes<HTMLDivElement> {
4
+ /**
5
+ * The visual style of the card.
6
+ * @default "glass"
7
+ */
4
8
  variant?: CardVariant;
9
+ /**
10
+ * Padding size for the card content.
11
+ * @default "md"
12
+ */
5
13
  padding?: "none" | "sm" | "md" | "lg";
6
14
  }
15
+ /**
16
+ * Versatile container component with multiple visual variants and padding options.
17
+ */
7
18
  declare const Card: import('react').ForwardRefExoticComponent<CardProps & import('react').RefAttributes<HTMLDivElement>>;
8
19
  export { Card, type CardProps, type CardVariant };
@@ -1,7 +1,17 @@
1
1
  import { InputHTMLAttributes } from 'react';
2
2
  interface CheckboxProps extends Omit<InputHTMLAttributes<HTMLInputElement>, "type"> {
3
+ /**
4
+ * Label text to align with the checkbox.
5
+ */
3
6
  label?: string;
7
+ /**
8
+ * If true, the checkbox appears in an indeterminate state.
9
+ * Useful for "select all" scenarios.
10
+ */
4
11
  indeterminate?: boolean;
5
12
  }
13
+ /**
14
+ * Checkbox component with support for indeterminate state and labels.
15
+ */
6
16
  declare const Checkbox: import('react').ForwardRefExoticComponent<CheckboxProps & import('react').RefAttributes<HTMLInputElement>>;
7
17
  export { Checkbox, type CheckboxProps };
package/dist/Command.d.ts CHANGED
@@ -9,13 +9,39 @@ interface CommandItem {
9
9
  disabled?: boolean;
10
10
  }
11
11
  interface CommandProps {
12
+ /**
13
+ * Whether the command palette is open.
14
+ */
12
15
  open: boolean;
16
+ /**
17
+ * Callback to close the command palette.
18
+ */
13
19
  onClose: () => void;
20
+ /**
21
+ * List of items to search/display.
22
+ */
14
23
  items: CommandItem[];
24
+ /**
25
+ * Placeholder text for the input.
26
+ * @default "Type a command or search…"
27
+ */
15
28
  placeholder?: string;
29
+ /**
30
+ * Message to display when no results are found.
31
+ * @default "No results found."
32
+ */
16
33
  emptyMessage?: string;
34
+ /**
35
+ * Whether the results are loading.
36
+ */
17
37
  loading?: boolean;
38
+ /**
39
+ * Callback for query changes (if handling filtering externally).
40
+ */
18
41
  onQueryChange?: (query: string) => void;
19
42
  }
43
+ /**
44
+ * Command palette component (Cmd+K style).
45
+ */
20
46
  declare function Command({ open, onClose, items, placeholder, emptyMessage, loading, onQueryChange, }: CommandProps): import('react').ReactPortal | null;
21
47
  export { Command, type CommandProps, type CommandItem };
@@ -1,13 +1,47 @@
1
1
  interface ConfirmDialogProps {
2
+ /**
3
+ * Whether the dialog is open.
4
+ */
2
5
  open: boolean;
6
+ /**
7
+ * Callback to close the dialog.
8
+ */
3
9
  onClose: () => void;
10
+ /**
11
+ * Callback when the confirm button is clicked.
12
+ */
4
13
  onConfirm: () => void | Promise<void>;
14
+ /**
15
+ * Title of the confirmation dialog.
16
+ */
5
17
  title: string;
18
+ /**
19
+ * Description of the confirmation action.
20
+ */
6
21
  description: string;
22
+ /**
23
+ * Text for the confirm button.
24
+ * @default "Confirm"
25
+ */
7
26
  confirmText?: string;
27
+ /**
28
+ * Text for the cancel button.
29
+ * @default "Cancel"
30
+ */
8
31
  cancelText?: string;
32
+ /**
33
+ * Visual variant of the confirm button.
34
+ * @default "default"
35
+ */
9
36
  variant?: "danger" | "default";
37
+ /**
38
+ * Whether the confirm action is loading.
39
+ * @default false
40
+ */
10
41
  loading?: boolean;
11
42
  }
43
+ /**
44
+ * A pre-composed Dialog for confirmation actions.
45
+ */
12
46
  export declare function ConfirmDialog({ open, onClose, onConfirm, title, description, confirmText, cancelText, variant, loading, }: ConfirmDialogProps): import("react/jsx-runtime").JSX.Element;
13
47
  export {};
@@ -1,9 +1,23 @@
1
1
  import { ColumnDef, Column } from '@tanstack/react-table';
2
2
  interface DataTableProps<TData, TValue> {
3
+ /**
4
+ * Column definitions for the table.
5
+ */
3
6
  columns: ColumnDef<TData, TValue>[];
7
+ /**
8
+ * Data array to display.
9
+ */
4
10
  data: TData[];
11
+ /**
12
+ * Placeholder text for the global search input.
13
+ * @default "Search..."
14
+ */
5
15
  searchPlaceholder?: string;
6
16
  }
17
+ /**
18
+ * Advanced data table with sorting, filtering, selection, and pagination.
19
+ * Built on top of TanStack Table.
20
+ */
7
21
  export declare function DataTable<TData, TValue>({ columns, data, searchPlaceholder, }: DataTableProps<TData, TValue>): import("react/jsx-runtime").JSX.Element;
8
22
  export declare function DataTableColumnHeader<TData, TValue>({ column, title, }: {
9
23
  column: Column<TData, TValue>;
package/dist/Dialog.d.ts CHANGED
@@ -1,15 +1,44 @@
1
1
  import { ReactNode, HTMLAttributes } from 'react';
2
2
  type DialogSize = "sm" | "md" | "lg";
3
3
  interface DialogProps {
4
+ /**
5
+ * Whether the dialog is open.
6
+ */
4
7
  open: boolean;
8
+ /**
9
+ * Callback to close the dialog.
10
+ */
5
11
  onClose: () => void;
12
+ /**
13
+ * Size of the dialog.
14
+ * @default "md"
15
+ */
6
16
  size?: DialogSize;
7
17
  children: ReactNode;
8
18
  }
19
+ /**
20
+ * Modal dialog component.
21
+ * Uses native <dialog> element.
22
+ */
9
23
  declare function Dialog({ open, onClose, size, children }: DialogProps): import("react/jsx-runtime").JSX.Element;
24
+ /**
25
+ * Header section for the Dialog.
26
+ */
10
27
  declare const DialogHeader: import('react').ForwardRefExoticComponent<HTMLAttributes<HTMLDivElement> & import('react').RefAttributes<HTMLDivElement>>;
28
+ /**
29
+ * Footer section for the Dialog.
30
+ */
11
31
  declare const DialogFooter: import('react').ForwardRefExoticComponent<HTMLAttributes<HTMLDivElement> & import('react').RefAttributes<HTMLDivElement>>;
32
+ /**
33
+ * Title element for the Dialog.
34
+ */
12
35
  declare const DialogTitle: import('react').ForwardRefExoticComponent<HTMLAttributes<HTMLHeadingElement> & import('react').RefAttributes<HTMLHeadingElement>>;
36
+ /**
37
+ * Description element for the Dialog.
38
+ */
13
39
  declare const DialogDescription: import('react').ForwardRefExoticComponent<HTMLAttributes<HTMLParagraphElement> & import('react').RefAttributes<HTMLParagraphElement>>;
40
+ /**
41
+ * Close button for the Dialog.
42
+ */
14
43
  declare function DialogClose({ children, className, ...props }: HTMLAttributes<HTMLButtonElement>): import("react/jsx-runtime").JSX.Element;
15
44
  export { Dialog, DialogHeader, DialogFooter, DialogTitle, DialogDescription, DialogClose, type DialogProps, type DialogSize, };
@@ -2,16 +2,37 @@ import { ReactNode, HTMLAttributes } from 'react';
2
2
  interface DropdownProps {
3
3
  children: ReactNode;
4
4
  }
5
+ /**
6
+ * Dropdown menu container.
7
+ * Manages open/close state.
8
+ */
5
9
  declare function Dropdown({ children }: DropdownProps): import("react/jsx-runtime").JSX.Element;
10
+ /**
11
+ * Trigger button for the Dropdown.
12
+ */
6
13
  declare const DropdownTrigger: import('react').ForwardRefExoticComponent<HTMLAttributes<HTMLButtonElement> & import('react').RefAttributes<HTMLButtonElement>>;
7
14
  interface DropdownMenuProps extends HTMLAttributes<HTMLDivElement> {
15
+ /**
16
+ * Alignment of the menu relative to the trigger.
17
+ * @default "left"
18
+ */
8
19
  align?: "left" | "right";
9
20
  }
21
+ /**
22
+ * Content container for the Dropdown.
23
+ * Uses a portal to render outside the DOM hierarchy.
24
+ */
10
25
  declare function DropdownMenu({ align, className, children, ...props }: DropdownMenuProps): import('react').ReactPortal | null;
11
26
  interface DropdownItemProps extends HTMLAttributes<HTMLDivElement> {
12
27
  disabled?: boolean;
28
+ /**
29
+ * Whether the item represents a destructive action.
30
+ */
13
31
  destructive?: boolean;
14
32
  }
33
+ /**
34
+ * Individual interactive item in a DropdownMenu.
35
+ */
15
36
  declare const DropdownItem: import('react').ForwardRefExoticComponent<DropdownItemProps & import('react').RefAttributes<HTMLDivElement>>;
16
37
  declare function DropdownSeparator({ className }: {
17
38
  className?: string;
@@ -1,9 +1,24 @@
1
1
  import { HTMLAttributes, ReactNode } from 'react';
2
2
  interface EmptyStateProps extends HTMLAttributes<HTMLDivElement> {
3
+ /**
4
+ * Icon or illustration to display.
5
+ */
3
6
  icon?: ReactNode;
7
+ /**
8
+ * Main title text.
9
+ */
4
10
  title: string;
11
+ /**
12
+ * Helper description text.
13
+ */
5
14
  description?: string;
15
+ /**
16
+ * Optional action button or link.
17
+ */
6
18
  action?: ReactNode;
7
19
  }
20
+ /**
21
+ * Component for displaying empty states with an optional action.
22
+ */
8
23
  declare const EmptyState: import('react').ForwardRefExoticComponent<EmptyStateProps & import('react').RefAttributes<HTMLDivElement>>;
9
24
  export { EmptyState, type EmptyStateProps };
@@ -1,11 +1,33 @@
1
1
  import { ReactNode } from 'react';
2
2
  interface FormFieldProps {
3
+ /**
4
+ * Label text for the field.
5
+ */
3
6
  label?: string;
7
+ /**
8
+ * Error message or boolean indicating error state.
9
+ */
4
10
  error?: string | boolean;
11
+ /**
12
+ * Helper text description.
13
+ */
5
14
  description?: string;
15
+ /**
16
+ * The form control element (Input, Select, etc.).
17
+ */
6
18
  children: ReactNode;
19
+ /**
20
+ * Additional CSS classes.
21
+ */
7
22
  className?: string;
23
+ /**
24
+ * ID of the element the label is bound to.
25
+ * If not provided, a unique ID is generated.
26
+ */
8
27
  htmlFor?: string;
9
28
  }
29
+ /**
30
+ * Wrapper component for form controls that handles labels, error messages, and descriptions.
31
+ */
10
32
  export declare function FormField({ label, error, description, children, className, htmlFor, }: FormFieldProps): import("react/jsx-runtime").JSX.Element;
11
33
  export {};
package/dist/Input.d.ts CHANGED
@@ -1,6 +1,16 @@
1
1
  import { InputHTMLAttributes } from 'react';
2
2
  interface InputProps extends InputHTMLAttributes<HTMLInputElement> {
3
+ /**
4
+ * Error message to display below the input.
5
+ * If provided, the input border will turn red.
6
+ */
3
7
  error?: string;
4
8
  }
9
+ /**
10
+ * Text input component with built-in error handling and consistent styling.
11
+ *
12
+ * @example
13
+ * <Input placeholder="Enter your name" error={errors.name} />
14
+ */
5
15
  declare const Input: import('react').ForwardRefExoticComponent<InputProps & import('react').RefAttributes<HTMLInputElement>>;
6
16
  export { Input, type InputProps };
package/dist/Label.d.ts CHANGED
@@ -1,7 +1,20 @@
1
1
  import { LabelHTMLAttributes } from 'react';
2
2
  interface LabelProps extends LabelHTMLAttributes<HTMLLabelElement> {
3
+ /**
4
+ * Whether the field is required.
5
+ * Adds an asterisk or other indicator.
6
+ * @default false
7
+ */
3
8
  required?: boolean;
9
+ /**
10
+ * Whether the associated field has an error.
11
+ * Changes the label color to danger.
12
+ * @default false
13
+ */
4
14
  error?: boolean;
5
15
  }
16
+ /**
17
+ * Text label component for form inputs.
18
+ */
6
19
  declare const Label: import('react').ForwardRefExoticComponent<LabelProps & import('react').RefAttributes<HTMLLabelElement>>;
7
20
  export { Label, type LabelProps };
@@ -1,9 +1,25 @@
1
1
  import { HTMLAttributes } from 'react';
2
2
  interface PaginationProps extends HTMLAttributes<HTMLElement> {
3
+ /**
4
+ * The current page number (1-indexed).
5
+ */
3
6
  page: number;
7
+ /**
8
+ * Total number of pages.
9
+ */
4
10
  totalPages: number;
11
+ /**
12
+ * Callback when the page changes.
13
+ */
5
14
  onPageChange: (page: number) => void;
15
+ /**
16
+ * Number of sibling pages to show around the current page.
17
+ * @default 1
18
+ */
6
19
  siblingCount?: number;
7
20
  }
21
+ /**
22
+ * Pagination control for data lists.
23
+ */
8
24
  declare function Pagination({ page, totalPages, onPageChange, siblingCount, className, ...props }: PaginationProps): import("react/jsx-runtime").JSX.Element;
9
25
  export { Pagination, type PaginationProps };