king-design-analyzer 2.2.0 → 2.2.1
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/components/actions.json +8 -0
- package/components/advancedset.json +1 -0
- package/components/affix.json +1 -0
- package/components/anchor.json +220 -0
- package/components/anchorlink.json +111 -0
- package/components/badge.json +1 -0
- package/components/breadcrumb.json +2 -1
- package/components/button.json +1 -0
- package/components/buttonlink.json +1 -0
- package/components/card.json +6 -3
- package/components/cardcontent.json +5 -0
- package/components/cascader.json +56 -0
- package/components/collapse.json +335 -348
- package/components/configprovider.json +96 -0
- package/components/copyrow.json +1 -0
- package/components/descriptions.json +10 -3
- package/components/diagram.json +295 -0
- package/components/dialog.json +4 -0
- package/components/divider.json +1 -0
- package/components/drawer.json +32 -0
- package/components/dropdown.json +4 -4
- package/components/flex.json +1 -0
- package/components/form.json +12 -3
- package/components/header.json +4 -0
- package/components/input.json +8 -4
- package/components/layoutcontent.json +9 -0
- package/components/layoutlistcontent.json +9 -0
- package/components/layoutpermissioncontent.json +1 -0
- package/components/layoutstandardlist.json +1 -0
- package/components/lazymount.json +1 -0
- package/components/lazyteleport.json +1 -0
- package/components/menu.json +4 -3
- package/components/notification.json +351 -0
- package/components/protable.json +2 -0
- package/components/rate.json +1 -0
- package/components/scrollselect.json +140 -0
- package/components/select.json +63 -0
- package/components/skeleton.json +1 -0
- package/components/slider.json +12 -2
- package/components/spin.json +2 -1
- package/components/spinner.json +419 -429
- package/components/split.json +3 -0
- package/components/switch.json +4 -2
- package/components/table.json +6 -1
- package/components/tabs.json +2 -2
- package/components/tag.json +8 -5
- package/components/timeline.json +3 -1
- package/components/tip.json +20 -0
- package/components/tooltip.json +8 -0
- package/components/transfer.json +52 -5
- package/components/tree.json +22 -1
- package/components/treeselect.json +56 -0
- package/components/vdialog.json +1 -0
- package/components/vdrawer.json +4 -0
- package/dist/ast/index.d.mts +30 -1
- package/dist/ast/index.d.ts +30 -1
- package/dist/ast/index.js +3 -3
- package/dist/ast/index.mjs +1 -1
- package/dist/{chunk-BI5TIQID.mjs → chunk-4OTQAQ6J.mjs} +13 -2
- package/dist/{chunk-CJGGFVQJ.js → chunk-4WXOYU2N.js} +31 -8
- package/dist/chunk-6HOIRUQB.mjs +409 -0
- package/dist/{chunk-CR3GC4H3.js → chunk-DHLWNT53.js} +13 -2
- package/dist/{chunk-KMIDURUR.mjs → chunk-IPJJMPOO.mjs} +113 -19
- package/dist/{chunk-TA3SV4SP.js → chunk-JJ6AB4ZH.js} +2 -2
- package/dist/{chunk-SZYVGYKK.js → chunk-JNRGUR3O.js} +113 -19
- package/dist/{chunk-XGPHQHLR.mjs → chunk-LRTDTFFQ.mjs} +27 -4
- package/dist/{chunk-3LYQ5XFM.mjs → chunk-NZL6T22V.mjs} +1 -1
- package/dist/chunk-V5N65MRP.js +411 -0
- package/dist/full/index.d.mts +2 -0
- package/dist/full/index.d.ts +2 -0
- package/dist/full/index.js +6 -6
- package/dist/full/index.mjs +4 -4
- package/dist/index.js +13 -13
- package/dist/index.mjs +5 -5
- package/dist/metadata/index.d.mts +17 -2
- package/dist/metadata/index.d.ts +17 -2
- package/dist/runtime/index.d.mts +2 -0
- package/dist/runtime/index.d.ts +2 -0
- package/dist/runtime/index.js +4 -4
- package/dist/runtime/index.mjs +2 -2
- package/dist/static/index.js +5 -5
- package/dist/static/index.mjs +2 -2
- package/docs_for_llm/actions.doc.md +11 -1
- package/docs_for_llm/advancedset.doc.md +10 -1
- package/docs_for_llm/affix.doc.md +5 -0
- package/docs_for_llm/anchor.doc.md +155 -0
- package/docs_for_llm/anchorlink.doc.md +75 -0
- package/docs_for_llm/badge.doc.md +5 -0
- package/docs_for_llm/breadcrumb.doc.md +74 -1
- package/docs_for_llm/button.doc.md +57 -0
- package/docs_for_llm/buttonlink.doc.md +10 -1
- package/docs_for_llm/card.doc.md +50 -3
- package/docs_for_llm/cardcontent.doc.md +21 -0
- package/docs_for_llm/carousel.doc.md +71 -0
- package/docs_for_llm/cascader.doc.md +62 -0
- package/docs_for_llm/collapse.doc.md +138 -8
- package/docs_for_llm/configprovider.doc.md +77 -0
- package/docs_for_llm/copyrow.doc.md +10 -1
- package/docs_for_llm/datepicker.doc.md +19 -0
- package/docs_for_llm/descriptions.doc.md +113 -4
- package/docs_for_llm/diagram.doc.md +343 -0
- package/docs_for_llm/dialog.doc.md +49 -0
- package/docs_for_llm/divider.doc.md +5 -0
- package/docs_for_llm/drawer.doc.md +86 -0
- package/docs_for_llm/dropdown.doc.md +240 -3
- package/docs_for_llm/flex.doc.md +10 -1
- package/docs_for_llm/form.doc.md +163 -4
- package/docs_for_llm/formitemspinner.doc.md +1 -1
- package/docs_for_llm/grid.doc.md +71 -0
- package/docs_for_llm/header.doc.md +33 -4
- package/docs_for_llm/input.doc.md +109 -2
- package/docs_for_llm/layoutcontent.doc.md +37 -0
- package/docs_for_llm/layoutlistcontent.doc.md +82 -9
- package/docs_for_llm/layoutpermissioncontent.doc.md +10 -1
- package/docs_for_llm/layoutstandardlist.doc.md +10 -1
- package/docs_for_llm/lazymount.doc.md +10 -1
- package/docs_for_llm/lazyteleport.doc.md +10 -1
- package/docs_for_llm/menu.doc.md +125 -3
- package/docs_for_llm/message.doc.md +45 -0
- package/docs_for_llm/notification.doc.md +214 -0
- package/docs_for_llm/protable.doc.md +9 -0
- package/docs_for_llm/rate.doc.md +5 -0
- package/docs_for_llm/scrollselect.doc.md +90 -0
- package/docs_for_llm/select.doc.md +174 -0
- package/docs_for_llm/skeleton.doc.md +35 -0
- package/docs_for_llm/slider.doc.md +11 -1
- package/docs_for_llm/spin.doc.md +10 -1
- package/docs_for_llm/spinner.doc.md +1 -1
- package/docs_for_llm/split.doc.md +13 -0
- package/docs_for_llm/steps.doc.md +71 -0
- package/docs_for_llm/switch.doc.md +15 -2
- package/docs_for_llm/table.doc.md +199 -4
- package/docs_for_llm/tabs.doc.md +98 -2
- package/docs_for_llm/tag.doc.md +148 -5
- package/docs_for_llm/timeline.doc.md +80 -2
- package/docs_for_llm/timepicker.doc.md +19 -0
- package/docs_for_llm/tip.doc.md +30 -0
- package/docs_for_llm/tooltip.doc.md +46 -0
- package/docs_for_llm/tour.doc.md +78 -0
- package/docs_for_llm/transfer.doc.md +59 -4
- package/docs_for_llm/tree.doc.md +64 -1
- package/docs_for_llm/treeselect.doc.md +68 -0
- package/docs_for_llm/upload.doc.md +7 -0
- package/docs_for_llm/vdialog.doc.md +26 -1
- package/docs_for_llm/vdrawer.doc.md +33 -4
- package/docs_for_llm/virtuallist.doc.md +151 -0
- package/package.json +3 -3
- package/dist/chunk-D2SXGGTX.mjs +0 -162
- package/dist/chunk-EYKZY2F3.js +0 -164
package/components/split.json
CHANGED
|
@@ -125,18 +125,21 @@
|
|
|
125
125
|
{
|
|
126
126
|
"name": "first",
|
|
127
127
|
"description": "第一个面板内容。",
|
|
128
|
+
"bindingType": "none",
|
|
128
129
|
"vueTemplate": "<template #first>...</template>",
|
|
129
130
|
"usageExample": "<Split><template #first>左侧内容</template><template #last>右侧内容</template></Split>"
|
|
130
131
|
},
|
|
131
132
|
{
|
|
132
133
|
"name": "last",
|
|
133
134
|
"description": "第二个面板内容。",
|
|
135
|
+
"bindingType": "none",
|
|
134
136
|
"vueTemplate": "<template #last>...</template>",
|
|
135
137
|
"usageExample": "<Split><template #first>左侧内容</template><template #last>右侧内容</template></Split>"
|
|
136
138
|
},
|
|
137
139
|
{
|
|
138
140
|
"name": "drag",
|
|
139
141
|
"description": "自定义拖拽分割条内容。",
|
|
142
|
+
"bindingType": "none",
|
|
140
143
|
"vueTemplate": "<template #drag>...</template>",
|
|
141
144
|
"usageExample": "<Split><template #drag><div class=\"custom-handle\" /></template></Split>"
|
|
142
145
|
}
|
package/components/switch.json
CHANGED
|
@@ -168,11 +168,13 @@
|
|
|
168
168
|
"slots": [
|
|
169
169
|
{
|
|
170
170
|
"name": "on",
|
|
171
|
-
"description": "扩展开启时的文案"
|
|
171
|
+
"description": "扩展开启时的文案",
|
|
172
|
+
"bindingType": "none"
|
|
172
173
|
},
|
|
173
174
|
{
|
|
174
175
|
"name": "off",
|
|
175
|
-
"description": "扩展关闭时的文案"
|
|
176
|
+
"description": "扩展关闭时的文案",
|
|
177
|
+
"bindingType": "none"
|
|
176
178
|
}
|
|
177
179
|
],
|
|
178
180
|
"events": [],
|
package/components/table.json
CHANGED
|
@@ -553,6 +553,7 @@
|
|
|
553
553
|
{
|
|
554
554
|
"name": "empty",
|
|
555
555
|
"description": "自定义无数据展示模板",
|
|
556
|
+
"bindingType": "none",
|
|
556
557
|
"vueTemplate": "#empty",
|
|
557
558
|
"usageExample": "<Table :data=\"[]\">\n <template #empty>\n <div>暂无数据</div>\n </template>\n</Table>"
|
|
558
559
|
},
|
|
@@ -578,6 +579,7 @@
|
|
|
578
579
|
{
|
|
579
580
|
"name": "footer",
|
|
580
581
|
"description": "自定义表格底部",
|
|
582
|
+
"bindingType": "none",
|
|
581
583
|
"vueTemplate": "#footer",
|
|
582
584
|
"usageExample": "<Table :data=\"data\">\n <template #footer>\n <div>总计: {{ total }}</div>\n </template>\n</Table>"
|
|
583
585
|
},
|
|
@@ -862,11 +864,13 @@
|
|
|
862
864
|
"name": "title",
|
|
863
865
|
"description": "自定义复杂表头内容",
|
|
864
866
|
"vueTemplate": "#title",
|
|
865
|
-
"usageExample": "<TableColumn key=\"custom\">\n <template #title>自定义表头</template>\n</TableColumn>"
|
|
867
|
+
"usageExample": "<TableColumn key=\"custom\">\n <template #title>自定义表头</template>\n</TableColumn>",
|
|
868
|
+
"bindingType": "none"
|
|
866
869
|
},
|
|
867
870
|
{
|
|
868
871
|
"name": "template",
|
|
869
872
|
"description": "自定义单元格内容",
|
|
873
|
+
"bindingType": "array",
|
|
870
874
|
"slotProps": [
|
|
871
875
|
{
|
|
872
876
|
"name": "data",
|
|
@@ -886,6 +890,7 @@
|
|
|
886
890
|
{
|
|
887
891
|
"name": "default",
|
|
888
892
|
"description": "与template扩展点等价,为了方便vue中使用的别名",
|
|
893
|
+
"bindingType": "array",
|
|
889
894
|
"slotProps": [
|
|
890
895
|
{
|
|
891
896
|
"name": "data",
|
package/components/tabs.json
CHANGED
|
@@ -197,8 +197,8 @@
|
|
|
197
197
|
"description": "原生鼠标事件"
|
|
198
198
|
}
|
|
199
199
|
],
|
|
200
|
-
"usageExample": "<Tab @click=\"
|
|
201
|
-
"handlerExample": "const
|
|
200
|
+
"usageExample": "<Tab @click=\"handleTabClick\"></Tab>",
|
|
201
|
+
"handlerExample": "const openInNewWindow = ref(false);\n\nconst handleTabClick = (e: MouseEvent) => {\n openInNewWindow.value = e.metaKey || e.ctrlKey;\n};"
|
|
202
202
|
}
|
|
203
203
|
]
|
|
204
204
|
}
|
package/components/tag.json
CHANGED
|
@@ -243,8 +243,8 @@
|
|
|
243
243
|
"description": "起始位置索引"
|
|
244
244
|
}
|
|
245
245
|
],
|
|
246
|
-
"usageExample": "<Tags draggable @dragstart=\"
|
|
247
|
-
"handlerExample": "const
|
|
246
|
+
"usageExample": "<Tags draggable @dragstart=\"handleTagDragStart\"></Tags>",
|
|
247
|
+
"handlerExample": "const draggingTagKey = ref<string | number | null>(null);\n\nconst handleTagDragStart = ({ key }) => {\n draggingTagKey.value = key;\n};"
|
|
248
248
|
},
|
|
249
249
|
{
|
|
250
250
|
"name": "dragend",
|
|
@@ -267,14 +267,17 @@
|
|
|
267
267
|
"description": "目标位置索引"
|
|
268
268
|
}
|
|
269
269
|
],
|
|
270
|
-
"usageExample": "<Tags draggable @dragend=\"
|
|
271
|
-
"handlerExample": "const
|
|
270
|
+
"usageExample": "<Tags draggable @dragend=\"handleTagDragEnd\"></Tags>",
|
|
271
|
+
"handlerExample": "const tags = ref(['稳定版', '灰度中', '待发布']);\nconst draggingTagKey = ref<string | number | null>(null);\n\nconst handleTagDragEnd = ({ from, to }) => {\n const moved = tags.value.splice(from, 1)[0];\n tags.value.splice(to, 0, moved);\n draggingTagKey.value = null;\n};"
|
|
272
272
|
}
|
|
273
273
|
],
|
|
274
274
|
"slots": [
|
|
275
275
|
{
|
|
276
276
|
"name": "append",
|
|
277
|
-
"description": "追加到后面的元素,不参与到Tags对Tag的管理中"
|
|
277
|
+
"description": "追加到后面的元素,不参与到Tags对Tag的管理中",
|
|
278
|
+
"bindingType": "none",
|
|
279
|
+
"vueTemplate": "#append",
|
|
280
|
+
"usageExample": "<Tags>\n <Tag closable>标签一</Tag>\n <template #append>\n <Button type=\"link\">新增标签</Button>\n </template>\n</Tags>"
|
|
278
281
|
}
|
|
279
282
|
]
|
|
280
283
|
}
|
package/components/timeline.json
CHANGED
|
@@ -11,6 +11,7 @@
|
|
|
11
11
|
{
|
|
12
12
|
"name": "default",
|
|
13
13
|
"description": "时间轴内容,通常由多个 TimelineItem 组成。",
|
|
14
|
+
"bindingType": "none",
|
|
14
15
|
"vueTemplate": "<Timeline>...</Timeline>",
|
|
15
16
|
"usageExample": "<Timeline><TimelineItem>创建完成</TimelineItem><TimelineItem>审核通过</TimelineItem></Timeline>"
|
|
16
17
|
}
|
|
@@ -99,7 +100,8 @@
|
|
|
99
100
|
"name": "dot",
|
|
100
101
|
"description": "自定义时间轴节点圆点。",
|
|
101
102
|
"vueTemplate": "<template #dot>...</template>",
|
|
102
|
-
"usageExample": "<TimelineItem><template #dot><Icon class=\"k-icon-check\" /></template>发布完成</TimelineItem>"
|
|
103
|
+
"usageExample": "<TimelineItem><template #dot><Icon class=\"k-icon-check\" /></template>发布完成</TimelineItem>",
|
|
104
|
+
"bindingType": "none"
|
|
103
105
|
}
|
|
104
106
|
]
|
|
105
107
|
}
|
package/components/tip.json
CHANGED
|
@@ -175,6 +175,26 @@
|
|
|
175
175
|
"handlerExample": "const handleClose = (e: MouseEvent) => {\n console.log('提示已关闭');\n};"
|
|
176
176
|
}
|
|
177
177
|
],
|
|
178
|
+
"slots": [
|
|
179
|
+
{
|
|
180
|
+
"name": "title",
|
|
181
|
+
"description": "自定义标题内容",
|
|
182
|
+
"bindingType": "none",
|
|
183
|
+
"vueTemplate": "<template #title>...</template>"
|
|
184
|
+
},
|
|
185
|
+
{
|
|
186
|
+
"name": "close",
|
|
187
|
+
"description": "自定义关闭按钮内容",
|
|
188
|
+
"bindingType": "none",
|
|
189
|
+
"vueTemplate": "<template #close>...</template>"
|
|
190
|
+
},
|
|
191
|
+
{
|
|
192
|
+
"name": "icon",
|
|
193
|
+
"description": "自定义Icon内容",
|
|
194
|
+
"bindingType": "none",
|
|
195
|
+
"vueTemplate": "<template #icon>...</template>"
|
|
196
|
+
}
|
|
197
|
+
],
|
|
178
198
|
"methods": [],
|
|
179
199
|
"examples": [
|
|
180
200
|
{
|
package/components/tooltip.json
CHANGED
|
@@ -272,6 +272,14 @@
|
|
|
272
272
|
"handlerExample": "const handlePositioned = (feedback: Feedback) => {\n console.log('Tooltip 最终位置', feedback.placement);\n};"
|
|
273
273
|
}
|
|
274
274
|
],
|
|
275
|
+
"slots": [
|
|
276
|
+
{
|
|
277
|
+
"name": "content",
|
|
278
|
+
"description": "自定义提示内容",
|
|
279
|
+
"bindingType": "none",
|
|
280
|
+
"vueTemplate": "<template #content>...</template>"
|
|
281
|
+
}
|
|
282
|
+
],
|
|
275
283
|
"methods": [
|
|
276
284
|
{
|
|
277
285
|
"name": "show",
|
package/components/transfer.json
CHANGED
|
@@ -236,22 +236,69 @@
|
|
|
236
236
|
{
|
|
237
237
|
"name": "header",
|
|
238
238
|
"description": "自定义整个头部内容",
|
|
239
|
-
"
|
|
239
|
+
"bindingType": "single",
|
|
240
|
+
"slotProps": [
|
|
241
|
+
{
|
|
242
|
+
"name": "type",
|
|
243
|
+
"type": "'left' | 'right'",
|
|
244
|
+
"description": "当前面板标识,`left` 表示候选列表,`right` 表示已选列表。"
|
|
245
|
+
}
|
|
246
|
+
],
|
|
247
|
+
"vueTemplate": "#header=\"type\"",
|
|
248
|
+
"usageExample": "<Transfer :data=\"data\">\n <template #header=\"type\">\n <span>{{ type === 'left' ? '待选列表' : '已选列表' }}</span>\n </template>\n</Transfer>"
|
|
240
249
|
},
|
|
241
250
|
{
|
|
242
251
|
"name": "filter",
|
|
243
252
|
"description": "自定义检索内容",
|
|
244
|
-
"
|
|
253
|
+
"bindingType": "single",
|
|
254
|
+
"slotProps": [
|
|
255
|
+
{
|
|
256
|
+
"name": "type",
|
|
257
|
+
"type": "'left' | 'right'",
|
|
258
|
+
"description": "当前面板标识,`left` 表示候选列表,`right` 表示已选列表。"
|
|
259
|
+
}
|
|
260
|
+
],
|
|
261
|
+
"vueTemplate": "#filter=\"type\"",
|
|
262
|
+
"usageExample": "<Transfer :data=\"data\">\n <template #filter=\"type\">\n <span>{{ type === 'left' ? '搜索左侧' : '搜索右侧' }}</span>\n </template>\n</Transfer>"
|
|
245
263
|
},
|
|
246
264
|
{
|
|
247
265
|
"name": "list",
|
|
248
266
|
"description": "自定义整个列表内容",
|
|
249
|
-
"
|
|
267
|
+
"bindingType": "single",
|
|
268
|
+
"slotProps": [
|
|
269
|
+
{
|
|
270
|
+
"name": "type",
|
|
271
|
+
"type": "'left' | 'right'",
|
|
272
|
+
"description": "当前面板标识,`left` 表示候选列表,`right` 表示已选列表。"
|
|
273
|
+
}
|
|
274
|
+
],
|
|
275
|
+
"vueTemplate": "#list=\"type\"",
|
|
276
|
+
"usageExample": "<Transfer :data=\"data\">\n <template #list=\"type\">\n <div>当前面板: {{ type }}</div>\n </template>\n</Transfer>"
|
|
250
277
|
},
|
|
251
278
|
{
|
|
252
279
|
"name": "label",
|
|
253
|
-
"description": "自定义每一项的渲染函数,类似于label属性",
|
|
254
|
-
"
|
|
280
|
+
"description": "自定义每一项的渲染函数,类似于 label 属性",
|
|
281
|
+
"bindingType": "array",
|
|
282
|
+
"slotProps": [
|
|
283
|
+
{
|
|
284
|
+
"name": "data",
|
|
285
|
+
"type": "TransferDataItem",
|
|
286
|
+
"description": "当前列表项数据",
|
|
287
|
+
"destructuringExample": "[data]"
|
|
288
|
+
},
|
|
289
|
+
{
|
|
290
|
+
"name": "key",
|
|
291
|
+
"type": "string | number",
|
|
292
|
+
"description": "当前列表项在当前面板中的索引或标识"
|
|
293
|
+
},
|
|
294
|
+
{
|
|
295
|
+
"name": "type",
|
|
296
|
+
"type": "'left' | 'right'",
|
|
297
|
+
"description": "当前面板标识,`left` 表示候选列表,`right` 表示已选列表。"
|
|
298
|
+
}
|
|
299
|
+
],
|
|
300
|
+
"vueTemplate": "#label=\"[data, key, type]\"",
|
|
301
|
+
"usageExample": "<Transfer :data=\"data\">\n <template #label=\"[data, key, type]\">\n <span>{{ data.label }} - {{ type }} - {{ key }}</span>\n </template>\n</Transfer>"
|
|
255
302
|
}
|
|
256
303
|
],
|
|
257
304
|
"typeDefinitions": [
|
package/components/tree.json
CHANGED
|
@@ -291,7 +291,28 @@
|
|
|
291
291
|
"slots": [
|
|
292
292
|
{
|
|
293
293
|
"name": "label",
|
|
294
|
-
"description": "自定义节点渲染内容"
|
|
294
|
+
"description": "自定义节点渲染内容",
|
|
295
|
+
"bindingType": "array",
|
|
296
|
+
"slotProps": [
|
|
297
|
+
{
|
|
298
|
+
"name": "data",
|
|
299
|
+
"type": "TreeDataItem",
|
|
300
|
+
"description": "当前节点对应的数据项",
|
|
301
|
+
"destructuringExample": "[data]"
|
|
302
|
+
},
|
|
303
|
+
{
|
|
304
|
+
"name": "node",
|
|
305
|
+
"type": "TreeNode",
|
|
306
|
+
"description": "当前树节点实例"
|
|
307
|
+
},
|
|
308
|
+
{
|
|
309
|
+
"name": "index",
|
|
310
|
+
"type": "number",
|
|
311
|
+
"description": "当前节点在同级中的索引"
|
|
312
|
+
}
|
|
313
|
+
],
|
|
314
|
+
"vueTemplate": "#label=\"[data, node, index]\"",
|
|
315
|
+
"usageExample": "<Tree :data=\"treeData\">\n <template #label=\"[data, node]\">\n <span>{{ data.label }}</span>\n <em v-if=\"node.isLeaf\">叶子</em>\n </template>\n</Tree>"
|
|
295
316
|
}
|
|
296
317
|
],
|
|
297
318
|
"typeDefinitions": [
|
|
@@ -354,6 +354,62 @@
|
|
|
354
354
|
"handlerExample": "const handleHide = () => {\n console.log('下拉菜单已关闭');\n};"
|
|
355
355
|
}
|
|
356
356
|
],
|
|
357
|
+
"slots": [
|
|
358
|
+
{
|
|
359
|
+
"name": "value",
|
|
360
|
+
"description": "自定义单选模式下的已选值展示内容",
|
|
361
|
+
"bindingType": "array",
|
|
362
|
+
"slotProps": [
|
|
363
|
+
{
|
|
364
|
+
"name": "value",
|
|
365
|
+
"type": "K",
|
|
366
|
+
"description": "当前选中的值",
|
|
367
|
+
"destructuringExample": "[value]"
|
|
368
|
+
},
|
|
369
|
+
{
|
|
370
|
+
"name": "label",
|
|
371
|
+
"type": "string",
|
|
372
|
+
"description": "当前选中值对应的展示文案"
|
|
373
|
+
}
|
|
374
|
+
],
|
|
375
|
+
"vueTemplate": "#value=\"[value, label]\"",
|
|
376
|
+
"usageExample": "<TreeSelect v-model=\"value\" :data=\"treeData\">\n <template #value=\"[value, label]\">\n <span>{{ label }} ({{ value }})</span>\n </template>\n</TreeSelect>"
|
|
377
|
+
},
|
|
378
|
+
{
|
|
379
|
+
"name": "values",
|
|
380
|
+
"description": "自定义多选模式下的已选值展示内容",
|
|
381
|
+
"bindingType": "array",
|
|
382
|
+
"slotProps": [
|
|
383
|
+
{
|
|
384
|
+
"name": "values",
|
|
385
|
+
"type": "K[]",
|
|
386
|
+
"description": "当前选中的值数组",
|
|
387
|
+
"destructuringExample": "[values]"
|
|
388
|
+
},
|
|
389
|
+
{
|
|
390
|
+
"name": "labels",
|
|
391
|
+
"type": "string[]",
|
|
392
|
+
"description": "当前选中值对应的展示文案数组"
|
|
393
|
+
}
|
|
394
|
+
],
|
|
395
|
+
"vueTemplate": "#values=\"[values, labels]\"",
|
|
396
|
+
"usageExample": "<TreeSelect v-model=\"values\" :data=\"treeData\" multiple>\n <template #values=\"[values, labels]\">\n <span>已选 {{ labels.length }} 项</span>\n </template>\n</TreeSelect>"
|
|
397
|
+
},
|
|
398
|
+
{
|
|
399
|
+
"name": "prefix",
|
|
400
|
+
"description": "扩展选择框前缀内容",
|
|
401
|
+
"bindingType": "none",
|
|
402
|
+
"vueTemplate": "#prefix",
|
|
403
|
+
"usageExample": "<TreeSelect :data=\"treeData\">\n <template #prefix>\n <span class=\"k-icon-search\"></span>\n </template>\n</TreeSelect>"
|
|
404
|
+
},
|
|
405
|
+
{
|
|
406
|
+
"name": "suffix",
|
|
407
|
+
"description": "扩展选择框后缀内容",
|
|
408
|
+
"bindingType": "none",
|
|
409
|
+
"vueTemplate": "#suffix",
|
|
410
|
+
"usageExample": "<TreeSelect :data=\"treeData\">\n <template #suffix>\n <span class=\"suffix-tip\">树</span>\n </template>\n</TreeSelect>"
|
|
411
|
+
}
|
|
412
|
+
],
|
|
357
413
|
"methods": [
|
|
358
414
|
{
|
|
359
415
|
"name": "show",
|
package/components/vdialog.json
CHANGED
package/components/vdrawer.json
CHANGED
|
@@ -244,21 +244,25 @@
|
|
|
244
244
|
{
|
|
245
245
|
"name": "default",
|
|
246
246
|
"description": "抽屉主体内容区域",
|
|
247
|
+
"bindingType": "none",
|
|
247
248
|
"vueTemplate": "<VDrawer>...</VDrawer>"
|
|
248
249
|
},
|
|
249
250
|
{
|
|
250
251
|
"name": "header",
|
|
251
252
|
"description": "自定义抽屉头部",
|
|
253
|
+
"bindingType": "none",
|
|
252
254
|
"vueTemplate": "<template #header>...</template>"
|
|
253
255
|
},
|
|
254
256
|
{
|
|
255
257
|
"name": "footer",
|
|
256
258
|
"description": "自定义抽屉底部操作区",
|
|
259
|
+
"bindingType": "none",
|
|
257
260
|
"vueTemplate": "<template #footer>...</template>"
|
|
258
261
|
},
|
|
259
262
|
{
|
|
260
263
|
"name": "trigger",
|
|
261
264
|
"description": "自定义触发按钮或触发区域",
|
|
265
|
+
"bindingType": "none",
|
|
262
266
|
"vueTemplate": "<template #trigger>...</template>"
|
|
263
267
|
}
|
|
264
268
|
],
|
package/dist/ast/index.d.mts
CHANGED
|
@@ -44,6 +44,16 @@ interface ComponentEvent {
|
|
|
44
44
|
}
|
|
45
45
|
interface ComponentSlot {
|
|
46
46
|
name: string;
|
|
47
|
+
description?: string;
|
|
48
|
+
vueTemplate?: string;
|
|
49
|
+
usageExample?: string;
|
|
50
|
+
bindingType?: 'array' | 'object' | 'single' | 'none';
|
|
51
|
+
slotProps?: {
|
|
52
|
+
name: string;
|
|
53
|
+
type?: string;
|
|
54
|
+
description?: string;
|
|
55
|
+
destructuringExample?: string;
|
|
56
|
+
}[];
|
|
47
57
|
}
|
|
48
58
|
interface MistakeEntry {
|
|
49
59
|
id: string;
|
|
@@ -52,6 +62,25 @@ interface MistakeEntry {
|
|
|
52
62
|
correctCode: string;
|
|
53
63
|
explanation: string;
|
|
54
64
|
}
|
|
65
|
+
interface ComponentSubComponent {
|
|
66
|
+
name: string;
|
|
67
|
+
description?: string;
|
|
68
|
+
props?: ComponentProp[];
|
|
69
|
+
events?: ComponentEvent[];
|
|
70
|
+
slots?: ComponentSlot[];
|
|
71
|
+
methods?: {
|
|
72
|
+
name: string;
|
|
73
|
+
description?: string;
|
|
74
|
+
params?: {
|
|
75
|
+
name: string;
|
|
76
|
+
type: string;
|
|
77
|
+
description?: string;
|
|
78
|
+
optional?: boolean;
|
|
79
|
+
default?: string;
|
|
80
|
+
}[];
|
|
81
|
+
returnType?: string;
|
|
82
|
+
}[];
|
|
83
|
+
}
|
|
55
84
|
interface ComponentMetadata {
|
|
56
85
|
id?: string;
|
|
57
86
|
name: string;
|
|
@@ -70,7 +99,7 @@ interface ComponentMetadata {
|
|
|
70
99
|
}[];
|
|
71
100
|
returnType?: string;
|
|
72
101
|
}[];
|
|
73
|
-
subComponents?:
|
|
102
|
+
subComponents?: ComponentSubComponent[];
|
|
74
103
|
commonMistakes?: MistakeEntry[];
|
|
75
104
|
importStatement?: string;
|
|
76
105
|
requiredParent?: string;
|
package/dist/ast/index.d.ts
CHANGED
|
@@ -44,6 +44,16 @@ interface ComponentEvent {
|
|
|
44
44
|
}
|
|
45
45
|
interface ComponentSlot {
|
|
46
46
|
name: string;
|
|
47
|
+
description?: string;
|
|
48
|
+
vueTemplate?: string;
|
|
49
|
+
usageExample?: string;
|
|
50
|
+
bindingType?: 'array' | 'object' | 'single' | 'none';
|
|
51
|
+
slotProps?: {
|
|
52
|
+
name: string;
|
|
53
|
+
type?: string;
|
|
54
|
+
description?: string;
|
|
55
|
+
destructuringExample?: string;
|
|
56
|
+
}[];
|
|
47
57
|
}
|
|
48
58
|
interface MistakeEntry {
|
|
49
59
|
id: string;
|
|
@@ -52,6 +62,25 @@ interface MistakeEntry {
|
|
|
52
62
|
correctCode: string;
|
|
53
63
|
explanation: string;
|
|
54
64
|
}
|
|
65
|
+
interface ComponentSubComponent {
|
|
66
|
+
name: string;
|
|
67
|
+
description?: string;
|
|
68
|
+
props?: ComponentProp[];
|
|
69
|
+
events?: ComponentEvent[];
|
|
70
|
+
slots?: ComponentSlot[];
|
|
71
|
+
methods?: {
|
|
72
|
+
name: string;
|
|
73
|
+
description?: string;
|
|
74
|
+
params?: {
|
|
75
|
+
name: string;
|
|
76
|
+
type: string;
|
|
77
|
+
description?: string;
|
|
78
|
+
optional?: boolean;
|
|
79
|
+
default?: string;
|
|
80
|
+
}[];
|
|
81
|
+
returnType?: string;
|
|
82
|
+
}[];
|
|
83
|
+
}
|
|
55
84
|
interface ComponentMetadata {
|
|
56
85
|
id?: string;
|
|
57
86
|
name: string;
|
|
@@ -70,7 +99,7 @@ interface ComponentMetadata {
|
|
|
70
99
|
}[];
|
|
71
100
|
returnType?: string;
|
|
72
101
|
}[];
|
|
73
|
-
subComponents?:
|
|
102
|
+
subComponents?: ComponentSubComponent[];
|
|
74
103
|
commonMistakes?: MistakeEntry[];
|
|
75
104
|
importStatement?: string;
|
|
76
105
|
requiredParent?: string;
|
package/dist/ast/index.js
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
'use strict';
|
|
2
2
|
|
|
3
3
|
require('../chunk-YTEYDSDW.js');
|
|
4
|
-
var
|
|
4
|
+
var chunkJNRGUR3O_js = require('../chunk-JNRGUR3O.js');
|
|
5
5
|
require('../chunk-KF5YBEM5.js');
|
|
6
6
|
require('../chunk-JSBRDJBE.js');
|
|
7
7
|
|
|
@@ -9,9 +9,9 @@ require('../chunk-JSBRDJBE.js');
|
|
|
9
9
|
|
|
10
10
|
Object.defineProperty(exports, "analyzeCodeWithAST", {
|
|
11
11
|
enumerable: true,
|
|
12
|
-
get: function () { return
|
|
12
|
+
get: function () { return chunkJNRGUR3O_js.analyzeCodeWithAST; }
|
|
13
13
|
});
|
|
14
14
|
Object.defineProperty(exports, "componentRegistry", {
|
|
15
15
|
enumerable: true,
|
|
16
|
-
get: function () { return
|
|
16
|
+
get: function () { return chunkJNRGUR3O_js.componentRegistry; }
|
|
17
17
|
});
|
package/dist/ast/index.mjs
CHANGED
|
@@ -6,6 +6,7 @@ import * as ts from 'typescript';
|
|
|
6
6
|
var ALLOWED_IMPORT_SOURCES = [
|
|
7
7
|
"vue",
|
|
8
8
|
"@vue/",
|
|
9
|
+
"vue-router",
|
|
9
10
|
"@king-design/vue",
|
|
10
11
|
"@ksyun-internal/versatile"
|
|
11
12
|
];
|
|
@@ -65,6 +66,16 @@ function getRuntimeInjectedBindingsForSource(source) {
|
|
|
65
66
|
if (source === "vue" || source.startsWith("@vue/")) {
|
|
66
67
|
return VUE_RUNTIME_INJECTED_BINDINGS;
|
|
67
68
|
}
|
|
69
|
+
if (source === "vue-router") {
|
|
70
|
+
return /* @__PURE__ */ new Set([
|
|
71
|
+
"useRouter",
|
|
72
|
+
"useRoute",
|
|
73
|
+
"onBeforeRouteLeave",
|
|
74
|
+
"onBeforeRouteUpdate",
|
|
75
|
+
"RouterLink",
|
|
76
|
+
"RouterView"
|
|
77
|
+
]);
|
|
78
|
+
}
|
|
68
79
|
if (source === "@ksyun-internal/versatile") {
|
|
69
80
|
return VERSATILE_RUNTIME_INJECTED_BINDINGS;
|
|
70
81
|
}
|
|
@@ -201,7 +212,7 @@ function transformValueImports(scriptContent, whitelist, strippedImports) {
|
|
|
201
212
|
if (reason === "relative") {
|
|
202
213
|
return transformImportToBinding(importClause, `__mockModule('${source}')`);
|
|
203
214
|
}
|
|
204
|
-
return
|
|
215
|
+
return transformImportToBinding(importClause, `__mockModule('${source}')`);
|
|
205
216
|
}
|
|
206
217
|
);
|
|
207
218
|
nextScript = nextScript.replace(
|
|
@@ -212,7 +223,7 @@ function transformValueImports(scriptContent, whitelist, strippedImports) {
|
|
|
212
223
|
if (reason === "relative") {
|
|
213
224
|
return `__mockModule('${source}');`;
|
|
214
225
|
}
|
|
215
|
-
return
|
|
226
|
+
return `__mockModule('${source}');`;
|
|
216
227
|
}
|
|
217
228
|
);
|
|
218
229
|
return nextScript;
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
'use strict';
|
|
2
2
|
|
|
3
|
-
var
|
|
4
|
-
var
|
|
5
|
-
var
|
|
3
|
+
var chunkJNRGUR3O_js = require('./chunk-JNRGUR3O.js');
|
|
4
|
+
var chunkV5N65MRP_js = require('./chunk-V5N65MRP.js');
|
|
5
|
+
var chunkDHLWNT53_js = require('./chunk-DHLWNT53.js');
|
|
6
6
|
|
|
7
7
|
// src/tools/unifiedValidator.ts
|
|
8
8
|
function validateCompilation(code) {
|
|
@@ -41,7 +41,7 @@ function validateCompilation(code) {
|
|
|
41
41
|
errors: ["SFC \u7ED3\u6784\u9519\u8BEF: \u7F3A\u5C11 <template> \u6216 <script> \u6807\u7B7E"]
|
|
42
42
|
};
|
|
43
43
|
}
|
|
44
|
-
const result =
|
|
44
|
+
const result = chunkDHLWNT53_js.compileSFC(code, scopeId);
|
|
45
45
|
if (result.error) {
|
|
46
46
|
return {
|
|
47
47
|
name: "\u7F16\u8BD1\u68C0\u67E5",
|
|
@@ -64,7 +64,7 @@ function validateCompilation(code) {
|
|
|
64
64
|
}
|
|
65
65
|
async function validateAST(code) {
|
|
66
66
|
try {
|
|
67
|
-
const violations = await
|
|
67
|
+
const violations = await chunkJNRGUR3O_js.analyzeCodeWithAST(code);
|
|
68
68
|
if (violations.length > 0) {
|
|
69
69
|
return {
|
|
70
70
|
name: "AST\u89C4\u5219\u68C0\u67E5",
|
|
@@ -110,7 +110,7 @@ async function validateCode(code) {
|
|
|
110
110
|
summary: `\u274C AST\u89C4\u5219\u8FDD\u89C4 (${astResult.errors.length}\u9879)`
|
|
111
111
|
};
|
|
112
112
|
}
|
|
113
|
-
const runtimeResult =
|
|
113
|
+
const runtimeResult = chunkV5N65MRP_js.validateRuntimePrecheck(code);
|
|
114
114
|
if (!runtimeResult.passed) {
|
|
115
115
|
return {
|
|
116
116
|
passed: false,
|
|
@@ -122,6 +122,28 @@ async function validateCode(code) {
|
|
|
122
122
|
summary: `\u274C \u8FD0\u884C\u65F6\u9519\u8BEF: ${runtimeResult.errors[0]}`
|
|
123
123
|
};
|
|
124
124
|
}
|
|
125
|
+
if (runtimeResult.status === "env_dependent") {
|
|
126
|
+
return {
|
|
127
|
+
passed: true,
|
|
128
|
+
layers: {
|
|
129
|
+
compilation: compilationResult,
|
|
130
|
+
ast: astResult,
|
|
131
|
+
runtime: runtimeResult
|
|
132
|
+
},
|
|
133
|
+
summary: "\u26A0\uFE0F \u8FD0\u884C\u65F6\u68C0\u67E5\u53D7\u73AF\u5883\u5F71\u54CD\uFF0C\u7ED3\u679C\u4F9D\u8D56 mock"
|
|
134
|
+
};
|
|
135
|
+
}
|
|
136
|
+
if (runtimeResult.status === "runtime_skipped") {
|
|
137
|
+
return {
|
|
138
|
+
passed: true,
|
|
139
|
+
layers: {
|
|
140
|
+
compilation: compilationResult,
|
|
141
|
+
ast: astResult,
|
|
142
|
+
runtime: runtimeResult
|
|
143
|
+
},
|
|
144
|
+
summary: "\u26A0\uFE0F \u8FD0\u884C\u65F6\u68C0\u67E5\u5DF2\u964D\u7EA7\u4E3A\u8DF3\u8FC7\u4E25\u683C\u5224\u5B9A"
|
|
145
|
+
};
|
|
146
|
+
}
|
|
125
147
|
return {
|
|
126
148
|
passed: true,
|
|
127
149
|
layers: {
|
|
@@ -144,14 +166,15 @@ function validateCodeSync(code) {
|
|
|
144
166
|
summary: `\u274C \u7F16\u8BD1\u5931\u8D25: ${compilationResult.errors[0]}`
|
|
145
167
|
};
|
|
146
168
|
}
|
|
147
|
-
const runtimeResult =
|
|
169
|
+
const runtimeResult = chunkV5N65MRP_js.validateRuntimePrecheck(code);
|
|
170
|
+
const summary = runtimeResult.passed ? runtimeResult.status === "env_dependent" ? "\u26A0\uFE0F \u8FD0\u884C\u65F6\u68C0\u67E5\u53D7\u73AF\u5883\u5F71\u54CD" : runtimeResult.status === "runtime_skipped" ? "\u26A0\uFE0F \u8FD0\u884C\u65F6\u68C0\u67E5\u5DF2\u964D\u7EA7" : "\u2705 \u68C0\u67E5\u901A\u8FC7" : `\u274C ${runtimeResult.errors[0]}`;
|
|
148
171
|
return {
|
|
149
172
|
passed: runtimeResult.passed,
|
|
150
173
|
layers: {
|
|
151
174
|
compilation: compilationResult,
|
|
152
175
|
runtime: runtimeResult
|
|
153
176
|
},
|
|
154
|
-
summary
|
|
177
|
+
summary
|
|
155
178
|
};
|
|
156
179
|
}
|
|
157
180
|
|