diff --git a/lib/style.js b/lib/style.js index aedea2659..9d95624d7 100644 --- a/lib/style.js +++ b/lib/style.js @@ -61,6 +61,9 @@ const parseStylesheet = (css, dynamic) => { return csstree.walk.skip; } if (cssNode.type === 'Atrule') { + if (cssNode.name === 'keyframes') { + return csstree.walk.skip; + } csstree.walk(cssNode, (ruleNode) => { if (ruleNode.type === 'Rule') { rules.push(parseRule(ruleNode, dynamic || true)); diff --git a/lib/style.test.js b/lib/style.test.js index 56857246f..97c0900b6 100644 --- a/lib/style.test.js +++ b/lib/style.test.js @@ -212,4 +212,35 @@ describe('computeStyle', () => { }); expect(computeStyle(root.querySelector('#invalid-type'))).to.deep.equal({}); }); + + it('ignores keyframes atrule', () => { + const root = svg2js(` + + + + + `); + expect(computeStyle(root.querySelector('#element'))).to.deep.equal({ + animation: { + type: 'static', + inherited: false, + value: 'loading 4s linear infinite', + }, + }); + }); });