@crisellevaldez/speculo-ui 0.7.45

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 (56) hide show
  1. package/README.md +134 -0
  2. package/dist/App.d.ts +2 -0
  3. package/dist/components/Accordion/Accordion.d.ts +20 -0
  4. package/dist/components/Alert/Alert.d.ts +8 -0
  5. package/dist/components/Badge/Badge.d.ts +7 -0
  6. package/dist/components/Button/Button.d.ts +8 -0
  7. package/dist/components/Calendar/Calendar.d.ts +15 -0
  8. package/dist/components/Checkbox/Checkbox.d.ts +15 -0
  9. package/dist/components/ComboBox/ComboBox.d.ts +21 -0
  10. package/dist/components/Container/Container.d.ts +8 -0
  11. package/dist/components/DatePicker/DatePicker.d.ts +16 -0
  12. package/dist/components/DateRangePicker/DateRangePicker.d.ts +23 -0
  13. package/dist/components/Drawer/Drawer.d.ts +35 -0
  14. package/dist/components/DualDateRangePicker/DualCalendar.d.ts +18 -0
  15. package/dist/components/DualDateRangePicker/DualDateRangePicker.d.ts +25 -0
  16. package/dist/components/DualDateRangePicker/useFloatingPosition.d.ts +10 -0
  17. package/dist/components/FirebaseTest/FirebaseTest.d.ts +1 -0
  18. package/dist/components/Form/Form.d.ts +29 -0
  19. package/dist/components/HoverCard/HoverCard.d.ts +11 -0
  20. package/dist/components/Input/Input.d.ts +13 -0
  21. package/dist/components/Loading/Loading.d.ts +5 -0
  22. package/dist/components/Modal/Modal.d.ts +45 -0
  23. package/dist/components/Pagination/Pagination.d.ts +12 -0
  24. package/dist/components/PhoneNumber/PhoneNumber.d.ts +12 -0
  25. package/dist/components/Progress/Progress.d.ts +11 -0
  26. package/dist/components/Radio/Radio.d.ts +17 -0
  27. package/dist/components/Select/Select.d.ts +24 -0
  28. package/dist/components/Sidebar/Sidebar.d.ts +16 -0
  29. package/dist/components/Switch/Switch.d.ts +7 -0
  30. package/dist/components/Table/Table.d.ts +33 -0
  31. package/dist/components/Tabs/Tabs.d.ts +32 -0
  32. package/dist/components/Textarea/Textarea.d.ts +11 -0
  33. package/dist/components/TimePicker/TimePicker.d.ts +16 -0
  34. package/dist/components/Toast/Toast.d.ts +22 -0
  35. package/dist/components/Typography/Typography.d.ts +9 -0
  36. package/dist/docs/components/ButtonDocs.d.ts +1 -0
  37. package/dist/docs/layout/Layout.d.ts +1 -0
  38. package/dist/docs/pages/examples/Playground.d.ts +2 -0
  39. package/dist/docs/pages/examples/components/BasicComponentsGroup.d.ts +1 -0
  40. package/dist/docs/pages/examples/components/DataComponentsGroup.d.ts +1 -0
  41. package/dist/docs/pages/examples/components/FormComponentsGroup.d.ts +1 -0
  42. package/dist/docs/pages/examples/components/LayoutComponentsGroup.d.ts +1 -0
  43. package/dist/docs/pages/examples/components/MiscComponentsGroup.d.ts +1 -0
  44. package/dist/index.d.ts +34 -0
  45. package/dist/index.html +89 -0
  46. package/dist/lib/firebase.d.ts +3 -0
  47. package/dist/main.d.ts +1 -0
  48. package/dist/speculo-ui.cjs +148 -0
  49. package/dist/speculo-ui.cjs.map +1 -0
  50. package/dist/speculo-ui.mjs +12620 -0
  51. package/dist/speculo-ui.mjs.map +1 -0
  52. package/dist/speculo.ai-white.png +0 -0
  53. package/dist/styles.css +1 -0
  54. package/dist/utils/cn.d.ts +3 -0
  55. package/package.json +81 -0
  56. package/tailwind.preset.cjs +220 -0
