| const merge = require('merge-options'); | 
| const { getRoot } = require('../utils'); | 
|   | 
| const defaultConfig = { | 
|   removeDimensions: false | 
| }; | 
|   | 
| /** | 
|  * @param {Object} [config] {@see defaultConfig} | 
|  * @return {Function} PostHTML plugin | 
|  */ | 
| function normalizeViewBox(config = {}) { | 
|   const cfg = merge(defaultConfig, config); | 
|   | 
|   return (tree) => { | 
|     const root = getRoot(tree); | 
|     root.attrs = root.attrs || {}; | 
|     const attrs = root.attrs; | 
|     const { width, height, viewBox } = attrs; | 
|   | 
|     if (!viewBox && width && height) { | 
|       attrs.viewBox = `0 0 ${parseFloat(width).toString()} ${parseFloat(height).toString()}`; | 
|   | 
|       if (cfg.removeDimensions) { | 
|         delete attrs.width; | 
|         delete attrs.height; | 
|       } | 
|     } | 
|   | 
|     return tree; | 
|   }; | 
| } | 
|   | 
| module.exports = normalizeViewBox; |