vxui-react 0.1.0 → 1.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/dist/components/AlertDialog.d.ts +14 -0
- package/dist/components/AppShell.d.ts +9 -16
- package/dist/components/Button.d.ts +3 -1
- package/dist/components/Calendar.d.ts +10 -0
- package/dist/components/Carousel.d.ts +15 -0
- package/dist/components/ColorPicker.d.ts +13 -0
- package/dist/components/Combobox.d.ts +21 -0
- package/dist/components/ContextMenu.d.ts +20 -0
- package/dist/components/DatePicker.d.ts +15 -0
- package/dist/components/EmptyState.d.ts +9 -0
- package/dist/components/FileUpload.d.ts +17 -0
- package/dist/components/Form.d.ts +28 -0
- package/dist/components/HoverCard.d.ts +11 -0
- package/dist/components/Label.d.ts +5 -0
- package/dist/components/Menubar.d.ts +24 -0
- package/dist/components/NavigationMenu.d.ts +20 -0
- package/dist/components/NumberInput.d.ts +12 -0
- package/dist/components/Progress.d.ts +1 -1
- package/dist/components/Rating.d.ts +14 -0
- package/dist/components/Resizable.d.ts +26 -0
- package/dist/components/Responsive.d.ts +25 -0
- package/dist/components/ScrollArea.d.ts +7 -0
- package/dist/components/Sheet.d.ts +13 -0
- package/dist/components/Shell.d.ts +77 -0
- package/dist/components/Stepper.d.ts +14 -0
- package/dist/components/TagInput.d.ts +18 -0
- package/dist/components/ThemeProvider.d.ts +5 -0
- package/dist/components/Timeline.d.ts +14 -0
- package/dist/components/Toggle.d.ts +24 -0
- package/dist/components/TreeView.d.ts +20 -0
- package/dist/components/pages/homePageContent.d.ts +25 -0
- package/dist/components/pages/legalPageContent.d.ts +15 -0
- package/dist/index.cjs +75 -32
- package/dist/index.js +6889 -1874
- package/dist/lib/index.d.ts +61 -0
- package/dist/lib/viewport.d.ts +13 -0
- package/dist/vxui-react.css +1 -1
- package/package.json +1 -2
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import { ReactNode } from 'react';
|
|
2
|
+
import * as DialogPrimitive from '@radix-ui/react-dialog';
|
|
3
|
+
export interface AlertDialogProps extends Pick<DialogPrimitive.DialogProps, 'defaultOpen' | 'onOpenChange' | 'open'> {
|
|
4
|
+
trigger: ReactNode;
|
|
5
|
+
title: string;
|
|
6
|
+
description?: string;
|
|
7
|
+
confirmLabel?: string;
|
|
8
|
+
cancelLabel?: string;
|
|
9
|
+
onConfirm?: () => void;
|
|
10
|
+
onCancel?: () => void;
|
|
11
|
+
variant?: 'default' | 'danger';
|
|
12
|
+
className?: string;
|
|
13
|
+
}
|
|
14
|
+
export declare function AlertDialog({ trigger, title, description, confirmLabel, cancelLabel, onConfirm, onCancel, variant, className, ...props }: AlertDialogProps): import("react/jsx-runtime").JSX.Element;
|
|
@@ -1,22 +1,14 @@
|
|
|
1
|
-
import { ReactNode } from 'react';
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
trailing?: ReactNode;
|
|
8
|
-
active?: boolean;
|
|
9
|
-
onSelect?: () => void;
|
|
10
|
-
}
|
|
11
|
-
export interface AppShellNavSection {
|
|
12
|
-
key?: string;
|
|
13
|
-
title?: string;
|
|
14
|
-
items: AppShellNavItem[];
|
|
15
|
-
}
|
|
1
|
+
import { ReactNode, Ref } from 'react';
|
|
2
|
+
import { Shell, ShellSidebar, ShellNav, ShellNavSection, ShellNavItem, ShellOverlay, ShellMain, ShellTopbar, ShellContent, ShellNavItem as ShellNavItemType, ShellNavSection as ShellNavSectionType } from './Shell';
|
|
3
|
+
export { Shell, ShellSidebar, ShellNav, ShellNavSection, ShellNavItem, ShellOverlay, ShellMain, ShellTopbar, ShellContent, };
|
|
4
|
+
export type { ShellProps, ShellSidebarProps, ShellNavProps, ShellNavSectionProps, ShellNavItemProps, ShellOverlayProps, ShellMainProps, ShellTopbarProps, ShellContentProps, } from './Shell';
|
|
5
|
+
export type AppShellNavItem = ShellNavItemType;
|
|
6
|
+
export type AppShellNavSection = ShellNavSectionType;
|
|
16
7
|
export interface AppShellProps {
|
|
17
8
|
brand?: string;
|
|
18
9
|
brandCaption?: string;
|
|
19
10
|
brandIcon?: ReactNode;
|
|
11
|
+
topbarRef?: Ref<HTMLElement>;
|
|
20
12
|
breadcrumb?: ReactNode;
|
|
21
13
|
title?: string;
|
|
22
14
|
description?: string;
|
|
@@ -24,6 +16,7 @@ export interface AppShellProps {
|
|
|
24
16
|
navSections?: AppShellNavSection[];
|
|
25
17
|
sidebarCollapsed?: boolean;
|
|
26
18
|
mobileNavOpen?: boolean;
|
|
19
|
+
density?: 'comfortable' | 'compact';
|
|
27
20
|
onSidebarToggle?: () => void;
|
|
28
21
|
onMobileNavToggle?: () => void;
|
|
29
22
|
menuButtonLabel?: string;
|
|
@@ -34,4 +27,4 @@ export interface AppShellProps {
|
|
|
34
27
|
sidebarFooter?: ReactNode;
|
|
35
28
|
children: ReactNode;
|
|
36
29
|
}
|
|
37
|
-
export declare function AppShell({ brand, brandCaption, brandIcon, breadcrumb, title, description, navItems, navSections, sidebarCollapsed, mobileNavOpen, onSidebarToggle, onMobileNavToggle, menuButtonLabel, sidebarCollapseLabel, sidebarExpandLabel, sidebarCloseLabel, headerActions, sidebarFooter, children, }: AppShellProps): import("react/jsx-runtime").JSX.Element;
|
|
30
|
+
export declare function AppShell({ brand, brandCaption, brandIcon, topbarRef, breadcrumb, title, description, navItems, navSections, sidebarCollapsed, mobileNavOpen, onSidebarToggle, onMobileNavToggle, menuButtonLabel, sidebarCollapseLabel, sidebarExpandLabel, sidebarCloseLabel, density, headerActions, sidebarFooter, children, }: AppShellProps): import("react/jsx-runtime").JSX.Element;
|
|
@@ -1,10 +1,12 @@
|
|
|
1
1
|
import { ButtonHTMLAttributes } from 'react';
|
|
2
|
-
type ButtonVariant = 'solid' | 'secondary' | 'ghost' | 'danger';
|
|
2
|
+
type ButtonVariant = 'solid' | 'secondary' | 'ghost' | 'danger' | 'outline' | 'soft' | 'danger-outline' | 'primary-outline' | 'gradient';
|
|
3
3
|
type ButtonSize = 'sm' | 'md' | 'lg';
|
|
4
|
+
type ButtonShape = 'rect' | 'square' | 'pill';
|
|
4
5
|
export interface ButtonProps extends ButtonHTMLAttributes<HTMLButtonElement> {
|
|
5
6
|
variant?: ButtonVariant;
|
|
6
7
|
size?: ButtonSize;
|
|
7
8
|
fullWidth?: boolean;
|
|
9
|
+
shape?: ButtonShape;
|
|
8
10
|
}
|
|
9
11
|
export declare const Button: import('react').ForwardRefExoticComponent<ButtonProps & import('react').RefAttributes<HTMLButtonElement>>;
|
|
10
12
|
export {};
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
export interface CalendarProps {
|
|
2
|
+
value?: Date;
|
|
3
|
+
defaultValue?: Date;
|
|
4
|
+
onChange?: (date: Date) => void;
|
|
5
|
+
min?: Date;
|
|
6
|
+
max?: Date;
|
|
7
|
+
className?: string;
|
|
8
|
+
weekStartsOnMonday?: boolean;
|
|
9
|
+
}
|
|
10
|
+
export declare function Calendar({ value: controlledValue, defaultValue, onChange, min, max, className, weekStartsOnMonday, }: CalendarProps): import("react/jsx-runtime").JSX.Element;
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import { ReactNode } from 'react';
|
|
2
|
+
export interface CarouselProps {
|
|
3
|
+
items: ReactNode[];
|
|
4
|
+
defaultIndex?: number;
|
|
5
|
+
index?: number;
|
|
6
|
+
onIndexChange?: (index: number) => void;
|
|
7
|
+
autoPlay?: boolean;
|
|
8
|
+
/** Interval in ms for auto-play */
|
|
9
|
+
interval?: number;
|
|
10
|
+
loop?: boolean;
|
|
11
|
+
showDots?: boolean;
|
|
12
|
+
showArrows?: boolean;
|
|
13
|
+
className?: string;
|
|
14
|
+
}
|
|
15
|
+
export declare function Carousel({ items, defaultIndex, index: controlledIndex, onIndexChange, autoPlay, interval, loop, showDots, showArrows, className, }: CarouselProps): import("react/jsx-runtime").JSX.Element | null;
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
export interface ColorPickerProps {
|
|
2
|
+
value?: string;
|
|
3
|
+
defaultValue?: string;
|
|
4
|
+
onChange?: (color: string) => void;
|
|
5
|
+
label?: string;
|
|
6
|
+
hint?: string;
|
|
7
|
+
error?: string;
|
|
8
|
+
disabled?: boolean;
|
|
9
|
+
presets?: string[];
|
|
10
|
+
showPresets?: boolean;
|
|
11
|
+
className?: string;
|
|
12
|
+
}
|
|
13
|
+
export declare function ColorPicker({ value: controlledValue, defaultValue, onChange, label, hint, error, disabled, presets, showPresets, className, }: ColorPickerProps): import("react/jsx-runtime").JSX.Element;
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
export interface ComboboxOption {
|
|
2
|
+
value: string;
|
|
3
|
+
label: string;
|
|
4
|
+
disabled?: boolean;
|
|
5
|
+
}
|
|
6
|
+
export interface ComboboxProps {
|
|
7
|
+
options: ComboboxOption[];
|
|
8
|
+
value?: string;
|
|
9
|
+
defaultValue?: string;
|
|
10
|
+
onChange?: (value: string | undefined) => void;
|
|
11
|
+
placeholder?: string;
|
|
12
|
+
searchPlaceholder?: string;
|
|
13
|
+
label?: string;
|
|
14
|
+
hint?: string;
|
|
15
|
+
error?: string;
|
|
16
|
+
disabled?: boolean;
|
|
17
|
+
clearable?: boolean;
|
|
18
|
+
emptyText?: string;
|
|
19
|
+
className?: string;
|
|
20
|
+
}
|
|
21
|
+
export declare function Combobox({ options, value: controlledValue, defaultValue, onChange, placeholder, searchPlaceholder, label, hint, error, disabled, clearable, emptyText, className, }: ComboboxProps): import("react/jsx-runtime").JSX.Element;
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
import { ReactNode } from 'react';
|
|
2
|
+
export interface ContextMenuItemProps {
|
|
3
|
+
label: ReactNode;
|
|
4
|
+
icon?: ReactNode;
|
|
5
|
+
shortcut?: string;
|
|
6
|
+
disabled?: boolean;
|
|
7
|
+
danger?: boolean;
|
|
8
|
+
onClick?: () => void;
|
|
9
|
+
}
|
|
10
|
+
export interface ContextMenuGroupProps {
|
|
11
|
+
label?: string;
|
|
12
|
+
items: ContextMenuItemProps[];
|
|
13
|
+
}
|
|
14
|
+
export interface ContextMenuProps {
|
|
15
|
+
groups?: ContextMenuGroupProps[];
|
|
16
|
+
items?: ContextMenuItemProps[];
|
|
17
|
+
children: ReactNode;
|
|
18
|
+
className?: string;
|
|
19
|
+
}
|
|
20
|
+
export declare function ContextMenu({ groups, items, children, className }: ContextMenuProps): import("react/jsx-runtime").JSX.Element;
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
export interface DatePickerProps {
|
|
2
|
+
value?: Date;
|
|
3
|
+
defaultValue?: Date;
|
|
4
|
+
onChange?: (date: Date | undefined) => void;
|
|
5
|
+
placeholder?: string;
|
|
6
|
+
label?: string;
|
|
7
|
+
hint?: string;
|
|
8
|
+
error?: string;
|
|
9
|
+
min?: Date;
|
|
10
|
+
max?: Date;
|
|
11
|
+
disabled?: boolean;
|
|
12
|
+
weekStartsOnMonday?: boolean;
|
|
13
|
+
className?: string;
|
|
14
|
+
}
|
|
15
|
+
export declare function DatePicker({ value: controlledValue, defaultValue, onChange, placeholder, label, hint, error, min, max, disabled, weekStartsOnMonday, className, }: DatePickerProps): import("react/jsx-runtime").JSX.Element;
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import { ReactNode } from 'react';
|
|
2
|
+
export interface EmptyStateProps {
|
|
3
|
+
icon?: ReactNode;
|
|
4
|
+
title: string;
|
|
5
|
+
description?: string;
|
|
6
|
+
action?: ReactNode;
|
|
7
|
+
className?: string;
|
|
8
|
+
}
|
|
9
|
+
export declare function EmptyState({ icon, title, description, action, className }: EmptyStateProps): import("react/jsx-runtime").JSX.Element;
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
export interface UploadedFile {
|
|
2
|
+
file: File;
|
|
3
|
+
id: string;
|
|
4
|
+
}
|
|
5
|
+
export interface FileUploadProps {
|
|
6
|
+
label?: string;
|
|
7
|
+
hint?: string;
|
|
8
|
+
error?: string;
|
|
9
|
+
accept?: string;
|
|
10
|
+
multiple?: boolean;
|
|
11
|
+
/** Max file size in bytes */
|
|
12
|
+
maxSize?: number;
|
|
13
|
+
disabled?: boolean;
|
|
14
|
+
onFiles?: (files: File[]) => void;
|
|
15
|
+
className?: string;
|
|
16
|
+
}
|
|
17
|
+
export declare function FileUpload({ label, hint, error, accept, multiple, maxSize, disabled, onFiles, className, }: FileUploadProps): import("react/jsx-runtime").JSX.Element;
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
import { FormHTMLAttributes, HTMLAttributes, ReactNode } from 'react';
|
|
2
|
+
interface FormFieldContextValue {
|
|
3
|
+
error?: string;
|
|
4
|
+
}
|
|
5
|
+
export declare function useFormField(): FormFieldContextValue;
|
|
6
|
+
export interface FormProps extends FormHTMLAttributes<HTMLFormElement> {
|
|
7
|
+
}
|
|
8
|
+
export declare function Form({ className, ...props }: FormProps): import("react/jsx-runtime").JSX.Element;
|
|
9
|
+
export interface FormFieldProps {
|
|
10
|
+
error?: string;
|
|
11
|
+
children: ReactNode;
|
|
12
|
+
className?: string;
|
|
13
|
+
}
|
|
14
|
+
export declare function FormField({ error, children, className }: FormFieldProps): import("react/jsx-runtime").JSX.Element;
|
|
15
|
+
export interface FormLabelProps extends HTMLAttributes<HTMLLabelElement> {
|
|
16
|
+
required?: boolean;
|
|
17
|
+
children: ReactNode;
|
|
18
|
+
}
|
|
19
|
+
export declare function FormLabel({ className, required, children, ...props }: FormLabelProps): import("react/jsx-runtime").JSX.Element;
|
|
20
|
+
export interface FormDescriptionProps extends HTMLAttributes<HTMLParagraphElement> {
|
|
21
|
+
children: ReactNode;
|
|
22
|
+
}
|
|
23
|
+
export declare function FormDescription({ className, children, ...props }: FormDescriptionProps): import("react/jsx-runtime").JSX.Element;
|
|
24
|
+
export interface FormMessageProps extends HTMLAttributes<HTMLParagraphElement> {
|
|
25
|
+
children?: ReactNode;
|
|
26
|
+
}
|
|
27
|
+
export declare function FormMessage({ className, children, ...props }: FormMessageProps): import("react/jsx-runtime").JSX.Element | null;
|
|
28
|
+
export {};
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import { ReactNode } from 'react';
|
|
2
|
+
export type HoverCardPlacement = 'top' | 'bottom' | 'left' | 'right';
|
|
3
|
+
export interface HoverCardProps {
|
|
4
|
+
content: ReactNode;
|
|
5
|
+
placement?: HoverCardPlacement;
|
|
6
|
+
/** Delay in ms before showing */
|
|
7
|
+
delay?: number;
|
|
8
|
+
children: ReactNode;
|
|
9
|
+
className?: string;
|
|
10
|
+
}
|
|
11
|
+
export declare function HoverCard({ content, placement, delay, children, className, }: HoverCardProps): import("react/jsx-runtime").JSX.Element;
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
import { LabelHTMLAttributes } from 'react';
|
|
2
|
+
export interface LabelProps extends LabelHTMLAttributes<HTMLLabelElement> {
|
|
3
|
+
required?: boolean;
|
|
4
|
+
}
|
|
5
|
+
export declare const Label: import('react').ForwardRefExoticComponent<LabelProps & import('react').RefAttributes<HTMLLabelElement>>;
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
import { ReactNode } from 'react';
|
|
2
|
+
export interface MenubarItemProps {
|
|
3
|
+
label: ReactNode;
|
|
4
|
+
icon?: ReactNode;
|
|
5
|
+
shortcut?: string;
|
|
6
|
+
disabled?: boolean;
|
|
7
|
+
danger?: boolean;
|
|
8
|
+
onClick?: () => void;
|
|
9
|
+
}
|
|
10
|
+
export interface MenubarGroupProps {
|
|
11
|
+
label?: string;
|
|
12
|
+
items: MenubarItemProps[];
|
|
13
|
+
}
|
|
14
|
+
export interface MenubarMenuProps {
|
|
15
|
+
label: string;
|
|
16
|
+
groups?: MenubarGroupProps[];
|
|
17
|
+
items?: MenubarItemProps[];
|
|
18
|
+
disabled?: boolean;
|
|
19
|
+
}
|
|
20
|
+
export interface MenubarProps {
|
|
21
|
+
menus: MenubarMenuProps[];
|
|
22
|
+
className?: string;
|
|
23
|
+
}
|
|
24
|
+
export declare function Menubar({ menus, className }: MenubarProps): import("react/jsx-runtime").JSX.Element;
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
import { ReactNode } from 'react';
|
|
2
|
+
export interface NavMenuSubItem {
|
|
3
|
+
label: string;
|
|
4
|
+
description?: string;
|
|
5
|
+
href?: string;
|
|
6
|
+
onClick?: () => void;
|
|
7
|
+
icon?: ReactNode;
|
|
8
|
+
}
|
|
9
|
+
export interface NavMenuItem {
|
|
10
|
+
label: string;
|
|
11
|
+
href?: string;
|
|
12
|
+
onClick?: () => void;
|
|
13
|
+
items?: NavMenuSubItem[];
|
|
14
|
+
active?: boolean;
|
|
15
|
+
}
|
|
16
|
+
export interface NavigationMenuProps {
|
|
17
|
+
items: NavMenuItem[];
|
|
18
|
+
className?: string;
|
|
19
|
+
}
|
|
20
|
+
export declare function NavigationMenu({ items, className }: NavigationMenuProps): import("react/jsx-runtime").JSX.Element;
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import { InputHTMLAttributes } from 'react';
|
|
2
|
+
export interface NumberInputProps extends Omit<InputHTMLAttributes<HTMLInputElement>, 'type' | 'onChange' | 'value'> {
|
|
3
|
+
label?: string;
|
|
4
|
+
hint?: string;
|
|
5
|
+
error?: string;
|
|
6
|
+
value?: number;
|
|
7
|
+
onChange?: (value: number) => void;
|
|
8
|
+
min?: number;
|
|
9
|
+
max?: number;
|
|
10
|
+
step?: number;
|
|
11
|
+
}
|
|
12
|
+
export declare function NumberInput({ className, label, hint, error, value, onChange, min, max, step, disabled, ...props }: NumberInputProps): import("react/jsx-runtime").JSX.Element;
|
|
@@ -5,7 +5,7 @@ export interface ProgressProps extends HTMLAttributes<HTMLDivElement> {
|
|
|
5
5
|
label?: string;
|
|
6
6
|
showLabel?: boolean;
|
|
7
7
|
size?: 'sm' | 'md' | 'lg';
|
|
8
|
-
variant?: 'default' | 'success' | 'warning' | 'danger';
|
|
8
|
+
variant?: 'default' | 'success' | 'warning' | 'danger' | 'rainbow';
|
|
9
9
|
indeterminate?: boolean;
|
|
10
10
|
}
|
|
11
11
|
export declare function Progress({ className, value, max, label, showLabel, size, variant, indeterminate, ...props }: ProgressProps): import("react/jsx-runtime").JSX.Element;
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
export interface RatingProps {
|
|
2
|
+
value?: number;
|
|
3
|
+
defaultValue?: number;
|
|
4
|
+
onChange?: (value: number) => void;
|
|
5
|
+
max?: number;
|
|
6
|
+
/** Allow half-star values */
|
|
7
|
+
allowHalf?: boolean;
|
|
8
|
+
disabled?: boolean;
|
|
9
|
+
readOnly?: boolean;
|
|
10
|
+
label?: string;
|
|
11
|
+
className?: string;
|
|
12
|
+
size?: 'sm' | 'md' | 'lg';
|
|
13
|
+
}
|
|
14
|
+
export declare function Rating({ value: controlledValue, defaultValue, onChange, max, allowHalf, disabled, readOnly, label, className, size, }: RatingProps): import("react/jsx-runtime").JSX.Element;
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
import { ReactNode } from 'react';
|
|
2
|
+
export type ResizableDirection = 'horizontal' | 'vertical';
|
|
3
|
+
export interface ResizablePanelGroupProps {
|
|
4
|
+
direction?: ResizableDirection;
|
|
5
|
+
children: ReactNode;
|
|
6
|
+
className?: string;
|
|
7
|
+
}
|
|
8
|
+
export declare function ResizablePanelGroup({ direction, children, className, }: ResizablePanelGroupProps): import("react/jsx-runtime").JSX.Element;
|
|
9
|
+
export interface ResizablePanelProps {
|
|
10
|
+
children: ReactNode;
|
|
11
|
+
/** Initial size as percentage (0–100) */
|
|
12
|
+
defaultSize?: number;
|
|
13
|
+
/** Min size in percentage */
|
|
14
|
+
minSize?: number;
|
|
15
|
+
/** Max size in percentage */
|
|
16
|
+
maxSize?: number;
|
|
17
|
+
className?: string;
|
|
18
|
+
style?: React.CSSProperties;
|
|
19
|
+
}
|
|
20
|
+
export declare function ResizablePanel({ children, defaultSize, minSize, maxSize, className, style, }: ResizablePanelProps): import("react/jsx-runtime").JSX.Element;
|
|
21
|
+
export interface ResizableHandleProps {
|
|
22
|
+
/** Which two adjacent panels this handle controls via CSS flex sizing */
|
|
23
|
+
className?: string;
|
|
24
|
+
direction?: ResizableDirection;
|
|
25
|
+
}
|
|
26
|
+
export declare function ResizableHandle({ className, direction, }: ResizableHandleProps): import("react/jsx-runtime").JSX.Element;
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
import { ReactNode } from 'react';
|
|
2
|
+
export interface ResponsiveProps {
|
|
3
|
+
/** Rendered on desktop (≥1024px) and, when tablet is omitted, on tablet too */
|
|
4
|
+
desktop: ReactNode;
|
|
5
|
+
/** Rendered on phone (≤767px) */
|
|
6
|
+
mobile: ReactNode;
|
|
7
|
+
/**
|
|
8
|
+
* Rendered on tablet (768–1023px).
|
|
9
|
+
* When omitted, the desktop node is used instead.
|
|
10
|
+
*/
|
|
11
|
+
tablet?: ReactNode;
|
|
12
|
+
}
|
|
13
|
+
/**
|
|
14
|
+
* Renders the correct subtree based on the current viewport.
|
|
15
|
+
* Viewport detection is synchronous on first render so there is no flash.
|
|
16
|
+
*
|
|
17
|
+
* Usage:
|
|
18
|
+
* ```tsx
|
|
19
|
+
* <Responsive
|
|
20
|
+
* desktop={<AppShell>…</AppShell>}
|
|
21
|
+
* mobile={<MobileApp />}
|
|
22
|
+
* />
|
|
23
|
+
* ```
|
|
24
|
+
*/
|
|
25
|
+
export declare function Responsive({ desktop, mobile, tablet }: ResponsiveProps): import("react/jsx-runtime").JSX.Element;
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import { HTMLAttributes, ReactNode } from 'react';
|
|
2
|
+
export interface ScrollAreaProps extends HTMLAttributes<HTMLDivElement> {
|
|
3
|
+
maxHeight?: string | number;
|
|
4
|
+
maxWidth?: string | number;
|
|
5
|
+
children: ReactNode;
|
|
6
|
+
}
|
|
7
|
+
export declare function ScrollArea({ maxHeight, maxWidth, children, className, style, ...props }: ScrollAreaProps): import("react/jsx-runtime").JSX.Element;
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import { ReactNode } from 'react';
|
|
2
|
+
import * as DialogPrimitive from '@radix-ui/react-dialog';
|
|
3
|
+
export type SheetSide = 'left' | 'right' | 'top' | 'bottom';
|
|
4
|
+
export interface SheetProps extends Pick<DialogPrimitive.DialogProps, 'defaultOpen' | 'onOpenChange' | 'open'> {
|
|
5
|
+
trigger?: ReactNode;
|
|
6
|
+
title?: string;
|
|
7
|
+
description?: string;
|
|
8
|
+
side?: SheetSide;
|
|
9
|
+
children: ReactNode;
|
|
10
|
+
footer?: ReactNode;
|
|
11
|
+
className?: string;
|
|
12
|
+
}
|
|
13
|
+
export declare function Sheet({ trigger, title, description, side, children, footer, className, ...props }: SheetProps): import("react/jsx-runtime").JSX.Element;
|
|
@@ -0,0 +1,77 @@
|
|
|
1
|
+
import { ReactNode } from 'react';
|
|
2
|
+
export interface ShellNavItem {
|
|
3
|
+
key: string;
|
|
4
|
+
label: string;
|
|
5
|
+
icon?: ReactNode;
|
|
6
|
+
badge?: string;
|
|
7
|
+
trailing?: ReactNode;
|
|
8
|
+
active?: boolean;
|
|
9
|
+
onSelect?: () => void;
|
|
10
|
+
}
|
|
11
|
+
export interface ShellNavSection {
|
|
12
|
+
key?: string;
|
|
13
|
+
title?: string;
|
|
14
|
+
items: ShellNavItem[];
|
|
15
|
+
}
|
|
16
|
+
export interface ShellProps {
|
|
17
|
+
collapsed?: boolean;
|
|
18
|
+
mobileNavOpen?: boolean;
|
|
19
|
+
density?: 'comfortable' | 'compact';
|
|
20
|
+
className?: string;
|
|
21
|
+
children: ReactNode;
|
|
22
|
+
}
|
|
23
|
+
export declare function Shell({ collapsed, mobileNavOpen, density, className, children }: ShellProps): import("react/jsx-runtime").JSX.Element;
|
|
24
|
+
export interface ShellSidebarProps {
|
|
25
|
+
brand?: string;
|
|
26
|
+
brandCaption?: string;
|
|
27
|
+
brandIcon?: ReactNode;
|
|
28
|
+
collapsed?: boolean;
|
|
29
|
+
footer?: ReactNode;
|
|
30
|
+
onToggle?: () => void;
|
|
31
|
+
collapseLabel?: string;
|
|
32
|
+
expandLabel?: string;
|
|
33
|
+
children?: ReactNode;
|
|
34
|
+
}
|
|
35
|
+
export declare function ShellSidebar({ brand, brandCaption, brandIcon, collapsed, footer, onToggle, collapseLabel, expandLabel, children, }: ShellSidebarProps): import("react/jsx-runtime").JSX.Element;
|
|
36
|
+
export interface ShellNavProps {
|
|
37
|
+
label?: string;
|
|
38
|
+
children?: ReactNode;
|
|
39
|
+
}
|
|
40
|
+
export declare function ShellNav({ label, children }: ShellNavProps): import("react/jsx-runtime").JSX.Element;
|
|
41
|
+
export interface ShellNavSectionProps {
|
|
42
|
+
title?: string;
|
|
43
|
+
children?: ReactNode;
|
|
44
|
+
}
|
|
45
|
+
export declare function ShellNavSection({ title, children }: ShellNavSectionProps): import("react/jsx-runtime").JSX.Element;
|
|
46
|
+
export interface ShellNavItemProps {
|
|
47
|
+
label: string;
|
|
48
|
+
icon?: ReactNode;
|
|
49
|
+
badge?: string;
|
|
50
|
+
trailing?: ReactNode;
|
|
51
|
+
active?: boolean;
|
|
52
|
+
onSelect?: () => void;
|
|
53
|
+
}
|
|
54
|
+
export declare function ShellNavItem({ label, icon, badge, trailing, active, onSelect }: ShellNavItemProps): import("react/jsx-runtime").JSX.Element;
|
|
55
|
+
export interface ShellOverlayProps {
|
|
56
|
+
onClose?: () => void;
|
|
57
|
+
closeLabel?: string;
|
|
58
|
+
}
|
|
59
|
+
export declare function ShellOverlay({ onClose, closeLabel }: ShellOverlayProps): import("react/jsx-runtime").JSX.Element;
|
|
60
|
+
export interface ShellMainProps {
|
|
61
|
+
children: ReactNode;
|
|
62
|
+
}
|
|
63
|
+
export declare function ShellMain({ children }: ShellMainProps): import("react/jsx-runtime").JSX.Element;
|
|
64
|
+
export interface ShellTopbarProps {
|
|
65
|
+
title?: string;
|
|
66
|
+
description?: string;
|
|
67
|
+
breadcrumb?: ReactNode;
|
|
68
|
+
actions?: ReactNode;
|
|
69
|
+
onMenuToggle?: () => void;
|
|
70
|
+
mobileNavOpen?: boolean;
|
|
71
|
+
menuButtonLabel?: string;
|
|
72
|
+
}
|
|
73
|
+
export declare const ShellTopbar: import('react').ForwardRefExoticComponent<ShellTopbarProps & import('react').RefAttributes<HTMLElement>>;
|
|
74
|
+
export interface ShellContentProps {
|
|
75
|
+
children: ReactNode;
|
|
76
|
+
}
|
|
77
|
+
export declare function ShellContent({ children }: ShellContentProps): import("react/jsx-runtime").JSX.Element;
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
export type StepStatus = 'completed' | 'active' | 'pending' | 'error';
|
|
2
|
+
export interface StepItem {
|
|
3
|
+
label: string;
|
|
4
|
+
description?: string;
|
|
5
|
+
status?: StepStatus;
|
|
6
|
+
}
|
|
7
|
+
export interface StepperProps {
|
|
8
|
+
steps: StepItem[];
|
|
9
|
+
/** 0-based index of the current step (used when status is not set per step) */
|
|
10
|
+
currentStep?: number;
|
|
11
|
+
orientation?: 'horizontal' | 'vertical';
|
|
12
|
+
className?: string;
|
|
13
|
+
}
|
|
14
|
+
export declare function Stepper({ steps, currentStep, orientation, className, }: StepperProps): import("react/jsx-runtime").JSX.Element;
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
import { InputHTMLAttributes } from 'react';
|
|
2
|
+
export interface TagInputProps extends Omit<InputHTMLAttributes<HTMLInputElement>, 'value' | 'onChange' | 'defaultValue'> {
|
|
3
|
+
value?: string[];
|
|
4
|
+
defaultValue?: string[];
|
|
5
|
+
onChange?: (tags: string[]) => void;
|
|
6
|
+
label?: string;
|
|
7
|
+
hint?: string;
|
|
8
|
+
error?: string;
|
|
9
|
+
placeholder?: string;
|
|
10
|
+
/** Keys that confirm a tag. Defaults to Enter and comma */
|
|
11
|
+
confirmKeys?: string[];
|
|
12
|
+
/** Maximum number of tags */
|
|
13
|
+
maxTags?: number;
|
|
14
|
+
/** Validate a tag before adding; return false or error message to reject */
|
|
15
|
+
validate?: (tag: string) => boolean | string;
|
|
16
|
+
className?: string;
|
|
17
|
+
}
|
|
18
|
+
export declare function TagInput({ value: controlledValue, defaultValue, onChange, label, hint, error, placeholder, confirmKeys, maxTags, validate, disabled, className, ...inputProps }: TagInputProps): import("react/jsx-runtime").JSX.Element;
|
|
@@ -19,6 +19,11 @@ export declare const themePresets: {
|
|
|
19
19
|
'ivory-gold': ThemeDefinition;
|
|
20
20
|
'black-gold': ThemeDefinition;
|
|
21
21
|
ocean: ThemeDefinition;
|
|
22
|
+
indigo: ThemeDefinition;
|
|
23
|
+
violet: ThemeDefinition;
|
|
24
|
+
'violet-dark': ThemeDefinition;
|
|
25
|
+
vxai: ThemeDefinition;
|
|
26
|
+
'vxai-dark': ThemeDefinition;
|
|
22
27
|
light: {
|
|
23
28
|
label: string;
|
|
24
29
|
mode: "light";
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import { ReactNode } from 'react';
|
|
2
|
+
export type TimelineItemStatus = 'default' | 'success' | 'warning' | 'danger' | 'info';
|
|
3
|
+
export interface TimelineItem {
|
|
4
|
+
title: string;
|
|
5
|
+
description?: string;
|
|
6
|
+
time?: string;
|
|
7
|
+
icon?: ReactNode;
|
|
8
|
+
status?: TimelineItemStatus;
|
|
9
|
+
}
|
|
10
|
+
export interface TimelineProps {
|
|
11
|
+
items: TimelineItem[];
|
|
12
|
+
className?: string;
|
|
13
|
+
}
|
|
14
|
+
export declare function Timeline({ items, className }: TimelineProps): import("react/jsx-runtime").JSX.Element;
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
import { ButtonHTMLAttributes, ReactNode } from 'react';
|
|
2
|
+
export interface ToggleProps extends Omit<ButtonHTMLAttributes<HTMLButtonElement>, 'onChange'> {
|
|
3
|
+
pressed?: boolean;
|
|
4
|
+
defaultPressed?: boolean;
|
|
5
|
+
onPressedChange?: (pressed: boolean) => void;
|
|
6
|
+
size?: 'sm' | 'md' | 'lg';
|
|
7
|
+
children: ReactNode;
|
|
8
|
+
}
|
|
9
|
+
export declare function Toggle({ pressed: controlledPressed, defaultPressed, onPressedChange, size, className, children, onClick, ...props }: ToggleProps): import("react/jsx-runtime").JSX.Element;
|
|
10
|
+
export interface ToggleGroupItem {
|
|
11
|
+
value: string;
|
|
12
|
+
label: ReactNode;
|
|
13
|
+
disabled?: boolean;
|
|
14
|
+
}
|
|
15
|
+
export interface ToggleGroupProps {
|
|
16
|
+
items: ToggleGroupItem[];
|
|
17
|
+
value?: string | string[];
|
|
18
|
+
defaultValue?: string | string[];
|
|
19
|
+
onValueChange?: (value: string | string[]) => void;
|
|
20
|
+
type?: 'single' | 'multiple';
|
|
21
|
+
size?: 'sm' | 'md' | 'lg';
|
|
22
|
+
className?: string;
|
|
23
|
+
}
|
|
24
|
+
export declare function ToggleGroup({ items, value: controlledValue, defaultValue, onValueChange, type, size, className, }: ToggleGroupProps): import("react/jsx-runtime").JSX.Element;
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
import { ReactNode } from 'react';
|
|
2
|
+
export interface TreeNode {
|
|
3
|
+
id: string;
|
|
4
|
+
label: ReactNode;
|
|
5
|
+
icon?: ReactNode;
|
|
6
|
+
children?: TreeNode[];
|
|
7
|
+
disabled?: boolean;
|
|
8
|
+
data?: unknown;
|
|
9
|
+
}
|
|
10
|
+
export interface TreeViewProps {
|
|
11
|
+
nodes: TreeNode[];
|
|
12
|
+
selected?: string;
|
|
13
|
+
defaultSelected?: string;
|
|
14
|
+
onSelect?: (id: string, node: TreeNode) => void;
|
|
15
|
+
defaultExpanded?: string[];
|
|
16
|
+
expanded?: string[];
|
|
17
|
+
onExpandedChange?: (ids: string[]) => void;
|
|
18
|
+
className?: string;
|
|
19
|
+
}
|
|
20
|
+
export declare function TreeView({ nodes, selected: controlledSelected, defaultSelected, onSelect, defaultExpanded, expanded: controlledExpanded, onExpandedChange, className, }: TreeViewProps): import("react/jsx-runtime").JSX.Element;
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
import { LucideIcon } from 'lucide-react';
|
|
2
|
+
import { Translations } from '../../i18n';
|
|
3
|
+
export interface PublicHomeFeature {
|
|
4
|
+
key: string;
|
|
5
|
+
icon: LucideIcon;
|
|
6
|
+
title: string;
|
|
7
|
+
description: string;
|
|
8
|
+
}
|
|
9
|
+
export interface PublicHomePreviewSection {
|
|
10
|
+
id: string;
|
|
11
|
+
icon: LucideIcon;
|
|
12
|
+
label: string;
|
|
13
|
+
meta: string;
|
|
14
|
+
}
|
|
15
|
+
export interface PublicHomeMetaItem {
|
|
16
|
+
key: string;
|
|
17
|
+
icon: LucideIcon;
|
|
18
|
+
title: string;
|
|
19
|
+
lines: string[];
|
|
20
|
+
}
|
|
21
|
+
export declare function getPublicHomeContent(t: Translations): {
|
|
22
|
+
features: PublicHomeFeature[];
|
|
23
|
+
previewSections: PublicHomePreviewSection[];
|
|
24
|
+
metaItems: PublicHomeMetaItem[];
|
|
25
|
+
};
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
export interface LegalPageSection {
|
|
2
|
+
title: string;
|
|
3
|
+
paragraphs: string[];
|
|
4
|
+
}
|
|
5
|
+
export interface LegalPageContent {
|
|
6
|
+
badgeLabel: string;
|
|
7
|
+
title: string;
|
|
8
|
+
lead: string;
|
|
9
|
+
meta: string[];
|
|
10
|
+
summaryTitle: string;
|
|
11
|
+
summaryItems: string[];
|
|
12
|
+
sections: LegalPageSection[];
|
|
13
|
+
}
|
|
14
|
+
export declare function getPrivacyPolicyContent(locale: string): LegalPageContent;
|
|
15
|
+
export declare function getTermsOfServiceContent(locale: string): LegalPageContent;
|