king-design-analyzer 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.
Files changed (92) hide show
  1. package/README.md +151 -0
  2. package/components/affix.json +178 -0
  3. package/components/az.json +86 -0
  4. package/components/badge.json +162 -0
  5. package/components/billtypes.json +90 -0
  6. package/components/breadcrumb.json +220 -0
  7. package/components/button.json +511 -0
  8. package/components/card.json +334 -0
  9. package/components/cardcontent.json +144 -0
  10. package/components/carousel.json +207 -0
  11. package/components/cascader.json +373 -0
  12. package/components/checkbox.json +298 -0
  13. package/components/code.json +318 -0
  14. package/components/collapse.json +358 -0
  15. package/components/copy.json +220 -0
  16. package/components/datepicker.json +529 -0
  17. package/components/descriptions.json +309 -0
  18. package/components/dialog.json +460 -0
  19. package/components/divider.json +287 -0
  20. package/components/drawer.json +563 -0
  21. package/components/dropdown.json +407 -0
  22. package/components/editable.json +331 -0
  23. package/components/ellipsis.json +218 -0
  24. package/components/form.json +638 -0
  25. package/components/grid.json +377 -0
  26. package/components/icon.json +442 -0
  27. package/components/input.json +821 -0
  28. package/components/layoutcontent.json +210 -0
  29. package/components/menu.json +482 -0
  30. package/components/message.json +345 -0
  31. package/components/pagination.json +444 -0
  32. package/components/paginationplus.json +74 -0
  33. package/components/popover.json +456 -0
  34. package/components/progress.json +354 -0
  35. package/components/protable.json +132 -0
  36. package/components/radio.json +246 -0
  37. package/components/region.json +115 -0
  38. package/components/select.json +676 -0
  39. package/components/slider.json +422 -0
  40. package/components/spin.json +232 -0
  41. package/components/spinner.json +441 -0
  42. package/components/status.json +75 -0
  43. package/components/steps.json +292 -0
  44. package/components/switch.json +357 -0
  45. package/components/table.json +1057 -0
  46. package/components/tablecolumnid.json +217 -0
  47. package/components/tabs.json +363 -0
  48. package/components/tag.json +504 -0
  49. package/components/timepicker.json +447 -0
  50. package/components/tip.json +322 -0
  51. package/components/tooltip.json +416 -0
  52. package/components/tour.json +395 -0
  53. package/components/transfer.json +414 -0
  54. package/components/tree.json +480 -0
  55. package/components/treeselect.json +478 -0
  56. package/components/upload.json +499 -0
  57. package/components/virtuallist.json +178 -0
  58. package/dist/ast/index.d.mts +71 -0
  59. package/dist/ast/index.d.ts +71 -0
  60. package/dist/ast/index.js +15 -0
  61. package/dist/ast/index.mjs +2 -0
  62. package/dist/chunk-4BUGNH4F.mjs +62 -0
  63. package/dist/chunk-5H7N2A5X.mjs +1 -0
  64. package/dist/chunk-5IF32MBB.js +603 -0
  65. package/dist/chunk-ARWRNWDW.js +219 -0
  66. package/dist/chunk-C3L4IXJC.mjs +577 -0
  67. package/dist/chunk-GNVCC37B.js +102 -0
  68. package/dist/chunk-N4UIA6DN.js +68 -0
  69. package/dist/chunk-RAMIBZAU.mjs +216 -0
  70. package/dist/chunk-RNQHI7YG.js +64 -0
  71. package/dist/chunk-TB6BF5TJ.mjs +99 -0
  72. package/dist/chunk-UX7KGX45.mjs +66 -0
  73. package/dist/chunk-YTEYDSDW.js +2 -0
  74. package/dist/full/index.d.mts +29 -0
  75. package/dist/full/index.d.ts +29 -0
  76. package/dist/full/index.js +16 -0
  77. package/dist/full/index.mjs +3 -0
  78. package/dist/index.d.mts +5 -0
  79. package/dist/index.d.ts +5 -0
  80. package/dist/index.js +43 -0
  81. package/dist/index.mjs +6 -0
  82. package/dist/runtime/index.d.mts +14 -0
  83. package/dist/runtime/index.d.ts +14 -0
  84. package/dist/runtime/index.js +15 -0
  85. package/dist/runtime/index.mjs +2 -0
  86. package/dist/sfcCompiler-m51JOfWs.d.mts +22 -0
  87. package/dist/sfcCompiler-m51JOfWs.d.ts +22 -0
  88. package/dist/static/index.d.mts +14 -0
  89. package/dist/static/index.d.ts +14 -0
  90. package/dist/static/index.js +19 -0
  91. package/dist/static/index.mjs +2 -0
  92. package/package.json +88 -0
