elij-ui-library 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 (90) hide show
  1. package/README.md +100 -0
  2. package/dist/components/ActionLinkButton/ActionLinkButton.d.ts +13 -0
  3. package/dist/components/ActionLinkButton/index.d.ts +2 -0
  4. package/dist/components/Alert/Alert.d.ts +10 -0
  5. package/dist/components/Alert/index.d.ts +2 -0
  6. package/dist/components/Avatar/Avatar.d.ts +9 -0
  7. package/dist/components/Avatar/index.d.ts +2 -0
  8. package/dist/components/Badge/Badge.d.ts +7 -0
  9. package/dist/components/Badge/index.d.ts +2 -0
  10. package/dist/components/Breadcrumb/Breadcrumb.d.ts +12 -0
  11. package/dist/components/Breadcrumb/index.d.ts +2 -0
  12. package/dist/components/Button/Button.d.ts +10 -0
  13. package/dist/components/Button/index.d.ts +2 -0
  14. package/dist/components/Card/Card.d.ts +9 -0
  15. package/dist/components/Card/index.d.ts +2 -0
  16. package/dist/components/Charts/Charts.d.ts +52 -0
  17. package/dist/components/Charts/index.d.ts +2 -0
  18. package/dist/components/Checkbox/Checkbox.d.ts +6 -0
  19. package/dist/components/Checkbox/index.d.ts +2 -0
  20. package/dist/components/Dialog/Dialog.d.ts +12 -0
  21. package/dist/components/Dialog/index.d.ts +2 -0
  22. package/dist/components/Divider/Divider.d.ts +6 -0
  23. package/dist/components/Divider/index.d.ts +2 -0
  24. package/dist/components/Drawer/Drawer.d.ts +13 -0
  25. package/dist/components/Drawer/index.d.ts +2 -0
  26. package/dist/components/Dropdown/Dropdown.d.ts +13 -0
  27. package/dist/components/Dropdown/index.d.ts +2 -0
  28. package/dist/components/Empty/Empty.d.ts +9 -0
  29. package/dist/components/Empty/index.d.ts +2 -0
  30. package/dist/components/EventCarousel/EventCarousel.d.ts +13 -0
  31. package/dist/components/EventCarousel/index.d.ts +2 -0
  32. package/dist/components/FilterTabs/FilterTabs.d.ts +14 -0
  33. package/dist/components/FilterTabs/index.d.ts +2 -0
  34. package/dist/components/Flex/Flex.d.ts +11 -0
  35. package/dist/components/Flex/index.d.ts +2 -0
  36. package/dist/components/Grid/Grid.d.ts +15 -0
  37. package/dist/components/Grid/index.d.ts +2 -0
  38. package/dist/components/Input/Input.d.ts +9 -0
  39. package/dist/components/Input/index.d.ts +2 -0
  40. package/dist/components/Layout/Layout.d.ts +6 -0
  41. package/dist/components/Layout/index.d.ts +1 -0
  42. package/dist/components/Menu/Menu.d.ts +18 -0
  43. package/dist/components/Menu/index.d.ts +2 -0
  44. package/dist/components/Pagination/Pagination.d.ts +10 -0
  45. package/dist/components/Pagination/index.d.ts +2 -0
  46. package/dist/components/Progress/Progress.d.ts +9 -0
  47. package/dist/components/Progress/index.d.ts +2 -0
  48. package/dist/components/RadioGroup/RadioGroup.d.ts +18 -0
  49. package/dist/components/RadioGroup/index.d.ts +2 -0
  50. package/dist/components/Result/Result.d.ts +10 -0
  51. package/dist/components/Result/index.d.ts +2 -0
  52. package/dist/components/SectionHeading/SectionHeading.d.ts +8 -0
  53. package/dist/components/SectionHeading/index.d.ts +2 -0
  54. package/dist/components/Select/Select.d.ts +16 -0
  55. package/dist/components/Select/index.d.ts +2 -0
  56. package/dist/components/Skeleton/Skeleton.d.ts +8 -0
  57. package/dist/components/Skeleton/index.d.ts +2 -0
  58. package/dist/components/Space/Space.d.ts +9 -0
  59. package/dist/components/Space/index.d.ts +2 -0
  60. package/dist/components/Spinner/Spinner.d.ts +6 -0
  61. package/dist/components/Spinner/index.d.ts +2 -0
  62. package/dist/components/Steps/Steps.d.ts +16 -0
  63. package/dist/components/Steps/index.d.ts +2 -0
  64. package/dist/components/Switch/Switch.d.ts +8 -0
  65. package/dist/components/Switch/index.d.ts +2 -0
  66. package/dist/components/Table/Table.d.ts +18 -0
  67. package/dist/components/Table/index.d.ts +2 -0
  68. package/dist/components/Tabs/Tabs.d.ts +17 -0
  69. package/dist/components/Tabs/index.d.ts +2 -0
  70. package/dist/components/Tag/Tag.d.ts +9 -0
  71. package/dist/components/Tag/index.d.ts +2 -0
  72. package/dist/components/Textarea/Textarea.d.ts +9 -0
  73. package/dist/components/Textarea/index.d.ts +2 -0
  74. package/dist/components/Tooltip/Tooltip.d.ts +8 -0
  75. package/dist/components/Tooltip/index.d.ts +2 -0
  76. package/dist/components/Typography/Typography.d.ts +15 -0
  77. package/dist/components/Typography/index.d.ts +2 -0
  78. package/dist/components/WhatsAppButton/WhatsAppButton.d.ts +13 -0
  79. package/dist/components/WhatsAppButton/index.d.ts +2 -0
  80. package/dist/i18n/messages.d.ts +59 -0
  81. package/dist/icons/WhatsAppIcon.d.ts +6 -0
  82. package/dist/icons/index.d.ts +2 -0
  83. package/dist/index.cjs +1 -0
  84. package/dist/index.d.ts +81 -0
  85. package/dist/index.js +778 -0
  86. package/dist/provider/UIContext.d.ts +10 -0
  87. package/dist/provider/UIProvider.d.ts +10 -0
  88. package/dist/provider/index.d.ts +5 -0
  89. package/dist/ui-library.css +1 -0
  90. package/package.json +77 -0
