vxui-re 1.0.3 → 1.0.4

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 (169) hide show
  1. package/dist/.assetsignore +2 -0
  2. package/dist/404.html +18 -0
  3. package/dist/colorful_flat_icon.ico +0 -0
  4. package/dist/colorful_flat_icon.svg +46 -0
  5. package/dist/index.cjs +144 -0
  6. package/dist/index.css +1 -0
  7. package/dist/index.d.ts +2 -0
  8. package/dist/index.js +13289 -0
  9. package/dist/src/components/Accordion.d.ts +14 -0
  10. package/dist/src/components/Alert.d.ts +10 -0
  11. package/dist/src/components/AppShell.d.ts +33 -0
  12. package/dist/src/components/Article.d.ts +72 -0
  13. package/dist/src/components/Avatar.d.ts +12 -0
  14. package/dist/src/components/Badge.d.ts +7 -0
  15. package/dist/src/components/Breadcrumb.d.ts +12 -0
  16. package/dist/src/components/Button.d.ts +18 -0
  17. package/dist/src/components/Calendar.d.ts +10 -0
  18. package/dist/src/components/Card.d.ts +17 -0
  19. package/dist/src/components/Carousel.d.ts +15 -0
  20. package/dist/src/components/Checkbox.d.ts +7 -0
  21. package/dist/src/components/CodeBlock.d.ts +9 -0
  22. package/dist/src/components/ColorPicker.d.ts +13 -0
  23. package/dist/src/components/CommandPalette.d.ts +22 -0
  24. package/dist/src/components/ContextMenu.d.ts +20 -0
  25. package/dist/src/components/DatePicker.d.ts +15 -0
  26. package/dist/src/components/Descriptions.d.ts +29 -0
  27. package/dist/src/components/Dialog.d.ts +49 -0
  28. package/dist/src/components/DropdownMenu.d.ts +55 -0
  29. package/dist/src/components/EmptyState.d.ts +9 -0
  30. package/dist/src/components/FileUpload.d.ts +17 -0
  31. package/dist/src/components/Form.d.ts +28 -0
  32. package/dist/src/components/Heading.d.ts +13 -0
  33. package/dist/src/components/HoverCard.d.ts +11 -0
  34. package/dist/src/components/Image.d.ts +30 -0
  35. package/dist/src/components/Input.d.ts +18 -0
  36. package/dist/src/components/Label.d.ts +5 -0
  37. package/dist/src/components/LanguageSwitcher.d.ts +9 -0
  38. package/dist/src/components/Menubar.d.ts +24 -0
  39. package/dist/src/components/MultiSelect.d.ts +27 -0
  40. package/dist/src/components/NavigationMenu.d.ts +20 -0
  41. package/dist/src/components/Notification.d.ts +30 -0
  42. package/dist/src/components/NumberInput.d.ts +12 -0
  43. package/dist/src/components/Pagination.d.ts +9 -0
  44. package/dist/src/components/PinInput.d.ts +37 -0
  45. package/dist/src/components/Popover.d.ts +13 -0
  46. package/dist/src/components/Progress.d.ts +11 -0
  47. package/dist/src/components/Radio.d.ts +12 -0
  48. package/dist/src/components/Rating.d.ts +14 -0
  49. package/dist/src/components/Resizable.d.ts +35 -0
  50. package/dist/src/components/Responsive.d.ts +25 -0
  51. package/dist/src/components/Result.d.ts +18 -0
  52. package/dist/src/components/ScrollArea.d.ts +21 -0
  53. package/dist/src/components/SegmentedControl.d.ts +16 -0
  54. package/dist/src/components/Select.d.ts +31 -0
  55. package/dist/src/components/Separator.d.ts +6 -0
  56. package/dist/src/components/Sheet/Sheet.d.ts +30 -0
  57. package/dist/src/components/Sheet/SheetPanel.d.ts +44 -0
  58. package/dist/src/components/Sheet/index.d.ts +2 -0
  59. package/dist/src/components/Sheet/useSheetState.d.ts +34 -0
  60. package/dist/src/components/Shell.d.ts +88 -0
  61. package/dist/src/components/Skeleton.d.ts +8 -0
  62. package/dist/src/components/Slider.d.ts +7 -0
  63. package/dist/src/components/Spinner.d.ts +8 -0
  64. package/dist/src/components/Stepper.d.ts +14 -0
  65. package/dist/src/components/Switch.d.ts +7 -0
  66. package/dist/src/components/Table.d.ts +90 -0
  67. package/dist/src/components/Tabs.d.ts +5 -0
  68. package/dist/src/components/TagInput.d.ts +18 -0
  69. package/dist/src/components/Text.d.ts +14 -0
  70. package/dist/src/components/Textarea.d.ts +7 -0
  71. package/dist/src/components/ThemeProvider.d.ts +51 -0
  72. package/dist/src/components/TimePicker.d.ts +14 -0
  73. package/dist/src/components/Timeline.d.ts +14 -0
  74. package/dist/src/components/Toast.d.ts +15 -0
  75. package/dist/src/components/Toggle.d.ts +24 -0
  76. package/dist/src/components/Tooltip.d.ts +11 -0
  77. package/dist/src/components/TreeView.d.ts +20 -0
  78. package/dist/src/components/__tests__/Accordion.test.d.ts +1 -0
  79. package/dist/src/components/__tests__/ActionSheet.test.d.ts +1 -0
  80. package/dist/src/components/__tests__/Alert.test.d.ts +1 -0
  81. package/dist/src/components/__tests__/AlertDialog.test.d.ts +1 -0
  82. package/dist/src/components/__tests__/AppShell.test.d.ts +1 -0
  83. package/dist/src/components/__tests__/Avatar.test.d.ts +1 -0
  84. package/dist/src/components/__tests__/Badge.test.d.ts +1 -0
  85. package/dist/src/components/__tests__/BottomNav.test.d.ts +1 -0
  86. package/dist/src/components/__tests__/Breadcrumb.test.d.ts +1 -0
  87. package/dist/src/components/__tests__/Button.test.d.ts +1 -0
  88. package/dist/src/components/__tests__/Calendar.test.d.ts +1 -0
  89. package/dist/src/components/__tests__/Card.test.d.ts +1 -0
  90. package/dist/src/components/__tests__/Carousel.test.d.ts +1 -0
  91. package/dist/src/components/__tests__/Checkbox.test.d.ts +1 -0
  92. package/dist/src/components/__tests__/CodeBlock.test.d.ts +1 -0
  93. package/dist/src/components/__tests__/ColorPicker.test.d.ts +1 -0
  94. package/dist/src/components/__tests__/CommandPalette.test.d.ts +1 -0
  95. package/dist/src/components/__tests__/ContextMenu.test.d.ts +1 -0
  96. package/dist/src/components/__tests__/DatePicker.test.d.ts +1 -0
  97. package/dist/src/components/__tests__/Dialog.test.d.ts +1 -0
  98. package/dist/src/components/__tests__/DialogFormControls.test.d.ts +1 -0
  99. package/dist/src/components/__tests__/DropdownMenu.test.d.ts +1 -0
  100. package/dist/src/components/__tests__/EmptyState.test.d.ts +1 -0
  101. package/dist/src/components/__tests__/FileUpload.test.d.ts +1 -0
  102. package/dist/src/components/__tests__/Form.test.d.ts +1 -0
  103. package/dist/src/components/__tests__/Heading.test.d.ts +1 -0
  104. package/dist/src/components/__tests__/HoverCard.test.d.ts +1 -0
  105. package/dist/src/components/__tests__/Input.test.d.ts +1 -0
  106. package/dist/src/components/__tests__/Label.test.d.ts +1 -0
  107. package/dist/src/components/__tests__/LanguageSwitcher.test.d.ts +1 -0
  108. package/dist/src/components/__tests__/Menubar.test.d.ts +1 -0
  109. package/dist/src/components/__tests__/MobileDrawer.test.d.ts +1 -0
  110. package/dist/src/components/__tests__/MobileList.test.d.ts +1 -0
  111. package/dist/src/components/__tests__/MultiSelect.test.d.ts +1 -0
  112. package/dist/src/components/__tests__/NavigationMenu.test.d.ts +1 -0
  113. package/dist/src/components/__tests__/NumberInput.test.d.ts +1 -0
  114. package/dist/src/components/__tests__/Pagination.test.d.ts +1 -0
  115. package/dist/src/components/__tests__/Popover.test.d.ts +1 -0
  116. package/dist/src/components/__tests__/Progress.test.d.ts +1 -0
  117. package/dist/src/components/__tests__/Radio.test.d.ts +1 -0
  118. package/dist/src/components/__tests__/Rating.test.d.ts +1 -0
  119. package/dist/src/components/__tests__/Resizable.test.d.ts +1 -0
  120. package/dist/src/components/__tests__/Responsive.test.d.ts +1 -0
  121. package/dist/src/components/__tests__/ScrollArea.test.d.ts +1 -0
  122. package/dist/src/components/__tests__/SegmentedControl.test.d.ts +1 -0
  123. package/dist/src/components/__tests__/Select.test.d.ts +1 -0
  124. package/dist/src/components/__tests__/Separator.test.d.ts +1 -0
  125. package/dist/src/components/__tests__/Sheet.test.d.ts +1 -0
  126. package/dist/src/components/__tests__/Shell.test.d.ts +1 -0
  127. package/dist/src/components/__tests__/Skeleton.test.d.ts +1 -0
  128. package/dist/src/components/__tests__/Slider.test.d.ts +1 -0
  129. package/dist/src/components/__tests__/Spinner.test.d.ts +1 -0
  130. package/dist/src/components/__tests__/Stepper.test.d.ts +1 -0
  131. package/dist/src/components/__tests__/Switch.test.d.ts +1 -0
  132. package/dist/src/components/__tests__/Table.test.d.ts +1 -0
  133. package/dist/src/components/__tests__/Tabs.test.d.ts +1 -0
  134. package/dist/src/components/__tests__/TagInput.test.d.ts +1 -0
  135. package/dist/src/components/__tests__/Text.test.d.ts +1 -0
  136. package/dist/src/components/__tests__/Textarea.test.d.ts +1 -0
  137. package/dist/src/components/__tests__/ThemeProvider.test.d.ts +1 -0
  138. package/dist/src/components/__tests__/TimePicker.test.d.ts +1 -0
  139. package/dist/src/components/__tests__/Timeline.test.d.ts +1 -0
  140. package/dist/src/components/__tests__/Toast.test.d.ts +1 -0
  141. package/dist/src/components/__tests__/Toggle.test.d.ts +1 -0
  142. package/dist/src/components/__tests__/Tooltip.test.d.ts +1 -0
  143. package/dist/src/components/__tests__/TreeView.test.d.ts +1 -0
  144. package/dist/src/components/mobile/ActionSheet.d.ts +15 -0
  145. package/dist/src/components/mobile/BottomNav.d.ts +23 -0
  146. package/dist/src/components/mobile/MobileApp.d.ts +1 -0
  147. package/dist/src/components/mobile/MobileDrawer.d.ts +31 -0
  148. package/dist/src/components/mobile/MobileList.d.ts +24 -0
  149. package/dist/src/components/mobile/MobilePreviewPage.d.ts +5 -0
  150. package/dist/src/components/mobile/MobileShell.d.ts +24 -0
  151. package/dist/src/components/pages/ErrorPage.d.ts +9 -0
  152. package/dist/src/components/pages/HomePage.d.ts +10 -0
  153. package/dist/src/components/pages/LoginPage.d.ts +12 -0
  154. package/dist/src/components/pages/PrivacyPolicyPage.d.ts +5 -0
  155. package/dist/src/components/pages/RegisterPage.d.ts +14 -0
  156. package/dist/src/components/pages/TermsOfServicePage.d.ts +5 -0
  157. package/dist/src/components/pages/homePageContent.d.ts +25 -0
  158. package/dist/src/components/pages/legalPageContent.d.ts +15 -0
  159. package/dist/src/lib/VXUIProvider.d.ts +29 -0
  160. package/dist/src/lib/__tests__/cx.test.d.ts +1 -0
  161. package/dist/src/lib/__tests__/viewport.test.d.ts +1 -0
  162. package/dist/src/lib/breakpoints.d.ts +63 -0
  163. package/dist/src/lib/cx.d.ts +1 -0
  164. package/dist/src/lib/dialogPopover.d.ts +30 -0
  165. package/dist/src/lib/index.d.ts +152 -0
  166. package/dist/src/lib/version.d.ts +1 -0
  167. package/dist/src/lib/viewport.d.ts +21 -0
  168. package/dist/wrangler.json +1 -0
  169. package/package.json +2 -2