package/README.md ADDED
@@ -0,0 +1,134 @@
1
+ # Speculo UI
2
+
3
+ A modern React component library built with TypeScript and Tailwind CSS.
4
+
5
+ ## Installation
6
+
7
+ 1. Create `.npmrc` in your project root:
8
+
9
+ ```
10
+ @crisellevaldez:registry=https://npm.pkg.github.com
11
+ //npm.pkg.github.com/:_authToken=YOUR_GITHUB_TOKEN
12
+ ```
13
+
14
+ 2. Install the package:
15
+
16
+ ```bash
17
+ npm install @crisellevaldez/speculo-ui
18
+ ```
19
+
20
+ 3. Add to your `tailwind.config.js`:
21
+
22
+ ```js
23
+ /** @type {import('tailwindcss').Config} */
24
+ export default {
25
+ content: [
26
+ // ... your other content paths
27
+ "./node_modules/@crisellevaldez/speculo-ui/dist/**/*.{js,ts,jsx,tsx}",
28
+ ],
29
+ theme: {
30
+ extend: {
31
+ colors: {
32
+ background: "hsl(var(--background))",
33
+ foreground: "hsl(var(--foreground))",
34
+ primary: {
35
+ DEFAULT: "hsl(var(--primary))",
36
+ foreground: "hsl(var(--primary-foreground))",
37
+ },
38
+ secondary: {
39
+ DEFAULT: "hsl(var(--secondary))",
40
+ foreground: "hsl(var(--secondary-foreground))",
41
+ },
42
+ destructive: {
43
+ DEFAULT: "hsl(var(--destructive))",
44
+ foreground: "hsl(var(--destructive-foreground))",
45
+ },
46
+ muted: {
47
+ DEFAULT: "hsl(var(--muted))",
48
+ foreground: "hsl(var(--muted-foreground))",
49
+ },
50
+ accent: {
51
+ DEFAULT: "hsl(var(--accent))",
52
+ foreground: "hsl(var(--accent-foreground))",
53
+ },
54
+ popover: {
55
+ DEFAULT: "hsl(var(--popover))",
56
+ foreground: "hsl(var(--popover-foreground))",
57
+ },
58
+ card: {
59
+ DEFAULT: "hsl(var(--card))",
60
+ foreground: "hsl(var(--card-foreground))",
61
+ },
62
+ border: "hsl(var(--border))",
63
+ input: "hsl(var(--input))",
64
+ ring: "hsl(var(--ring))",
65
+ },
66
+ borderRadius: {
67
+ lg: "var(--radius)",
68
+ md: "calc(var(--radius) - 2px)",
69
+ sm: "calc(var(--radius) - 4px)",
70
+ },
71
+ },
72
+ },
73
+ };
74
+ ```
75
+
76
+ 4. **Important**: Import the required styles in your main CSS file (e.g., app.css or globals.css):
77
+
78
+ ```css
79
+ @import "@crisellevaldez/speculo-ui/styles.css";
80
+ ```
81
+
82
+ This import provides:
83
+
84
+ - CSS variables for theming (colors, border radius)
85
+ - Dark mode support through CSS variables
86
+ - Base component styles
87
+
88
+ 5. For Next.js projects, add to `next.config.js`:
89
+
90
+ ```js
91
+ /** @type {import('next').NextConfig} */
92
+ const nextConfig = {
93
+ transpilePackages: ["@crisellevaldez/speculo-ui"],
94
+ };
95
+
96
+ module.exports = nextConfig;
97
+ ```
98
+
99
+ ## Usage
100
+
101
+ ```tsx
102
+ import { Button } from "@crisellevaldez/speculo-ui";
103
+
104
+ function App() {
105
+ return <Button>Click me</Button>;
106
+ }
107
+ ```
108
+
109
+ ## Theming
110
+
111
+ The library uses CSS variables for theming, providing:
112
+
113
+ - Consistent color palette across components
114
+ - Built-in dark mode support
115
+ - Easy customization through CSS variables
116
+ - HSL color format for flexible color manipulation
117
+
118
+ ## Components
119
+
120
+ - Button
121
+ - Input
122
+ - Select
123
+ - Checkbox
124
+ - Radio
125
+ - Switch
126
+ - Modal
127
+ - Drawer
128
+ - Toast
129
+ - Typography
130
+ - And more...
131
+
132
+ ## Documentation
133
+
134
+ View the full documentation and examples at [https://speculo-ui.web.app](https://speculo-ui.web.app)
package/dist/App.d.ts ADDED
@@ -0,0 +1,2 @@
1
+ declare function App(): import("react/jsx-runtime").JSX.Element;
2
+ export default App;
@@ -0,0 +1,20 @@
1
+ import { default as React } from 'react';
2
+
3
+ export interface AccordionItemProps {
4
+ title: React.ReactNode;
5
+ children: React.ReactNode;
6
+ disabled?: boolean;
7
+ }
8
+ export interface AccordionProps extends Omit<React.HTMLAttributes<HTMLDivElement>, "onChange" | "defaultValue"> {
9
+ items: AccordionItemProps[];
10
+ type?: "single" | "multiple";
11
+ defaultValue?: string | string[];
12
+ value?: string | string[];
13
+ onChange?: (value: string | string[]) => void;
14
+ }
15
+ export declare const AccordionItem: React.ForwardRefExoticComponent<AccordionItemProps & {
16
+ isOpen: boolean;
17
+ onToggle: () => void;
18
+ itemId: string;
19
+ } & React.RefAttributes<HTMLDivElement>>;
20
+ export declare const Accordion: React.ForwardRefExoticComponent<AccordionProps & React.RefAttributes<HTMLDivElement>>;
@@ -0,0 +1,8 @@
1
+ import { default as React } from 'react';
2
+
3
+ export interface AlertProps extends React.HTMLAttributes<HTMLDivElement> {
4
+ variant?: "default" | "destructive" | "warning" | "success" | "info";
5
+ }
6
+ export declare const Alert: React.ForwardRefExoticComponent<AlertProps & React.RefAttributes<HTMLDivElement>>;
7
+ export declare const AlertTitle: React.ForwardRefExoticComponent<React.HTMLAttributes<HTMLHeadingElement> & React.RefAttributes<HTMLParagraphElement>>;
8
+ export declare const AlertDescription: React.ForwardRefExoticComponent<React.HTMLAttributes<HTMLParagraphElement> & React.RefAttributes<HTMLParagraphElement>>;
@@ -0,0 +1,7 @@
1
+ import { default as React } from 'react';
2
+
3
+ export interface BadgeProps extends React.HTMLAttributes<HTMLDivElement> {
4
+ variant?: "default" | "secondary" | "outline" | "destructive" | "success" | "warning" | "info";
5
+ size?: "sm" | "md" | "lg";
6
+ }
7
+ export declare const Badge: React.ForwardRefExoticComponent<BadgeProps & React.RefAttributes<HTMLDivElement>>;
@@ -0,0 +1,8 @@
1
+ import { default as React } from 'react';
2
+
3
+ export interface ButtonProps extends React.ButtonHTMLAttributes<HTMLButtonElement> {
4
+ variant?: "primary" | "secondary" | "outline" | "ghost" | "destructive" | "success" | "link";
5
+ size?: "xs" | "sm" | "md" | "lg" | "icon";
6
+ isLoading?: boolean;
7
+ }
8
+ export declare const Button: React.ForwardRefExoticComponent<ButtonProps & React.RefAttributes<HTMLButtonElement>>;
@@ -0,0 +1,15 @@
1
+ import { default as React } from 'react';
2
+
3
+ export interface CalendarProps extends Omit<React.HTMLAttributes<HTMLDivElement>, "onChange" | "onMouseEnter" | "onMouseLeave"> {
4
+ value?: Date;
5
+ onChange?: (date: Date) => void;
6
+ minDate?: Date;
7
+ maxDate?: Date;
8
+ disabled?: boolean;
9
+ locale?: string;
10
+ disabledDates?: Date[];
11
+ highlightedDates?: Date[];
12
+ onMouseEnter?: (date: Date) => void;
13
+ onMouseLeave?: (date: Date) => void;
14
+ }
15
+ export declare const Calendar: React.ForwardRefExoticComponent<CalendarProps & React.RefAttributes<HTMLDivElement>>;
@@ -0,0 +1,15 @@
1
+ import { default as React } from 'react';
2
+
3
+ export interface CheckboxProps extends Omit<React.InputHTMLAttributes<HTMLInputElement>, "type"> {
4
+ label?: string;
5
+ error?: string;
6
+ indeterminate?: boolean;
7
+ }
8
+ export declare const Checkbox: React.ForwardRefExoticComponent<CheckboxProps & React.RefAttributes<HTMLInputElement>>;
9
+ export interface CheckboxGroupProps {
10
+ children: React.ReactNode;
11
+ label?: string;
12
+ error?: string;
13
+ className?: string;
14
+ }
15
+ export declare const CheckboxGroup: React.FC<CheckboxGroupProps>;
@@ -0,0 +1,21 @@
1
+ import { default as React } from 'react';
2
+
3
+ export interface ComboBoxOption {
4
+ value: string;
5
+ label: string;
6
+ disabled?: boolean;
7
+ }
8
+ export interface ComboBoxProps {
9
+ options: ComboBoxOption[];
10
+ value?: string | string[];
11
+ onChange?: (value: string | string[]) => void;
12
+ placeholder?: string;
13
+ disabled?: boolean;
14
+ loading?: boolean;
15
+ multiple?: boolean;
16
+ maxItems?: number;
17
+ className?: string;
18
+ onInputChange?: (value: string) => void;
19
+ renderOption?: (option: ComboBoxOption) => React.ReactNode;
20
+ }
21
+ export declare const ComboBox: React.ForwardRefExoticComponent<ComboBoxProps & React.RefAttributes<HTMLDivElement>>;
@@ -0,0 +1,8 @@
1
+ import { default as React } from 'react';
2
+
3
+ export interface ContainerProps extends React.HTMLAttributes<HTMLDivElement> {
4
+ padding?: boolean;
5
+ centered?: boolean;
6
+ as?: "div" | "section" | "article" | "main";
7
+ }
8
+ export declare const Container: React.ForwardRefExoticComponent<ContainerProps & React.RefAttributes<HTMLDivElement>>;
@@ -0,0 +1,16 @@
1
+ import { default as React } from 'react';
2
+
3
+ export interface DatePickerProps extends Omit<React.HTMLAttributes<HTMLDivElement>, "onChange"> {
4
+ value: Date | null;
5
+ onChange: (date: Date | null) => void;
6
+ minDate?: Date;
7
+ maxDate?: Date;
8
+ disabled?: boolean;
9
+ isLoading?: boolean;
10
+ locale?: string;
11
+ disabledDates?: Date[];
12
+ placeholder?: string;
13
+ error?: string;
14
+ helperText?: string;
15
+ }
16
+ export declare const DatePicker: React.ForwardRefExoticComponent<DatePickerProps & React.RefAttributes<HTMLDivElement>>;
@@ -0,0 +1,23 @@
1
+ import { default as React } from 'react';
2
+
3
+ export interface DateRange {
4
+ from: Date | null;
5
+ to: Date | null;
6
+ }
7
+ export interface DateRangePickerProps extends Omit<React.HTMLAttributes<HTMLDivElement>, "onChange"> {
8
+ value: DateRange;
9
+ onChange: (range: DateRange) => void;
10
+ minDate?: Date;
11
+ maxDate?: Date;
12
+ disabled?: boolean;
13
+ isLoading?: boolean;
14
+ locale?: string;
15
+ disabledDates?: Date[];
16
+ placeholder?: {
17
+ from: string;
18
+ to: string;
19
+ };
20
+ error?: string;
21
+ helperText?: string;
22
+ }
23
+ export declare const DateRangePicker: React.ForwardRefExoticComponent<DateRangePickerProps & React.RefAttributes<HTMLDivElement>>;
@@ -0,0 +1,35 @@
1
+ import { default as React } from 'react';
2
+
3
+ export interface DrawerHeaderProps {
4
+ children: React.ReactNode;
5
+ className?: string;
6
+ onClose?: () => void;
7
+ }
8
+ export interface DrawerBodyProps {
9
+ children: React.ReactNode;
10
+ className?: string;
11
+ }
12
+ export interface DrawerFooterProps {
13
+ children: React.ReactNode;
14
+ className?: string;
15
+ }
16
+ declare const DrawerHeader: React.FC<DrawerHeaderProps>;
17
+ declare const DrawerBody: React.FC<DrawerBodyProps>;
18
+ declare const DrawerFooter: React.FC<DrawerFooterProps>;
19
+ export interface DrawerProps {
20
+ open: boolean;
21
+ onClose: () => void;
22
+ children: React.ReactNode;
23
+ side?: "left" | "right" | "top" | "bottom";
24
+ size?: "sm" | "md" | "lg" | "xl" | "full";
25
+ overlay?: boolean;
26
+ closeOnOverlayClick?: boolean;
27
+ closeOnEsc?: boolean;
28
+ }
29
+ declare const DrawerComponent: React.ForwardRefExoticComponent<DrawerProps & React.RefAttributes<HTMLDivElement>>;
30
+ export declare const Drawer: typeof DrawerComponent & {
31
+ Header: typeof DrawerHeader;
32
+ Body: typeof DrawerBody;
33
+ Footer: typeof DrawerFooter;
34
+ };
35
+ export {};
@@ -0,0 +1,18 @@
1
+ import { default as React } from 'react';
2
+
3
+ export interface DualCalendarProps extends Omit<React.HTMLAttributes<HTMLDivElement>, "onChange" | "onMouseEnter" | "onMouseLeave"> {
4
+ value?: Date | null;
5
+ endValue?: Date | null;
6
+ onChange?: (date: Date) => void;
7
+ minDate?: Date;
8
+ maxDate?: Date;
9
+ disabled?: boolean;
10
+ locale?: string;
11
+ weekStartsOn?: 0 | 1 | 2 | 3 | 4 | 5 | 6;
12
+ disabledDates?: Date[];
13
+ highlightedDates?: Date[];
14
+ onMouseEnter?: (date: Date) => void;
15
+ onMouseLeave?: (date: Date) => void;
16
+ viewDate: Date;
17
+ }
18
+ export declare const DualCalendar: React.ForwardRefExoticComponent<DualCalendarProps & React.RefAttributes<HTMLDivElement>>;
@@ -0,0 +1,25 @@
1
+ import { default as React } from 'react';
2
+
3
+ export interface DateRange {
4
+ from: Date | null;
5
+ to: Date | null;
6
+ }
7
+ export interface DualDateRangePickerProps extends Omit<React.HTMLAttributes<HTMLDivElement>, "onChange" | "showPresets"> {
8
+ value: DateRange;
9
+ onChange: (range: DateRange) => void;
10
+ minDate?: Date;
11
+ maxDate?: Date;
12
+ disabled?: boolean;
13
+ isLoading?: boolean;
14
+ locale?: string;
15
+ weekStartsOn?: 0 | 1 | 2 | 3 | 4 | 5 | 6;
16
+ disabledDates?: Date[];
17
+ placeholder?: {
18
+ from: string;
19
+ to: string;
20
+ };
21
+ error?: string;
22
+ helperText?: string;
23
+ showPresets?: boolean;
24
+ }
25
+ export declare const DualDateRangePicker: React.ForwardRefExoticComponent<DualDateRangePickerProps & React.RefAttributes<HTMLDivElement>>;
@@ -0,0 +1,10 @@
1
+ import { RefObject } from 'react';
2
+
3
+ interface PositionConfig {
4
+ dropdownHeight: number;
5
+ dropdownWidth: number;
6
+ mobileBreakpoint: number;
7
+ padding: number;
8
+ }
9
+ export declare const useFloatingPosition: (triggerRef: RefObject<HTMLElement>, dropdownRef: RefObject<HTMLElement>, isOpen: boolean, config: PositionConfig) => void;
10
+ export {};
@@ -0,0 +1 @@
1
+ export declare function FirebaseTest(): import("react/jsx-runtime").JSX.Element;
@@ -0,0 +1,29 @@
1
+ import { default as React } from 'react';
2
+
3
+ export interface FormControlProps {
4
+ children: React.ReactNode;
5
+ className?: string;
6
+ error?: string;
7
+ required?: boolean;
8
+ }
9
+ export declare const FormControl: React.FC<FormControlProps>;
10
+ export interface FormLabelProps extends React.LabelHTMLAttributes<HTMLLabelElement> {
11
+ required?: boolean;
12
+ }
13
+ export declare const FormLabel: React.ForwardRefExoticComponent<FormLabelProps & React.RefAttributes<HTMLLabelElement>>;
14
+ export interface FormErrorMessageProps {
15
+ children: React.ReactNode;
16
+ className?: string;
17
+ }
18
+ export declare const FormErrorMessage: React.FC<FormErrorMessageProps>;
19
+ export interface FormHelperTextProps {
20
+ children: React.ReactNode;
21
+ className?: string;
22
+ }
23
+ export declare const FormHelperText: React.FC<FormHelperTextProps>;
24
+ export declare const Form: {
25
+ Control: React.FC<FormControlProps>;
26
+ Label: React.ForwardRefExoticComponent<FormLabelProps & React.RefAttributes<HTMLLabelElement>>;
27
+ ErrorMessage: React.FC<FormErrorMessageProps>;
28
+ HelperText: React.FC<FormHelperTextProps>;
29
+ };
@@ -0,0 +1,11 @@
1
+ import { default as React } from 'react';
2
+
3
+ export interface HoverCardProps extends React.HTMLAttributes<HTMLDivElement> {
4
+ trigger: React.ReactNode;
5
+ openDelay?: number;
6
+ closeDelay?: number;
7
+ side?: "top" | "right" | "bottom" | "left";
8
+ align?: "start" | "center" | "end";
9
+ arrow?: boolean;
10
+ }
11
+ export declare const HoverCard: React.ForwardRefExoticComponent<HoverCardProps & React.RefAttributes<HTMLDivElement>>;
@@ -0,0 +1,13 @@
1
+ import { default as React } from 'react';
2
+
3
+ export interface InputProps extends React.InputHTMLAttributes<HTMLInputElement> {
4
+ error?: string;
5
+ helperText?: string;
6
+ startIcon?: React.ReactNode;
7
+ endIcon?: React.ReactNode;
8
+ isLoading?: boolean;
9
+ inputSize?: "sm" | "md" | "lg";
10
+ clearable?: boolean;
11
+ onClear?: () => void;
12
+ }
13
+ export declare const Input: React.ForwardRefExoticComponent<InputProps & React.RefAttributes<HTMLInputElement>>;
@@ -0,0 +1,5 @@
1
+ interface LoadingProps {
2
+ className?: string;
3
+ }
4
+ export declare const Loading: ({ className }: LoadingProps) => import("react/jsx-runtime").JSX.Element;
5
+ export {};
@@ -0,0 +1,45 @@
1
+ import { default as React } from 'react';
2
+
3
+ export interface ModalProps {
4
+ isOpen: boolean;
5
+ onClose: () => void;
6
+ children: React.ReactNode;
7
+ size?: "xs" | "sm" | "base" | "lg" | "xl" | "2xl" | "full";
8
+ closeOnOverlayClick?: boolean;
9
+ closeOnEsc?: boolean;
10
+ initialFocus?: React.RefObject<HTMLElement>;
11
+ className?: string;
12
+ loading?: boolean;
13
+ }
14
+ export interface ModalHeaderProps {
15
+ children: React.ReactNode;
16
+ className?: string;
17
+ onClose?: () => void;
18
+ }
19
+ export interface ModalBodyProps {
20
+ children: React.ReactNode;
21
+ className?: string;
22
+ }
23
+ export interface ModalFooterProps {
24
+ children: React.ReactNode;
25
+ className?: string;
26
+ }
27
+ declare const ModalHeader: React.FC<ModalHeaderProps>;
28
+ declare const ModalBody: React.FC<ModalBodyProps>;
29
+ declare const ModalFooter: React.FC<ModalFooterProps>;
30
+ export declare const Modal: React.FC<ModalProps> & {
31
+ Header: typeof ModalHeader;
32
+ Body: typeof ModalBody;
33
+ Footer: typeof ModalFooter;
34
+ };
35
+ export interface ModalProviderProps {
36
+ children: React.ReactNode;
37
+ }
38
+ export interface ModalContextType {
39
+ openModal: (modal: React.ReactNode) => void;
40
+ closeModal: () => void;
41
+ }
42
+ export declare const ModalContext: React.Context<ModalContextType | null>;
43
+ export declare const ModalProvider: React.FC<ModalProviderProps>;
44
+ export declare const useModal: () => ModalContextType;
45
+ export {};
@@ -0,0 +1,12 @@
1
+ import { default as React } from 'react';
2
+
3
+ export interface PaginationProps extends React.HTMLAttributes<HTMLDivElement> {
4
+ currentPage: number;
5
+ totalPages: number;
6
+ onPageChange: (page: number) => void;
7
+ siblingCount?: number;
8
+ showFirstLast?: boolean;
9
+ size?: "sm" | "md" | "lg";
10
+ disabled?: boolean;
11
+ }
12
+ export declare const Pagination: React.ForwardRefExoticComponent<PaginationProps & React.RefAttributes<HTMLDivElement>>;
@@ -0,0 +1,12 @@
1
+ import { default as React } from 'react';
2
+ import { Country } from 'react-phone-number-input';
3
+
4
+ export interface PhoneNumberProps extends Omit<React.InputHTMLAttributes<HTMLInputElement>, "onChange" | "value"> {
5
+ value: string | undefined;
6
+ onChange: (value: string | undefined) => void;
7
+ error?: string;
8
+ isLoading?: boolean;
9
+ defaultCountry?: Country;
10
+ helperText?: string;
11
+ }
12
+ export declare const PhoneNumber: React.ForwardRefExoticComponent<PhoneNumberProps & React.RefAttributes<HTMLInputElement>>;
@@ -0,0 +1,11 @@
1
+ import { default as React } from 'react';
2
+
3
+ export interface ProgressProps extends React.HTMLAttributes<HTMLDivElement> {
4
+ value?: number;
5
+ max?: number;
6
+ variant?: "default" | "circle" | "loading";
7
+ size?: "sm" | "md" | "lg";
8
+ showValue?: boolean;
9
+ indeterminate?: boolean;
10
+ }
11
+ export declare const Progress: React.ForwardRefExoticComponent<ProgressProps & React.RefAttributes<HTMLDivElement>>;
@@ -0,0 +1,17 @@
1
+ import { default as React } from 'react';
2
+
3
+ export interface RadioProps extends Omit<React.InputHTMLAttributes<HTMLInputElement>, "type"> {
4
+ label?: string;
5
+ error?: string;
6
+ }
7
+ export declare const Radio: React.ForwardRefExoticComponent<RadioProps & React.RefAttributes<HTMLInputElement>>;
8
+ export interface RadioGroupProps {
9
+ children: React.ReactNode;
10
+ label?: string;
11
+ error?: string;
12
+ className?: string;
13
+ name: string;
14
+ value?: string;
15
+ onChange?: (value: string) => void;
16
+ }
17
+ export declare const RadioGroup: React.FC<RadioGroupProps>;
@@ -0,0 +1,24 @@
1
+ import { default as React } from 'react';
2
+
3
+ export interface SelectOption {
4
+ value: string;
5
+ label: string;
6
+ }
7
+ export interface SelectProps {
8
+ options: SelectOption[];
9
+ value?: string | string[];
10
+ onChange?: (value: string | string[]) => void;
11
+ placeholder?: string;
12
+ error?: string;
13
+ helperText?: string;
14
+ disabled?: boolean;
15
+ isLoading?: boolean;
16
+ multiple?: boolean;
17
+ searchable?: boolean;
18
+ className?: string;
19
+ renderOption?: (option: SelectOption) => React.ReactNode;
20
+ rows?: number;
21
+ variant?: "default" | "ghost";
22
+ menuWidth?: string | number;
23
+ }
24
+ export declare const Select: React.ForwardRefExoticComponent<SelectProps & React.RefAttributes<HTMLDivElement>>;
@@ -0,0 +1,16 @@
1
+ import { default as React } from 'react';
2
+
3
+ export interface SidebarItemProps {
4
+ icon?: React.ReactNode;
5
+ label: React.ReactNode;
6
+ href?: string;
7
+ items?: Omit<SidebarItemProps, "items">[];
8
+ disabled?: boolean;
9
+ }
10
+ export interface SidebarProps extends React.HTMLAttributes<HTMLDivElement> {
11
+ items: SidebarItemProps[];
12
+ collapsed?: boolean;
13
+ onCollapse?: (collapsed: boolean) => void;
14
+ defaultCollapsed?: boolean;
15
+ }
16
+ export declare const Sidebar: React.ForwardRefExoticComponent<SidebarProps & React.RefAttributes<HTMLDivElement>>;
@@ -0,0 +1,7 @@
1
+ import { default as React } from 'react';
2
+
3
+ export interface SwitchProps extends Omit<React.InputHTMLAttributes<HTMLInputElement>, "type" | "size"> {
4
+ label?: string;
5
+ size?: "sm" | "md" | "lg";
6
+ }
7
+ export declare const Switch: React.ForwardRefExoticComponent<SwitchProps & React.RefAttributes<HTMLInputElement>>;
@@ -0,0 +1,33 @@
1
+ import { default as React } from 'react';
2
+
3
+ export interface Column<T> {
4
+ key: keyof T | string;
5
+ header: React.ReactNode;
6
+ cell?: (item: T) => React.ReactNode;
7
+ sortable?: boolean;
8
+ minWidth?: string;
9
+ width?: string;
10
+ isPinned?: boolean;
11
+ pinPosition?: string;
12
+ resizable?: boolean;
13
+ isCentered?: boolean;
14
+ }
15
+ export interface TableProps<T extends Record<string, unknown>> {
16
+ columns: Column<T>[];
17
+ data: T[];
18
+ keyExtractor: (item: T) => string | number;
19
+ selectable?: boolean;
20
+ selectedRows?: string[];
21
+ onSelectRows?: (rows: string[]) => void;
22
+ sortable?: boolean;
23
+ onSort?: (key: string, direction: "asc" | "desc") => void;
24
+ className?: string;
25
+ loading?: boolean;
26
+ rowSelectable?: boolean;
27
+ selectedRowId?: string;
28
+ onRowSelect?: (id: string | undefined) => void;
29
+ size?: "sm" | "md" | "lg" | "xl";
30
+ emptyStateText?: string;
31
+ onRowDoubleClick?: (item: T) => void;
32
+ }
33
+ export declare function Table<T extends Record<string, unknown>>({ columns: initialColumns, data, keyExtractor, selectable, selectedRows, onSelectRows, sortable, onSort, className, loading, rowSelectable, selectedRowId, onRowSelect, size, emptyStateText, onRowDoubleClick, }: TableProps<T>): import("react/jsx-runtime").JSX.Element;