x-next 1.12.0 → 1.14.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 (226) hide show
  1. package/AI_CODING.md +6 -5
  2. package/AI_USAGE/catalog.md +106 -105
  3. package/AI_USAGE/components/alert-api.md +48 -0
  4. package/AI_USAGE/components/alert.md +222 -3
  5. package/AI_USAGE/components/bar-chart-api.md +177 -0
  6. package/AI_USAGE/components/bar-chart.md +297 -3
  7. package/AI_USAGE/components/boxicons.md +147 -0
  8. package/AI_USAGE/components/button-api.md +144 -0
  9. package/AI_USAGE/components/button.md +447 -3
  10. package/AI_USAGE/components/charts.md +81 -0
  11. package/AI_USAGE/components/checkbox-api.md +145 -0
  12. package/AI_USAGE/components/checkbox.md +365 -3
  13. package/AI_USAGE/components/color-picker-api.md +52 -0
  14. package/AI_USAGE/components/color-picker.md +211 -3
  15. package/AI_USAGE/components/config-provider-api.md +38 -0
  16. package/AI_USAGE/components/config-provider.md +250 -3
  17. package/AI_USAGE/components/date-picker-api.md +1114 -0
  18. package/AI_USAGE/components/date-picker.md +378 -3
  19. package/AI_USAGE/components/dialog-api.md +142 -0
  20. package/AI_USAGE/components/dialog.md +284 -3
  21. package/AI_USAGE/components/draggable-api.md +146 -0
  22. package/AI_USAGE/components/draggable.md +259 -0
  23. package/AI_USAGE/components/drawer-api.md +78 -0
  24. package/AI_USAGE/components/drawer.md +227 -0
  25. package/AI_USAGE/components/dropdown-api.md +529 -0
  26. package/AI_USAGE/components/dropdown.md +392 -3
  27. package/AI_USAGE/components/empty-api.md +36 -0
  28. package/AI_USAGE/components/empty.md +227 -3
  29. package/AI_USAGE/components/finicon.md +88 -0
  30. package/AI_USAGE/components/form-api.md +524 -0
  31. package/AI_USAGE/components/form.md +454 -0
  32. package/AI_USAGE/components/grid-api.md +527 -0
  33. package/AI_USAGE/components/grid.md +224 -0
  34. package/AI_USAGE/components/heatmap-api.md +122 -0
  35. package/AI_USAGE/components/heatmap.md +220 -0
  36. package/AI_USAGE/components/icon-api.md +4707 -0
  37. package/AI_USAGE/components/icon.md +257 -0
  38. package/AI_USAGE/components/image-api.md +440 -0
  39. package/AI_USAGE/components/image.md +465 -0
  40. package/AI_USAGE/components/input-api.md +184 -0
  41. package/AI_USAGE/components/input-number-api.md +66 -0
  42. package/AI_USAGE/components/input-number.md +294 -0
  43. package/AI_USAGE/components/input-tag-api.md +114 -0
  44. package/AI_USAGE/components/input-tag.md +482 -0
  45. package/AI_USAGE/components/input.md +293 -3
  46. package/AI_USAGE/components/layout-api.md +147 -0
  47. package/AI_USAGE/components/layout.md +230 -0
  48. package/AI_USAGE/components/line-chart-api.md +197 -0
  49. package/AI_USAGE/components/line-chart.md +279 -3
  50. package/AI_USAGE/components/link-api.md +42 -0
  51. package/AI_USAGE/components/link.md +197 -0
  52. package/AI_USAGE/components/menu-api.md +516 -0
  53. package/AI_USAGE/components/menu.md +268 -0
  54. package/AI_USAGE/components/message-api.md +215 -0
  55. package/AI_USAGE/components/message-box-api.md +108 -0
  56. package/AI_USAGE/components/message-box.md +268 -3
  57. package/AI_USAGE/components/message.md +231 -3
  58. package/AI_USAGE/components/network-api.md +91 -0
  59. package/AI_USAGE/components/network.md +378 -0
  60. package/AI_USAGE/components/notification-api.md +236 -0
  61. package/AI_USAGE/components/notification.md +275 -3
  62. package/AI_USAGE/components/pagination-api.md +62 -0
  63. package/AI_USAGE/components/pagination.md +386 -5
  64. package/AI_USAGE/components/pie-chart-api.md +109 -0
  65. package/AI_USAGE/components/pie-chart.md +245 -3
  66. package/AI_USAGE/components/popconfirm-api.md +75 -0
  67. package/AI_USAGE/components/popconfirm.md +231 -3
  68. package/AI_USAGE/components/popover-api.md +75 -0
  69. package/AI_USAGE/components/popover.md +208 -3
  70. package/AI_USAGE/components/popup-api.md +75 -0
  71. package/AI_USAGE/components/popup.md +52 -0
  72. package/AI_USAGE/components/progress-api.md +44 -0
  73. package/AI_USAGE/components/progress.md +248 -3
  74. package/AI_USAGE/components/radio-api.md +165 -0
  75. package/AI_USAGE/components/radio.md +259 -3
  76. package/AI_USAGE/components/rate-api.md +54 -0
  77. package/AI_USAGE/components/rate.md +233 -3
  78. package/AI_USAGE/components/resize-box-api.md +56 -0
  79. package/AI_USAGE/components/resize-box.md +231 -0
  80. package/AI_USAGE/components/scrollbar-api.md +77 -0
  81. package/AI_USAGE/components/scrollbar.md +218 -0
  82. package/AI_USAGE/components/select-api.md +758 -0
  83. package/AI_USAGE/components/select.md +640 -3
  84. package/AI_USAGE/components/skeleton-api.md +85 -0
  85. package/AI_USAGE/components/skeleton.md +150 -0
  86. package/AI_USAGE/components/slider-api.md +51 -0
  87. package/AI_USAGE/components/slider.md +233 -3
  88. package/AI_USAGE/components/space-api.md +38 -0
  89. package/AI_USAGE/components/space.md +145 -0
  90. package/AI_USAGE/components/spin-api.md +43 -0
  91. package/AI_USAGE/components/spin.md +205 -0
  92. package/AI_USAGE/components/steps-api.md +111 -0
  93. package/AI_USAGE/components/steps.md +201 -3
  94. package/AI_USAGE/components/switch-api.md +58 -0
  95. package/AI_USAGE/components/switch.md +290 -3
  96. package/AI_USAGE/components/table-api.md +2919 -0
  97. package/AI_USAGE/components/table.md +1414 -0
  98. package/AI_USAGE/components/tabs-api.md +135 -0
  99. package/AI_USAGE/components/tabs.md +308 -3
  100. package/AI_USAGE/components/tag-api.md +124 -0
  101. package/AI_USAGE/components/tag.md +292 -0
  102. package/AI_USAGE/components/textarea-api.md +55 -0
  103. package/AI_USAGE/components/textarea.md +326 -3
  104. package/AI_USAGE/components/time-picker-api.md +137 -0
  105. package/AI_USAGE/components/time-picker.md +271 -3
  106. package/AI_USAGE/components/time-range-selector-api.md +44 -0
  107. package/AI_USAGE/components/time-range-selector.md +355 -0
  108. package/AI_USAGE/components/timeline-api.md +93 -0
  109. package/AI_USAGE/components/timeline.md +312 -0
  110. package/AI_USAGE/components/tooltip-api.md +77 -0
  111. package/AI_USAGE/components/tooltip.md +182 -0
  112. package/AI_USAGE/components/trend-chart-api.md +119 -0
  113. package/AI_USAGE/components/trend-chart.md +335 -0
  114. package/AI_USAGE/components/trigger-api.md +124 -0
  115. package/AI_USAGE/components/trigger.md +185 -0
  116. package/AI_USAGE/components/upload-api.md +200 -0
  117. package/AI_USAGE/components/upload.md +711 -3
  118. package/AI_USAGE/components/watermark-api.md +87 -0
  119. package/AI_USAGE/components/watermark.md +200 -0
  120. package/AI_USAGE/core.md +1 -1
  121. package/AI_USAGE/index.md +35 -7
  122. package/AI_USAGE/recipes/form-on-demand.md +1 -1
  123. package/AI_USAGE.md +33657 -7
  124. package/CHANGELOG.md +40 -0
  125. package/dist/_utils/inherit-component-type.d.ts +11 -0
  126. package/dist/components/date-picker/index.d.ts +420 -5
  127. package/dist/components/form-input/index.d.ts +617 -2
  128. package/dist/components/layout/index.d.ts +689 -1
  129. package/dist/components/menu/index.d.ts +786 -1
  130. package/dist/components/network/Network.vue.d.ts +7 -3
  131. package/dist/components/network/index.d.ts +10 -2
  132. package/dist/components/network/props.d.ts +5 -0
  133. package/dist/components/network/utils.d.ts +3 -3
  134. package/dist/components/pagination/page-item-ellipsis.vue.d.ts +4 -1
  135. package/dist/components/pagination/page-item-step.vue.d.ts +101 -130
  136. package/dist/components/pagination/page-item.vue.d.ts +1 -0
  137. package/dist/components/pagination/page-jumper.vue.d.ts +1 -1
  138. package/dist/components/pagination/page-options.vue.d.ts +6 -4
  139. package/dist/components/pagination/utils.d.ts +3 -0
  140. package/dist/components/time-range-selector/index.d.ts +6 -6
  141. package/dist/es/_container/resize-observer-v2.js +1 -1
  142. package/dist/es/_container/resize-observer.js +1 -1
  143. package/dist/es/_hooks/use-resize-observer.js +1 -1
  144. package/dist/es/_styles/palette-aliases.js +4 -4
  145. package/dist/es/_utils/inherit-component-type.js +6 -0
  146. package/dist/es/_virtual/advancedFormat.js +1 -1
  147. package/dist/es/_virtual/customParseFormat.js +1 -1
  148. package/dist/es/_virtual/dayjs.min.js +1 -1
  149. package/dist/es/_virtual/isBetween.js +1 -1
  150. package/dist/es/_virtual/quarterOfYear.js +1 -1
  151. package/dist/es/_virtual/weekOfYear.js +1 -1
  152. package/dist/es/_virtual/weekYear.js +1 -1
  153. package/dist/es/_virtual/zh-cn.js +1 -1
  154. package/dist/es/components/button/Button.js +53 -42
  155. package/dist/es/components/date-picker/index.js +18 -17
  156. package/dist/es/components/draggable/useDraggable.js +1 -1
  157. package/dist/es/components/form/Form.vue2.js +1 -1
  158. package/dist/es/components/form/FormItem.vue2.js +1 -1
  159. package/dist/es/components/form-input/index.js +12 -11
  160. package/dist/es/components/form-input-number/InputNumber.js +1 -1
  161. package/dist/es/components/form-slider/Slider.vue2.js +1 -1
  162. package/dist/es/components/form-slider/slider-ticks.vue2.js +1 -1
  163. package/dist/es/components/form-slider/utils.js +1 -1
  164. package/dist/es/components/layout/index.js +10 -9
  165. package/dist/es/components/menu/MenuItem.js +1 -1
  166. package/dist/es/components/menu/hooks/use-level.js +5 -5
  167. package/dist/es/components/menu/index.js +13 -10
  168. package/dist/es/components/menu/overflow-wrap.js +1 -1
  169. package/dist/es/components/network/Network.vue.js +17 -12
  170. package/dist/es/components/network/Network.vue2.js +78 -70
  171. package/dist/es/components/network/utils.js +112 -71
  172. package/dist/es/components/pagination/Pagination.js +132 -123
  173. package/dist/es/components/pagination/page-item-ellipsis.vue.js +10 -10
  174. package/dist/es/components/pagination/page-item-ellipsis.vue2.js +24 -19
  175. package/dist/es/components/pagination/page-item-step.vue.js +14 -11
  176. package/dist/es/components/pagination/page-item-step.vue2.js +20 -22
  177. package/dist/es/components/pagination/page-item.vue.js +10 -9
  178. package/dist/es/components/pagination/page-item.vue2.js +24 -19
  179. package/dist/es/components/pagination/page-jumper.vue2.js +23 -23
  180. package/dist/es/components/pagination/page-options.vue.js +15 -10
  181. package/dist/es/components/pagination/page-options.vue2.js +21 -17
  182. package/dist/es/components/pagination/utils.js +4 -2
  183. package/dist/es/components/progress/circle.vue2.js +1 -1
  184. package/dist/es/components/progress/line.vue2.js +1 -1
  185. package/dist/es/components/progress/steps.vue2.js +1 -1
  186. package/dist/es/components/rate/Rate.js +1 -1
  187. package/dist/es/components/virtual-list-v2/virtual-list-item.js +1 -1
  188. package/dist/es/locale/en-US.js +2 -0
  189. package/dist/es/locale/zh-CN.js +2 -0
  190. package/dist/es/{Users/xuyu/Code/x-next/node_modules → node_modules}/.pnpm/dayjs@1.11.21/node_modules/dayjs/dayjs.min.js +1 -1
  191. package/dist/es/{Users/xuyu/Code/x-next/node_modules → node_modules}/.pnpm/dayjs@1.11.21/node_modules/dayjs/locale/zh-cn.js +1 -1
  192. package/dist/es/{Users/xuyu/Code/x-next/node_modules → node_modules}/.pnpm/dayjs@1.11.21/node_modules/dayjs/plugin/advancedFormat.js +1 -1
  193. package/dist/es/{Users/xuyu/Code/x-next/node_modules → node_modules}/.pnpm/dayjs@1.11.21/node_modules/dayjs/plugin/customParseFormat.js +1 -1
  194. package/dist/es/{Users/xuyu/Code/x-next/node_modules → node_modules}/.pnpm/dayjs@1.11.21/node_modules/dayjs/plugin/isBetween.js +1 -1
  195. package/dist/es/{Users/xuyu/Code/x-next/node_modules → node_modules}/.pnpm/dayjs@1.11.21/node_modules/dayjs/plugin/quarterOfYear.js +1 -1
  196. package/dist/es/{Users/xuyu/Code/x-next/node_modules → node_modules}/.pnpm/dayjs@1.11.21/node_modules/dayjs/plugin/weekOfYear.js +1 -1
  197. package/dist/es/{Users/xuyu/Code/x-next/node_modules → node_modules}/.pnpm/dayjs@1.11.21/node_modules/dayjs/plugin/weekYear.js +1 -1
  198. package/dist/es/style.css +1 -1
  199. package/dist/index.cjs +3 -3
  200. package/dist/index.umd.js +3 -3
  201. package/dist/locale/interface.d.ts +3 -0
  202. package/dist/style/base.css +1 -1
  203. package/dist/style/button.css +1 -1
  204. package/dist/style/form-select.css +1 -1
  205. package/dist/style/network.css +1 -1
  206. package/dist/style/pagination.css +1 -1
  207. package/dist/style/table.css +1 -1
  208. package/dist/style.css +1 -1
  209. package/package.json +10 -5
  210. /package/dist/es/{Users/xuyu/Code/x-next/node_modules → node_modules}/.pnpm/b-validate@1.5.3/node_modules/b-validate/es/index.js +0 -0
  211. /package/dist/es/{Users/xuyu/Code/x-next/node_modules → node_modules}/.pnpm/b-validate@1.5.3/node_modules/b-validate/es/is.js +0 -0
  212. /package/dist/es/{Users/xuyu/Code/x-next/node_modules → node_modules}/.pnpm/b-validate@1.5.3/node_modules/b-validate/es/locale/en-US.js +0 -0
  213. /package/dist/es/{Users/xuyu/Code/x-next/node_modules → node_modules}/.pnpm/b-validate@1.5.3/node_modules/b-validate/es/rules/array.js +0 -0
  214. /package/dist/es/{Users/xuyu/Code/x-next/node_modules → node_modules}/.pnpm/b-validate@1.5.3/node_modules/b-validate/es/rules/base.js +0 -0
  215. /package/dist/es/{Users/xuyu/Code/x-next/node_modules → node_modules}/.pnpm/b-validate@1.5.3/node_modules/b-validate/es/rules/boolean.js +0 -0
  216. /package/dist/es/{Users/xuyu/Code/x-next/node_modules → node_modules}/.pnpm/b-validate@1.5.3/node_modules/b-validate/es/rules/custom.js +0 -0
  217. /package/dist/es/{Users/xuyu/Code/x-next/node_modules → node_modules}/.pnpm/b-validate@1.5.3/node_modules/b-validate/es/rules/number.js +0 -0
  218. /package/dist/es/{Users/xuyu/Code/x-next/node_modules → node_modules}/.pnpm/b-validate@1.5.3/node_modules/b-validate/es/rules/object.js +0 -0
  219. /package/dist/es/{Users/xuyu/Code/x-next/node_modules → node_modules}/.pnpm/b-validate@1.5.3/node_modules/b-validate/es/rules/string.js +0 -0
  220. /package/dist/es/{Users/xuyu/Code/x-next/node_modules → node_modules}/.pnpm/b-validate@1.5.3/node_modules/b-validate/es/rules/type.js +0 -0
  221. /package/dist/es/{Users/xuyu/Code/x-next/node_modules → node_modules}/.pnpm/b-validate@1.5.3/node_modules/b-validate/es/util.js +0 -0
  222. /package/dist/es/{Users/xuyu/Code/x-next/node_modules → node_modules}/.pnpm/compute-scroll-into-view@3.1.1/node_modules/compute-scroll-into-view/dist/index.js +0 -0
  223. /package/dist/es/{Users/xuyu/Code/x-next/node_modules → node_modules}/.pnpm/number-precision@1.6.0/node_modules/number-precision/build/index.es.js +0 -0
  224. /package/dist/es/{Users/xuyu/Code/x-next/node_modules → node_modules}/.pnpm/resize-observer-polyfill@1.5.1/node_modules/resize-observer-polyfill/dist/ResizeObserver.es.js +0 -0
  225. /package/dist/es/{Users/xuyu/Code/x-next/node_modules → node_modules}/.pnpm/scroll-into-view-if-needed@3.1.0/node_modules/scroll-into-view-if-needed/dist/index.js +0 -0
  226. /package/dist/es/{Users/xuyu/Code/x-next/node_modules → node_modules}/.pnpm/sortablejs@1.15.7/node_modules/sortablejs/modular/sortable.esm.js +0 -0
