| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263 | 
							- 'use strict';
 
- exports.type = 'perItem';
 
- exports.active = true;
 
- exports.description = 'moves some group attributes to the content elements';
 
- var collections = require('./_collections.js'),
 
-     pathElems = collections.pathElems.concat(['g', 'text']),
 
-     referencesProps = collections.referencesProps;
 
- /**
 
-  * Move group attrs to the content elements.
 
-  *
 
-  * @example
 
-  * <g transform="scale(2)">
 
-  *     <path transform="rotate(45)" d="M0,0 L10,20"/>
 
-  *     <path transform="translate(10, 20)" d="M0,10 L20,30"/>
 
-  * </g>
 
-  *                          ⬇
 
-  * <g>
 
-  *     <path transform="scale(2) rotate(45)" d="M0,0 L10,20"/>
 
-  *     <path transform="scale(2) translate(10, 20)" d="M0,10 L20,30"/>
 
-  * </g>
 
-  *
 
-  * @param {Object} item current iteration item
 
-  * @return {Boolean} if false, item will be filtered out
 
-  *
 
-  * @author Kir Belevich
 
-  */
 
- exports.fn = function(item) {
 
-     // move group transform attr to content's pathElems
 
-     if (
 
-         item.isElem('g') &&
 
-         item.hasAttr('transform') &&
 
-         !item.isEmpty() &&
 
-         !item.someAttr(function(attr) {
 
-             return ~referencesProps.indexOf(attr.name) && ~attr.value.indexOf('url(');
 
-         }) &&
 
-         item.content.every(function(inner) {
 
-             return inner.isElem(pathElems) && !inner.hasAttr('id');
 
-         })
 
-     ) {
 
-         item.content.forEach(function(inner) {
 
-             var attr = item.attr('transform');
 
-             if (inner.hasAttr('transform')) {
 
-                 inner.attr('transform').value = attr.value + ' ' + inner.attr('transform').value;
 
-             } else {
 
-                 inner.addAttr({
 
-                     'name': attr.name,
 
-                     'local': attr.local,
 
-                     'prefix': attr.prefix,
 
-                     'value': attr.value
 
-                 });
 
-             }
 
-         });
 
-         item.removeAttr('transform');
 
-     }
 
- };
 
 
  |