mango-ui-kit 1.0.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 (125) hide show
  1. package/README.md +63 -0
  2. package/dist/components/accordion/accordion.d.ts +3 -0
  3. package/dist/components/accordion/accordion.stories.d.ts +8 -0
  4. package/dist/components/accordion/accordion.types.d.ts +13 -0
  5. package/dist/components/accordion/index.d.ts +2 -0
  6. package/dist/components/app-bar/app-bar.d.ts +3 -0
  7. package/dist/components/app-bar/app-bar.stories.d.ts +9 -0
  8. package/dist/components/app-bar/app-bar.types.d.ts +20 -0
  9. package/dist/components/app-bar/index.d.ts +2 -0
  10. package/dist/components/avatar/avatar.d.ts +3 -0
  11. package/dist/components/avatar/avatar.stories.d.ts +8 -0
  12. package/dist/components/avatar/avatar.styles.d.ts +3 -0
  13. package/dist/components/avatar/avatar.types.d.ts +8 -0
  14. package/dist/components/avatar/index.d.ts +3 -0
  15. package/dist/components/avatar-group/avatar-group.d.ts +3 -0
  16. package/dist/components/avatar-group/avatar-group.stories.d.ts +8 -0
  17. package/dist/components/avatar-group/avatar-group.types.d.ts +10 -0
  18. package/dist/components/avatar-group/index.d.ts +2 -0
  19. package/dist/components/badge/badge.d.ts +4 -0
  20. package/dist/components/badge/badge.stories.d.ts +9 -0
  21. package/dist/components/badge/badge.types.d.ts +7 -0
  22. package/dist/components/badge/index.d.ts +2 -0
  23. package/dist/components/breadcrumbs/breadcrumbs.d.ts +3 -0
  24. package/dist/components/breadcrumbs/breadcrumbs.stories.d.ts +7 -0
  25. package/dist/components/breadcrumbs/breadcrumbs.types.d.ts +11 -0
  26. package/dist/components/breadcrumbs/index.d.ts +2 -0
  27. package/dist/components/button/button.d.ts +3 -0
  28. package/dist/components/button/button.stories.d.ts +9 -0
  29. package/dist/components/button/button.styles.d.ts +4 -0
  30. package/dist/components/button/button.test.d.ts +0 -0
  31. package/dist/components/button/button.types.d.ts +11 -0
  32. package/dist/components/button/index.d.ts +3 -0
  33. package/dist/components/calendar-date-picker/calendar-date-picker.d.ts +3 -0
  34. package/dist/components/calendar-date-picker/calendar-date-picker.stories.d.ts +7 -0
  35. package/dist/components/calendar-date-picker/calendar-date-picker.types.d.ts +6 -0
  36. package/dist/components/calendar-date-picker/index.d.ts +2 -0
  37. package/dist/components/card/card.d.ts +8 -0
  38. package/dist/components/card/index.d.ts +1 -0
  39. package/dist/components/confirmation-modal/confirmation-modal.d.ts +3 -0
  40. package/dist/components/confirmation-modal/confirmation-modal.stories.d.ts +7 -0
  41. package/dist/components/confirmation-modal/confirmation-modal.types.d.ts +11 -0
  42. package/dist/components/confirmation-modal/index.d.ts +2 -0
  43. package/dist/components/date-range-picker/date-range-picker.d.ts +3 -0
  44. package/dist/components/date-range-picker/date-range-picker.stories.d.ts +7 -0
  45. package/dist/components/date-range-picker/date-range-picker.types.d.ts +10 -0
  46. package/dist/components/date-range-picker/index.d.ts +2 -0
  47. package/dist/components/drawer/drawer.d.ts +3 -0
  48. package/dist/components/drawer/drawer.stories.d.ts +7 -0
  49. package/dist/components/drawer/drawer.types.d.ts +11 -0
  50. package/dist/components/drawer/index.d.ts +2 -0
  51. package/dist/components/dropdown/dropdown.d.ts +3 -0
  52. package/dist/components/dropdown/dropdown.stories.d.ts +9 -0
  53. package/dist/components/dropdown/dropdown.types.d.ts +22 -0
  54. package/dist/components/dropdown/index.d.ts +2 -0
  55. package/dist/components/file-dropzone/file-dropzone.d.ts +3 -0
  56. package/dist/components/file-dropzone/file-dropzone.stories.d.ts +8 -0
  57. package/dist/components/file-dropzone/file-dropzone.types.d.ts +7 -0
  58. package/dist/components/file-dropzone/index.d.ts +2 -0
  59. package/dist/components/input/index.d.ts +1 -0
  60. package/dist/components/input/input.d.ts +6 -0
  61. package/dist/components/input/input.stories.d.ts +9 -0
  62. package/dist/components/modal/index.d.ts +1 -0
  63. package/dist/components/modal/modal.d.ts +9 -0
  64. package/dist/components/multi-select/index.d.ts +2 -0
  65. package/dist/components/multi-select/multi-select.d.ts +3 -0
  66. package/dist/components/multi-select/multi-select.stories.d.ts +7 -0
  67. package/dist/components/multi-select/multi-select.types.d.ts +12 -0
  68. package/dist/components/progress-bar/index.d.ts +2 -0
  69. package/dist/components/progress-bar/progress-bar.d.ts +3 -0
  70. package/dist/components/progress-bar/progress-bar.stories.d.ts +9 -0
  71. package/dist/components/progress-bar/progress-bar.types.d.ts +9 -0
  72. package/dist/components/rating/index.d.ts +2 -0
  73. package/dist/components/rating/rating.d.ts +3 -0
  74. package/dist/components/rating/rating.stories.d.ts +9 -0
  75. package/dist/components/rating/rating.types.d.ts +10 -0
  76. package/dist/components/sidebar/index.d.ts +2 -0
  77. package/dist/components/sidebar/sidebar.d.ts +3 -0
  78. package/dist/components/sidebar/sidebar.stories.d.ts +7 -0
  79. package/dist/components/sidebar/sidebar.types.d.ts +21 -0
  80. package/dist/components/skeleton/index.d.ts +2 -0
  81. package/dist/components/skeleton/skeleton.d.ts +3 -0
  82. package/dist/components/skeleton/skeleton.stories.d.ts +11 -0
  83. package/dist/components/skeleton/skeleton.types.d.ts +11 -0
  84. package/dist/components/spinner/index.d.ts +2 -0
  85. package/dist/components/spinner/spinner.d.ts +3 -0
  86. package/dist/components/spinner/spinner.stories.d.ts +9 -0
  87. package/dist/components/spinner/spinner.types.d.ts +6 -0
  88. package/dist/components/stat-card/index.d.ts +2 -0
  89. package/dist/components/stat-card/stat-card.d.ts +3 -0
  90. package/dist/components/stat-card/stat-card.stories.d.ts +9 -0
  91. package/dist/components/stat-card/stat-card.types.d.ts +10 -0
  92. package/dist/components/table/index.d.ts +2 -0
  93. package/dist/components/table/table.d.ts +5 -0
  94. package/dist/components/table/table.stories.d.ts +8 -0
  95. package/dist/components/table/table.types.d.ts +14 -0
  96. package/dist/components/tabs/index.d.ts +2 -0
  97. package/dist/components/tabs/tabs.d.ts +3 -0
  98. package/dist/components/tabs/tabs.stories.d.ts +7 -0
  99. package/dist/components/tabs/tabs.types.d.ts +13 -0
  100. package/dist/components/theme-provider/index.d.ts +1 -0
  101. package/dist/components/theme-provider/theme-provider.d.ts +14 -0
  102. package/dist/components/time-picker/index.d.ts +2 -0
  103. package/dist/components/time-picker/time-picker.d.ts +3 -0
  104. package/dist/components/time-picker/time-picker.stories.d.ts +7 -0
  105. package/dist/components/time-picker/time-picker.types.d.ts +6 -0
  106. package/dist/components/toggle/index.d.ts +1 -0
  107. package/dist/components/toggle/toggle.d.ts +3 -0
  108. package/dist/components/toggle/toggle.stories.d.ts +10 -0
  109. package/dist/components/toggle/toggle.types.d.ts +8 -0
  110. package/dist/hooks/index.d.ts +2 -0
  111. package/dist/hooks/useDebounce.d.ts +1 -0
  112. package/dist/hooks/useToggle.d.ts +1 -0
  113. package/dist/index.d.ts +31 -0
  114. package/dist/mango-ui-kit.css +1 -0
  115. package/dist/mango-ui-kit.js +4793 -0
  116. package/dist/mango-ui-kit.umd.cjs +6 -0
  117. package/dist/theme/colors.d.ts +27 -0
  118. package/dist/theme/index.d.ts +3 -0
  119. package/dist/theme/spacing.d.ts +8 -0
  120. package/dist/theme/typography.d.ts +26 -0
  121. package/dist/utils/cn.d.ts +2 -0
  122. package/dist/utils/format.d.ts +12 -0
  123. package/dist/utils/index.d.ts +2 -0
  124. package/dist/vite.svg +1 -0
  125. package/package.json +83 -0
