@flexis/ui
Version:
Styleless React Components
27 lines • 2.04 kB
JavaScript
/**
* Get arial-label props.
* @param labelProps - Props with labels.
* @param selfProps - Props to check aria-attributes.
* @return Aria-label props.
*/
export function getAriaLabelProps({ role, labelledBy, label }, { role: selfRole = null, 'aria-labelledby': selfLabelledBy = null, 'aria-label': selfLabel = null } = {}) {
const props = {};
const roleProp = selfRole || role;
if (typeof roleProp === 'string') {
props.role = roleProp;
}
if (typeof selfLabelledBy === 'string') {
props['aria-labelledby'] = selfLabelledBy;
}
else if (typeof selfLabel === 'string') {
props['aria-label'] = selfLabel;
}
else if (typeof labelledBy === 'string') {
props['aria-labelledby'] = labelledBy;
}
else if (typeof label === 'string') {
props['aria-label'] = label;
}
return props;
}
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ2V0QXJpYUxhYmVsUHJvcHMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvaGVscGVycy9nZXRBcmlhTGFiZWxQcm9wcy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFhQTs7Ozs7R0FLRztBQUNILE1BQU0sVUFBVSxpQkFBaUIsQ0FDaEMsRUFDQyxJQUFJLEVBQ0osVUFBVSxFQUNWLEtBQUssRUFDUSxFQUNkLEVBQ0MsSUFBSSxFQUFFLFFBQVEsR0FBRyxJQUFJLEVBQ3JCLGlCQUFpQixFQUFFLGNBQWMsR0FBRyxJQUFJLEVBQ3hDLFlBQVksRUFBRSxTQUFTLEdBQUcsSUFBSSxLQUNWLEVBQUU7SUFHdkIsTUFBTSxLQUFLLEdBQW9CLEVBQUUsQ0FBQztJQUNsQyxNQUFNLFFBQVEsR0FBRyxRQUFRLElBQUksSUFBSSxDQUFDO0lBRWxDLElBQUksT0FBTyxRQUFRLEtBQUssUUFBUSxFQUFFO1FBQ2pDLEtBQUssQ0FBQyxJQUFJLEdBQUcsUUFBUSxDQUFDO0tBQ3RCO0lBRUQsSUFBSSxPQUFPLGNBQWMsS0FBSyxRQUFRLEVBQUU7UUFDdkMsS0FBSyxDQUFDLGlCQUFpQixDQUFDLEdBQUcsY0FBYyxDQUFDO0tBQzFDO1NBQ0QsSUFBSSxPQUFPLFNBQVMsS0FBSyxRQUFRLEVBQUU7UUFDbEMsS0FBSyxDQUFDLFlBQVksQ0FBQyxHQUFHLFNBQVMsQ0FBQztLQUNoQztTQUNELElBQUksT0FBTyxVQUFVLEtBQUssUUFBUSxFQUFFO1FBQ25DLEtBQUssQ0FBQyxpQkFBaUIsQ0FBQyxHQUFHLFVBQVUsQ0FBQztLQUN0QztTQUNELElBQUksT0FBTyxLQUFLLEtBQUssUUFBUSxFQUFFO1FBQzlCLEtBQUssQ0FBQyxZQUFZLENBQUMsR0FBRyxLQUFLLENBQUM7S0FDNUI7SUFFRCxPQUFPLEtBQUssQ0FBQztBQUNkLENBQUMifQ==