@quantlife/qlui 0.0.0-stage → 0.0.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.
Files changed (134) hide show
  1. package/README.md +123 -2
  2. package/dist/components/ui/accordion.d.ts +7 -0
  3. package/dist/components/ui/action-buttons.d.ts +23 -0
  4. package/dist/components/ui/alert-dialog.d.ts +18 -0
  5. package/dist/components/ui/alert.d.ts +9 -0
  6. package/dist/components/ui/aspect-ratio.d.ts +3 -0
  7. package/dist/components/ui/badge.d.ts +9 -0
  8. package/dist/components/ui/base-pair-selector.d.ts +19 -0
  9. package/dist/components/ui/button.d.ts +10 -0
  10. package/dist/components/ui/calendar.d.ts +8 -0
  11. package/dist/components/ui/card.d.ts +9 -0
  12. package/dist/components/ui/chat-input.d.ts +18 -0
  13. package/dist/components/ui/chat-list.d.ts +14 -0
  14. package/dist/components/ui/chat-message.d.ts +15 -0
  15. package/dist/components/ui/checkbox.d.ts +4 -0
  16. package/dist/components/ui/collapsible.d.ts +5 -0
  17. package/dist/components/ui/combobox.d.ts +31 -0
  18. package/dist/components/ui/command.d.ts +18 -0
  19. package/dist/components/ui/date-picker-int.d.ts +11 -0
  20. package/dist/components/ui/date-picker.d.ts +20 -0
  21. package/dist/components/ui/descriptions.d.ts +15 -0
  22. package/dist/components/ui/dialog.d.ts +17 -0
  23. package/dist/components/ui/digital-pair-selector.d.ts +14 -0
  24. package/dist/components/ui/drawer.d.ts +13 -0
  25. package/dist/components/ui/dropdown-menu.d.ts +25 -0
  26. package/dist/components/ui/empty.d.ts +9 -0
  27. package/dist/components/ui/exchange-select.d.ts +13 -0
  28. package/dist/components/ui/file-tree.d.ts +14 -0
  29. package/dist/components/ui/file-upload.d.ts +10 -0
  30. package/dist/components/ui/form.d.ts +24 -0
  31. package/dist/components/ui/hover-card.d.ts +6 -0
  32. package/dist/components/ui/inline-completion.d.ts +12 -0
  33. package/dist/components/ui/input-otp.d.ts +11 -0
  34. package/dist/components/ui/input.d.ts +3 -0
  35. package/dist/components/ui/label.d.ts +4 -0
  36. package/dist/components/ui/mobile-card-list.d.ts +17 -0
  37. package/dist/components/ui/monaco-editor.d.ts +27 -0
  38. package/dist/components/ui/pagination.d.ts +10 -0
  39. package/dist/components/ui/pair-select.d.ts +17 -0
  40. package/dist/components/ui/period-select.d.ts +13 -0
  41. package/dist/components/ui/popover.d.ts +10 -0
  42. package/dist/components/ui/progress.d.ts +4 -0
  43. package/dist/components/ui/radio-group.d.ts +5 -0
  44. package/dist/components/ui/segmented.d.ts +16 -0
  45. package/dist/components/ui/select.d.ts +15 -0
  46. package/dist/components/ui/separator.d.ts +4 -0
  47. package/dist/components/ui/sheet.d.ts +14 -0
  48. package/dist/components/ui/skeleton.d.ts +2 -0
  49. package/dist/components/ui/slider.d.ts +4 -0
  50. package/dist/components/ui/sonner.d.ts +3 -0
  51. package/dist/components/ui/standard-table.d.ts +46 -0
  52. package/dist/components/ui/statistic.d.ts +13 -0
  53. package/dist/components/ui/steps.d.ts +9 -0
  54. package/dist/components/ui/stream-text.d.ts +10 -0
  55. package/dist/components/ui/switch.d.ts +6 -0
  56. package/dist/components/ui/table.d.ts +10 -0
  57. package/dist/components/ui/tabs.d.ts +24 -0
  58. package/dist/components/ui/tag.d.ts +10 -0
  59. package/dist/components/ui/textarea.d.ts +3 -0
  60. package/dist/components/ui/thinking-loader.d.ts +10 -0
  61. package/dist/components/ui/timeline.d.ts +15 -0
  62. package/dist/components/ui/tooltip.d.ts +7 -0
  63. package/dist/hooks/use-confirm.d.ts +1 -0
  64. package/dist/hooks/use-media-query.d.ts +2 -0
  65. package/dist/hooks/use-toast.d.ts +1 -0
  66. package/dist/index.d.ts +69 -0
  67. package/dist/index.js +4869 -0
  68. package/dist/lib/utils.d.ts +2 -0
  69. package/dist/providers/confirm-provider.d.ts +14 -0
  70. package/dist/providers/theme-provider.d.ts +15 -0
  71. package/dist/providers/toast-provider.d.ts +15 -0
  72. package/dist/qlui.css +3 -0
  73. package/dist/stories/accordion.stories.d.ts +21 -0
  74. package/dist/stories/action-buttons.stories.d.ts +16 -0
  75. package/dist/stories/alert-dialog.stories.d.ts +19 -0
  76. package/dist/stories/alert.stories.d.ts +16 -0
  77. package/dist/stories/aspect-ratio.stories.d.ts +17 -0
  78. package/dist/stories/badge.stories.d.ts +16 -0
  79. package/dist/stories/base-pair-selector.stories.d.ts +16 -0
  80. package/dist/stories/button.stories.d.ts +16 -0
  81. package/dist/stories/calendar.stories.d.ts +16 -0
  82. package/dist/stories/card.stories.d.ts +16 -0
  83. package/dist/stories/chat-input.stories.d.ts +17 -0
  84. package/dist/stories/chat-list.stories.d.ts +19 -0
  85. package/dist/stories/chat-message.stories.d.ts +19 -0
  86. package/dist/stories/checkbox.stories.d.ts +16 -0
  87. package/dist/stories/collapsible.stories.d.ts +16 -0
  88. package/dist/stories/combobox.stories.d.ts +20 -0
  89. package/dist/stories/command.stories.d.ts +16 -0
  90. package/dist/stories/date-picker-int.stories.d.ts +16 -0
  91. package/dist/stories/date-picker.stories.d.ts +17 -0
  92. package/dist/stories/descriptions.stories.d.ts +16 -0
  93. package/dist/stories/dialog.stories.d.ts +16 -0
  94. package/dist/stories/digital-pair-selector.stories.d.ts +16 -0
  95. package/dist/stories/drawer.stories.d.ts +16 -0
  96. package/dist/stories/dropdown-menu.stories.d.ts +16 -0
  97. package/dist/stories/empty.stories.d.ts +16 -0
  98. package/dist/stories/exchange-select.stories.d.ts +16 -0
  99. package/dist/stories/file-tree.stories.d.ts +16 -0
  100. package/dist/stories/file-upload.stories.d.ts +16 -0
  101. package/dist/stories/form.stories.d.ts +17 -0
  102. package/dist/stories/hover-card.stories.d.ts +18 -0
  103. package/dist/stories/inline-completion.stories.d.ts +17 -0
  104. package/dist/stories/input-otp.stories.d.ts +17 -0
  105. package/dist/stories/input.stories.d.ts +16 -0
  106. package/dist/stories/label.stories.d.ts +16 -0
  107. package/dist/stories/mobile-card-list.stories.d.ts +16 -0
  108. package/dist/stories/monaco-editor.stories.d.ts +16 -0
  109. package/dist/stories/pagination.stories.d.ts +16 -0
  110. package/dist/stories/pair-select.stories.d.ts +16 -0
  111. package/dist/stories/period-select.stories.d.ts +16 -0
  112. package/dist/stories/popover.stories.d.ts +16 -0
  113. package/dist/stories/progress.stories.d.ts +16 -0
  114. package/dist/stories/radio-group.stories.d.ts +16 -0
  115. package/dist/stories/segmented.stories.d.ts +16 -0
  116. package/dist/stories/select.stories.d.ts +16 -0
  117. package/dist/stories/separator.stories.d.ts +16 -0
  118. package/dist/stories/sheet.stories.d.ts +16 -0
  119. package/dist/stories/skeleton.stories.d.ts +16 -0
  120. package/dist/stories/slider.stories.d.ts +16 -0
  121. package/dist/stories/sonner.stories.d.ts +17 -0
  122. package/dist/stories/standard-table.stories.d.ts +18 -0
  123. package/dist/stories/statistic.stories.d.ts +16 -0
  124. package/dist/stories/steps.stories.d.ts +16 -0
  125. package/dist/stories/stream-text.stories.d.ts +17 -0
  126. package/dist/stories/switch.stories.d.ts +16 -0
  127. package/dist/stories/table.stories.d.ts +16 -0
  128. package/dist/stories/tabs.stories.d.ts +24 -0
  129. package/dist/stories/tag.stories.d.ts +8 -0
  130. package/dist/stories/textarea.stories.d.ts +16 -0
  131. package/dist/stories/thinking-loader.stories.d.ts +17 -0
  132. package/dist/stories/timeline.stories.d.ts +16 -0
  133. package/dist/stories/tooltip.stories.d.ts +16 -0
  134. package/package.json +70 -4
