@opentiny/vue-docs 3.28.0 → 3.30.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 (287) hide show
  1. package/demos/apis/action-menu.js +22 -0
  2. package/demos/apis/alert.js +19 -22
  3. package/demos/apis/button-group.js +15 -0
  4. package/demos/apis/calendar-view.js +5 -5
  5. package/demos/apis/cascader-view.js +5 -5
  6. package/demos/apis/dialog-box.js +39 -38
  7. package/demos/apis/drawer.js +31 -0
  8. package/demos/apis/dropdown.js +39 -1
  9. package/demos/apis/filter-panel.js +21 -1
  10. package/demos/apis/fluent-editor.js +30 -0
  11. package/demos/apis/form.js +11 -0
  12. package/demos/apis/fullscreen.js +10 -11
  13. package/demos/apis/grid.js +131 -16
  14. package/demos/apis/guide.js +14 -0
  15. package/demos/apis/link.js +11 -0
  16. package/demos/apis/message.js +48 -22
  17. package/demos/apis/modal.js +34 -31
  18. package/demos/apis/notify.js +13 -13
  19. package/demos/apis/rate.js +15 -0
  20. package/demos/apis/search-box.js +343 -0
  21. package/demos/apis/select.js +14 -2
  22. package/demos/apis/tag-input.js +182 -0
  23. package/demos/apis/tree.js +23 -23
  24. package/demos/mobile-first/app/button-group/display-mode.vue +31 -0
  25. package/demos/mobile-first/app/button-group/webdoc/button-group.js +13 -0
  26. package/demos/mobile-first/app/calendar-view/webdoc/calendar-view.js +5 -4
  27. package/demos/mobile-first/app/modal/webdoc/modal.js +2 -1
  28. package/demos/pc/app/alert/center.spec.ts +8 -0
  29. package/demos/pc/app/alert/custom-close.spec.ts +39 -9
  30. package/demos/pc/app/alert/icon.spec.ts +18 -7
  31. package/demos/pc/app/alert/show-icon.spec.ts +1 -1
  32. package/demos/pc/app/anchor/webdoc/anchor.js +1 -0
  33. package/demos/pc/app/base-select/copy-multi.spec.ts +1 -1
  34. package/demos/pc/app/button-group/display-mode-composition-api.vue +23 -0
  35. package/demos/pc/app/button-group/display-mode.spec.ts +0 -0
  36. package/demos/pc/app/button-group/display-mode.vue +31 -0
  37. package/demos/pc/app/button-group/sup-composition-api.vue +1 -0
  38. package/demos/pc/app/button-group/sup.vue +1 -0
  39. package/demos/pc/app/button-group/webdoc/button-group.js +14 -0
  40. package/demos/pc/app/calendar-view/calendar-event.spec.ts +1 -1
  41. package/demos/pc/app/calendar-view/custom-day-bg-color.vue +10 -0
  42. package/demos/pc/app/calendar-view/webdoc/calendar-view.js +4 -4
  43. package/demos/pc/app/cascader/filter-mode-composition-api.vue +2 -2
  44. package/demos/pc/app/checkbox/checked-composition-api.vue +3 -3
  45. package/demos/pc/app/checkbox/checked.vue +3 -3
  46. package/demos/pc/app/date-picker/align.spec.ts +10 -13
  47. package/demos/pc/app/date-picker/clear.spec.ts +3 -3
  48. package/demos/pc/app/date-picker/default-value.spec.ts +4 -4
  49. package/demos/pc/app/date-picker/events.spec.ts +2 -2
  50. package/demos/pc/app/date-picker/format.spec.ts +3 -3
  51. package/demos/pc/app/date-picker/now.spec.ts +4 -4
  52. package/demos/pc/app/date-picker/shortcuts.spec.ts +1 -1
  53. package/demos/pc/app/date-picker/slot.spec.ts +5 -5
  54. package/demos/pc/app/dialog-box/basic-usage.spec.ts +5 -5
  55. package/demos/pc/app/dialog-box/form-in-dialog.spec.ts +1 -2
  56. package/demos/pc/app/drawer/basic-usage.spec.ts +4 -3
  57. package/demos/pc/app/drawer/close-on-press-escape.spec.ts +4 -2
  58. package/demos/pc/app/drawer/placement.spec.ts +4 -4
  59. package/demos/pc/app/drawer/show-header.spec.ts +3 -2
  60. package/demos/pc/app/drawer/webdoc/drawer.js +3 -2
  61. package/demos/pc/app/dropdown/show-icon-composition-api.vue +1 -1
  62. package/demos/pc/app/dropdown/show-icon.vue +1 -1
  63. package/demos/pc/app/dropdown/tip-composition-api.vue +5 -2
  64. package/demos/pc/app/dropdown/tip.vue +5 -2
  65. package/demos/pc/app/dropdown/webdoc/dropdown.js +2 -2
  66. package/demos/pc/app/filter-panel/size-composition-api.vue +58 -0
  67. package/demos/pc/app/filter-panel/size.spec.ts +23 -0
  68. package/demos/pc/app/filter-panel/size.vue +68 -0
  69. package/demos/pc/app/filter-panel/webdoc/filter-panel.js +13 -0
  70. package/demos/pc/app/flowchart/basic-usage-composition-api.vue +10 -260
  71. package/demos/pc/app/flowchart/basic-usage.spec.ts +2 -1
  72. package/demos/pc/app/flowchart/basic-usage.vue +4 -249
  73. package/demos/pc/app/flowchart/slots-composition-api.vue +182 -0
  74. package/demos/pc/app/flowchart/slots.spec.ts +24 -0
  75. package/demos/pc/app/flowchart/slots.vue +193 -0
  76. package/demos/pc/app/flowchart/webdoc/flowchart.js +14 -2
  77. package/demos/pc/app/form/basic-usage.spec.ts +6 -4
  78. package/demos/pc/app/form/custom-validation-string-length-composition-api.vue +38 -0
  79. package/demos/pc/app/form/custom-validation-string-length.spec.ts +18 -0
  80. package/demos/pc/app/form/custom-validation-string-length.vue +28 -13
  81. package/demos/pc/app/form/group-form-composition-api.vue +2 -2
  82. package/demos/pc/app/form/group-form.vue +2 -2
  83. package/demos/pc/app/grid/filter/advanced-filter-composition-api.vue +1 -1
  84. package/demos/pc/app/grid/filter/advanced-filter.spec.js +1 -0
  85. package/demos/pc/app/grid/filter/advanced-filter.vue +1 -1
  86. package/demos/pc/app/grid/filter/custom-filter-composition-api.vue +46 -23
  87. package/demos/pc/app/grid/filter/custom-filter.spec.js +1 -1
  88. package/demos/pc/app/grid/filter/custom-filter.vue +47 -24
  89. package/demos/pc/app/grid/filter/default-filter-composition-api.vue +5 -1
  90. package/demos/pc/app/grid/filter/default-filter.spec.ts +1 -0
  91. package/demos/pc/app/grid/filter/default-filter.vue +4 -1
  92. package/demos/pc/app/grid/filter/filter-label-value-composition-api.vue +71 -0
  93. package/demos/pc/app/grid/filter/filter-label-value.spec.ts +27 -0
  94. package/demos/pc/app/grid/filter/filter-label-value.vue +78 -0
  95. package/demos/pc/app/grid/filter/input-filter-custom-component-composition-api.vue +116 -0
  96. package/demos/pc/app/grid/filter/input-filter-custom-component.spec.ts +20 -0
  97. package/demos/pc/app/grid/filter/input-filter-custom-component.vue +126 -0
  98. package/demos/pc/app/grid/filter/layout-order-filter-composition-api.vue +114 -0
  99. package/demos/pc/app/grid/filter/layout-order-filter.spec.ts +31 -0
  100. package/demos/pc/app/grid/filter/layout-order-filter.vue +123 -0
  101. package/demos/pc/app/grid/toolbar/custom-toolbar.spec.js +1 -1
  102. package/demos/pc/app/grid/webdoc/grid-filter.js +89 -40
  103. package/demos/pc/app/guide/show-close-composition-api.vue +77 -0
  104. package/demos/pc/app/guide/show-close.spec.ts +37 -0
  105. package/demos/pc/app/guide/show-close.vue +84 -0
  106. package/demos/pc/app/guide/webdoc/guide.js +12 -0
  107. package/demos/pc/app/icon/advance-icons.js +108 -2
  108. package/demos/pc/app/icon/advance-usage-composition-api.vue +26 -1
  109. package/demos/pc/app/icon/advance-usage.vue +27 -1
  110. package/demos/pc/app/icon/webdoc/icon.js +5 -3
  111. package/demos/pc/app/input/resize.spec.ts +2 -2
  112. package/demos/pc/app/link/custom-icon-composition-api.vue +1 -1
  113. package/demos/pc/app/link/custom-icon.vue +1 -1
  114. package/demos/pc/app/link/target-composition-api.vue +24 -0
  115. package/demos/pc/app/link/target.spec.ts +41 -0
  116. package/demos/pc/app/link/target.vue +30 -0
  117. package/demos/pc/app/link/webdoc/link.js +14 -0
  118. package/demos/pc/app/message/basic-usage-composition-api.vue +48 -0
  119. package/demos/pc/app/message/basic-usage.spec.ts +27 -0
  120. package/demos/pc/app/message/basic-usage.vue +50 -0
  121. package/demos/pc/app/message/message-close-composition-api.vue +25 -0
  122. package/demos/pc/app/message/message-close.spec.ts +9 -0
  123. package/demos/pc/app/message/message-close.vue +32 -0
  124. package/demos/pc/app/message/message-duration-composition-api.vue +25 -0
  125. package/demos/pc/app/message/message-duration.spec.ts +9 -0
  126. package/demos/pc/app/message/message-duration.vue +32 -0
  127. package/demos/pc/app/message/prevent-duplicate-composition-api.vue +25 -0
  128. package/demos/pc/app/message/prevent-duplicate.spec.ts +9 -0
  129. package/demos/pc/app/message/prevent-duplicate.vue +32 -0
  130. package/demos/pc/app/message/webdoc/message.cn.md +7 -0
  131. package/demos/pc/app/message/webdoc/message.en.md +7 -0
  132. package/demos/pc/app/message/webdoc/message.js +56 -0
  133. package/demos/pc/app/modal/basic-usage.spec.ts +3 -3
  134. package/demos/pc/app/modal/modal-footer-composition-api.vue +3 -3
  135. package/demos/pc/app/modal/modal-footer.spec.ts +9 -4
  136. package/demos/pc/app/modal/modal-footer.vue +3 -3
  137. package/demos/pc/app/modal/modal-header.spec.ts +2 -2
  138. package/demos/pc/app/modal/modal-size.spec.ts +2 -2
  139. package/demos/pc/app/modal/status.spec.ts +22 -15
  140. package/demos/pc/app/nav-menu/overflow.spec.ts +1 -1
  141. package/demos/pc/app/popconfirm/custom-class.spec.ts +0 -1
  142. package/demos/pc/app/popconfirm/slot-message.spec.ts +10 -2
  143. package/demos/pc/app/popconfirm/trigger.spec.ts +16 -12
  144. package/demos/pc/app/popover/basic-usage.spec.js +3 -8
  145. package/demos/pc/app/popover/custom-popper.spec.js +2 -2
  146. package/demos/pc/app/popover/delay.spec.js +2 -2
  147. package/demos/pc/app/popover/disabled.spec.js +2 -2
  148. package/demos/pc/app/popover/events.spec.js +1 -1
  149. package/demos/pc/app/popover/ignore-boundaries.spec.js +2 -3
  150. package/demos/pc/app/popover/offset.spec.js +17 -31
  151. package/demos/pc/app/radio/dynamic-disable-composition-api.vue +3 -3
  152. package/demos/pc/app/radio/dynamic-disable.vue +2 -2
  153. package/demos/pc/app/rate/clearable-composition-api.vue +20 -0
  154. package/demos/pc/app/rate/clearable.spec.js +74 -0
  155. package/demos/pc/app/rate/clearable.vue +28 -0
  156. package/demos/pc/app/rate/webdoc/rate.js +12 -0
  157. package/demos/pc/app/search/events.spec.ts +1 -1
  158. package/demos/pc/app/search-box/append-to-body-composition-api.vue +300 -0
  159. package/demos/pc/app/search-box/append-to-body.vue +308 -0
  160. package/demos/pc/app/search-box/auto-match-composition-api.vue +162 -0
  161. package/demos/pc/app/search-box/auto-match.vue +170 -0
  162. package/demos/pc/app/search-box/basic-usage-composition-api.vue +269 -0
  163. package/demos/pc/app/search-box/basic-usage.vue +277 -0
  164. package/demos/pc/app/search-box/custom-panel-composition-api.vue +63 -0
  165. package/demos/pc/app/search-box/custom-panel.vue +72 -0
  166. package/demos/pc/app/search-box/default-field-composition-api.vue +163 -0
  167. package/demos/pc/app/search-box/default-field.vue +171 -0
  168. package/demos/pc/app/search-box/editable-composition-api.vue +311 -0
  169. package/demos/pc/app/search-box/editable.vue +320 -0
  170. package/demos/pc/app/search-box/empty-placeholder-composition-api.vue +162 -0
  171. package/demos/pc/app/search-box/empty-placeholder.vue +170 -0
  172. package/demos/pc/app/search-box/events-composition-api.vue +169 -0
  173. package/demos/pc/app/search-box/events.vue +173 -0
  174. package/demos/pc/app/search-box/group-key-composition-api.vue +257 -0
  175. package/demos/pc/app/search-box/group-key.vue +266 -0
  176. package/demos/pc/app/search-box/help-composition-api.vue +166 -0
  177. package/demos/pc/app/search-box/help.vue +175 -0
  178. package/demos/pc/app/search-box/id-map-key-composition-api.vue +131 -0
  179. package/demos/pc/app/search-box/id-map-key.vue +140 -0
  180. package/demos/pc/app/search-box/item-placeholder-composition-api.vue +119 -0
  181. package/demos/pc/app/search-box/item-placeholder.vue +127 -0
  182. package/demos/pc/app/search-box/max-length-composition-api.vue +29 -0
  183. package/demos/pc/app/search-box/max-length.vue +38 -0
  184. package/demos/pc/app/search-box/max-time-length-composition-api.vue +53 -0
  185. package/demos/pc/app/search-box/max-time-length.vue +62 -0
  186. package/demos/pc/app/search-box/merge-tag-composition-api.vue +59 -0
  187. package/demos/pc/app/search-box/merge-tag.vue +68 -0
  188. package/demos/pc/app/search-box/panel-max-height-composition-api.vue +162 -0
  189. package/demos/pc/app/search-box/panel-max-height.vue +170 -0
  190. package/demos/pc/app/search-box/potential-match-composition-api.vue +193 -0
  191. package/demos/pc/app/search-box/potential-match.vue +201 -0
  192. package/demos/pc/app/search-box/settings-composition-api.vue +163 -0
  193. package/demos/pc/app/search-box/settings.vue +171 -0
  194. package/demos/pc/app/search-box/size-composition-api.vue +162 -0
  195. package/demos/pc/app/search-box/size.vue +170 -0
  196. package/demos/pc/app/search-box/split-input-value-composition-api.vue +162 -0
  197. package/demos/pc/app/search-box/split-input-value.vue +170 -0
  198. package/demos/pc/app/search-box/suffix-icon-composition-api.vue +209 -0
  199. package/demos/pc/app/search-box/suffix-icon.vue +219 -0
  200. package/demos/pc/app/search-box/v-model-composition-api.vue +174 -0
  201. package/demos/pc/app/search-box/v-model.vue +182 -0
  202. package/demos/pc/app/search-box/webdoc/search-box.cn.md +7 -0
  203. package/demos/pc/app/search-box/webdoc/search-box.en.md +7 -0
  204. package/demos/pc/app/search-box/webdoc/search-box.js +257 -0
  205. package/demos/pc/app/select/copy-multi.spec.ts +1 -1
  206. package/demos/pc/app/select-wrapper/copy-multi.spec.ts +2 -1
  207. package/demos/pc/app/tabs/basic-usage.spec.ts +2 -2
  208. package/demos/pc/app/tabs/more-show-all.spec.ts +2 -1
  209. package/demos/pc/app/tabs/tabs-events-close-composition-api.vue +8 -2
  210. package/demos/pc/app/tabs/tabs-events-close.vue +8 -2
  211. package/demos/pc/app/tabs/tooltip-composition-api.vue +1 -1
  212. package/demos/pc/app/tag/basic-usage.spec.ts +1 -1
  213. package/demos/pc/app/tag/color-border.spec.ts +2 -2
  214. package/demos/pc/app/tag/max-width.spec.ts +1 -1
  215. package/demos/pc/app/tag/size.spec.ts +3 -3
  216. package/demos/pc/app/tag/slot-default.spec.ts +3 -3
  217. package/demos/pc/app/tag-group/basic-usage.spec.js +5 -5
  218. package/demos/pc/app/tag-group/tag-group-effect.spec.js +10 -10
  219. package/demos/pc/app/tag-group/tag-group-event.spec.js +1 -1
  220. package/demos/pc/app/tag-input/basic-usage-composition-api.vue +29 -0
  221. package/demos/pc/app/tag-input/basic-usage.spec.ts +0 -0
  222. package/demos/pc/app/tag-input/basic-usage.vue +38 -0
  223. package/demos/pc/app/tag-input/clearable-tag-composition-api.vue +20 -0
  224. package/demos/pc/app/tag-input/clearable-tag.vue +27 -0
  225. package/demos/pc/app/tag-input/collapsed-tag-composition-api.vue +20 -0
  226. package/demos/pc/app/tag-input/collapsed-tag.vue +28 -0
  227. package/demos/pc/app/tag-input/disabled-readonly-composition-api.vue +20 -0
  228. package/demos/pc/app/tag-input/disabled-readonly.vue +29 -0
  229. package/demos/pc/app/tag-input/draggable-tag-composition-api.vue +12 -0
  230. package/demos/pc/app/tag-input/draggable-tag.spec.ts +0 -0
  231. package/demos/pc/app/tag-input/draggable-tag.vue +20 -0
  232. package/demos/pc/app/tag-input/max-composition-api.vue +20 -0
  233. package/demos/pc/app/tag-input/max.vue +28 -0
  234. package/demos/pc/app/tag-input/prefix-suffix-composition-api.vue +26 -0
  235. package/demos/pc/app/tag-input/prefix-suffix.vue +34 -0
  236. package/demos/pc/app/tag-input/separator-tag-composition-api.vue +20 -0
  237. package/demos/pc/app/tag-input/separator-tag.vue +28 -0
  238. package/demos/pc/app/tag-input/webdoc/tag-input.cn.md +7 -0
  239. package/demos/pc/app/tag-input/webdoc/tag-input.en.md +7 -0
  240. package/demos/pc/app/tag-input/webdoc/tag-input.js +107 -0
  241. package/demos/pc/app/time-picker/basic-usage.spec.ts +5 -4
  242. package/demos/pc/app/time-picker/clearable.spec.ts +5 -4
  243. package/demos/pc/app/time-picker/default-value.spec.ts +2 -2
  244. package/demos/pc/app/time-picker/disabled.spec.ts +4 -3
  245. package/demos/pc/app/time-picker/format.spec.ts +8 -11
  246. package/demos/pc/app/time-picker/is-range.spec.ts +4 -3
  247. package/demos/pc/app/time-picker/name.spec.ts +1 -1
  248. package/demos/pc/app/time-picker/placeholder.spec.ts +3 -3
  249. package/demos/pc/app/time-picker/popper-class.spec.ts +1 -1
  250. package/demos/pc/app/time-picker/size.spec.ts +2 -1
  251. package/demos/pc/app/time-select/basic-usage.spec.ts +1 -1
  252. package/demos/pc/app/time-select/clear-icon.spec.ts +1 -2
  253. package/demos/pc/app/time-select/focus.spec.ts +1 -1
  254. package/demos/pc/app/time-select/picker-options.spec.ts +2 -1
  255. package/demos/pc/app/time-select/range-placeholder.spec.ts +2 -2
  256. package/demos/pc/app/time-select/size-medium.spec.ts +3 -3
  257. package/demos/pc/app/tooltip/delay.spec.js +7 -9
  258. package/demos/pc/app/tooltip/offset.spec.js +0 -2
  259. package/demos/pc/app/tooltip/popper-options.spec.js +2 -1
  260. package/demos/pc/app/user-head/color-composition-api.vue +2 -1
  261. package/demos/pc/menus.js +6 -4
  262. package/demos/pc/webdoc/changelog-en.md +370 -176
  263. package/demos/pc/webdoc/changelog.md +177 -219
  264. package/demos/pc/webdoc/develop-demo-en.md +13 -13
  265. package/demos/pc/webdoc/import-components.md +1 -1
  266. package/demos/pc/webdoc/introduce.md +2 -0
  267. package/demos/pc/webdoc/skills-en.md +107 -0
  268. package/demos/pc/webdoc/skills.md +107 -0
  269. package/demos/pc/webdoc/theme-en.md +82 -79
  270. package/demos/pc/webdoc/v3.28.0-release-article.md +943 -0
  271. package/demos/saas/menus.js +1 -0
  272. package/package.json +21 -20
  273. package/playground/App.vue +12 -6
  274. package/playground/shims/vue-search-box.mjs +154 -0
  275. package/public/static/css/mobile-dark-theme.css +1 -0
  276. package/src/i18n/index.js +1 -2
  277. package/src/main.js +8 -5
  278. package/src/style.css +5 -0
  279. package/src/views/components-doc/common.vue +0 -25
  280. package/src/views/components-doc/mobile.vue +49 -2
  281. package/vite.config.ts +3 -2
  282. package/vite.extend.ts +65 -0
  283. package/demos/pc/app/grid/webdoc/grid-ai-agent.js +0 -23
  284. package/demos/pc/webdoc/mcp-en.md +0 -101
  285. package/demos/pc/webdoc/mcp.md +0 -101
  286. package/src/components/mcp-docs.vue +0 -33
  287. package/src/composable/useTinyRemoter.ts +0 -176
