import { defineComponent, getCurrentInstance, SetupContext } from 'vue';
import { createI18nTranslate } from '../../locale/create';
import { Select } from '../../select/index';
import { timeSelectProps, TimeSelectProps } from './time-select-types';
import { useTimeSelect } from './use-time-select';
export default defineComponent({
name: 'DTimeSelect',
components: { Select },
props: timeSelectProps,
emits: ['change', 'blur', 'focus', 'update:modelValue'],
setup(props: TimeSelectProps, ctx: SetupContext) {
const app = getCurrentInstance();
const t = createI18nTranslate('DTimeSelect', app);
const { options, changeData, select, clearData, focusFun, blurFun } = useTimeSelect(props, ctx);
return () => {
return (
<Select
ref={select}
modelValue={props.modelValue}
options={options.value}
onValueChange={changeData}
placeholder={props.placeholder || t('placeholder')}
option-disabled-key="disabled"
disabled={props.disabled}
allow-clear={props.clearable}
size={props.size}
onClear={clearData}
onFocus={focusFun}
onBlur={blurFun}
/>
);
};
},
});