plotboilerplate 1.24.0 → 1.25.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +13 -1
- package/dist/index.esm.js +294 -129
- package/dist/index.esm.js.map +1 -1
- package/dist/index.esm.min.js +1 -1
- package/dist/index.esm.min.js.map +1 -1
- package/dist/plotboilerplate.browser.min.js +1 -1
- package/dist/plotboilerplate.browser.min.js.map +1 -1
- package/dist/plotboilerplate.js +12084 -11919
- package/dist/plotboilerplate.min.js +1 -1
- package/package.json +9 -5
- package/src/cjs/PlotBoilerplate.d.ts +37 -6
- package/src/cjs/PlotBoilerplate.js +222 -116
- package/src/cjs/PlotBoilerplate.js.map +1 -1
- package/src/cjs/Polygon.d.ts +26 -7
- package/src/cjs/Polygon.js +56 -10
- package/src/cjs/Polygon.js.map +1 -1
- package/src/cjs/Triangle.js +2 -2
- package/src/cjs/Triangle.js.map +1 -1
- package/src/cjs/Vertex.d.ts +15 -3
- package/src/cjs/Vertex.js +18 -1
- package/src/cjs/Vertex.js.map +1 -1
- package/src/cjs/interfaces/core.d.ts +28 -0
- package/src/cjs/interfaces/core.js +2 -0
- package/src/cjs/interfaces/core.js.map +1 -1
- package/src/cjs/utils/datastructures/Color.d.ts +147 -1
- package/src/cjs/utils/datastructures/Color.js +385 -41
- package/src/cjs/utils/datastructures/Color.js.map +1 -1
- package/src/cjs/utils/datastructures/ColorGradient.d.ts +79 -0
- package/src/cjs/utils/datastructures/ColorGradient.js +171 -0
- package/src/cjs/utils/datastructures/ColorGradient.js.map +1 -0
- package/src/cjs/utils/dom/components/ColorGradientPicker.d.ts +245 -0
- package/src/cjs/utils/dom/components/ColorGradientPicker.js +667 -0
- package/src/cjs/utils/dom/components/ColorGradientPicker.js.map +1 -0
- package/src/cjs/utils/dom/components/ColorGradientPickerJSX.d.ts +129 -0
- package/src/cjs/utils/dom/components/ColorGradientPickerJSX.js +520 -0
- package/src/cjs/utils/dom/components/ColorGradientPickerJSX.js.map +1 -0
- package/src/cjs/utils/dom/components/ColorGradientSelector.d.ts +117 -0
- package/src/cjs/utils/dom/components/ColorGradientSelector.js +325 -0
- package/src/cjs/utils/dom/components/ColorGradientSelector.js.map +1 -0
- package/src/cjs/utils/dom/components/Test.d.ts +7 -0
- package/src/cjs/utils/dom/components/Test.js +30 -0
- package/src/cjs/utils/dom/components/Test.js.map +1 -0
- package/src/cjs/utils/dom/guiSizeToggler.js +1 -1
- package/src/cjs/utils/dom/guiSizeToggler.js.map +1 -1
- package/src/cjs/utils/helpers/BezierPathInteractionHelper.d.ts +9 -3
- package/src/cjs/utils/helpers/BezierPathInteractionHelper.js +20 -13
- package/src/cjs/utils/helpers/BezierPathInteractionHelper.js.map +1 -1
- package/src/cjs/utils/helpers/CircleHelper.d.ts +10 -1
- package/src/cjs/utils/helpers/CircleHelper.js +13 -2
- package/src/cjs/utils/helpers/CircleHelper.js.map +1 -1
- package/src/cjs/utils/helpers/CircleSectorHelper.d.ts +2 -2
- package/src/cjs/utils/helpers/CircleSectorHelper.js +1 -0
- package/src/cjs/utils/helpers/CircleSectorHelper.js.map +1 -1
- package/src/cjs/utils/helpers/TriangleHelper.d.ts +57 -0
- package/src/cjs/utils/helpers/TriangleHelper.js +83 -0
- package/src/cjs/utils/helpers/TriangleHelper.js.map +1 -0
- package/src/cjs/utils/helpers/VEllipseHelper.d.ts +6 -4
- package/src/cjs/utils/helpers/VEllipseHelper.js +4 -2
- package/src/cjs/utils/helpers/VEllipseHelper.js.map +1 -1
- package/src/cjs/utils/helpers/VEllipseSectorHelper.d.ts +3 -2
- package/src/cjs/utils/helpers/VEllipseSectorHelper.js +1 -0
- package/src/cjs/utils/helpers/VEllipseSectorHelper.js.map +1 -1
- package/src/cjs/utils/parsers/LinearColorGradientParser.d.ts +78 -0
- package/src/cjs/utils/parsers/LinearColorGradientParser.js +224 -0
- package/src/cjs/utils/parsers/LinearColorGradientParser.js.map +1 -0
- package/src/createDemoDrawables.js +1 -0
- package/src/esm/PlotBoilerplate.d.ts +37 -6
- package/src/esm/PlotBoilerplate.js +222 -116
- package/src/esm/PlotBoilerplate.js.map +1 -1
- package/src/esm/Polygon.d.ts +26 -7
- package/src/esm/Polygon.js +53 -10
- package/src/esm/Polygon.js.map +1 -1
- package/src/esm/Triangle.js +2 -2
- package/src/esm/Triangle.js.map +1 -1
- package/src/esm/Vertex.d.ts +15 -3
- package/src/esm/Vertex.js +18 -1
- package/src/esm/Vertex.js.map +1 -1
- package/src/esm/interfaces/core.d.ts +28 -0
- package/src/esm/interfaces/core.js +2 -0
- package/src/esm/interfaces/core.js.map +1 -1
- package/src/esm/utils/datastructures/Color.d.ts +147 -1
- package/src/esm/utils/datastructures/Color.js +386 -42
- package/src/esm/utils/datastructures/Color.js.map +1 -1
- package/src/esm/utils/datastructures/ColorGradient.d.ts +79 -0
- package/src/esm/utils/datastructures/ColorGradient.js +166 -0
- package/src/esm/utils/datastructures/ColorGradient.js.map +1 -0
- package/src/esm/utils/dom/components/ColorGradientPicker.d.ts +245 -0
- package/src/esm/utils/dom/components/ColorGradientPicker.js +732 -0
- package/src/esm/utils/dom/components/ColorGradientPicker.js.map +1 -0
- package/src/esm/utils/dom/components/ColorGradientPickerJSX.d.ts +129 -0
- package/src/esm/utils/dom/components/ColorGradientPickerJSX.js +582 -0
- package/src/esm/utils/dom/components/ColorGradientPickerJSX.js.map +1 -0
- package/src/esm/utils/dom/components/ColorGradientSelector.d.ts +117 -0
- package/src/esm/utils/dom/components/ColorGradientSelector.js +332 -0
- package/src/esm/utils/dom/components/ColorGradientSelector.js.map +1 -0
- package/src/esm/utils/dom/components/Test.d.ts +7 -0
- package/src/esm/utils/dom/components/Test.js +26 -0
- package/src/esm/utils/dom/components/Test.js.map +1 -0
- package/src/esm/utils/dom/guiSizeToggler.js +1 -1
- package/src/esm/utils/dom/guiSizeToggler.js.map +1 -1
- package/src/esm/utils/helpers/BezierPathInteractionHelper.d.ts +9 -3
- package/src/esm/utils/helpers/BezierPathInteractionHelper.js +20 -13
- package/src/esm/utils/helpers/BezierPathInteractionHelper.js.map +1 -1
- package/src/esm/utils/helpers/CircleHelper.d.ts +10 -1
- package/src/esm/utils/helpers/CircleHelper.js +13 -2
- package/src/esm/utils/helpers/CircleHelper.js.map +1 -1
- package/src/esm/utils/helpers/CircleSectorHelper.d.ts +2 -2
- package/src/esm/utils/helpers/CircleSectorHelper.js +1 -0
- package/src/esm/utils/helpers/CircleSectorHelper.js.map +1 -1
- package/src/esm/utils/helpers/TriangleHelper.d.ts +57 -0
- package/src/esm/utils/helpers/TriangleHelper.js +78 -0
- package/src/esm/utils/helpers/TriangleHelper.js.map +1 -0
- package/src/esm/utils/helpers/VEllipseHelper.d.ts +6 -4
- package/src/esm/utils/helpers/VEllipseHelper.js +4 -2
- package/src/esm/utils/helpers/VEllipseHelper.js.map +1 -1
- package/src/esm/utils/helpers/VEllipseSectorHelper.d.ts +3 -2
- package/src/esm/utils/helpers/VEllipseSectorHelper.js +1 -0
- package/src/esm/utils/helpers/VEllipseSectorHelper.js.map +1 -1
- package/src/esm/utils/parsers/LinearColorGradientParser.d.ts +78 -0
- package/src/esm/utils/parsers/LinearColorGradientParser.js +217 -0
- package/src/esm/utils/parsers/LinearColorGradientParser.js.map +1 -0
- package/src/external.d.ts +9 -0
- package/src/ts/PlotBoilerplate.ts +233 -105
- package/src/ts/Polygon.ts +68 -14
- package/src/ts/Triangle.ts +2 -2
- package/src/ts/Vertex.ts +21 -3
- package/src/ts/interfaces/core.ts +31 -0
- package/src/ts/utils/datastructures/Color.ts +423 -44
- package/src/ts/utils/datastructures/ColorGradient.ts +196 -0
- package/src/ts/utils/dom/components/ColorGradientPicker.tsx +877 -0
- package/src/ts/utils/dom/components/ColorGradientSelector.tsx +445 -0
- package/src/ts/utils/dom/components/Test.tsx +44 -0
- package/src/ts/utils/dom/components/_ColorGradientPicker_raw.ts_ +392 -0
- package/src/ts/utils/dom/guiSizeToggler.ts +1 -1
- package/src/ts/utils/helpers/BezierPathInteractionHelper.ts +25 -15
- package/src/ts/utils/helpers/CircleHelper.ts +17 -3
- package/src/ts/utils/helpers/CircleSectorHelper.ts +4 -2
- package/src/ts/utils/helpers/TriangleHelper.ts +102 -0
- package/src/ts/utils/helpers/VEllipseHelper.ts +6 -4
- package/src/ts/utils/helpers/VEllipseSectorHelper.ts +3 -2
- package/src/ts/utils/parsers/LinearColorGradientParser.ts +297 -0
|
@@ -0,0 +1,217 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* A CSS gradient string parser.
|
|
3
|
+
*
|
|
4
|
+
* Source:
|
|
5
|
+
* https://stackoverflow.com/questions/20215440/parse-css-gradient-rule-with-javascript-regex
|
|
6
|
+
* Thanks to Dean Taylor
|
|
7
|
+
*
|
|
8
|
+
* @date 2025-09-04
|
|
9
|
+
* @OriginalAuthor Dean Taylor
|
|
10
|
+
* @RefactoredBy Ikaros Kappler, ported to Typescript.
|
|
11
|
+
* @version 1.0.0
|
|
12
|
+
*/
|
|
13
|
+
import { Color } from "../datastructures/Color";
|
|
14
|
+
import { ColorGradient } from "../datastructures/ColorGradient";
|
|
15
|
+
/**
|
|
16
|
+
* The default implementation of `PositionToRatioConverter`.
|
|
17
|
+
* @param positionString
|
|
18
|
+
* @returns
|
|
19
|
+
*/
|
|
20
|
+
export const DefaultPositionConverter = (positionString) => {
|
|
21
|
+
if (typeof positionString === "undefined") {
|
|
22
|
+
throw new Error("Cannot parse positioning string `null`.");
|
|
23
|
+
}
|
|
24
|
+
const tmp = positionString.trim();
|
|
25
|
+
if (tmp.length === 0) {
|
|
26
|
+
throw new Error('Cannot parse empty positioning string "".');
|
|
27
|
+
}
|
|
28
|
+
if (!tmp.endsWith("%")) {
|
|
29
|
+
throw new Error(`Cannot parse positioning string, must end with '%': '${tmp}'`);
|
|
30
|
+
}
|
|
31
|
+
return Number.parseFloat(tmp) / 100.0;
|
|
32
|
+
};
|
|
33
|
+
/**
|
|
34
|
+
* Utility combine multiple regular expressions.
|
|
35
|
+
*
|
|
36
|
+
* Source:
|
|
37
|
+
* https://stackoverflow.com/questions/20215440/parse-css-gradient-rule-with-javascript-regex
|
|
38
|
+
* Thanks to Dean Taylor
|
|
39
|
+
*
|
|
40
|
+
* @param {Array<RegExp | string>} regexpList List of regular expressions or strings.
|
|
41
|
+
* @param {string} flags Normal RegExp flags.
|
|
42
|
+
*/
|
|
43
|
+
const __combineRegExp = (regexpList, flags) => {
|
|
44
|
+
var source = "";
|
|
45
|
+
for (var i = 0; i < regexpList.length; i++) {
|
|
46
|
+
const regex = regexpList[i];
|
|
47
|
+
if (typeof regex === "string") {
|
|
48
|
+
source += regex;
|
|
49
|
+
}
|
|
50
|
+
else {
|
|
51
|
+
source += regex.source;
|
|
52
|
+
}
|
|
53
|
+
}
|
|
54
|
+
return new RegExp(source, flags);
|
|
55
|
+
};
|
|
56
|
+
/**
|
|
57
|
+
* Generate the required regular expressions once.
|
|
58
|
+
*
|
|
59
|
+
* Regular Expressions are easier to manage this way and can be well described.
|
|
60
|
+
*
|
|
61
|
+
* @result {object} Object containing regular expressions.
|
|
62
|
+
*/
|
|
63
|
+
const __generateDefaultRegExpLib = () => {
|
|
64
|
+
// Note any variables with "Capture" in name include capturing bracket set(s).
|
|
65
|
+
const searchFlags = "gi", // ignore case for angles, "rgb" etc
|
|
66
|
+
rAngle = /(?:[+-]?\d*\.?\d+)(?:deg|grad|rad|turn)/, // Angle +ive, -ive and angle types
|
|
67
|
+
rSideCornerCapture = /to\s+((?:(?:left|right)(?:\s+(?:top|bottom))?))/, // optional 2nd part
|
|
68
|
+
rComma = /\s*,\s*/, // Allow space around comma.
|
|
69
|
+
rColorHex = /\#(?:[a-f0-9]{6}|[a-f0-9]{3})/, // 3 or 6 character form
|
|
70
|
+
rDigits3 = /\(\s*(?:\d{1,3}\s*,\s*){2}\d{1,3}\s*\)/, // "(1, 2, 3)"
|
|
71
|
+
rDigits4 = /\(\s*(?:\d{1,3}\s*,\s*){2}\d{1,3}\s*,\s*\d*\.?\d+\)/, // "(1, 2, 3, 4)"
|
|
72
|
+
rValue = /(?:[+-]?\d*\.?\d+)(?:%|[a-z]+)?/, // ".9", "-5px", "100%".
|
|
73
|
+
rKeyword = /[_a-z-][_a-z0-9-]*/, // "red", "transparent", "border-collapse".
|
|
74
|
+
rColor = __combineRegExp(["(?:", rColorHex, "|", "(?:rgb|hsl)", rDigits3, "|", "(?:rgba|hsla)", rDigits4, "|", rKeyword, ")"], ""), rColorStop = __combineRegExp([rColor, "(?:\\s+", rValue, "(?:\\s+", rValue, ")?)?"], ""), // Single Color Stop, optional %, optional length.
|
|
75
|
+
rColorStopList = __combineRegExp(["(?:", rColorStop, rComma, ")*", rColorStop], ""), // List of color stops min 1.
|
|
76
|
+
rLineCapture = __combineRegExp(["(?:(", rAngle, ")|", rSideCornerCapture, ")"], ""), // Angle or SideCorner
|
|
77
|
+
rGradientSearch = __combineRegExp(["(?:(", rLineCapture, ")", rComma, ")?(", rColorStopList, ")"], searchFlags), // Capture 1:"line", 2:"angle" (optional), 3:"side corner" (optional) and 4:"stop list".
|
|
78
|
+
rColorStopSearch = __combineRegExp(["\\s*(", rColor, ")", "(?:\\s+", "(", rValue, "))?", "(?:", rComma, "\\s*)?"], searchFlags); // Capture 1:"color" and 2:"position" (optional).
|
|
79
|
+
return {
|
|
80
|
+
gradientSearch: rGradientSearch,
|
|
81
|
+
colorStopSearch: rColorStopSearch
|
|
82
|
+
};
|
|
83
|
+
};
|
|
84
|
+
/**
|
|
85
|
+
* Actually parse the input gradient parameters string into an object for reusability.
|
|
86
|
+
*
|
|
87
|
+
*
|
|
88
|
+
* @note Really this only supports the standard syntax not historical versions, see MDN for details
|
|
89
|
+
* https://developer.mozilla.org/en-US/docs/Web/CSS/linear-gradient
|
|
90
|
+
*
|
|
91
|
+
* @param {ColorGradientParserRegExpLib} regExpLib
|
|
92
|
+
* @param {string} input Input string in the form "to right bottom, #FF0 0%, red 20px, rgb(0, 0, 255) 100%"
|
|
93
|
+
* @returns {object|undefined} Object containing break down of input string including array of stop points.
|
|
94
|
+
*/
|
|
95
|
+
export var __parseGradient = (regExpLib, input) => {
|
|
96
|
+
var result;
|
|
97
|
+
var matchGradient, matchColorStop, stopResult;
|
|
98
|
+
// reset search position, because we reuse regex.
|
|
99
|
+
regExpLib.gradientSearch.lastIndex = 0;
|
|
100
|
+
matchGradient = regExpLib.gradientSearch.exec(input);
|
|
101
|
+
if (matchGradient !== null) {
|
|
102
|
+
result = {
|
|
103
|
+
original: matchGradient[0],
|
|
104
|
+
colorStopList: [],
|
|
105
|
+
line: null,
|
|
106
|
+
angle: null,
|
|
107
|
+
sideCorner: null
|
|
108
|
+
};
|
|
109
|
+
// Line (Angle or Side-Corner).
|
|
110
|
+
if (!!matchGradient[1]) {
|
|
111
|
+
result.line = matchGradient[1];
|
|
112
|
+
}
|
|
113
|
+
// Angle or undefined if side-corner.
|
|
114
|
+
if (!!matchGradient[2]) {
|
|
115
|
+
result.angle = matchGradient[2];
|
|
116
|
+
}
|
|
117
|
+
// Side-corner or undefined if angle.
|
|
118
|
+
if (!!matchGradient[3]) {
|
|
119
|
+
result.sideCorner = matchGradient[3];
|
|
120
|
+
}
|
|
121
|
+
// reset search position, because we reuse regex.
|
|
122
|
+
regExpLib.colorStopSearch.lastIndex = 0;
|
|
123
|
+
// Loop though all the color-stops.
|
|
124
|
+
matchColorStop = regExpLib.colorStopSearch.exec(matchGradient[4]);
|
|
125
|
+
while (matchColorStop !== null) {
|
|
126
|
+
stopResult = {
|
|
127
|
+
color: matchColorStop[1],
|
|
128
|
+
position: null
|
|
129
|
+
};
|
|
130
|
+
// Position (optional).
|
|
131
|
+
if (!!matchColorStop[2]) {
|
|
132
|
+
stopResult.position = matchColorStop[2];
|
|
133
|
+
}
|
|
134
|
+
result.colorStopList.push(stopResult);
|
|
135
|
+
// Continue searching from previous position.
|
|
136
|
+
matchColorStop = regExpLib.colorStopSearch.exec(matchGradient[4]);
|
|
137
|
+
}
|
|
138
|
+
}
|
|
139
|
+
// Can be undefined if match not found.
|
|
140
|
+
return result;
|
|
141
|
+
};
|
|
142
|
+
/**
|
|
143
|
+
* The actual parser class.
|
|
144
|
+
*/
|
|
145
|
+
export class LinearColorGradientParser {
|
|
146
|
+
constructor(regExpLib) {
|
|
147
|
+
this.regExpLib = regExpLib || __generateDefaultRegExpLib();
|
|
148
|
+
}
|
|
149
|
+
parse(input, positionConverter) {
|
|
150
|
+
const result = this.parseRaw(input);
|
|
151
|
+
return LinearColorGradientParser.parseResultToColorGradient(result, positionConverter);
|
|
152
|
+
}
|
|
153
|
+
parseRaw(input) {
|
|
154
|
+
var result;
|
|
155
|
+
const rGradientEnclosedInBrackets = /.*gradient\s*\(((?:\([^\)]*\)|[^\)\(]*)*)\)/; // Captures inside brackets - max one additional inner set.
|
|
156
|
+
const match = rGradientEnclosedInBrackets.exec(input);
|
|
157
|
+
const bracketPos = input.indexOf("(");
|
|
158
|
+
const gradientType = bracketPos === -1 ? null : input.substring(0, bracketPos).toLowerCase();
|
|
159
|
+
if (match !== null) {
|
|
160
|
+
// Get the parameters for the gradient
|
|
161
|
+
result = __parseGradient(this.regExpLib, match[1]);
|
|
162
|
+
result.gradientType = gradientType;
|
|
163
|
+
if (result.original.trim() !== match[1].trim()) {
|
|
164
|
+
// Did not match the input exactly - possible parsing error.
|
|
165
|
+
result.parseWarning = true;
|
|
166
|
+
}
|
|
167
|
+
}
|
|
168
|
+
else {
|
|
169
|
+
// result = new Error("Failed to find gradient");
|
|
170
|
+
throw new Error("Failed to find gradient");
|
|
171
|
+
}
|
|
172
|
+
return result;
|
|
173
|
+
}
|
|
174
|
+
static parseResultToColorGradient(result, positionConverter) {
|
|
175
|
+
if (!result.gradientType || result.gradientType.toLowerCase() != "linear-gradient") {
|
|
176
|
+
throw new Error(`Cannot create linear gradient from type '${result.gradientType}'.`);
|
|
177
|
+
}
|
|
178
|
+
if (!result.colorStopList || result.colorStopList.length <= 1) {
|
|
179
|
+
throw new Error(`Cannot create linear gradient from color stop list of length '${result.colorStopList.length}'. Too few elements.`);
|
|
180
|
+
}
|
|
181
|
+
const colorStops = [];
|
|
182
|
+
const converter = positionConverter !== null && positionConverter !== void 0 ? positionConverter : DefaultPositionConverter;
|
|
183
|
+
for (var i = 0; i < result.colorStopList.length; i++) {
|
|
184
|
+
const stopListItem = result.colorStopList[i];
|
|
185
|
+
console.log(stopListItem);
|
|
186
|
+
const color = Color.parse(stopListItem.color);
|
|
187
|
+
// var position: number = LinearColorGradientParser.parsePosition(stopListItem.position);
|
|
188
|
+
var ratio;
|
|
189
|
+
if (typeof stopListItem.position === "undefined") {
|
|
190
|
+
// Try to auto-fill undefined positions by their index in the list.
|
|
191
|
+
ratio = i / (result.colorStopList.length - 1);
|
|
192
|
+
}
|
|
193
|
+
else {
|
|
194
|
+
ratio = converter(stopListItem.position);
|
|
195
|
+
}
|
|
196
|
+
colorStops.push({ color: color, ratio: ratio });
|
|
197
|
+
}
|
|
198
|
+
return new ColorGradient(colorStops, result.line);
|
|
199
|
+
}
|
|
200
|
+
} // END class
|
|
201
|
+
// var test_this_one = function (regExpLib, input) {
|
|
202
|
+
// var result,
|
|
203
|
+
// rGradientEnclosedInBrackets = /.*gradient\s*\(((?:\([^\)]*\)|[^\)\(]*)*)\)/, // Captures inside brackets - max one additional inner set.
|
|
204
|
+
// match = rGradientEnclosedInBrackets.exec(input);
|
|
205
|
+
// if (match !== null) {
|
|
206
|
+
// // Get the parameters for the gradient
|
|
207
|
+
// result = parseGradient(regExpLib, match[1]);
|
|
208
|
+
// if (result.original.trim() !== match[1].trim()) {
|
|
209
|
+
// // Did not match the input exactly - possible parsing error.
|
|
210
|
+
// result.parseWarning = true;
|
|
211
|
+
// }
|
|
212
|
+
// } else {
|
|
213
|
+
// result = "Failed to find gradient";
|
|
214
|
+
// }
|
|
215
|
+
// return result;
|
|
216
|
+
// };
|
|
217
|
+
//# sourceMappingURL=LinearColorGradientParser.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"LinearColorGradientParser.js","sourceRoot":"","sources":["../../../ts/utils/parsers/LinearColorGradientParser.ts"],"names":[],"mappings":"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"}
|