props.js 3.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114
  1. import { stringType, arrayType, someType, booleanType, objectType, functionType } from '../../_util/type';
  2. const DataPickerPlacements = ['bottomLeft', 'bottomRight', 'topLeft', 'topRight'];
  3. function commonProps() {
  4. return {
  5. id: String,
  6. /**
  7. * @deprecated `dropdownClassName` is deprecated which will be removed in next major
  8. * version.Please use `popupClassName` instead.
  9. */
  10. dropdownClassName: String,
  11. popupClassName: String,
  12. popupStyle: objectType(),
  13. transitionName: String,
  14. placeholder: String,
  15. allowClear: booleanType(),
  16. autofocus: booleanType(),
  17. disabled: booleanType(),
  18. tabindex: Number,
  19. open: booleanType(),
  20. defaultOpen: booleanType(),
  21. /** Make input readOnly to avoid popup keyboard in mobile */
  22. inputReadOnly: booleanType(),
  23. format: someType([String, Function, Array]),
  24. // Value
  25. // format: string | CustomFormat<DateType> | (string | CustomFormat<DateType>)[];
  26. // Render
  27. // suffixIcon?: VueNode;
  28. // clearIcon?: VueNode;
  29. // prevIcon?: VueNode;
  30. // nextIcon?: VueNode;
  31. // superPrevIcon?: VueNode;
  32. // superNextIcon?: VueNode;
  33. getPopupContainer: functionType(),
  34. panelRender: functionType(),
  35. // // Events
  36. onChange: functionType(),
  37. 'onUpdate:value': functionType(),
  38. onOk: functionType(),
  39. onOpenChange: functionType(),
  40. 'onUpdate:open': functionType(),
  41. onFocus: functionType(),
  42. onBlur: functionType(),
  43. onMousedown: functionType(),
  44. onMouseup: functionType(),
  45. onMouseenter: functionType(),
  46. onMouseleave: functionType(),
  47. onClick: functionType(),
  48. onContextmenu: functionType(),
  49. onKeydown: functionType(),
  50. // WAI-ARIA
  51. role: String,
  52. name: String,
  53. autocomplete: String,
  54. direction: stringType(),
  55. showToday: booleanType(),
  56. showTime: someType([Boolean, Object]),
  57. locale: objectType(),
  58. size: stringType(),
  59. bordered: booleanType(),
  60. dateRender: functionType(),
  61. disabledDate: functionType(),
  62. mode: stringType(),
  63. picker: stringType(),
  64. valueFormat: String,
  65. placement: stringType(),
  66. status: stringType(),
  67. /** @deprecated Please use `disabledTime` instead. */
  68. disabledHours: functionType(),
  69. /** @deprecated Please use `disabledTime` instead. */
  70. disabledMinutes: functionType(),
  71. /** @deprecated Please use `disabledTime` instead. */
  72. disabledSeconds: functionType()
  73. };
  74. }
  75. function datePickerProps() {
  76. return {
  77. defaultPickerValue: someType([Object, String]),
  78. defaultValue: someType([Object, String]),
  79. value: someType([Object, String]),
  80. presets: arrayType(),
  81. disabledTime: functionType(),
  82. renderExtraFooter: functionType(),
  83. showNow: booleanType(),
  84. monthCellRender: functionType(),
  85. // deprecated Please use `monthCellRender"` instead.',
  86. monthCellContentRender: functionType()
  87. };
  88. }
  89. function rangePickerProps() {
  90. return {
  91. allowEmpty: arrayType(),
  92. dateRender: functionType(),
  93. defaultPickerValue: arrayType(),
  94. defaultValue: arrayType(),
  95. value: arrayType(),
  96. presets: arrayType(),
  97. disabledTime: functionType(),
  98. disabled: someType([Boolean, Array]),
  99. renderExtraFooter: functionType(),
  100. separator: {
  101. type: String
  102. },
  103. showTime: someType([Boolean, Object]),
  104. ranges: objectType(),
  105. placeholder: arrayType(),
  106. mode: arrayType(),
  107. onChange: functionType(),
  108. 'onUpdate:value': functionType(),
  109. onCalendarChange: functionType(),
  110. onPanelChange: functionType(),
  111. onOk: functionType()
  112. };
  113. }
  114. export { commonProps, datePickerProps, rangePickerProps };