UNPKG

vuetify

Version:

Vue Material Component Framework

43 lines 1.27 kB
import { mergeProps as _mergeProps, createVNode as _createVNode } from "vue"; // Components import { VIcon } from "../VIcon/index.js"; // Composables import { useLocale } from "../../composables/locale.js"; // Utilities import { callEvent } from "../../util/index.js"; // Types export function useInputIcon(props) { const { t } = useLocale(); function InputIcon(_ref) { let { name, color, ...attrs } = _ref; const localeKey = { prepend: 'prependAction', prependInner: 'prependAction', append: 'appendAction', appendInner: 'appendAction', clear: 'clear' }[name]; const listener = props[`onClick:${name}`]; function onKeydown(e) { if (e.key !== 'Enter' && e.key !== ' ') return; e.preventDefault(); e.stopPropagation(); callEvent(listener, new PointerEvent('click', e)); } const label = listener && localeKey ? t(`$vuetify.input.${localeKey}`, props.label ?? '') : undefined; return _createVNode(VIcon, _mergeProps({ "icon": props[`${name}Icon`], "aria-label": label, "onClick": listener, "onKeydown": onKeydown, "color": color }, attrs), null); } return { InputIcon }; } //# sourceMappingURL=InputIcon.js.map