CloudProxyPro/node_modules/svgo/plugins/removeNonInheritableGroupAttrs.js
2025-09-05 14:59:21 +08: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];
}
}
}
},
},
};
};