| 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162 | 
							- 'use strict';
 
- const { pathElems, referencesProps } = require('./_collections.js');
 
- exports.name = 'moveGroupAttrsToElems';
 
- exports.type = 'perItem';
 
- exports.active = true;
 
- exports.description = 'moves some group attributes to the content elements';
 
- const pathElemsWithGroupsAndText = [...pathElems, 'g', 'text'];
 
- /**
 
-  * 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.type === 'element' &&
 
-     item.name === 'g' &&
 
-     item.children.length !== 0 &&
 
-     item.attributes.transform != null &&
 
-     Object.entries(item.attributes).some(
 
-       ([name, value]) =>
 
-         referencesProps.includes(name) && value.includes('url(')
 
-     ) === false &&
 
-     item.children.every(
 
-       (inner) =>
 
-         pathElemsWithGroupsAndText.includes(inner.name) &&
 
-         inner.attributes.id == null
 
-     )
 
-   ) {
 
-     for (const inner of item.children) {
 
-       const value = item.attributes.transform;
 
-       if (inner.attributes.transform != null) {
 
-         inner.attributes.transform = value + ' ' + inner.attributes.transform;
 
-       } else {
 
-         inner.attributes.transform = value;
 
-       }
 
-     }
 
-     delete item.attributes.transform;
 
-   }
 
- };
 
 
  |