@@ -0,0 +1,14 @@
1
+ import { ReactNode } from 'react';
2
+ export interface AccordionItem {
3
+ key: string;
4
+ title: ReactNode;
5
+ content: ReactNode;
6
+ disabled?: boolean;
7
+ }
8
+ export interface AccordionProps {
9
+ items: AccordionItem[];
10
+ multiple?: boolean;
11
+ defaultOpen?: string[];
12
+ className?: string;
13
+ }
14
+ export declare function Accordion({ items, multiple, defaultOpen, className }: AccordionProps): import("react/jsx-runtime").JSX.Element;
@@ -0,0 +1,10 @@
1
+ import { HTMLAttributes, ReactNode } from 'react';
2
+ type AlertVariant = 'info' | 'success' | 'warning' | 'danger';
3
+ export interface AlertProps extends HTMLAttributes<HTMLDivElement> {
4
+ variant?: AlertVariant;
5
+ title?: string;
6
+ icon?: ReactNode;
7
+ onClose?: () => void;
8
+ }
9
+ export declare function Alert({ className, variant, title, icon, onClose, children, ...props }: AlertProps): import("react/jsx-runtime").JSX.Element;
10
+ export {};
@@ -0,0 +1,33 @@
1
+ import { default as React, 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;
7
+ export interface AppShellProps {
8
+ brand?: string;
9
+ brandCaption?: string;
10
+ brandIcon?: ReactNode;
11
+ topbarRef?: Ref<HTMLElement>;
12
+ breadcrumb?: ReactNode;
13
+ title?: string;
14
+ description?: string;
15
+ navItems?: AppShellNavItem[];
16
+ navSections?: AppShellNavSection[];
17
+ sidebarCollapsed?: boolean;
18
+ /** Configuration for the minimum and exact width of the sidebar (number as px, or CSS string). */
19
+ sidebarWidth?: number | string;
20
+ mobileNavOpen?: boolean;
21
+ density?: 'comfortable' | 'compact';
22
+ onSidebarToggle?: () => void;
23
+ onMobileNavToggle?: () => void;
24
+ onSidebarClick?: (e: React.MouseEvent<HTMLElement>) => void;
25
+ menuButtonLabel?: string;
26
+ sidebarCollapseLabel?: string;
27
+ sidebarExpandLabel?: string;
28
+ sidebarCloseLabel?: string;
29
+ headerActions?: ReactNode;
30
+ sidebarFooter?: ReactNode;
31
+ children: ReactNode;
32
+ }
33
+ export declare function AppShell({ brand, brandCaption, brandIcon, topbarRef, breadcrumb, title, description, navItems, navSections, sidebarCollapsed, sidebarWidth, mobileNavOpen, onSidebarToggle, onMobileNavToggle, onSidebarClick, menuButtonLabel, sidebarCollapseLabel, sidebarExpandLabel, sidebarCloseLabel, density, headerActions, sidebarFooter, children, }: AppShellProps): import("react/jsx-runtime").JSX.Element;
@@ -0,0 +1,72 @@
1
+ import { HTMLAttributes, ReactNode } from 'react';
2
+ export interface ArticleProps extends HTMLAttributes<HTMLElement> {
3
+ children?: ReactNode;
4
+ }
5
+ export declare function Article({ children, className, ...props }: ArticleProps): import("react/jsx-runtime").JSX.Element;
6
+ export interface ArticleHeaderProps extends HTMLAttributes<HTMLElement> {
7
+ children?: ReactNode;
8
+ }
9
+ export declare function ArticleHeader({ children, className, ...props }: ArticleHeaderProps): import("react/jsx-runtime").JSX.Element;
10
+ export interface ArticleTitleProps extends HTMLAttributes<HTMLHeadingElement> {
11
+ children?: ReactNode;
12
+ }
13
+ export declare function ArticleTitle({ children, className, ...props }: ArticleTitleProps): import("react/jsx-runtime").JSX.Element;
14
+ export interface ArticleBodyProps extends HTMLAttributes<HTMLDivElement> {
15
+ children?: ReactNode;
16
+ }
17
+ export declare function ArticleBody({ children, className, ...props }: ArticleBodyProps): import("react/jsx-runtime").JSX.Element;
18
+ export interface SectionProps extends HTMLAttributes<HTMLElement> {
19
+ children?: ReactNode;
20
+ /** 章节 id,用于锚点跳转 */
21
+ sectionId?: string;
22
+ }
23
+ export declare function Section({ children, className, sectionId, ...props }: SectionProps): import("react/jsx-runtime").JSX.Element;
24
+ export interface SectionHeadingProps extends HTMLAttributes<HTMLHeadingElement> {
25
+ children?: ReactNode;
26
+ /** 锚点链接,如果提供则显示 # 锚点图标 */
27
+ anchor?: string;
28
+ }
29
+ export declare function SectionHeading({ children, className, anchor, ...props }: SectionHeadingProps): import("react/jsx-runtime").JSX.Element;
30
+ export interface PagerItem {
31
+ label: string;
32
+ onClick: () => void;
33
+ }
34
+ export interface PagerProps {
35
+ /** 上一页,不提供则隐藏 */
36
+ prev?: PagerItem;
37
+ /** 下一页,不提供则隐藏 */
38
+ next?: PagerItem;
39
+ className?: string;
40
+ }
41
+ export declare function Pager({ prev, next, className }: PagerProps): import("react/jsx-runtime").JSX.Element | null;
42
+ export interface PropsTableColumn {
43
+ prop: string;
44
+ type: string;
45
+ default?: string;
46
+ description: string;
47
+ required?: boolean;
48
+ }
49
+ export interface PropsTableProps {
50
+ columns: PropsTableColumn[];
51
+ className?: string;
52
+ }
53
+ export declare function PropsTable({ columns, className }: PropsTableProps): import("react/jsx-runtime").JSX.Element;
54
+ export interface ArticleEmptyStateProps {
55
+ icon?: ReactNode;
56
+ title: string;
57
+ description?: string;
58
+ action?: ReactNode;
59
+ className?: string;
60
+ }
61
+ export declare function ArticleEmptyState({ icon, title, description, action, className }: ArticleEmptyStateProps): import("react/jsx-runtime").JSX.Element;
62
+ export interface StatItem {
63
+ label: string;
64
+ value: string;
65
+ hint?: string;
66
+ icon?: ReactNode;
67
+ }
68
+ export interface StatsGridProps {
69
+ items: StatItem[];
70
+ className?: string;
71
+ }
72
+ export declare function StatsGrid({ items, className }: StatsGridProps): import("react/jsx-runtime").JSX.Element;
@@ -0,0 +1,12 @@
1
+ import { ImgHTMLAttributes } from 'react';
2
+ type AvatarSize = 'xs' | 'sm' | 'md' | 'lg' | 'xl';
3
+ type AvatarShape = 'circle' | 'square';
4
+ export interface AvatarProps extends Omit<ImgHTMLAttributes<HTMLImageElement>, 'src'> {
5
+ src?: string;
6
+ name?: string;
7
+ size?: AvatarSize;
8
+ shape?: AvatarShape;
9
+ fallback?: string;
10
+ }
11
+ export declare function Avatar({ src, name, size, shape, fallback, className, alt, ...props }: AvatarProps): import("react/jsx-runtime").JSX.Element;
12
+ export {};
@@ -0,0 +1,7 @@
1
+ import { HTMLAttributes } from 'react';
2
+ type BadgeVariant = 'neutral' | 'accent' | 'success' | 'warning';
3
+ export interface BadgeProps extends HTMLAttributes<HTMLSpanElement> {
4
+ variant?: BadgeVariant;
5
+ }
6
+ export declare function Badge({ className, variant, ...props }: BadgeProps): import("react/jsx-runtime").JSX.Element;
7
+ export {};
@@ -0,0 +1,12 @@
1
+ import { ReactNode } from 'react';
2
+ export interface BreadcrumbItem {
3
+ label: ReactNode;
4
+ href?: string;
5
+ onClick?: () => void;
6
+ }
7
+ export interface BreadcrumbProps {
8
+ items: BreadcrumbItem[];
9
+ separator?: ReactNode;
10
+ className?: string;
11
+ }
12
+ export declare function Breadcrumb({ items, separator, className }: BreadcrumbProps): import("react/jsx-runtime").JSX.Element;
@@ -0,0 +1,18 @@
1
+ import { ButtonHTMLAttributes, ReactNode } from 'react';
2
+ type ButtonVariant = 'solid' | 'secondary' | 'ghost' | 'danger' | 'outline' | 'soft' | 'danger-outline' | 'primary-outline' | 'gradient';
3
+ type ButtonSize = 'sm' | 'md' | 'lg';
4
+ type ButtonShape = 'rect' | 'square' | 'pill' | 'circle';
5
+ export interface ButtonProps extends ButtonHTMLAttributes<HTMLButtonElement> {
6
+ variant?: ButtonVariant;
7
+ size?: ButtonSize;
8
+ fullWidth?: boolean;
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;
16
+ }
17
+ export declare const Button: import('react').ForwardRefExoticComponent<ButtonProps & import('react').RefAttributes<HTMLButtonElement>>;
18
+ 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,17 @@
1
+ import { HTMLAttributes } from 'react';
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;
13
+ export declare function CardHeader({ className, ...props }: HTMLAttributes<HTMLDivElement>): import("react/jsx-runtime").JSX.Element;
14
+ export declare function CardTitle({ className, ...props }: HTMLAttributes<HTMLHeadingElement>): import("react/jsx-runtime").JSX.Element;
15
+ export declare function CardDescription({ className, ...props }: HTMLAttributes<HTMLParagraphElement>): import("react/jsx-runtime").JSX.Element;
16
+ export declare function CardContent({ className, ...props }: HTMLAttributes<HTMLDivElement>): import("react/jsx-runtime").JSX.Element;
17
+ export {};
@@ -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,7 @@
1
+ import { InputHTMLAttributes, ReactNode } from 'react';
2
+ export interface CheckboxProps extends Omit<InputHTMLAttributes<HTMLInputElement>, 'type'> {
3
+ label?: ReactNode;
4
+ description?: string;
5
+ indeterminate?: boolean;
6
+ }
7
+ export declare function Checkbox({ className, label, description, indeterminate, ...props }: CheckboxProps): import("react/jsx-runtime").JSX.Element;
@@ -0,0 +1,9 @@
1
+ export type CodeBlockLanguage = 'tsx' | 'typescript' | 'javascript' | 'jsx' | 'bash' | 'json' | 'markup';
2
+ export interface CodeBlockProps {
3
+ code: string;
4
+ language?: CodeBlockLanguage;
5
+ copyLabel: string;
6
+ copiedLabel: string;
7
+ onCopy: (code: string) => Promise<boolean> | boolean;
8
+ }
9
+ export declare function CodeBlock({ code, language, copyLabel, copiedLabel, onCopy, }: CodeBlockProps): import("react/jsx-runtime").JSX.Element;
@@ -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,22 @@
1
+ import { ReactNode } from 'react';
2
+ export interface SearchEntry {
3
+ key: string;
4
+ title: string;
5
+ section: string;
6
+ description: string;
7
+ keywords?: string[];
8
+ icon?: ReactNode;
9
+ }
10
+ export interface CommandPaletteProps {
11
+ entries: SearchEntry[];
12
+ open: boolean;
13
+ onClose: () => void;
14
+ onSelect: (key: string) => void;
15
+ placeholder?: string;
16
+ ariaLabel?: string;
17
+ emptyText?: (query: string) => string;
18
+ labelNavigate?: string;
19
+ labelGo?: string;
20
+ labelClose?: string;
21
+ }
22
+ export declare function CommandPalette({ entries, open, onClose, onSelect, placeholder, ariaLabel, emptyText, labelNavigate, labelGo, labelClose, }: CommandPaletteProps): import("react/jsx-runtime").JSX.Element | null;
@@ -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,29 @@
1
+ import { ReactNode, HTMLAttributes } from 'react';
2
+ type DescriptionsLayout = 'horizontal' | 'vertical';
3
+ type DescriptionsSize = 'sm' | 'md' | 'lg';
4
+ export interface DescriptionsItem {
5
+ /** Label (left column or top row) */
6
+ label: ReactNode;
7
+ /** Content (right column or bottom row) */
8
+ children: ReactNode;
9
+ /** Span across multiple columns. Default: 1 */
10
+ span?: number;
11
+ }
12
+ export interface DescriptionsProps extends Omit<HTMLAttributes<HTMLDivElement>, 'title'> {
13
+ /** List of description items */
14
+ items: DescriptionsItem[];
15
+ /** Layout direction. Default: 'horizontal' */
16
+ layout?: DescriptionsLayout;
17
+ /** Number of columns per row. Default: 3 (horizontal) / 1 (vertical) */
18
+ column?: number;
19
+ /** Size preset controlling spacing and font-size. Default: 'md' */
20
+ size?: DescriptionsSize;
21
+ /** Show border around the descriptions. Default: true */
22
+ bordered?: boolean;
23
+ /** Title shown above the descriptions */
24
+ title?: ReactNode;
25
+ /** Extra content rendered next to the title */
26
+ extra?: ReactNode;
27
+ }
28
+ export declare function Descriptions({ items, layout, column, size, bordered, title, extra, className, ...props }: DescriptionsProps): import("react/jsx-runtime").JSX.Element;
29
+ export {};
@@ -0,0 +1,49 @@
1
+ import { ReactNode, MouseEvent as ReactMouseEvent, KeyboardEvent as ReactKeyboardEvent } from 'react';
2
+ export type DialogSize = 'sm' | 'md' | 'lg' | 'xl' | 'full';
3
+ export type DialogPadding = 'none' | 'sm' | 'md' | 'lg';
4
+ export type DialogPlacement = 'center' | 'top' | 'right' | 'bottom' | 'left' | 'top-left' | 'top-right' | 'bottom-left' | 'bottom-right' | 'top-half' | 'right-half' | 'bottom-half' | 'left-half';
5
+ export interface DialogProps {
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
+ /** Dialog placement preset. Default: 'center' */
17
+ placement?: DialogPlacement;
18
+ /** Allow the body to scroll when content overflows. Default: true */
19
+ scrollable?: boolean;
20
+ /** Show the close (×) button. Default: true */
21
+ closable?: boolean;
22
+ /** When true, the dialog will be displayed in fullscreen mode. Default: false */
23
+ fullscreen?: boolean;
24
+ /** Controlled open state */
25
+ open?: boolean;
26
+ /** Default open state for uncontrolled mode */
27
+ defaultOpen?: boolean;
28
+ /** Callback when open state changes */
29
+ onOpenChange?: (open: boolean) => void;
30
+ /** Built-in confirm/cancel buttons — shown when onConfirm is provided (unless footer is also given) */
31
+ onConfirm?: () => void;
32
+ onCancel?: () => void;
33
+ confirmLabel?: string;
34
+ cancelLabel?: string;
35
+ confirmVariant?: 'solid' | 'danger';
36
+ }
37
+ export interface DialogCloseProps {
38
+ asChild?: boolean;
39
+ children: ReactNode;
40
+ onClick?: (e: ReactMouseEvent | ReactKeyboardEvent) => void;
41
+ className?: string;
42
+ [key: string]: unknown;
43
+ }
44
+ /**
45
+ * Wraps any child element so that clicking it closes the parent Dialog.
46
+ * Usage: <DialogClose asChild><Button>Cancel</Button></DialogClose>
47
+ */
48
+ export declare function DialogClose({ asChild, children, onClick, className, ...rest }: DialogCloseProps): import("react/jsx-runtime").JSX.Element;
49
+ export declare function Dialog({ trigger, title, description, children, footer, className, size, padding, placement, scrollable, closable, fullscreen, open: openProp, defaultOpen, onOpenChange, onConfirm, onCancel, confirmLabel, cancelLabel, confirmVariant, }: DialogProps): import("react/jsx-runtime").JSX.Element;
@@ -0,0 +1,55 @@
1
+ import { ReactNode } from 'react';
2
+ export type DropdownMenuItemType = 'checkbox' | 'radio';
3
+ export interface DropdownMenuItemProps {
4
+ label: ReactNode;
5
+ icon?: ReactNode;
6
+ shortcut?: string;
7
+ disabled?: boolean;
8
+ danger?: boolean;
9
+ /** Optional sub-menu items for nested menus (1 level deep) */
10
+ subItems?: DropdownMenuItemProps[];
11
+ onClick?: () => void;
12
+ /** Optional description text shown below the label */
13
+ description?: string;
14
+ /** Item type: 'checkbox' | 'radio' for checkable items */
15
+ type?: DropdownMenuItemType;
16
+ /** Checked state for checkbox/radio items */
17
+ checked?: boolean;
18
+ }
19
+ export interface DropdownMenuGroupProps {
20
+ label?: string;
21
+ items: DropdownMenuItemProps[];
22
+ }
23
+ export type DropdownSide = 'top' | 'bottom';
24
+ export type DropdownAlign = 'start' | 'end';
25
+ export interface DropdownMenuProps {
26
+ /** The trigger element. When passed a single React element, handlers are merged. */
27
+ trigger: ReactNode;
28
+ /** Grouped menu items (renders separators between groups). */
29
+ groups?: DropdownMenuGroupProps[];
30
+ /** Flat list of menu items. */
31
+ items?: DropdownMenuItemProps[];
32
+ /** Side to render the menu: 'top' | 'bottom' (default: 'bottom'). */
33
+ side?: DropdownSide;
34
+ /** Alignment: 'start' | 'end' (default: 'start'). */
35
+ align?: DropdownAlign;
36
+ /** Offset from the trigger in pixels (default: 4). */
37
+ sideOffset?: number;
38
+ className?: string;
39
+ /** Controlled open state. */
40
+ open?: boolean;
41
+ /** Callback when open state changes. */
42
+ onOpenChange?: (open: boolean) => void;
43
+ /** Unified callback when any item is selected. */
44
+ onSelect?: (item: DropdownMenuItemProps) => void;
45
+ }
46
+ export interface DropdownMenuSubProps {
47
+ trigger: ReactNode;
48
+ items: DropdownMenuItemProps[];
49
+ disabled?: boolean;
50
+ /** Called when a sub-item is selected to close the entire menu hierarchy */
51
+ onCloseAll?: () => void;
52
+ /** Unified select callback forwarded from parent */
53
+ onSelect?: (item: DropdownMenuItemProps) => void;
54
+ }
55
+ export declare function DropdownMenu({ trigger, groups, items, side, align, sideOffset, className, open: controlledOpen, onOpenChange, onSelect, }: DropdownMenuProps): 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,13 @@
1
+ import { HTMLAttributes } from 'react';
2
+ type HeadingLevel = 1 | 2 | 3 | 4 | 5 | 6;
3
+ type HeadingVariant = 'default' | 'secondary';
4
+ type HeadingWeight = 'normal' | 'medium' | 'semibold' | 'bold';
5
+ export interface HeadingProps extends HTMLAttributes<HTMLHeadingElement> {
6
+ as?: `h${HeadingLevel}`;
7
+ level?: HeadingLevel;
8
+ variant?: HeadingVariant;
9
+ weight?: HeadingWeight;
10
+ truncate?: boolean;
11
+ }
12
+ export declare function Heading({ as, level, variant, weight, truncate, className, ...props }: HeadingProps): import("react/jsx-runtime").JSX.Element;
13
+ 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,30 @@
1
+ import { ImgHTMLAttributes, ReactNode } from 'react';
2
+ type ImageRadius = 'none' | 'sm' | 'md' | 'lg' | 'full';
3
+ type ImageFit = 'cover' | 'contain' | 'fill' | 'none';
4
+ export interface ImageProps extends Omit<ImgHTMLAttributes<HTMLImageElement>, 'placeholder' | 'width' | 'height'> {
5
+ /** Image source URL */
6
+ src: string;
7
+ /** Alt text */
8
+ alt?: string;
9
+ /** Fixed width (CSS value or number in px) */
10
+ width?: string | number;
11
+ /** Fixed height (CSS value or number in px) */
12
+ height?: string | number;
13
+ /** Border radius preset */
14
+ radius?: ImageRadius;
15
+ /** Object-fit CSS value */
16
+ fit?: ImageFit;
17
+ /** Enable lazy loading via IntersectionObserver. Default: true */
18
+ lazy?: boolean;
19
+ /** Placeholder content shown while loading */
20
+ placeholder?: ReactNode;
21
+ /** Fallback content shown on error */
22
+ fallback?: ReactNode;
23
+ /** Enable click-to-preview lightbox. Default: false */
24
+ preview?: boolean;
25
+ /** Caption text below the image */
26
+ caption?: ReactNode;
27
+ className?: string;
28
+ }
29
+ export declare function Image({ src, alt, width, height, radius, fit, lazy, placeholder, fallback, preview, caption, className, style, ...props }: ImageProps): import("react/jsx-runtime").JSX.Element;
30
+ export {};
@@ -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,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,9 @@
1
+ export interface LanguageSwitcherProps {
2
+ /**
3
+ * `"inline"` — compact dropdown for the topbar / public nav
4
+ * `"sidebar"` — full-width dropdown for the sidebar footer
5
+ */
6
+ variant?: 'inline' | 'sidebar';
7
+ className?: string;
8
+ }
9
+ export declare function LanguageSwitcher({ variant, className }: LanguageSwitcherProps): import("react/jsx-runtime").JSX.Element;
@@ -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;