summaryrefslogtreecommitdiff
path: root/node_modules/svgo/plugins/removeAttributesBySelector.js
diff options
context:
space:
mode:
Diffstat (limited to 'node_modules/svgo/plugins/removeAttributesBySelector.js')
-rw-r--r--node_modules/svgo/plugins/removeAttributesBySelector.js97
1 files changed, 0 insertions, 97 deletions
diff --git a/node_modules/svgo/plugins/removeAttributesBySelector.js b/node_modules/svgo/plugins/removeAttributesBySelector.js
deleted file mode 100644
index 12630c2a..00000000
--- a/node_modules/svgo/plugins/removeAttributesBySelector.js
+++ /dev/null
@@ -1,97 +0,0 @@
-'use strict';
-
-const { querySelectorAll } = require('../lib/xast.js');
-
-exports.name = 'removeAttributesBySelector';
-exports.description =
- 'removes attributes of elements that match a css selector';
-
-/**
- * Removes attributes of elements that match a css selector.
- *
- * @example
- * <caption>A selector removing a single attribute</caption>
- * plugins: [
- * {
- * name: "removeAttributesBySelector",
- * params: {
- * selector: "[fill='#00ff00']"
- * attributes: "fill"
- * }
- * }
- * ]
- *
- * <rect x="0" y="0" width="100" height="100" fill="#00ff00" stroke="#00ff00"/>
- * ↓
- * <rect x="0" y="0" width="100" height="100" stroke="#00ff00"/>
- *
- * <caption>A selector removing multiple attributes</caption>
- * plugins: [
- * {
- * name: "removeAttributesBySelector",
- * params: {
- * selector: "[fill='#00ff00']",
- * attributes: [
- * "fill",
- * "stroke"
- * ]
- * }
- * }
- * ]
- *
- * <rect x="0" y="0" width="100" height="100" fill="#00ff00" stroke="#00ff00"/>
- * ↓
- * <rect x="0" y="0" width="100" height="100"/>
- *
- * <caption>Multiple selectors removing attributes</caption>
- * plugins: [
- * {
- * name: "removeAttributesBySelector",
- * params: {
- * selectors: [
- * {
- * selector: "[fill='#00ff00']",
- * attributes: "fill"
- * },
- * {
- * selector: "#remove",
- * attributes: [
- * "stroke",
- * "id"
- * ]
- * }
- * ]
- * }
- * }
- * ]
- *
- * <rect x="0" y="0" width="100" height="100" fill="#00ff00" stroke="#00ff00"/>
- * ↓
- * <rect x="0" y="0" width="100" height="100"/>
- *
- * @link https://developer.mozilla.org/docs/Web/CSS/CSS_Selectors|MDN CSS Selectors
- *
- * @author Bradley Mease
- *
- * @type {import('./plugins-types').Plugin<'removeAttributesBySelector'>}
- */
-exports.fn = (root, params) => {
- const selectors = Array.isArray(params.selectors)
- ? params.selectors
- : [params];
- for (const { selector, attributes } of selectors) {
- const nodes = querySelectorAll(root, selector);
- for (const node of nodes) {
- if (node.type === 'element') {
- if (Array.isArray(attributes)) {
- for (const name of attributes) {
- delete node.attributes[name];
- }
- } else {
- delete node.attributes[attributes];
- }
- }
- }
- }
- return {};
-};