@mxmweb/xviewer 1.0.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/Preview.d.ts +1 -0
- package/PreviewId.d.ts +1 -0
- package/README.md +989 -0
- package/adopters/DatabaseIdView/index.d.ts +10 -0
- package/adopters/DatabaseIdView/server.d.ts +1 -0
- package/adopters/DatabaseTableView/index.d.ts +8 -0
- package/adopters/DatabaseView/index.d.ts +9 -0
- package/adopters/EampleTable/index.d.ts +1 -0
- package/adopters/ExampleCards/index.d.ts +1 -0
- package/adopters/ExampleForm/AdvancedFormAdopter.d.ts +9 -0
- package/adopters/ExampleForm/DynamicFormAdopter.d.ts +9 -0
- package/adopters/ExampleForm/DynamicFormExample.d.ts +9 -0
- package/adopters/ExampleForm/FormDemo.d.ts +9 -0
- package/adopters/ExampleForm/index.d.ts +5 -0
- package/adopters/ExampleTabsMultiVIew/$axios.d.ts +6 -0
- package/adopters/ExampleTabsMultiVIew/businessService.d.ts +158 -0
- package/adopters/ExampleTabsMultiVIew/index.d.ts +9 -0
- package/adopters/ExampleTabsMultiVIew/useBusinessData.d.ts +97 -0
- package/adopters/SensitiveView/index.d.ts +17 -0
- package/adopters/SensitiveView/server.d.ts +1 -0
- package/adopters/SensitiveView/size-test.d.ts +7 -0
- package/adopters/shared/statusMap.d.ts +37 -0
- package/assets/style.css +1 -0
- package/core/DynamicCards.d.ts +20 -0
- package/core/DynamicDashDataCore.d.ts +58 -0
- package/core/DynamicForm.d.ts +22 -0
- package/core/DynamicTable.d.ts +52 -0
- package/core/components/Button.d.ts +15 -0
- package/core/components/DropdownMenu.d.ts +16 -0
- package/core/components/cardUI/DatabaseCard.d.ts +28 -0
- package/core/components/cardUI/DefaultCard.d.ts +13 -0
- package/core/components/cardUI/DesignCard.d.ts +16 -0
- package/core/components/cardUI/PrototypeCard.d.ts +16 -0
- package/core/components/cardUI/RepositoryCard.d.ts +16 -0
- package/core/components/cardUI/common.d.ts +38 -0
- package/core/components/cardUI/index.d.ts +13 -0
- package/core/components/dataDisplayer/DigitalClockDate.d.ts +6 -0
- package/core/components/dataDisplayer/MobileLockDate.d.ts +6 -0
- package/core/eventsEnum.d.ts +1 -0
- package/core/hooks/animes/useRowAnimation.d.ts +19 -0
- package/core/hooks/animes/useStaggerAnimation.d.ts +12 -0
- package/core/hooks/useCardStaggerAnimation.d.ts +18 -0
- package/core/hooks/useDynamicCards.d.ts +47 -0
- package/core/hooks/useDynamicForm.d.ts +62 -0
- package/core/hooks/useDynamicTable.d.ts +37 -0
- package/core/hooks/useFuzzySearch.d.ts +43 -0
- package/core/layout.d.ts +11 -0
- package/index.d.ts +2 -0
- package/index.js +45997 -0
- package/lib_enter.d.ts +12 -0
- package/main.d.ts +0 -0
- package/package.json +23 -0
- package/theme_guideline.d.ts +97 -0
- package/vite.svg +1 -0
- package/vs/base/browser/ui/codicons/codicon/codicon.ttf +0 -0
- package/vs/base/common/worker/simpleWorker.nls.de.js +8 -0
- package/vs/base/common/worker/simpleWorker.nls.es.js +8 -0
- package/vs/base/common/worker/simpleWorker.nls.fr.js +8 -0
- package/vs/base/common/worker/simpleWorker.nls.it.js +8 -0
- package/vs/base/common/worker/simpleWorker.nls.ja.js +8 -0
- package/vs/base/common/worker/simpleWorker.nls.js +8 -0
- package/vs/base/common/worker/simpleWorker.nls.ko.js +8 -0
- package/vs/base/common/worker/simpleWorker.nls.ru.js +8 -0
- package/vs/base/common/worker/simpleWorker.nls.zh-cn.js +8 -0
- package/vs/base/common/worker/simpleWorker.nls.zh-tw.js +8 -0
- package/vs/base/worker/workerMain.js +27 -0
- package/vs/basic-languages/abap/abap.js +10 -0
- package/vs/basic-languages/apex/apex.js +10 -0
- package/vs/basic-languages/azcli/azcli.js +10 -0
- package/vs/basic-languages/bat/bat.js +10 -0
- package/vs/basic-languages/bicep/bicep.js +11 -0
- package/vs/basic-languages/cameligo/cameligo.js +10 -0
- package/vs/basic-languages/clojure/clojure.js +10 -0
- package/vs/basic-languages/coffee/coffee.js +10 -0
- package/vs/basic-languages/cpp/cpp.js +10 -0
- package/vs/basic-languages/csharp/csharp.js +10 -0
- package/vs/basic-languages/csp/csp.js +10 -0
- package/vs/basic-languages/css/css.js +12 -0
- package/vs/basic-languages/cypher/cypher.js +10 -0
- package/vs/basic-languages/dart/dart.js +10 -0
- package/vs/basic-languages/dockerfile/dockerfile.js +10 -0
- package/vs/basic-languages/ecl/ecl.js +10 -0
- package/vs/basic-languages/elixir/elixir.js +10 -0
- package/vs/basic-languages/flow9/flow9.js +10 -0
- package/vs/basic-languages/freemarker2/freemarker2.js +12 -0
- package/vs/basic-languages/fsharp/fsharp.js +10 -0
- package/vs/basic-languages/go/go.js +10 -0
- package/vs/basic-languages/graphql/graphql.js +10 -0
- package/vs/basic-languages/handlebars/handlebars.js +10 -0
- package/vs/basic-languages/hcl/hcl.js +10 -0
- package/vs/basic-languages/html/html.js +10 -0
- package/vs/basic-languages/ini/ini.js +10 -0
- package/vs/basic-languages/java/java.js +10 -0
- package/vs/basic-languages/javascript/javascript.js +10 -0
- package/vs/basic-languages/julia/julia.js +10 -0
- package/vs/basic-languages/kotlin/kotlin.js +10 -0
- package/vs/basic-languages/less/less.js +11 -0
- package/vs/basic-languages/lexon/lexon.js +10 -0
- package/vs/basic-languages/liquid/liquid.js +10 -0
- package/vs/basic-languages/lua/lua.js +10 -0
- package/vs/basic-languages/m3/m3.js +10 -0
- package/vs/basic-languages/markdown/markdown.js +10 -0
- package/vs/basic-languages/mdx/mdx.js +10 -0
- package/vs/basic-languages/mips/mips.js +10 -0
- package/vs/basic-languages/msdax/msdax.js +10 -0
- package/vs/basic-languages/mysql/mysql.js +10 -0
- package/vs/basic-languages/objective-c/objective-c.js +10 -0
- package/vs/basic-languages/pascal/pascal.js +10 -0
- package/vs/basic-languages/pascaligo/pascaligo.js +10 -0
- package/vs/basic-languages/perl/perl.js +10 -0
- package/vs/basic-languages/pgsql/pgsql.js +10 -0
- package/vs/basic-languages/php/php.js +10 -0
- package/vs/basic-languages/pla/pla.js +10 -0
- package/vs/basic-languages/postiats/postiats.js +10 -0
- package/vs/basic-languages/powerquery/powerquery.js +10 -0
- package/vs/basic-languages/powershell/powershell.js +10 -0
- package/vs/basic-languages/protobuf/protobuf.js +11 -0
- package/vs/basic-languages/pug/pug.js +10 -0
- package/vs/basic-languages/python/python.js +10 -0
- package/vs/basic-languages/qsharp/qsharp.js +10 -0
- package/vs/basic-languages/r/r.js +10 -0
- package/vs/basic-languages/razor/razor.js +10 -0
- package/vs/basic-languages/redis/redis.js +10 -0
- package/vs/basic-languages/redshift/redshift.js +10 -0
- package/vs/basic-languages/restructuredtext/restructuredtext.js +10 -0
- package/vs/basic-languages/ruby/ruby.js +10 -0
- package/vs/basic-languages/rust/rust.js +10 -0
- package/vs/basic-languages/sb/sb.js +10 -0
- package/vs/basic-languages/scala/scala.js +10 -0
- package/vs/basic-languages/scheme/scheme.js +10 -0
- package/vs/basic-languages/scss/scss.js +12 -0
- package/vs/basic-languages/shell/shell.js +10 -0
- package/vs/basic-languages/solidity/solidity.js +10 -0
- package/vs/basic-languages/sophia/sophia.js +10 -0
- package/vs/basic-languages/sparql/sparql.js +10 -0
- package/vs/basic-languages/sql/sql.js +10 -0
- package/vs/basic-languages/st/st.js +10 -0
- package/vs/basic-languages/swift/swift.js +13 -0
- package/vs/basic-languages/systemverilog/systemverilog.js +10 -0
- package/vs/basic-languages/tcl/tcl.js +10 -0
- package/vs/basic-languages/twig/twig.js +10 -0
- package/vs/basic-languages/typescript/typescript.js +10 -0
- package/vs/basic-languages/vb/vb.js +10 -0
- package/vs/basic-languages/wgsl/wgsl.js +307 -0
- package/vs/basic-languages/xml/xml.js +10 -0
- package/vs/basic-languages/yaml/yaml.js +10 -0
- package/vs/editor/editor.main.css +6 -0
- package/vs/editor/editor.main.js +745 -0
- package/vs/editor/editor.main.js.gz +0 -0
- package/vs/editor/editor.main.nls.de.js +31 -0
- package/vs/editor/editor.main.nls.es.js +31 -0
- package/vs/editor/editor.main.nls.fr.js +29 -0
- package/vs/editor/editor.main.nls.it.js +29 -0
- package/vs/editor/editor.main.nls.ja.js +31 -0
- package/vs/editor/editor.main.nls.js +29 -0
- package/vs/editor/editor.main.nls.ko.js +29 -0
- package/vs/editor/editor.main.nls.ru.js +31 -0
- package/vs/editor/editor.main.nls.zh-cn.js +31 -0
- package/vs/editor/editor.main.nls.zh-tw.js +29 -0
- package/vs/language/css/cssMode.js +13 -0
- package/vs/language/css/cssWorker.js +81 -0
- package/vs/language/css/cssWorker.js.gz +0 -0
- package/vs/language/html/htmlMode.js +13 -0
- package/vs/language/html/htmlWorker.js +453 -0
- package/vs/language/json/jsonMode.js +15 -0
- package/vs/language/json/jsonWorker.js +36 -0
- package/vs/language/typescript/tsMode.js +20 -0
- package/vs/language/typescript/tsWorker.js +37016 -0
- package/vs/language/typescript/tsWorker.js.gz +0 -0
- package/vs/loader.js +11 -0
- package/worker/pdf.worker.min.mjs +21 -0
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import { default as React } from 'react';
|
|
2
|
+
export type ButtonType = 'primary' | 'default' | 'error' | 'warning' | 'success' | 'text';
|
|
3
|
+
export interface ButtonProps {
|
|
4
|
+
mode?: ButtonType;
|
|
5
|
+
label?: string;
|
|
6
|
+
styles?: any;
|
|
7
|
+
icon?: React.ReactNode;
|
|
8
|
+
disabled?: boolean;
|
|
9
|
+
onClick?: () => void;
|
|
10
|
+
style?: React.CSSProperties;
|
|
11
|
+
className?: string;
|
|
12
|
+
children?: React.ReactNode;
|
|
13
|
+
}
|
|
14
|
+
declare const Button: React.FC<ButtonProps>;
|
|
15
|
+
export default Button;
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
import * as React from 'react';
|
|
2
|
+
export interface DropdownMenuAction {
|
|
3
|
+
key: string;
|
|
4
|
+
label?: string;
|
|
5
|
+
type?: 'divider' | 'action';
|
|
6
|
+
icon?: React.ReactNode;
|
|
7
|
+
onClick?: () => void;
|
|
8
|
+
}
|
|
9
|
+
interface DropdownMenuProps {
|
|
10
|
+
actions: DropdownMenuAction[];
|
|
11
|
+
onAction: (key: string) => void;
|
|
12
|
+
direction?: 'top' | 'bottom';
|
|
13
|
+
styles?: any;
|
|
14
|
+
}
|
|
15
|
+
declare const DropdownMenu: React.FC<DropdownMenuProps>;
|
|
16
|
+
export default DropdownMenu;
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
import { CardAction } from '../../hooks/useDynamicCards';
|
|
2
|
+
import * as React from 'react';
|
|
3
|
+
/**
|
|
4
|
+
* 数据库卡片组件
|
|
5
|
+
* 用于展示数据库连接信息
|
|
6
|
+
* @author mxm
|
|
7
|
+
* @date 2024-12-19
|
|
8
|
+
*/
|
|
9
|
+
interface DatabaseCardProps {
|
|
10
|
+
data: {
|
|
11
|
+
id: string;
|
|
12
|
+
name: string;
|
|
13
|
+
dbType?: string;
|
|
14
|
+
description?: string;
|
|
15
|
+
url?: string;
|
|
16
|
+
username?: string;
|
|
17
|
+
port?: string | number;
|
|
18
|
+
status?: string;
|
|
19
|
+
actions?: CardAction[];
|
|
20
|
+
databaseType?: 'upload' | 'direct' | string;
|
|
21
|
+
[key: string]: any;
|
|
22
|
+
};
|
|
23
|
+
theme?: any;
|
|
24
|
+
actions?: CardAction[];
|
|
25
|
+
onAction?: (action: string, data: any) => void;
|
|
26
|
+
}
|
|
27
|
+
declare const DatabaseCard: React.FC<DatabaseCardProps>;
|
|
28
|
+
export default DatabaseCard;
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import * as React from 'react';
|
|
2
|
+
/**
|
|
3
|
+
* 默认卡片组件
|
|
4
|
+
* 用于展示基础卡片信息
|
|
5
|
+
* @author mxm
|
|
6
|
+
* @date 2024-12-19
|
|
7
|
+
*/
|
|
8
|
+
interface DefaultCardProps {
|
|
9
|
+
data: any;
|
|
10
|
+
theme?: any;
|
|
11
|
+
}
|
|
12
|
+
declare const DefaultCard: React.FC<DefaultCardProps>;
|
|
13
|
+
export default DefaultCard;
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
import { CardAction } from '../../hooks/useDynamicCards';
|
|
2
|
+
import * as React from 'react';
|
|
3
|
+
/**
|
|
4
|
+
* 设计卡片组件
|
|
5
|
+
* 用于展示设计稿信息
|
|
6
|
+
* @author mxm
|
|
7
|
+
* @date 2024-12-19
|
|
8
|
+
*/
|
|
9
|
+
interface DesignCardProps {
|
|
10
|
+
data: any;
|
|
11
|
+
theme?: any;
|
|
12
|
+
actions?: CardAction[];
|
|
13
|
+
onAction?: (action: string, data: any) => void;
|
|
14
|
+
}
|
|
15
|
+
declare const DesignCard: React.FC<DesignCardProps>;
|
|
16
|
+
export default DesignCard;
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
import { CardAction } from '../../hooks/useDynamicCards';
|
|
2
|
+
import * as React from 'react';
|
|
3
|
+
/**
|
|
4
|
+
* 原型卡片组件
|
|
5
|
+
* 用于展示原型设计信息
|
|
6
|
+
* @author mxm
|
|
7
|
+
* @date 2024-12-19
|
|
8
|
+
*/
|
|
9
|
+
interface PrototypeCardProps {
|
|
10
|
+
data: any;
|
|
11
|
+
theme?: any;
|
|
12
|
+
actions?: CardAction[];
|
|
13
|
+
onAction?: (action: string, data: any) => void;
|
|
14
|
+
}
|
|
15
|
+
declare const PrototypeCard: React.FC<PrototypeCardProps>;
|
|
16
|
+
export default PrototypeCard;
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
import { CardAction } from '../../hooks/useDynamicCards';
|
|
2
|
+
import * as React from 'react';
|
|
3
|
+
/**
|
|
4
|
+
* 代码仓库卡片组件
|
|
5
|
+
* 用于展示代码仓库信息
|
|
6
|
+
* @author mxm
|
|
7
|
+
* @date 2024-12-19
|
|
8
|
+
*/
|
|
9
|
+
interface RepositoryCardProps {
|
|
10
|
+
data: any;
|
|
11
|
+
theme?: any;
|
|
12
|
+
actions?: CardAction[];
|
|
13
|
+
onAction?: (action: string, data: any) => void;
|
|
14
|
+
}
|
|
15
|
+
declare const RepositoryCard: React.FC<RepositoryCardProps>;
|
|
16
|
+
export default RepositoryCard;
|
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
import * as React from 'react';
|
|
2
|
+
/**
|
|
3
|
+
* 卡片通用样式组件
|
|
4
|
+
* 提供所有卡片类型共用的样式定义
|
|
5
|
+
* @author mxm
|
|
6
|
+
* @date 2024-12-19
|
|
7
|
+
*/
|
|
8
|
+
interface Theme {
|
|
9
|
+
colors?: {
|
|
10
|
+
border?: string;
|
|
11
|
+
background?: string;
|
|
12
|
+
shadow?: string;
|
|
13
|
+
primary?: string;
|
|
14
|
+
};
|
|
15
|
+
space?: {
|
|
16
|
+
radius?: number;
|
|
17
|
+
};
|
|
18
|
+
}
|
|
19
|
+
type StatusType = 'connect' | 'active' | 'completed' | 'error' | 'deprecated' | 'in_progress' | 'pending' | 'archived';
|
|
20
|
+
export declare const CardWrapper: import('styled-components/dist/types').IStyledComponentBase<"web", import('styled-components/dist/types').Substitute<React.DetailedHTMLProps<React.HTMLAttributes<HTMLDivElement>, HTMLDivElement>, {
|
|
21
|
+
theme?: any;
|
|
22
|
+
}>> & string;
|
|
23
|
+
export declare const CardContent: import('styled-components/dist/types').IStyledComponentBase<"web", import('styled-components').FastOmit<React.DetailedHTMLProps<React.HTMLAttributes<HTMLDivElement>, HTMLDivElement>, never>> & string;
|
|
24
|
+
export declare const CardHeader: import('styled-components/dist/types').IStyledComponentBase<"web", import('styled-components').FastOmit<React.DetailedHTMLProps<React.HTMLAttributes<HTMLDivElement>, HTMLDivElement>, never>> & string;
|
|
25
|
+
export declare const CardTitle: import('styled-components/dist/types').IStyledComponentBase<"web", import('styled-components').FastOmit<React.DetailedHTMLProps<React.HTMLAttributes<HTMLDivElement>, HTMLDivElement>, never>> & string;
|
|
26
|
+
export declare const CardDesc: import('styled-components/dist/types').IStyledComponentBase<"web", import('styled-components').FastOmit<React.DetailedHTMLProps<React.HTMLAttributes<HTMLDivElement>, HTMLDivElement>, never>> & string;
|
|
27
|
+
export declare const CardMeta: import('styled-components/dist/types').IStyledComponentBase<"web", import('styled-components').FastOmit<React.DetailedHTMLProps<React.HTMLAttributes<HTMLDivElement>, HTMLDivElement>, never>> & string;
|
|
28
|
+
export declare const CardActions: import('styled-components/dist/types').IStyledComponentBase<"web", import('styled-components').FastOmit<React.DetailedHTMLProps<React.HTMLAttributes<HTMLDivElement>, HTMLDivElement>, never>> & string;
|
|
29
|
+
export declare const StatusDotWrapper: import('styled-components/dist/types').IStyledComponentBase<"web", import('styled-components').FastOmit<React.DetailedHTMLProps<React.HTMLAttributes<HTMLSpanElement>, HTMLSpanElement>, never>> & string;
|
|
30
|
+
export declare const StatusDot: import('styled-components/dist/types').IStyledComponentBase<"web", import('styled-components/dist/types').Substitute<React.DetailedHTMLProps<React.HTMLAttributes<HTMLSpanElement>, HTMLSpanElement>, {
|
|
31
|
+
status?: any;
|
|
32
|
+
}>> & string;
|
|
33
|
+
export declare const Wave: import('styled-components/dist/types').IStyledComponentBase<"web", import('styled-components').FastOmit<React.DetailedHTMLProps<React.HTMLAttributes<HTMLSpanElement>, HTMLSpanElement>, never>> & string;
|
|
34
|
+
export declare const Tooltip: React.FC<{
|
|
35
|
+
title: string;
|
|
36
|
+
children: React.ReactNode;
|
|
37
|
+
}>;
|
|
38
|
+
export type { Theme, StatusType };
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* CardUI 组件导出文件
|
|
3
|
+
* 提供各种卡片类型的UI组件
|
|
4
|
+
* @author mxm
|
|
5
|
+
* @date 2024-12-19
|
|
6
|
+
*/
|
|
7
|
+
export { default as DatabaseCard } from './DatabaseCard';
|
|
8
|
+
export { default as DesignCard } from './DesignCard';
|
|
9
|
+
export { default as PrototypeCard } from './PrototypeCard';
|
|
10
|
+
export { default as RepositoryCard } from './RepositoryCard';
|
|
11
|
+
export { default as DefaultCard } from './DefaultCard';
|
|
12
|
+
export { CardWrapper, CardContent, CardHeader, CardTitle, CardDesc, CardMeta, CardActions, StatusDotWrapper, StatusDot, Wave, Tooltip } from './common';
|
|
13
|
+
export type { Theme, StatusType } from './common';
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* 表格行动画hook
|
|
3
|
+
* 处理删除动画:删除行向右滑出
|
|
4
|
+
*/
|
|
5
|
+
export declare const useRowAnimation: (onAnimationComplete: (rowId: string) => void) => {
|
|
6
|
+
getRowProps: (row: any) => {
|
|
7
|
+
className: string;
|
|
8
|
+
style: {
|
|
9
|
+
transition: string;
|
|
10
|
+
opacity: number;
|
|
11
|
+
transform: string;
|
|
12
|
+
} | {
|
|
13
|
+
transition?: undefined;
|
|
14
|
+
opacity?: undefined;
|
|
15
|
+
transform?: undefined;
|
|
16
|
+
};
|
|
17
|
+
onTransitionEnd: (e: React.TransitionEvent) => void;
|
|
18
|
+
};
|
|
19
|
+
};
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* 表格行stagger动画hook
|
|
3
|
+
* 处理删除动画:删除行向右滑出,后续行向上补充位置的stagger效果
|
|
4
|
+
* 性能优化版本
|
|
5
|
+
*/
|
|
6
|
+
export declare const useStaggerAnimation: (onAnimationComplete: (rowId: string) => void) => {
|
|
7
|
+
getRowProps: (row: any) => {
|
|
8
|
+
className: string;
|
|
9
|
+
ref: (el: HTMLElement | null) => void;
|
|
10
|
+
};
|
|
11
|
+
cleanup: () => void;
|
|
12
|
+
};
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* 批量卡片删除动画hook
|
|
3
|
+
* @param removingIds 需要执行动画的卡片id数组
|
|
4
|
+
* @param onBatchComplete 所有动画完成后统一回调
|
|
5
|
+
* @returns getCardProps
|
|
6
|
+
*/
|
|
7
|
+
export declare function useBatchCardStaggerAnimation(removingIds: string[], onBatchComplete: (ids: string[]) => void): {
|
|
8
|
+
getCardProps: (card: any) => {
|
|
9
|
+
id: string;
|
|
10
|
+
style: {
|
|
11
|
+
willChange: string;
|
|
12
|
+
pointerEvents: string;
|
|
13
|
+
} | {
|
|
14
|
+
willChange?: undefined;
|
|
15
|
+
pointerEvents?: undefined;
|
|
16
|
+
};
|
|
17
|
+
};
|
|
18
|
+
};
|
|
@@ -0,0 +1,47 @@
|
|
|
1
|
+
import * as React from 'react';
|
|
2
|
+
export type CardType = 'database' | 'default' | 'customized' | 'design' | 'prototype' | 'repository';
|
|
3
|
+
export interface CardAction {
|
|
4
|
+
key: string;
|
|
5
|
+
label?: string;
|
|
6
|
+
type?: 'divider' | 'action';
|
|
7
|
+
icon?: React.ReactNode;
|
|
8
|
+
onClick?: (data: any) => void;
|
|
9
|
+
allow?: boolean;
|
|
10
|
+
}
|
|
11
|
+
export interface CardConfig {
|
|
12
|
+
id: string;
|
|
13
|
+
cardtype: CardType;
|
|
14
|
+
title?: string;
|
|
15
|
+
name?: string;
|
|
16
|
+
description?: string;
|
|
17
|
+
dbType?: string;
|
|
18
|
+
content?: string;
|
|
19
|
+
actions?: CardAction[];
|
|
20
|
+
render?: (data: any, options?: any) => React.ReactNode;
|
|
21
|
+
[key: string]: any;
|
|
22
|
+
}
|
|
23
|
+
export interface UseDynamicCardsOptions {
|
|
24
|
+
onAction?: (action: string, data: any) => void;
|
|
25
|
+
onCardClick?: (cardData: any, event: any) => void;
|
|
26
|
+
onCardDoubleClick?: (cardData: any, event: any) => void;
|
|
27
|
+
theme?: any;
|
|
28
|
+
actions?: CardAction[];
|
|
29
|
+
}
|
|
30
|
+
/**
|
|
31
|
+
* useDynamicCards hooks
|
|
32
|
+
* 负责将卡片配置数组转为带 render 的卡片对象,支持多种 cardtype 和自定义渲染。
|
|
33
|
+
* @param configs 卡片配置数组
|
|
34
|
+
* @param options 事件回调等
|
|
35
|
+
* @returns 带 render 的卡片配置数组
|
|
36
|
+
*/
|
|
37
|
+
export declare function useDynamicCards(configs: CardConfig[], cardType: CardType, options?: UseDynamicCardsOptions): (CardConfig | {
|
|
38
|
+
render: (data: any, extra?: any) => import("react/jsx-runtime").JSX.Element;
|
|
39
|
+
id: string;
|
|
40
|
+
cardtype: CardType;
|
|
41
|
+
title?: string;
|
|
42
|
+
name?: string;
|
|
43
|
+
description?: string;
|
|
44
|
+
dbType?: string;
|
|
45
|
+
content?: string;
|
|
46
|
+
actions?: CardAction[];
|
|
47
|
+
})[];
|
|
@@ -0,0 +1,62 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* 动态表单配置接口
|
|
3
|
+
*
|
|
4
|
+
* 新增 col 布局元素类型,用于创建 flex 布局的列容器
|
|
5
|
+
*
|
|
6
|
+
* @example
|
|
7
|
+
* // 基础用法 - 水平排列两个输入框
|
|
8
|
+
* {
|
|
9
|
+
* type: 'col',
|
|
10
|
+
* children: [
|
|
11
|
+
* { type: 'input', label: '姓名', name: 'firstName', required: true },
|
|
12
|
+
* { type: 'input', label: '姓氏', name: 'lastName', required: true }
|
|
13
|
+
* ]
|
|
14
|
+
* }
|
|
15
|
+
*
|
|
16
|
+
* @example
|
|
17
|
+
* // 高级用法 - 自定义布局属性
|
|
18
|
+
* {
|
|
19
|
+
* type: 'col',
|
|
20
|
+
* direction: 'row', // flex 方向: 'row' | 'column'
|
|
21
|
+
* gap: 24, // 间距
|
|
22
|
+
* justify: 'space-between', // 主轴对齐: 'start' | 'center' | 'end' | 'space-between' | 'space-around'
|
|
23
|
+
* align: 'center', // 交叉轴对齐: 'start' | 'center' | 'end' | 'stretch'
|
|
24
|
+
* wrap: true, // 是否换行
|
|
25
|
+
* children: [
|
|
26
|
+
* { type: 'select', label: '性别', name: 'gender', options: [...] },
|
|
27
|
+
* { type: 'number', label: '年龄', name: 'age', range: { min: 1, max: 120 } }
|
|
28
|
+
* ]
|
|
29
|
+
* }
|
|
30
|
+
*/
|
|
31
|
+
export interface FormItemProps {
|
|
32
|
+
type: 'input' | 'select' | 'number' | 'slider' | 'switch' | 'date' | 'radio' | 'textarea' | 'divider' | 'password' | 'col' | 'title';
|
|
33
|
+
label?: string;
|
|
34
|
+
description?: string;
|
|
35
|
+
control?: string[];
|
|
36
|
+
controlledItems?: string[];
|
|
37
|
+
name?: string;
|
|
38
|
+
defaultValue?: any;
|
|
39
|
+
options?: {
|
|
40
|
+
label: string;
|
|
41
|
+
value: string;
|
|
42
|
+
}[];
|
|
43
|
+
range?: {
|
|
44
|
+
min: number;
|
|
45
|
+
max: number;
|
|
46
|
+
};
|
|
47
|
+
step?: number;
|
|
48
|
+
unit?: string;
|
|
49
|
+
placeholder?: string;
|
|
50
|
+
className?: string;
|
|
51
|
+
disabled?: boolean;
|
|
52
|
+
required?: boolean;
|
|
53
|
+
error?: string;
|
|
54
|
+
level?: number;
|
|
55
|
+
children?: FormItemProps[];
|
|
56
|
+
direction?: 'row' | 'column';
|
|
57
|
+
gap?: number;
|
|
58
|
+
justify?: 'start' | 'center' | 'end' | 'space-between' | 'space-around';
|
|
59
|
+
align?: 'start' | 'center' | 'end' | 'stretch';
|
|
60
|
+
wrap?: boolean;
|
|
61
|
+
}
|
|
62
|
+
export declare function useDynamicFormItems(config?: FormItemProps[], styles?: any, initialValues?: Record<string, any>, size?: 'sm' | 'md'): (import("react/jsx-runtime").JSX.Element | null)[];
|
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
export interface TableColumnConfig {
|
|
2
|
+
id: string;
|
|
3
|
+
title: string;
|
|
4
|
+
type: string;
|
|
5
|
+
[key: string]: any;
|
|
6
|
+
}
|
|
7
|
+
export interface TableCellConfig {
|
|
8
|
+
columnId: string;
|
|
9
|
+
value: any;
|
|
10
|
+
statusType?: string;
|
|
11
|
+
[key: string]: any;
|
|
12
|
+
}
|
|
13
|
+
export interface TableRowConfig {
|
|
14
|
+
id: string;
|
|
15
|
+
cells: TableCellConfig[];
|
|
16
|
+
[key: string]: any;
|
|
17
|
+
}
|
|
18
|
+
export declare enum StatusType {
|
|
19
|
+
success = "success",
|
|
20
|
+
error = "error",
|
|
21
|
+
warning = "warning",
|
|
22
|
+
processing = "processing",
|
|
23
|
+
info = "info",
|
|
24
|
+
default = "default"
|
|
25
|
+
}
|
|
26
|
+
interface UseDynamicTableColumnsOptions {
|
|
27
|
+
eventsEmit?: (eventName: string, data: any) => void;
|
|
28
|
+
}
|
|
29
|
+
/**
|
|
30
|
+
* useDynamicTableColumns
|
|
31
|
+
* 根据配置项自动生成统一风格的table columns
|
|
32
|
+
* 支持字符、数字、状态、列表、日期、操作等类型
|
|
33
|
+
* @param configs 列配置数组
|
|
34
|
+
* @param options 事件分发等
|
|
35
|
+
*/
|
|
36
|
+
export declare function useDynamicTableColumns(configs: TableColumnConfig[], options?: UseDynamicTableColumnsOptions, styles?: any): TableColumnConfig[];
|
|
37
|
+
export {};
|
|
@@ -0,0 +1,43 @@
|
|
|
1
|
+
export interface FuzzySearchConfig {
|
|
2
|
+
searchKeys?: string[];
|
|
3
|
+
fuzzyValue: string;
|
|
4
|
+
}
|
|
5
|
+
export interface TableDataItem {
|
|
6
|
+
id: string;
|
|
7
|
+
data: Array<{
|
|
8
|
+
columnId: string;
|
|
9
|
+
value: any;
|
|
10
|
+
statusType?: string;
|
|
11
|
+
[key: string]: any;
|
|
12
|
+
}>;
|
|
13
|
+
[key: string]: any;
|
|
14
|
+
}
|
|
15
|
+
export interface CardDataItem {
|
|
16
|
+
id: string;
|
|
17
|
+
[key: string]: any;
|
|
18
|
+
}
|
|
19
|
+
export interface TableColumn {
|
|
20
|
+
id: string;
|
|
21
|
+
title: string;
|
|
22
|
+
type: string;
|
|
23
|
+
[key: string]: any;
|
|
24
|
+
}
|
|
25
|
+
/**
|
|
26
|
+
* 通用模糊搜索Hook
|
|
27
|
+
* 支持表格数据和卡片数据的模糊搜索过滤
|
|
28
|
+
*
|
|
29
|
+
* @param data - 要过滤的数据源
|
|
30
|
+
* @param config - 模糊搜索配置
|
|
31
|
+
* @param dataType - 数据类型:'table' | 'card'
|
|
32
|
+
* @param columns - 表格列定义(仅table类型需要)
|
|
33
|
+
* @returns 过滤后的数据
|
|
34
|
+
*/
|
|
35
|
+
export declare function useFuzzySearch<T extends TableDataItem | CardDataItem>(data: T[], config: FuzzySearchConfig, dataType: 'table' | 'card', columns?: TableColumn[]): T[];
|
|
36
|
+
/**
|
|
37
|
+
* 从工具栏配置中提取模糊搜索配置
|
|
38
|
+
*
|
|
39
|
+
* @param toolbar - 工具栏配置
|
|
40
|
+
* @param fuzzyValue - 模糊搜索值
|
|
41
|
+
* @returns 模糊搜索配置
|
|
42
|
+
*/
|
|
43
|
+
export declare function extractFuzzySearchConfig(toolbar: any[] | undefined, fuzzyValue: string): FuzzySearchConfig;
|
package/core/layout.d.ts
ADDED
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import { default as React } from 'react';
|
|
2
|
+
interface ChatLayoutProps {
|
|
3
|
+
children?: React.ReactNode;
|
|
4
|
+
goBack?: () => void;
|
|
5
|
+
title?: string;
|
|
6
|
+
description?: string;
|
|
7
|
+
styles?: any;
|
|
8
|
+
theme?: any;
|
|
9
|
+
}
|
|
10
|
+
declare const Layout: React.FC<ChatLayoutProps>;
|
|
11
|
+
export default Layout;
|
package/index.d.ts
ADDED