'use strict';

require('../../../../utils/index.cjs');
var propType = require('../../../../utils/vue/propType.cjs');

const DataPickerPlacements = ["bottomLeft", "bottomRight", "topLeft", "topRight"];
function commonProps() {
  return {
    "id": String,
    /**
     * @deprecated `dropdownClassName` is deprecated which will be removed in next major
     *   version.Please use `popupClassName` instead.
     */
    "dropdownClassName": String,
    "popupClassName": String,
    "popupStyle": propType.objectType(),
    "transitionName": String,
    "placeholder": String,
    "allowClear": propType.booleanType(),
    "autofocus": propType.booleanType(),
    "disabled": propType.booleanType(),
    "tabindex": Number,
    "open": propType.booleanType(),
    "defaultOpen": propType.booleanType(),
    /** Make input readOnly to avoid popup keyboard in mobile */
    "inputReadOnly": propType.booleanType(),
    "format": propType.someType([
      String,
      Function,
      Array
    ]),
    // Value
    // format:  string | CustomFormat<DateType> | (string | CustomFormat<DateType>)[];
    // Render
    // suffixIcon?: VueNode;
    // clearIcon?: VueNode;
    // prevIcon?: VueNode;
    // nextIcon?: VueNode;
    // superPrevIcon?: VueNode;
    // superNextIcon?: VueNode;
    "getPopupContainer": propType.functionType(),
    "panelRender": propType.functionType(),
    // // Events
    "onChange": propType.functionType(),
    "onUpdate:value": propType.functionType(),
    "onOk": propType.functionType(),
    "onOpenChange": propType.functionType(),
    "onUpdate:open": propType.functionType(),
    "onFocus": propType.functionType(),
    "onBlur": propType.functionType(),
    "onMousedown": propType.functionType(),
    "onMouseup": propType.functionType(),
    "onMouseenter": propType.functionType(),
    "onMouseleave": propType.functionType(),
    "onClick": propType.functionType(),
    "onContextmenu": propType.functionType(),
    "onKeydown": propType.functionType(),
    // WAI-ARIA
    "role": String,
    "name": String,
    "autocomplete": String,
    "direction": propType.stringType(),
    "showToday": propType.booleanType(),
    "showTime": propType.someType([Boolean, Object]),
    "locale": propType.objectType(),
    "size": propType.stringType(),
    "bordered": propType.booleanType(),
    "dateRender": propType.functionType(),
    "disabledDate": propType.functionType(),
    "mode": propType.stringType(),
    "picker": propType.stringType(),
    "valueFormat": String,
    "placement": propType.stringType(),
    "status": propType.stringType(),
    /** @deprecated Please use `disabledTime` instead. */
    "disabledHours": propType.functionType(),
    /** @deprecated Please use `disabledTime` instead. */
    "disabledMinutes": propType.functionType(),
    /** @deprecated Please use `disabledTime` instead. */
    "disabledSeconds": propType.functionType()
  };
}
function datePickerProps() {
  return {
    defaultPickerValue: propType.someType([Object, String]),
    defaultValue: propType.someType([Object, String]),
    value: propType.someType([Object, String]),
    presets: propType.arrayType(),
    disabledTime: propType.functionType(),
    renderExtraFooter: propType.functionType(),
    showNow: propType.booleanType(),
    monthCellRender: propType.functionType(),
    // deprecated  Please use `monthCellRender"` instead.',
    monthCellContentRender: propType.functionType()
  };
}
function rangePickerProps() {
  return {
    "allowEmpty": propType.arrayType(),
    "dateRender": propType.functionType(),
    "defaultPickerValue": propType.arrayType(),
    "defaultValue": propType.arrayType(),
    "value": propType.arrayType(),
    "presets": propType.arrayType(),
    "disabledTime": propType.functionType(),
    "disabled": propType.someType([Boolean, Array]),
    "renderExtraFooter": propType.functionType(),
    "separator": { type: String },
    "showTime": propType.someType([Boolean, Object]),
    "ranges": propType.objectType(),
    "placeholder": propType.arrayType(),
    "mode": propType.arrayType(),
    "onChange": propType.functionType(),
    "onUpdate:value": propType.functionType(),
    "onCalendarChange": propType.functionType(),
    "onPanelChange": propType.functionType(),
    "onOk": propType.functionType()
  };
}

exports.commonProps = commonProps;
exports.datePickerProps = datePickerProps;
exports.rangePickerProps = rangePickerProps;
//# sourceMappingURL=props.cjs.map
