svgo
Version:
37 lines (34 loc) • 868 B
JavaScript
import {
attrsGroups,
inheritableAttrs,
presentationNonInheritableGroupAttrs,
} from './_collections.js';
export const name = 'removeNonInheritableGroupAttrs';
export const description =
"removes non-inheritable group's presentational attributes";
/**
* Remove non-inheritable group's "presentation" attributes.
*
* @author Kir Belevich
*
* @type {import('../lib/types.js').Plugin}
*/
export const 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];
}
}
}
},
},
};
};