Server IP : 185.86.78.101 / Your IP : 216.73.216.124 Web Server : Apache System : Linux 675867-vds-valikoshka1996.gmhost.pp.ua 5.4.0-150-generic #167-Ubuntu SMP Mon May 15 17:35:05 UTC 2023 x86_64 User : www ( 1000) PHP Version : 7.4.33 Disable Function : passthru,exec,system,putenv,chroot,chgrp,chown,shell_exec,popen,proc_open,pcntl_exec,ini_alter,ini_restore,dl,openlog,syslog,readlink,symlink,popepassthru,pcntl_alarm,pcntl_fork,pcntl_waitpid,pcntl_wait,pcntl_wifexited,pcntl_wifstopped,pcntl_wifsignaled,pcntl_wifcontinued,pcntl_wexitstatus,pcntl_wtermsig,pcntl_wstopsig,pcntl_signal,pcntl_signal_dispatch,pcntl_get_last_error,pcntl_strerror,pcntl_sigprocmask,pcntl_sigwaitinfo,pcntl_sigtimedwait,pcntl_exec,pcntl_getpriority,pcntl_setpriority,imap_open,apache_setenv MySQL : OFF | cURL : ON | WGET : ON | Perl : ON | Python : OFF | Sudo : ON | Pkexec : OFF Directory : /www/wwwroot/mifepriston.org/node_modules/svgo/plugins/ |
Upload File : |
'use strict'; exports.type = 'perItem'; exports.active = true; exports.description = 'removes useless stroke and fill attributes'; exports.params = { stroke: true, fill: true, removeNone: false, hasStyleOrScript: false }; var shape = require('./_collections').elemsGroups.shape, regStrokeProps = /^stroke/, regFillProps = /^fill-/, styleOrScript = ['style', 'script']; /** * Remove useless stroke and fill attrs. * * @param {Object} item current iteration item * @param {Object} params plugin params * @return {Boolean} if false, item will be filtered out * * @author Kir Belevich */ exports.fn = function(item, params) { if (item.isElem(styleOrScript)) { params.hasStyleOrScript = true; } if (!params.hasStyleOrScript && item.isElem(shape) && !item.computedAttr('id')) { var stroke = params.stroke && item.computedAttr('stroke'), fill = params.fill && !item.computedAttr('fill', 'none'); // remove stroke* if ( params.stroke && (!stroke || stroke == 'none' || item.computedAttr('stroke-opacity', '0') || item.computedAttr('stroke-width', '0') ) ) { var parentStroke = item.parentNode.computedAttr('stroke'), declineStroke = parentStroke && parentStroke != 'none'; item.eachAttr(function(attr) { if (regStrokeProps.test(attr.name)) { item.removeAttr(attr.name); } }); if (declineStroke) item.addAttr({ name: 'stroke', value: 'none', prefix: '', local: 'stroke' }); } // remove fill* if ( params.fill && (!fill || item.computedAttr('fill-opacity', '0')) ) { item.eachAttr(function(attr) { if (regFillProps.test(attr.name)) { item.removeAttr(attr.name); } }); if (fill) { if (item.hasAttr('fill')) item.attr('fill').value = 'none'; else item.addAttr({ name: 'fill', value: 'none', prefix: '', local: 'fill' }); } } if (params.removeNone && (!stroke || item.hasAttr('stroke') && item.attr('stroke').value=='none') && (!fill || item.hasAttr('fill') && item.attr('fill').value=='none')) { return false; } } };