trust-ui-react 0.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (57) hide show
  1. package/README.md +654 -0
  2. package/dist/components/Avatar/Avatar.d.ts +17 -0
  3. package/dist/components/Avatar/index.d.ts +2 -0
  4. package/dist/components/Badge/Badge.d.ts +16 -0
  5. package/dist/components/Badge/index.d.ts +2 -0
  6. package/dist/components/Button/Button.d.ts +18 -0
  7. package/dist/components/Button/index.d.ts +2 -0
  8. package/dist/components/Checkbox/Checkbox.d.ts +22 -0
  9. package/dist/components/Checkbox/index.d.ts +2 -0
  10. package/dist/components/Chip/Chip.d.ts +22 -0
  11. package/dist/components/Chip/index.d.ts +2 -0
  12. package/dist/components/DatePicker/Calendar.d.ts +20 -0
  13. package/dist/components/DatePicker/DatePicker.d.ts +36 -0
  14. package/dist/components/DatePicker/index.d.ts +4 -0
  15. package/dist/components/DatePicker/utils.d.ts +20 -0
  16. package/dist/components/DateRangePicker/DateRangePicker.d.ts +45 -0
  17. package/dist/components/DateRangePicker/index.d.ts +2 -0
  18. package/dist/components/Dialog/Dialog.d.ts +59 -0
  19. package/dist/components/Dialog/index.d.ts +2 -0
  20. package/dist/components/Expander/Expander.d.ts +63 -0
  21. package/dist/components/Expander/index.d.ts +2 -0
  22. package/dist/components/Menu/Menu.d.ts +60 -0
  23. package/dist/components/Menu/index.d.ts +2 -0
  24. package/dist/components/Pagination/Pagination.d.ts +25 -0
  25. package/dist/components/Pagination/index.d.ts +2 -0
  26. package/dist/components/Progress/Progress.d.ts +17 -0
  27. package/dist/components/Progress/index.d.ts +2 -0
  28. package/dist/components/Radio/Radio.d.ts +14 -0
  29. package/dist/components/Radio/RadioContext.d.ts +9 -0
  30. package/dist/components/Radio/RadioGroup.d.ts +27 -0
  31. package/dist/components/Radio/index.d.ts +4 -0
  32. package/dist/components/Select/Select.d.ts +38 -0
  33. package/dist/components/Select/index.d.ts +2 -0
  34. package/dist/components/Slider/Slider.d.ts +27 -0
  35. package/dist/components/Slider/index.d.ts +2 -0
  36. package/dist/components/Switch/Switch.d.ts +21 -0
  37. package/dist/components/Switch/index.d.ts +2 -0
  38. package/dist/components/Table/Table.d.ts +43 -0
  39. package/dist/components/Table/index.d.ts +2 -0
  40. package/dist/components/Tabs/Tabs.d.ts +63 -0
  41. package/dist/components/Tabs/index.d.ts +2 -0
  42. package/dist/components/TextField/TextField.d.ts +46 -0
  43. package/dist/components/TextField/formatters.d.ts +31 -0
  44. package/dist/components/TextField/index.d.ts +2 -0
  45. package/dist/components/Toast/Toast.d.ts +24 -0
  46. package/dist/components/Toast/index.d.ts +2 -0
  47. package/dist/components/Tooltip/Tooltip.d.ts +21 -0
  48. package/dist/components/Tooltip/index.d.ts +2 -0
  49. package/dist/hooks/useTheme.d.ts +2 -0
  50. package/dist/hooks/useToast.d.ts +2 -0
  51. package/dist/index.cjs.js +1 -0
  52. package/dist/index.d.ts +51 -0
  53. package/dist/index.es.js +3029 -0
  54. package/dist/providers/ThemeProvider.d.ts +14 -0
  55. package/dist/providers/ToastProvider.d.ts +24 -0
  56. package/dist/styles.css +1 -0
  57. package/package.json +56 -0
