MCPcopy Create free account
hub / github.com/adobe/leonardo / createSVGgradient

Function createSVGgradient

docs/ui/src/js/createSVGgradient.js:16–82  ·  view source on GitHub ↗
(colors)

Source from the content-addressed store, hash-verified

14import {createSvgElement} from './createHtmlElement';
15
16function createSVGgradient(colors) {
17 let gradientWidth = 800;
18 let gradientHeight = 80;
19
20 var svgns = 'http://www.w3.org/2000/svg';
21
22 let svgWrapper = document.createElementNS(svgns, 'svg');
23 svgWrapper.setAttribute('xmlns', svgns);
24 svgWrapper.setAttribute('version', '1.1');
25 svgWrapper.setAttributeNS(null, 'width', gradientWidth + 'px');
26 svgWrapper.setAttributeNS(null, 'height', gradientHeight + 'px');
27 svgWrapper.setAttribute('aria-hidden', 'true');
28 svgWrapper.id = 'gradientSvg';
29
30 let outerElement = document.createElement('div');
31 outerElement.id = '_SVGgradient';
32
33 outerElement.appendChild(svgWrapper);
34 document.body.appendChild(outerElement);
35
36 createSvgElement({
37 element: 'rect',
38 id: 'gradientRect',
39 attributes: {
40 width: gradientWidth,
41 height: gradientHeight,
42 fill: 'url(#gradientLinearGrad)',
43 rx: 8
44 },
45 appendTo: 'gradientSvg'
46 });
47
48 createSvgElement({
49 element: 'defs',
50 id: 'gradientDefs',
51 appendTo: 'gradientSvg'
52 });
53
54 createSvgElement({
55 element: 'linearGradient',
56 id: 'gradientLinearGrad',
57 attributes: {
58 x1: 0,
59 y1: 0,
60 x2: gradientWidth,
61 y2: 0,
62 gradientUnits: 'userSpaceOnUse'
63 },
64 appendTo: 'gradientDefs'
65 });
66
67 for (let i = 0; i < colors.length; i++) {
68 let length = colors.length - 1;
69
70 // only take 10 values from scale
71 if (Number.isInteger(i / 4)) {
72 createSvgElement({
73 element: 'stop',

Callers 1

downloadSVGgradientFunction · 0.85

Calls 1

createSvgElementFunction · 0.90

Tested by

no test coverage detected