props.d.ts 17 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458
  1. import type { CSSProperties, PropType } from 'vue';
  2. import type { MouseEventHandler } from '../_util/EventInterface';
  3. export type Align = {
  4. points?: [string, string];
  5. offset?: [number, number];
  6. targetOffset?: [number, number];
  7. overflow?: {
  8. adjustX?: boolean;
  9. adjustY?: boolean;
  10. };
  11. useCssRight?: boolean;
  12. useCssBottom?: boolean;
  13. useCssTransform?: boolean;
  14. };
  15. export type Trigger = 'click' | 'hover' | 'contextmenu';
  16. export type DropdownArrowOptions = {
  17. pointAtCenter?: boolean;
  18. };
  19. declare const dropdownProps: () => {
  20. arrow: {
  21. type: PropType<boolean | DropdownArrowOptions>;
  22. default: boolean | DropdownArrowOptions;
  23. };
  24. trigger: {
  25. type: PropType<Trigger | Trigger[]>;
  26. };
  27. menu: {
  28. type: PropType<Partial<import("vue").ExtractPropTypes<{
  29. id: StringConstructor;
  30. prefixCls: StringConstructor;
  31. items: PropType<import("../menu").ItemType[]>;
  32. disabled: BooleanConstructor;
  33. inlineCollapsed: BooleanConstructor;
  34. disabledOverflow: BooleanConstructor;
  35. forceSubMenuRender: BooleanConstructor;
  36. openKeys: PropType<import("../_util/type").Key[]>;
  37. selectedKeys: PropType<import("../_util/type").Key[]>;
  38. activeKey: StringConstructor;
  39. selectable: {
  40. type: BooleanConstructor;
  41. default: boolean;
  42. };
  43. multiple: {
  44. type: BooleanConstructor;
  45. default: boolean;
  46. };
  47. tabindex: {
  48. type: (StringConstructor | NumberConstructor)[];
  49. };
  50. motion: PropType<import("../_util/transition").CSSMotionProps>;
  51. role: StringConstructor;
  52. theme: {
  53. type: PropType<import("../menu").MenuTheme>;
  54. default: string;
  55. };
  56. mode: {
  57. type: PropType<import("../menu").MenuMode>;
  58. default: string;
  59. };
  60. inlineIndent: {
  61. type: NumberConstructor;
  62. default: number;
  63. };
  64. subMenuOpenDelay: {
  65. type: NumberConstructor;
  66. default: number;
  67. };
  68. subMenuCloseDelay: {
  69. type: NumberConstructor;
  70. default: number;
  71. };
  72. builtinPlacements: {
  73. type: PropType<import("../menu/src/interface").BuiltinPlacements>;
  74. };
  75. triggerSubMenuAction: {
  76. type: PropType<import("../menu/src/interface").TriggerSubMenuAction>;
  77. default: string;
  78. };
  79. getPopupContainer: PropType<(node: HTMLElement) => HTMLElement>;
  80. expandIcon: PropType<(p?: {
  81. [key: string]: any;
  82. isOpen: boolean;
  83. }) => any>;
  84. onOpenChange: PropType<(keys: import("../_util/type").Key[]) => void>;
  85. onSelect: PropType<import("../menu/src/interface").SelectEventHandler>;
  86. onDeselect: PropType<import("../menu/src/interface").SelectEventHandler>;
  87. onClick: PropType<import("../menu/src/interface").MenuClickEventHandler>;
  88. onFocus: PropType<import("../_util/EventInterface").FocusEventHandler>;
  89. onBlur: PropType<import("../_util/EventInterface").FocusEventHandler>;
  90. onMousedown: PropType<MouseEventHandler>;
  91. 'onUpdate:openKeys': PropType<(keys: import("../_util/type").Key[]) => void>;
  92. 'onUpdate:selectedKeys': PropType<(keys: import("../_util/type").Key[]) => void>;
  93. 'onUpdate:activeKey': PropType<(key: import("../_util/type").Key) => void>;
  94. }>>>;
  95. default: Partial<import("vue").ExtractPropTypes<{
  96. id: StringConstructor;
  97. prefixCls: StringConstructor;
  98. items: PropType<import("../menu").ItemType[]>;
  99. disabled: BooleanConstructor;
  100. inlineCollapsed: BooleanConstructor;
  101. disabledOverflow: BooleanConstructor;
  102. forceSubMenuRender: BooleanConstructor;
  103. openKeys: PropType<import("../_util/type").Key[]>;
  104. selectedKeys: PropType<import("../_util/type").Key[]>;
  105. activeKey: StringConstructor;
  106. selectable: {
  107. type: BooleanConstructor;
  108. default: boolean;
  109. };
  110. multiple: {
  111. type: BooleanConstructor;
  112. default: boolean;
  113. };
  114. tabindex: {
  115. type: (StringConstructor | NumberConstructor)[];
  116. };
  117. motion: PropType<import("../_util/transition").CSSMotionProps>;
  118. role: StringConstructor;
  119. theme: {
  120. type: PropType<import("../menu").MenuTheme>;
  121. default: string;
  122. };
  123. mode: {
  124. type: PropType<import("../menu").MenuMode>;
  125. default: string;
  126. };
  127. inlineIndent: {
  128. type: NumberConstructor;
  129. default: number;
  130. };
  131. subMenuOpenDelay: {
  132. type: NumberConstructor;
  133. default: number;
  134. };
  135. subMenuCloseDelay: {
  136. type: NumberConstructor;
  137. default: number;
  138. };
  139. builtinPlacements: {
  140. type: PropType<import("../menu/src/interface").BuiltinPlacements>;
  141. };
  142. triggerSubMenuAction: {
  143. type: PropType<import("../menu/src/interface").TriggerSubMenuAction>;
  144. default: string;
  145. };
  146. getPopupContainer: PropType<(node: HTMLElement) => HTMLElement>;
  147. expandIcon: PropType<(p?: {
  148. [key: string]: any;
  149. isOpen: boolean;
  150. }) => any>;
  151. onOpenChange: PropType<(keys: import("../_util/type").Key[]) => void>;
  152. onSelect: PropType<import("../menu/src/interface").SelectEventHandler>;
  153. onDeselect: PropType<import("../menu/src/interface").SelectEventHandler>;
  154. onClick: PropType<import("../menu/src/interface").MenuClickEventHandler>;
  155. onFocus: PropType<import("../_util/EventInterface").FocusEventHandler>;
  156. onBlur: PropType<import("../_util/EventInterface").FocusEventHandler>;
  157. onMousedown: PropType<MouseEventHandler>;
  158. 'onUpdate:openKeys': PropType<(keys: import("../_util/type").Key[]) => void>;
  159. 'onUpdate:selectedKeys': PropType<(keys: import("../_util/type").Key[]) => void>;
  160. 'onUpdate:activeKey': PropType<(key: import("../_util/type").Key) => void>;
  161. }>>;
  162. };
  163. overlay: import("vue-types").VueTypeValidableDef<any>;
  164. /** @deprecated Please use `open` instead */
  165. visible: {
  166. type: BooleanConstructor;
  167. default: boolean;
  168. };
  169. open: {
  170. type: BooleanConstructor;
  171. default: boolean;
  172. };
  173. disabled: {
  174. type: BooleanConstructor;
  175. default: boolean;
  176. };
  177. danger: {
  178. type: BooleanConstructor;
  179. default: boolean;
  180. };
  181. autofocus: {
  182. type: BooleanConstructor;
  183. default: boolean;
  184. };
  185. align: {
  186. type: PropType<Align>;
  187. default: Align;
  188. };
  189. getPopupContainer: PropType<(triggerNode: HTMLElement) => HTMLElement>;
  190. prefixCls: StringConstructor;
  191. transitionName: StringConstructor;
  192. placement: PropType<"top" | "bottom" | "bottomLeft" | "bottomRight" | "topLeft" | "topRight" | "topCenter" | "bottomCenter">;
  193. overlayClassName: StringConstructor;
  194. overlayStyle: {
  195. type: PropType<CSSProperties>;
  196. default: CSSProperties;
  197. };
  198. forceRender: {
  199. type: BooleanConstructor;
  200. default: boolean;
  201. };
  202. mouseEnterDelay: NumberConstructor;
  203. mouseLeaveDelay: NumberConstructor;
  204. openClassName: StringConstructor;
  205. minOverlayWidthMatchTrigger: {
  206. type: BooleanConstructor;
  207. default: boolean;
  208. };
  209. destroyPopupOnHide: {
  210. type: BooleanConstructor;
  211. default: boolean;
  212. };
  213. /** @deprecated Please use `onOpenChange` instead */
  214. onVisibleChange: {
  215. type: PropType<(val: boolean) => void>;
  216. };
  217. /** @deprecated Please use `onUpdate:open` instead */
  218. 'onUpdate:visible': {
  219. type: PropType<(val: boolean) => void>;
  220. };
  221. onOpenChange: {
  222. type: PropType<(val: boolean) => void>;
  223. };
  224. 'onUpdate:open': {
  225. type: PropType<(val: boolean) => void>;
  226. };
  227. };
  228. declare const dropdownButtonProps: () => {
  229. type: PropType<import("../button/buttonTypes").ButtonType>;
  230. size: PropType<"small" | "large">;
  231. htmlType: {
  232. type: PropType<import("../button/buttonTypes").ButtonHTMLType>;
  233. default: string;
  234. };
  235. href: StringConstructor;
  236. disabled: {
  237. type: BooleanConstructor;
  238. default: boolean;
  239. };
  240. prefixCls: StringConstructor;
  241. icon: import("vue-types").VueTypeValidableDef<any>;
  242. title: StringConstructor;
  243. loading: {
  244. type: PropType<boolean | {
  245. delay?: number;
  246. }>;
  247. default: () => boolean | {
  248. delay?: number;
  249. };
  250. };
  251. onClick: {
  252. type: PropType<MouseEventHandler | MouseEventHandler[]>;
  253. };
  254. arrow: {
  255. type: PropType<boolean | DropdownArrowOptions>;
  256. default: boolean | DropdownArrowOptions;
  257. };
  258. trigger: {
  259. type: PropType<Trigger | Trigger[]>;
  260. };
  261. menu: {
  262. type: PropType<Partial<import("vue").ExtractPropTypes<{
  263. id: StringConstructor;
  264. prefixCls: StringConstructor;
  265. items: PropType<import("../menu").ItemType[]>;
  266. disabled: BooleanConstructor;
  267. inlineCollapsed: BooleanConstructor;
  268. disabledOverflow: BooleanConstructor;
  269. forceSubMenuRender: BooleanConstructor;
  270. openKeys: PropType<import("../_util/type").Key[]>;
  271. selectedKeys: PropType<import("../_util/type").Key[]>;
  272. activeKey: StringConstructor;
  273. selectable: {
  274. type: BooleanConstructor;
  275. default: boolean;
  276. };
  277. multiple: {
  278. type: BooleanConstructor;
  279. default: boolean;
  280. };
  281. tabindex: {
  282. type: (StringConstructor | NumberConstructor)[];
  283. };
  284. motion: PropType<import("../_util/transition").CSSMotionProps>;
  285. role: StringConstructor;
  286. theme: {
  287. type: PropType<import("../menu").MenuTheme>;
  288. default: string;
  289. };
  290. mode: {
  291. type: PropType<import("../menu").MenuMode>;
  292. default: string;
  293. };
  294. inlineIndent: {
  295. type: NumberConstructor;
  296. default: number;
  297. };
  298. subMenuOpenDelay: {
  299. type: NumberConstructor;
  300. default: number;
  301. };
  302. subMenuCloseDelay: {
  303. type: NumberConstructor;
  304. default: number;
  305. };
  306. builtinPlacements: {
  307. type: PropType<import("../menu/src/interface").BuiltinPlacements>;
  308. };
  309. triggerSubMenuAction: {
  310. type: PropType<import("../menu/src/interface").TriggerSubMenuAction>;
  311. default: string;
  312. };
  313. getPopupContainer: PropType<(node: HTMLElement) => HTMLElement>;
  314. expandIcon: PropType<(p?: {
  315. [key: string]: any;
  316. isOpen: boolean;
  317. }) => any>;
  318. onOpenChange: PropType<(keys: import("../_util/type").Key[]) => void>;
  319. onSelect: PropType<import("../menu/src/interface").SelectEventHandler>;
  320. onDeselect: PropType<import("../menu/src/interface").SelectEventHandler>;
  321. onClick: PropType<import("../menu/src/interface").MenuClickEventHandler>;
  322. onFocus: PropType<import("../_util/EventInterface").FocusEventHandler>;
  323. onBlur: PropType<import("../_util/EventInterface").FocusEventHandler>;
  324. onMousedown: PropType<MouseEventHandler>;
  325. 'onUpdate:openKeys': PropType<(keys: import("../_util/type").Key[]) => void>;
  326. 'onUpdate:selectedKeys': PropType<(keys: import("../_util/type").Key[]) => void>;
  327. 'onUpdate:activeKey': PropType<(key: import("../_util/type").Key) => void>;
  328. }>>>;
  329. default: Partial<import("vue").ExtractPropTypes<{
  330. id: StringConstructor;
  331. prefixCls: StringConstructor;
  332. items: PropType<import("../menu").ItemType[]>;
  333. disabled: BooleanConstructor;
  334. inlineCollapsed: BooleanConstructor;
  335. disabledOverflow: BooleanConstructor;
  336. forceSubMenuRender: BooleanConstructor;
  337. openKeys: PropType<import("../_util/type").Key[]>;
  338. selectedKeys: PropType<import("../_util/type").Key[]>;
  339. activeKey: StringConstructor;
  340. selectable: {
  341. type: BooleanConstructor;
  342. default: boolean;
  343. };
  344. multiple: {
  345. type: BooleanConstructor;
  346. default: boolean;
  347. };
  348. tabindex: {
  349. type: (StringConstructor | NumberConstructor)[];
  350. };
  351. motion: PropType<import("../_util/transition").CSSMotionProps>;
  352. role: StringConstructor;
  353. theme: {
  354. type: PropType<import("../menu").MenuTheme>;
  355. default: string;
  356. };
  357. mode: {
  358. type: PropType<import("../menu").MenuMode>;
  359. default: string;
  360. };
  361. inlineIndent: {
  362. type: NumberConstructor;
  363. default: number;
  364. };
  365. subMenuOpenDelay: {
  366. type: NumberConstructor;
  367. default: number;
  368. };
  369. subMenuCloseDelay: {
  370. type: NumberConstructor;
  371. default: number;
  372. };
  373. builtinPlacements: {
  374. type: PropType<import("../menu/src/interface").BuiltinPlacements>;
  375. };
  376. triggerSubMenuAction: {
  377. type: PropType<import("../menu/src/interface").TriggerSubMenuAction>;
  378. default: string;
  379. };
  380. getPopupContainer: PropType<(node: HTMLElement) => HTMLElement>;
  381. expandIcon: PropType<(p?: {
  382. [key: string]: any;
  383. isOpen: boolean;
  384. }) => any>;
  385. onOpenChange: PropType<(keys: import("../_util/type").Key[]) => void>;
  386. onSelect: PropType<import("../menu/src/interface").SelectEventHandler>;
  387. onDeselect: PropType<import("../menu/src/interface").SelectEventHandler>;
  388. onClick: PropType<import("../menu/src/interface").MenuClickEventHandler>;
  389. onFocus: PropType<import("../_util/EventInterface").FocusEventHandler>;
  390. onBlur: PropType<import("../_util/EventInterface").FocusEventHandler>;
  391. onMousedown: PropType<MouseEventHandler>;
  392. 'onUpdate:openKeys': PropType<(keys: import("../_util/type").Key[]) => void>;
  393. 'onUpdate:selectedKeys': PropType<(keys: import("../_util/type").Key[]) => void>;
  394. 'onUpdate:activeKey': PropType<(key: import("../_util/type").Key) => void>;
  395. }>>;
  396. };
  397. overlay: import("vue-types").VueTypeValidableDef<any>;
  398. /** @deprecated Please use `open` instead */
  399. visible: {
  400. type: BooleanConstructor;
  401. default: boolean;
  402. };
  403. open: {
  404. type: BooleanConstructor;
  405. default: boolean;
  406. };
  407. danger: {
  408. type: BooleanConstructor;
  409. default: boolean;
  410. };
  411. autofocus: {
  412. type: BooleanConstructor;
  413. default: boolean;
  414. };
  415. align: {
  416. type: PropType<Align>;
  417. default: Align;
  418. };
  419. getPopupContainer: PropType<(triggerNode: HTMLElement) => HTMLElement>;
  420. transitionName: StringConstructor;
  421. placement: PropType<"top" | "bottom" | "bottomLeft" | "bottomRight" | "topLeft" | "topRight" | "topCenter" | "bottomCenter">;
  422. overlayClassName: StringConstructor;
  423. overlayStyle: {
  424. type: PropType<CSSProperties>;
  425. default: CSSProperties;
  426. };
  427. forceRender: {
  428. type: BooleanConstructor;
  429. default: boolean;
  430. };
  431. mouseEnterDelay: NumberConstructor;
  432. mouseLeaveDelay: NumberConstructor;
  433. openClassName: StringConstructor;
  434. minOverlayWidthMatchTrigger: {
  435. type: BooleanConstructor;
  436. default: boolean;
  437. };
  438. destroyPopupOnHide: {
  439. type: BooleanConstructor;
  440. default: boolean;
  441. };
  442. /** @deprecated Please use `onOpenChange` instead */
  443. onVisibleChange: {
  444. type: PropType<(val: boolean) => void>;
  445. };
  446. /** @deprecated Please use `onUpdate:open` instead */
  447. 'onUpdate:visible': {
  448. type: PropType<(val: boolean) => void>;
  449. };
  450. onOpenChange: {
  451. type: PropType<(val: boolean) => void>;
  452. };
  453. 'onUpdate:open': {
  454. type: PropType<(val: boolean) => void>;
  455. };
  456. };
  457. export { dropdownProps, dropdownButtonProps };
  458. export default dropdownProps;