interface.js 3.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103
  1. import _extends from 'babel-runtime/helpers/extends';
  2. // import { TimePickerProps } from '../time-picker'
  3. import PropTypes from '../_util/vue-types';
  4. import { TimesType, TimeType } from '../_util/moment-util';
  5. export var PickerProps = function PickerProps() {
  6. return {
  7. name: PropTypes.string,
  8. transitionName: PropTypes.string,
  9. prefixCls: PropTypes.string,
  10. inputPrefixCls: PropTypes.string,
  11. format: PropTypes.oneOfType([PropTypes.string, PropTypes.array, PropTypes.func]),
  12. disabled: PropTypes.bool,
  13. allowClear: PropTypes.bool,
  14. suffixIcon: PropTypes.any,
  15. popupStyle: PropTypes.object,
  16. dropdownClassName: PropTypes.string,
  17. locale: PropTypes.any,
  18. localeCode: PropTypes.string,
  19. size: PropTypes.oneOf(['large', 'small', 'default']),
  20. getCalendarContainer: PropTypes.func,
  21. open: PropTypes.bool,
  22. // onOpenChange: PropTypes.(status: bool) => void,
  23. disabledDate: PropTypes.func,
  24. showToday: PropTypes.bool,
  25. dateRender: PropTypes.any, // (current: moment.Moment, today: moment.Moment) => React.ReactNode,
  26. pickerClass: PropTypes.string,
  27. pickerInputClass: PropTypes.string,
  28. timePicker: PropTypes.any,
  29. autoFocus: PropTypes.bool,
  30. tagPrefixCls: PropTypes.string,
  31. tabIndex: PropTypes.oneOfType([PropTypes.string, PropTypes.number]),
  32. align: PropTypes.object.def(function () {
  33. return {};
  34. }),
  35. inputReadOnly: PropTypes.bool,
  36. valueFormat: PropTypes.string
  37. };
  38. };
  39. export var SinglePickerProps = function SinglePickerProps() {
  40. return {
  41. value: TimeType,
  42. defaultValue: TimeType,
  43. defaultPickerValue: TimeType,
  44. renderExtraFooter: PropTypes.any,
  45. placeholder: PropTypes.string
  46. // onChange?: (date: moment.Moment, dateString: string) => void;
  47. };
  48. };
  49. export var DatePickerProps = function DatePickerProps() {
  50. return _extends({}, PickerProps(), SinglePickerProps(), {
  51. showTime: PropTypes.oneOfType([PropTypes.object, PropTypes.bool]),
  52. open: PropTypes.bool,
  53. disabledTime: PropTypes.func,
  54. // onOpenChange?: (status: bool) => void;
  55. // onOk?: (selectedTime: moment.Moment) => void;
  56. mode: PropTypes.oneOf(['time', 'date', 'month', 'year', 'decade'])
  57. });
  58. };
  59. export var MonthPickerProps = function MonthPickerProps() {
  60. return _extends({}, PickerProps(), SinglePickerProps(), {
  61. placeholder: PropTypes.string,
  62. monthCellContentRender: PropTypes.func
  63. });
  64. };
  65. // export const RangePickerPresetRange = PropTypes.oneOfType([TimesType, PropTypes.func])
  66. export var RangePickerProps = function RangePickerProps() {
  67. return _extends({}, PickerProps(), {
  68. tagPrefixCls: PropTypes.string,
  69. value: TimesType,
  70. defaultValue: TimesType,
  71. defaultPickerValue: TimesType,
  72. timePicker: PropTypes.any,
  73. // onChange?: (dates: TimesType, dateStrings: [string, string]) => void;
  74. // onCalendarChange?: (dates: TimesType, dateStrings: [string, string]) => void;
  75. // onOk?: (selectedTime: moment.Moment) => void;
  76. showTime: PropTypes.oneOfType([PropTypes.object, PropTypes.bool]),
  77. ranges: PropTypes.object,
  78. placeholder: PropTypes.arrayOf(String),
  79. mode: PropTypes.oneOfType([PropTypes.string, PropTypes.arrayOf(String)]),
  80. separator: PropTypes.any,
  81. disabledTime: PropTypes.func,
  82. showToday: PropTypes.bool,
  83. renderExtraFooter: PropTypes.any
  84. // onPanelChange?: (value?: TimesType, mode?: string | string[]) => void;
  85. });
  86. };
  87. export var WeekPickerProps = function WeekPickerProps() {
  88. return _extends({}, PickerProps(), SinglePickerProps(), {
  89. placeholder: PropTypes.string
  90. });
  91. };
  92. // export interface DatePickerDecorator extends React.ClassicComponentClass<DatePickerProps> {
  93. // RangePicker: React.ClassicComponentClass<RangePickerProps>;
  94. // MonthPicker: React.ClassicComponentClass<MonthPickerProps>;
  95. // WeekPicker: React.ClassicComponentClass<WeexPickerProps>;
  96. // }