@@ -0,0 +1,529 @@
1
+ <!-- Generated by pnpm generate:ai-usage. Edit script/ai-usage/content.md and script/ai-usage/. -->
2
+ # Dropdown 完整公开 API
3
+
4
+ 适用版本:x-next@1.14.0;来源指纹:`014984639d816a2c7e25eb22690c586b0b2e8efba6846bec8a4e424db41a09e9`。
5
+
6
+ 从同版本构建的公开声明、运行时 props/emits 和显式 expose 生成。运行时导入始终使用 `x-next`,声明路径仅作定位。插槽类型未细化时,具体槽名与作用域见本地用法示例。
7
+
8
+ ## Dropdown API
9
+
10
+ 公开声明:`dist/components/dropdown/index.d.ts`。 类型中的 undefined 表示可省略;原始 prop 默认值不等于继承配置或服务默认值。
11
+
12
+ ### Props
13
+
14
+ | 名称 | 用途 | 公开类型 | 必填 | 声明默认值 |
15
+ | --- | --- | --- | --- | --- |
16
+ | popupVisible | 弹出框是否可见 | undefined &#124; false &#124; true | 否 | undefined |
17
+ | defaultPopupVisible | 默认是否可见,非受控模式 | undefined &#124; false &#124; true | 否 | false |
18
+ | trigger | 触发方式 | undefined &#124; "click" &#124; "hover" &#124; "focus" &#124; "contextMenu" &#124; ("click" &#124; "hover" &#124; "focus" &#124; "contextMenu")[] | 否 | "click" |
19
+ | position | 弹出位置 | undefined &#124; "top" &#124; "bottom" &#124; "tl" &#124; "tr" &#124; "bl" &#124; "br" | 否 | "bottom" |
20
+ | popupContainer | 弹出层挂载容器 | undefined &#124; string &#124; HTMLElement | 否 | 未声明 |
21
+ | popupMaxHeight | 弹出层最大高度 | undefined &#124; number &#124; false &#124; true | 否 | true |
22
+ | loading | 是否为加载中状态 | undefined &#124; false &#124; true | 否 | false |
23
+ | isEmpty | 是否为空状态 | undefined &#124; false &#124; true | 否 | false |
24
+ | bottomOffset | 触发到达底部的偏移量 | undefined &#124; number | 否 | 0 |
25
+ | alignPoint | 弹出层是否跟随鼠标位置,常用于右键菜单 | undefined &#124; false &#124; true | 否 | false |
26
+ | hideOnSelect | 选择后是否隐藏弹出层 | undefined &#124; false &#124; true | 否 | true |
27
+
28
+ ### Events
29
+
30
+ | 事件 | 用途 | 监听器签名(即事件参数) |
31
+ | --- | --- | --- |
32
+ | update:popupVisible | 弹出层显隐变化时触发 | undefined &#124; (visible: boolean) => any |
33
+ | popupVisibleChange | 弹出层显隐变化时触发 | undefined &#124; (visible: boolean) => any |
34
+ | select | 选中菜单项时触发 | undefined &#124; (value: string &#124; number &#124; Record<string, any> &#124; undefined, ev: Event) => any |
35
+ | scroll | 下拉菜单滚动时触发 | undefined &#124; (ev: Event) => any |
36
+ | reachBottom | 下拉菜单滚动到底部时触发 | undefined &#124; (ev: Event) => any |
37
+
38
+ ### Slots
39
+
40
+ | 名称 | 用途 | 公开类型 |
41
+ | --- | --- | --- |
42
+ | default | 触发元素 | 文档列出的实际插槽;公开类型未细化,作用域见场景用法 |
43
+ | content | 下拉菜单内容 | 文档列出的实际插槽;公开类型未细化,作用域见场景用法 |
44
+ | empty | 空状态内容 | 文档列出的实际插槽;公开类型未细化,作用域见场景用法 |
45
+ | footer | 下拉菜单底部 | 文档列出的实际插槽;公开类型未细化,作用域见场景用法 |
46
+
47
+ ### 实例方法
48
+
49
+ 没有检索到显式 expose 或 Options API methods 的公开方法;不把 setup 内部函数当成稳定实例 API。
50
+
51
+ ### 关联类型定义
52
+
53
+ 以下摘自本组件族声明,供查阅嵌套配置;运行时和值类型均以根入口可导出项为准。
54
+
55
+ ```typescript-reference
56
+ type DropdownPosition = 'top' | 'tl' | 'tr' | 'bottom' | 'bl' | 'br';
57
+
58
+ interface DropDownProps {
59
+ popupVisible?: boolean;
60
+ defaultPopupVisible?: boolean;
61
+ trigger?: TriggerEvent | TriggerEvent[];
62
+ position?: DropdownPosition;
63
+ popupContainer?: string | HTMLElement;
64
+ popupMaxHeight?: boolean | number;
65
+ loading?: boolean;
66
+ isEmpty?: boolean;
67
+ bottomOffset?: number;
68
+ alignPoint?: boolean;
69
+ hideOnSelect?: boolean;
70
+ }
71
+
72
+ interface DOption {
73
+ value: string | number;
74
+ disabled?: boolean;
75
+ _props?: Record<string, any>;
76
+ _slots?: Slots;
77
+ }
78
+
79
+ interface DGroup {
80
+ isGroup: true;
81
+ options: DropdownOption[];
82
+ title?: string;
83
+ _props?: Record<string, any>;
84
+ _slots?: Slots;
85
+ }
86
+
87
+ interface DSubmenu extends DOption {
88
+ isSubmenu: true;
89
+ render: Slot;
90
+ children: DropdownOption[];
91
+ trigger?: TriggerEvent;
92
+ position?: TriggerPosition;
93
+ footer?: Slot;
94
+ }
95
+
96
+ type DropdownOption = DOption | DGroup | DSubmenu;
97
+
98
+ interface DropdownContext {
99
+ popupMaxHeight: boolean | number;
100
+ onOptionClick: (value: string | number | Record<string, unknown> | undefined, ev: Event) => void;
101
+ }
102
+
103
+ interface DropdownMenuItem {
104
+ element: Ref<HTMLElement | undefined>;
105
+ disabled: Readonly<Ref<boolean>>;
106
+ }
107
+
108
+ interface DropdownMenuContext {
109
+ activeItem: Ref<DropdownMenuItem | undefined>;
110
+ registerItem: (item: DropdownMenuItem) => () => void;
111
+ setActiveItem: (item: DropdownMenuItem) => void;
112
+ }
113
+
114
+ interface DropdownPanelRef {
115
+ focus: (edge?: 'first' | 'last') => boolean;
116
+ }
117
+ ```
118
+
119
+
120
+ ## DropdownButton API
121
+
122
+ 公开声明:`dist/components/dropdown/index.d.ts`。 类型中的 undefined 表示可省略;原始 prop 默认值不等于继承配置或服务默认值。
123
+
124
+ ### Props
125
+
126
+ | 名称 | 用途 | 公开类型 | 必填 | 声明默认值 |
127
+ | --- | --- | --- | --- | --- |
128
+ | popupVisible | 弹出框是否可见 | undefined &#124; false &#124; true | 否 | undefined |
129
+ | defaultPopupVisible | 默认是否可见,非受控模式 | undefined &#124; false &#124; true | 否 | false |
130
+ | trigger | 触发方式 | undefined &#124; "click" &#124; "hover" &#124; "focus" &#124; "contextMenu" &#124; ("click" &#124; "hover" &#124; "focus" &#124; "contextMenu")[] | 否 | "click" |
131
+ | position | 弹出位置 | undefined &#124; "top" &#124; "bottom" &#124; "tl" &#124; "tr" &#124; "bl" &#124; "br" | 否 | "br" |
132
+ | popupContainer | 弹出层挂载容器 | undefined &#124; string &#124; HTMLElement | 否 | 未声明 |
133
+ | disabled | 是否禁用 | undefined &#124; false &#124; true | 否 | false |
134
+ | type | 按钮类型 | undefined &#124; "default" &#124; "primary" &#124; "dashed" &#124; "outline" &#124; "text" | 否 | "default" |
135
+ | size | 按钮尺寸 | undefined &#124; "mini" &#124; "small" &#124; "medium" &#124; "large" &#124; "huge" | 否 | "medium" |
136
+ | buttonProps | 左侧主按钮属性 | undefined &#124; { disabled?: boolean; block?: boolean; loading?: boolean; loadingFill?: boolean; debounce?: number; shape?: ButtonShape; link?: boolean; type?: ButtonTypes; htmlType?: ButtonHtmlType; status?: ButtonStatus; plain?: boolean; size?: ButtonSize; border?: boolean; narrow?: boolean; } | 否 | 未声明 |
137
+ | hideOnSelect | 选择后是否隐藏弹出层 | undefined &#124; false &#124; true | 否 | true |
138
+
139
+ ### Events
140
+
141
+ | 事件 | 用途 | 监听器签名(即事件参数) |
142
+ | --- | --- | --- |
143
+ | update:popupVisible | 弹出层显隐变化时触发 | undefined &#124; (visible: boolean) => any |
144
+ | popupVisibleChange | 弹出层显隐变化时触发 | undefined &#124; (visible: boolean) => any |
145
+ | click | 点击左侧主按钮时触发 | undefined &#124; (ev: MouseEvent) => any |
146
+ | select | 选中菜单项时触发 | undefined &#124; (value: string &#124; number &#124; Record<string, any> &#124; undefined, ev: Event) => any |
147
+
148
+ ### Slots
149
+
150
+ | 名称 | 用途 | 公开类型 |
151
+ | --- | --- | --- |
152
+ | default | 左侧主按钮内容 | 文档列出的实际插槽;公开类型未细化,作用域见场景用法 |
153
+ | icon | 右侧下拉按钮图标,参数为 popupVisible | 文档列出的实际插槽;公开类型未细化,作用域见场景用法 |
154
+ | content | 下拉菜单内容 | 文档列出的实际插槽;公开类型未细化,作用域见场景用法 |
155
+
156
+ ### 实例方法
157
+
158
+ 没有检索到显式 expose 或 Options API methods 的公开方法;不把 setup 内部函数当成稳定实例 API。
159
+
160
+ ### 关联类型定义
161
+
162
+ 以下摘自本组件族声明,供查阅嵌套配置;运行时和值类型均以根入口可导出项为准。
163
+
164
+ ```typescript-reference
165
+ type DropdownPosition = 'top' | 'tl' | 'tr' | 'bottom' | 'bl' | 'br';
166
+
167
+ interface DropDownProps {
168
+ popupVisible?: boolean;
169
+ defaultPopupVisible?: boolean;
170
+ trigger?: TriggerEvent | TriggerEvent[];
171
+ position?: DropdownPosition;
172
+ popupContainer?: string | HTMLElement;
173
+ popupMaxHeight?: boolean | number;
174
+ loading?: boolean;
175
+ isEmpty?: boolean;
176
+ bottomOffset?: number;
177
+ alignPoint?: boolean;
178
+ hideOnSelect?: boolean;
179
+ }
180
+
181
+ interface DOption {
182
+ value: string | number;
183
+ disabled?: boolean;
184
+ _props?: Record<string, any>;
185
+ _slots?: Slots;
186
+ }
187
+
188
+ interface DGroup {
189
+ isGroup: true;
190
+ options: DropdownOption[];
191
+ title?: string;
192
+ _props?: Record<string, any>;
193
+ _slots?: Slots;
194
+ }
195
+
196
+ interface DSubmenu extends DOption {
197
+ isSubmenu: true;
198
+ render: Slot;
199
+ children: DropdownOption[];
200
+ trigger?: TriggerEvent;
201
+ position?: TriggerPosition;
202
+ footer?: Slot;
203
+ }
204
+
205
+ type DropdownOption = DOption | DGroup | DSubmenu;
206
+
207
+ interface DropdownContext {
208
+ popupMaxHeight: boolean | number;
209
+ onOptionClick: (value: string | number | Record<string, unknown> | undefined, ev: Event) => void;
210
+ }
211
+
212
+ interface DropdownMenuItem {
213
+ element: Ref<HTMLElement | undefined>;
214
+ disabled: Readonly<Ref<boolean>>;
215
+ }
216
+
217
+ interface DropdownMenuContext {
218
+ activeItem: Ref<DropdownMenuItem | undefined>;
219
+ registerItem: (item: DropdownMenuItem) => () => void;
220
+ setActiveItem: (item: DropdownMenuItem) => void;
221
+ }
222
+
223
+ interface DropdownPanelRef {
224
+ focus: (edge?: 'first' | 'last') => boolean;
225
+ }
226
+ ```
227
+
228
+
229
+ ## DropdownGroup API
230
+
231
+ 公开声明:`dist/components/dropdown/index.d.ts`。 类型中的 undefined 表示可省略;原始 prop 默认值不等于继承配置或服务默认值。
232
+
233
+ ### Props
234
+
235
+ | 名称 | 用途 | 公开类型 | 必填 | 声明默认值 |
236
+ | --- | --- | --- | --- | --- |
237
+ | title | 分组标题 | undefined &#124; string | 否 | 未声明 |
238
+
239
+ ### Events
240
+
241
+ 未声明组件 emits;原生事件与包装透传按本页用法核实。
242
+
243
+ ### Slots
244
+
245
+ | 名称 | 用途 | 公开类型 |
246
+ | --- | --- | --- |
247
+ | title | 分组标题 | 文档列出的实际插槽;公开类型未细化,作用域见场景用法 |
248
+ | default | 分组内选项 | 文档列出的实际插槽;公开类型未细化,作用域见场景用法 |
249
+
250
+ ### 实例方法
251
+
252
+ 没有检索到显式 expose 或 Options API methods 的公开方法;不把 setup 内部函数当成稳定实例 API。
253
+
254
+ ### 关联类型定义
255
+
256
+ 以下摘自本组件族声明,供查阅嵌套配置;运行时和值类型均以根入口可导出项为准。
257
+
258
+ ```typescript-reference
259
+ type DropdownPosition = 'top' | 'tl' | 'tr' | 'bottom' | 'bl' | 'br';
260
+
261
+ interface DropDownProps {
262
+ popupVisible?: boolean;
263
+ defaultPopupVisible?: boolean;
264
+ trigger?: TriggerEvent | TriggerEvent[];
265
+ position?: DropdownPosition;
266
+ popupContainer?: string | HTMLElement;
267
+ popupMaxHeight?: boolean | number;
268
+ loading?: boolean;
269
+ isEmpty?: boolean;
270
+ bottomOffset?: number;
271
+ alignPoint?: boolean;
272
+ hideOnSelect?: boolean;
273
+ }
274
+
275
+ interface DOption {
276
+ value: string | number;
277
+ disabled?: boolean;
278
+ _props?: Record<string, any>;
279
+ _slots?: Slots;
280
+ }
281
+
282
+ interface DGroup {
283
+ isGroup: true;
284
+ options: DropdownOption[];
285
+ title?: string;
286
+ _props?: Record<string, any>;
287
+ _slots?: Slots;
288
+ }
289
+
290
+ interface DSubmenu extends DOption {
291
+ isSubmenu: true;
292
+ render: Slot;
293
+ children: DropdownOption[];
294
+ trigger?: TriggerEvent;
295
+ position?: TriggerPosition;
296
+ footer?: Slot;
297
+ }
298
+
299
+ type DropdownOption = DOption | DGroup | DSubmenu;
300
+
301
+ interface DropdownContext {
302
+ popupMaxHeight: boolean | number;
303
+ onOptionClick: (value: string | number | Record<string, unknown> | undefined, ev: Event) => void;
304
+ }
305
+
306
+ interface DropdownMenuItem {
307
+ element: Ref<HTMLElement | undefined>;
308
+ disabled: Readonly<Ref<boolean>>;
309
+ }
310
+
311
+ interface DropdownMenuContext {
312
+ activeItem: Ref<DropdownMenuItem | undefined>;
313
+ registerItem: (item: DropdownMenuItem) => () => void;
314
+ setActiveItem: (item: DropdownMenuItem) => void;
315
+ }
316
+
317
+ interface DropdownPanelRef {
318
+ focus: (edge?: 'first' | 'last') => boolean;
319
+ }
320
+ ```
321
+
322
+
323
+ ## DropdownOption API
324
+
325
+ 公开声明:`dist/components/dropdown/index.d.ts`。 类型中的 undefined 表示可省略;原始 prop 默认值不等于继承配置或服务默认值。
326
+
327
+ ### Props
328
+
329
+ | 名称 | 用途 | 公开类型 | 必填 | 声明默认值 |
330
+ | --- | --- | --- | --- | --- |
331
+ | value | 选项值,不传时使用文本内容 | undefined &#124; string &#124; number &#124; { [x: string]: any; } | 否 | 未声明 |
332
+ | disabled | 是否禁用 | undefined &#124; false &#124; true | 否 | false |
333
+ | active | 见场景用法与类型 | undefined &#124; false &#124; true | 否 | false(Vue Boolean 转换) |
334
+ | uninjectContext | 见场景用法与类型 | undefined &#124; false &#124; true | 否 | false(Vue Boolean 转换) |
335
+
336
+ ### Events
337
+
338
+ | 事件 | 用途 | 监听器签名(即事件参数) |
339
+ | --- | --- | --- |
340
+ | click | 点击或键盘激活选项时触发 | undefined &#124; (ev: Event) => any |
341
+
342
+ ### Slots
343
+
344
+ | 名称 | 用途 | 公开类型 |
345
+ | --- | --- | --- |
346
+ | default | 选项内容 | 文档列出的实际插槽;公开类型未细化,作用域见场景用法 |
347
+ | icon | 选项图标 | 文档列出的实际插槽;公开类型未细化,作用域见场景用法 |
348
+ | suffix | 选项后缀 | 文档列出的实际插槽;公开类型未细化,作用域见场景用法 |
349
+
350
+ ### 实例方法
351
+
352
+ 没有检索到显式 expose 或 Options API methods 的公开方法;不把 setup 内部函数当成稳定实例 API。
353
+
354
+ ### 关联类型定义
355
+
356
+ 以下摘自本组件族声明,供查阅嵌套配置;运行时和值类型均以根入口可导出项为准。
357
+
358
+ ```typescript-reference
359
+ type DropdownPosition = 'top' | 'tl' | 'tr' | 'bottom' | 'bl' | 'br';
360
+
361
+ interface DropDownProps {
362
+ popupVisible?: boolean;
363
+ defaultPopupVisible?: boolean;
364
+ trigger?: TriggerEvent | TriggerEvent[];
365
+ position?: DropdownPosition;
366
+ popupContainer?: string | HTMLElement;
367
+ popupMaxHeight?: boolean | number;
368
+ loading?: boolean;
369
+ isEmpty?: boolean;
370
+ bottomOffset?: number;
371
+ alignPoint?: boolean;
372
+ hideOnSelect?: boolean;
373
+ }
374
+
375
+ interface DOption {
376
+ value: string | number;
377
+ disabled?: boolean;
378
+ _props?: Record<string, any>;
379
+ _slots?: Slots;
380
+ }
381
+
382
+ interface DGroup {
383
+ isGroup: true;
384
+ options: DropdownOption[];
385
+ title?: string;
386
+ _props?: Record<string, any>;
387
+ _slots?: Slots;
388
+ }
389
+
390
+ interface DSubmenu extends DOption {
391
+ isSubmenu: true;
392
+ render: Slot;
393
+ children: DropdownOption[];
394
+ trigger?: TriggerEvent;
395
+ position?: TriggerPosition;
396
+ footer?: Slot;
397
+ }
398
+
399
+ type DropdownOption = DOption | DGroup | DSubmenu;
400
+
401
+ interface DropdownContext {
402
+ popupMaxHeight: boolean | number;
403
+ onOptionClick: (value: string | number | Record<string, unknown> | undefined, ev: Event) => void;
404
+ }
405
+
406
+ interface DropdownMenuItem {
407
+ element: Ref<HTMLElement | undefined>;
408
+ disabled: Readonly<Ref<boolean>>;
409
+ }
410
+
411
+ interface DropdownMenuContext {
412
+ activeItem: Ref<DropdownMenuItem | undefined>;
413
+ registerItem: (item: DropdownMenuItem) => () => void;
414
+ setActiveItem: (item: DropdownMenuItem) => void;
415
+ }
416
+
417
+ interface DropdownPanelRef {
418
+ focus: (edge?: 'first' | 'last') => boolean;
419
+ }
420
+ ```
421
+
422
+
423
+ ## DropdownSubmenu API
424
+
425
+ 公开声明:`dist/components/dropdown/index.d.ts`。 类型中的 undefined 表示可省略;原始 prop 默认值不等于继承配置或服务默认值。
426
+
427
+ ### Props
428
+
429
+ | 名称 | 用途 | 公开类型 | 必填 | 声明默认值 |
430
+ | --- | --- | --- | --- | --- |
431
+ | value | 见场景用法与类型 | undefined &#124; string &#124; number | 否 | 未声明 |
432
+ | disabled | 是否禁用 | undefined &#124; false &#124; true | 否 | false |
433
+ | trigger | 触发方式 | undefined &#124; "click" &#124; "hover" &#124; ("click" &#124; "hover")[] | 否 | "click" |
434
+ | position | 弹出位置 | undefined &#124; "lt" &#124; "rt" | 否 | "rt" |
435
+ | popupVisible | 弹出层是否可见 | undefined &#124; false &#124; true | 否 | undefined |
436
+ | defaultPopupVisible | 默认是否可见 | undefined &#124; false &#124; true | 否 | false |
437
+ | optionProps | 传给内部 DropdownOption 的属性 | undefined &#124; { [x: string]: any; } | 否 | 未声明 |
438
+
439
+ ### Events
440
+
441
+ | 事件 | 用途 | 监听器签名(即事件参数) |
442
+ | --- | --- | --- |
443
+ | update:popupVisible | 子菜单显隐变化时触发 | undefined &#124; (visible: boolean) => any |
444
+ | popupVisibleChange | 子菜单显隐变化时触发 | undefined &#124; (visible: boolean) => any |
445
+
446
+ ### Slots
447
+
448
+ | 名称 | 用途 | 公开类型 |
449
+ | --- | --- | --- |
450
+ | default | 子菜单触发项内容 | 文档列出的实际插槽;公开类型未细化,作用域见场景用法 |
451
+ | icon | 子菜单图标 | 文档列出的实际插槽;公开类型未细化,作用域见场景用法 |
452
+ | suffix | 子菜单后缀 | 文档列出的实际插槽;公开类型未细化,作用域见场景用法 |
453
+ | content | 子菜单内容 | 文档列出的实际插槽;公开类型未细化,作用域见场景用法 |
454
+ | footer | 子菜单底部 | 文档列出的实际插槽;公开类型未细化,作用域见场景用法 |
455
+
456
+ ### 实例方法
457
+
458
+ 没有检索到显式 expose 或 Options API methods 的公开方法;不把 setup 内部函数当成稳定实例 API。
459
+
460
+ ### 关联类型定义
461
+
462
+ 以下摘自本组件族声明,供查阅嵌套配置;运行时和值类型均以根入口可导出项为准。
463
+
464
+ ```typescript-reference
465
+ type DropdownPosition = 'top' | 'tl' | 'tr' | 'bottom' | 'bl' | 'br';
466
+
467
+ interface DropDownProps {
468
+ popupVisible?: boolean;
469
+ defaultPopupVisible?: boolean;
470
+ trigger?: TriggerEvent | TriggerEvent[];
471
+ position?: DropdownPosition;
472
+ popupContainer?: string | HTMLElement;
473
+ popupMaxHeight?: boolean | number;
474
+ loading?: boolean;
475
+ isEmpty?: boolean;
476
+ bottomOffset?: number;
477
+ alignPoint?: boolean;
478
+ hideOnSelect?: boolean;
479
+ }
480
+
481
+ interface DOption {
482
+ value: string | number;
483
+ disabled?: boolean;
484
+ _props?: Record<string, any>;
485
+ _slots?: Slots;
486
+ }
487
+
488
+ interface DGroup {
489
+ isGroup: true;
490
+ options: DropdownOption[];
491
+ title?: string;
492
+ _props?: Record<string, any>;
493
+ _slots?: Slots;
494
+ }
495
+
496
+ interface DSubmenu extends DOption {
497
+ isSubmenu: true;
498
+ render: Slot;
499
+ children: DropdownOption[];
500
+ trigger?: TriggerEvent;
501
+ position?: TriggerPosition;
502
+ footer?: Slot;
503
+ }
504
+
505
+ type DropdownOption = DOption | DGroup | DSubmenu;
506
+
507
+ interface DropdownContext {
508
+ popupMaxHeight: boolean | number;
509
+ onOptionClick: (value: string | number | Record<string, unknown> | undefined, ev: Event) => void;
510
+ }
511
+
512
+ interface DropdownMenuItem {
513
+ element: Ref<HTMLElement | undefined>;
514
+ disabled: Readonly<Ref<boolean>>;
515
+ }
516
+
517
+ interface DropdownMenuContext {
518
+ activeItem: Ref<DropdownMenuItem | undefined>;
519
+ registerItem: (item: DropdownMenuItem) => () => void;
520
+ setActiveItem: (item: DropdownMenuItem) => void;
521
+ }
522
+
523
+ interface DropdownPanelRef {
524
+ focus: (edge?: 'first' | 'last') => boolean;
525
+ }
526
+ ```
527
+
528
+
529
+ 返回 [Dropdown 用法](./dropdown.md)。