PNG  IHDR;IDATxܻn0K )(pA 7LeG{ §㻢|ذaÆ 6lذaÆ 6lذaÆ 6lom$^yذag5bÆ 6lذaÆ 6lذa{ 6lذaÆ `}HFkm,mӪôô! x|'ܢ˟;E:9&ᶒ}{v]n&6 h_tڠ͵-ҫZ;Z$.Pkž)!o>}leQfJTu іچ\X=8Rن4`Vwl>nG^is"ms$ui?wbs[m6K4O.4%/bC%t Mז -lG6mrz2s%9s@-k9=)kB5\+͂Zsٲ Rn~GRC wIcIn7jJhۛNCS|j08yiHKֶۛkɈ+;SzL/F*\Ԕ#"5m2[S=gnaPeғL lذaÆ 6l^ḵaÆ 6lذaÆ 6lذa; _ذaÆ 6lذaÆ 6lذaÆ RIENDB` 'use strict'; const { detachNodeFromParent } = require('../lib/xast.js'); exports.name = 'removeDesc'; exports.type = 'visitor'; exports.active = true; exports.description = 'removes '; const standardDescs = /^(Created with|Created using)/; /** * Removes . * Removes only standard editors content or empty elements 'cause it can be used for accessibility. * Enable parameter 'removeAny' to remove any description. * * https://developer.mozilla.org/en-US/docs/Web/SVG/Element/desc * * @author Daniel Wabyick * * @type {import('../lib/types').Plugin<{ removeAny?: boolean }>} */ exports.fn = (root, params) => { const { removeAny = true } = params; return { element: { enter: (node, parentNode) => { if (node.name === 'desc') { if ( removeAny || node.children.length === 0 || (node.children[0].type === 'text' && standardDescs.test(node.children[0].value)) ) { detachNodeFromParent(node, parentNode); } } }, }, }; };