/** * @typedef AttributesBySelector * @property {string} selector * @property {string | string[]} attributes * @property {never} selectors */ /** * @typedef AttributesBySelectors * @property {never} selector * @property {never} attributes * @property {Array} selectors */ /** * @typedef {(AttributesBySelector | AttributesBySelectors)} RemoveAttributesBySelectorParams */ export const name: "removeAttributesBySelector"; export const description: "removes attributes of elements that match a css selector"; /** * Removes attributes of elements that match a css selector. * * @example * A selector removing a single attribute * plugins: [ * { * name: "removeAttributesBySelector", * params: { * selector: "[fill='#00ff00']", * attributes: "fill" * } * } * ] * * * ↓ * * * A selector removing multiple attributes * plugins: [ * { * name: "removeAttributesBySelector", * params: { * selector: "[fill='#00ff00']", * attributes: [ * "fill", * "stroke" * ] * } * } * ] * * * ↓ * * * Multiple selectors removing attributes * plugins: [ * { * name: "removeAttributesBySelector", * params: { * selectors: [ * { * selector: "[fill='#00ff00']", * attributes: "fill" * }, * { * selector: "#remove", * attributes: [ * "stroke", * "id" * ] * } * ] * } * } * ] * * * ↓ * * * @link https://developer.mozilla.org/docs/Web/CSS/CSS_Selectors|MDN CSS Selectors * * @author Bradley Mease * * @type {import('../lib/types.js').Plugin} */ export const fn: import("../lib/types.js").Plugin; export type AttributesBySelector = { selector: string; attributes: string | string[]; selectors: never; }; export type AttributesBySelectors = { selector: never; attributes: never; selectors: Array; }; export type RemoveAttributesBySelectorParams = (AttributesBySelector | AttributesBySelectors);