package/README.md ADDED
@@ -0,0 +1,63 @@
1
+ # Mango UI Kit 🥭
2
+
3
+ A premium, modern React UI component library built with TypeScript, Lucide Icons, and Tailwind CSS.
4
+
5
+ ## Features
6
+ - ✨ **Premium Aesthetics**: Carefully crafted components with a focus on modern design.
7
+ - 🎨 **Theme Support**: Built-in support for light and dark modes via CSS variables.
8
+ - 🛡️ **Type Safe**: Written in TypeScript for excellent developer experience.
9
+ - 🧩 **Modular**: Use only the components you need.
10
+
11
+ ## Installation
12
+
13
+ ```bash
14
+ npm install mango-ui-kit
15
+ ```
16
+
17
+ ## Usage
18
+
19
+ First, import the styles in your main entry file (e.g., `main.ts` or `App.tsx`):
20
+
21
+ ```tsx
22
+ import 'mango-ui-kit/dist/style.css';
23
+ ```
24
+
25
+ Then, you can start using components:
26
+
27
+ ```tsx
28
+ import { Button, Card, AppBar } from 'mango-ui-kit';
29
+
30
+ function App() {
31
+ return (
32
+ <div>
33
+ <AppBar
34
+ user={{ fullName: "John Doe" }}
35
+ subscriptionPlan="Pro"
36
+ />
37
+ <Card hoverable className="m-4">
38
+ <h1>Welcome to Mango UI</h1>
39
+ <Button variant="primary">Get Started</Button>
40
+ </Card>
41
+ </div>
42
+ );
43
+ }
44
+ ```
45
+
46
+ ## Available Components
47
+
48
+ - **Navigation**: AppBar, Sidebar, Breadcrumbs
49
+ - **Inputs**: Button, Input, Dropdown, MultiSelect, FileDropzone, Toggle, TimePicker
50
+ - **Feedback**: Spinner, ProgressBar, Skeleton, ConfirmationModal, Rating
51
+ - **Data Display**: Table, Card, StatCard, Badge, Avatar, AvatarGroup, Accordion, Tabs
52
+ - **Date/Time**: CalendarDatePicker, DateRangePicker
53
+ - **Layout**: Drawer
54
+
55
+ ## Peer Dependencies
56
+
57
+ Ensure you have the following installed:
58
+ - `react` >= 18.0.0
59
+ - `react-dom` >= 18.0.0
60
+
61
+ ## License
62
+
63
+ MIT © Mango UI Team
@@ -0,0 +1,3 @@
1
+ import { default as React } from 'react';
2
+ import { AccordionProps } from './accordion.types';
3
+ export declare const Accordion: React.FC<AccordionProps>;
@@ -0,0 +1,8 @@
1
+ import { Meta, StoryObj } from '@storybook/react-vite';
2
+ import { Accordion } from './accordion';
3
+ declare const meta: Meta<typeof Accordion>;
4
+ export default meta;
5
+ type Story = StoryObj<typeof meta>;
6
+ export declare const Default: Story;
7
+ export declare const AllowMultiple: Story;
8
+ export declare const AllClosed: Story;
@@ -0,0 +1,13 @@
1
+ import { LucideIcon } from 'lucide-react';
2
+ import { ReactNode } from 'react';
3
+ export interface AccordionItem {
4
+ title: string;
5
+ content: ReactNode;
6
+ icon?: LucideIcon;
7
+ }
8
+ export interface AccordionProps {
9
+ items?: AccordionItem[];
10
+ allowMultiple?: boolean;
11
+ className?: string;
12
+ defaultOpen?: number[];
13
+ }
@@ -0,0 +1,2 @@
1
+ export * from './accordion';
2
+ export type * from './accordion.types';
@@ -0,0 +1,3 @@
1
+ import { default as React } from 'react';
2
+ import { AppBarProps } from './app-bar.types';
3
+ export declare const AppBar: React.FC<AppBarProps>;
@@ -0,0 +1,9 @@
1
+ import { Meta, StoryObj } from '@storybook/react-vite';
2
+ import { AppBar } from './app-bar';
3
+ declare const meta: Meta<typeof AppBar>;
4
+ export default meta;
5
+ type Story = StoryObj<typeof meta>;
6
+ export declare const Default: Story;
7
+ export declare const WithSubscription: Story;
8
+ export declare const FreeWithUpgrade: Story;
9
+ export declare const DarkTheme: Story;
@@ -0,0 +1,20 @@
1
+ import { ReactNode } from 'react';
2
+ export interface AppBarUser {
3
+ fullName?: string;
4
+ avatarUrl?: string;
5
+ email?: string;
6
+ }
7
+ export interface AppBarProps {
8
+ theme?: 'light' | 'dark';
9
+ onToggleTheme?: () => void;
10
+ onToggleSidebar?: () => void;
11
+ user?: AppBarUser;
12
+ onLogout?: () => void;
13
+ onUpgrade?: () => void;
14
+ subscriptionPlan?: string;
15
+ searchPlaceholder?: string;
16
+ onSearch?: (query: string) => void;
17
+ notificationCount?: number;
18
+ className?: string;
19
+ logo?: ReactNode;
20
+ }
@@ -0,0 +1,2 @@
1
+ export * from './app-bar';
2
+ export type * from './app-bar.types';
@@ -0,0 +1,3 @@
1
+ import { default as React } from 'react';
2
+ import { AvatarProps } from './avatar.types';
3
+ export declare const Avatar: React.FC<AvatarProps>;
@@ -0,0 +1,8 @@
1
+ import { Meta, StoryObj } from '@storybook/react-vite';
2
+ import { Avatar } from './avatar';
3
+ declare const meta: Meta<typeof Avatar>;
4
+ export default meta;
5
+ type Story = StoryObj<typeof Avatar>;
6
+ export declare const Default: Story;
7
+ export declare const Image: Story;
8
+ export declare const Large: Story;
@@ -0,0 +1,3 @@
1
+ export declare const avatarStyles: (props?: ({
2
+ size?: "sm" | "md" | "lg" | "xs" | "xl" | null | undefined;
3
+ } & import('class-variance-authority/types').ClassProp) | undefined) => string;
@@ -0,0 +1,8 @@
1
+ import { default as React } from 'react';
2
+ import { VariantProps } from 'class-variance-authority';
3
+ import { avatarStyles } from './avatar.styles';
4
+ export interface AvatarProps extends React.HTMLAttributes<HTMLDivElement>, VariantProps<typeof avatarStyles> {
5
+ src?: string;
6
+ alt?: string;
7
+ fallback?: string;
8
+ }
@@ -0,0 +1,3 @@
1
+ export * from './avatar';
2
+ export type * from './avatar.types';
3
+ export * from './avatar.styles';
@@ -0,0 +1,3 @@
1
+ import { default as React } from 'react';
2
+ import { AvatarGroupProps } from './avatar-group.types';
3
+ export declare const AvatarGroup: React.FC<AvatarGroupProps>;
@@ -0,0 +1,8 @@
1
+ import { Meta, StoryObj } from '@storybook/react-vite';
2
+ import { AvatarGroup } from './avatar-group';
3
+ declare const meta: Meta<typeof AvatarGroup>;
4
+ export default meta;
5
+ type Story = StoryObj<typeof meta>;
6
+ export declare const Default: Story;
7
+ export declare const ShowMore: Story;
8
+ export declare const Initials: Story;
@@ -0,0 +1,10 @@
1
+ export interface AvatarUser {
2
+ name: string;
3
+ image?: string;
4
+ }
5
+ export interface AvatarGroupProps {
6
+ users?: AvatarUser[];
7
+ max?: number;
8
+ size?: number;
9
+ className?: string;
10
+ }
@@ -0,0 +1,2 @@
1
+ export * from './avatar-group';
2
+ export type * from './avatar-group.types';
@@ -0,0 +1,4 @@
1
+ import { default as React } from 'react';
2
+ import { BadgeProps } from './badge.types';
3
+ export declare const Badge: React.FC<BadgeProps>;
4
+ export default Badge;
@@ -0,0 +1,9 @@
1
+ import { Meta, StoryObj } from '@storybook/react-vite';
2
+ import { Badge } from './badge';
3
+ declare const meta: Meta<typeof Badge>;
4
+ export default meta;
5
+ type Story = StoryObj<typeof Badge>;
6
+ export declare const Primary: Story;
7
+ export declare const Success: Story;
8
+ export declare const Large: Story;
9
+ export declare const Pill: Story;
@@ -0,0 +1,7 @@
1
+ import { default as React } from 'react';
2
+ export interface BadgeProps extends React.HTMLAttributes<HTMLSpanElement> {
3
+ variant?: 'primary' | 'secondary' | 'outline' | 'ghost' | 'danger' | 'success' | 'warning' | 'info';
4
+ size?: 'sm' | 'md' | 'lg';
5
+ pill?: boolean;
6
+ icon?: React.ElementType;
7
+ }
@@ -0,0 +1,2 @@
1
+ export * from './badge';
2
+ export type * from './badge.types';
@@ -0,0 +1,3 @@
1
+ import { default as React } from 'react';
2
+ import { BreadcrumbsProps } from './breadcrumbs.types';
3
+ export declare const Breadcrumbs: React.FC<BreadcrumbsProps>;
@@ -0,0 +1,7 @@
1
+ import { Meta, StoryObj } from '@storybook/react-vite';
2
+ import { Breadcrumbs } from './breadcrumbs';
3
+ declare const meta: Meta<typeof Breadcrumbs>;
4
+ export default meta;
5
+ type Story = StoryObj<typeof meta>;
6
+ export declare const Default: Story;
7
+ export declare const TwoLevels: Story;
@@ -0,0 +1,11 @@
1
+ import { ReactNode, ComponentType } from 'react';
2
+ export interface BreadcrumbItem {
3
+ label: string;
4
+ href?: string;
5
+ icon?: ComponentType<any>;
6
+ }
7
+ export interface BreadcrumbsProps {
8
+ items: BreadcrumbItem[];
9
+ separator?: ReactNode;
10
+ className?: string;
11
+ }
@@ -0,0 +1,2 @@
1
+ export * from './breadcrumbs';
2
+ export type * from './breadcrumbs.types';
@@ -0,0 +1,3 @@
1
+ import { default as React } from 'react';
2
+ import { ButtonProps } from './button.types';
3
+ export declare const Button: React.ForwardRefExoticComponent<ButtonProps & React.RefAttributes<HTMLButtonElement>>;
@@ -0,0 +1,9 @@
1
+ import { Meta, StoryObj } from '@storybook/react-vite';
2
+ import { Button } from './button';
3
+ declare const meta: Meta<typeof Button>;
4
+ export default meta;
5
+ type Story = StoryObj<typeof meta>;
6
+ export declare const Primary: Story;
7
+ export declare const Secondary: Story;
8
+ export declare const Outline: Story;
9
+ export declare const Loading: Story;
@@ -0,0 +1,4 @@
1
+ export declare const buttonStyles: (props?: ({
2
+ variant?: "primary" | "secondary" | "outline" | "ghost" | "danger" | null | undefined;
3
+ size?: "sm" | "md" | "lg" | null | undefined;
4
+ } & import('class-variance-authority/types').ClassProp) | undefined) => string;
File without changes
@@ -0,0 +1,11 @@
1
+ import { ButtonHTMLAttributes, ReactNode } from 'react';
2
+ export type ButtonVariant = 'primary' | 'secondary' | 'outline' | 'ghost' | 'danger';
3
+ export type ButtonSize = 'sm' | 'md' | 'lg';
4
+ export interface ButtonProps extends ButtonHTMLAttributes<HTMLButtonElement> {
5
+ variant?: ButtonVariant;
6
+ size?: ButtonSize;
7
+ isLoading?: boolean;
8
+ leftIcon?: ReactNode;
9
+ rightIcon?: ReactNode;
10
+ children: ReactNode;
11
+ }
@@ -0,0 +1,3 @@
1
+ export * from './button';
2
+ export type { ButtonProps, ButtonVariant, ButtonSize } from './button.types';
3
+ export * from './button.styles';
@@ -0,0 +1,3 @@
1
+ import { default as React } from 'react';
2
+ import { CalendarDatePickerProps } from './calendar-date-picker.types';
3
+ export declare const CalendarDatePicker: React.FC<CalendarDatePickerProps>;
@@ -0,0 +1,7 @@
1
+ import { Meta, StoryObj } from '@storybook/react-vite';
2
+ import { CalendarDatePicker } from './calendar-date-picker';
3
+ declare const meta: Meta<typeof CalendarDatePicker>;
4
+ export default meta;
5
+ type Story = StoryObj<typeof meta>;
6
+ export declare const Default: Story;
7
+ export declare const WithValue: Story;
@@ -0,0 +1,6 @@
1
+ export interface CalendarDatePickerProps {
2
+ value?: string;
3
+ onChange: (value: string) => void;
4
+ placeholder?: string;
5
+ className?: string;
6
+ }
@@ -0,0 +1,2 @@
1
+ export * from './calendar-date-picker';
2
+ export type * from './calendar-date-picker.types';
@@ -0,0 +1,8 @@
1
+ import { default as React } from 'react';
2
+ export interface CardProps extends React.HTMLAttributes<HTMLDivElement> {
3
+ hoverable?: boolean;
4
+ }
5
+ export declare const Card: ({ className, hoverable, children, ...props }: CardProps) => import("react/jsx-runtime").JSX.Element;
6
+ export declare const CardHeader: ({ className, children, ...props }: React.HTMLAttributes<HTMLDivElement>) => import("react/jsx-runtime").JSX.Element;
7
+ export declare const CardTitle: ({ className, children, ...props }: React.HTMLAttributes<HTMLHeadingElement>) => import("react/jsx-runtime").JSX.Element;
8
+ export declare const CardContent: ({ className, children, ...props }: React.HTMLAttributes<HTMLDivElement>) => import("react/jsx-runtime").JSX.Element;
@@ -0,0 +1 @@
1
+ export * from './card';
@@ -0,0 +1,3 @@
1
+ import { default as React } from 'react';
2
+ import { ConfirmationModalProps } from './confirmation-modal.types';
3
+ export declare const ConfirmationModal: React.FC<ConfirmationModalProps>;
@@ -0,0 +1,7 @@
1
+ import { Meta, StoryObj } from '@storybook/react-vite';
2
+ import { ConfirmationModal } from './confirmation-modal';
3
+ declare const meta: Meta<typeof ConfirmationModal>;
4
+ export default meta;
5
+ type Story = StoryObj<typeof meta>;
6
+ export declare const Danger: Story;
7
+ export declare const Warning: Story;
@@ -0,0 +1,11 @@
1
+ export interface ConfirmationModalProps {
2
+ isOpen: boolean;
3
+ onClose: () => void;
4
+ onConfirm: () => void;
5
+ title?: string;
6
+ message?: string;
7
+ confirmLabel?: string;
8
+ cancelLabel?: string;
9
+ type?: 'danger' | 'warning' | 'primary';
10
+ className?: string;
11
+ }
@@ -0,0 +1,2 @@
1
+ export * from './confirmation-modal';
2
+ export type * from './confirmation-modal.types';
@@ -0,0 +1,3 @@
1
+ import { default as React } from 'react';
2
+ import { DateRangePickerProps } from './date-range-picker.types';
3
+ export declare const DateRangePicker: React.FC<DateRangePickerProps>;
@@ -0,0 +1,7 @@
1
+ import { Meta, StoryObj } from '@storybook/react-vite';
2
+ import { DateRangePicker } from './date-range-picker';
3
+ declare const meta: Meta<typeof DateRangePicker>;
4
+ export default meta;
5
+ type Story = StoryObj<typeof meta>;
6
+ export declare const Default: Story;
7
+ export declare const Preselected: Story;
@@ -0,0 +1,10 @@
1
+ export interface DateRange {
2
+ startDate: string | null;
3
+ endDate: string | null;
4
+ }
5
+ export interface DateRangePickerProps {
6
+ value: DateRange;
7
+ onChange: (value: DateRange) => void;
8
+ placeholder?: string;
9
+ className?: string;
10
+ }
@@ -0,0 +1,2 @@
1
+ export * from './date-range-picker';
2
+ export type * from './date-range-picker.types';
@@ -0,0 +1,3 @@
1
+ import { default as React } from 'react';
2
+ import { DrawerProps } from './drawer.types';
3
+ export declare const Drawer: React.FC<DrawerProps>;
@@ -0,0 +1,7 @@
1
+ import { Meta, StoryObj } from '@storybook/react-vite';
2
+ import { Drawer } from './drawer';
3
+ declare const meta: Meta<typeof Drawer>;
4
+ export default meta;
5
+ type Story = StoryObj<typeof meta>;
6
+ export declare const Default: Story;
7
+ export declare const WithFooter: Story;
@@ -0,0 +1,11 @@
1
+ import { ReactNode } from 'react';
2
+ export interface DrawerProps {
3
+ isOpen: boolean;
4
+ onClose: () => void;
5
+ title?: string;
6
+ subtitle?: string;
7
+ children: ReactNode;
8
+ footer?: ReactNode;
9
+ width?: string;
10
+ className?: string;
11
+ }
@@ -0,0 +1,2 @@
1
+ export * from './drawer';
2
+ export type * from './drawer.types';
@@ -0,0 +1,3 @@
1
+ import { default as React } from 'react';
2
+ import { DropdownProps } from './dropdown.types';
3
+ export declare const Dropdown: React.FC<DropdownProps>;
@@ -0,0 +1,9 @@
1
+ import { Meta, StoryObj } from '@storybook/react-vite';
2
+ import { Dropdown } from './dropdown';
3
+ declare const meta: Meta<typeof Dropdown>;
4
+ export default meta;
5
+ type Story = StoryObj<typeof meta>;
6
+ export declare const Default: Story;
7
+ export declare const Searchable: Story;
8
+ export declare const WithIcon: Story;
9
+ export declare const Disabled: Story;
@@ -0,0 +1,22 @@
1
+ import { ReactNode, ComponentType } from 'react';
2
+ export interface DropdownOption {
3
+ id: string;
4
+ name: string;
5
+ icon?: ReactNode;
6
+ details?: string;
7
+ }
8
+ export interface DropdownProps {
9
+ options?: DropdownOption[];
10
+ value?: string;
11
+ onChange: (value: string) => void;
12
+ placeholder?: string;
13
+ label?: string;
14
+ icon?: ComponentType<{
15
+ size?: number;
16
+ className?: string;
17
+ }>;
18
+ className?: string;
19
+ footer?: ReactNode;
20
+ searchable?: boolean;
21
+ disabled?: boolean;
22
+ }
@@ -0,0 +1,2 @@
1
+ export * from './dropdown';
2
+ export type * from './dropdown.types';
@@ -0,0 +1,3 @@
1
+ import { default as React } from 'react';
2
+ import { FileDropzoneProps } from './file-dropzone.types';
3
+ export declare const FileDropzone: React.FC<FileDropzoneProps>;
@@ -0,0 +1,8 @@
1
+ import { Meta, StoryObj } from '@storybook/react-vite';
2
+ import { FileDropzone } from './file-dropzone';
3
+ declare const meta: Meta<typeof FileDropzone>;
4
+ export default meta;
5
+ type Story = StoryObj<typeof meta>;
6
+ export declare const Default: Story;
7
+ export declare const ImagesOnly: Story;
8
+ export declare const SingleFile: Story;
@@ -0,0 +1,7 @@
1
+ export interface FileDropzoneProps {
2
+ onFilesSelected?: (files: File[]) => void;
3
+ accept?: string;
4
+ multiple?: boolean;
5
+ label?: string;
6
+ className?: string;
7
+ }
@@ -0,0 +1,2 @@
1
+ export * from './file-dropzone';
2
+ export type * from './file-dropzone.types';
@@ -0,0 +1 @@
1
+ export * from './input';
@@ -0,0 +1,6 @@
1
+ import { default as React } from 'react';
2
+ export interface InputProps extends React.InputHTMLAttributes<HTMLInputElement> {
3
+ label?: string;
4
+ error?: string;
5
+ }
6
+ export declare const Input: React.ForwardRefExoticComponent<InputProps & React.RefAttributes<HTMLInputElement>>;
@@ -0,0 +1,9 @@
1
+ import { Meta, StoryObj } from '@storybook/react-vite';
2
+ import { Input } from './input';
3
+ declare const meta: Meta<typeof Input>;
4
+ export default meta;
5
+ type Story = StoryObj<typeof Input>;
6
+ export declare const Default: Story;
7
+ export declare const WithLabel: Story;
8
+ export declare const WithError: Story;
9
+ export declare const Disabled: Story;
@@ -0,0 +1 @@
1
+ export * from './modal';
@@ -0,0 +1,9 @@
1
+ import { default as React } from 'react';
2
+ export interface ModalProps {
3
+ isOpen: boolean;
4
+ onClose: () => void;
5
+ title?: string;
6
+ children: React.ReactNode;
7
+ className?: string;
8
+ }
9
+ export declare const Modal: ({ isOpen, onClose, title, children, className }: ModalProps) => import("react/jsx-runtime").JSX.Element | null;
@@ -0,0 +1,2 @@
1
+ export * from './multi-select';
2
+ export type * from './multi-select.types';
@@ -0,0 +1,3 @@
1
+ import { default as React } from 'react';
2
+ import { MultiSelectProps } from './multi-select.types';
3
+ export declare const MultiSelect: React.FC<MultiSelectProps>;
@@ -0,0 +1,7 @@
1
+ import { Meta, StoryObj } from '@storybook/react-vite';
2
+ import { MultiSelect } from './multi-select';
3
+ declare const meta: Meta<typeof MultiSelect>;
4
+ export default meta;
5
+ type Story = StoryObj<typeof meta>;
6
+ export declare const Default: Story;
7
+ export declare const PreSelected: Story;
@@ -0,0 +1,12 @@
1
+ export interface MultiSelectOption {
2
+ id: string | number;
3
+ name: string;
4
+ }
5
+ export interface MultiSelectProps {
6
+ options: MultiSelectOption[];
7
+ value?: (string | number)[];
8
+ onChange: (value: (string | number)[]) => void;
9
+ label?: string;
10
+ placeholder?: string;
11
+ className?: string;
12
+ }
@@ -0,0 +1,2 @@
1
+ export * from './progress-bar';
2
+ export type * from './progress-bar.types';
@@ -0,0 +1,3 @@
1
+ import { default as React } from 'react';
2
+ import { ProgressBarProps } from './progress-bar.types';
3
+ export declare const ProgressBar: React.FC<ProgressBarProps>;
@@ -0,0 +1,9 @@
1
+ import { Meta, StoryObj } from '@storybook/react-vite';
2
+ import { ProgressBar } from './progress-bar';
3
+ declare const meta: Meta<typeof ProgressBar>;
4
+ export default meta;
5
+ type Story = StoryObj<typeof meta>;
6
+ export declare const Default: Story;
7
+ export declare const NoLabel: Story;
8
+ export declare const CustomColor: Story;
9
+ export declare const Multiple: Story;
@@ -0,0 +1,9 @@
1
+ export interface ProgressBarProps {
2
+ progress?: number;
3
+ label?: string;
4
+ showPercentage?: boolean;
5
+ size?: 'sm' | 'md' | 'lg';
6
+ color?: string;
7
+ animated?: boolean;
8
+ className?: string;
9
+ }
@@ -0,0 +1,2 @@
1
+ export * from './rating';
2
+ export type * from './rating.types';
@@ -0,0 +1,3 @@
1
+ import { default as React } from 'react';
2
+ import { RatingProps } from './rating.types';
3
+ export declare const Rating: React.FC<RatingProps>;