@@ -0,0 +1,343 @@
1
+ export default {
2
+ mode: ['pc'],
3
+ apis: [
4
+ {
5
+ name: 'search-box',
6
+ type: 'component',
7
+ props: [
8
+ {
9
+ name: 'maxlength',
10
+ type: 'number',
11
+ defaultValue: '',
12
+ desc: {
13
+ 'zh-CN': 'input 框的原生属性,限制最大输入字符数',
14
+ 'en-US': 'The native properties of the input box limit the maximum number of input characters'
15
+ },
16
+ mode: ['pc'],
17
+ pcDemo: 'max-length',
18
+ mfDemo: ''
19
+ },
20
+ {
21
+ name: 'v-model',
22
+ type: 'array',
23
+ defaultValue: '[]',
24
+ desc: {
25
+ 'zh-CN': '绑定标签数组,用于控制已选中的筛选标签',
26
+ 'en-US': 'Bind tag array to control selected filter tags'
27
+ },
28
+ mode: ['pc'],
29
+ pcDemo: 'v-model',
30
+ mfDemo: ''
31
+ },
32
+ {
33
+ name: 'items',
34
+ type: 'array',
35
+ defaultValue: '[]',
36
+ desc: {
37
+ 'zh-CN': '搜索数据项配置,定义可用的筛选条件',
38
+ 'en-US': 'Search data item configuration, defining available filter conditions'
39
+ },
40
+ mode: ['pc'],
41
+ pcDemo: 'basic-usage',
42
+ mfDemo: ''
43
+ },
44
+ {
45
+ name: 'editable',
46
+ type: 'boolean',
47
+ defaultValue: 'false',
48
+ desc: {
49
+ 'zh-CN': '是否开启标签可编辑功能,开启后标签支持编辑操作(注:map 类型不支持编辑)',
50
+ 'en-US':
51
+ 'Whether to enable tag editing. When enabled, tags support editing operations (Note: map type does not support editing)'
52
+ },
53
+ mode: ['pc'],
54
+ pcDemo: 'editable',
55
+ mfDemo: ''
56
+ },
57
+ {
58
+ name: 'append-to-body',
59
+ type: 'boolean',
60
+ defaultValue: 'true',
61
+ desc: {
62
+ 'zh-CN': '是否将下拉面板挂载到 body 元素上',
63
+ 'en-US': 'Whether to mount the dropdown panel to the body element'
64
+ },
65
+ mode: ['pc'],
66
+ pcDemo: 'append-to-body',
67
+ mfDemo: ''
68
+ },
69
+ {
70
+ name: 'panel-max-height',
71
+ type: 'string',
72
+ defaultValue: '',
73
+ desc: {
74
+ 'zh-CN': '下拉面板的最大高度,支持 CSS 单位(如:100px、50vh)',
75
+ 'en-US': 'Maximum height of the dropdown panel, supports CSS units (e.g., 100px, 50vh)'
76
+ },
77
+ mode: ['pc'],
78
+ pcDemo: 'panel-max-height',
79
+ mfDemo: ''
80
+ },
81
+ {
82
+ name: 'split-input-value',
83
+ type: 'string',
84
+ defaultValue: ',',
85
+ desc: {
86
+ 'zh-CN': '切分输入值的分隔符,将输入值按指定字符分成多个关键字,一次性输入生成多个标签',
87
+ 'en-US':
88
+ 'Separator for splitting input values, splits input values by specified character into multiple keywords to generate multiple tags at once'
89
+ },
90
+ mode: ['pc'],
91
+ pcDemo: 'split-input-value',
92
+ mfDemo: ''
93
+ },
94
+ {
95
+ name: 'default-field',
96
+ type: 'string',
97
+ defaultValue: '',
98
+ desc: {
99
+ 'zh-CN': '自定义默认搜索项,指定默认使用的筛选字段',
100
+ 'en-US': 'Custom default search item, specifies the default filter field to use'
101
+ },
102
+ mode: ['pc'],
103
+ pcDemo: 'default-field',
104
+ mfDemo: ''
105
+ },
106
+ {
107
+ name: 'empty-placeholder',
108
+ type: 'string',
109
+ defaultValue: '',
110
+ desc: {
111
+ 'zh-CN': '没有筛选项时的占位文本',
112
+ 'en-US': 'Placeholder text when there are no filter items'
113
+ },
114
+ mode: ['pc'],
115
+ pcDemo: 'empty-placeholder',
116
+ mfDemo: ''
117
+ },
118
+ {
119
+ name: 'id-map-key',
120
+ type: 'string',
121
+ defaultValue: 'id',
122
+ desc: {
123
+ 'zh-CN': '指定筛选项的ID键取值来源,默认取自 items 的 id 键,用于接口返回的数据字段不匹配的情况',
124
+ 'en-US':
125
+ 'Specifies the ID key value source for filter items, default is the id key from items, used when interface returned data fields do not match'
126
+ },
127
+ mode: ['pc'],
128
+ pcDemo: 'id-map-key',
129
+ mfDemo: ''
130
+ },
131
+ {
132
+ name: 'potential-options',
133
+ type: 'object',
134
+ defaultValue: '',
135
+ desc: {
136
+ 'zh-CN': '潜在匹配项配置,通过 getMatchList 方法异步获取匹配的筛选项',
137
+ 'en-US':
138
+ 'Potential match configuration, asynchronously get matching filter items through getMatchList method'
139
+ },
140
+ mode: ['pc'],
141
+ pcDemo: 'potential-options',
142
+ mfDemo: ''
143
+ },
144
+ {
145
+ name: 'max-time-length',
146
+ type: 'number',
147
+ defaultValue: '',
148
+ desc: {
149
+ 'zh-CN': '时间长度限制(毫秒数),限制可选择的时间跨度,常用于防止请求时间跨度过大的情形',
150
+ 'en-US':
151
+ 'Time length limit (in milliseconds), limits the selectable time span, commonly used to prevent request time span from being too large'
152
+ },
153
+ mode: ['pc'],
154
+ pcDemo: 'max-time-length',
155
+ mfDemo: ''
156
+ },
157
+ {
158
+ name: 'show-help',
159
+ type: 'boolean',
160
+ defaultValue: 'true',
161
+ desc: {
162
+ 'zh-CN': '是否显示帮助图标',
163
+ 'en-US': 'Whether to show the help icon'
164
+ },
165
+ mode: ['pc'],
166
+ pcDemo: 'help',
167
+ mfDemo: ''
168
+ },
169
+ {
170
+ name: 'show-prefix-icon',
171
+ type: 'boolean',
172
+ defaultValue: 'true',
173
+ desc: {
174
+ 'zh-CN': '是否显示前缀搜索图标',
175
+ 'en-US': 'Whether to show the prefix search icon'
176
+ },
177
+ mode: ['pc'],
178
+ pcDemo: 'suffix-icon',
179
+ mfDemo: ''
180
+ },
181
+ {
182
+ name: 'show-no-data-tip',
183
+ type: 'boolean',
184
+ defaultValue: 'true',
185
+ desc: {
186
+ 'zh-CN': '是否显示无数据提示',
187
+ 'en-US': 'Whether to show the no data tip'
188
+ },
189
+ mode: ['pc'],
190
+ pcDemo: 'auto-match',
191
+ mfDemo: ''
192
+ }
193
+ ],
194
+ events: [
195
+ {
196
+ name: 'change',
197
+ type: '(newFilters: array, oldFilters: array) => void',
198
+ defaultValue: '',
199
+ desc: {
200
+ 'zh-CN': '搜索值变化时触发的回调函数;newFilters 为新的筛选标签数组,oldFilters 为旧的筛选标签数组',
201
+ 'en-US':
202
+ 'Callback function triggered when search value changes; newFilters is the new filter tag array, oldFilters is the old filter tag array'
203
+ },
204
+ mode: ['pc'],
205
+ pcDemo: 'events',
206
+ mfDemo: ''
207
+ },
208
+ {
209
+ name: 'clear',
210
+ type: '() => void',
211
+ defaultValue: '',
212
+ desc: {
213
+ 'zh-CN': '清空值触发的回调函数',
214
+ 'en-US': 'Callback function triggered by clearing values'
215
+ },
216
+ mode: ['pc'],
217
+ pcDemo: 'events',
218
+ mfDemo: ''
219
+ },
220
+ {
221
+ name: 'search',
222
+ type: '(filters: array) => void',
223
+ defaultValue: '',
224
+ desc: {
225
+ 'zh-CN': '搜索事件,点击搜索按钮或按 Enter 键时触发;filters 为当前筛选标签数组',
226
+ 'en-US':
227
+ 'Search event triggered when clicking search button or pressing Enter key; filters is the current filter tag array'
228
+ },
229
+ mode: ['pc'],
230
+ pcDemo: 'events',
231
+ mfDemo: ''
232
+ },
233
+ {
234
+ name: 'first-level-select',
235
+ type: '(field: string) => void',
236
+ defaultValue: '',
237
+ desc: {
238
+ 'zh-CN': '第一层级选择事件,当选择一级筛选条件时触发;field 为选中的字段名',
239
+ 'en-US':
240
+ 'First level selection event triggered when selecting first level filter condition; field is the selected field name'
241
+ },
242
+ mode: ['pc'],
243
+ pcDemo: 'events',
244
+ mfDemo: ''
245
+ },
246
+ {
247
+ name: 'second-level-enter',
248
+ type: '(item: object, options: array) => void',
249
+ defaultValue: '',
250
+ desc: {
251
+ 'zh-CN': '第二层级进入事件,当进入二级面板时触发;item 为当前选中的项,options 为选项列表',
252
+ 'en-US':
253
+ 'Second level enter event triggered when entering second level panel; item is the currently selected item, options is the option list'
254
+ },
255
+ mode: ['pc'],
256
+ pcDemo: 'events',
257
+ mfDemo: ''
258
+ },
259
+ {
260
+ name: 'tag-click',
261
+ type: '(tag: object) => void',
262
+ defaultValue: '',
263
+ desc: {
264
+ 'zh-CN': '标签点击事件,当点击已选中的标签时触发;tag 为被点击的标签对象',
265
+ 'en-US': 'Tag click event triggered when clicking a selected tag; tag is the clicked tag object'
266
+ },
267
+ mode: ['pc'],
268
+ pcDemo: 'events',
269
+ mfDemo: ''
270
+ },
271
+ {
272
+ name: 'help',
273
+ type: '() => void',
274
+ defaultValue: '',
275
+ desc: {
276
+ 'zh-CN': '帮助图标点击事件,当点击帮助图标时触发',
277
+ 'en-US': 'Help icon click event triggered when clicking the help icon'
278
+ },
279
+ mode: ['pc'],
280
+ pcDemo: 'help',
281
+ mfDemo: ''
282
+ },
283
+ {
284
+ name: 'exceed',
285
+ type: '(maxlength: number) => void',
286
+ defaultValue: '',
287
+ desc: {
288
+ 'zh-CN': '输入超出限定长度事件,当输入超过 maxlength 限制时触发;maxlength 为最大长度限制',
289
+ 'en-US':
290
+ 'Input exceeds limit event triggered when input exceeds maxlength limit; maxlength is the maximum length limit'
291
+ },
292
+ mode: ['pc'],
293
+ pcDemo: 'max-length',
294
+ mfDemo: ''
295
+ }
296
+ ],
297
+ methods: [],
298
+ slots: [
299
+ {
300
+ name: 'suffix-icon',
301
+ type: '',
302
+ defaultValue: '',
303
+ desc: {
304
+ 'zh-CN': '后缀图标插槽,用于自定义搜索框右侧的图标',
305
+ 'en-US': 'Suffix icon slot for customizing the icon on the right side of the search box'
306
+ },
307
+ mode: ['pc', 'mobile-first'],
308
+ pcDemo: 'suffix-icon',
309
+ mfDemo: ''
310
+ },
311
+ {
312
+ name: '[slotName]',
313
+ type: '(scope: object) => VNode',
314
+ defaultValue: '',
315
+ desc: {
316
+ 'zh-CN':
317
+ '自定义二级面板插槽,通过 item.type = "custom" 和 item.slotName 配置插槽名称,用于自定义二级下拉面板的内容。scope 包含 onConfirm 等方法',
318
+ 'en-US':
319
+ 'Custom level-2 panel slot, configured through item.type = "custom" and item.slotName to define the slot name, used to customize the content of the level-2 dropdown panel. scope contains methods like onConfirm'
320
+ },
321
+ mode: ['pc', 'mobile-first'],
322
+ pcDemo: 'custom-panel',
323
+ mfDemo: ''
324
+ },
325
+ {
326
+ name: '[slotName]-edit',
327
+ type: '(scope: object) => VNode',
328
+ defaultValue: '',
329
+ desc: {
330
+ 'zh-CN':
331
+ '编辑态自定义面板插槽,格式为 `${item.slotName}-edit`,用于在编辑状态下自定义面板内容。scope 包含 onConfirm 等方法',
332
+ 'en-US':
333
+ 'Editing state custom panel slot, format is `${item.slotName}-edit`, used to customize panel content in editing state. scope contains methods like onConfirm'
334
+ },
335
+ mode: ['pc', 'mobile-first'],
336
+ pcDemo: 'custom-panel',
337
+ mfDemo: ''
338
+ }
339
+ ]
340
+ }
341
+ ],
342
+ types: []
343
+ }
@@ -852,8 +852,8 @@ export default {
852
852
  type: '',
853
853
  defaultValue: '',
854
854
  desc: {
855
- 'zh-CN': '选项默认插槽',
856
- 'en-US': 'Option default slot'
855
+ 'zh-CN': '选项默认插槽。接收 <code>item</code> 的参数',
856
+ 'en-US': 'Option default slot. Receives <code>item</code> as a parameter'
857
857
  },
858
858
  mode: ['pc', 'mobile-first'],
859
859
  pcDemo: 'slot-default',
@@ -894,6 +894,18 @@ export default {
894
894
  mode: ['pc', 'mobile-first'],
895
895
  pcDemo: 'slot-header-footer'
896
896
  },
897
+ {
898
+ name: 'label',
899
+ type: '',
900
+ defaultValue: '',
901
+ desc: {
902
+ 'zh-CN': '多选模式时,标签的自定义插槽。接收 <code>item</code> 的参数',
903
+ 'en-US': 'Custom label slot for multiple choice mode. Receives <code>item</code> as a parameter'
904
+ },
905
+ mode: ['pc', 'mobile-first'],
906
+ pcDemo: 'slot-label',
907
+ mfDemo: 'slot-label'
908
+ },
897
909
  {
898
910
  name: 'prefix',
899
911
  type: '',
@@ -0,0 +1,182 @@
1
+ export default {
2
+ mode: ['pc', 'mobile-first'],
3
+ apis: [
4
+ {
5
+ name: 'tag-input',
6
+ type: 'component',
7
+ props: [
8
+ {
9
+ name: 'model-value / v-model',
10
+ type: 'array',
11
+ defaultValue: '[]',
12
+ desc: {
13
+ 'zh-CN': '绑定值',
14
+ 'en-US': '‌Binding Value'
15
+ },
16
+ mode: ['pc', 'mobile-first'],
17
+ pcDemo: 'tag-group-size',
18
+ mfDemo: 'tag-group-size'
19
+ },
20
+ {
21
+ name: 'size',
22
+ type: "'medium' | 'small'",
23
+ defaultValue: "'medium'",
24
+ desc: {
25
+ 'zh-CN': '尺寸',
26
+ 'en-US': 'Size '
27
+ },
28
+ mode: ['pc', 'mobile-first'],
29
+ pcDemo: 'tag-group-size',
30
+ mfDemo: 'tag-group-size'
31
+ },
32
+ {
33
+ name: 'tag-type',
34
+ typeAnchorName: 'IType',
35
+ type: 'IType',
36
+ defaultValue: '',
37
+ desc: {
38
+ 'zh-CN': '显示类型',
39
+ 'en-US': 'Display type'
40
+ },
41
+ mode: ['pc', 'mobile-first'],
42
+ pcDemo: 'basic-usage',
43
+ mfDemo: ''
44
+ },
45
+ {
46
+ name: 'tag-effect',
47
+ typeAnchorName: 'IEffect',
48
+ type: 'IEffect',
49
+ defaultValue: "'light'",
50
+ desc: {
51
+ 'zh-CN': '主题',
52
+ 'en-US': 'Theme Color'
53
+ },
54
+ mode: ['pc', 'mobile-first'],
55
+ pcDemo: 'effect',
56
+ mfDemo: ''
57
+ },
58
+ {
59
+ name: 'clearable',
60
+ type: 'boolean',
61
+ defaultValue: 'false',
62
+ desc: {
63
+ 'zh-CN': '是否可清空',
64
+ 'en-US': 'Whether it can be cleared'
65
+ },
66
+ mode: ['pc', 'mobile-first'],
67
+ pcDemo: 'basic-usage',
68
+ mfDemo: ''
69
+ },
70
+ {
71
+ name: 'disabled',
72
+ type: 'boolean',
73
+ defaultValue: 'false',
74
+ desc: {
75
+ 'zh-CN': '是否禁用标签输入框',
76
+ 'en-US': 'Whether the tag input box is disabled'
77
+ },
78
+ mode: ['pc', 'mobile-first'],
79
+ pcDemo: 'basic-usage',
80
+ mfDemo: ''
81
+ },
82
+ {
83
+ name: 'max',
84
+ type: 'number',
85
+ defaultValue: 'Infinity',
86
+ desc: {
87
+ 'zh-CN': '最大允许输入的标签数量',
88
+ 'en-US': 'Maximum number of tags allowed to be input'
89
+ },
90
+ mode: ['pc', 'mobile-first'],
91
+ pcDemo: 'basic-usage',
92
+ mfDemo: ''
93
+ },
94
+ {
95
+ name: 'placeholder',
96
+ type: 'string',
97
+ defaultValue: '',
98
+ desc: {
99
+ 'zh-CN': '占位符',
100
+ 'en-US': 'Placeholder'
101
+ },
102
+ mode: ['pc', 'mobile-first'],
103
+ pcDemo: 'basic-usage',
104
+ mfDemo: ''
105
+ },
106
+ {
107
+ name: 'readonly',
108
+ type: 'boolean',
109
+ defaultValue: 'false',
110
+ desc: {
111
+ 'zh-CN': '是否只读',
112
+ 'en-US': 'Whether it is read-only'
113
+ },
114
+ mode: ['pc', 'mobile-first'],
115
+ pcDemo: 'basic-usage',
116
+ mfDemo: ''
117
+ },
118
+ {
119
+ name: 'draggable',
120
+ type: 'boolean',
121
+ defaultValue: 'false',
122
+ desc: {
123
+ 'zh-CN': '是否可拖拽',
124
+ 'en-US': 'Whether it is draggable'
125
+ },
126
+ mode: ['pc', 'mobile-first'],
127
+ pcDemo: 'basic-usage',
128
+ mfDemo: ''
129
+ },
130
+ {
131
+ name: 'minCollapsedNum',
132
+ type: 'number',
133
+ defaultValue: 'Infinity',
134
+ desc: {
135
+ 'zh-CN': '最小折叠数量',
136
+ 'en-US': 'Minimum collapsed number'
137
+ },
138
+ mode: ['pc', 'mobile-first'],
139
+ pcDemo: 'basic-usage',
140
+ mfDemo: ''
141
+ },
142
+ {
143
+ name: 'separator',
144
+ type: 'string',
145
+ defaultValue: ',',
146
+ desc: {
147
+ 'zh-CN': '批量输入时标签分隔符',
148
+ 'en-US': 'Tag separator for batch input'
149
+ },
150
+ mode: ['pc', 'mobile-first'],
151
+ pcDemo: 'basic-usage',
152
+ mfDemo: ''
153
+ }
154
+ ],
155
+ events: [],
156
+ methods: [],
157
+ slots: [
158
+ {
159
+ name: 'prefix',
160
+ defaultValue: '',
161
+ desc: {
162
+ 'zh-CN': '输入框前缀内容的插槽',
163
+ 'en-US': 'Input prefix slot'
164
+ },
165
+ mode: ['pc'],
166
+ pcDemo: 'basic-usage'
167
+ },
168
+ {
169
+ name: 'suffix',
170
+ defaultValue: '',
171
+ desc: {
172
+ 'zh-CN': '输入框后缀内容的插槽',
173
+ 'en-US': 'Input suffix slot'
174
+ },
175
+ mode: ['pc'],
176
+ pcDemo: 'basic-usage'
177
+ }
178
+ ]
179
+ }
180
+ ],
181
+ types: []
182
+ }