import '../../../../utils/index.mjs';
import '../../../../hooks/index.mjs';
import { CircleClose } from '@element-plus/icons-vue';
import { disabledTimeListsProps } from '../props/shared.mjs';
import { buildProps, definePropType } from '../../../../utils/vue/props/runtime.mjs';
import { useSizeProp } from '../../../../hooks/use-common-props/index.mjs';

const timePickerDefaultProps = buildProps({
  id: {
    type: definePropType([Array, String])
  },
  name: {
    type: definePropType([Array, String]),
    default: ""
  },
  popperClass: {
    type: String,
    default: ""
  },
  format: String,
  valueFormat: String,
  type: {
    type: String,
    default: ""
  },
  clearable: {
    type: Boolean,
    default: true
  },
  clearIcon: {
    type: definePropType([String, Object]),
    default: CircleClose
  },
  editable: {
    type: Boolean,
    default: false
  },
  prefixIcon: {
    type: definePropType([String, Object]),
    default: ""
  },
  size: useSizeProp,
  readonly: {
    type: Boolean,
    default: false
  },
  disabled: {
    type: Boolean,
    default: false
  },
  disabledStart: Boolean,
  disabledEnd: Boolean,
  onlyStart: {
    type: definePropType([Function, Boolean]),
    default: false
  },
  keepTime: Boolean,
  datePickerLimit: {
    type: Number
  },
  placeholder: {
    type: String,
    default: ""
  },
  popperOptions: {
    type: definePropType(Object),
    default: () => ({})
  },
  modelValue: {
    type: definePropType([Date, Array, String, Number]),
    default: ""
  },
  rangeSeparator: {
    type: String,
    default: "-"
  },
  startPlaceholder: String,
  endPlaceholder: String,
  defaultValue: {
    type: definePropType([Date, Array])
  },
  defaultTime: {
    type: definePropType([Date, Array])
  },
  now: {
    type: definePropType(Object),
    required: false
  },
  isRange: {
    type: Boolean,
    default: false
  },
  ...disabledTimeListsProps,
  disabledDate: {
    type: Function
  },
  cellClassName: {
    type: Function
  },
  shortcuts: {
    type: Array,
    default: () => []
  },
  pickerOptions: {
    type: definePropType(Object),
    default: () => ({})
  },
  arrowControl: {
    type: Boolean,
    default: false
  },
  label: {
    type: String,
    default: void 0
  },
  tabindex: {
    type: definePropType([String, Number]),
    default: 0
  },
  validateEvent: {
    type: Boolean,
    default: true
  },
  persistent: {
    type: Boolean,
    default: true
  },
  unlinkPanels: Boolean,
  step: Boolean,
  sameDayAutoAddTime: {
    type: Boolean,
    default: true
  },
  dateQuantum: {
    type: Number,
    default: 7
  },
  acrossDays: Boolean,
  enableStartSyncEnd: {
    type: definePropType([Boolean, Number]),
    default: false
  },
  enableStartSyncEndToBefore: {
    type: definePropType([Boolean, Number]),
    default: false
  }
});

export { timePickerDefaultProps };
//# sourceMappingURL=props.mjs.map
