stylelint
Version:
A mighty CSS linter that helps you avoid errors and enforce conventions.
30 lines (24 loc) • 627 B
JavaScript
import { keyframeSelectorKeywords, namedTimelineRangeKeywords } from '../reference/keywords.mjs';
const HAS_TIMELINE_RANGE = new RegExp(
`^(?:${[...namedTimelineRangeKeywords.values()].join('|')})\\s+(?:\\d+|\\d*\\.\\d+)%$`,
'i',
);
/**
* Check whether a string is a keyframe selector.
*
* @param {string} selector
* @returns {boolean}
*/
export default function isKeyframeSelector(selector) {
if (keyframeSelectorKeywords.has(selector)) {
return true;
}
// Percentages
if (/^(?:\d+|\d*\.\d+)%$/.test(selector)) {
return true;
}
if (HAS_TIMELINE_RANGE.test(selector)) {
return true;
}
return false;
}