svgo
Version:
39 lines (35 loc) • 906 B
JavaScript
const {
inheritableAttrs,
attrsGroups,
presentationNonInheritableGroupAttrs,
} = require('./_collections');
exports.name = 'removeNonInheritableGroupAttrs';
exports.description =
'removes non-inheritable group’s presentational attributes';
/**
* Remove non-inheritable group's "presentation" attributes.
*
* @author Kir Belevich
*
* @type {import('./plugins-types').Plugin<'removeNonInheritableGroupAttrs'>}
*/
exports.fn = () => {
return {
element: {
enter: (node) => {
if (node.name === 'g') {
for (const name of Object.keys(node.attributes)) {
if (
attrsGroups.presentation.has(name) &&
!inheritableAttrs.has(name) &&
!presentationNonInheritableGroupAttrs.has(name)
) {
delete node.attributes[name];
}
}
}
},
},
};
};
;