import { buildProps, definePropType } from "../../../utils/vue/props/runtime.mjs";
import { useSizeProp } from "../../../hooks/use-size/index.mjs";
import { useEmptyValuesProps } from "../../../hooks/use-empty-values/index.mjs";
import { CircleClose as circle_close_default, Clock as clock_default } from "../../../../../@element-plus/icons-vue/dist/index.mjs";
const DEFAULT_STEP = "00:30";
const timeSelectProps = buildProps({
  format: {
    type: String,
    default: "HH:mm"
  },
  modelValue: { type: definePropType(String) },
  disabled: {
    type: Boolean,
    default: void 0
  },
  editable: {
    type: Boolean,
    default: true
  },
  effect: {
    type: definePropType(String),
    default: "light"
  },
  clearable: {
    type: Boolean,
    default: true
  },
  size: useSizeProp,
  placeholder: String,
  start: {
    type: String,
    default: "09:00"
  },
  end: {
    type: String,
    default: "18:00"
  },
  step: {
    type: String,
    default: DEFAULT_STEP
  },
  minTime: { type: definePropType(String) },
  maxTime: { type: definePropType(String) },
  includeEndTime: Boolean,
  name: String,
  prefixIcon: {
    type: definePropType([String, Object]),
    default: () => clock_default
  },
  clearIcon: {
    type: definePropType([String, Object]),
    default: () => circle_close_default
  },
  popperClass: {
    type: String,
    default: ""
  },
  popperStyle: { type: definePropType([String, Object]) },
  ...useEmptyValuesProps
});
export {
  DEFAULT_STEP,
  timeSelectProps
};
