diff options
Diffstat (limited to 'node_modules/svgo/plugins/removeNonInheritableGroupAttrs.js')
| -rw-r--r-- | node_modules/svgo/plugins/removeNonInheritableGroupAttrs.js | 40 |
1 files changed, 40 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..f999d568 --- /dev/null +++ b/node_modules/svgo/plugins/removeNonInheritableGroupAttrs.js @@ -0,0 +1,40 @@ +'use strict'; + +exports.type = 'perItem'; + +exports.active = true; + +exports.description = 'removes non-inheritable group’s presentational attributes'; + +var inheritableAttrs = require('./_collections').inheritableAttrs, + attrsGroups = require('./_collections').attrsGroups, + excludedAttrs = ['display', 'opacity']; + +/** + * Remove non-inheritable group's "presentation" attributes. + * + * @param {Object} item current iteration item + * @return {Boolean} if false, item will be filtered out + * + * @author Kir Belevich + */ +exports.fn = function(item) { + + if (item.isElem('g')) { + + item.eachAttr(function(attr) { + if ( + ~attrsGroups.presentation.indexOf(attr.name) && + ~attrsGroups.graphicalEvent.indexOf(attr.name) && + ~attrsGroups.core.indexOf(attr.name) && + ~attrsGroups.conditionalProcessing.indexOf(attr.name) && + !~excludedAttrs.indexOf(attr.name) && + !~inheritableAttrs.indexOf(attr.name) + ) { + item.removeAttr(attr.name); + } + }); + + } + +}; |