@@ -0,0 +1,3 @@
1
+ import * as React from "react";
2
+ declare function Input({ className, type, ...props }: React.ComponentProps<"input">): React.JSX.Element;
3
+ export { Input };
@@ -0,0 +1,4 @@
1
+ import * as React from "react";
2
+ import { Label as LabelPrimitive } from "radix-ui";
3
+ declare function Label({ className, ...props }: React.ComponentProps<typeof LabelPrimitive.Root>): React.JSX.Element;
4
+ export { Label };
@@ -0,0 +1,17 @@
1
+ import * as React from "react";
2
+ export interface MobileCardListProps<T> {
3
+ dataSource: T[];
4
+ rowKey: (item: T) => string | number;
5
+ titleRender: (item: T) => React.ReactNode;
6
+ statusRender?: (item: T) => {
7
+ text: string;
8
+ variant?: "default" | "secondary" | "destructive" | "outline";
9
+ } | null;
10
+ bodyRender: (item: T) => React.ReactNode;
11
+ actionsRender: (item: T) => React.ReactNode;
12
+ extraTagRender?: (item: T) => React.ReactNode;
13
+ onCardClick?: (item: T) => void;
14
+ className?: string;
15
+ }
16
+ /** 移动端卡片列表(自研迁入——module.css 清零改 tailwind) */
17
+ export declare function MobileCardList<T extends Record<string, unknown>>({ dataSource, rowKey, titleRender, statusRender, bodyRender, actionsRender, extraTagRender, onCardClick, className, }: MobileCardListProps<T>): React.JSX.Element;
@@ -0,0 +1,27 @@
1
+ import * as React from "react";
2
+ import type { editor } from "monaco-editor";
3
+ /** MonacoEditor Props 类型定义(自研迁入——代码编辑器壳) */
4
+ export interface MonacoEditorProps {
5
+ /** 编辑器内容(受控模式) */
6
+ value?: string;
7
+ /** 内容变化回调 */
8
+ onChange?: (value: string) => void;
9
+ /** 语言,默认 python */
10
+ language?: string;
11
+ /** 高度,支持数字(px)或字符串(如 '100%'),默认 300 */
12
+ height?: number | string;
13
+ /** 宽度,默认 '100%' */
14
+ width?: number | string;
15
+ /** 字号,默认 14 */
16
+ fontSize?: number;
17
+ /** Tab 缩进空格数,默认 4 */
18
+ tabSize?: number;
19
+ /** 是否只读 */
20
+ readOnly?: boolean;
21
+ /** 编辑器挂载回调 */
22
+ onMount?: (editor: editor.IStandaloneCodeEditor, monaco: typeof import("monaco-editor")) => void;
23
+ /** 额外 Monaco options */
24
+ options?: editor.IStandaloneEditorConstructionOptions;
25
+ }
26
+ /** Monaco 代码编辑器(懒加载壳——业务补全/主题注册经 onMount 注入) */
27
+ export declare function MonacoEditor({ value, onChange, language, height, width, fontSize, tabSize, readOnly, onMount, options, }: MonacoEditorProps): React.JSX.Element;
@@ -0,0 +1,10 @@
1
+ import * as React from "react";
2
+ export interface PaginationProps {
3
+ page: number;
4
+ pageSize?: number;
5
+ total?: number;
6
+ onChange: (page: number) => void;
7
+ className?: string;
8
+ }
9
+ /** 分页器 */
10
+ export declare function Pagination({ page, total, pageSize, onChange, className }: PaginationProps): React.JSX.Element;
@@ -0,0 +1,17 @@
1
+ import * as React from "react";
2
+ export interface PairSelectOption {
3
+ value: string;
4
+ label: string;
5
+ }
6
+ export interface PairSelectProps {
7
+ /** 交易对选项注入(数据流外置——业务侧接 react-query) */
8
+ options: PairSelectOption[];
9
+ value?: string;
10
+ onChange?: (value: string) => void;
11
+ loading?: boolean;
12
+ disabled?: boolean;
13
+ placeholder?: string;
14
+ className?: string;
15
+ }
16
+ /** 交易对选择(自研迁入——纯壳+options 注入) */
17
+ export declare function PairSelect({ options, value, onChange, loading, disabled, placeholder, className }: PairSelectProps): React.JSX.Element;
@@ -0,0 +1,13 @@
1
+ import * as React from "react";
2
+ export interface PeriodSelectProps {
3
+ /** K线周期选项注入(如 1m/5m/1h/1d——数据流外置) */
4
+ options: string[];
5
+ value?: string;
6
+ onChange?: (value: string) => void;
7
+ loading?: boolean;
8
+ disabled?: boolean;
9
+ placeholder?: string;
10
+ className?: string;
11
+ }
12
+ /** K线周期选择(自研迁入——纯壳+options 注入) */
13
+ export declare function PeriodSelect({ options, value, onChange, loading, disabled, placeholder, className }: PeriodSelectProps): React.JSX.Element;
@@ -0,0 +1,10 @@
1
+ import * as React from "react";
2
+ import { Popover as PopoverPrimitive } from "radix-ui";
3
+ declare function Popover({ ...props }: React.ComponentProps<typeof PopoverPrimitive.Root>): React.JSX.Element;
4
+ declare function PopoverTrigger({ ...props }: React.ComponentProps<typeof PopoverPrimitive.Trigger>): React.JSX.Element;
5
+ declare function PopoverContent({ className, align, sideOffset, ...props }: React.ComponentProps<typeof PopoverPrimitive.Content>): React.JSX.Element;
6
+ declare function PopoverAnchor({ ...props }: React.ComponentProps<typeof PopoverPrimitive.Anchor>): React.JSX.Element;
7
+ declare function PopoverHeader({ className, ...props }: React.ComponentProps<"div">): React.JSX.Element;
8
+ declare function PopoverTitle({ className, ...props }: React.ComponentProps<"h2">): React.JSX.Element;
9
+ declare function PopoverDescription({ className, ...props }: React.ComponentProps<"p">): React.JSX.Element;
10
+ export { Popover, PopoverTrigger, PopoverContent, PopoverAnchor, PopoverHeader, PopoverTitle, PopoverDescription, };
@@ -0,0 +1,4 @@
1
+ import * as React from "react";
2
+ import { Progress as ProgressPrimitive } from "radix-ui";
3
+ declare function Progress({ className, value, ...props }: React.ComponentProps<typeof ProgressPrimitive.Root>): React.JSX.Element;
4
+ export { Progress };
@@ -0,0 +1,5 @@
1
+ import * as React from "react";
2
+ import { RadioGroup as RadioGroupPrimitive } from "radix-ui";
3
+ declare function RadioGroup({ className, ...props }: React.ComponentProps<typeof RadioGroupPrimitive.Root>): React.JSX.Element;
4
+ declare function RadioGroupItem({ className, ...props }: React.ComponentProps<typeof RadioGroupPrimitive.Item>): React.JSX.Element;
5
+ export { RadioGroup, RadioGroupItem };
@@ -0,0 +1,16 @@
1
+ import * as React from "react";
2
+ export interface SegmentedOption<T extends string = string> {
3
+ label: React.ReactNode;
4
+ value: T;
5
+ disabled?: boolean;
6
+ }
7
+ export interface SegmentedProps<T extends string = string> {
8
+ options: SegmentedOption<T>[] | T[];
9
+ value?: T;
10
+ defaultValue?: T;
11
+ onChange?: (value: T) => void;
12
+ disabled?: boolean;
13
+ className?: string;
14
+ }
15
+ /** 分段控制器(registry 无现成——自建依据存档) */
16
+ export declare function Segmented<T extends string = string>({ options, value, defaultValue, onChange, disabled, className }: SegmentedProps<T>): React.JSX.Element;
@@ -0,0 +1,15 @@
1
+ import * as React from "react";
2
+ import { Select as SelectPrimitive } from "radix-ui";
3
+ declare function Select({ ...props }: React.ComponentProps<typeof SelectPrimitive.Root>): React.JSX.Element;
4
+ declare function SelectGroup({ ...props }: React.ComponentProps<typeof SelectPrimitive.Group>): React.JSX.Element;
5
+ declare function SelectValue({ ...props }: React.ComponentProps<typeof SelectPrimitive.Value>): React.JSX.Element;
6
+ declare function SelectTrigger({ className, size, children, ...props }: React.ComponentProps<typeof SelectPrimitive.Trigger> & {
7
+ size?: "sm" | "default";
8
+ }): React.JSX.Element;
9
+ declare function SelectContent({ className, children, position, align, ...props }: React.ComponentProps<typeof SelectPrimitive.Content>): React.JSX.Element;
10
+ declare function SelectLabel({ className, ...props }: React.ComponentProps<typeof SelectPrimitive.Label>): React.JSX.Element;
11
+ declare function SelectItem({ className, children, ...props }: React.ComponentProps<typeof SelectPrimitive.Item>): React.JSX.Element;
12
+ declare function SelectSeparator({ className, ...props }: React.ComponentProps<typeof SelectPrimitive.Separator>): React.JSX.Element;
13
+ declare function SelectScrollUpButton({ className, ...props }: React.ComponentProps<typeof SelectPrimitive.ScrollUpButton>): React.JSX.Element;
14
+ declare function SelectScrollDownButton({ className, ...props }: React.ComponentProps<typeof SelectPrimitive.ScrollDownButton>): React.JSX.Element;
15
+ export { Select, SelectContent, SelectGroup, SelectItem, SelectLabel, SelectScrollDownButton, SelectScrollUpButton, SelectSeparator, SelectTrigger, SelectValue, };
@@ -0,0 +1,4 @@
1
+ import * as React from "react";
2
+ import { Separator as SeparatorPrimitive } from "radix-ui";
3
+ declare function Separator({ className, orientation, decorative, ...props }: React.ComponentProps<typeof SeparatorPrimitive.Root>): React.JSX.Element;
4
+ export { Separator };
@@ -0,0 +1,14 @@
1
+ import * as React from "react";
2
+ import { Dialog as SheetPrimitive } from "radix-ui";
3
+ declare function Sheet({ ...props }: React.ComponentProps<typeof SheetPrimitive.Root>): React.JSX.Element;
4
+ declare function SheetTrigger({ ...props }: React.ComponentProps<typeof SheetPrimitive.Trigger>): React.JSX.Element;
5
+ declare function SheetClose({ ...props }: React.ComponentProps<typeof SheetPrimitive.Close>): React.JSX.Element;
6
+ declare function SheetContent({ className, children, side, showCloseButton, ...props }: React.ComponentProps<typeof SheetPrimitive.Content> & {
7
+ side?: "top" | "right" | "bottom" | "left";
8
+ showCloseButton?: boolean;
9
+ }): React.JSX.Element;
10
+ declare function SheetHeader({ className, ...props }: React.ComponentProps<"div">): React.JSX.Element;
11
+ declare function SheetFooter({ className, ...props }: React.ComponentProps<"div">): React.JSX.Element;
12
+ declare function SheetTitle({ className, ...props }: React.ComponentProps<typeof SheetPrimitive.Title>): React.JSX.Element;
13
+ declare function SheetDescription({ className, ...props }: React.ComponentProps<typeof SheetPrimitive.Description>): React.JSX.Element;
14
+ export { Sheet, SheetTrigger, SheetClose, SheetContent, SheetHeader, SheetFooter, SheetTitle, SheetDescription, };
@@ -0,0 +1,2 @@
1
+ declare function Skeleton({ className, ...props }: React.ComponentProps<"div">): import("react").JSX.Element;
2
+ export { Skeleton };
@@ -0,0 +1,4 @@
1
+ import * as React from "react";
2
+ import { Slider as SliderPrimitive } from "radix-ui";
3
+ declare function Slider({ className, defaultValue, value, min, max, ...props }: React.ComponentProps<typeof SliderPrimitive.Root>): React.JSX.Element;
4
+ export { Slider };
@@ -0,0 +1,3 @@
1
+ import { type ToasterProps } from "sonner";
2
+ declare const Toaster: ({ ...props }: ToasterProps) => import("react").JSX.Element;
3
+ export { Toaster };
@@ -0,0 +1,46 @@
1
+ import * as React from "react";
2
+ import { type ColumnDef } from "@tanstack/react-table";
3
+ /** 列级扩展 meta:桌面次要列可 md 以下隐藏;移动卡片模式可隐藏或自定义渲染 */
4
+ declare module "@tanstack/react-table" {
5
+ interface ColumnMeta<TData extends import("@tanstack/react-table").RowData, TValue> {
6
+ /** 响应式:true 时 md(768px) 以下隐藏该列(次要列降级) */
7
+ hideBelowMd?: boolean;
8
+ /** 移动卡片模式:不进入卡片字段 */
9
+ cardHidden?: boolean;
10
+ /** 移动卡片模式:自定义卡片字段渲染(缺省取 cell) */
11
+ cardCell?: (row: TData) => React.ReactNode;
12
+ }
13
+ }
14
+ export interface StandardTableProps<TData> {
15
+ columns: ColumnDef<TData, unknown>[];
16
+ data: TData[];
17
+ /** 全局搜索(列筛选) */
18
+ searchable?: boolean;
19
+ searchPlaceholder?: string;
20
+ /** 排序 */
21
+ enableSorting?: boolean;
22
+ /** 展开行(渲染函数注入) */
23
+ renderExpanded?: (row: TData) => React.ReactNode;
24
+ pageSize?: number;
25
+ className?: string;
26
+ /** 加载态:表格半透明 + 加载指示 */
27
+ loading?: boolean;
28
+ /** 空态文案 */
29
+ emptyDescription?: React.ReactNode;
30
+ /** 服务端分页:manualPagination=true 时不本地分页,翻页回调 onPageChange */
31
+ manualPagination?: boolean;
32
+ /** 服务端分页:总页数(manualPagination 必传) */
33
+ pageCount?: number;
34
+ /** 受控当前页(0 基) */
35
+ pageIndex?: number;
36
+ /** 翻页/换页回调(服务端分页取参重查) */
37
+ onPaginationChange?: (pageIndex: number, pageSize: number) => void;
38
+ /** 分页区左侧插槽(常用:共 N 条) */
39
+ paginationExtra?: React.ReactNode;
40
+ /** 移动端(<768px)卡片降级:默认自动按列生成字段卡;false 强制表格横向滚动 */
41
+ mobileCard?: boolean;
42
+ /** 移动端卡片自定义渲染(优先于自动字段卡) */
43
+ renderMobileCard?: (row: TData) => React.ReactNode;
44
+ }
45
+ /** 通用数据表(@tanstack/react-table 封装:排序/筛选/分页/展开行/服务端分页/移动卡片降级) */
46
+ export declare function StandardTable<TData>({ columns, data, searchable, searchPlaceholder, enableSorting, renderExpanded, pageSize, className, loading, emptyDescription, manualPagination, pageCount, pageIndex, onPaginationChange, paginationExtra, mobileCard, renderMobileCard, }: StandardTableProps<TData>): React.JSX.Element;
@@ -0,0 +1,13 @@
1
+ import * as React from "react";
2
+ export interface StatisticProps {
3
+ title: React.ReactNode;
4
+ value: React.ReactNode;
5
+ precision?: number;
6
+ prefix?: React.ReactNode;
7
+ suffix?: React.ReactNode;
8
+ /** 涨跌方向:up 红 / down 绿 由 direction 决定图标 */
9
+ direction?: "up" | "down";
10
+ className?: string;
11
+ }
12
+ /** 统计数值(registry 无现成——自建依据存档) */
13
+ export declare function Statistic({ title, value, precision, prefix, suffix, direction, className }: StatisticProps): React.JSX.Element;
@@ -0,0 +1,9 @@
1
+ import * as React from "react";
2
+ export interface StepsProps {
3
+ steps: string[];
4
+ current: number;
5
+ onChange?: (index: number) => void;
6
+ className?: string;
7
+ }
8
+ /** 步骤条 */
9
+ export declare function Steps({ steps, current, onChange, className }: StepsProps): React.JSX.Element;
@@ -0,0 +1,10 @@
1
+ import * as React from "react";
2
+ export interface StreamTextProps {
3
+ /** 流式输出文本 */
4
+ text?: string;
5
+ /** 输出中(显示打字光标) */
6
+ streaming?: boolean;
7
+ className?: string;
8
+ }
9
+ /** 流式输出文本容器(shadcn registry 无现成——按 shadcn 风格自建) */
10
+ export declare function StreamText({ text, streaming, className, }: StreamTextProps): React.JSX.Element;
@@ -0,0 +1,6 @@
1
+ import * as React from "react";
2
+ import { Switch as SwitchPrimitive } from "radix-ui";
3
+ declare function Switch({ className, size, ...props }: React.ComponentProps<typeof SwitchPrimitive.Root> & {
4
+ size?: "sm" | "default";
5
+ }): React.JSX.Element;
6
+ export { Switch };
@@ -0,0 +1,10 @@
1
+ import * as React from "react";
2
+ declare function Table({ className, ...props }: React.ComponentProps<"table">): React.JSX.Element;
3
+ declare function TableHeader({ className, ...props }: React.ComponentProps<"thead">): React.JSX.Element;
4
+ declare function TableBody({ className, ...props }: React.ComponentProps<"tbody">): React.JSX.Element;
5
+ declare function TableFooter({ className, ...props }: React.ComponentProps<"tfoot">): React.JSX.Element;
6
+ declare function TableRow({ className, ...props }: React.ComponentProps<"tr">): React.JSX.Element;
7
+ declare function TableHead({ className, ...props }: React.ComponentProps<"th">): React.JSX.Element;
8
+ declare function TableCell({ className, ...props }: React.ComponentProps<"td">): React.JSX.Element;
9
+ declare function TableCaption({ className, ...props }: React.ComponentProps<"caption">): React.JSX.Element;
10
+ export { Table, TableHeader, TableBody, TableFooter, TableHead, TableRow, TableCell, TableCaption, };
@@ -0,0 +1,24 @@
1
+ import * as React from "react";
2
+ import { type VariantProps } from "class-variance-authority";
3
+ import { Tabs as TabsPrimitive } from "radix-ui";
4
+ declare function Tabs({ className, orientation, ...props }: React.ComponentProps<typeof TabsPrimitive.Root>): React.JSX.Element;
5
+ declare const tabsListVariants: (props?: ({
6
+ variant?: "default" | "line" | null | undefined;
7
+ } & import("class-variance-authority/types").ClassProp) | undefined) => string;
8
+ declare function TabsList({ className, variant, ...props }: React.ComponentProps<typeof TabsPrimitive.List> & VariantProps<typeof tabsListVariants>): React.JSX.Element;
9
+ declare function TabsTrigger({ className, ...props }: React.ComponentProps<typeof TabsPrimitive.Trigger>): React.JSX.Element;
10
+ declare function TabsContent({ className, ...props }: React.ComponentProps<typeof TabsPrimitive.Content>): React.JSX.Element;
11
+ export { Tabs, TabsList, TabsTrigger, TabsContent, tabsListVariants };
12
+ /** 属性映射(antd Tabs → shadcn ql-ui Tabs,随 stories 文档化):
13
+ * activeKey → value + onValueChange | defaultActiveKey → defaultValue
14
+ * items 数组 → 声明式 TabsTrigger/TabsContent | tabBarGutter → TabsList gap 类
15
+ * tabBarExtraContent → TabsBar rightExtra 插槽(下方封装)
16
+ */
17
+ /** TabsBar:TabsList 与 rightExtra 同行布局(承接 antd tabBarExtraContent 迁移场景)
18
+ * 用法:<Tabs><TabsBar rightExtra={<Button>操作</Button>}><TabsList>…</TabsList></TabsBar><TabsContent/></Tabs>
19
+ */
20
+ export declare function TabsBar({ children, rightExtra, className, }: {
21
+ children: React.ReactNode;
22
+ rightExtra?: React.ReactNode;
23
+ className?: string;
24
+ }): React.JSX.Element;
@@ -0,0 +1,10 @@
1
+ import * as React from "react";
2
+ export interface TagProps extends React.ComponentProps<"span"> {
3
+ /** 预设语义色(antd Tag color 兼容);非预设字符串按自定义色渲染文字 */
4
+ color?: "default" | "success" | "processing" | "error" | "warning" | (string & {});
5
+ bordered?: boolean;
6
+ closable?: boolean;
7
+ onClose?: (e: React.MouseEvent<HTMLSpanElement>) => void;
8
+ }
9
+ /** 标签(antd Tag 迁移承接:语义色/描边/可关闭) */
10
+ export declare function Tag({ className, color, bordered, closable, onClose, children, style, ...props }: TagProps): React.JSX.Element;
@@ -0,0 +1,3 @@
1
+ import * as React from "react";
2
+ declare function Textarea({ className, ...props }: React.ComponentProps<"textarea">): React.JSX.Element;
3
+ export { Textarea };
@@ -0,0 +1,10 @@
1
+ import * as React from "react";
2
+ export interface ThinkingLoaderProps {
3
+ /** 动画变体:呼吸点 / 脉冲 spinner */
4
+ variant?: "dots" | "spinner";
5
+ /** 提示文案 */
6
+ label?: string;
7
+ className?: string;
8
+ }
9
+ /** AI 思考中加载态(shadcn registry 无现成——按 shadcn 风格自建) */
10
+ export declare function ThinkingLoader({ variant, label, className, }: ThinkingLoaderProps): React.JSX.Element;
@@ -0,0 +1,15 @@
1
+ import * as React from "react";
2
+ export interface TimelineItemProps {
3
+ title: React.ReactNode;
4
+ description?: React.ReactNode;
5
+ time?: React.ReactNode;
6
+ dot?: React.ReactNode;
7
+ className?: string;
8
+ }
9
+ export declare function TimelineItem({ title, description, time, dot, className }: TimelineItemProps): React.JSX.Element;
10
+ export interface TimelineProps {
11
+ children: React.ReactNode;
12
+ className?: string;
13
+ }
14
+ /** 垂直时间线 */
15
+ export declare function Timeline({ children, className }: TimelineProps): React.JSX.Element;
@@ -0,0 +1,7 @@
1
+ import * as React from "react";
2
+ import { Tooltip as TooltipPrimitive } from "radix-ui";
3
+ declare function TooltipProvider({ delayDuration, ...props }: React.ComponentProps<typeof TooltipPrimitive.Provider>): React.JSX.Element;
4
+ declare function Tooltip({ ...props }: React.ComponentProps<typeof TooltipPrimitive.Root>): React.JSX.Element;
5
+ declare function TooltipTrigger({ ...props }: React.ComponentProps<typeof TooltipPrimitive.Trigger>): React.JSX.Element;
6
+ declare function TooltipContent({ className, sideOffset, children, ...props }: React.ComponentProps<typeof TooltipPrimitive.Content>): React.JSX.Element;
7
+ export { Tooltip, TooltipTrigger, TooltipContent, TooltipProvider };
@@ -0,0 +1 @@
1
+ export { useConfirm } from "@/providers/confirm-provider";
@@ -0,0 +1,2 @@
1
+ /** 媒体查询 hook(多端断点响应:`(min-width: 768px)` 等) */
2
+ export declare function useMediaQuery(query: string): boolean;
@@ -0,0 +1 @@
1
+ export { useToast } from "@/providers/toast-provider";
@@ -0,0 +1,69 @@
1
+ import "./styles/globals.css";
2
+ export * from "./components/ui/accordion";
3
+ export * from "./components/ui/alert";
4
+ export * from "./components/ui/alert-dialog";
5
+ export * from "./components/ui/badge";
6
+ export * from "./components/ui/button";
7
+ export * from "./components/ui/calendar";
8
+ export * from "./components/ui/card";
9
+ export * from "./components/ui/checkbox";
10
+ export * from "./components/ui/collapsible";
11
+ export * from "./components/ui/dialog";
12
+ export * from "./components/ui/dropdown-menu";
13
+ export * from "./components/ui/input";
14
+ export * from "./components/ui/label";
15
+ export * from "./components/ui/popover";
16
+ export * from "./components/ui/progress";
17
+ export * from "./components/ui/radio-group";
18
+ export * from "./components/ui/select";
19
+ export * from "./components/ui/separator";
20
+ export * from "./components/ui/sheet";
21
+ export * from "./components/ui/skeleton";
22
+ export * from "./components/ui/slider";
23
+ export * from "./components/ui/switch";
24
+ export * from "./components/ui/table";
25
+ export * from "./components/ui/tabs";
26
+ export * from "./components/ui/textarea";
27
+ export * from "./components/ui/tooltip";
28
+ export * from "./components/ui/combobox";
29
+ export * from "./components/ui/command";
30
+ export * from "./components/ui/date-picker";
31
+ export * from "./components/ui/form";
32
+ export * from "./components/ui/sonner";
33
+ export * from "./components/ui/standard-table";
34
+ export * from "./components/ui/drawer";
35
+ export * from "./components/ui/file-tree";
36
+ export * from "./components/ui/file-upload";
37
+ export * from "./components/ui/pagination";
38
+ export * from "./components/ui/steps";
39
+ export * from "./components/ui/timeline";
40
+ export * from "./components/ui/descriptions";
41
+ export * from "./components/ui/empty";
42
+ export * from "./components/ui/tag";
43
+ export * from "./components/ui/segmented";
44
+ export * from "./components/ui/statistic";
45
+ export * from "./components/ui/action-buttons";
46
+ export * from "./components/ui/base-pair-selector";
47
+ export * from "./components/ui/date-picker-int";
48
+ export * from "./components/ui/digital-pair-selector";
49
+ export * from "./components/ui/exchange-select";
50
+ export * from "./components/ui/mobile-card-list";
51
+ export * from "./components/ui/monaco-editor";
52
+ export * from "./components/ui/pair-select";
53
+ export * from "./components/ui/period-select";
54
+ export * from "./components/ui/aspect-ratio";
55
+ export * from "./components/ui/hover-card";
56
+ export * from "./components/ui/input-otp";
57
+ export * from "./components/ui/chat-message";
58
+ export * from "./components/ui/chat-input";
59
+ export * from "./components/ui/chat-list";
60
+ export * from "./components/ui/inline-completion";
61
+ export * from "./components/ui/stream-text";
62
+ export * from "./components/ui/thinking-loader";
63
+ export * from "./providers/theme-provider";
64
+ export * from "./providers/confirm-provider";
65
+ export * from "./providers/toast-provider";
66
+ export { useMediaQuery } from "./hooks/use-media-query";
67
+ export { useConfirm } from "./hooks/use-confirm";
68
+ export { useToast } from "./hooks/use-toast";
69
+ export { cn } from "./lib/utils";