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
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Color.js","sourceRoot":"","sources":["../../../ts/utils/datastructures/Color.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"Color.js","sourceRoot":"","sources":["../../../ts/utils/datastructures/Color.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,79 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* A simple linear color gradient implementation.
|
|
3
|
+
*
|
|
4
|
+
* A color gradient is just an array of color objects paired with position values on the gradient.
|
|
5
|
+
*
|
|
6
|
+
* TODO: add `angle`
|
|
7
|
+
*
|
|
8
|
+
* @author Ikaros Kappler
|
|
9
|
+
* @version 1.0.0
|
|
10
|
+
* @date 2025-08-05
|
|
11
|
+
*/
|
|
12
|
+
import { Color } from "./Color";
|
|
13
|
+
export type ColorGradientRotation = number | `${number}deg` | `${number}turn` | `to top` | "to bottom" | "to left" | "to right";
|
|
14
|
+
export interface ColorGradientItem {
|
|
15
|
+
color: Color;
|
|
16
|
+
ratio: number;
|
|
17
|
+
}
|
|
18
|
+
export declare class ColorGradient {
|
|
19
|
+
values: Array<ColorGradientItem>;
|
|
20
|
+
angle: ColorGradientRotation;
|
|
21
|
+
/**
|
|
22
|
+
* Creates a new ColorGradient with the given values. Please be sure that the values appear in the correct
|
|
23
|
+
* order regarding the `ratio` information. This will not be validated.
|
|
24
|
+
*
|
|
25
|
+
* @param {Array<ColorGradientItem>} values - The values to use.
|
|
26
|
+
* @param {number?} angle - (optional) An optional angle for the gradient; if no specified `PI/2.0` will be used (vertical from left to right).
|
|
27
|
+
*/
|
|
28
|
+
constructor(values: Array<ColorGradientItem>, angle?: ColorGradientRotation);
|
|
29
|
+
/**
|
|
30
|
+
* Get a color gradient CSS value string from these gradient settings.
|
|
31
|
+
*
|
|
32
|
+
* @instance
|
|
33
|
+
* @memberof ColorGradientPicker
|
|
34
|
+
* @returns {string}
|
|
35
|
+
*/
|
|
36
|
+
toColorGradientString(): string;
|
|
37
|
+
/**
|
|
38
|
+
* Get the color at the specific relative position.
|
|
39
|
+
*
|
|
40
|
+
* @param {number} ratio - Any value between 0.0 and 1.0.
|
|
41
|
+
*/
|
|
42
|
+
getColorAt(ratio: number): Color;
|
|
43
|
+
/**
|
|
44
|
+
* Find that gradient record (index) that's value is closest to the given relative value. The function will return
|
|
45
|
+
* the closest value and the left index, indicating the containing interval index.
|
|
46
|
+
*
|
|
47
|
+
* @param {number} ratio - The value to look for.
|
|
48
|
+
* @returns {[number,number]} A pair of left interval boundary index and closest value.
|
|
49
|
+
*/
|
|
50
|
+
locateClosestRatio(ratio: number): [number, ColorGradientItem];
|
|
51
|
+
/**
|
|
52
|
+
* Try to convert the given anonymous item (usually and object) to a ColorGradient. This method should be used
|
|
53
|
+
* to restore items from JSON parse results to convert them into proper ColorGradient instances.
|
|
54
|
+
*
|
|
55
|
+
* @param {any} item
|
|
56
|
+
* @returns {ColorGradient}
|
|
57
|
+
*/
|
|
58
|
+
static fromObject(item: any): ColorGradient;
|
|
59
|
+
/**
|
|
60
|
+
* Clone this linear color gradient. Returns a deep clone.
|
|
61
|
+
*
|
|
62
|
+
* @returns {ColorGradient}
|
|
63
|
+
*/
|
|
64
|
+
clone(): ColorGradient;
|
|
65
|
+
/**
|
|
66
|
+
* Create a default color gradient with six color: red, orange, yellow, green, blue, purple.
|
|
67
|
+
* @returns
|
|
68
|
+
*/
|
|
69
|
+
static createDefault(): ColorGradient;
|
|
70
|
+
/**
|
|
71
|
+
* Create a basic color gradient from only two colors.
|
|
72
|
+
*
|
|
73
|
+
* @param {Color} startColor - The leftmost color.
|
|
74
|
+
* @param {Color} endColor - The rightmost color.
|
|
75
|
+
* @param {number?} angleInRadians - (optional) An optional angle for the gradient; if no specified `PI/2.0` will be used (vertical from left to right).
|
|
76
|
+
* @returns
|
|
77
|
+
*/
|
|
78
|
+
static createFrom(startColor: Color, endColor: Color, angleInRadians?: number): ColorGradient;
|
|
79
|
+
}
|
|
@@ -0,0 +1,171 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/**
|
|
3
|
+
* A simple linear color gradient implementation.
|
|
4
|
+
*
|
|
5
|
+
* A color gradient is just an array of color objects paired with position values on the gradient.
|
|
6
|
+
*
|
|
7
|
+
* TODO: add `angle`
|
|
8
|
+
*
|
|
9
|
+
* @author Ikaros Kappler
|
|
10
|
+
* @version 1.0.0
|
|
11
|
+
* @date 2025-08-05
|
|
12
|
+
*/
|
|
13
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
14
|
+
exports.ColorGradient = void 0;
|
|
15
|
+
var Color_1 = require("./Color");
|
|
16
|
+
var RAD_TO_DEG = 180.0 / Math.PI;
|
|
17
|
+
var DEFAULT_COLORSET = [
|
|
18
|
+
{ color: Color_1.Color.Red, ratio: 0.0 },
|
|
19
|
+
{ color: Color_1.Color.Gold, ratio: 0.2 },
|
|
20
|
+
{ color: Color_1.Color.Yellow, ratio: 0.4 },
|
|
21
|
+
{ color: Color_1.Color.LimeGreen, ratio: 0.6 },
|
|
22
|
+
{ color: Color_1.Color.MediumBlue, ratio: 0.8 },
|
|
23
|
+
{ color: Color_1.Color.Purple, ratio: 1.0 }
|
|
24
|
+
];
|
|
25
|
+
var ColorGradient = /** @class */ (function () {
|
|
26
|
+
/**
|
|
27
|
+
* Creates a new ColorGradient with the given values. Please be sure that the values appear in the correct
|
|
28
|
+
* order regarding the `ratio` information. This will not be validated.
|
|
29
|
+
*
|
|
30
|
+
* @param {Array<ColorGradientItem>} values - The values to use.
|
|
31
|
+
* @param {number?} angle - (optional) An optional angle for the gradient; if no specified `PI/2.0` will be used (vertical from left to right).
|
|
32
|
+
*/
|
|
33
|
+
function ColorGradient(values, angle) {
|
|
34
|
+
this.values = values;
|
|
35
|
+
// Default: left to right
|
|
36
|
+
this.angle = typeof angle === "undefined" ? Math.PI / 2.0 : angle;
|
|
37
|
+
}
|
|
38
|
+
/**
|
|
39
|
+
* Get a color gradient CSS value string from these gradient settings.
|
|
40
|
+
*
|
|
41
|
+
* @instance
|
|
42
|
+
* @memberof ColorGradientPicker
|
|
43
|
+
* @returns {string}
|
|
44
|
+
*/
|
|
45
|
+
ColorGradient.prototype.toColorGradientString = function () {
|
|
46
|
+
// Example:
|
|
47
|
+
// linear-gradient(90deg,rgba(42, 123, 155, 1) 0%, rgba(87, 199, 133, 1) 38%, rgba(161, 210, 108, 1) 68%, rgba(237, 221, 83, 1) 100%)
|
|
48
|
+
// const buffer: Array<string | undefined> = [`linear-gradient( ${RAD_TO_DEG * this.angle}deg, `];
|
|
49
|
+
var buffer = [
|
|
50
|
+
"linear-gradient( ".concat(typeof this.angle === "number" ? "".concat(this.angle * RAD_TO_DEG, "deg") : this.angle, ", ")
|
|
51
|
+
];
|
|
52
|
+
for (var i = 0; i < this.values.length; i++) {
|
|
53
|
+
if (i > 0) {
|
|
54
|
+
buffer.push(",");
|
|
55
|
+
}
|
|
56
|
+
var colorValue = this.values[i] ? this.values[i].color.cssRGBA() : null;
|
|
57
|
+
buffer.push(colorValue);
|
|
58
|
+
var percentage = this.values[i].ratio;
|
|
59
|
+
buffer.push("".concat(typeof percentage === "number" ? "".concat(percentage * 100, "%") : percentage));
|
|
60
|
+
}
|
|
61
|
+
buffer.push(")");
|
|
62
|
+
return buffer.join(" ");
|
|
63
|
+
};
|
|
64
|
+
/**
|
|
65
|
+
* Get the color at the specific relative position.
|
|
66
|
+
*
|
|
67
|
+
* @param {number} ratio - Any value between 0.0 and 1.0.
|
|
68
|
+
*/
|
|
69
|
+
ColorGradient.prototype.getColorAt = function (ratio) {
|
|
70
|
+
// Locate interval first
|
|
71
|
+
var intervalLocation = this.locateClosestRatio(ratio);
|
|
72
|
+
var leftItem = this.values[intervalLocation[0]];
|
|
73
|
+
var rightItem = this.values[intervalLocation[0] + 1];
|
|
74
|
+
var relativeInnerIntervalPosition = (ratio - leftItem.ratio) / (rightItem.ratio - leftItem.ratio);
|
|
75
|
+
return leftItem.color.clone().interpolate(rightItem.color, relativeInnerIntervalPosition);
|
|
76
|
+
};
|
|
77
|
+
/**
|
|
78
|
+
* Find that gradient record (index) that's value is closest to the given relative value. The function will return
|
|
79
|
+
* the closest value and the left index, indicating the containing interval index.
|
|
80
|
+
*
|
|
81
|
+
* @param {number} ratio - The value to look for.
|
|
82
|
+
* @returns {[number,number]} A pair of left interval boundary index and closest value.
|
|
83
|
+
*/
|
|
84
|
+
ColorGradient.prototype.locateClosestRatio = function (ratio) {
|
|
85
|
+
if (this.values.length === 0) {
|
|
86
|
+
console.warn("[Warn] All slider values array is empty. This should not happen, cannot proceed.");
|
|
87
|
+
return [NaN, null]; // This should not happen: at least two values must be present in a gradient
|
|
88
|
+
}
|
|
89
|
+
// console.log("__locateClosestSliderValue", "allSliderValues", allSliderValues);
|
|
90
|
+
var leftSliderIndex = 0;
|
|
91
|
+
var closestSliderValue = this.values[leftSliderIndex];
|
|
92
|
+
for (var i = 1; i < this.values.length; i++) {
|
|
93
|
+
var curVal = this.values[i];
|
|
94
|
+
if (Math.abs(curVal.ratio - ratio) < Math.abs(closestSliderValue.ratio - ratio)) {
|
|
95
|
+
closestSliderValue = curVal;
|
|
96
|
+
if (curVal.ratio > ratio) {
|
|
97
|
+
leftSliderIndex = i - 1;
|
|
98
|
+
}
|
|
99
|
+
else {
|
|
100
|
+
leftSliderIndex = i;
|
|
101
|
+
}
|
|
102
|
+
}
|
|
103
|
+
}
|
|
104
|
+
return [leftSliderIndex, closestSliderValue];
|
|
105
|
+
};
|
|
106
|
+
/**
|
|
107
|
+
* Try to convert the given anonymous item (usually and object) to a ColorGradient. This method should be used
|
|
108
|
+
* to restore items from JSON parse results to convert them into proper ColorGradient instances.
|
|
109
|
+
*
|
|
110
|
+
* @param {any} item
|
|
111
|
+
* @returns {ColorGradient}
|
|
112
|
+
*/
|
|
113
|
+
ColorGradient.fromObject = function (item) {
|
|
114
|
+
if (typeof item !== "object") {
|
|
115
|
+
throw new Error("Cannot instantiate ColorGradient from item: must be an object. (".concat(typeof item, ")"));
|
|
116
|
+
}
|
|
117
|
+
if (!item.hasOwnProperty("values")) {
|
|
118
|
+
throw new Error("Cannot instantiate ColorGradient from object: missing property 'values'.");
|
|
119
|
+
}
|
|
120
|
+
var valuesObj = item.values;
|
|
121
|
+
if (!Array.isArray(valuesObj)) {
|
|
122
|
+
throw new Error("Cannot instantiate ColorGradient from object: property 'values' is not an array.");
|
|
123
|
+
}
|
|
124
|
+
var values = valuesObj.map(function (element, index) {
|
|
125
|
+
if (typeof element !== "object") {
|
|
126
|
+
throw new Error("Cannot instantiate ColorGradient from object: item at index ".concat(index, " is not an object."));
|
|
127
|
+
}
|
|
128
|
+
if (!element.hasOwnProperty("color") || !element.hasOwnProperty("ratio")) {
|
|
129
|
+
throw new Error("Cannot instantiate ColorGradient from object: item at index ".concat(index, " is missing 'color' or 'ratio' property."));
|
|
130
|
+
}
|
|
131
|
+
var tmpElement = element;
|
|
132
|
+
return { color: Color_1.Color.makeRGB(tmpElement.color.r, tmpElement.color.g, tmpElement.color.b), ratio: tmpElement.ratio };
|
|
133
|
+
});
|
|
134
|
+
// More checks possible here ...
|
|
135
|
+
return new ColorGradient(values, item.angle);
|
|
136
|
+
};
|
|
137
|
+
/**
|
|
138
|
+
* Clone this linear color gradient. Returns a deep clone.
|
|
139
|
+
*
|
|
140
|
+
* @returns {ColorGradient}
|
|
141
|
+
*/
|
|
142
|
+
ColorGradient.prototype.clone = function () {
|
|
143
|
+
return new ColorGradient(this.values.map(function (item) {
|
|
144
|
+
return { color: item.color, ratio: item.ratio };
|
|
145
|
+
}), this.angle);
|
|
146
|
+
};
|
|
147
|
+
/**
|
|
148
|
+
* Create a default color gradient with six color: red, orange, yellow, green, blue, purple.
|
|
149
|
+
* @returns
|
|
150
|
+
*/
|
|
151
|
+
ColorGradient.createDefault = function () {
|
|
152
|
+
return new ColorGradient(DEFAULT_COLORSET.map(function (item) { return ({ color: item.color, ratio: item.ratio }); }));
|
|
153
|
+
};
|
|
154
|
+
/**
|
|
155
|
+
* Create a basic color gradient from only two colors.
|
|
156
|
+
*
|
|
157
|
+
* @param {Color} startColor - The leftmost color.
|
|
158
|
+
* @param {Color} endColor - The rightmost color.
|
|
159
|
+
* @param {number?} angleInRadians - (optional) An optional angle for the gradient; if no specified `PI/2.0` will be used (vertical from left to right).
|
|
160
|
+
* @returns
|
|
161
|
+
*/
|
|
162
|
+
ColorGradient.createFrom = function (startColor, endColor, angleInRadians) {
|
|
163
|
+
return new ColorGradient([
|
|
164
|
+
{ ratio: 0.0, color: startColor },
|
|
165
|
+
{ ratio: 1.0, color: endColor }
|
|
166
|
+
], angleInRadians);
|
|
167
|
+
};
|
|
168
|
+
return ColorGradient;
|
|
169
|
+
}());
|
|
170
|
+
exports.ColorGradient = ColorGradient;
|
|
171
|
+
//# sourceMappingURL=ColorGradient.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ColorGradient.js","sourceRoot":"","sources":["../../../ts/utils/datastructures/ColorGradient.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,245 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Approach for a 'simple' color gradient picker for my PlotBoilerplate library.
|
|
3
|
+
*
|
|
4
|
+
* As it turned out a bit more complex in the end – due to the fact that color gradient
|
|
5
|
+
* picking is not a super simple task – so I used JSX here. Thus a JSX library is required
|
|
6
|
+
* to get this running: NoReact.
|
|
7
|
+
*
|
|
8
|
+
*
|
|
9
|
+
* @author Ikaros Kappler
|
|
10
|
+
* @date 2025-06-27
|
|
11
|
+
* @version 1.0.0
|
|
12
|
+
*/
|
|
13
|
+
import { ColorGradient } from "../../datastructures/ColorGradient";
|
|
14
|
+
export type ColorGradientChangeListener = (colorGradient: ColorGradient, source: ColorGradientPicker) => void;
|
|
15
|
+
export declare class ColorGradientPicker {
|
|
16
|
+
private readonly baseID;
|
|
17
|
+
private readonly elementID;
|
|
18
|
+
private container;
|
|
19
|
+
private containerRef;
|
|
20
|
+
private _sliderElementRefs;
|
|
21
|
+
private colorInputRef;
|
|
22
|
+
private colorIndicatorColorButtonRef;
|
|
23
|
+
private colorIndicatorRemoveButtonRef;
|
|
24
|
+
private colorInputContainerRef;
|
|
25
|
+
private sliderMin;
|
|
26
|
+
private sliderMax;
|
|
27
|
+
private isMobileMode;
|
|
28
|
+
private css_indicatorWidth_num;
|
|
29
|
+
private css_indicatorWidth;
|
|
30
|
+
private css_indicatorHeight;
|
|
31
|
+
private css_thumbWidth;
|
|
32
|
+
private css_thumbHeight;
|
|
33
|
+
private css_containerHeight;
|
|
34
|
+
private colorGradient;
|
|
35
|
+
private installedChangeListeners;
|
|
36
|
+
private __mouseDownPosition;
|
|
37
|
+
/**
|
|
38
|
+
* The constructor: creates a new color gradient picker in the given container.
|
|
39
|
+
* If no container or ID is given then a new unbound `container` will be created (DIV).
|
|
40
|
+
*
|
|
41
|
+
* Pass a container ID or nothing – in the latter case the constructor will create
|
|
42
|
+
* a new DIV element.
|
|
43
|
+
*
|
|
44
|
+
* @param {string?} containerID - (optional) If you want to use an existing container (should be a DIV).
|
|
45
|
+
* @param {boolean?} isMobileMode - (optional) If `true` then the elements are rendered in double size.
|
|
46
|
+
*/
|
|
47
|
+
constructor(containerID?: string, isMobileMode?: boolean);
|
|
48
|
+
setGradient(gradient: ColorGradient, fireChangeEvent?: boolean): void;
|
|
49
|
+
private __removeAllChildNodes;
|
|
50
|
+
private __initializeDataSets;
|
|
51
|
+
/**
|
|
52
|
+
* Adds a new color gradient change listener to this ColorGradientPicker.
|
|
53
|
+
*
|
|
54
|
+
* @param {ColorGradientChangeListener} listener - The listener to add.
|
|
55
|
+
* @returns {boolean} True, if the listener was added and did not exist before.
|
|
56
|
+
*/
|
|
57
|
+
addChangeListener(listener: ColorGradientChangeListener): boolean;
|
|
58
|
+
/**
|
|
59
|
+
*
|
|
60
|
+
* @param {ColorGradientChangeListener} listener The listener to remove.
|
|
61
|
+
* @returns {boolean} True, if the listener existed and has been removed.
|
|
62
|
+
*/
|
|
63
|
+
removeChangeListener(listener: ColorGradientChangeListener): boolean;
|
|
64
|
+
/**
|
|
65
|
+
* Fires a change event to all installed listeners.
|
|
66
|
+
*/
|
|
67
|
+
private __fireChangeEvent;
|
|
68
|
+
/**
|
|
69
|
+
* Creates a new color range input element.
|
|
70
|
+
*
|
|
71
|
+
* @private
|
|
72
|
+
* @param {number} baseID
|
|
73
|
+
* @param index
|
|
74
|
+
* @param sliderMin
|
|
75
|
+
* @param sliderMax
|
|
76
|
+
* @param initialValue
|
|
77
|
+
* @param initialColor
|
|
78
|
+
* @returns
|
|
79
|
+
*/
|
|
80
|
+
private __createColorRangeInput;
|
|
81
|
+
/**
|
|
82
|
+
* Get the absolute length of this range, in slider units.
|
|
83
|
+
* @returns
|
|
84
|
+
*/
|
|
85
|
+
getRangeLength(): number;
|
|
86
|
+
/**
|
|
87
|
+
* Creates a callback function for range slider.
|
|
88
|
+
*
|
|
89
|
+
* @returns
|
|
90
|
+
*/
|
|
91
|
+
private __createSliderChangeHandler;
|
|
92
|
+
/**
|
|
93
|
+
* Handles color value changes.
|
|
94
|
+
*
|
|
95
|
+
* @returns
|
|
96
|
+
*/
|
|
97
|
+
__colorChangeHandler(): (_evt: Event) => boolean;
|
|
98
|
+
/**
|
|
99
|
+
* Removed the current color slider from the DOM and highlights the left neighbour.
|
|
100
|
+
*
|
|
101
|
+
* @returns {boolean} True if the element could be successfully removed.
|
|
102
|
+
*/
|
|
103
|
+
private __handleRemoveColor;
|
|
104
|
+
/**
|
|
105
|
+
* Once a slider element was added or removed then the following indices must be updated.
|
|
106
|
+
*
|
|
107
|
+
* @param {number} startIndex - The slider index to start updating at.
|
|
108
|
+
*/
|
|
109
|
+
__updateSliderDataSetIndices(startIndex: number): void;
|
|
110
|
+
/**
|
|
111
|
+
* To avoid too many sliders added on each click, check if the mouse was moved in the meantime (detect drag event).
|
|
112
|
+
*
|
|
113
|
+
* @returns
|
|
114
|
+
*/
|
|
115
|
+
private __containerMouseDownHandler;
|
|
116
|
+
/**
|
|
117
|
+
* Creates a handler for click events on the container. If the click event is far
|
|
118
|
+
* enough from existing sliders, then it can be added.
|
|
119
|
+
*
|
|
120
|
+
* @returns
|
|
121
|
+
*/
|
|
122
|
+
private __containerClickHandler;
|
|
123
|
+
/**
|
|
124
|
+
* Find that slider (index) that's value is closest to the given absolute value. The function will return
|
|
125
|
+
* the closest value and the left index, indicating the containing interval index.
|
|
126
|
+
*
|
|
127
|
+
* @param {number} absoluteValue - The value to look for.
|
|
128
|
+
* @returns {[number,number]} A pair of left slider index and closest value.
|
|
129
|
+
*/
|
|
130
|
+
private __locateClosestSliderValue;
|
|
131
|
+
/**
|
|
132
|
+
* Convert the click event to the relative x value in [0..1].
|
|
133
|
+
*
|
|
134
|
+
* @param {MouseEvent} evt - The mouse event.
|
|
135
|
+
* @returns {number} The relative x value.
|
|
136
|
+
*/
|
|
137
|
+
private __clickEventToRelativeValue;
|
|
138
|
+
/**
|
|
139
|
+
* Adds a slider at the given interval index.
|
|
140
|
+
*
|
|
141
|
+
* @param {number} absoluteValue - The absolute new slider value.
|
|
142
|
+
* @param {number} leftSliderIndex - The new slider's position (interval index).
|
|
143
|
+
*/
|
|
144
|
+
private __addSliderAt;
|
|
145
|
+
/**
|
|
146
|
+
* Get the slider color at the given absolute value. That value must be inside the [MIN_VALUE, MAX_VALUE] interval.
|
|
147
|
+
* @param absoluteValue
|
|
148
|
+
* @returns
|
|
149
|
+
*/
|
|
150
|
+
private __getSliderColorAt;
|
|
151
|
+
/**
|
|
152
|
+
* Locate the slider interval that contains the given (absolute) slider value. The given value must be
|
|
153
|
+
* somewhere between MIN_VALUE and MAX_VALUE (usually between 0 and 100 in the default configuraion.).
|
|
154
|
+
*
|
|
155
|
+
* @param {number} absoluteValue - The absolute value to search for.
|
|
156
|
+
* @returns {number} The left slider inder the containing interval is starting with – or -1 if out of bounds.
|
|
157
|
+
*/
|
|
158
|
+
private __locateIntervalAt;
|
|
159
|
+
/**
|
|
160
|
+
* Converts a relative value in [0..1] to [min..max].
|
|
161
|
+
* @param relativeValue
|
|
162
|
+
*/
|
|
163
|
+
private __relativeToAbsolute;
|
|
164
|
+
/**
|
|
165
|
+
* Converts a relative value in [0..1] to [min..max].
|
|
166
|
+
* @param relativeValue
|
|
167
|
+
*/
|
|
168
|
+
private __absoluteToRelative;
|
|
169
|
+
/**
|
|
170
|
+
* Get the value of the n-th rangel slider.
|
|
171
|
+
*
|
|
172
|
+
* @param {number} sliderIndex
|
|
173
|
+
* @param {number} fallback
|
|
174
|
+
* @returns
|
|
175
|
+
*/
|
|
176
|
+
private __getSliderValue;
|
|
177
|
+
/**
|
|
178
|
+
* Get all current slider values as an array.
|
|
179
|
+
* @returns
|
|
180
|
+
*/
|
|
181
|
+
private __getAllSliderValues;
|
|
182
|
+
/**
|
|
183
|
+
* Updates the container's background to display the configured color gradient.
|
|
184
|
+
*
|
|
185
|
+
* @private
|
|
186
|
+
*/
|
|
187
|
+
private __updateBackgroundGradient;
|
|
188
|
+
/**
|
|
189
|
+
* After changes this function updates the color indicator button.
|
|
190
|
+
*
|
|
191
|
+
* @param {number} rangeSliderIndex - The new active slider index.
|
|
192
|
+
*/
|
|
193
|
+
private __updateColorIndicator;
|
|
194
|
+
/**
|
|
195
|
+
* Get a color gradient CSS value string from the current editor settings.
|
|
196
|
+
*
|
|
197
|
+
* @instance
|
|
198
|
+
* @memberof ColorGradientPicker
|
|
199
|
+
* @returns {ColorGradient}
|
|
200
|
+
*/
|
|
201
|
+
getColorGradient(): ColorGradient;
|
|
202
|
+
/**
|
|
203
|
+
* Get the configured color value of the n-th rangel slider.
|
|
204
|
+
*
|
|
205
|
+
* @param {number} sliderIndex
|
|
206
|
+
* @param {string} fallback
|
|
207
|
+
* @returns
|
|
208
|
+
*/
|
|
209
|
+
private __getSliderColorString;
|
|
210
|
+
/**
|
|
211
|
+
* Get the configured color value of the n-th rangel slider.
|
|
212
|
+
*
|
|
213
|
+
* @param {number} sliderIndex
|
|
214
|
+
* @param {string} fallback
|
|
215
|
+
* @returns
|
|
216
|
+
*/
|
|
217
|
+
private __getSliderColorHEXString;
|
|
218
|
+
/**
|
|
219
|
+
* Get get color of this gradient picker at the given slider index.
|
|
220
|
+
*
|
|
221
|
+
* @param {number} sliderIndex - The index to get the slider color from. Something between 0 and _sliderElementRefs.length.
|
|
222
|
+
* @param {Color} fallback
|
|
223
|
+
* @returns
|
|
224
|
+
*/
|
|
225
|
+
private __getSliderColor;
|
|
226
|
+
/**
|
|
227
|
+
* Get the slider's value in a mapped range of 0.0 ... 1.0.
|
|
228
|
+
*
|
|
229
|
+
* @param sliderIndex
|
|
230
|
+
* @returns
|
|
231
|
+
*/
|
|
232
|
+
private __getSliderPercentage;
|
|
233
|
+
/**
|
|
234
|
+
* Init the container contents.
|
|
235
|
+
*
|
|
236
|
+
* @private
|
|
237
|
+
*/
|
|
238
|
+
private _render;
|
|
239
|
+
/**
|
|
240
|
+
* Adds custom styles (global STYLE tag).
|
|
241
|
+
*
|
|
242
|
+
* @private
|
|
243
|
+
*/
|
|
244
|
+
private __createCustomStylesElement;
|
|
245
|
+
}
|