package/README.md ADDED
@@ -0,0 +1,100 @@
1
+ # Elij UI
2
+
3
+ A reusable React + TypeScript component library with Storybook documentation.
4
+
5
+ ## Development
6
+
7
+ ```bash
8
+ npm install
9
+ npm run dev
10
+ ```
11
+
12
+ Storybook will be available at `http://localhost:6006`.
13
+
14
+ ## Build
15
+
16
+ ```bash
17
+ npm run build
18
+ npm run build-storybook
19
+ ```
20
+
21
+ ## Components
22
+
23
+ - Actions: `Button`
24
+ - Data visualization: `LineChart`, `BarChart`, `AreaChart`, `PieChart`, `DonutChart`, `StackedBarChart`, `StackedBarLineChart`, `VerticalBarChart`, `HorizontalBarChart`, `GroupedBarChart`, `DualAxisChart`
25
+ - General: `Title`, `Text`, `Paragraph`, `Link`
26
+ - Forms: `Input`, `Textarea`, `Checkbox`, `RadioGroup`, `Switch`, `Select`
27
+ - Navigation: `Menu`, `Dropdown`, `Tabs`, `Breadcrumb`, `Pagination`, `Steps`
28
+ - Feedback: `Alert`, `Spinner`, `Skeleton`, `Progress`, `Result`
29
+ - Data display: `Badge`, `Card`, `CardHeader`, `CardBody`, `CardFooter`, `Avatar`, `Tag`, `Tooltip`, `Table`, `Empty`
30
+ - Overlay: `Dialog`, `Drawer`
31
+ - Layout: `Divider`, `Space`, `Flex`, `Row`, `Col`, `Layout`, `Header`, `Sider`, `Content`, `Footer`
32
+
33
+ Every component includes TypeScript types and Storybook examples. Form controls expose native HTML attributes, and interactive components include keyboard and accessibility semantics.
34
+
35
+ ## Test
36
+
37
+ ```bash
38
+ npm run test
39
+ npm run typecheck
40
+ npm run lint
41
+ ```
42
+
43
+ ## Use from another local project
44
+
45
+ Build this library first, then install it from the consuming project:
46
+
47
+ ```bash
48
+ npm install ../ui-library
49
+ ```
50
+
51
+ Import the shared stylesheet once in your application's entry file, then use components normally:
52
+
53
+ ```tsx
54
+ import 'elij-ui-library/styles.css';
55
+ import { Button } from 'elij-ui-library';
56
+
57
+ export function Example() {
58
+ return <Button variant="primary">Continue</Button>;
59
+ }
60
+ ```
61
+
62
+ ## Locale and color themes
63
+
64
+ Wrap your application, or one section of it, with `UIProvider`. English and light theme are used by default.
65
+
66
+ ```tsx
67
+ import 'elij-ui-library/styles.css';
68
+ import { Button, UIProvider, useUI } from 'elij-ui-library';
69
+
70
+ function Actions() {
71
+ const { t } = useUI();
72
+ return <Button>{t('next')}</Button>;
73
+ }
74
+
75
+ export function App() {
76
+ return (
77
+ <UIProvider locale="zh-CN" theme="dark">
78
+ <Actions />
79
+ </UIProvider>
80
+ );
81
+ }
82
+ ```
83
+
84
+ Built-in locales are `en` and `zh-CN`. Built-in themes are `light`, `dark`, and `ocean`. Add another locale by passing `messages`, and add another theme by defining CSS variables under your own `[data-ui-theme="..."]` selector.
85
+
86
+ Elij UI automatically translates built-in control text and accessible labels such as close, loading, pagination, menus, tabs, steps, and progress. Product-specific content—titles, field labels, table data, and messages—remains owned by the consuming application and should be passed through props. In Storybook, use the globe toolbar to switch both component semantics and demo content between English and Simplified Chinese.
87
+
88
+ ```tsx
89
+ <UIProvider
90
+ locale="en-SG"
91
+ messages={{ next: 'Carry on' }}
92
+ theme="my-theme"
93
+ >
94
+ <App />
95
+ </UIProvider>
96
+ ```
97
+
98
+ For active development across projects, use `npm link` or a workspace monorepo. Before publishing to npm, remove `private: true` from `package.json`, choose an available package name, and run `npm publish --access public`.
99
+
100
+ Charts are responsive and theme-aware, with loading, empty, tooltip, legend, formatter, custom palette, and accessible-label support. Cartesian charts accept `data`, `series`, and `xKey`; pie charts accept `nameKey` and `valueKey`.
@@ -0,0 +1,13 @@
1
+ import { ReactNode } from 'react';
2
+ import { ButtonSize, ButtonVariant } from '../Button';
3
+ export interface ActionLinkButtonProps {
4
+ href: string;
5
+ children: ReactNode;
6
+ icon?: ReactNode;
7
+ size?: ButtonSize;
8
+ variant?: ButtonVariant;
9
+ className?: string;
10
+ target?: string;
11
+ rel?: string;
12
+ }
13
+ export declare function ActionLinkButton({ href, children, icon, size, variant, className, target, rel, }: ActionLinkButtonProps): import("react").JSX.Element;
@@ -0,0 +1,2 @@
1
+ export { ActionLinkButton } from './ActionLinkButton';
2
+ export type { ActionLinkButtonProps } from './ActionLinkButton';
@@ -0,0 +1,10 @@
1
+ import { HTMLAttributes, ReactNode } from 'react';
2
+ export type AlertVariant = 'info' | 'success' | 'warning' | 'error';
3
+ export interface AlertProps extends Omit<HTMLAttributes<HTMLDivElement>, 'title'> {
4
+ children: ReactNode;
5
+ title?: ReactNode;
6
+ variant?: AlertVariant;
7
+ onDismiss?: () => void;
8
+ dismissLabel?: string;
9
+ }
10
+ export declare function Alert({ children, title, variant, onDismiss, dismissLabel, className, ...props }: AlertProps): import("react").JSX.Element;
@@ -0,0 +1,2 @@
1
+ export { Alert } from './Alert';
2
+ export type { AlertProps, AlertVariant } from './Alert';
@@ -0,0 +1,9 @@
1
+ import { HTMLAttributes, ReactNode } from 'react';
2
+ export interface AvatarProps extends HTMLAttributes<HTMLSpanElement> {
3
+ src?: string;
4
+ alt?: string;
5
+ children?: ReactNode;
6
+ size?: 'small' | 'medium' | 'large' | number;
7
+ shape?: 'circle' | 'square';
8
+ }
9
+ export declare function Avatar({ src, alt, children, size, shape, className, style, ...props }: AvatarProps): import("react").JSX.Element;
@@ -0,0 +1,2 @@
1
+ export { Avatar } from './Avatar';
2
+ export type { AvatarProps } from './Avatar';
@@ -0,0 +1,7 @@
1
+ import { HTMLAttributes, ReactNode } from 'react';
2
+ export type BadgeVariant = 'neutral' | 'primary' | 'success' | 'warning' | 'danger';
3
+ export interface BadgeProps extends HTMLAttributes<HTMLSpanElement> {
4
+ children: ReactNode;
5
+ variant?: BadgeVariant;
6
+ }
7
+ export declare function Badge({ children, variant, className, ...props }: BadgeProps): import("react").JSX.Element;
@@ -0,0 +1,2 @@
1
+ export { Badge } from './Badge';
2
+ export type { BadgeProps, BadgeVariant } from './Badge';
@@ -0,0 +1,12 @@
1
+ import { ReactNode } from 'react';
2
+ export interface BreadcrumbItem {
3
+ label: ReactNode;
4
+ href?: string;
5
+ }
6
+ export interface BreadcrumbProps {
7
+ items: BreadcrumbItem[];
8
+ separator?: ReactNode;
9
+ ariaLabel?: string;
10
+ className?: string;
11
+ }
12
+ export declare function Breadcrumb({ items, separator, ariaLabel, className }: BreadcrumbProps): import("react").JSX.Element;
@@ -0,0 +1,2 @@
1
+ export { Breadcrumb } from './Breadcrumb';
2
+ export type { BreadcrumbItem, BreadcrumbProps } from './Breadcrumb';
@@ -0,0 +1,10 @@
1
+ import { ButtonHTMLAttributes, ReactNode } from 'react';
2
+ export type ButtonVariant = 'primary' | 'secondary' | 'ghost';
3
+ export type ButtonSize = 'small' | 'medium' | 'large';
4
+ export interface ButtonProps extends ButtonHTMLAttributes<HTMLButtonElement> {
5
+ children: ReactNode;
6
+ variant?: ButtonVariant;
7
+ size?: ButtonSize;
8
+ fullWidth?: boolean;
9
+ }
10
+ 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, ButtonSize, ButtonVariant } from './Button';
@@ -0,0 +1,9 @@
1
+ import { HTMLAttributes, ReactNode } from 'react';
2
+ export interface CardProps extends HTMLAttributes<HTMLDivElement> {
3
+ children: ReactNode;
4
+ interactive?: boolean;
5
+ }
6
+ export declare function Card({ children, interactive, className, ...props }: CardProps): import("react").JSX.Element;
7
+ export declare function CardHeader({ className, ...props }: HTMLAttributes<HTMLDivElement>): import("react").JSX.Element;
8
+ export declare function CardBody({ className, ...props }: HTMLAttributes<HTMLDivElement>): import("react").JSX.Element;
9
+ export declare function CardFooter({ className, ...props }: HTMLAttributes<HTMLDivElement>): import("react").JSX.Element;
@@ -0,0 +1,2 @@
1
+ export { Card, CardBody, CardFooter, CardHeader } from './Card';
2
+ export type { CardProps } from './Card';
@@ -0,0 +1,52 @@
1
+ import { ReactNode } from 'react';
2
+ export interface ChartSeries {
3
+ dataKey: string;
4
+ name?: string;
5
+ color?: string;
6
+ stackId?: string;
7
+ yAxisId?: string;
8
+ }
9
+ export interface CartesianChartProps {
10
+ data: Record<string, unknown>[];
11
+ series: ChartSeries[];
12
+ xKey: string;
13
+ height?: number;
14
+ loading?: boolean;
15
+ showGrid?: boolean;
16
+ showLegend?: boolean;
17
+ showTooltip?: boolean;
18
+ ariaLabel?: string;
19
+ valueFormatter?: (value: unknown) => ReactNode;
20
+ barSize?: number;
21
+ className?: string;
22
+ }
23
+ export interface CombinationChartProps extends Omit<CartesianChartProps, 'series'> {
24
+ barSeries: ChartSeries[];
25
+ lineSeries: ChartSeries[];
26
+ dualAxis?: boolean;
27
+ }
28
+ export interface PieChartProps {
29
+ data: Record<string, unknown>[];
30
+ nameKey: string;
31
+ valueKey: string;
32
+ height?: number;
33
+ loading?: boolean;
34
+ donut?: boolean;
35
+ colors?: string[];
36
+ showLegend?: boolean;
37
+ showTooltip?: boolean;
38
+ ariaLabel?: string;
39
+ valueFormatter?: (value: unknown) => ReactNode;
40
+ className?: string;
41
+ }
42
+ export declare function LineChart(props: CartesianChartProps): import("react").JSX.Element;
43
+ export declare function BarChart(props: CartesianChartProps): import("react").JSX.Element;
44
+ export declare function AreaChart(props: CartesianChartProps): import("react").JSX.Element;
45
+ export declare function VerticalBarChart(props: CartesianChartProps): import("react").JSX.Element;
46
+ export declare function GroupedBarChart(props: CartesianChartProps): import("react").JSX.Element;
47
+ export declare function StackedBarChart({ series, ...props }: CartesianChartProps): import("react").JSX.Element;
48
+ export declare function HorizontalBarChart({ data, series, xKey, height, loading, showGrid, showLegend, showTooltip, ariaLabel, valueFormatter, barSize, className }: CartesianChartProps): import("react").JSX.Element;
49
+ export declare function StackedBarLineChart({ data, barSeries, lineSeries, xKey, dualAxis, height, loading, showGrid, showLegend, showTooltip, ariaLabel, valueFormatter, barSize, className }: CombinationChartProps): import("react").JSX.Element;
50
+ export declare function DualAxisChart(props: CombinationChartProps): import("react").JSX.Element;
51
+ export declare function PieChart({ data, nameKey, valueKey, height, loading, donut, colors, showLegend, showTooltip, ariaLabel, valueFormatter, className }: PieChartProps): import("react").JSX.Element;
52
+ export declare function DonutChart(props: Omit<PieChartProps, 'donut'>): import("react").JSX.Element;
@@ -0,0 +1,2 @@
1
+ export { AreaChart, BarChart, DonutChart, DualAxisChart, GroupedBarChart, HorizontalBarChart, LineChart, PieChart, StackedBarChart, StackedBarLineChart, VerticalBarChart } from './Charts';
2
+ export type { CartesianChartProps, ChartSeries, CombinationChartProps, PieChartProps } from './Charts';
@@ -0,0 +1,6 @@
1
+ import { InputHTMLAttributes, ReactNode } from 'react';
2
+ export interface CheckboxProps extends Omit<InputHTMLAttributes<HTMLInputElement>, 'type'> {
3
+ label?: ReactNode;
4
+ indeterminate?: boolean;
5
+ }
6
+ 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,12 @@
1
+ import { ReactNode } from 'react';
2
+ export interface DialogProps {
3
+ open: boolean;
4
+ onOpenChange: (open: boolean) => void;
5
+ title: ReactNode;
6
+ description?: ReactNode;
7
+ children: ReactNode;
8
+ footer?: ReactNode;
9
+ closeLabel?: string;
10
+ closeOnOverlayClick?: boolean;
11
+ }
12
+ export declare function Dialog({ open, onOpenChange, title, description, children, footer, closeLabel, closeOnOverlayClick }: DialogProps): import("react").JSX.Element | null;
@@ -0,0 +1,2 @@
1
+ export { Dialog } from './Dialog';
2
+ export type { DialogProps } from './Dialog';
@@ -0,0 +1,6 @@
1
+ import { HTMLAttributes, ReactNode } from 'react';
2
+ export interface DividerProps extends HTMLAttributes<HTMLDivElement> {
3
+ orientation?: 'horizontal' | 'vertical';
4
+ label?: ReactNode;
5
+ }
6
+ export declare function Divider({ orientation, label, className, ...props }: DividerProps): import("react").JSX.Element;
@@ -0,0 +1,2 @@
1
+ export { Divider } from './Divider';
2
+ export type { DividerProps } from './Divider';
@@ -0,0 +1,13 @@
1
+ import { ReactNode } from 'react';
2
+ export interface DrawerProps {
3
+ open: boolean;
4
+ onOpenChange: (open: boolean) => void;
5
+ title: ReactNode;
6
+ children: ReactNode;
7
+ footer?: ReactNode;
8
+ placement?: 'left' | 'right';
9
+ width?: number | string;
10
+ closeLabel?: string;
11
+ closeOnOverlayClick?: boolean;
12
+ }
13
+ export declare function Drawer({ open, onOpenChange, title, children, footer, placement, width, closeLabel, closeOnOverlayClick }: DrawerProps): import("react").JSX.Element | null;
@@ -0,0 +1,2 @@
1
+ export { Drawer } from './Drawer';
2
+ export type { DrawerProps } from './Drawer';
@@ -0,0 +1,13 @@
1
+ import { ReactElement, ReactNode } from 'react';
2
+ import { MenuItem } from '../Menu';
3
+ export interface DropdownProps {
4
+ trigger: ReactElement;
5
+ items: MenuItem[];
6
+ open?: boolean;
7
+ defaultOpen?: boolean;
8
+ onOpenChange?: (open: boolean) => void;
9
+ onSelect?: (key: string) => void;
10
+ placement?: 'bottom-start' | 'bottom-end';
11
+ children?: ReactNode;
12
+ }
13
+ export declare function Dropdown({ trigger, items, open, defaultOpen, onOpenChange, onSelect, placement }: DropdownProps): import("react").JSX.Element;
@@ -0,0 +1,2 @@
1
+ export { Dropdown } from './Dropdown';
2
+ export type { DropdownProps } from './Dropdown';
@@ -0,0 +1,9 @@
1
+ import { ReactNode } from 'react';
2
+ export interface EmptyProps {
3
+ description?: ReactNode;
4
+ image?: ReactNode;
5
+ children?: ReactNode;
6
+ compact?: boolean;
7
+ className?: string;
8
+ }
9
+ export declare function Empty({ description, image, children, compact, className }: EmptyProps): import("react").JSX.Element;
@@ -0,0 +1,2 @@
1
+ export { Empty } from './Empty';
2
+ export type { EmptyProps } from './Empty';
@@ -0,0 +1,13 @@
1
+ import { ReactNode } from 'react';
2
+ export type CarouselMedia = {
3
+ src: string;
4
+ alt?: string;
5
+ type?: 'image' | 'video';
6
+ };
7
+ export interface EventCarouselProps {
8
+ title: ReactNode;
9
+ description?: ReactNode;
10
+ media: readonly CarouselMedia[];
11
+ className?: string;
12
+ }
13
+ export declare function EventCarousel({ title, description, media, className }: EventCarouselProps): import("react").JSX.Element;
@@ -0,0 +1,2 @@
1
+ export { EventCarousel } from './EventCarousel';
2
+ export type { CarouselMedia, EventCarouselProps } from './EventCarousel';
@@ -0,0 +1,14 @@
1
+ import { ReactNode } from 'react';
2
+ export interface FilterTabItem {
3
+ id: string;
4
+ label: ReactNode;
5
+ disabled?: boolean;
6
+ }
7
+ export interface FilterTabsProps {
8
+ items: readonly FilterTabItem[];
9
+ activeKey: string;
10
+ onChange?: (key: string) => void;
11
+ ariaLabel?: string;
12
+ className?: string;
13
+ }
14
+ export declare function FilterTabs({ items, activeKey, onChange, ariaLabel, className }: FilterTabsProps): import("react").JSX.Element;
@@ -0,0 +1,2 @@
1
+ export { FilterTabs } from './FilterTabs';
2
+ export type { FilterTabItem, FilterTabsProps } from './FilterTabs';
@@ -0,0 +1,11 @@
1
+ import { CSSProperties, HTMLAttributes, ReactNode } from 'react';
2
+ export interface FlexProps extends HTMLAttributes<HTMLDivElement> {
3
+ children: ReactNode;
4
+ vertical?: boolean;
5
+ gap?: number | string;
6
+ align?: CSSProperties['alignItems'];
7
+ justify?: CSSProperties['justifyContent'];
8
+ wrap?: CSSProperties['flexWrap'];
9
+ flex?: CSSProperties['flex'];
10
+ }
11
+ export declare function Flex({ children, vertical, gap, align, justify, wrap, flex, className, style, ...props }: FlexProps): import("react").JSX.Element;
@@ -0,0 +1,2 @@
1
+ export { Flex } from './Flex';
2
+ export type { FlexProps } from './Flex';
@@ -0,0 +1,15 @@
1
+ import { CSSProperties, HTMLAttributes, ReactNode } from 'react';
2
+ export interface RowProps extends HTMLAttributes<HTMLDivElement> {
3
+ children: ReactNode;
4
+ gutter?: number;
5
+ align?: CSSProperties['alignItems'];
6
+ justify?: CSSProperties['justifyContent'];
7
+ }
8
+ export declare function Row({ children, gutter, align, justify, className, style, ...props }: RowProps): import("react").JSX.Element;
9
+ export interface ColProps extends HTMLAttributes<HTMLDivElement> {
10
+ children: ReactNode;
11
+ span?: number;
12
+ offset?: number;
13
+ gutter?: number;
14
+ }
15
+ export declare function Col({ children, span, offset, gutter, className, style, ...props }: ColProps): import("react").JSX.Element;
@@ -0,0 +1,2 @@
1
+ export { Col, Row } from './Grid';
2
+ export type { ColProps, RowProps } from './Grid';
@@ -0,0 +1,9 @@
1
+ import { InputHTMLAttributes, ReactNode } from 'react';
2
+ export interface InputProps extends InputHTMLAttributes<HTMLInputElement> {
3
+ label?: ReactNode;
4
+ helperText?: ReactNode;
5
+ error?: boolean;
6
+ errorMessage?: ReactNode;
7
+ fullWidth?: boolean;
8
+ }
9
+ export declare const Input: import('react').ForwardRefExoticComponent<InputProps & import('react').RefAttributes<HTMLInputElement>>;
@@ -0,0 +1,2 @@
1
+ export { Input } from './Input';
2
+ export type { InputProps } from './Input';
@@ -0,0 +1,6 @@
1
+ import { HTMLAttributes } from 'react';
2
+ export declare function Layout({ className, ...props }: HTMLAttributes<HTMLDivElement>): import("react").JSX.Element;
3
+ export declare const Header: ({ className, ...props }: HTMLAttributes<HTMLElement>) => import("react").JSX.Element;
4
+ export declare const Sider: ({ className, ...props }: HTMLAttributes<HTMLElement>) => import("react").JSX.Element;
5
+ export declare const Content: ({ className, ...props }: HTMLAttributes<HTMLElement>) => import("react").JSX.Element;
6
+ export declare const Footer: ({ className, ...props }: HTMLAttributes<HTMLElement>) => import("react").JSX.Element;
@@ -0,0 +1 @@
1
+ export { Content, Footer, Header, Layout, Sider } from './Layout';
@@ -0,0 +1,18 @@
1
+ import { ReactNode } from 'react';
2
+ export interface MenuItem {
3
+ key: string;
4
+ label: ReactNode;
5
+ icon?: ReactNode;
6
+ disabled?: boolean;
7
+ danger?: boolean;
8
+ }
9
+ export interface MenuProps {
10
+ items: MenuItem[];
11
+ selectedKey?: string;
12
+ defaultSelectedKey?: string;
13
+ onSelect?: (key: string) => void;
14
+ mode?: 'vertical' | 'horizontal';
15
+ ariaLabel?: string;
16
+ className?: string;
17
+ }
18
+ export declare function Menu({ items, selectedKey, defaultSelectedKey, onSelect, mode, ariaLabel, className }: MenuProps): import("react").JSX.Element;
@@ -0,0 +1,2 @@
1
+ export { Menu } from './Menu';
2
+ export type { MenuItem, MenuProps } from './Menu';
@@ -0,0 +1,10 @@
1
+ export interface PaginationProps {
2
+ current: number;
3
+ total: number;
4
+ pageSize?: number;
5
+ onChange: (page: number) => void;
6
+ siblingCount?: number;
7
+ ariaLabel?: string;
8
+ className?: string;
9
+ }
10
+ export declare function Pagination({ current, total, pageSize, onChange, siblingCount, ariaLabel, className }: PaginationProps): import("react").JSX.Element;
@@ -0,0 +1,2 @@
1
+ export { Pagination } from './Pagination';
2
+ export type { PaginationProps } from './Pagination';
@@ -0,0 +1,9 @@
1
+ import { HTMLAttributes } from 'react';
2
+ export interface ProgressProps extends Omit<HTMLAttributes<HTMLDivElement>, 'type'> {
3
+ percent: number;
4
+ type?: 'line' | 'circle';
5
+ status?: 'normal' | 'success' | 'error';
6
+ showInfo?: boolean;
7
+ label?: string;
8
+ }
9
+ export declare function Progress({ percent, type, status, showInfo, label, className, ...props }: ProgressProps): import("react").JSX.Element;
@@ -0,0 +1,2 @@
1
+ export { Progress } from './Progress';
2
+ export type { ProgressProps } from './Progress';
@@ -0,0 +1,18 @@
1
+ import { ReactNode } from 'react';
2
+ export interface RadioOption {
3
+ label: ReactNode;
4
+ value: string;
5
+ disabled?: boolean;
6
+ }
7
+ export interface RadioGroupProps {
8
+ name?: string;
9
+ label?: ReactNode;
10
+ options: RadioOption[];
11
+ value?: string;
12
+ defaultValue?: string;
13
+ onValueChange?: (value: string) => void;
14
+ disabled?: boolean;
15
+ orientation?: 'horizontal' | 'vertical';
16
+ className?: string;
17
+ }
18
+ export declare function RadioGroup({ name, label, options, value, defaultValue, onValueChange, disabled, orientation, className }: RadioGroupProps): import("react").JSX.Element;
@@ -0,0 +1,2 @@
1
+ export { RadioGroup } from './RadioGroup';
2
+ export type { RadioGroupProps, RadioOption } from './RadioGroup';
@@ -0,0 +1,10 @@
1
+ import { ReactNode } from 'react';
2
+ export interface ResultProps {
3
+ status?: 'success' | 'info' | 'warning' | 'error';
4
+ title: ReactNode;
5
+ description?: ReactNode;
6
+ icon?: ReactNode;
7
+ actions?: ReactNode;
8
+ className?: string;
9
+ }
10
+ export declare function Result({ status, title, description, icon, actions, className }: ResultProps): import("react").JSX.Element;
@@ -0,0 +1,2 @@
1
+ export { Result } from './Result';
2
+ export type { ResultProps } from './Result';
@@ -0,0 +1,8 @@
1
+ import { ReactNode } from 'react';
2
+ export interface SectionHeadingProps {
3
+ eyebrow: ReactNode;
4
+ title: ReactNode;
5
+ description?: ReactNode;
6
+ className?: string;
7
+ }
8
+ export declare function SectionHeading({ eyebrow, title, description, className }: SectionHeadingProps): import("react").JSX.Element;
@@ -0,0 +1,2 @@
1
+ export { SectionHeading } from './SectionHeading';
2
+ export type { SectionHeadingProps } from './SectionHeading';
@@ -0,0 +1,16 @@
1
+ import { ReactNode, SelectHTMLAttributes } from 'react';
2
+ export interface SelectOption {
3
+ label: ReactNode;
4
+ value: string;
5
+ disabled?: boolean;
6
+ }
7
+ export interface SelectProps extends SelectHTMLAttributes<HTMLSelectElement> {
8
+ label?: ReactNode;
9
+ helperText?: ReactNode;
10
+ error?: boolean;
11
+ errorMessage?: ReactNode;
12
+ options: SelectOption[];
13
+ placeholder?: string;
14
+ fullWidth?: boolean;
15
+ }
16
+ export declare const Select: import('react').ForwardRefExoticComponent<SelectProps & import('react').RefAttributes<HTMLSelectElement>>;
@@ -0,0 +1,2 @@
1
+ export { Select } from './Select';
2
+ export type { SelectOption, SelectProps } from './Select';
@@ -0,0 +1,8 @@
1
+ import { HTMLAttributes } from 'react';
2
+ export interface SkeletonProps extends HTMLAttributes<HTMLSpanElement> {
3
+ variant?: 'text' | 'circle' | 'rectangle';
4
+ width?: number | string;
5
+ height?: number | string;
6
+ animated?: boolean;
7
+ }
8
+ export declare function Skeleton({ variant, width, height, animated, className, style, ...props }: SkeletonProps): import("react").JSX.Element;
@@ -0,0 +1,2 @@
1
+ export { Skeleton } from './Skeleton';
2
+ export type { SkeletonProps } from './Skeleton';
@@ -0,0 +1,9 @@
1
+ import { CSSProperties, HTMLAttributes, ReactNode } from 'react';
2
+ export interface SpaceProps extends HTMLAttributes<HTMLDivElement> {
3
+ children: ReactNode;
4
+ direction?: 'horizontal' | 'vertical';
5
+ size?: 'small' | 'medium' | 'large' | number;
6
+ wrap?: boolean;
7
+ align?: CSSProperties['alignItems'];
8
+ }
9
+ export declare function Space({ children, direction, size, wrap, align, className, style, ...props }: SpaceProps): import("react").JSX.Element;
@@ -0,0 +1,2 @@
1
+ export { Space } from './Space';
2
+ export type { SpaceProps } from './Space';