props.js 1.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960
  1. import _extends from "@babel/runtime/helpers/esm/extends";
  2. import PropTypes from '../_util/vue-types';
  3. import buttonTypes from '../button/buttonTypes';
  4. import { booleanType, eventType, objectType, someType } from '../_util/type';
  5. const dropdownProps = () => ({
  6. arrow: someType([Boolean, Object]),
  7. trigger: {
  8. type: [Array, String]
  9. },
  10. menu: objectType(),
  11. overlay: PropTypes.any,
  12. /** @deprecated Please use `open` instead */
  13. visible: booleanType(),
  14. open: booleanType(),
  15. disabled: booleanType(),
  16. danger: booleanType(),
  17. autofocus: booleanType(),
  18. align: objectType(),
  19. getPopupContainer: Function,
  20. prefixCls: String,
  21. transitionName: String,
  22. placement: String,
  23. overlayClassName: String,
  24. overlayStyle: objectType(),
  25. forceRender: booleanType(),
  26. mouseEnterDelay: Number,
  27. mouseLeaveDelay: Number,
  28. openClassName: String,
  29. minOverlayWidthMatchTrigger: booleanType(),
  30. destroyPopupOnHide: booleanType(),
  31. /** @deprecated Please use `onOpenChange` instead */
  32. onVisibleChange: {
  33. type: Function
  34. },
  35. /** @deprecated Please use `onUpdate:open` instead */
  36. 'onUpdate:visible': {
  37. type: Function
  38. },
  39. onOpenChange: {
  40. type: Function
  41. },
  42. 'onUpdate:open': {
  43. type: Function
  44. }
  45. });
  46. const buttonTypesProps = buttonTypes();
  47. const dropdownButtonProps = () => _extends(_extends({}, dropdownProps()), {
  48. type: buttonTypesProps.type,
  49. size: String,
  50. htmlType: buttonTypesProps.htmlType,
  51. href: String,
  52. disabled: booleanType(),
  53. prefixCls: String,
  54. icon: PropTypes.any,
  55. title: String,
  56. loading: buttonTypesProps.loading,
  57. onClick: eventType()
  58. });
  59. export { dropdownProps, dropdownButtonProps };
  60. export default dropdownProps;