{"version":3,"file":"time-select.mjs","names":[],"sources":["../../../../../../packages/components/time-select/src/time-select.ts"],"sourcesContent":["import { buildProps, definePropType } from '@element-plus/utils'\nimport { CircleClose, Clock } from '@element-plus/icons-vue'\nimport { useEmptyValuesProps, useSizeProp } from '@element-plus/hooks'\n\nimport type { UseEmptyValuesProps } from '@element-plus/hooks'\nimport type { PopperEffect } from '@element-plus/components/popper'\nimport type TimeSelect from './time-select.vue'\nimport type { CSSProperties, Component, ExtractPublicPropTypes } from 'vue'\nimport type { ComponentSize } from '@element-plus/constants'\nimport type { IconPropType } from '@element-plus/utils'\n\nexport interface TimeSelectProps extends UseEmptyValuesProps {\n  /**\n   * @description set format of time\n   */\n  format?: string\n  /**\n   * @description binding value\n   */\n  modelValue?: string | null\n  /**\n   * @description whether TimeSelect is disabled\n   */\n  disabled?: boolean\n  /**\n   * @description whether the input is editable\n   */\n  editable?: boolean\n  /**\n   * @description Tooltip theme, built-in theme: `dark` / `light`\n   */\n  effect?: PopperEffect\n  /**\n   * @description whether to show clear button\n   */\n  clearable?: boolean\n  /**\n   * @description size of Input\n   */\n  size?: ComponentSize\n  /**\n   * @description placeholder in non-range mode\n   */\n  placeholder?: string\n  /**\n   * @description start time\n   */\n  start?: string\n  /**\n   * @description end time\n   */\n  end?: string\n  /**\n   * @description time step\n   */\n  step?: string\n  /**\n   * @description minimum time, any time before this time will be disabled\n   */\n  minTime?: string | null\n  /**\n   * @description maximum time, any time after this time will be disabled\n   */\n  maxTime?: string | null\n  /**\n   * @description whether `end` is included in options\n   */\n  includeEndTime?: boolean\n  /**\n   * @description same as `name` in native input\n   */\n  name?: string\n  /**\n   * @description custom prefix icon component\n   */\n  prefixIcon?: IconPropType\n  /**\n   * @description custom clear icon component\n   */\n  clearIcon?: IconPropType\n  /**\n   * @description custom class name for TimeSelect's dropdown\n   */\n  popperClass?: string\n  /**\n   * @description custom style for TimeSelect's dropdown\n   */\n  popperStyle?: string | CSSProperties\n}\n\nexport const DEFAULT_STEP = '00:30'\n\n/**\n * @deprecated Removed after 3.0.0, Use `TimeSelectProps` instead.\n */\nexport const timeSelectProps = buildProps({\n  /**\n   * @description set format of time\n   */\n  format: {\n    type: String,\n    default: 'HH:mm',\n  },\n  /**\n   * @description binding value\n   */\n  modelValue: {\n    type: definePropType<string | null>(String),\n  },\n  /**\n   * @description whether TimeSelect is disabled\n   */\n  disabled: {\n    type: Boolean,\n    default: undefined,\n  },\n  /**\n   * @description whether the input is editable\n   */\n  editable: {\n    type: Boolean,\n    default: true,\n  },\n  /**\n   * @description Tooltip theme, built-in theme: `dark` / `light`\n   */\n  effect: {\n    type: definePropType<PopperEffect>(String),\n    default: 'light',\n  },\n  /**\n   * @description whether to show clear button\n   */\n  clearable: {\n    type: Boolean,\n    default: true,\n  },\n  /**\n   * @description size of Input\n   */\n  size: useSizeProp,\n  /**\n   * @description placeholder in non-range mode\n   */\n  placeholder: String,\n  /**\n   * @description start time\n   */\n  start: {\n    type: String,\n    default: '09:00',\n  },\n  /**\n   * @description end time\n   */\n  end: {\n    type: String,\n    default: '18:00',\n  },\n  /**\n   * @description time step\n   */\n  step: {\n    type: String,\n    default: DEFAULT_STEP,\n  },\n  /**\n   * @description minimum time, any time before this time will be disabled\n   */\n  minTime: {\n    type: definePropType<string | null>(String),\n  },\n  /**\n   * @description maximum time, any time after this time will be disabled\n   */\n  maxTime: {\n    type: definePropType<string | null>(String),\n  },\n  /**\n   * @description whether `end` is included in options\n   */\n  includeEndTime: Boolean,\n  /**\n   * @description same as `name` in native input\n   */\n  name: String,\n  /**\n   * @description custom prefix icon component\n   */\n  prefixIcon: {\n    type: definePropType<string | Component>([String, Object]),\n    default: () => Clock,\n  },\n  /**\n   * @description custom clear icon component\n   */\n  clearIcon: {\n    type: definePropType<string | Component>([String, Object]),\n    default: () => CircleClose,\n  },\n  /**\n   * @description custom class name for TimeSelect's dropdown\n   */\n  popperClass: {\n    type: String,\n    default: '',\n  },\n  /**\n   * @description custom style for TimeSelect's dropdown\n   */\n  popperStyle: {\n    type: definePropType<string | CSSProperties>([String, Object]),\n  },\n  ...useEmptyValuesProps,\n} as const)\n\n/**\n * @deprecated Removed after 3.0.0, Use `TimeSelectProps` instead.\n */\nexport type TimeSelectPropsPublic = ExtractPublicPropTypes<\n  typeof timeSelectProps\n>\n\nexport type TimeSelectInstance = InstanceType<typeof TimeSelect> & unknown\n"],"mappings":";;;;;;AA0FA,MAAa,eAAe;;;;AAK5B,MAAa,kBAAkB,WAAW;CAIxC,QAAQ;EACN,MAAM;EACN,SAAS;EACV;CAID,YAAY,EACV,MAAM,eAA8B,OAAO,EAC5C;CAID,UAAU;EACR,MAAM;EACN,SAAS;EACV;CAID,UAAU;EACR,MAAM;EACN,SAAS;EACV;CAID,QAAQ;EACN,MAAM,eAA6B,OAAO;EAC1C,SAAS;EACV;CAID,WAAW;EACT,MAAM;EACN,SAAS;EACV;CAID,MAAM;CAIN,aAAa;CAIb,OAAO;EACL,MAAM;EACN,SAAS;EACV;CAID,KAAK;EACH,MAAM;EACN,SAAS;EACV;CAID,MAAM;EACJ,MAAM;EACN,SAAS;EACV;CAID,SAAS,EACP,MAAM,eAA8B,OAAO,EAC5C;CAID,SAAS,EACP,MAAM,eAA8B,OAAO,EAC5C;CAID,gBAAgB;CAIhB,MAAM;CAIN,YAAY;EACV,MAAM,eAAmC,CAAC,QAAQ,OAAO,CAAC;EAC1D,eAAe;EAChB;CAID,WAAW;EACT,MAAM,eAAmC,CAAC,QAAQ,OAAO,CAAC;EAC1D,eAAe;EAChB;CAID,aAAa;EACX,MAAM;EACN,SAAS;EACV;CAID,aAAa,EACX,MAAM,eAAuC,CAAC,QAAQ,OAAO,CAAC,EAC/D;CACD,GAAG;CACJ,CAAU"}