vuestic-ui
Version:
Vue 3 UI Framework
30 lines (29 loc) • 1.08 kB
JavaScript
import { computed } from "vue";
import { u as useComponentUuid } from "../../../composables/useComponentUuid.js";
import { a as useTranslationProp } from "../../../composables/useTranslation.js";
const useInputFieldAriaProps = {
label: { type: String, default: "" },
inputAriaLabel: useTranslationProp("$t:inputField"),
inputAriaLabelledby: { type: String },
inputAriaDescribedby: { type: String }
};
const useInputFieldAria = (props) => {
const id = useComponentUuid();
const labelId = `input-label-${id}`;
const characterCountId = `input-character-count-${id}`;
const ariaAttributes = computed(() => ({
"aria-label": props.label !== "" ? props.label : props.inputAriaLabel,
"aria-labelledby": props.inputAriaLabelledby ? props.inputAriaLabelledby : labelId,
"aria-describedby": props.inputAriaDescribedby ? props.inputAriaDescribedby : characterCountId
}));
return {
labelId,
characterCountId,
ariaAttributes
};
};
export {
useInputFieldAria as a,
useInputFieldAriaProps as u
};
//# sourceMappingURL=useInputFieldAria.js.map