vxui-react 1.1.1 → 1.1.2
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/README.en.md +205 -0
- package/README.md +17 -8
- package/dist/404.html +18 -0
- package/dist/_redirects +1 -0
- package/dist/colorful_flat_icon.ico +0 -0
- package/dist/colorful_flat_icon.svg +46 -0
- package/dist/index.cjs +23 -23
- package/dist/index.d.ts +1 -1
- package/dist/index.js +1831 -1661
- package/dist/{components → src/components}/AppShell.d.ts +2 -1
- package/dist/{components → src/components}/Button.d.ts +8 -2
- package/dist/{components → src/components}/Card.d.ts +12 -1
- package/dist/src/components/Dialog.d.ts +21 -0
- package/dist/src/components/Input.d.ts +18 -0
- package/dist/src/components/SegmentedControl.d.ts +16 -0
- package/dist/{components → src/components}/Shell.d.ts +2 -1
- package/dist/src/components/Table.d.ts +37 -0
- package/dist/{lib → src/lib}/index.d.ts +2 -0
- package/dist/src/lib/version.d.ts +1 -0
- package/dist/{lib → src/lib}/viewport.d.ts +2 -0
- package/dist/vxui-react.css +1 -1
- package/package.json +2 -1
- package/dist/components/Dialog.d.ts +0 -11
- package/dist/components/Input.d.ts +0 -9
- package/dist/components/Table.d.ts +0 -26
- /package/dist/{components → src/components}/Accordion.d.ts +0 -0
- /package/dist/{components → src/components}/Alert.d.ts +0 -0
- /package/dist/{components → src/components}/AlertDialog.d.ts +0 -0
- /package/dist/{components → src/components}/Avatar.d.ts +0 -0
- /package/dist/{components → src/components}/Badge.d.ts +0 -0
- /package/dist/{components → src/components}/Breadcrumb.d.ts +0 -0
- /package/dist/{components → src/components}/Calendar.d.ts +0 -0
- /package/dist/{components → src/components}/Carousel.d.ts +0 -0
- /package/dist/{components → src/components}/Checkbox.d.ts +0 -0
- /package/dist/{components → src/components}/CodeBlock.d.ts +0 -0
- /package/dist/{components → src/components}/ColorPicker.d.ts +0 -0
- /package/dist/{components → src/components}/Combobox.d.ts +0 -0
- /package/dist/{components → src/components}/CommandPalette.d.ts +0 -0
- /package/dist/{components → src/components}/ContextMenu.d.ts +0 -0
- /package/dist/{components → src/components}/DatePicker.d.ts +0 -0
- /package/dist/{components → src/components}/DropdownMenu.d.ts +0 -0
- /package/dist/{components → src/components}/EmptyState.d.ts +0 -0
- /package/dist/{components → src/components}/FileUpload.d.ts +0 -0
- /package/dist/{components → src/components}/Form.d.ts +0 -0
- /package/dist/{components → src/components}/Heading.d.ts +0 -0
- /package/dist/{components → src/components}/HoverCard.d.ts +0 -0
- /package/dist/{components → src/components}/Label.d.ts +0 -0
- /package/dist/{components → src/components}/LanguageSwitcher.d.ts +0 -0
- /package/dist/{components → src/components}/Menubar.d.ts +0 -0
- /package/dist/{components → src/components}/NavigationMenu.d.ts +0 -0
- /package/dist/{components → src/components}/NumberInput.d.ts +0 -0
- /package/dist/{components → src/components}/Pagination.d.ts +0 -0
- /package/dist/{components → src/components}/Popover.d.ts +0 -0
- /package/dist/{components → src/components}/Progress.d.ts +0 -0
- /package/dist/{components → src/components}/Radio.d.ts +0 -0
- /package/dist/{components → src/components}/Rating.d.ts +0 -0
- /package/dist/{components → src/components}/Resizable.d.ts +0 -0
- /package/dist/{components → src/components}/Responsive.d.ts +0 -0
- /package/dist/{components → src/components}/ScrollArea.d.ts +0 -0
- /package/dist/{components → src/components}/Select.d.ts +0 -0
- /package/dist/{components → src/components}/Separator.d.ts +0 -0
- /package/dist/{components → src/components}/Sheet.d.ts +0 -0
- /package/dist/{components → src/components}/Skeleton.d.ts +0 -0
- /package/dist/{components → src/components}/Slider.d.ts +0 -0
- /package/dist/{components → src/components}/Spinner.d.ts +0 -0
- /package/dist/{components → src/components}/Stepper.d.ts +0 -0
- /package/dist/{components → src/components}/Switch.d.ts +0 -0
- /package/dist/{components → src/components}/Tabs.d.ts +0 -0
- /package/dist/{components → src/components}/TagInput.d.ts +0 -0
- /package/dist/{components → src/components}/Text.d.ts +0 -0
- /package/dist/{components → src/components}/Textarea.d.ts +0 -0
- /package/dist/{components → src/components}/ThemeProvider.d.ts +0 -0
- /package/dist/{components → src/components}/Timeline.d.ts +0 -0
- /package/dist/{components → src/components}/Toast.d.ts +0 -0
- /package/dist/{components → src/components}/Toggle.d.ts +0 -0
- /package/dist/{components → src/components}/Tooltip.d.ts +0 -0
- /package/dist/{components → src/components}/TreeView.d.ts +0 -0
- /package/dist/{components → src/components}/mobile/ActionSheet.d.ts +0 -0
- /package/dist/{components → src/components}/mobile/BottomNav.d.ts +0 -0
- /package/dist/{components → src/components}/mobile/MobileApp.d.ts +0 -0
- /package/dist/{components → src/components}/mobile/MobileDrawer.d.ts +0 -0
- /package/dist/{components → src/components}/mobile/MobileList.d.ts +0 -0
- /package/dist/{components → src/components}/mobile/MobilePreviewPage.d.ts +0 -0
- /package/dist/{components → src/components}/mobile/MobileShell.d.ts +0 -0
- /package/dist/{components → src/components}/pages/ErrorPage.d.ts +0 -0
- /package/dist/{components → src/components}/pages/HomePage.d.ts +0 -0
- /package/dist/{components → src/components}/pages/LoginPage.d.ts +0 -0
- /package/dist/{components → src/components}/pages/PrivacyPolicyPage.d.ts +0 -0
- /package/dist/{components → src/components}/pages/RegisterPage.d.ts +0 -0
- /package/dist/{components → src/components}/pages/TermsOfServicePage.d.ts +0 -0
- /package/dist/{components → src/components}/pages/homePageContent.d.ts +0 -0
- /package/dist/{components → src/components}/pages/legalPageContent.d.ts +0 -0
- /package/dist/{lib → src/lib}/cx.d.ts +0 -0
|
@@ -19,6 +19,7 @@ export interface AppShellProps {
|
|
|
19
19
|
density?: 'comfortable' | 'compact';
|
|
20
20
|
onSidebarToggle?: () => void;
|
|
21
21
|
onMobileNavToggle?: () => void;
|
|
22
|
+
onSidebarClick?: (e: React.MouseEvent<HTMLElement>) => void;
|
|
22
23
|
menuButtonLabel?: string;
|
|
23
24
|
sidebarCollapseLabel?: string;
|
|
24
25
|
sidebarExpandLabel?: string;
|
|
@@ -27,4 +28,4 @@ export interface AppShellProps {
|
|
|
27
28
|
sidebarFooter?: ReactNode;
|
|
28
29
|
children: ReactNode;
|
|
29
30
|
}
|
|
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;
|
|
31
|
+
export declare function AppShell({ brand, brandCaption, brandIcon, topbarRef, breadcrumb, title, description, navItems, navSections, sidebarCollapsed, mobileNavOpen, onSidebarToggle, onMobileNavToggle, onSidebarClick, menuButtonLabel, sidebarCollapseLabel, sidebarExpandLabel, sidebarCloseLabel, density, headerActions, sidebarFooter, children, }: AppShellProps): import("react/jsx-runtime").JSX.Element;
|
|
@@ -1,12 +1,18 @@
|
|
|
1
|
-
import { ButtonHTMLAttributes } from 'react';
|
|
1
|
+
import { ButtonHTMLAttributes, ReactNode } from 'react';
|
|
2
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
|
+
type ButtonShape = 'rect' | 'square' | 'pill' | 'circle';
|
|
5
5
|
export interface ButtonProps extends ButtonHTMLAttributes<HTMLButtonElement> {
|
|
6
6
|
variant?: ButtonVariant;
|
|
7
7
|
size?: ButtonSize;
|
|
8
8
|
fullWidth?: boolean;
|
|
9
9
|
shape?: ButtonShape;
|
|
10
|
+
/** Show a loading spinner and disable the button */
|
|
11
|
+
loading?: boolean;
|
|
12
|
+
/** Left-side icon slot (renders before children) */
|
|
13
|
+
startIcon?: ReactNode;
|
|
14
|
+
/** Right-side icon slot (renders after children) */
|
|
15
|
+
endIcon?: ReactNode;
|
|
10
16
|
}
|
|
11
17
|
export declare const Button: import('react').ForwardRefExoticComponent<ButtonProps & import('react').RefAttributes<HTMLButtonElement>>;
|
|
12
18
|
export {};
|
|
@@ -1,6 +1,17 @@
|
|
|
1
1
|
import { HTMLAttributes } from 'react';
|
|
2
|
-
|
|
2
|
+
type CardVariant = 'default' | 'flat' | 'elevated' | 'outlined' | 'ghost' | 'filled';
|
|
3
|
+
type CardPadding = 'none' | 'sm' | 'md' | 'lg';
|
|
4
|
+
export interface CardProps extends HTMLAttributes<HTMLDivElement> {
|
|
5
|
+
/** Visual style preset */
|
|
6
|
+
variant?: CardVariant;
|
|
7
|
+
/** Inner padding size */
|
|
8
|
+
padding?: CardPadding;
|
|
9
|
+
/** Add a hover lift effect — useful for clickable cards */
|
|
10
|
+
hoverable?: boolean;
|
|
11
|
+
}
|
|
12
|
+
export declare function Card({ className, variant, padding, hoverable, ...props }: CardProps): import("react/jsx-runtime").JSX.Element;
|
|
3
13
|
export declare function CardHeader({ className, ...props }: HTMLAttributes<HTMLDivElement>): import("react/jsx-runtime").JSX.Element;
|
|
4
14
|
export declare function CardTitle({ className, ...props }: HTMLAttributes<HTMLHeadingElement>): import("react/jsx-runtime").JSX.Element;
|
|
5
15
|
export declare function CardDescription({ className, ...props }: HTMLAttributes<HTMLParagraphElement>): import("react/jsx-runtime").JSX.Element;
|
|
6
16
|
export declare function CardContent({ className, ...props }: HTMLAttributes<HTMLDivElement>): import("react/jsx-runtime").JSX.Element;
|
|
17
|
+
export {};
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
import { ReactNode } from 'react';
|
|
2
|
+
import * as DialogPrimitive from '@radix-ui/react-dialog';
|
|
3
|
+
export type DialogSize = 'sm' | 'md' | 'lg' | 'xl' | 'full';
|
|
4
|
+
export type DialogPadding = 'none' | 'sm' | 'md' | 'lg';
|
|
5
|
+
export interface DialogProps extends Pick<DialogPrimitive.DialogProps, 'defaultOpen' | 'onOpenChange' | 'open'> {
|
|
6
|
+
trigger: ReactNode;
|
|
7
|
+
title: string;
|
|
8
|
+
description?: string;
|
|
9
|
+
children: ReactNode;
|
|
10
|
+
footer?: ReactNode;
|
|
11
|
+
className?: string;
|
|
12
|
+
/** Dialog width preset. Default: 'md' */
|
|
13
|
+
size?: DialogSize;
|
|
14
|
+
/** Inner padding preset. Default: 'md' */
|
|
15
|
+
padding?: DialogPadding;
|
|
16
|
+
/** Allow the body to scroll when content overflows. Default: false */
|
|
17
|
+
scrollable?: boolean;
|
|
18
|
+
/** Show the close (×) button. Default: true */
|
|
19
|
+
closable?: boolean;
|
|
20
|
+
}
|
|
21
|
+
export declare function Dialog({ trigger, title, description, children, footer, className, size, padding, scrollable, closable, ...props }: DialogProps): import("react/jsx-runtime").JSX.Element;
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
import { InputHTMLAttributes, ReactNode } from 'react';
|
|
2
|
+
type InputVariant = 'default' | 'filled' | 'underline' | 'borderless';
|
|
3
|
+
type InputSize = 'sm' | 'md' | 'lg';
|
|
4
|
+
export interface InputProps extends Omit<InputHTMLAttributes<HTMLInputElement>, 'prefix' | 'size'> {
|
|
5
|
+
label?: string;
|
|
6
|
+
hint?: string;
|
|
7
|
+
prefix?: ReactNode;
|
|
8
|
+
suffix?: ReactNode;
|
|
9
|
+
error?: string;
|
|
10
|
+
/** Visual style */
|
|
11
|
+
variant?: InputVariant;
|
|
12
|
+
/** Height / font-size preset */
|
|
13
|
+
size?: InputSize;
|
|
14
|
+
/** Pill-shaped input */
|
|
15
|
+
rounded?: boolean;
|
|
16
|
+
}
|
|
17
|
+
export declare function Input({ className, label, hint, prefix, suffix, error, variant, size, rounded, ...props }: InputProps): import("react/jsx-runtime").JSX.Element;
|
|
18
|
+
export {};
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
import { ReactNode } from 'react';
|
|
2
|
+
export interface SegmentedControlOption {
|
|
3
|
+
label: ReactNode;
|
|
4
|
+
value: string;
|
|
5
|
+
disabled?: boolean;
|
|
6
|
+
}
|
|
7
|
+
export interface SegmentedControlProps {
|
|
8
|
+
options: SegmentedControlOption[];
|
|
9
|
+
value?: string;
|
|
10
|
+
defaultValue?: string;
|
|
11
|
+
onChange?: (value: string) => void;
|
|
12
|
+
className?: string;
|
|
13
|
+
fullWidth?: boolean;
|
|
14
|
+
size?: 'sm' | 'md' | 'lg';
|
|
15
|
+
}
|
|
16
|
+
export declare function SegmentedControl({ options, value: controlledValue, defaultValue, onChange, className, fullWidth, size, }: SegmentedControlProps): import("react/jsx-runtime").JSX.Element;
|
|
@@ -30,9 +30,10 @@ export interface ShellSidebarProps {
|
|
|
30
30
|
onToggle?: () => void;
|
|
31
31
|
collapseLabel?: string;
|
|
32
32
|
expandLabel?: string;
|
|
33
|
+
onSidebarClick?: (e: React.MouseEvent<HTMLElement>) => void;
|
|
33
34
|
children?: ReactNode;
|
|
34
35
|
}
|
|
35
|
-
export declare function ShellSidebar({ brand, brandCaption, brandIcon, collapsed, footer, onToggle, collapseLabel, expandLabel, children, }: ShellSidebarProps): import("react/jsx-runtime").JSX.Element;
|
|
36
|
+
export declare function ShellSidebar({ brand, brandCaption, brandIcon, collapsed, footer, onToggle, collapseLabel, expandLabel, onSidebarClick, children, }: ShellSidebarProps): import("react/jsx-runtime").JSX.Element;
|
|
36
37
|
export interface ShellNavProps {
|
|
37
38
|
label?: string;
|
|
38
39
|
children?: ReactNode;
|
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
import { ReactNode, HTMLAttributes } from 'react';
|
|
2
|
+
export type SortDirection = 'asc' | 'desc' | null;
|
|
3
|
+
export interface TableColumn<T> {
|
|
4
|
+
key: string;
|
|
5
|
+
header: ReactNode;
|
|
6
|
+
accessor: (row: T) => ReactNode;
|
|
7
|
+
sortable?: boolean;
|
|
8
|
+
width?: string | number;
|
|
9
|
+
align?: 'left' | 'center' | 'right';
|
|
10
|
+
className?: string;
|
|
11
|
+
}
|
|
12
|
+
export interface TableProps<T> extends HTMLAttributes<HTMLDivElement> {
|
|
13
|
+
columns: TableColumn<T>[];
|
|
14
|
+
data: T[];
|
|
15
|
+
/** Row height preset. 'sm' replaces the legacy `compact` prop. */
|
|
16
|
+
size?: 'sm' | 'md' | 'lg';
|
|
17
|
+
striped?: boolean;
|
|
18
|
+
hoverable?: boolean;
|
|
19
|
+
bordered?: boolean;
|
|
20
|
+
/** @deprecated Use size="sm" instead */
|
|
21
|
+
compact?: boolean;
|
|
22
|
+
stickyHeader?: boolean;
|
|
23
|
+
/** Remove all borders including the outer wrapper border */
|
|
24
|
+
borderless?: boolean;
|
|
25
|
+
/** Hide the header row */
|
|
26
|
+
headless?: boolean;
|
|
27
|
+
/** Remove the outer wrapper border-radius */
|
|
28
|
+
rounded?: boolean;
|
|
29
|
+
/** Show a loading overlay over the table body */
|
|
30
|
+
loading?: boolean;
|
|
31
|
+
caption?: string;
|
|
32
|
+
emptyText?: ReactNode;
|
|
33
|
+
sortColumn?: string | null;
|
|
34
|
+
sortDirection?: SortDirection;
|
|
35
|
+
onSortChange?: (column: string, direction: SortDirection) => void;
|
|
36
|
+
}
|
|
37
|
+
export declare function Table<T>({ columns, data, size, striped, hoverable, bordered, compact, stickyHeader, borderless, headless, rounded, loading, caption, emptyText, sortColumn: controlledSortCol, sortDirection: controlledSortDir, onSortChange, className, ...props }: TableProps<T>): import("react/jsx-runtime").JSX.Element;
|
|
@@ -24,6 +24,8 @@ export { Select } from '../components/Select';
|
|
|
24
24
|
export type { SelectProps } from '../components/Select';
|
|
25
25
|
export { Checkbox } from '../components/Checkbox';
|
|
26
26
|
export type { CheckboxProps } from '../components/Checkbox';
|
|
27
|
+
export { SegmentedControl } from '../components/SegmentedControl';
|
|
28
|
+
export type { SegmentedControlProps, SegmentedControlOption } from '../components/SegmentedControl';
|
|
27
29
|
export { Radio, RadioGroup } from '../components/Radio';
|
|
28
30
|
export type { RadioProps, RadioGroupProps } from '../components/Radio';
|
|
29
31
|
export { Textarea } from '../components/Textarea';
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export declare const APP_VERSION: string;
|
|
@@ -4,6 +4,8 @@ export interface ViewportContextValue {
|
|
|
4
4
|
viewport: ViewportType;
|
|
5
5
|
isPhone: boolean;
|
|
6
6
|
isTablet: boolean;
|
|
7
|
+
/** True when the device is in the tablet width range AND screen orientation is portrait */
|
|
8
|
+
isTabletPortrait: boolean;
|
|
7
9
|
isDesktop: boolean;
|
|
8
10
|
}
|
|
9
11
|
export interface ViewportProviderProps {
|