diff options
Diffstat (limited to 'node_modules/svgo/plugins/removeNonInheritableGroupAttrs.js')
| -rw-r--r-- | node_modules/svgo/plugins/removeNonInheritableGroupAttrs.js | 38 |
1 files changed, 38 insertions, 0 deletions
diff --git a/node_modules/svgo/plugins/removeNonInheritableGroupAttrs.js b/node_modules/svgo/plugins/removeNonInheritableGroupAttrs.js new file mode 100644 index 00000000..faa93dff --- /dev/null +++ b/node_modules/svgo/plugins/removeNonInheritableGroupAttrs.js @@ -0,0 +1,38 @@ +'use strict'; + +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.includes(name) === true && + inheritableAttrs.includes(name) === false && + presentationNonInheritableGroupAttrs.includes(name) === false + ) { + delete node.attributes[name]; + } + } + } + }, + }, + }; +}; |