@@ -0,0 +1,18 @@
1
+ import { ButtonHTMLAttributes, ReactNode } from 'react';
2
+ export interface ButtonProps extends ButtonHTMLAttributes<HTMLButtonElement> {
3
+ /** Visual style variant */
4
+ variant?: 'primary' | 'secondary' | 'outline' | 'ghost' | 'danger';
5
+ /** Size of the button */
6
+ size?: 'sm' | 'md' | 'lg';
7
+ /** Shape of the button */
8
+ shape?: 'square' | 'rounded' | 'pill';
9
+ /** Shows a spinner and disables the button */
10
+ loading?: boolean;
11
+ /** Icon placed before the children */
12
+ startIcon?: ReactNode;
13
+ /** Icon placed after the children */
14
+ endIcon?: ReactNode;
15
+ /** Stretches the button to fill its container */
16
+ fullWidth?: boolean;
17
+ }
18
+ export declare const Button: import('react').ForwardRefExoticComponent<ButtonProps & import('react').RefAttributes<HTMLButtonElement>>;
@@ -0,0 +1,2 @@
1
+ export { Button } from './Button';
2
+ export type { ButtonProps } from './Button';
@@ -0,0 +1,22 @@
1
+ import { InputHTMLAttributes } from 'react';
2
+ export interface CheckboxProps extends Omit<InputHTMLAttributes<HTMLInputElement>, 'type' | 'size'> {
3
+ /** Whether the checkbox is checked (controlled) */
4
+ checked?: boolean;
5
+ /** Initial checked state (uncontrolled) */
6
+ defaultChecked?: boolean;
7
+ /** Whether the checkbox shows an indeterminate state */
8
+ indeterminate?: boolean;
9
+ /** Change handler */
10
+ onChange?: (e: React.ChangeEvent<HTMLInputElement>) => void;
11
+ /** Color variant */
12
+ variant?: 'primary' | 'secondary';
13
+ /** Text label */
14
+ label?: string;
15
+ /** Whether the checkbox is disabled */
16
+ disabled?: boolean;
17
+ /** Additional CSS class */
18
+ className?: string;
19
+ /** Inline styles */
20
+ style?: React.CSSProperties;
21
+ }
22
+ export declare const Checkbox: import('react').ForwardRefExoticComponent<CheckboxProps & import('react').RefAttributes<HTMLInputElement>>;
@@ -0,0 +1,2 @@
1
+ export { Checkbox } from './Checkbox';
2
+ export type { CheckboxProps } from './Checkbox';
@@ -0,0 +1,22 @@
1
+ import { ReactNode } from 'react';
2
+ export interface ChipProps {
3
+ /** Visual style variant */
4
+ variant?: 'filled' | 'outlined';
5
+ /** Color scheme */
6
+ color?: 'primary' | 'secondary' | 'success' | 'danger';
7
+ /** Size of the chip */
8
+ size?: 'sm' | 'md';
9
+ /** Callback when the delete icon is clicked; shows the delete button when provided */
10
+ onDelete?: () => void;
11
+ /** Makes the chip clickable */
12
+ onClick?: () => void;
13
+ /** Icon placed before the label */
14
+ startIcon?: ReactNode;
15
+ /** Chip label content */
16
+ children: ReactNode;
17
+ /** Additional CSS class */
18
+ className?: string;
19
+ /** Inline styles */
20
+ style?: React.CSSProperties;
21
+ }
22
+ export declare function Chip({ variant, color, size, onDelete, onClick, startIcon, children, className, style, }: ChipProps): import("react/jsx-runtime").JSX.Element;
@@ -0,0 +1,2 @@
1
+ export { Chip } from './Chip';
2
+ export type { ChipProps } from './Chip';
@@ -0,0 +1,20 @@
1
+ export interface CalendarProps {
2
+ currentMonth: number;
3
+ currentYear: number;
4
+ selectedDate?: Date | null;
5
+ selectedRange?: {
6
+ start: Date | null;
7
+ end: Date | null;
8
+ };
9
+ hoverDate?: Date | null;
10
+ minDate?: Date;
11
+ maxDate?: Date;
12
+ onDateClick: (date: Date) => void;
13
+ onDateHover?: (date: Date) => void;
14
+ locale?: string;
15
+ className?: string;
16
+ }
17
+ export declare function Calendar({ currentMonth, currentYear, selectedDate, selectedRange, hoverDate, minDate, maxDate, onDateClick, onDateHover, locale, className, }: CalendarProps): import("react/jsx-runtime").JSX.Element;
18
+ export declare namespace Calendar {
19
+ var displayName: string;
20
+ }
@@ -0,0 +1,36 @@
1
+ import { CSSProperties } from 'react';
2
+ export interface DatePickerProps {
3
+ /** Controlled selected date */
4
+ value?: Date | null;
5
+ /** Default selected date (uncontrolled) */
6
+ defaultValue?: Date | null;
7
+ /** Callback when date changes */
8
+ onChange?: (date: Date | null) => void;
9
+ /** Placeholder text */
10
+ placeholder?: string;
11
+ /** Visual variant */
12
+ variant?: 'outlined' | 'filled';
13
+ /** Size */
14
+ size?: 'sm' | 'md' | 'lg';
15
+ /** Locale for day/month labels (default: 'ko-KR') */
16
+ locale?: string;
17
+ /** Date format string (default: 'yyyy.MM.dd') */
18
+ dateFormat?: string;
19
+ /** Minimum selectable date */
20
+ minDate?: Date;
21
+ /** Maximum selectable date */
22
+ maxDate?: Date;
23
+ /** Disabled state */
24
+ disabled?: boolean;
25
+ /** Error state */
26
+ error?: boolean;
27
+ /** Error message */
28
+ errorMessage?: string;
29
+ /** Label displayed above the input */
30
+ label?: string;
31
+ /** Additional CSS class */
32
+ className?: string;
33
+ /** Inline styles */
34
+ style?: CSSProperties;
35
+ }
36
+ export declare const DatePicker: import('react').ForwardRefExoticComponent<DatePickerProps & import('react').RefAttributes<HTMLDivElement>>;
@@ -0,0 +1,4 @@
1
+ export { DatePicker } from './DatePicker';
2
+ export type { DatePickerProps } from './DatePicker';
3
+ export { Calendar } from './Calendar';
4
+ export type { CalendarProps } from './Calendar';
@@ -0,0 +1,20 @@
1
+ /**
2
+ * Pure date utility functions (no external library dependency).
3
+ */
4
+ export declare function getDaysInMonth(year: number, month: number): number;
5
+ export declare function getFirstDayOfWeek(year: number, month: number): number;
6
+ export declare function formatDate(date: Date, format: string): string;
7
+ export declare function parseDate(str: string, format: string): Date | null;
8
+ export declare function isSameDay(a: Date, b: Date): boolean;
9
+ export declare function isDateInRange(date: Date, min?: Date, max?: Date): boolean;
10
+ export interface CalendarDay {
11
+ date: Date;
12
+ isCurrentMonth: boolean;
13
+ }
14
+ export declare function getCalendarDays(year: number, month: number): CalendarDay[];
15
+ /** Returns short day-of-week labels based on locale */
16
+ export declare function getDayLabels(locale: string): string[];
17
+ /** Returns month name for display */
18
+ export declare function getMonthLabel(month: number, locale: string): string;
19
+ /** Check if a date falls between start and end (inclusive) */
20
+ export declare function isDateBetween(date: Date, start: Date, end: Date): boolean;
@@ -0,0 +1,45 @@
1
+ import { CSSProperties } from 'react';
2
+ export interface DateRange {
3
+ start: Date | null;
4
+ end: Date | null;
5
+ }
6
+ export interface DateRangePickerProps {
7
+ /** Controlled selected range */
8
+ value?: DateRange;
9
+ /** Default selected range (uncontrolled) */
10
+ defaultValue?: DateRange;
11
+ /** Callback when range changes */
12
+ onChange?: (range: DateRange) => void;
13
+ /** Placeholder text */
14
+ placeholder?: string;
15
+ /** Visual variant */
16
+ variant?: 'outlined' | 'filled';
17
+ /** Size */
18
+ size?: 'sm' | 'md' | 'lg';
19
+ /** Locale for day/month labels */
20
+ locale?: string;
21
+ /** Date format string */
22
+ dateFormat?: string;
23
+ /** Minimum selectable date */
24
+ minDate?: Date;
25
+ /** Maximum selectable date */
26
+ maxDate?: Date;
27
+ /** Disabled state */
28
+ disabled?: boolean;
29
+ /** Error state */
30
+ error?: boolean;
31
+ /** Error message */
32
+ errorMessage?: string;
33
+ /** Label displayed above the input */
34
+ label?: string;
35
+ /** Preset ranges */
36
+ presets?: Array<{
37
+ label: string;
38
+ range: DateRange;
39
+ }>;
40
+ /** Additional CSS class */
41
+ className?: string;
42
+ /** Inline styles */
43
+ style?: CSSProperties;
44
+ }
45
+ export declare const DateRangePicker: import('react').ForwardRefExoticComponent<DateRangePickerProps & import('react').RefAttributes<HTMLDivElement>>;
@@ -0,0 +1,2 @@
1
+ export { DateRangePicker } from './DateRangePicker';
2
+ export type { DateRangePickerProps, DateRange } from './DateRangePicker';
@@ -0,0 +1,59 @@
1
+ import { CSSProperties, HTMLAttributes, ReactNode } from 'react';
2
+ export interface DialogProps {
3
+ /** Whether the dialog is open */
4
+ open: boolean;
5
+ /** Callback when the dialog should close */
6
+ onClose: () => void;
7
+ /** Size preset (default: 'md') */
8
+ size?: 'sm' | 'md' | 'lg' | 'fullscreen';
9
+ /** Close when backdrop is clicked (default: true) */
10
+ closeOnBackdrop?: boolean;
11
+ /** Close when Escape key is pressed (default: true) */
12
+ closeOnEscape?: boolean;
13
+ /** Additional CSS class name */
14
+ className?: string;
15
+ /** Additional inline styles */
16
+ style?: CSSProperties;
17
+ /** Dialog content */
18
+ children: ReactNode;
19
+ }
20
+ interface DialogTitleProps extends HTMLAttributes<HTMLHeadingElement> {
21
+ /** Show close button (default: true) */
22
+ showClose?: boolean;
23
+ /** Close handler - called when close button is clicked */
24
+ onClose?: () => void;
25
+ /** Additional CSS class name */
26
+ className?: string;
27
+ /** Children */
28
+ children: ReactNode;
29
+ }
30
+ declare function DialogTitle({ showClose, onClose, className, children, ...rest }: DialogTitleProps): import("react/jsx-runtime").JSX.Element;
31
+ declare namespace DialogTitle {
32
+ var displayName: string;
33
+ }
34
+ interface DialogContentProps extends HTMLAttributes<HTMLDivElement> {
35
+ /** Additional CSS class name */
36
+ className?: string;
37
+ /** Children */
38
+ children: ReactNode;
39
+ }
40
+ declare function DialogContent({ className, children, ...rest }: DialogContentProps): import("react/jsx-runtime").JSX.Element;
41
+ declare namespace DialogContent {
42
+ var displayName: string;
43
+ }
44
+ interface DialogActionsProps extends HTMLAttributes<HTMLDivElement> {
45
+ /** Additional CSS class name */
46
+ className?: string;
47
+ /** Children */
48
+ children: ReactNode;
49
+ }
50
+ declare function DialogActions({ className, children, ...rest }: DialogActionsProps): import("react/jsx-runtime").JSX.Element;
51
+ declare namespace DialogActions {
52
+ var displayName: string;
53
+ }
54
+ export declare const Dialog: import('react').ForwardRefExoticComponent<DialogProps & import('react').RefAttributes<HTMLDialogElement>> & {
55
+ Title: typeof DialogTitle;
56
+ Content: typeof DialogContent;
57
+ Actions: typeof DialogActions;
58
+ };
59
+ export {};
@@ -0,0 +1,2 @@
1
+ export { Dialog } from './Dialog';
2
+ export type { DialogProps } from './Dialog';
@@ -0,0 +1,63 @@
1
+ import { CSSProperties, ReactNode } from 'react';
2
+ export interface ExpanderProps {
3
+ /** Single (accordion) or multiple items open at once */
4
+ type?: 'single' | 'multiple';
5
+ /** Initially open item(s) (uncontrolled) */
6
+ defaultValue?: string | string[];
7
+ /** Controlled open item(s) */
8
+ value?: string | string[];
9
+ /** Callback when open items change */
10
+ onChange?: (value: string | string[]) => void;
11
+ /** Visual variant */
12
+ variant?: 'default' | 'bordered' | 'separated';
13
+ /** Children */
14
+ children: ReactNode;
15
+ /** Additional CSS class */
16
+ className?: string;
17
+ /** Inline styles */
18
+ style?: CSSProperties;
19
+ }
20
+ declare function ExpanderRoot({ type, defaultValue, value: controlledValue, onChange, variant, children, className, style, }: ExpanderProps): import("react/jsx-runtime").JSX.Element;
21
+ declare namespace ExpanderRoot {
22
+ var displayName: string;
23
+ }
24
+ interface ExpanderItemProps {
25
+ /** Unique value identifying this item */
26
+ value: string;
27
+ /** Disabled state */
28
+ disabled?: boolean;
29
+ /** Additional CSS class */
30
+ className?: string;
31
+ /** Children (Trigger + Content) */
32
+ children: ReactNode;
33
+ }
34
+ declare function ExpanderItem({ value, disabled, className, children, }: ExpanderItemProps): import("react/jsx-runtime").JSX.Element;
35
+ declare namespace ExpanderItem {
36
+ var displayName: string;
37
+ }
38
+ interface ExpanderTriggerProps {
39
+ /** Trigger label */
40
+ children: ReactNode;
41
+ /** Additional CSS class */
42
+ className?: string;
43
+ }
44
+ declare function ExpanderTrigger({ children, className }: ExpanderTriggerProps): import("react/jsx-runtime").JSX.Element;
45
+ declare namespace ExpanderTrigger {
46
+ var displayName: string;
47
+ }
48
+ interface ExpanderContentProps {
49
+ /** Content */
50
+ children: ReactNode;
51
+ /** Additional CSS class */
52
+ className?: string;
53
+ }
54
+ declare function ExpanderContent({ children, className }: ExpanderContentProps): import("react/jsx-runtime").JSX.Element;
55
+ declare namespace ExpanderContent {
56
+ var displayName: string;
57
+ }
58
+ export declare const Expander: typeof ExpanderRoot & {
59
+ Item: typeof ExpanderItem;
60
+ Trigger: typeof ExpanderTrigger;
61
+ Content: typeof ExpanderContent;
62
+ };
63
+ export {};
@@ -0,0 +1,2 @@
1
+ export { Expander } from './Expander';
2
+ export type { ExpanderProps } from './Expander';
@@ -0,0 +1,60 @@
1
+ import { CSSProperties, ReactElement, ReactNode } from 'react';
2
+ export interface MenuProps {
3
+ /** Menu children (Trigger, Content) */
4
+ children: ReactNode;
5
+ }
6
+ declare function MenuRoot({ children }: MenuProps): import("react/jsx-runtime").JSX.Element;
7
+ declare namespace MenuRoot {
8
+ var displayName: string;
9
+ }
10
+ interface MenuTriggerProps {
11
+ /** Trigger element */
12
+ children: ReactElement;
13
+ }
14
+ declare function MenuTrigger({ children }: MenuTriggerProps): ReactElement<unknown, string | import('react').JSXElementConstructor<any>>;
15
+ declare namespace MenuTrigger {
16
+ var displayName: string;
17
+ }
18
+ interface MenuContentProps {
19
+ /** Additional CSS class name */
20
+ className?: string;
21
+ /** Additional inline styles */
22
+ style?: CSSProperties;
23
+ /** Alignment relative to trigger (default: 'start') */
24
+ align?: 'start' | 'end';
25
+ /** Content children (MenuItem, MenuDivider) */
26
+ children: ReactNode;
27
+ }
28
+ declare function MenuContent({ className, style, align, children, }: MenuContentProps): import('react').ReactPortal | null;
29
+ declare namespace MenuContent {
30
+ var displayName: string;
31
+ }
32
+ export interface MenuItemProps {
33
+ /** Click handler */
34
+ onClick?: () => void;
35
+ /** Whether the item is disabled */
36
+ disabled?: boolean;
37
+ /** Render as a destructive action (red) */
38
+ danger?: boolean;
39
+ /** Icon before the label */
40
+ startIcon?: ReactNode;
41
+ /** Item content */
42
+ children: ReactNode;
43
+ /** Additional CSS class name */
44
+ className?: string;
45
+ }
46
+ declare function MenuItem({ onClick, disabled, danger, startIcon, children, className, }: MenuItemProps): import("react/jsx-runtime").JSX.Element;
47
+ declare namespace MenuItem {
48
+ var displayName: string;
49
+ }
50
+ declare function MenuDivider(): import("react/jsx-runtime").JSX.Element;
51
+ declare namespace MenuDivider {
52
+ var displayName: string;
53
+ }
54
+ export declare const Menu: typeof MenuRoot & {
55
+ Trigger: typeof MenuTrigger;
56
+ Content: typeof MenuContent;
57
+ Item: typeof MenuItem;
58
+ Divider: typeof MenuDivider;
59
+ };
60
+ export {};
@@ -0,0 +1,2 @@
1
+ export { Menu } from './Menu';
2
+ export type { MenuProps, MenuItemProps } from './Menu';
@@ -0,0 +1,25 @@
1
+ import { CSSProperties } from 'react';
2
+ export interface PaginationProps {
3
+ /** Total number of pages */
4
+ totalPages: number;
5
+ /** Currently active page (1-indexed) */
6
+ currentPage: number;
7
+ /** Callback when page changes */
8
+ onChange: (page: number) => void;
9
+ /** Number of sibling pages to show around current (default: 1) */
10
+ siblingCount?: number;
11
+ /** Visual variant (default: 'default') */
12
+ variant?: 'default' | 'simple';
13
+ /** Size preset (default: 'md') */
14
+ size?: 'sm' | 'md' | 'lg';
15
+ /** Disable all pagination controls */
16
+ disabled?: boolean;
17
+ /** Additional CSS class name */
18
+ className?: string;
19
+ /** Additional inline styles */
20
+ style?: CSSProperties;
21
+ }
22
+ export declare function Pagination({ totalPages, currentPage, onChange, siblingCount, variant, size, disabled, className, style, }: PaginationProps): import("react/jsx-runtime").JSX.Element;
23
+ export declare namespace Pagination {
24
+ var displayName: string;
25
+ }
@@ -0,0 +1,2 @@
1
+ export { Pagination } from './Pagination';
2
+ export type { PaginationProps } from './Pagination';
@@ -0,0 +1,17 @@
1
+ export interface ProgressProps {
2
+ /** Current progress value (0-100) */
3
+ value?: number;
4
+ /** Color variant */
5
+ variant?: 'primary' | 'secondary' | 'success' | 'danger';
6
+ /** Height of the progress bar */
7
+ size?: 'sm' | 'md' | 'lg';
8
+ /** Shows an animated indeterminate loading bar */
9
+ indeterminate?: boolean;
10
+ /** Shows the percentage label */
11
+ showLabel?: boolean;
12
+ /** Additional CSS class */
13
+ className?: string;
14
+ /** Inline styles */
15
+ style?: React.CSSProperties;
16
+ }
17
+ export declare function Progress({ value, variant, size, indeterminate, showLabel, className, style, }: ProgressProps): import("react/jsx-runtime").JSX.Element;
@@ -0,0 +1,2 @@
1
+ export { Progress } from './Progress';
2
+ export type { ProgressProps } from './Progress';
@@ -0,0 +1,14 @@
1
+ import { InputHTMLAttributes } from 'react';
2
+ export interface RadioProps extends Omit<InputHTMLAttributes<HTMLInputElement>, 'type' | 'size'> {
3
+ /** Value of this radio option */
4
+ value: string;
5
+ /** Text label */
6
+ label?: string;
7
+ /** Whether the radio is disabled */
8
+ disabled?: boolean;
9
+ /** Additional CSS class */
10
+ className?: string;
11
+ /** Inline styles */
12
+ style?: React.CSSProperties;
13
+ }
14
+ export declare const Radio: import('react').ForwardRefExoticComponent<RadioProps & import('react').RefAttributes<HTMLInputElement>>;
@@ -0,0 +1,9 @@
1
+ export interface RadioGroupContextValue {
2
+ name: string;
3
+ value?: string;
4
+ variant: 'primary' | 'secondary';
5
+ disabled?: boolean;
6
+ onChange?: (value: string) => void;
7
+ }
8
+ export declare const RadioGroupContext: import('react').Context<RadioGroupContextValue | null>;
9
+ export declare function useRadioGroup(): RadioGroupContextValue | null;
@@ -0,0 +1,27 @@
1
+ import { ReactNode } from 'react';
2
+ export interface RadioGroupProps {
3
+ /** Name attribute for all radios in this group */
4
+ name: string;
5
+ /** Controlled selected value */
6
+ value?: string;
7
+ /** Default selected value (uncontrolled) */
8
+ defaultValue?: string;
9
+ /** Callback when the selected value changes */
10
+ onChange?: (value: string) => void;
11
+ /** Color variant */
12
+ variant?: 'primary' | 'secondary';
13
+ /** Layout direction */
14
+ direction?: 'horizontal' | 'vertical';
15
+ /** Whether all radios are disabled */
16
+ disabled?: boolean;
17
+ /** Radio elements */
18
+ children: ReactNode;
19
+ /** Additional CSS class */
20
+ className?: string;
21
+ /** Inline styles */
22
+ style?: React.CSSProperties;
23
+ }
24
+ export declare function RadioGroup({ name, value: controlledValue, defaultValue, onChange, variant, direction, disabled, children, className, style, }: RadioGroupProps): import("react/jsx-runtime").JSX.Element;
25
+ export declare namespace RadioGroup {
26
+ var displayName: string;
27
+ }
@@ -0,0 +1,4 @@
1
+ export { Radio } from './Radio';
2
+ export type { RadioProps } from './Radio';
3
+ export { RadioGroup } from './RadioGroup';
4
+ export type { RadioGroupProps } from './RadioGroup';
@@ -0,0 +1,38 @@
1
+ export interface SelectOption {
2
+ value: string;
3
+ label: string;
4
+ disabled?: boolean;
5
+ }
6
+ export interface SelectProps {
7
+ /** Available options */
8
+ options: SelectOption[];
9
+ /** Controlled value (string for single, string[] for multi) */
10
+ value?: string | string[];
11
+ /** Default value (uncontrolled) */
12
+ defaultValue?: string | string[];
13
+ /** Change callback */
14
+ onChange?: (value: string | string[]) => void;
15
+ /** Placeholder text */
16
+ placeholder?: string;
17
+ /** Visual variant */
18
+ variant?: 'outlined' | 'filled';
19
+ /** Size */
20
+ size?: 'sm' | 'md' | 'lg';
21
+ /** Enable search/filter */
22
+ searchable?: boolean;
23
+ /** Enable multi-select */
24
+ multiple?: boolean;
25
+ /** Whether the select is disabled */
26
+ disabled?: boolean;
27
+ /** Whether the field is in error state */
28
+ error?: boolean;
29
+ /** Error message */
30
+ errorMessage?: string;
31
+ /** Stretches to fill container */
32
+ fullWidth?: boolean;
33
+ /** Additional CSS class */
34
+ className?: string;
35
+ /** Inline styles */
36
+ style?: React.CSSProperties;
37
+ }
38
+ export declare const Select: import('react').ForwardRefExoticComponent<SelectProps & import('react').RefAttributes<HTMLDivElement>>;
@@ -0,0 +1,2 @@
1
+ export { Select } from './Select';
2
+ export type { SelectProps, SelectOption } from './Select';
@@ -0,0 +1,27 @@
1
+ export interface SliderProps {
2
+ /** Controlled value */
3
+ value?: number;
4
+ /** Default value (uncontrolled) */
5
+ defaultValue?: number;
6
+ /** Minimum value */
7
+ min?: number;
8
+ /** Maximum value */
9
+ max?: number;
10
+ /** Step increment */
11
+ step?: number;
12
+ /** Change callback */
13
+ onChange?: (value: number) => void;
14
+ /** Color variant */
15
+ variant?: 'primary' | 'secondary';
16
+ /** Size */
17
+ size?: 'sm' | 'md' | 'lg';
18
+ /** Show the current value label */
19
+ showValue?: boolean;
20
+ /** Whether the slider is disabled */
21
+ disabled?: boolean;
22
+ /** Additional CSS class */
23
+ className?: string;
24
+ /** Inline styles */
25
+ style?: React.CSSProperties;
26
+ }
27
+ export declare const Slider: import('react').ForwardRefExoticComponent<SliderProps & import('react').RefAttributes<HTMLInputElement>>;
@@ -0,0 +1,2 @@
1
+ export { Slider } from './Slider';
2
+ export type { SliderProps } from './Slider';
@@ -0,0 +1,21 @@
1
+ export interface SwitchProps {
2
+ /** Whether the switch is on (controlled) */
3
+ checked?: boolean;
4
+ /** Initial state (uncontrolled) */
5
+ defaultChecked?: boolean;
6
+ /** Callback when the switch is toggled */
7
+ onChange?: (checked: boolean) => void;
8
+ /** Color variant */
9
+ variant?: 'primary' | 'secondary';
10
+ /** Size of the switch */
11
+ size?: 'sm' | 'md' | 'lg';
12
+ /** Text label */
13
+ label?: string;
14
+ /** Whether the switch is disabled */
15
+ disabled?: boolean;
16
+ /** Additional CSS class */
17
+ className?: string;
18
+ /** Inline styles */
19
+ style?: React.CSSProperties;
20
+ }
21
+ export declare const Switch: import('react').ForwardRefExoticComponent<SwitchProps & import('react').RefAttributes<HTMLButtonElement>>;
@@ -0,0 +1,2 @@
1
+ export { Switch } from './Switch';
2
+ export type { SwitchProps } from './Switch';