northline 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.
- package/LICENSE +4 -0
- package/README.md +250 -0
- package/dist/chartSetup.d.ts +3 -0
- package/dist/chartTheme.d.ts +67 -0
- package/dist/components/Accordion.d.ts +17 -0
- package/dist/components/Alert.d.ts +9 -0
- package/dist/components/Avatar.d.ts +10 -0
- package/dist/components/AvatarGroup.d.ts +7 -0
- package/dist/components/Badge.d.ts +8 -0
- package/dist/components/Breadcrumbs.d.ts +8 -0
- package/dist/components/BulletChart.d.ts +10 -0
- package/dist/components/Button.d.ts +6 -0
- package/dist/components/ButtonGroup.d.ts +5 -0
- package/dist/components/Card.d.ts +7 -0
- package/dist/components/Carousel.d.ts +7 -0
- package/dist/components/ChartCard.d.ts +23 -0
- package/dist/components/ChartLegend.d.ts +10 -0
- package/dist/components/Checkbox.d.ts +8 -0
- package/dist/components/CodeBlock.d.ts +6 -0
- package/dist/components/ColorPicker.d.ts +7 -0
- package/dist/components/Combobox.d.ts +13 -0
- package/dist/components/Container.d.ts +7 -0
- package/dist/components/CopyButton.d.ts +5 -0
- package/dist/components/DatePicker.d.ts +9 -0
- package/dist/components/DateRangePicker.d.ts +9 -0
- package/dist/components/DescriptionList.d.ts +10 -0
- package/dist/components/Divider.d.ts +6 -0
- package/dist/components/Drawer.d.ts +11 -0
- package/dist/components/EmptyState.d.ts +8 -0
- package/dist/components/ErrorBoundary.d.ts +18 -0
- package/dist/components/Fieldset.d.ts +9 -0
- package/dist/components/FileUpload.d.ts +10 -0
- package/dist/components/Gauge.d.ts +10 -0
- package/dist/components/Grid.d.ts +8 -0
- package/dist/components/Heading.d.ts +7 -0
- package/dist/components/Icon.d.ts +8 -0
- package/dist/components/IconButton.d.ts +8 -0
- package/dist/components/InfoTooltip.d.ts +4 -0
- package/dist/components/Input.d.ts +10 -0
- package/dist/components/Kbd.d.ts +5 -0
- package/dist/components/Link.d.ts +6 -0
- package/dist/components/List.d.ts +11 -0
- package/dist/components/LoadingOverlay.d.ts +7 -0
- package/dist/components/Menu.d.ts +13 -0
- package/dist/components/MiniBar.d.ts +6 -0
- package/dist/components/Modal.d.ts +10 -0
- package/dist/components/Navbar.d.ts +7 -0
- package/dist/components/NumberStepper.d.ts +10 -0
- package/dist/components/OTPInput.d.ts +8 -0
- package/dist/components/Pagination.d.ts +6 -0
- package/dist/components/PasswordInput.d.ts +13 -0
- package/dist/components/Popover.d.ts +8 -0
- package/dist/components/Portal.d.ts +5 -0
- package/dist/components/ProgressBar.d.ts +9 -0
- package/dist/components/Radio.d.ts +23 -0
- package/dist/components/Rating.d.ts +7 -0
- package/dist/components/ScoreCard.d.ts +10 -0
- package/dist/components/SearchInput.d.ts +7 -0
- package/dist/components/SegmentedControl.d.ts +12 -0
- package/dist/components/Select.d.ts +22 -0
- package/dist/components/Sidebar.d.ts +14 -0
- package/dist/components/Skeleton.d.ts +8 -0
- package/dist/components/Slider.d.ts +13 -0
- package/dist/components/Sparkline.d.ts +6 -0
- package/dist/components/Spinner.d.ts +5 -0
- package/dist/components/Stack.d.ts +13 -0
- package/dist/components/StatusDot.d.ts +8 -0
- package/dist/components/Stepper.d.ts +11 -0
- package/dist/components/Switch.d.ts +8 -0
- package/dist/components/Table.d.ts +15 -0
- package/dist/components/Tabs.d.ts +12 -0
- package/dist/components/TagInput.d.ts +8 -0
- package/dist/components/Text.d.ts +11 -0
- package/dist/components/Textarea.d.ts +10 -0
- package/dist/components/Timeline.d.ts +13 -0
- package/dist/components/Toast.d.ts +14 -0
- package/dist/components/Tooltip.d.ts +7 -0
- package/dist/components/Tree.d.ts +13 -0
- package/dist/hooks/useClickOutside.d.ts +2 -0
- package/dist/index.d.ts +78 -0
- package/dist/index.js +2769 -0
- package/dist/index.js.map +1 -0
- package/dist/theme.css +2 -0
- package/package.json +46 -0
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
export type IconName = 'close' | 'check' | 'chevron-left' | 'chevron-right' | 'kebab' | 'drag-handle' | 'copy' | 'trash' | 'plus' | 'minus' | 'upload' | 'star' | 'info' | 'warning' | 'settings' | 'inbox' | 'search' | 'calendar' | 'eye' | 'eye-off';
|
|
2
|
+
export interface IconProps {
|
|
3
|
+
name: IconName;
|
|
4
|
+
size?: number;
|
|
5
|
+
color?: string;
|
|
6
|
+
filled?: boolean;
|
|
7
|
+
}
|
|
8
|
+
export default function Icon({ name, size, color, filled }: IconProps): import('react').JSX.Element;
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import { ButtonHTMLAttributes, ReactNode } from 'react';
|
|
2
|
+
export interface IconButtonProps extends Omit<ButtonHTMLAttributes<HTMLButtonElement>, 'size'> {
|
|
3
|
+
children: ReactNode;
|
|
4
|
+
variant?: 'primary' | 'secondary' | 'ghost' | 'danger';
|
|
5
|
+
size?: 'sm' | 'md';
|
|
6
|
+
label: string;
|
|
7
|
+
}
|
|
8
|
+
export default function IconButton({ children, variant, size, label, ...rest }: IconButtonProps): import('react').JSX.Element;
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import { InputHTMLAttributes, ReactNode } from 'react';
|
|
2
|
+
export interface InputProps extends Omit<InputHTMLAttributes<HTMLInputElement>, 'onChange' | 'value' | 'id'> {
|
|
3
|
+
label?: ReactNode;
|
|
4
|
+
value: string;
|
|
5
|
+
onChange: (value: string) => void;
|
|
6
|
+
error?: boolean;
|
|
7
|
+
hint?: ReactNode;
|
|
8
|
+
id?: string;
|
|
9
|
+
}
|
|
10
|
+
export default function Input({ label, value, onChange, type, placeholder, disabled, error, hint, id, ...rest }: InputProps): import('react').JSX.Element;
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
import { AnchorHTMLAttributes, ReactNode } from 'react';
|
|
2
|
+
export interface LinkProps extends Omit<AnchorHTMLAttributes<HTMLAnchorElement>, 'className'> {
|
|
3
|
+
children: ReactNode;
|
|
4
|
+
external?: boolean;
|
|
5
|
+
}
|
|
6
|
+
export default function Link({ children, external, ...rest }: LinkProps): import('react').JSX.Element;
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import { Key, ReactNode } from 'react';
|
|
2
|
+
export interface ListItemData {
|
|
3
|
+
id: Key;
|
|
4
|
+
content: ReactNode;
|
|
5
|
+
onClick?: () => void;
|
|
6
|
+
}
|
|
7
|
+
export interface ListProps {
|
|
8
|
+
items: ListItemData[];
|
|
9
|
+
bordered?: boolean;
|
|
10
|
+
}
|
|
11
|
+
export default function List({ items, bordered }: ListProps): import('react').JSX.Element;
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import { ReactNode } from 'react';
|
|
2
|
+
export interface MenuItem {
|
|
3
|
+
label: string;
|
|
4
|
+
onClick?: () => void;
|
|
5
|
+
danger?: boolean;
|
|
6
|
+
disabled?: boolean;
|
|
7
|
+
}
|
|
8
|
+
export interface MenuProps {
|
|
9
|
+
items: MenuItem[];
|
|
10
|
+
label?: string;
|
|
11
|
+
trigger?: ReactNode;
|
|
12
|
+
}
|
|
13
|
+
export default function Menu({ items, label, trigger }: MenuProps): import('react').JSX.Element;
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import { ReactNode } from 'react';
|
|
2
|
+
export interface ModalProps {
|
|
3
|
+
open: boolean;
|
|
4
|
+
onClose?: () => void;
|
|
5
|
+
title?: ReactNode;
|
|
6
|
+
children: ReactNode;
|
|
7
|
+
footer?: ReactNode;
|
|
8
|
+
size?: 'sm' | 'md' | 'lg';
|
|
9
|
+
}
|
|
10
|
+
export default function Modal({ open, onClose, title, children, footer, size }: ModalProps): import('react').ReactPortal | null;
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
export interface NumberStepperProps {
|
|
2
|
+
value: number;
|
|
3
|
+
onChange: (value: number) => void;
|
|
4
|
+
min?: number;
|
|
5
|
+
max?: number;
|
|
6
|
+
step?: number;
|
|
7
|
+
label?: string;
|
|
8
|
+
disabled?: boolean;
|
|
9
|
+
}
|
|
10
|
+
export default function NumberStepper({ value, onChange, min, max, step, label, disabled }: NumberStepperProps): import('react').JSX.Element;
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
export interface OTPInputProps {
|
|
2
|
+
length?: number;
|
|
3
|
+
value: string;
|
|
4
|
+
onChange: (value: string) => void;
|
|
5
|
+
disabled?: boolean;
|
|
6
|
+
label?: string;
|
|
7
|
+
}
|
|
8
|
+
export default function OTPInput({ length, value, onChange, disabled, label }: OTPInputProps): import('react').JSX.Element;
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import { ReactNode } from 'react';
|
|
2
|
+
export interface PasswordInputProps {
|
|
3
|
+
label?: ReactNode;
|
|
4
|
+
value: string;
|
|
5
|
+
onChange: (value: string) => void;
|
|
6
|
+
placeholder?: string;
|
|
7
|
+
disabled?: boolean;
|
|
8
|
+
error?: boolean;
|
|
9
|
+
hint?: ReactNode;
|
|
10
|
+
id?: string;
|
|
11
|
+
autoComplete?: string;
|
|
12
|
+
}
|
|
13
|
+
export default function PasswordInput({ label, value, onChange, placeholder, disabled, error, hint, id, autoComplete, }: PasswordInputProps): import('react').JSX.Element;
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import { ReactNode } from 'react';
|
|
2
|
+
export interface PopoverProps {
|
|
3
|
+
trigger: ReactNode;
|
|
4
|
+
children: ReactNode;
|
|
5
|
+
label?: string;
|
|
6
|
+
align?: 'left' | 'right';
|
|
7
|
+
}
|
|
8
|
+
export default function Popover({ trigger, children, label, align }: PopoverProps): import('react').JSX.Element;
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import { ReactNode } from 'react';
|
|
2
|
+
import { BadgeTone } from './Badge';
|
|
3
|
+
export interface ProgressBarProps {
|
|
4
|
+
value: number;
|
|
5
|
+
max?: number;
|
|
6
|
+
tone?: Exclude<BadgeTone, 'neutral'>;
|
|
7
|
+
label?: ReactNode;
|
|
8
|
+
}
|
|
9
|
+
export default function ProgressBar({ value, max, tone, label }: ProgressBarProps): import('react').JSX.Element;
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
import { ReactNode } from 'react';
|
|
2
|
+
export interface RadioProps {
|
|
3
|
+
name: string;
|
|
4
|
+
value: string;
|
|
5
|
+
checked: boolean;
|
|
6
|
+
onChange: (value: string) => void;
|
|
7
|
+
label?: ReactNode;
|
|
8
|
+
disabled?: boolean;
|
|
9
|
+
}
|
|
10
|
+
export declare function Radio({ name, value, checked, onChange, label, disabled }: RadioProps): import('react').JSX.Element;
|
|
11
|
+
export interface RadioOption {
|
|
12
|
+
value: string;
|
|
13
|
+
label?: ReactNode;
|
|
14
|
+
disabled?: boolean;
|
|
15
|
+
}
|
|
16
|
+
export interface RadioGroupProps {
|
|
17
|
+
name: string;
|
|
18
|
+
value: string;
|
|
19
|
+
onChange: (value: string) => void;
|
|
20
|
+
options: RadioOption[];
|
|
21
|
+
disabled?: boolean;
|
|
22
|
+
}
|
|
23
|
+
export default function RadioGroup({ name, value, onChange, options, disabled }: RadioGroupProps): import('react').JSX.Element;
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import { ReactNode } from 'react';
|
|
2
|
+
export interface ScoreCardProps {
|
|
3
|
+
label: ReactNode;
|
|
4
|
+
value: ReactNode;
|
|
5
|
+
accent: 'indigo' | 'green' | 'rose' | 'cyan';
|
|
6
|
+
sub?: ReactNode;
|
|
7
|
+
direction?: 'up' | 'down';
|
|
8
|
+
trend?: number[];
|
|
9
|
+
}
|
|
10
|
+
export default function ScoreCard({ label, value, accent, sub, direction, trend }: ScoreCardProps): import('react').JSX.Element;
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
export interface SearchInputProps {
|
|
2
|
+
value: string;
|
|
3
|
+
onChange: (value: string) => void;
|
|
4
|
+
placeholder?: string;
|
|
5
|
+
disabled?: boolean;
|
|
6
|
+
}
|
|
7
|
+
export default function SearchInput({ value, onChange, placeholder, disabled }: SearchInputProps): import('react').JSX.Element;
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
export interface SegmentedOption {
|
|
2
|
+
value: string;
|
|
3
|
+
label: string;
|
|
4
|
+
disabled?: boolean;
|
|
5
|
+
}
|
|
6
|
+
export interface SegmentedControlProps {
|
|
7
|
+
options: SegmentedOption[];
|
|
8
|
+
value: string;
|
|
9
|
+
onChange: (value: string) => void;
|
|
10
|
+
label?: string;
|
|
11
|
+
}
|
|
12
|
+
export default function SegmentedControl({ options, value, onChange, label }: SegmentedControlProps): import('react').JSX.Element;
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
import { ReactNode } from 'react';
|
|
2
|
+
export interface SelectOption {
|
|
3
|
+
value: string;
|
|
4
|
+
label: ReactNode;
|
|
5
|
+
}
|
|
6
|
+
interface SelectBaseProps {
|
|
7
|
+
options: SelectOption[];
|
|
8
|
+
label?: string;
|
|
9
|
+
}
|
|
10
|
+
export interface SingleSelectProps extends SelectBaseProps {
|
|
11
|
+
multiple?: false;
|
|
12
|
+
value: string;
|
|
13
|
+
onChange: (value: string) => void;
|
|
14
|
+
}
|
|
15
|
+
export interface MultiSelectProps extends SelectBaseProps {
|
|
16
|
+
multiple: true;
|
|
17
|
+
value: string[];
|
|
18
|
+
onChange: (value: string[]) => void;
|
|
19
|
+
}
|
|
20
|
+
export type SelectProps = SingleSelectProps | MultiSelectProps;
|
|
21
|
+
export default function Select(props: SelectProps): import('react').JSX.Element;
|
|
22
|
+
export {};
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import { ReactNode } from 'react';
|
|
2
|
+
export interface SidebarItem {
|
|
3
|
+
id: string;
|
|
4
|
+
label: ReactNode;
|
|
5
|
+
icon?: ReactNode;
|
|
6
|
+
onClick?: () => void;
|
|
7
|
+
}
|
|
8
|
+
export interface SidebarProps {
|
|
9
|
+
items: SidebarItem[];
|
|
10
|
+
activeId?: string;
|
|
11
|
+
collapsed?: boolean;
|
|
12
|
+
header?: ReactNode;
|
|
13
|
+
}
|
|
14
|
+
export default function Sidebar({ items, activeId, collapsed, header }: SidebarProps): import('react').JSX.Element;
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import { CSSProperties } from 'react';
|
|
2
|
+
export interface SkeletonProps {
|
|
3
|
+
variant?: 'text' | 'circle' | 'rect';
|
|
4
|
+
width?: CSSProperties['width'];
|
|
5
|
+
height?: CSSProperties['height'];
|
|
6
|
+
radius?: CSSProperties['borderRadius'];
|
|
7
|
+
}
|
|
8
|
+
export default function Skeleton({ variant, width, height, radius }: SkeletonProps): import('react').JSX.Element;
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import { ReactNode } from 'react';
|
|
2
|
+
export interface SliderProps {
|
|
3
|
+
value: number;
|
|
4
|
+
onChange: (value: number) => void;
|
|
5
|
+
min?: number;
|
|
6
|
+
max?: number;
|
|
7
|
+
step?: number;
|
|
8
|
+
label?: ReactNode;
|
|
9
|
+
disabled?: boolean;
|
|
10
|
+
/** Formats the value shown next to the label, e.g. `(v) => `${v}%`` */
|
|
11
|
+
formatValue?: (value: number) => ReactNode;
|
|
12
|
+
}
|
|
13
|
+
export default function Slider({ value, onChange, min, max, step, label, disabled, formatValue, }: SliderProps): import('react').JSX.Element;
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import { CSSProperties, ReactNode } from 'react';
|
|
2
|
+
export interface StackProps {
|
|
3
|
+
direction?: 'row' | 'column';
|
|
4
|
+
gap?: number;
|
|
5
|
+
align?: CSSProperties['alignItems'];
|
|
6
|
+
justify?: CSSProperties['justifyContent'];
|
|
7
|
+
wrap?: boolean;
|
|
8
|
+
children: ReactNode;
|
|
9
|
+
className?: string;
|
|
10
|
+
}
|
|
11
|
+
export default function Stack({ direction, gap, align, justify, wrap, children, className }: StackProps): import('react').JSX.Element;
|
|
12
|
+
export declare function VStack(props: Omit<StackProps, 'direction'>): import('react').JSX.Element;
|
|
13
|
+
export declare function HStack(props: Omit<StackProps, 'direction'>): import('react').JSX.Element;
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import { ReactNode } from 'react';
|
|
2
|
+
import { BadgeTone } from './Badge';
|
|
3
|
+
export interface StatusDotProps {
|
|
4
|
+
tone?: Exclude<BadgeTone, 'neutral'>;
|
|
5
|
+
label?: ReactNode;
|
|
6
|
+
pulse?: boolean;
|
|
7
|
+
}
|
|
8
|
+
export default function StatusDot({ tone, label, pulse }: StatusDotProps): import('react').JSX.Element;
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import { ReactNode } from 'react';
|
|
2
|
+
export interface StepperStep {
|
|
3
|
+
id: string;
|
|
4
|
+
label: ReactNode;
|
|
5
|
+
}
|
|
6
|
+
export interface StepperProps {
|
|
7
|
+
steps: StepperStep[];
|
|
8
|
+
activeId: string;
|
|
9
|
+
completedIds?: string[];
|
|
10
|
+
}
|
|
11
|
+
export default function Stepper({ steps, activeId, completedIds }: StepperProps): import('react').JSX.Element;
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import { ReactNode } from 'react';
|
|
2
|
+
export interface SwitchProps {
|
|
3
|
+
checked: boolean;
|
|
4
|
+
onChange: (checked: boolean) => void;
|
|
5
|
+
label?: ReactNode;
|
|
6
|
+
disabled?: boolean;
|
|
7
|
+
}
|
|
8
|
+
export default function Switch({ checked, onChange, label, disabled }: SwitchProps): import('react').JSX.Element;
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import { Key, ReactNode } from 'react';
|
|
2
|
+
export interface TableColumn<T> {
|
|
3
|
+
key: string;
|
|
4
|
+
header: ReactNode;
|
|
5
|
+
align?: 'left' | 'right';
|
|
6
|
+
render?: (row: T) => ReactNode;
|
|
7
|
+
}
|
|
8
|
+
export interface TableProps<T> {
|
|
9
|
+
columns: TableColumn<T>[];
|
|
10
|
+
rows: T[];
|
|
11
|
+
getRowKey?: (row: T) => Key;
|
|
12
|
+
onRowClick?: (row: T) => void;
|
|
13
|
+
emptyMessage?: ReactNode;
|
|
14
|
+
}
|
|
15
|
+
export default function Table<T extends Record<string, unknown>>({ columns, rows, getRowKey, onRowClick, emptyMessage, }: TableProps<T>): import('react').JSX.Element;
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import { ReactNode } from 'react';
|
|
2
|
+
export interface Tab {
|
|
3
|
+
id: string;
|
|
4
|
+
label: ReactNode;
|
|
5
|
+
comingSoon?: boolean;
|
|
6
|
+
}
|
|
7
|
+
export interface TabsProps {
|
|
8
|
+
tabs: Tab[];
|
|
9
|
+
active: string;
|
|
10
|
+
onChange: (id: string) => void;
|
|
11
|
+
}
|
|
12
|
+
export default function Tabs({ tabs, active, onChange }: TabsProps): import('react').JSX.Element;
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
export interface TagInputProps {
|
|
2
|
+
value: string[];
|
|
3
|
+
onChange: (value: string[]) => void;
|
|
4
|
+
label?: string;
|
|
5
|
+
placeholder?: string;
|
|
6
|
+
disabled?: boolean;
|
|
7
|
+
}
|
|
8
|
+
export default function TagInput({ value, onChange, label, placeholder, disabled }: TagInputProps): import('react').JSX.Element;
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import { ReactNode } from 'react';
|
|
2
|
+
export interface TextProps {
|
|
3
|
+
as?: 'p' | 'span' | 'div';
|
|
4
|
+
size?: 'xs' | 'sm' | 'md' | 'lg';
|
|
5
|
+
weight?: 'regular' | 'medium' | 'semibold' | 'bold';
|
|
6
|
+
color?: 'default' | 'muted' | 'accent' | 'danger';
|
|
7
|
+
mono?: boolean;
|
|
8
|
+
children: ReactNode;
|
|
9
|
+
className?: string;
|
|
10
|
+
}
|
|
11
|
+
export default function Text({ as, size, weight, color, mono, children, className, }: TextProps): import('react').JSX.Element;
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import { ReactNode, TextareaHTMLAttributes } from 'react';
|
|
2
|
+
export interface TextareaProps extends Omit<TextareaHTMLAttributes<HTMLTextAreaElement>, 'onChange' | 'value' | 'id'> {
|
|
3
|
+
label?: ReactNode;
|
|
4
|
+
value: string;
|
|
5
|
+
onChange: (value: string) => void;
|
|
6
|
+
error?: boolean;
|
|
7
|
+
hint?: ReactNode;
|
|
8
|
+
id?: string;
|
|
9
|
+
}
|
|
10
|
+
export default function Textarea({ label, value, onChange, placeholder, disabled, error, hint, rows, id, ...rest }: TextareaProps): import('react').JSX.Element;
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import { Key, ReactNode } from 'react';
|
|
2
|
+
import { BadgeTone } from './Badge';
|
|
3
|
+
export interface TimelineItem {
|
|
4
|
+
id: Key;
|
|
5
|
+
title: ReactNode;
|
|
6
|
+
timestamp?: ReactNode;
|
|
7
|
+
description?: ReactNode;
|
|
8
|
+
tone?: Exclude<BadgeTone, 'neutral'>;
|
|
9
|
+
}
|
|
10
|
+
export interface TimelineProps {
|
|
11
|
+
items: TimelineItem[];
|
|
12
|
+
}
|
|
13
|
+
export default function Timeline({ items }: TimelineProps): import('react').JSX.Element;
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import { ReactNode } from 'react';
|
|
2
|
+
import { BadgeTone } from './Badge';
|
|
3
|
+
export interface ToastOptions {
|
|
4
|
+
tone?: BadgeTone;
|
|
5
|
+
duration?: number;
|
|
6
|
+
}
|
|
7
|
+
export interface ToastContextValue {
|
|
8
|
+
show: (message: ReactNode, options?: ToastOptions) => number;
|
|
9
|
+
dismiss: (id: number) => void;
|
|
10
|
+
}
|
|
11
|
+
export declare function ToastProvider({ children }: {
|
|
12
|
+
children: ReactNode;
|
|
13
|
+
}): import('react').JSX.Element;
|
|
14
|
+
export declare function useToast(): ToastContextValue;
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import { ReactNode } from 'react';
|
|
2
|
+
export interface TreeNode {
|
|
3
|
+
id: string;
|
|
4
|
+
label: ReactNode;
|
|
5
|
+
children?: TreeNode[];
|
|
6
|
+
}
|
|
7
|
+
export interface TreeProps {
|
|
8
|
+
nodes: TreeNode[];
|
|
9
|
+
defaultExpandedIds?: string[];
|
|
10
|
+
onSelect?: (id: string) => void;
|
|
11
|
+
selectedId?: string;
|
|
12
|
+
}
|
|
13
|
+
export default function Tree({ nodes, defaultExpandedIds, onSelect, selectedId }: TreeProps): import('react').JSX.Element;
|
package/dist/index.d.ts
ADDED
|
@@ -0,0 +1,78 @@
|
|
|
1
|
+
export { default as ScoreCard } from './components/ScoreCard';
|
|
2
|
+
export { default as Sparkline } from './components/Sparkline';
|
|
3
|
+
export { default as ChartCard } from './components/ChartCard';
|
|
4
|
+
export { default as Select } from './components/Select';
|
|
5
|
+
export { default as DateRangePicker } from './components/DateRangePicker';
|
|
6
|
+
export { default as InfoTooltip } from './components/InfoTooltip';
|
|
7
|
+
export { default as Tabs } from './components/Tabs';
|
|
8
|
+
export { default as Button } from './components/Button';
|
|
9
|
+
export { default as Badge } from './components/Badge';
|
|
10
|
+
export { default as Input } from './components/Input';
|
|
11
|
+
export { default as Switch } from './components/Switch';
|
|
12
|
+
export { default as Table } from './components/Table';
|
|
13
|
+
export { default as Modal } from './components/Modal';
|
|
14
|
+
export { ToastProvider, useToast } from './components/Toast';
|
|
15
|
+
export { default as Checkbox } from './components/Checkbox';
|
|
16
|
+
export { default as RadioGroup, Radio } from './components/Radio';
|
|
17
|
+
export { default as Textarea } from './components/Textarea';
|
|
18
|
+
export { default as Skeleton } from './components/Skeleton';
|
|
19
|
+
export { default as Menu } from './components/Menu';
|
|
20
|
+
export { default as Pagination } from './components/Pagination';
|
|
21
|
+
export { default as Breadcrumbs } from './components/Breadcrumbs';
|
|
22
|
+
export { default as ProgressBar } from './components/ProgressBar';
|
|
23
|
+
export { default as Gauge } from './components/Gauge';
|
|
24
|
+
export { default as Avatar } from './components/Avatar';
|
|
25
|
+
export { default as Card } from './components/Card';
|
|
26
|
+
export { default as EmptyState } from './components/EmptyState';
|
|
27
|
+
export { default as Spinner } from './components/Spinner';
|
|
28
|
+
export { default as Accordion } from './components/Accordion';
|
|
29
|
+
export { default as SegmentedControl } from './components/SegmentedControl';
|
|
30
|
+
export { default as ChartLegend } from './components/ChartLegend';
|
|
31
|
+
export { default as MiniBar } from './components/MiniBar';
|
|
32
|
+
export { default as BulletChart } from './components/BulletChart';
|
|
33
|
+
export { default as Slider } from './components/Slider';
|
|
34
|
+
export { default as Stepper } from './components/Stepper';
|
|
35
|
+
export { default as Drawer } from './components/Drawer';
|
|
36
|
+
export { default as Popover } from './components/Popover';
|
|
37
|
+
export { default as TagInput } from './components/TagInput';
|
|
38
|
+
export { default as SearchInput } from './components/SearchInput';
|
|
39
|
+
export { default as CopyButton } from './components/CopyButton';
|
|
40
|
+
export { default as StatusDot } from './components/StatusDot';
|
|
41
|
+
export { default as DescriptionList } from './components/DescriptionList';
|
|
42
|
+
export { default as Text } from './components/Text';
|
|
43
|
+
export { default as Heading } from './components/Heading';
|
|
44
|
+
export { default as Container } from './components/Container';
|
|
45
|
+
export { default as Stack, VStack, HStack } from './components/Stack';
|
|
46
|
+
export { default as Grid } from './components/Grid';
|
|
47
|
+
export { default as Divider } from './components/Divider';
|
|
48
|
+
export { default as Link } from './components/Link';
|
|
49
|
+
export { default as Alert } from './components/Alert';
|
|
50
|
+
export { default as IconButton } from './components/IconButton';
|
|
51
|
+
export { default as Tooltip } from './components/Tooltip';
|
|
52
|
+
export { default as Fieldset } from './components/Fieldset';
|
|
53
|
+
export { default as Combobox } from './components/Combobox';
|
|
54
|
+
export { default as NumberStepper } from './components/NumberStepper';
|
|
55
|
+
export { default as FileUpload } from './components/FileUpload';
|
|
56
|
+
export { default as DatePicker } from './components/DatePicker';
|
|
57
|
+
export { default as Rating } from './components/Rating';
|
|
58
|
+
export { default as List } from './components/List';
|
|
59
|
+
export { default as Timeline } from './components/Timeline';
|
|
60
|
+
export { default as AvatarGroup } from './components/AvatarGroup';
|
|
61
|
+
export { default as CodeBlock } from './components/CodeBlock';
|
|
62
|
+
export { default as Kbd } from './components/Kbd';
|
|
63
|
+
export { default as Tree } from './components/Tree';
|
|
64
|
+
export { default as Navbar } from './components/Navbar';
|
|
65
|
+
export { default as Sidebar } from './components/Sidebar';
|
|
66
|
+
export { default as ButtonGroup } from './components/ButtonGroup';
|
|
67
|
+
export { default as ColorPicker } from './components/ColorPicker';
|
|
68
|
+
export { default as Icon } from './components/Icon';
|
|
69
|
+
export type { IconName } from './components/Icon';
|
|
70
|
+
export { default as PasswordInput } from './components/PasswordInput';
|
|
71
|
+
export { default as OTPInput } from './components/OTPInput';
|
|
72
|
+
export { default as LoadingOverlay } from './components/LoadingOverlay';
|
|
73
|
+
export { default as ErrorBoundary } from './components/ErrorBoundary';
|
|
74
|
+
export { default as Carousel } from './components/Carousel';
|
|
75
|
+
export { default as Portal } from './components/Portal';
|
|
76
|
+
export { useClickOutside } from './hooks/useClickOutside';
|
|
77
|
+
export { PALETTE, TOOLTIP_OPTS, AXIS_TICK_FONT, AXIS_COLOR, GRID_COLOR, dualAxisOptions, donutOptions, horizontalBarOptions, areaOptions, stackedBarOptions, radarOptions, rollingAverage, getChartColors, onThemeChange, } from './chartTheme';
|
|
78
|
+
export { installCharts } from './chartSetup';
|