diff options
Diffstat (limited to 'node_modules/svgo/plugins/removeViewBox.js')
| -rw-r--r-- | node_modules/svgo/plugins/removeViewBox.js | 49 |
1 files changed, 0 insertions, 49 deletions
diff --git a/node_modules/svgo/plugins/removeViewBox.js b/node_modules/svgo/plugins/removeViewBox.js deleted file mode 100644 index c0f23de2..00000000 --- a/node_modules/svgo/plugins/removeViewBox.js +++ /dev/null @@ -1,49 +0,0 @@ -'use strict'; - -exports.name = 'removeViewBox'; -exports.description = 'removes viewBox attribute when possible'; - -const viewBoxElems = new Set(['pattern', 'svg', 'symbol']); - -/** - * Remove viewBox attr which coincides with a width/height box. - * - * @see https://www.w3.org/TR/SVG11/coords.html#ViewBoxAttribute - * - * @example - * <svg width="100" height="50" viewBox="0 0 100 50"> - * ⬇ - * <svg width="100" height="50"> - * - * @author Kir Belevich - * - * @type {import('./plugins-types').Plugin<'removeViewBox'>} - */ -exports.fn = () => { - return { - element: { - enter: (node, parentNode) => { - if ( - viewBoxElems.has(node.name) && - node.attributes.viewBox != null && - node.attributes.width != null && - node.attributes.height != null - ) { - // TODO remove width/height for such case instead - if (node.name === 'svg' && parentNode.type !== 'root') { - return; - } - const nums = node.attributes.viewBox.split(/[ ,]+/g); - if ( - nums[0] === '0' && - nums[1] === '0' && - node.attributes.width.replace(/px$/, '') === nums[2] && // could use parseFloat too - node.attributes.height.replace(/px$/, '') === nums[3] - ) { - delete node.attributes.viewBox; - } - } - }, - }, - }; -}; |
