1
0
mirror of https://github.com/svg/svgo.git synced 2026-01-27 07:02:06 +03:00
Files
svgo/plugins/removeNonInheritableGroupAttrs.js
2025-05-04 17:39:44 +01:00

37 lines
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];
}
}
}
},
},
};
};