@cloudbase/weda-ui 3.8.1 → 3.9.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/configs/components/dataView.d.ts +14 -0
- package/dist/configs/components/dataView.js +104 -6
- package/dist/configs/components/listView.d.ts +29 -0
- package/dist/configs/components/listView.js +145 -24
- package/dist/configs/components/wd-input-number.d.ts +8 -0
- package/dist/configs/components/wd-input-number.js +9 -0
- package/dist/configs/components/wd-markdown.d.ts +95 -0
- package/dist/configs/components/wd-markdown.js +142 -0
- package/dist/configs/components/wd-menu-layout.d.ts +13 -10
- package/dist/configs/components/wd-menu-layout.js +12 -1
- package/dist/configs/components/wd-menu-nav-tab-layou.d.ts +27 -0
- package/dist/configs/components/wd-menu-nav-tab-layou.js +31 -0
- package/dist/configs/components/wd-table.d.ts +1 -1
- package/dist/configs/components/wd-table.js +1 -0
- package/dist/configs/index.d.ts +340 -10
- package/dist/configs/index.js +4 -0
- package/dist/configs/type-utils/type-form.js +1 -1
- package/dist/configs/utils/layout.d.ts +1 -1
- package/dist/configs/utils/layout.js +215 -6
- package/dist/style/index.scss +1 -1
- package/dist/web/components/dataView/index.js +5 -3
- package/dist/web/components/index.d.ts +2 -0
- package/dist/web/components/index.js +4 -0
- package/dist/web/components/listView/index.js +48 -13
- package/dist/web/components/listView/interface.d.ts +4 -0
- package/dist/web/components/listView/useQueryParams.d.ts +11 -0
- package/dist/web/components/listView/useQueryParams.js +23 -0
- package/dist/web/components/richTextView/index.js +4 -38
- package/dist/web/components/richTextView/useImgTransform.d.ts +1 -0
- package/dist/web/components/richTextView/useImgTransform.js +47 -0
- package/dist/web/components/wd-input-number/wd-input-number.js +16 -9
- package/dist/web/components/wd-markdown/github-markdown-light.css +1139 -0
- package/dist/web/components/wd-markdown/index.d.ts +4 -0
- package/dist/web/components/wd-markdown/index.js +3 -0
- package/dist/web/components/wd-markdown/style.d.ts +3 -0
- package/dist/web/components/wd-markdown/style.js +3 -0
- package/dist/web/components/wd-markdown/wd-markdown.d.ts +7 -0
- package/dist/web/components/wd-markdown/wd-markdown.js +88 -0
- package/dist/web/components/wd-menu-layout/components/H5Menu.js +3 -1
- package/dist/web/components/wd-menu-layout/components/NavTabMenu.d.ts +3 -0
- package/dist/web/components/wd-menu-layout/components/NavTabMenu.js +7 -0
- package/dist/web/components/wd-menu-layout/style.d.ts +1 -0
- package/dist/web/components/wd-menu-layout/style.js +1 -0
- package/dist/web/components/wd-menu-layout/wd-menu-layout.js +5 -2
- package/dist/web/components/wd-menu-nav-tab-layout/index.d.ts +6 -0
- package/dist/web/components/wd-menu-nav-tab-layout/index.js +5 -0
- package/dist/web/components/wd-table/components/FieldRender/index.js +5 -2
- package/dist/web/utils/getModelParams.d.ts +2 -0
- package/dist/web/utils/getModelParams.js +73 -4
- package/package.json +5 -2
|
@@ -0,0 +1,95 @@
|
|
|
1
|
+
import { Static } from '../type-utils';
|
|
2
|
+
import type { Simplify } from 'type-fest';
|
|
3
|
+
declare const data: import("@sinclair/typebox").TObject<{
|
|
4
|
+
value: import("@sinclair/typebox").TString;
|
|
5
|
+
options: import("@sinclair/typebox").TObject<{}>;
|
|
6
|
+
}>;
|
|
7
|
+
export type DataType = Simplify<Static<typeof data>>;
|
|
8
|
+
declare const config: {
|
|
9
|
+
readonly $schema: "https://comp-public-1303824488.cos.ap-shanghai.myqcloud.com/schema/lcds_component.json";
|
|
10
|
+
readonly data: import("@sinclair/typebox").TObject<{
|
|
11
|
+
value: import("@sinclair/typebox").TString;
|
|
12
|
+
options: import("@sinclair/typebox").TObject<{}>;
|
|
13
|
+
}>;
|
|
14
|
+
readonly properties: import("@sinclair/typebox").TObject<{
|
|
15
|
+
value: import("@sinclair/typebox").TString;
|
|
16
|
+
}>;
|
|
17
|
+
readonly classes: readonly [{
|
|
18
|
+
readonly name: "根元素";
|
|
19
|
+
readonly selector: ".wd-markdown";
|
|
20
|
+
readonly description: "链接组件根元素";
|
|
21
|
+
}, {
|
|
22
|
+
readonly name: "PC 端链接根元素";
|
|
23
|
+
readonly selector: ".wd-pc-markdown";
|
|
24
|
+
readonly description: "可以为 PC 端的链接编写样式";
|
|
25
|
+
}, {
|
|
26
|
+
readonly name: "H5 端链接根元素";
|
|
27
|
+
readonly selector: ".wd-h5-markdown";
|
|
28
|
+
readonly description: "可以为 H5 端的链接编写样式";
|
|
29
|
+
}, {
|
|
30
|
+
readonly name: "小程序端链接根元素";
|
|
31
|
+
readonly selector: ".wd-mp-markdown";
|
|
32
|
+
readonly description: "可以为小程序端的链接编写样式";
|
|
33
|
+
}];
|
|
34
|
+
readonly methods: readonly [];
|
|
35
|
+
readonly events: readonly [];
|
|
36
|
+
readonly meta: {
|
|
37
|
+
readonly name: "WdMarkdown";
|
|
38
|
+
readonly componentName: "markdown";
|
|
39
|
+
readonly title: "markdown";
|
|
40
|
+
readonly description: "用于markdown展示";
|
|
41
|
+
readonly figureIcon: "../figureIcons/RichTextView.svg";
|
|
42
|
+
readonly icon: "../icons/RichTextView.svg";
|
|
43
|
+
readonly category: "展示";
|
|
44
|
+
readonly categoryOrder: 400;
|
|
45
|
+
readonly componentOrder: 250;
|
|
46
|
+
readonly visible: any;
|
|
47
|
+
readonly inlineStyleForm: {
|
|
48
|
+
readonly $text: {
|
|
49
|
+
readonly visible: false;
|
|
50
|
+
};
|
|
51
|
+
readonly fontSize: {
|
|
52
|
+
readonly visible: false;
|
|
53
|
+
};
|
|
54
|
+
readonly color: {
|
|
55
|
+
readonly visible: false;
|
|
56
|
+
};
|
|
57
|
+
readonly fontWeight: {
|
|
58
|
+
readonly visible: false;
|
|
59
|
+
};
|
|
60
|
+
readonly lineHeight: {
|
|
61
|
+
readonly visible: false;
|
|
62
|
+
};
|
|
63
|
+
readonly justifyContent: {
|
|
64
|
+
readonly visible: false;
|
|
65
|
+
};
|
|
66
|
+
readonly flexDirection: {
|
|
67
|
+
readonly visible: false;
|
|
68
|
+
};
|
|
69
|
+
readonly border: {
|
|
70
|
+
readonly visible: false;
|
|
71
|
+
};
|
|
72
|
+
readonly background: {
|
|
73
|
+
readonly visible: false;
|
|
74
|
+
};
|
|
75
|
+
readonly boxShadow: {
|
|
76
|
+
readonly visible: false;
|
|
77
|
+
};
|
|
78
|
+
readonly opacity: {
|
|
79
|
+
readonly visible: false;
|
|
80
|
+
};
|
|
81
|
+
readonly alignItems: {
|
|
82
|
+
readonly visible: false;
|
|
83
|
+
};
|
|
84
|
+
};
|
|
85
|
+
readonly templates: readonly [{
|
|
86
|
+
readonly when: "$attached";
|
|
87
|
+
readonly body: "\n[attributes]\n\":options\" = \"{\n html: false, // 在源码中启用 HTML 标签\n xhtmlOut: false, // 使用 / 来闭合单标签 (比如 <br />)。\n // 这个选项只对完全的 CommonMark 模式兼容。\n breaks: false, // 转换段落里的 换行符 到 <br>。\n langPrefix: 'language-', // 给围栏代码块的 CSS 语言前缀。对于额外的高亮代码非常有用。\n linkify: false, // 将类似 URL 的文本自动转换为链接。\n\n // 启用一些语言中立的替换 + 引号美化\n typographer: false,\n\n // 双 + 单引号替换对,当 typographer 启用时。\n // 或者智能引号等,可以是 String 或 Array。\n //\n // 比方说,你可以支持 '«»„“' 给俄罗斯人使用, '„“‚‘' 给德国人使用。\n quotes: '“”‘’',\n\n}\n\"\n";
|
|
88
|
+
}];
|
|
89
|
+
readonly docsUrl: "https://docs.cloudbase.net/lowcode/components/wedaUI/src/docs/compsdocs/show/WdMarkdown";
|
|
90
|
+
readonly shortcut: {
|
|
91
|
+
readonly props: readonly ["value"];
|
|
92
|
+
};
|
|
93
|
+
};
|
|
94
|
+
};
|
|
95
|
+
export default config;
|
|
@@ -0,0 +1,142 @@
|
|
|
1
|
+
import { defineConfig, Type } from '../type-utils';
|
|
2
|
+
const template = `
|
|
3
|
+
[attributes]
|
|
4
|
+
":options" = "{
|
|
5
|
+
html: false, // 在源码中启用 HTML 标签
|
|
6
|
+
xhtmlOut: false, // 使用 / 来闭合单标签 (比如 <br />)。
|
|
7
|
+
// 这个选项只对完全的 CommonMark 模式兼容。
|
|
8
|
+
breaks: false, // 转换段落里的 换行符 到 <br>。
|
|
9
|
+
langPrefix: 'language-', // 给围栏代码块的 CSS 语言前缀。对于额外的高亮代码非常有用。
|
|
10
|
+
linkify: false, // 将类似 URL 的文本自动转换为链接。
|
|
11
|
+
|
|
12
|
+
// 启用一些语言中立的替换 + 引号美化
|
|
13
|
+
typographer: false,
|
|
14
|
+
|
|
15
|
+
// 双 + 单引号替换对,当 typographer 启用时。
|
|
16
|
+
// 或者智能引号等,可以是 String 或 Array。
|
|
17
|
+
//
|
|
18
|
+
// 比方说,你可以支持 '«»„“' 给俄罗斯人使用, '„“‚‘' 给德国人使用。
|
|
19
|
+
quotes: '“”‘’',
|
|
20
|
+
|
|
21
|
+
}
|
|
22
|
+
"
|
|
23
|
+
`;
|
|
24
|
+
// 属性类型定义
|
|
25
|
+
const data = Type.Object({
|
|
26
|
+
value: Type.String({
|
|
27
|
+
title: '内容',
|
|
28
|
+
type: 'string',
|
|
29
|
+
'x-component': 'textarea',
|
|
30
|
+
default: '---\n__Advertisement :)__\n\n- __[pica](https://nodeca.github.io/pica/demo/)__ - high quality and fast image\n resize in browser.\n- __[babelfish](https://github.com/nodeca/babelfish/)__ - developer friendly\n i18n with plurals support and easy syntax.\n\nYou will like those projects!\n\n---\n\n# h1 Heading 8-)\n## h2 Heading\n### h3 Heading\n#### h4 Heading\n##### h5 Heading\n###### h6 Heading\n\n\n## Horizontal Rules\n\n___\n\n---\n\n***\n\n\n## Typographic replacements\n\nEnable typographer option to see result.\n\n(c) (C) (r) (R) (tm) (TM) (p) (P) +-\n\ntest.. test... test..... test?..... test!....\n\n!!!!!! ???? ,, -- ---\n\n"Smartypants, double quotes" and \'single quotes\'\n\n\n## Emphasis\n\n**This is bold text**\n\n__This is bold text__\n\n*This is italic text*\n\n_This is italic text_\n\n~~Strikethrough~~\n\n\n## Blockquotes\n\n\n> Blockquotes can also be nested...\n>> ...by using additional greater-than signs right next to each other...\n> > > ...or with spaces between arrows.\n\n\n## Lists\n\nUnordered\n\n+ Create a list by starting a line with `+`, `-`, or `*`\n+ Sub-lists are made by indenting 2 spaces:\n - Marker character change forces new list start:\n * Ac tristique libero volutpat at\n + Facilisis in pretium nisl aliquet\n - Nulla volutpat aliquam velit\n+ Very easy!\n\nOrdered\n\n1. Lorem ipsum dolor sit amet\n2. Consectetur adipiscing elit\n3. Integer molestie lorem at massa\n\n\n1. You can use sequential numbers...\n1. ...or keep all the numbers as `1.`\n\nStart numbering with offset:\n\n57. foo\n1. bar\n\n\n## Code\n\nInline `code`\n\nIndented code\n\n // Some comments\n line 1 of code\n line 2 of code\n line 3 of code\n\n\nBlock code "fences"\n\n```\nSample text here...\n```\n\nSyntax highlighting\n\n``` js\nvar foo = function (bar) {\n return bar++;\n};\n\nconsole.log(foo(5));\n```\n\n## Tables\n\n| Option | Description |\n| ------ | ----------- |\n| data | path to data files to supply the data that will be passed into templates. |\n| engine | engine to be used for processing templates. Handlebars is the default. |\n| ext | extension to be used for dest files. |\n\nRight aligned columns\n\n| Option | Description |\n| ------:| -----------:|\n| data | path to data files to supply the data that will be passed into templates. |\n| engine | engine to be used for processing templates. Handlebars is the default. |\n| ext | extension to be used for dest files. |\n\n\n## Links\n\n[link text](http://dev.nodeca.com)\n\n[link with title](http://nodeca.github.io/pica/demo/ "title text!")\n\nAutoconverted link https://github.com/nodeca/pica (enable linkify to see)\n\n\n## Images\n\n\n',
|
|
31
|
+
'x-category': '基础属性',
|
|
32
|
+
'x-index': 1,
|
|
33
|
+
description: 'markdown的展示内容',
|
|
34
|
+
}),
|
|
35
|
+
options: Type.Object({}, {
|
|
36
|
+
title: '选项',
|
|
37
|
+
'x-category': '基础属性',
|
|
38
|
+
'x-index': 2,
|
|
39
|
+
description: 'markdown的初始化配置',
|
|
40
|
+
}),
|
|
41
|
+
});
|
|
42
|
+
// 组件对外暴露的只读属性
|
|
43
|
+
const properties = Type.Pick(data, ['value']);
|
|
44
|
+
// export default
|
|
45
|
+
const config = defineConfig({
|
|
46
|
+
$schema: 'https://comp-public-1303824488.cos.ap-shanghai.myqcloud.com/schema/lcds_component.json',
|
|
47
|
+
// 属性定义
|
|
48
|
+
data,
|
|
49
|
+
// 只读属性定义
|
|
50
|
+
properties,
|
|
51
|
+
// 样式API
|
|
52
|
+
classes: [
|
|
53
|
+
{
|
|
54
|
+
name: '根元素',
|
|
55
|
+
selector: '.wd-markdown',
|
|
56
|
+
description: '链接组件根元素',
|
|
57
|
+
},
|
|
58
|
+
{
|
|
59
|
+
name: 'PC 端链接根元素',
|
|
60
|
+
selector: '.wd-pc-markdown',
|
|
61
|
+
description: '可以为 PC 端的链接编写样式',
|
|
62
|
+
},
|
|
63
|
+
{
|
|
64
|
+
name: 'H5 端链接根元素',
|
|
65
|
+
selector: '.wd-h5-markdown',
|
|
66
|
+
description: '可以为 H5 端的链接编写样式',
|
|
67
|
+
},
|
|
68
|
+
{
|
|
69
|
+
name: '小程序端链接根元素',
|
|
70
|
+
selector: '.wd-mp-markdown',
|
|
71
|
+
description: '可以为小程序端的链接编写样式',
|
|
72
|
+
},
|
|
73
|
+
],
|
|
74
|
+
// 组件方法
|
|
75
|
+
methods: [],
|
|
76
|
+
// 组件对外暴露事件
|
|
77
|
+
events: [],
|
|
78
|
+
// 组件元信息
|
|
79
|
+
meta: {
|
|
80
|
+
name: 'WdMarkdown',
|
|
81
|
+
// 组件别名,用于生成组件 id,例如 Icon1
|
|
82
|
+
componentName: 'markdown',
|
|
83
|
+
title: 'markdown',
|
|
84
|
+
description: '用于markdown展示',
|
|
85
|
+
figureIcon: '../figureIcons/RichTextView.svg',
|
|
86
|
+
icon: '../icons/RichTextView.svg',
|
|
87
|
+
category: '展示',
|
|
88
|
+
categoryOrder: 400,
|
|
89
|
+
componentOrder: 250,
|
|
90
|
+
visible: ['APP'],
|
|
91
|
+
inlineStyleForm: {
|
|
92
|
+
$text: {
|
|
93
|
+
visible: false,
|
|
94
|
+
},
|
|
95
|
+
fontSize: {
|
|
96
|
+
visible: false,
|
|
97
|
+
},
|
|
98
|
+
color: {
|
|
99
|
+
visible: false,
|
|
100
|
+
},
|
|
101
|
+
fontWeight: {
|
|
102
|
+
visible: false,
|
|
103
|
+
},
|
|
104
|
+
lineHeight: {
|
|
105
|
+
visible: false,
|
|
106
|
+
},
|
|
107
|
+
justifyContent: {
|
|
108
|
+
visible: false,
|
|
109
|
+
},
|
|
110
|
+
flexDirection: {
|
|
111
|
+
visible: false,
|
|
112
|
+
},
|
|
113
|
+
border: {
|
|
114
|
+
visible: false,
|
|
115
|
+
},
|
|
116
|
+
background: {
|
|
117
|
+
visible: false,
|
|
118
|
+
},
|
|
119
|
+
boxShadow: {
|
|
120
|
+
visible: false,
|
|
121
|
+
},
|
|
122
|
+
opacity: {
|
|
123
|
+
visible: false,
|
|
124
|
+
},
|
|
125
|
+
alignItems: {
|
|
126
|
+
visible: false,
|
|
127
|
+
},
|
|
128
|
+
},
|
|
129
|
+
templates: [
|
|
130
|
+
{
|
|
131
|
+
when: '$attached',
|
|
132
|
+
body: template,
|
|
133
|
+
},
|
|
134
|
+
],
|
|
135
|
+
docsUrl: 'https://docs.cloudbase.net/lowcode/components/wedaUI/src/docs/compsdocs/show/WdMarkdown',
|
|
136
|
+
// 快捷编辑时展示在编辑区的属性
|
|
137
|
+
shortcut: {
|
|
138
|
+
props: ['value'],
|
|
139
|
+
},
|
|
140
|
+
},
|
|
141
|
+
});
|
|
142
|
+
export default config;
|
|
@@ -5,7 +5,7 @@ declare const data: import("@sinclair/typebox").TObject<{
|
|
|
5
5
|
headRightSlot: import("@sinclair/typebox").TUnsafe<import("react").ReactNode>;
|
|
6
6
|
contentSlot: import("@sinclair/typebox").TUnsafe<import("react").ReactNode>;
|
|
7
7
|
footerSlot: import("@sinclair/typebox").TUnsafe<import("react").ReactNode>;
|
|
8
|
-
template: import("@sinclair/typebox").TUnsafe<"nav" | "tab" | "vertical" | "horizontal" | "plant">;
|
|
8
|
+
template: import("@sinclair/typebox").TUnsafe<"nav" | "tab" | "vertical" | "horizontal" | "plant" | "navTab">;
|
|
9
9
|
menu: import("@sinclair/typebox").TObject<{
|
|
10
10
|
isMultiTerminal: import("@sinclair/typebox").TBoolean;
|
|
11
11
|
menuData: import("@sinclair/typebox").TArray<import("@sinclair/typebox").TRecursive<import("@sinclair/typebox").TObject<{
|
|
@@ -39,8 +39,9 @@ declare const data: import("@sinclair/typebox").TObject<{
|
|
|
39
39
|
subPackageName: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
|
|
40
40
|
}>>>;
|
|
41
41
|
}>;
|
|
42
|
-
type: import("@sinclair/typebox").TUnsafe<"nav" | "tab" | "vertical" | "horizontal" | "plant">;
|
|
42
|
+
type: import("@sinclair/typebox").TUnsafe<"nav" | "tab" | "vertical" | "horizontal" | "plant" | "navTab">;
|
|
43
43
|
defaultOpened: import("@sinclair/typebox").TBoolean;
|
|
44
|
+
outerClickClosable: import("@sinclair/typebox").TBoolean;
|
|
44
45
|
}>;
|
|
45
46
|
export type DataType = Simplify<Static<typeof data>>;
|
|
46
47
|
export declare const configInfo: {
|
|
@@ -50,7 +51,7 @@ export declare const configInfo: {
|
|
|
50
51
|
headRightSlot: import("@sinclair/typebox").TUnsafe<import("react").ReactNode>;
|
|
51
52
|
contentSlot: import("@sinclair/typebox").TUnsafe<import("react").ReactNode>;
|
|
52
53
|
footerSlot: import("@sinclair/typebox").TUnsafe<import("react").ReactNode>;
|
|
53
|
-
template: import("@sinclair/typebox").TUnsafe<"nav" | "tab" | "vertical" | "horizontal" | "plant">;
|
|
54
|
+
template: import("@sinclair/typebox").TUnsafe<"nav" | "tab" | "vertical" | "horizontal" | "plant" | "navTab">;
|
|
54
55
|
menu: import("@sinclair/typebox").TObject<{
|
|
55
56
|
isMultiTerminal: import("@sinclair/typebox").TBoolean;
|
|
56
57
|
menuData: import("@sinclair/typebox").TArray<import("@sinclair/typebox").TRecursive<import("@sinclair/typebox").TObject<{
|
|
@@ -84,8 +85,9 @@ export declare const configInfo: {
|
|
|
84
85
|
subPackageName: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
|
|
85
86
|
}>>>;
|
|
86
87
|
}>;
|
|
87
|
-
type: import("@sinclair/typebox").TUnsafe<"nav" | "tab" | "vertical" | "horizontal" | "plant">;
|
|
88
|
+
type: import("@sinclair/typebox").TUnsafe<"nav" | "tab" | "vertical" | "horizontal" | "plant" | "navTab">;
|
|
88
89
|
defaultOpened: import("@sinclair/typebox").TBoolean;
|
|
90
|
+
outerClickClosable: import("@sinclair/typebox").TBoolean;
|
|
89
91
|
}>;
|
|
90
92
|
readonly properties: import("@sinclair/typebox").TObject<{}>;
|
|
91
93
|
readonly classes: readonly [{
|
|
@@ -216,7 +218,7 @@ export declare const configInfo: {
|
|
|
216
218
|
}, {
|
|
217
219
|
readonly when: "$attached";
|
|
218
220
|
readonly to: "headSlot";
|
|
219
|
-
readonly body: "\n{{#with $self as |$self|}}\n{{#if (helper_utils '||' (helper_utils '===' $self.attributes.template 'tab') (helper_utils '===' $self.attributes.template 'nav'))}}\n[[directives]]\n\":if\" = false\n{{else}}\n[[directives]]\n\":if\" = true\n{{/if}}\n\n{{#if (helper_utils '&&' (helper_utils '!==' $self.attributes.template 'tab') (helper_utils '!==' $self.attributes.template 'nav'))}}\n[[template]]\ncomponent = 'WdIcon'\n[template.attributes]\ntype = 'custom'\nsrc = 'https://imgcache.qq.com/qcloud/tcloud_dtc/static/static_source_business/43d3b2b7-445c-4858-8eb0-50ac5d5cc08e.svg'\n[[template]]\ncomponent = 'WdText'\n[template.attributes]\ntext = '菜单标题'\nlevel = 'title-6'\n[template.extra.commonStyle.margin]\nleft = '8px'\n{{/if}}\n\n{{/with}}\n";
|
|
221
|
+
readonly body: "\n{{#with $self as |$self|}}\n{{#if (helper_utils '||' (helper_utils '===' $self.attributes.template 'tab') (helper_utils '===' $self.attributes.template 'nav') (helper_utils '===' $self.attributes.template 'navTab'))}}\n[[directives]]\n\":if\" = false\n{{else}}\n[[directives]]\n\":if\" = true\n{{/if}}\n\n{{#if (helper_utils '&&' (helper_utils '!==' $self.attributes.template 'tab') (helper_utils '!==' $self.attributes.template 'nav') (helper_utils '!==' $self.attributes.template 'navTab'))}}\n[[template]]\ncomponent = 'WdIcon'\n[template.attributes]\ntype = 'custom'\nsrc = 'https://imgcache.qq.com/qcloud/tcloud_dtc/static/static_source_business/43d3b2b7-445c-4858-8eb0-50ac5d5cc08e.svg'\n[[template]]\ncomponent = 'WdText'\n[template.attributes]\ntext = '菜单标题'\nlevel = 'title-6'\n[template.extra.commonStyle.margin]\nleft = '8px'\n{{/if}}\n\n{{/with}}\n";
|
|
220
222
|
}, {
|
|
221
223
|
readonly when: "$attached";
|
|
222
224
|
readonly to: "headRightSlot";
|
|
@@ -236,7 +238,7 @@ export declare const configInfo: {
|
|
|
236
238
|
}, {
|
|
237
239
|
readonly when: "template";
|
|
238
240
|
readonly to: "headSlot";
|
|
239
|
-
readonly body: "\n{{#with $self as |$self|}}\n{{#if (helper_utils '||' (helper_utils '===' $self.attributes.template 'tab') (helper_utils '===' $self.attributes.template 'nav'))}}\n[[directives]]\n\":if\" = false\n{{else}}\n[[directives]]\n\":if\" = true\n{{/if}}\n\n{{#if (helper_utils '&&' (helper_utils '!==' $self.attributes.template 'tab') (helper_utils '!==' $self.attributes.template 'nav'))}}\n[[template]]\ncomponent = 'WdIcon'\n[template.attributes]\ntype = 'custom'\nsrc = 'https://imgcache.qq.com/qcloud/tcloud_dtc/static/static_source_business/43d3b2b7-445c-4858-8eb0-50ac5d5cc08e.svg'\n[[template]]\ncomponent = 'WdText'\n[template.attributes]\ntext = '菜单标题'\nlevel = 'title-6'\n[template.extra.commonStyle.margin]\nleft = '8px'\n{{/if}}\n\n{{/with}}\n";
|
|
241
|
+
readonly body: "\n{{#with $self as |$self|}}\n{{#if (helper_utils '||' (helper_utils '===' $self.attributes.template 'tab') (helper_utils '===' $self.attributes.template 'nav') (helper_utils '===' $self.attributes.template 'navTab'))}}\n[[directives]]\n\":if\" = false\n{{else}}\n[[directives]]\n\":if\" = true\n{{/if}}\n\n{{#if (helper_utils '&&' (helper_utils '!==' $self.attributes.template 'tab') (helper_utils '!==' $self.attributes.template 'nav') (helper_utils '!==' $self.attributes.template 'navTab'))}}\n[[template]]\ncomponent = 'WdIcon'\n[template.attributes]\ntype = 'custom'\nsrc = 'https://imgcache.qq.com/qcloud/tcloud_dtc/static/static_source_business/43d3b2b7-445c-4858-8eb0-50ac5d5cc08e.svg'\n[[template]]\ncomponent = 'WdText'\n[template.attributes]\ntext = '菜单标题'\nlevel = 'title-6'\n[template.extra.commonStyle.margin]\nleft = '8px'\n{{/if}}\n\n{{/with}}\n";
|
|
240
242
|
}, {
|
|
241
243
|
readonly when: "template";
|
|
242
244
|
readonly to: "headRightSlot";
|
|
@@ -258,7 +260,7 @@ declare const config: {
|
|
|
258
260
|
headRightSlot: import("@sinclair/typebox").TUnsafe<import("react").ReactNode>;
|
|
259
261
|
contentSlot: import("@sinclair/typebox").TUnsafe<import("react").ReactNode>;
|
|
260
262
|
footerSlot: import("@sinclair/typebox").TUnsafe<import("react").ReactNode>;
|
|
261
|
-
template: import("@sinclair/typebox").TUnsafe<"nav" | "tab" | "vertical" | "horizontal" | "plant">;
|
|
263
|
+
template: import("@sinclair/typebox").TUnsafe<"nav" | "tab" | "vertical" | "horizontal" | "plant" | "navTab">;
|
|
262
264
|
menu: import("@sinclair/typebox").TObject<{
|
|
263
265
|
isMultiTerminal: import("@sinclair/typebox").TBoolean;
|
|
264
266
|
menuData: import("@sinclair/typebox").TArray<import("@sinclair/typebox").TRecursive<import("@sinclair/typebox").TObject<{
|
|
@@ -292,8 +294,9 @@ declare const config: {
|
|
|
292
294
|
subPackageName: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
|
|
293
295
|
}>>>;
|
|
294
296
|
}>;
|
|
295
|
-
type: import("@sinclair/typebox").TUnsafe<"nav" | "tab" | "vertical" | "horizontal" | "plant">;
|
|
297
|
+
type: import("@sinclair/typebox").TUnsafe<"nav" | "tab" | "vertical" | "horizontal" | "plant" | "navTab">;
|
|
296
298
|
defaultOpened: import("@sinclair/typebox").TBoolean;
|
|
299
|
+
outerClickClosable: import("@sinclair/typebox").TBoolean;
|
|
297
300
|
}>;
|
|
298
301
|
readonly properties: import("@sinclair/typebox").TObject<{}>;
|
|
299
302
|
readonly classes: readonly [{
|
|
@@ -424,7 +427,7 @@ declare const config: {
|
|
|
424
427
|
}, {
|
|
425
428
|
readonly when: "$attached";
|
|
426
429
|
readonly to: "headSlot";
|
|
427
|
-
readonly body: "\n{{#with $self as |$self|}}\n{{#if (helper_utils '||' (helper_utils '===' $self.attributes.template 'tab') (helper_utils '===' $self.attributes.template 'nav'))}}\n[[directives]]\n\":if\" = false\n{{else}}\n[[directives]]\n\":if\" = true\n{{/if}}\n\n{{#if (helper_utils '&&' (helper_utils '!==' $self.attributes.template 'tab') (helper_utils '!==' $self.attributes.template 'nav'))}}\n[[template]]\ncomponent = 'WdIcon'\n[template.attributes]\ntype = 'custom'\nsrc = 'https://imgcache.qq.com/qcloud/tcloud_dtc/static/static_source_business/43d3b2b7-445c-4858-8eb0-50ac5d5cc08e.svg'\n[[template]]\ncomponent = 'WdText'\n[template.attributes]\ntext = '菜单标题'\nlevel = 'title-6'\n[template.extra.commonStyle.margin]\nleft = '8px'\n{{/if}}\n\n{{/with}}\n";
|
|
430
|
+
readonly body: "\n{{#with $self as |$self|}}\n{{#if (helper_utils '||' (helper_utils '===' $self.attributes.template 'tab') (helper_utils '===' $self.attributes.template 'nav') (helper_utils '===' $self.attributes.template 'navTab'))}}\n[[directives]]\n\":if\" = false\n{{else}}\n[[directives]]\n\":if\" = true\n{{/if}}\n\n{{#if (helper_utils '&&' (helper_utils '!==' $self.attributes.template 'tab') (helper_utils '!==' $self.attributes.template 'nav') (helper_utils '!==' $self.attributes.template 'navTab'))}}\n[[template]]\ncomponent = 'WdIcon'\n[template.attributes]\ntype = 'custom'\nsrc = 'https://imgcache.qq.com/qcloud/tcloud_dtc/static/static_source_business/43d3b2b7-445c-4858-8eb0-50ac5d5cc08e.svg'\n[[template]]\ncomponent = 'WdText'\n[template.attributes]\ntext = '菜单标题'\nlevel = 'title-6'\n[template.extra.commonStyle.margin]\nleft = '8px'\n{{/if}}\n\n{{/with}}\n";
|
|
428
431
|
}, {
|
|
429
432
|
readonly when: "$attached";
|
|
430
433
|
readonly to: "headRightSlot";
|
|
@@ -444,7 +447,7 @@ declare const config: {
|
|
|
444
447
|
}, {
|
|
445
448
|
readonly when: "template";
|
|
446
449
|
readonly to: "headSlot";
|
|
447
|
-
readonly body: "\n{{#with $self as |$self|}}\n{{#if (helper_utils '||' (helper_utils '===' $self.attributes.template 'tab') (helper_utils '===' $self.attributes.template 'nav'))}}\n[[directives]]\n\":if\" = false\n{{else}}\n[[directives]]\n\":if\" = true\n{{/if}}\n\n{{#if (helper_utils '&&' (helper_utils '!==' $self.attributes.template 'tab') (helper_utils '!==' $self.attributes.template 'nav'))}}\n[[template]]\ncomponent = 'WdIcon'\n[template.attributes]\ntype = 'custom'\nsrc = 'https://imgcache.qq.com/qcloud/tcloud_dtc/static/static_source_business/43d3b2b7-445c-4858-8eb0-50ac5d5cc08e.svg'\n[[template]]\ncomponent = 'WdText'\n[template.attributes]\ntext = '菜单标题'\nlevel = 'title-6'\n[template.extra.commonStyle.margin]\nleft = '8px'\n{{/if}}\n\n{{/with}}\n";
|
|
450
|
+
readonly body: "\n{{#with $self as |$self|}}\n{{#if (helper_utils '||' (helper_utils '===' $self.attributes.template 'tab') (helper_utils '===' $self.attributes.template 'nav') (helper_utils '===' $self.attributes.template 'navTab'))}}\n[[directives]]\n\":if\" = false\n{{else}}\n[[directives]]\n\":if\" = true\n{{/if}}\n\n{{#if (helper_utils '&&' (helper_utils '!==' $self.attributes.template 'tab') (helper_utils '!==' $self.attributes.template 'nav') (helper_utils '!==' $self.attributes.template 'navTab'))}}\n[[template]]\ncomponent = 'WdIcon'\n[template.attributes]\ntype = 'custom'\nsrc = 'https://imgcache.qq.com/qcloud/tcloud_dtc/static/static_source_business/43d3b2b7-445c-4858-8eb0-50ac5d5cc08e.svg'\n[[template]]\ncomponent = 'WdText'\n[template.attributes]\ntext = '菜单标题'\nlevel = 'title-6'\n[template.extra.commonStyle.margin]\nleft = '8px'\n{{/if}}\n\n{{/with}}\n";
|
|
448
451
|
}, {
|
|
449
452
|
readonly when: "template";
|
|
450
453
|
readonly to: "headRightSlot";
|
|
@@ -22,12 +22,16 @@ const TYPE = Tuple([
|
|
|
22
22
|
label: '顶部导航栏',
|
|
23
23
|
value: 'nav',
|
|
24
24
|
},
|
|
25
|
+
{
|
|
26
|
+
label: '工字导航',
|
|
27
|
+
value: 'navTab',
|
|
28
|
+
},
|
|
25
29
|
]);
|
|
26
30
|
const TYPE_LINKS = [
|
|
27
31
|
{
|
|
28
32
|
type: 'value:visible',
|
|
29
33
|
target: '*(menu,defaultOpened)',
|
|
30
|
-
condition: "{{$self.value!=='tab' && $self.value!=='nav'}}",
|
|
34
|
+
condition: "{{$self.value!=='tab' && $self.value!=='nav' && $self.value!=='navTab'}}",
|
|
31
35
|
},
|
|
32
36
|
{
|
|
33
37
|
type: 'value:state',
|
|
@@ -128,6 +132,13 @@ const data = Type.Object({
|
|
|
128
132
|
'x-index': 80,
|
|
129
133
|
'x-category': '基础属性',
|
|
130
134
|
}),
|
|
135
|
+
outerClickClosable: Type.Boolean({
|
|
136
|
+
title: '点击外部收起菜单',
|
|
137
|
+
description: '移动端点击侧边栏菜单外部是否收起菜单',
|
|
138
|
+
default: true,
|
|
139
|
+
'x-index': 90,
|
|
140
|
+
'x-category': '基础属性',
|
|
141
|
+
}),
|
|
131
142
|
});
|
|
132
143
|
// 组件对外暴露的只读属性
|
|
133
144
|
// 未来可通过 widget API 开放,应用可以获取到组件的实例属性
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
declare const config: {
|
|
2
|
+
readonly $schema: "https://comp-public-1303824488.cos.ap-shanghai.myqcloud.com/schema/lcds_component.json";
|
|
3
|
+
readonly data: import("@sinclair/typebox").TObject<{}>;
|
|
4
|
+
readonly events: readonly [];
|
|
5
|
+
readonly isContainer: true;
|
|
6
|
+
readonly meta: {
|
|
7
|
+
readonly name: "WdMenuNavTabLayout";
|
|
8
|
+
readonly componentName: "MenuNavTabLayout";
|
|
9
|
+
readonly title: "工字导航布局";
|
|
10
|
+
readonly category: "布局";
|
|
11
|
+
readonly description: "工字导航布局适用于H5/小程序包含顶部导航与底部Tab切换不同页面或功能模块的场景";
|
|
12
|
+
readonly previewImageUrl: "https://qcloudimg.tencent-cloud.cn/raw/2cf29361b2dc0245518601d0f3443124.png";
|
|
13
|
+
readonly categoryOrder: 200;
|
|
14
|
+
readonly componentOrder: 70;
|
|
15
|
+
readonly figureIcon: "../figureIcons/WdMenuNavTabLayout.svg";
|
|
16
|
+
readonly icon: "../icons/WdMenuNavTabLayout.svg";
|
|
17
|
+
readonly componentType: "layout";
|
|
18
|
+
readonly templates: readonly [{
|
|
19
|
+
readonly when: "$attached";
|
|
20
|
+
readonly to: "$children";
|
|
21
|
+
readonly body: string;
|
|
22
|
+
}];
|
|
23
|
+
};
|
|
24
|
+
readonly configMeta: {};
|
|
25
|
+
readonly items: any;
|
|
26
|
+
};
|
|
27
|
+
export default config;
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
import { defineConfig, Type } from '../type-utils';
|
|
2
|
+
import { getChildrenTemplate, getItems } from '../utils/layout';
|
|
3
|
+
const config = defineConfig({
|
|
4
|
+
$schema: 'https://comp-public-1303824488.cos.ap-shanghai.myqcloud.com/schema/lcds_component.json',
|
|
5
|
+
data: Type.Object({}),
|
|
6
|
+
events: [],
|
|
7
|
+
isContainer: true,
|
|
8
|
+
meta: {
|
|
9
|
+
name: 'WdMenuNavTabLayout',
|
|
10
|
+
componentName: 'MenuNavTabLayout',
|
|
11
|
+
title: '工字导航布局',
|
|
12
|
+
category: '布局',
|
|
13
|
+
description: '工字导航布局适用于H5/小程序包含顶部导航与底部Tab切换不同页面或功能模块的场景',
|
|
14
|
+
previewImageUrl: 'https://qcloudimg.tencent-cloud.cn/raw/2cf29361b2dc0245518601d0f3443124.png',
|
|
15
|
+
categoryOrder: 200,
|
|
16
|
+
componentOrder: 70,
|
|
17
|
+
figureIcon: '../figureIcons/WdMenuNavTabLayout.svg',
|
|
18
|
+
icon: '../icons/WdMenuNavTabLayout.svg',
|
|
19
|
+
componentType: 'layout',
|
|
20
|
+
templates: [
|
|
21
|
+
{
|
|
22
|
+
when: '$attached',
|
|
23
|
+
to: '$children',
|
|
24
|
+
body: getChildrenTemplate('navTab'),
|
|
25
|
+
},
|
|
26
|
+
],
|
|
27
|
+
},
|
|
28
|
+
configMeta: {},
|
|
29
|
+
items: getItems('navTab'),
|
|
30
|
+
});
|
|
31
|
+
export default config;
|
|
@@ -205,6 +205,7 @@ declare const config: {
|
|
|
205
205
|
dataSourceData: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TArray<import("@sinclair/typebox").TObject<{}>>>;
|
|
206
206
|
total: import("@sinclair/typebox").TNumber;
|
|
207
207
|
records: import("@sinclair/typebox").TArray<import("@sinclair/typebox").TObject<{}>>;
|
|
208
|
+
dataSourceVersion: import("@sinclair/typebox").TString;
|
|
208
209
|
columnSets: import("@sinclair/typebox").TArray<import("@sinclair/typebox").TObject<{
|
|
209
210
|
key: import("@sinclair/typebox").TUnsafe<string>;
|
|
210
211
|
header: import("@sinclair/typebox").TString;
|
|
@@ -245,7 +246,6 @@ declare const config: {
|
|
|
245
246
|
filterTypeOption: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TArray<import("@sinclair/typebox").TString>>;
|
|
246
247
|
}>>;
|
|
247
248
|
selectedRecords: import("@sinclair/typebox").TArray<import("@sinclair/typebox").TObject<{}>>;
|
|
248
|
-
dataSourceVersion: import("@sinclair/typebox").TString;
|
|
249
249
|
}>;
|
|
250
250
|
readonly classes: readonly [{
|
|
251
251
|
readonly name: "根元素";
|