@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.
Files changed (50) hide show
  1. package/dist/configs/components/dataView.d.ts +14 -0
  2. package/dist/configs/components/dataView.js +104 -6
  3. package/dist/configs/components/listView.d.ts +29 -0
  4. package/dist/configs/components/listView.js +145 -24
  5. package/dist/configs/components/wd-input-number.d.ts +8 -0
  6. package/dist/configs/components/wd-input-number.js +9 -0
  7. package/dist/configs/components/wd-markdown.d.ts +95 -0
  8. package/dist/configs/components/wd-markdown.js +142 -0
  9. package/dist/configs/components/wd-menu-layout.d.ts +13 -10
  10. package/dist/configs/components/wd-menu-layout.js +12 -1
  11. package/dist/configs/components/wd-menu-nav-tab-layou.d.ts +27 -0
  12. package/dist/configs/components/wd-menu-nav-tab-layou.js +31 -0
  13. package/dist/configs/components/wd-table.d.ts +1 -1
  14. package/dist/configs/components/wd-table.js +1 -0
  15. package/dist/configs/index.d.ts +340 -10
  16. package/dist/configs/index.js +4 -0
  17. package/dist/configs/type-utils/type-form.js +1 -1
  18. package/dist/configs/utils/layout.d.ts +1 -1
  19. package/dist/configs/utils/layout.js +215 -6
  20. package/dist/style/index.scss +1 -1
  21. package/dist/web/components/dataView/index.js +5 -3
  22. package/dist/web/components/index.d.ts +2 -0
  23. package/dist/web/components/index.js +4 -0
  24. package/dist/web/components/listView/index.js +48 -13
  25. package/dist/web/components/listView/interface.d.ts +4 -0
  26. package/dist/web/components/listView/useQueryParams.d.ts +11 -0
  27. package/dist/web/components/listView/useQueryParams.js +23 -0
  28. package/dist/web/components/richTextView/index.js +4 -38
  29. package/dist/web/components/richTextView/useImgTransform.d.ts +1 -0
  30. package/dist/web/components/richTextView/useImgTransform.js +47 -0
  31. package/dist/web/components/wd-input-number/wd-input-number.js +16 -9
  32. package/dist/web/components/wd-markdown/github-markdown-light.css +1139 -0
  33. package/dist/web/components/wd-markdown/index.d.ts +4 -0
  34. package/dist/web/components/wd-markdown/index.js +3 -0
  35. package/dist/web/components/wd-markdown/style.d.ts +3 -0
  36. package/dist/web/components/wd-markdown/style.js +3 -0
  37. package/dist/web/components/wd-markdown/wd-markdown.d.ts +7 -0
  38. package/dist/web/components/wd-markdown/wd-markdown.js +88 -0
  39. package/dist/web/components/wd-menu-layout/components/H5Menu.js +3 -1
  40. package/dist/web/components/wd-menu-layout/components/NavTabMenu.d.ts +3 -0
  41. package/dist/web/components/wd-menu-layout/components/NavTabMenu.js +7 -0
  42. package/dist/web/components/wd-menu-layout/style.d.ts +1 -0
  43. package/dist/web/components/wd-menu-layout/style.js +1 -0
  44. package/dist/web/components/wd-menu-layout/wd-menu-layout.js +5 -2
  45. package/dist/web/components/wd-menu-nav-tab-layout/index.d.ts +6 -0
  46. package/dist/web/components/wd-menu-nav-tab-layout/index.js +5 -0
  47. package/dist/web/components/wd-table/components/FieldRender/index.js +5 -2
  48. package/dist/web/utils/getModelParams.d.ts +2 -0
  49. package/dist/web/utils/getModelParams.js +73 -4
  50. 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![image](https://octodex.github.com/images/minion.png)\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: "根元素";
@@ -756,6 +756,7 @@ const data = Type.Object({
756
756
  {
757
757
  type: 'value:schema',
758
758
  schema: {
759
+ type: 'object',
759
760
  'x-component': 'datasource-condition-where-query-editor',
760
761
  'x-component-props': {
761
762
  propertyPath: 'queryCondition',