@@ -0,0 +1,529 @@
1
+ {
2
+ "id": "datepicker",
3
+ "name": "Datepicker",
4
+ "displayName": "日期选择",
5
+ "category": "form",
6
+ "description": "日期选择组件,用于选择日期、日期时间、年份、月份等。支持单选、多选、范围选择,支持禁用日期、快捷方式、自定义格式等功能。",
7
+ "importStatement": "import { Datepicker } from '@king-design/vue';",
8
+ "props": [
9
+ {
10
+ "name": "value",
11
+ "description": "当前选择的值,可用 v-model 双向绑定。范围选择时为 [Value, Value]",
12
+ "type": {
13
+ "raw": "Value | Value[] | [Value, Value] | [Value, Value][]",
14
+ "kind": "union"
15
+ },
16
+ "required": false,
17
+ "default": "\"\"",
18
+ "usageExample": "<Datepicker v-model=\"date\" />"
19
+ },
20
+ {
21
+ "name": "type",
22
+ "description": "组件类型",
23
+ "type": {
24
+ "raw": "\"date\" | \"datetime\" | \"year\" | \"month\"",
25
+ "kind": "union",
26
+ "unionTypes": [
27
+ "date",
28
+ "datetime",
29
+ "year",
30
+ "month"
31
+ ]
32
+ },
33
+ "required": false,
34
+ "default": "\"date\"",
35
+ "allowedValues": [
36
+ {
37
+ "value": "date",
38
+ "label": "只选择日期",
39
+ "isDefault": true
40
+ },
41
+ {
42
+ "value": "datetime",
43
+ "label": "选择日期和时间"
44
+ },
45
+ {
46
+ "value": "year",
47
+ "label": "选择年份"
48
+ },
49
+ {
50
+ "value": "month",
51
+ "label": "选择月份"
52
+ }
53
+ ],
54
+ "usageExample": "<Datepicker type=\"datetime\" />"
55
+ },
56
+ {
57
+ "name": "range",
58
+ "description": "是否选择日期范围",
59
+ "type": {
60
+ "raw": "boolean",
61
+ "kind": "boolean"
62
+ },
63
+ "required": false,
64
+ "default": "false",
65
+ "usageExample": "<Datepicker range />"
66
+ },
67
+ {
68
+ "name": "multiple",
69
+ "description": "是否支持多选",
70
+ "type": {
71
+ "raw": "boolean",
72
+ "kind": "boolean"
73
+ },
74
+ "required": false,
75
+ "default": "false",
76
+ "usageExample": "<Datepicker multiple />"
77
+ },
78
+ {
79
+ "name": "disabled",
80
+ "description": "是否禁用",
81
+ "type": {
82
+ "raw": "boolean",
83
+ "kind": "boolean"
84
+ },
85
+ "required": false,
86
+ "default": "false",
87
+ "usageExample": "<Datepicker disabled />"
88
+ },
89
+ {
90
+ "name": "clearable",
91
+ "description": "是否可清空",
92
+ "type": {
93
+ "raw": "boolean",
94
+ "kind": "boolean"
95
+ },
96
+ "required": false,
97
+ "default": "false",
98
+ "usageExample": "<Datepicker clearable />"
99
+ },
100
+ {
101
+ "name": "size",
102
+ "description": "尺寸",
103
+ "type": {
104
+ "raw": "\"large\" | \"default\" | \"small\" | \"mini\"",
105
+ "kind": "union",
106
+ "unionTypes": [
107
+ "large",
108
+ "default",
109
+ "small",
110
+ "mini"
111
+ ]
112
+ },
113
+ "required": false,
114
+ "default": "\"default\"",
115
+ "allowedValues": [
116
+ {
117
+ "value": "large",
118
+ "label": "大尺寸"
119
+ },
120
+ {
121
+ "value": "default",
122
+ "label": "默认尺寸",
123
+ "isDefault": true
124
+ },
125
+ {
126
+ "value": "small",
127
+ "label": "小尺寸"
128
+ },
129
+ {
130
+ "value": "mini",
131
+ "label": "迷你尺寸"
132
+ }
133
+ ],
134
+ "usageExample": "<Datepicker size=\"small\" />"
135
+ },
136
+ {
137
+ "name": "placeholder",
138
+ "description": "占位文案",
139
+ "type": {
140
+ "raw": "string",
141
+ "kind": "string"
142
+ },
143
+ "required": false,
144
+ "default": "\"请选择日期\"",
145
+ "usageExample": "<Datepicker placeholder=\"选择开始日期\" />"
146
+ },
147
+ {
148
+ "name": "format",
149
+ "description": "日期格式化字符串",
150
+ "type": {
151
+ "raw": "string",
152
+ "kind": "string"
153
+ },
154
+ "required": false,
155
+ "default": "\"YYYY-MM-DD HH:mm:ss\"",
156
+ "usageExample": "<Datepicker format=\"YYYY-MM-DD\" />"
157
+ },
158
+ {
159
+ "name": "valueFormat",
160
+ "description": "value 值的日期格式化字符串",
161
+ "type": {
162
+ "raw": "string",
163
+ "kind": "string"
164
+ },
165
+ "required": false,
166
+ "default": "undefined",
167
+ "usageExample": "<Datepicker valueFormat=\"YYYY-MM-DD\" />"
168
+ },
169
+ {
170
+ "name": "showFormat",
171
+ "description": "展示的日期格式化字符串",
172
+ "type": {
173
+ "raw": "string",
174
+ "kind": "string"
175
+ },
176
+ "required": false,
177
+ "default": "undefined",
178
+ "usageExample": "<Datepicker showFormat=\"YYYY年MM月DD日\" />"
179
+ },
180
+ {
181
+ "name": "min",
182
+ "description": "最小可选日期",
183
+ "type": {
184
+ "raw": "Value",
185
+ "kind": "custom"
186
+ },
187
+ "required": false,
188
+ "default": "undefined",
189
+ "usageExample": "<Datepicker min=\"2024-01-01\" />"
190
+ },
191
+ {
192
+ "name": "max",
193
+ "description": "最大可选日期",
194
+ "type": {
195
+ "raw": "Value",
196
+ "kind": "custom"
197
+ },
198
+ "required": false,
199
+ "default": "undefined",
200
+ "usageExample": "<Datepicker max=\"2024-12-31\" />"
201
+ },
202
+ {
203
+ "name": "disabledDate",
204
+ "description": "禁用日期的函数,返回 true 表示禁用该日期",
205
+ "type": {
206
+ "raw": "(v: Dayjs) => boolean",
207
+ "kind": "function",
208
+ "functionSignature": "(v: Dayjs) => boolean"
209
+ },
210
+ "required": false,
211
+ "default": "undefined",
212
+ "usageExample": "<Datepicker :disabledDate=\"(d) => d.day() === 0\" />"
213
+ },
214
+ {
215
+ "name": "shortcuts",
216
+ "description": "快捷方式配置",
217
+ "type": {
218
+ "raw": "Shortcut[]",
219
+ "kind": "array"
220
+ },
221
+ "required": false,
222
+ "default": "undefined",
223
+ "usageExample": "<Datepicker :shortcuts=\"shortcuts\" />"
224
+ },
225
+ {
226
+ "name": "hideIcon",
227
+ "description": "是否隐藏后面的图标",
228
+ "type": {
229
+ "raw": "boolean",
230
+ "kind": "boolean"
231
+ },
232
+ "required": false,
233
+ "default": "false",
234
+ "usageExample": "<Datepicker hideIcon />"
235
+ },
236
+ {
237
+ "name": "fluid",
238
+ "description": "是否宽度 100%",
239
+ "type": {
240
+ "raw": "boolean",
241
+ "kind": "boolean"
242
+ },
243
+ "required": false,
244
+ "default": "false",
245
+ "usageExample": "<Datepicker fluid />"
246
+ },
247
+ {
248
+ "name": "inline",
249
+ "description": "是否展示内联模式",
250
+ "type": {
251
+ "raw": "boolean",
252
+ "kind": "boolean"
253
+ },
254
+ "required": false,
255
+ "default": "false",
256
+ "usageExample": "<Datepicker inline />"
257
+ },
258
+ {
259
+ "name": "flat",
260
+ "description": "是否展示扁平样式",
261
+ "type": {
262
+ "raw": "boolean",
263
+ "kind": "boolean"
264
+ },
265
+ "required": false,
266
+ "default": "false",
267
+ "usageExample": "<Datepicker flat />"
268
+ },
269
+ {
270
+ "name": "width",
271
+ "description": "指定宽度,自动添加单位 px",
272
+ "type": {
273
+ "raw": "number | string",
274
+ "kind": "union"
275
+ },
276
+ "required": false,
277
+ "default": "undefined",
278
+ "usageExample": "<Datepicker :width=\"200\" />"
279
+ }
280
+ ],
281
+ "events": [
282
+ {
283
+ "name": "show",
284
+ "vueEventName": "@show",
285
+ "description": "菜单弹出时触发",
286
+ "payload": [],
287
+ "usageExample": "<Datepicker @show=\"handleShow\" />",
288
+ "handlerExample": "const handleShow = () => {\n console.log('日期选择器已打开');\n};"
289
+ },
290
+ {
291
+ "name": "hide",
292
+ "vueEventName": "@hide",
293
+ "description": "菜单隐藏时触发",
294
+ "payload": [],
295
+ "usageExample": "<Datepicker @hide=\"handleHide\" />",
296
+ "handlerExample": "const handleHide = () => {\n console.log('日期选择器已关闭');\n};"
297
+ },
298
+ {
299
+ "name": "selecting",
300
+ "vueEventName": "@selecting",
301
+ "description": "范围选择时,用户正在操作选择时触发",
302
+ "payload": [
303
+ {
304
+ "name": "value",
305
+ "type": "[Dayjs, Dayjs?]",
306
+ "description": "当前选择的值"
307
+ }
308
+ ],
309
+ "usageExample": "<Datepicker range @selecting=\"handleSelecting\" />",
310
+ "handlerExample": "const handleSelecting = (value) => {\n console.log('正在选择:', value);\n};"
311
+ }
312
+ ],
313
+ "methods": [],
314
+ "typeDefinitions": [
315
+ {
316
+ "name": "Value",
317
+ "definition": "type Value = string | Date | number | Dayjs",
318
+ "description": "日期值类型,支持字符串、Date 对象、时间戳或 Dayjs 对象"
319
+ },
320
+ {
321
+ "name": "Shortcut",
322
+ "definition": "type Shortcut = {\n label: (() => string | VNode) | string | VNode\n value: () => Value | [Value, Value]\n}",
323
+ "description": "快捷方式配置类型"
324
+ }
325
+ ],
326
+ "examples": [
327
+ {
328
+ "id": "datepicker_basic",
329
+ "title": "基础用法",
330
+ "description": "基本的日期选择",
331
+ "difficulty": "easy",
332
+ "code": "<script setup lang=\"ts\">\nimport { ref } from 'vue';\nimport { Datepicker } from '@king-design/vue';\n\nconst date = ref('');\n</script>\n<template>\n <Datepicker v-model=\"date\" clearable />\n <p>选择的日期: {{ date }}</p>\n</template>",
333
+ "tags": [
334
+ "basic"
335
+ ],
336
+ "usedProps": [
337
+ "value",
338
+ "clearable"
339
+ ],
340
+ "usedEvents": [],
341
+ "usedMethods": [],
342
+ "scenario": "创建一个基本的日期选择器"
343
+ },
344
+ {
345
+ "id": "datepicker_datetime",
346
+ "title": "日期时间选择",
347
+ "description": "同时选择日期和时间",
348
+ "difficulty": "easy",
349
+ "code": "<script setup lang=\"ts\">\nimport { ref } from 'vue';\nimport { Datepicker } from '@king-design/vue';\n\nconst datetime = ref('');\n</script>\n<template>\n <Datepicker v-model=\"datetime\" type=\"datetime\" clearable />\n</template>",
350
+ "tags": [
351
+ "datetime",
352
+ "time"
353
+ ],
354
+ "usedProps": [
355
+ "value",
356
+ "type",
357
+ "clearable"
358
+ ],
359
+ "usedEvents": [],
360
+ "usedMethods": [],
361
+ "scenario": "选择日期和时间"
362
+ },
363
+ {
364
+ "id": "datepicker_range",
365
+ "title": "范围选择",
366
+ "description": "选择日期范围",
367
+ "difficulty": "medium",
368
+ "code": "<script setup lang=\"ts\">\nimport { ref } from 'vue';\nimport { Datepicker } from '@king-design/vue';\n\nconst dateRange = ref<[string, string]>(['', '']);\n</script>\n<template>\n <Datepicker v-model=\"dateRange\" range clearable />\n</template>",
369
+ "tags": [
370
+ "range",
371
+ "dual"
372
+ ],
373
+ "usedProps": [
374
+ "value",
375
+ "range",
376
+ "clearable"
377
+ ],
378
+ "usedEvents": [],
379
+ "usedMethods": [],
380
+ "scenario": "选择开始日期和结束日期"
381
+ },
382
+ {
383
+ "id": "datepicker_min_max",
384
+ "title": "限制日期范围",
385
+ "description": "限制可选日期的最小和最大值",
386
+ "difficulty": "easy",
387
+ "code": "<script setup lang=\"ts\">\nimport { ref } from 'vue';\nimport { Datepicker } from '@king-design/vue';\n\nconst date = ref('');\nconst minDate = '2024-01-01';\nconst maxDate = '2024-12-31';\n</script>\n<template>\n <Datepicker v-model=\"date\" :min=\"minDate\" :max=\"maxDate\" />\n</template>",
388
+ "tags": [
389
+ "min",
390
+ "max",
391
+ "limit"
392
+ ],
393
+ "usedProps": [
394
+ "value",
395
+ "min",
396
+ "max"
397
+ ],
398
+ "usedEvents": [],
399
+ "usedMethods": [],
400
+ "scenario": "限制可选的日期范围"
401
+ },
402
+ {
403
+ "id": "datepicker_disabled_date",
404
+ "title": "禁用日期",
405
+ "description": "禁用特定日期(如周末)",
406
+ "difficulty": "medium",
407
+ "code": "<script setup lang=\"ts\">\nimport { ref } from 'vue';\nimport { Datepicker } from '@king-design/vue';\nimport type { Dayjs } from 'dayjs';\n\nconst date = ref('');\n\n// 禁用周末\nconst disabledDate = (d: Dayjs) => {\n const day = d.day();\n return day === 0 || day === 6;\n};\n</script>\n<template>\n <Datepicker v-model=\"date\" :disabledDate=\"disabledDate\" />\n</template>",
408
+ "tags": [
409
+ "disabledDate",
410
+ "weekend"
411
+ ],
412
+ "usedProps": [
413
+ "value",
414
+ "disabledDate"
415
+ ],
416
+ "usedEvents": [],
417
+ "usedMethods": [],
418
+ "scenario": "禁用周末日期"
419
+ },
420
+ {
421
+ "id": "datepicker_shortcuts",
422
+ "title": "快捷方式",
423
+ "description": "添加快捷日期选择",
424
+ "difficulty": "medium",
425
+ "code": "<script setup lang=\"ts\">\nimport { ref } from 'vue';\nimport { Datepicker } from '@king-design/vue';\nimport dayjs from 'dayjs';\n\nconst date = ref('');\n\nconst shortcuts = [\n { label: '今天', value: () => dayjs() },\n { label: '昨天', value: () => dayjs().subtract(1, 'day') },\n { label: '一周前', value: () => dayjs().subtract(7, 'day') }\n];\n</script>\n<template>\n <Datepicker v-model=\"date\" :shortcuts=\"shortcuts\" />\n</template>",
426
+ "tags": [
427
+ "shortcuts",
428
+ "quick"
429
+ ],
430
+ "usedProps": [
431
+ "value",
432
+ "shortcuts"
433
+ ],
434
+ "usedEvents": [],
435
+ "usedMethods": [],
436
+ "scenario": "添加快捷日期选择"
437
+ },
438
+ {
439
+ "id": "datepicker_year_month",
440
+ "title": "年份/月份选择",
441
+ "description": "选择年份或月份",
442
+ "difficulty": "easy",
443
+ "code": "<script setup lang=\"ts\">\nimport { ref } from 'vue';\nimport { Datepicker } from '@king-design/vue';\n\nconst year = ref('');\nconst month = ref('');\n</script>\n<template>\n <Datepicker v-model=\"year\" type=\"year\" placeholder=\"请选择年份\" />\n <Datepicker v-model=\"month\" type=\"month\" placeholder=\"请选择月份\" />\n</template>",
444
+ "tags": [
445
+ "year",
446
+ "month"
447
+ ],
448
+ "usedProps": [
449
+ "value",
450
+ "type",
451
+ "placeholder"
452
+ ],
453
+ "usedEvents": [],
454
+ "usedMethods": [],
455
+ "scenario": "选择年份或月份"
456
+ },
457
+ {
458
+ "id": "datepicker_custom_format",
459
+ "title": "自定义格式",
460
+ "description": "自定义日期显示格式",
461
+ "difficulty": "easy",
462
+ "code": "<script setup lang=\"ts\">\nimport { ref } from 'vue';\nimport { Datepicker } from '@king-design/vue';\n\nconst date = ref('');\n</script>\n<template>\n <Datepicker v-model=\"date\" showFormat=\"YYYY年MM月DD日\" />\n</template>",
463
+ "tags": [
464
+ "format",
465
+ "custom"
466
+ ],
467
+ "usedProps": [
468
+ "value",
469
+ "showFormat"
470
+ ],
471
+ "usedEvents": [],
472
+ "usedMethods": [],
473
+ "scenario": "自定义日期的显示格式"
474
+ }
475
+ ],
476
+ "commonMistakes": [
477
+ {
478
+ "id": "datepicker_range_value_type",
479
+ "description": "范围选择时 value 类型错误",
480
+ "wrongCode": "const date = ref('');\n<Datepicker v-model=\"date\" range />",
481
+ "correctCode": "const dateRange = ref<[string, string]>(['', '']);\n<Datepicker v-model=\"dateRange\" range />",
482
+ "explanation": "当 range 为 true 时,value 必须是 [string, string] 数组",
483
+ "relatedProps": [
484
+ "value",
485
+ "range"
486
+ ]
487
+ },
488
+ {
489
+ "id": "datepicker_type_typo",
490
+ "description": "type 值拼写错误",
491
+ "wrongCode": "<Datepicker type=\"dateTime\" />",
492
+ "correctCode": "<Datepicker type=\"datetime\" />",
493
+ "explanation": "type 值为小写 datetime,不是 dateTime",
494
+ "relatedProps": [
495
+ "type"
496
+ ]
497
+ },
498
+ {
499
+ "id": "datepicker_disableddate_return",
500
+ "description": "disabledDate 函数返回值错误",
501
+ "wrongCode": "const disabledDate = (d) => { if (d.day() === 0) return '禁用'; }",
502
+ "correctCode": "const disabledDate = (d) => d.day() === 0;",
503
+ "explanation": "disabledDate 必须返回布尔值,true 表示禁用",
504
+ "relatedProps": [
505
+ "disabledDate"
506
+ ]
507
+ }
508
+ ],
509
+ "searchKeywords": [
510
+ "日期",
511
+ "datepicker",
512
+ "时间",
513
+ "日历",
514
+ "calendar",
515
+ "年份",
516
+ "月份",
517
+ "范围选择"
518
+ ],
519
+ "useCases": [
520
+ "表单日期输入",
521
+ "订单时间选择",
522
+ "日期范围筛选",
523
+ "预约时间选择",
524
+ "报表日期查询"
525
+ ],
526
+ "relatedComponents": [
527
+ "Timepicker"
528
+ ]
529
+ }