Press n or j to go to the next uncovered block, b, p or k for the previous block.
| 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 | 505x 505x 505x 505x 505x 505x 505x 505x 505x 505x 505x 505x 505x 505x 505x 505x 505x 505x 505x 505x 505x 505x 505x 505x 505x 505x 505x 505x 505x 505x 505x 505x 505x 505x 1817x 1813x 1817x | /**
* A set of known HTML boolean attributes.
* @type {Set<string>}
*/
export const BOOLEAN_ATTRIBUTES = new Set([
'checked',
'disabled',
'required',
'readonly',
'selected',
'multiple',
'autofocus',
'novalidate',
'formnovalidate',
'hidden',
'open',
'reversed',
'loop',
'controls',
'autoplay',
'muted',
'default',
'ismap',
'async',
'defer',
]);
/**
* Checks if a given attribute name is a standard HTML boolean attribute.
* @param {string} name - The attribute name.
* @returns {boolean} True if it is a boolean attribute.
*/
export function isBooleanAttribute(name) {
if (!name || typeof name !== 'string') return false;
return BOOLEAN_ATTRIBUTES.has(name.toLowerCase());
} |