UNPKG

fabric

Version:

Object model for HTML5 canvas, and SVG-to-canvas parser. Backed by jsdom and node-canvas.

35 lines (34 loc) 1.2 kB
//#region src/parser/recursivelyParseGradientsXlink.ts const gradientsAttrs = [ "gradientTransform", "x1", "x2", "y1", "y2", "gradientUnits", "cx", "cy", "r", "fx", "fy" ]; const xlinkAttr = "xlink:href"; function recursivelyParseGradientsXlink(doc, gradient) { var _gradient$getAttribut; const xLink = ((_gradient$getAttribut = gradient.getAttribute(xlinkAttr)) === null || _gradient$getAttribut === void 0 ? void 0 : _gradient$getAttribut.slice(1)) || "", referencedGradient = doc.getElementById(xLink); if (referencedGradient && referencedGradient.getAttribute(xlinkAttr)) recursivelyParseGradientsXlink(doc, referencedGradient); if (referencedGradient) { gradientsAttrs.forEach((attr) => { const value = referencedGradient.getAttribute(attr); if (!gradient.hasAttribute(attr) && value) gradient.setAttribute(attr, value); }); if (!gradient.children.length) { const referenceClone = referencedGradient.cloneNode(true); while (referenceClone.firstChild) gradient.appendChild(referenceClone.firstChild); } } gradient.removeAttribute(xlinkAttr); } //#endregion export { recursivelyParseGradientsXlink }; //# sourceMappingURL=recursivelyParseGradientsXlink.mjs.map