plotboilerplate 1.24.0 → 1.26.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 +14 -1
- package/dist/index.esm.js +433 -162
- 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 +12312 -12041
- package/dist/plotboilerplate.min.js +1 -1
- package/package.json +9 -5
- package/src/cjs/Bounds.d.ts +79 -25
- package/src/cjs/Bounds.js +102 -29
- package/src/cjs/Bounds.js.map +1 -1
- package/src/cjs/CircleSector.d.ts +3 -0
- package/src/cjs/CircleSector.js +28 -1
- package/src/cjs/CircleSector.js.map +1 -1
- 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/drawutilssvg.d.ts +2 -1
- package/src/cjs/drawutilssvg.js +9 -3
- package/src/cjs/drawutilssvg.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/LissajousFigure.d.ts +34 -0
- package/src/cjs/utils/LissajousFigure.js +100 -0
- package/src/cjs/utils/LissajousFigure.js.map +1 -0
- package/src/cjs/utils/PerlinNoise.d.ts +19 -0
- package/src/cjs/utils/PerlinNoise.js +352 -0
- package/src/cjs/utils/PerlinNoise.js.map +1 -0
- package/src/cjs/utils/SVGPathUtils.d.ts +22 -0
- package/src/cjs/utils/SVGPathUtils.js +45 -0
- package/src/cjs/utils/SVGPathUtils.js.map +1 -0
- package/src/cjs/utils/algorithms/pixelCornersToRoundPaths.d.ts +23 -0
- package/src/cjs/utils/algorithms/pixelCornersToRoundPaths.js +270 -0
- package/src/cjs/utils/algorithms/pixelCornersToRoundPaths.js.map +1 -0
- 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/datastructures/DataGrid2d.d.ts +6 -0
- package/src/cjs/utils/datastructures/DataGrid2dArrayMatrix.d.ts +88 -0
- package/src/cjs/utils/datastructures/DataGrid2dArrayMatrix.js +155 -0
- package/src/cjs/utils/datastructures/DataGrid2dArrayMatrix.js.map +1 -0
- package/src/cjs/utils/datastructures/DataGrid2dListAdapter.d.ts +1 -7
- package/src/cjs/utils/datastructures/DataGrid2dListAdapter.js +3 -3
- package/src/cjs/utils/datastructures/DataGrid2dListAdapter.js.map +1 -1
- package/src/cjs/utils/datastructures/GeometryMesh.d.ts +49 -0
- package/src/cjs/utils/datastructures/GeometryMesh.js +58 -0
- package/src/cjs/utils/datastructures/GeometryMesh.js.map +1 -0
- package/src/cjs/utils/detectDarkMode.js +16 -7
- package/src/cjs/utils/detectDarkMode.js.map +1 -1
- package/src/cjs/utils/dom/components/ColorGradientPicker.d.ts +246 -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 +118 -0
- package/src/cjs/utils/dom/components/ColorGradientSelector.js +327 -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/cjs/utils/parsers/svg/types.d.ts +8 -8
- package/src/createDemoDrawables.js +1 -0
- package/src/esm/Bounds.d.ts +79 -25
- package/src/esm/Bounds.js +102 -29
- package/src/esm/Bounds.js.map +1 -1
- package/src/esm/CircleSector.d.ts +3 -0
- package/src/esm/CircleSector.js +28 -1
- package/src/esm/CircleSector.js.map +1 -1
- 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/drawutilssvg.d.ts +2 -1
- package/src/esm/drawutilssvg.js +9 -3
- package/src/esm/drawutilssvg.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/LissajousFigure.d.ts +34 -0
- package/src/esm/utils/LissajousFigure.js +95 -0
- package/src/esm/utils/LissajousFigure.js.map +1 -0
- package/src/esm/utils/PerlinNoise.d.ts +19 -0
- package/src/esm/utils/PerlinNoise.js +346 -0
- package/src/esm/utils/PerlinNoise.js.map +1 -0
- package/src/esm/utils/SVGPathUtils.d.ts +22 -0
- package/src/esm/utils/SVGPathUtils.js +42 -0
- package/src/esm/utils/SVGPathUtils.js.map +1 -0
- package/src/esm/utils/algorithms/pixelCornersToRoundPaths.d.ts +23 -0
- package/src/esm/utils/algorithms/pixelCornersToRoundPaths.js +266 -0
- package/src/esm/utils/algorithms/pixelCornersToRoundPaths.js.map +1 -0
- 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/datastructures/DataGrid2d.d.ts +6 -0
- package/src/esm/utils/datastructures/DataGrid2dArrayMatrix.d.ts +88 -0
- package/src/esm/utils/datastructures/DataGrid2dArrayMatrix.js +150 -0
- package/src/esm/utils/datastructures/DataGrid2dArrayMatrix.js.map +1 -0
- package/src/esm/utils/datastructures/DataGrid2dListAdapter.d.ts +1 -7
- package/src/esm/utils/datastructures/DataGrid2dListAdapter.js +3 -3
- package/src/esm/utils/datastructures/DataGrid2dListAdapter.js.map +1 -1
- package/src/esm/utils/datastructures/GeometryMesh.d.ts +49 -0
- package/src/esm/utils/datastructures/GeometryMesh.js +53 -0
- package/src/esm/utils/datastructures/GeometryMesh.js.map +1 -0
- package/src/esm/utils/detectDarkMode.js +16 -7
- package/src/esm/utils/detectDarkMode.js.map +1 -1
- package/src/esm/utils/dom/components/ColorGradientPicker.d.ts +246 -0
- package/src/esm/utils/dom/components/ColorGradientPicker.js +743 -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 +118 -0
- package/src/esm/utils/dom/components/ColorGradientSelector.js +339 -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/esm/utils/parsers/svg/types.d.ts +8 -8
- package/src/external.d.ts +9 -0
- package/src/ts/Bounds.ts +107 -22
- package/src/ts/CircleSector.ts +39 -6
- 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/drawutilssvg.ts +8 -3
- package/src/ts/interfaces/core.ts +31 -0
- package/src/ts/utils/LissajousFigure.ts +110 -0
- package/src/ts/utils/PerlinNoise.ts +368 -0
- package/src/ts/utils/SVGPathUtils.ts +55 -0
- package/src/ts/utils/algorithms/pixelCornersToRoundPaths.ts +379 -0
- package/src/ts/utils/datastructures/Color.ts +423 -44
- package/src/ts/utils/datastructures/ColorGradient.ts +196 -0
- package/src/ts/utils/datastructures/DataGrid2d.ts +7 -0
- package/src/ts/utils/datastructures/DataGrid2dArrayMatrix.ts +182 -0
- package/src/ts/utils/datastructures/DataGrid2dListAdapter.ts +4 -11
- package/src/ts/utils/datastructures/GeometryMesh.ts +79 -0
- package/src/ts/utils/detectDarkMode.ts +17 -8
- package/src/ts/utils/dom/components/ColorGradientPicker.tsx +889 -0
- package/src/ts/utils/dom/components/ColorGradientSelector.tsx +452 -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
- package/src/ts/utils/parsers/svg/types.ts +8 -8
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"DataGrid2dArrayMatrix.js","sourceRoot":"","sources":["../../../ts/utils/datastructures/DataGrid2dArrayMatrix.ts"],"names":[],"mappings":"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"}
|
|
@@ -6,18 +6,12 @@
|
|
|
6
6
|
* @modified 2023-11-04 Converted to a Typescript class.
|
|
7
7
|
* @version 1.0.0
|
|
8
8
|
**/
|
|
9
|
-
import { DataGridFace4, IDataGrid2d } from "./DataGrid2d";
|
|
9
|
+
import { DataGridFace4, IDataGrid2d, RasterPosition } from "./DataGrid2d";
|
|
10
10
|
type Triplet<T> = {
|
|
11
11
|
x: T;
|
|
12
12
|
y: T;
|
|
13
13
|
z: T;
|
|
14
14
|
};
|
|
15
|
-
type RasterPosition = {
|
|
16
|
-
xIndex: number;
|
|
17
|
-
yIndex: number;
|
|
18
|
-
xRel?: number;
|
|
19
|
-
yRel?: number;
|
|
20
|
-
};
|
|
21
15
|
export declare class DataGrid2dListAdapter<T> implements IDataGrid2d<T> {
|
|
22
16
|
/**
|
|
23
17
|
* @override
|
|
@@ -57,9 +57,9 @@ var DataGrid2dListAdapter = /** @class */ (function () {
|
|
|
57
57
|
DataGrid2dListAdapter.prototype.getDataValueAt = function (xIndex, yIndex, isDebug) {
|
|
58
58
|
// var bufferIndex = yIndex * this.xSegmentCount + xIndex;
|
|
59
59
|
var bufferIndex = this.coordinateIndicesToBufferIndex(xIndex, yIndex);
|
|
60
|
-
if (isDebug) {
|
|
61
|
-
|
|
62
|
-
}
|
|
60
|
+
// if (isDebug) {
|
|
61
|
+
// console.log("xIndex", xIndex, "yIndex", yIndex, "bufferIndex", bufferIndex);
|
|
62
|
+
// }
|
|
63
63
|
if (bufferIndex > this._dataList.length) {
|
|
64
64
|
console.error("ERR buffer index is out of bounds! xIndex", xIndex, "yIndex", yIndex, "bufferIndex", bufferIndex);
|
|
65
65
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"DataGrid2dListAdapter.js","sourceRoot":"","sources":["../../../ts/utils/datastructures/DataGrid2dListAdapter.ts"],"names":[],"mappings":";AAAA;;;;;;;IAOI;;;
|
|
1
|
+
{"version":3,"file":"DataGrid2dListAdapter.js","sourceRoot":"","sources":["../../../ts/utils/datastructures/DataGrid2dListAdapter.ts"],"names":[],"mappings":";AAAA;;;;;;;IAOI;;;AAUJ;IAmBE;;;;;;OAMG;IACH,+BAAY,IAAuB,EAAE,aAAqB,EAAE,aAAqB;QAC/E,IAAI,aAAa,GAAG,aAAa,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC;YAChD,MAAM,gEAAyD,IAAI,CAAC,MAAM,iDAAuC,aAAa,cAAI,aAAa,uBAAoB,CAAC;QACtK,CAAC;QAED,mDAAmD;QACnD,IAAI,CAAC,aAAa,GAAG,aAAa,CAAC;QACnC,IAAI,CAAC,aAAa,GAAG,aAAa,CAAC;QAEnC,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC;IACxB,CAAC;IAED,yDAAyB,GAAzB,UAA0B,WAAmB;QAC3C,OAAO,EAAE,MAAM,EAAE,IAAI,CAAC,KAAK,CAAC,WAAW,GAAG,IAAI,CAAC,aAAa,CAAC,EAAE,MAAM,EAAE,IAAI,CAAC,KAAK,CAAC,WAAW,GAAG,IAAI,CAAC,aAAa,CAAC,EAAE,CAAC;IACxH,CAAC;IAED,wDAAwB,GAAxB,UAAyB,WAAmB;QAC1C,IAAI,KAAK,GAAG,IAAI,CAAC,yBAAyB,CAAC,WAAW,CAAC,CAAC;QACxD,uGAAuG;QACvG,KAAK,CAAC,IAAI,GAAG,KAAK,CAAC,MAAM,GAAG,CAAC,IAAI,CAAC,aAAa,GAAG,CAAC,CAAC,CAAC;QACrD,KAAK,CAAC,IAAI,GAAG,KAAK,CAAC,MAAM,GAAG,CAAC,IAAI,CAAC,aAAa,GAAG,CAAC,CAAC,CAAC;QACrD,OAAO,KAAK,CAAC;IACf,CAAC;IAED,8DAA8B,GAA9B,UAA+B,MAAc,EAAE,MAAc;QAC3D,OAAO,MAAM,GAAG,IAAI,CAAC,aAAa,GAAG,MAAM,CAAC;IAC9C,CAAC;IAED;;OAEG;IACH,+CAAe,GAAf;QACE,OAAO,IAAI,CAAC,YAAY,CAAC;IAC3B,CAAC;IAED;;OAEG;IACH,+CAAe,GAAf;QACE,OAAO,IAAI,CAAC,YAAY,CAAC;IAC3B,CAAC;IAED;;OAEG;IACH,8CAAc,GAAd,UAAe,MAAc,EAAE,MAAc,EAAE,OAAiB;QAC9D,0DAA0D;QAC1D,IAAI,WAAW,GAAG,IAAI,CAAC,8BAA8B,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;QACtE,iBAAiB;QACjB,iFAAiF;QACjF,IAAI;QACJ,IAAI,WAAW,GAAG,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE,CAAC;YACxC,OAAO,CAAC,KAAK,CAAC,2CAA2C,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,aAAa,EAAE,WAAW,CAAC,CAAC;QACnH,CAAC;QACD,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,WAAW,CAAC,EAAE,CAAC;YACjC,OAAO,CAAC,KAAK,CAAC,oCAAoC,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,aAAa,EAAE,WAAW,CAAC,CAAC;QAC5G,CAAC;QACD,OAAO,IAAI,CAAC,SAAS,IAAI,WAAW,GAAG,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;IACtG,CAAC;IAED;;OAEG;IACH,8CAAc,GAAd,UAAe,MAAc,EAAE,MAAc,EAAE,MAAwB;QACrE,sBAAsB;QACtB,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,cAAc,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;QACnD,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,cAAc,CAAC,MAAM,GAAG,CAAC,EAAE,MAAM,CAAC,CAAC;QACvD,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,cAAc,CAAC,MAAM,GAAG,CAAC,EAAE,MAAM,GAAG,CAAC,CAAC,CAAC;QAC3D,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,cAAc,CAAC,MAAM,EAAE,MAAM,GAAG,CAAC,CAAC,CAAC;IACzD,CAAC;IACH,4BAAC;AAAD,CAAC,AAhGD,IAgGC;AAhGY,sDAAqB"}
|
|
@@ -0,0 +1,49 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Adapted from the 3D geometry datastuctured from demo-33 (depth mesh).
|
|
3
|
+
*
|
|
4
|
+
* Refactored the strucure into a class.
|
|
5
|
+
*
|
|
6
|
+
* @author Ikaros Kappler
|
|
7
|
+
* @date 2025-11-14
|
|
8
|
+
* @modified 2025-11-17 Moved `getBounds` and `normalizeGeometry` from helper functions to this class.
|
|
9
|
+
* @version 1.0.0
|
|
10
|
+
*/
|
|
11
|
+
export type Vertex2 = {
|
|
12
|
+
x: number;
|
|
13
|
+
y: number;
|
|
14
|
+
};
|
|
15
|
+
export type Vertex3 = {
|
|
16
|
+
x: number;
|
|
17
|
+
y: number;
|
|
18
|
+
z: number;
|
|
19
|
+
};
|
|
20
|
+
export declare class GeometryMesh<T extends Vertex2 | Vertex3> {
|
|
21
|
+
/**
|
|
22
|
+
* A set (array) of vertices (points) used in this mesh. Can be 2d or 3d.
|
|
23
|
+
*
|
|
24
|
+
* @member {Array<T>}
|
|
25
|
+
* @memberof GeometryMesh
|
|
26
|
+
* @type {Array<T>}
|
|
27
|
+
* @instance
|
|
28
|
+
*/
|
|
29
|
+
vertices: Array<T>;
|
|
30
|
+
/**
|
|
31
|
+
* A set (array) of edges used in this mesh.
|
|
32
|
+
* Each edge consist of two indices indicating the vertex position.
|
|
33
|
+
*
|
|
34
|
+
* @member {Array<T>}
|
|
35
|
+
* @memberof GeometryMesh
|
|
36
|
+
* @type {Array<T>}
|
|
37
|
+
* @instance
|
|
38
|
+
*/
|
|
39
|
+
edges: Array<[number, number]>;
|
|
40
|
+
constructor(vertices?: Array<T>, edges?: Array<[number, number]>);
|
|
41
|
+
normalize(): void;
|
|
42
|
+
getGeometryBounds(): {
|
|
43
|
+
min: Vertex3;
|
|
44
|
+
max: Vertex3;
|
|
45
|
+
width: number;
|
|
46
|
+
height: number;
|
|
47
|
+
depth: number;
|
|
48
|
+
};
|
|
49
|
+
}
|
|
@@ -0,0 +1,58 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/**
|
|
3
|
+
* Adapted from the 3D geometry datastuctured from demo-33 (depth mesh).
|
|
4
|
+
*
|
|
5
|
+
* Refactored the strucure into a class.
|
|
6
|
+
*
|
|
7
|
+
* @author Ikaros Kappler
|
|
8
|
+
* @date 2025-11-14
|
|
9
|
+
* @modified 2025-11-17 Moved `getBounds` and `normalizeGeometry` from helper functions to this class.
|
|
10
|
+
* @version 1.0.0
|
|
11
|
+
*/
|
|
12
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
13
|
+
exports.GeometryMesh = void 0;
|
|
14
|
+
var GeometryMesh = /** @class */ (function () {
|
|
15
|
+
function GeometryMesh(vertices, edges) {
|
|
16
|
+
this.vertices = vertices || [];
|
|
17
|
+
this.edges = edges || [];
|
|
18
|
+
}
|
|
19
|
+
GeometryMesh.prototype.normalize = function () {
|
|
20
|
+
// Desired bounds is a max bounding box. The object will be scaled keeping aspect ratio
|
|
21
|
+
// in that way that the largest axis size touches the desired bounds.
|
|
22
|
+
var desiredBounds = { min: { x: -1, y: -1, z: -1 }, max: { x: 1, y: 1, z: 1 } };
|
|
23
|
+
var bounds = this.getGeometryBounds();
|
|
24
|
+
var sizeX = bounds.max.x - bounds.min.x;
|
|
25
|
+
var sizeY = bounds.max.y - bounds.min.y;
|
|
26
|
+
var sizeZ = bounds.max.z - bounds.min.z;
|
|
27
|
+
// Scale uniform so the dimension with the max expansion fits into [-1,1]
|
|
28
|
+
var maxDimension = Math.max(sizeX, sizeY, sizeZ);
|
|
29
|
+
var desiredSizeX = (desiredBounds.max.x - desiredBounds.min.x) / maxDimension;
|
|
30
|
+
var desiredSizeY = (desiredBounds.max.y - desiredBounds.min.y) / maxDimension;
|
|
31
|
+
var desiredSizeZ = (desiredBounds.max.z - desiredBounds.min.z) / maxDimension;
|
|
32
|
+
for (var i in this.vertices) {
|
|
33
|
+
var vert = this.vertices[i]; // TODO: Check if this is safe
|
|
34
|
+
vert.x = desiredBounds.min.x + (bounds.max.x - vert.x) * desiredSizeX;
|
|
35
|
+
vert.y = desiredBounds.min.y + (bounds.max.y - vert.y) * desiredSizeY;
|
|
36
|
+
vert.z = desiredBounds.min.z + (bounds.max.z - vert.z) * desiredSizeZ;
|
|
37
|
+
}
|
|
38
|
+
};
|
|
39
|
+
GeometryMesh.prototype.getGeometryBounds = function () {
|
|
40
|
+
// var min = new Vert3(Number.MAX_VALUE, Number.MAX_VALUE, Number.MAX_VALUE);
|
|
41
|
+
// var max = new Vert3(Number.MIN_VALUE, Number.MIN_VALUE, Number.MIN_VALUE);
|
|
42
|
+
var min = { x: Number.MAX_VALUE, y: Number.MAX_VALUE, z: Number.MAX_VALUE };
|
|
43
|
+
var max = { x: Number.MIN_VALUE, y: Number.MIN_VALUE, z: Number.MIN_VALUE };
|
|
44
|
+
for (var i in this.vertices) {
|
|
45
|
+
var vert = this.vertices[i];
|
|
46
|
+
min.x = Math.min(vert.x, min.x);
|
|
47
|
+
min.y = Math.min(vert.y, min.y);
|
|
48
|
+
min.z = Math.min(vert.z, min.z);
|
|
49
|
+
max.x = Math.max(vert.x, max.x);
|
|
50
|
+
max.y = Math.max(vert.y, max.y);
|
|
51
|
+
max.z = Math.max(vert.z, max.z);
|
|
52
|
+
}
|
|
53
|
+
return { min: min, max: max, width: max.x - min.x, height: max.y - min.y, depth: max.z - min.z };
|
|
54
|
+
};
|
|
55
|
+
return GeometryMesh;
|
|
56
|
+
}());
|
|
57
|
+
exports.GeometryMesh = GeometryMesh;
|
|
58
|
+
//# sourceMappingURL=GeometryMesh.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"GeometryMesh.js","sourceRoot":"","sources":["../../../ts/utils/datastructures/GeometryMesh.ts"],"names":[],"mappings":"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"}
|
|
@@ -11,22 +11,31 @@
|
|
|
11
11
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
12
12
|
exports.detectDarkMode = void 0;
|
|
13
13
|
var detectDarkMode = function (GUP) {
|
|
14
|
+
var isDarkmode = false;
|
|
14
15
|
// Respect overrides
|
|
15
16
|
if (typeof GUP !== "undefined" && GUP.hasOwnProperty("darkmode") && GUP["darkmode"]) {
|
|
16
17
|
// const overrideValue = PlotBoilerplate.utils.fetch.bool(GUP, "darkmode", null);
|
|
17
18
|
var overrideValue = !!JSON.parse(GUP["darkmode"]);
|
|
18
19
|
if (overrideValue !== null) {
|
|
19
|
-
|
|
20
|
+
isDarkmode = overrideValue;
|
|
20
21
|
}
|
|
21
22
|
}
|
|
22
|
-
if (globalThis.matchMedia && globalThis.matchMedia("(prefers-color-scheme: dark)").matches) {
|
|
23
|
+
else if (globalThis.matchMedia && globalThis.matchMedia("(prefers-color-scheme: dark)").matches) {
|
|
23
24
|
// dark mode by system
|
|
24
|
-
|
|
25
|
+
isDarkmode = true;
|
|
25
26
|
}
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
27
|
+
else {
|
|
28
|
+
// else: dark mode by daytime
|
|
29
|
+
var hours = new Date().getHours();
|
|
30
|
+
var isDayTime = hours > 6 && hours < 18;
|
|
31
|
+
isDarkmode = !isDayTime;
|
|
32
|
+
}
|
|
33
|
+
// console.log("Adding darkmode to <body>", isDarkmode);
|
|
34
|
+
if (isDarkmode && document.body) {
|
|
35
|
+
// Add darkmode class to <body> tag
|
|
36
|
+
document.body.classList.add("darkmode");
|
|
37
|
+
}
|
|
38
|
+
return isDarkmode;
|
|
30
39
|
};
|
|
31
40
|
exports.detectDarkMode = detectDarkMode;
|
|
32
41
|
//# sourceMappingURL=detectDarkMode.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"detectDarkMode.js","sourceRoot":"","sources":["../../ts/utils/detectDarkMode.ts"],"names":[],"mappings":";AAAA;;;;;;;;GAQG;;;AAEI,IAAM,cAAc,GAAG,UAAC,GAA4B;IACzD,oBAAoB;IACpB,IAAI,OAAO,GAAG,KAAK,WAAW,IAAI,GAAG,CAAC,cAAc,CAAC,UAAU,CAAC,IAAI,GAAG,CAAC,UAAU,CAAC,EAAE,CAAC;QACpF,iFAAiF;QACjF,IAAM,aAAa,GAAG,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC,CAAC;QACpD,IAAI,aAAa,KAAK,IAAI,EAAE,CAAC;YAC3B,
|
|
1
|
+
{"version":3,"file":"detectDarkMode.js","sourceRoot":"","sources":["../../ts/utils/detectDarkMode.ts"],"names":[],"mappings":";AAAA;;;;;;;;GAQG;;;AAEI,IAAM,cAAc,GAAG,UAAC,GAA4B;IACzD,IAAI,UAAU,GAAY,KAAK,CAAC;IAChC,oBAAoB;IACpB,IAAI,OAAO,GAAG,KAAK,WAAW,IAAI,GAAG,CAAC,cAAc,CAAC,UAAU,CAAC,IAAI,GAAG,CAAC,UAAU,CAAC,EAAE,CAAC;QACpF,iFAAiF;QACjF,IAAM,aAAa,GAAG,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC,CAAC;QACpD,IAAI,aAAa,KAAK,IAAI,EAAE,CAAC;YAC3B,UAAU,GAAG,aAAa,CAAC;QAC7B,CAAC;IACH,CAAC;SAAM,IAAI,UAAU,CAAC,UAAU,IAAI,UAAU,CAAC,UAAU,CAAC,8BAA8B,CAAC,CAAC,OAAO,EAAE,CAAC;QAClG,sBAAsB;QACtB,UAAU,GAAG,IAAI,CAAC;IACpB,CAAC;SAAM,CAAC;QACN,6BAA6B;QAC7B,IAAM,KAAK,GAAG,IAAI,IAAI,EAAE,CAAC,QAAQ,EAAE,CAAC;QACpC,IAAM,SAAS,GAAG,KAAK,GAAG,CAAC,IAAI,KAAK,GAAG,EAAE,CAAC;QAC1C,UAAU,GAAG,CAAC,SAAS,CAAC;IAC1B,CAAC;IAED,wDAAwD;IACxD,IAAI,UAAU,IAAI,QAAQ,CAAC,IAAI,EAAE,CAAC;QAChC,mCAAmC;QACnC,QAAQ,CAAC,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC;IAC1C,CAAC;IAED,OAAO,UAAU,CAAC;AACpB,CAAC,CAAC;AA1BW,QAAA,cAAc,kBA0BzB"}
|
|
@@ -0,0 +1,246 @@
|
|
|
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
|
+
* @modified 2025-09-10 Fixing a color select bug on MacOS.
|
|
12
|
+
* @version 1.0.0
|
|
13
|
+
*/
|
|
14
|
+
import { ColorGradient } from "../../datastructures/ColorGradient";
|
|
15
|
+
export type ColorGradientChangeListener = (colorGradient: ColorGradient, source: ColorGradientPicker) => void;
|
|
16
|
+
export declare class ColorGradientPicker {
|
|
17
|
+
private readonly baseID;
|
|
18
|
+
private readonly elementID;
|
|
19
|
+
private container;
|
|
20
|
+
private containerRef;
|
|
21
|
+
private _sliderElementRefs;
|
|
22
|
+
private colorInputRef;
|
|
23
|
+
private colorIndicatorColorButtonRef;
|
|
24
|
+
private colorIndicatorRemoveButtonRef;
|
|
25
|
+
private colorInputContainerRef;
|
|
26
|
+
private sliderMin;
|
|
27
|
+
private sliderMax;
|
|
28
|
+
private isMobileMode;
|
|
29
|
+
private css_indicatorWidth_num;
|
|
30
|
+
private css_indicatorWidth;
|
|
31
|
+
private css_indicatorHeight;
|
|
32
|
+
private css_thumbWidth;
|
|
33
|
+
private css_thumbHeight;
|
|
34
|
+
private css_containerHeight;
|
|
35
|
+
private colorGradient;
|
|
36
|
+
private installedChangeListeners;
|
|
37
|
+
private __mouseDownPosition;
|
|
38
|
+
/**
|
|
39
|
+
* The constructor: creates a new color gradient picker in the given container.
|
|
40
|
+
* If no container or ID is given then a new unbound `container` will be created (DIV).
|
|
41
|
+
*
|
|
42
|
+
* Pass a container ID or nothing – in the latter case the constructor will create
|
|
43
|
+
* a new DIV element.
|
|
44
|
+
*
|
|
45
|
+
* @param {string?} containerID - (optional) If you want to use an existing container (should be a DIV).
|
|
46
|
+
* @param {boolean?} isMobileMode - (optional) If `true` then the elements are rendered in double size.
|
|
47
|
+
*/
|
|
48
|
+
constructor(containerID?: string, isMobileMode?: boolean);
|
|
49
|
+
setGradient(gradient: ColorGradient, fireChangeEvent?: boolean): void;
|
|
50
|
+
private __removeAllChildNodes;
|
|
51
|
+
private __initializeDataSets;
|
|
52
|
+
/**
|
|
53
|
+
* Adds a new color gradient change listener to this ColorGradientPicker.
|
|
54
|
+
*
|
|
55
|
+
* @param {ColorGradientChangeListener} listener - The listener to add.
|
|
56
|
+
* @returns {boolean} True, if the listener was added and did not exist before.
|
|
57
|
+
*/
|
|
58
|
+
addChangeListener(listener: ColorGradientChangeListener): boolean;
|
|
59
|
+
/**
|
|
60
|
+
*
|
|
61
|
+
* @param {ColorGradientChangeListener} listener The listener to remove.
|
|
62
|
+
* @returns {boolean} True, if the listener existed and has been removed.
|
|
63
|
+
*/
|
|
64
|
+
removeChangeListener(listener: ColorGradientChangeListener): boolean;
|
|
65
|
+
/**
|
|
66
|
+
* Fires a change event to all installed listeners.
|
|
67
|
+
*/
|
|
68
|
+
private __fireChangeEvent;
|
|
69
|
+
/**
|
|
70
|
+
* Creates a new color range input element.
|
|
71
|
+
*
|
|
72
|
+
* @private
|
|
73
|
+
* @param {number} baseID
|
|
74
|
+
* @param index
|
|
75
|
+
* @param sliderMin
|
|
76
|
+
* @param sliderMax
|
|
77
|
+
* @param initialValue
|
|
78
|
+
* @param initialColor
|
|
79
|
+
* @returns
|
|
80
|
+
*/
|
|
81
|
+
private __createColorRangeInput;
|
|
82
|
+
/**
|
|
83
|
+
* Get the absolute length of this range, in slider units.
|
|
84
|
+
* @returns
|
|
85
|
+
*/
|
|
86
|
+
getRangeLength(): number;
|
|
87
|
+
/**
|
|
88
|
+
* Creates a callback function for range slider.
|
|
89
|
+
*
|
|
90
|
+
* @returns
|
|
91
|
+
*/
|
|
92
|
+
private __createSliderChangeHandler;
|
|
93
|
+
/**
|
|
94
|
+
* Handles color value changes.
|
|
95
|
+
*
|
|
96
|
+
* @returns
|
|
97
|
+
*/
|
|
98
|
+
__colorChangeHandler(): (_evt: Event) => boolean;
|
|
99
|
+
/**
|
|
100
|
+
* Removed the current color slider from the DOM and highlights the left neighbour.
|
|
101
|
+
*
|
|
102
|
+
* @returns {boolean} True if the element could be successfully removed.
|
|
103
|
+
*/
|
|
104
|
+
private __handleRemoveColor;
|
|
105
|
+
/**
|
|
106
|
+
* Once a slider element was added or removed then the following indices must be updated.
|
|
107
|
+
*
|
|
108
|
+
* @param {number} startIndex - The slider index to start updating at.
|
|
109
|
+
*/
|
|
110
|
+
__updateSliderDataSetIndices(startIndex: number): void;
|
|
111
|
+
/**
|
|
112
|
+
* To avoid too many sliders added on each click, check if the mouse was moved in the meantime (detect drag event).
|
|
113
|
+
*
|
|
114
|
+
* @returns
|
|
115
|
+
*/
|
|
116
|
+
private __containerMouseDownHandler;
|
|
117
|
+
/**
|
|
118
|
+
* Creates a handler for click events on the container. If the click event is far
|
|
119
|
+
* enough from existing sliders, then it can be added.
|
|
120
|
+
*
|
|
121
|
+
* @returns
|
|
122
|
+
*/
|
|
123
|
+
private __containerClickHandler;
|
|
124
|
+
/**
|
|
125
|
+
* Find that slider (index) that's value is closest to the given absolute value. The function will return
|
|
126
|
+
* the closest value and the left index, indicating the containing interval index.
|
|
127
|
+
*
|
|
128
|
+
* @param {number} absoluteValue - The value to look for.
|
|
129
|
+
* @returns {[number,number]} A pair of left slider index and closest value.
|
|
130
|
+
*/
|
|
131
|
+
private __locateClosestSliderValue;
|
|
132
|
+
/**
|
|
133
|
+
* Convert the click event to the relative x value in [0..1].
|
|
134
|
+
*
|
|
135
|
+
* @param {MouseEvent} evt - The mouse event.
|
|
136
|
+
* @returns {number} The relative x value.
|
|
137
|
+
*/
|
|
138
|
+
private __clickEventToRelativeValue;
|
|
139
|
+
/**
|
|
140
|
+
* Adds a slider at the given interval index.
|
|
141
|
+
*
|
|
142
|
+
* @param {number} absoluteValue - The absolute new slider value.
|
|
143
|
+
* @param {number} leftSliderIndex - The new slider's position (interval index).
|
|
144
|
+
*/
|
|
145
|
+
private __addSliderAt;
|
|
146
|
+
/**
|
|
147
|
+
* Get the slider color at the given absolute value. That value must be inside the [MIN_VALUE, MAX_VALUE] interval.
|
|
148
|
+
* @param absoluteValue
|
|
149
|
+
* @returns
|
|
150
|
+
*/
|
|
151
|
+
private __getSliderColorAt;
|
|
152
|
+
/**
|
|
153
|
+
* Locate the slider interval that contains the given (absolute) slider value. The given value must be
|
|
154
|
+
* somewhere between MIN_VALUE and MAX_VALUE (usually between 0 and 100 in the default configuraion.).
|
|
155
|
+
*
|
|
156
|
+
* @param {number} absoluteValue - The absolute value to search for.
|
|
157
|
+
* @returns {number} The left slider inder the containing interval is starting with – or -1 if out of bounds.
|
|
158
|
+
*/
|
|
159
|
+
private __locateIntervalAt;
|
|
160
|
+
/**
|
|
161
|
+
* Converts a relative value in [0..1] to [min..max].
|
|
162
|
+
* @param relativeValue
|
|
163
|
+
*/
|
|
164
|
+
private __relativeToAbsolute;
|
|
165
|
+
/**
|
|
166
|
+
* Converts a relative value in [0..1] to [min..max].
|
|
167
|
+
* @param relativeValue
|
|
168
|
+
*/
|
|
169
|
+
private __absoluteToRelative;
|
|
170
|
+
/**
|
|
171
|
+
* Get the value of the n-th rangel slider.
|
|
172
|
+
*
|
|
173
|
+
* @param {number} sliderIndex
|
|
174
|
+
* @param {number} fallback
|
|
175
|
+
* @returns
|
|
176
|
+
*/
|
|
177
|
+
private __getSliderValue;
|
|
178
|
+
/**
|
|
179
|
+
* Get all current slider values as an array.
|
|
180
|
+
* @returns
|
|
181
|
+
*/
|
|
182
|
+
private __getAllSliderValues;
|
|
183
|
+
/**
|
|
184
|
+
* Updates the container's background to display the configured color gradient.
|
|
185
|
+
*
|
|
186
|
+
* @private
|
|
187
|
+
*/
|
|
188
|
+
private __updateBackgroundGradient;
|
|
189
|
+
/**
|
|
190
|
+
* After changes this function updates the color indicator button.
|
|
191
|
+
*
|
|
192
|
+
* @param {number} rangeSliderIndex - The new active slider index.
|
|
193
|
+
*/
|
|
194
|
+
private __updateColorIndicator;
|
|
195
|
+
/**
|
|
196
|
+
* Get a color gradient CSS value string from the current editor settings.
|
|
197
|
+
*
|
|
198
|
+
* @instance
|
|
199
|
+
* @memberof ColorGradientPicker
|
|
200
|
+
* @returns {ColorGradient}
|
|
201
|
+
*/
|
|
202
|
+
getColorGradient(): ColorGradient;
|
|
203
|
+
/**
|
|
204
|
+
* Get the configured color value of the n-th rangel slider.
|
|
205
|
+
*
|
|
206
|
+
* @param {number} sliderIndex
|
|
207
|
+
* @param {string} fallback
|
|
208
|
+
* @returns
|
|
209
|
+
*/
|
|
210
|
+
private __getSliderColorString;
|
|
211
|
+
/**
|
|
212
|
+
* Get the configured color value of the n-th rangel slider.
|
|
213
|
+
*
|
|
214
|
+
* @param {number} sliderIndex
|
|
215
|
+
* @param {string} fallback
|
|
216
|
+
* @returns
|
|
217
|
+
*/
|
|
218
|
+
private __getSliderColorHEXString;
|
|
219
|
+
/**
|
|
220
|
+
* Get get color of this gradient picker at the given slider index.
|
|
221
|
+
*
|
|
222
|
+
* @param {number} sliderIndex - The index to get the slider color from. Something between 0 and _sliderElementRefs.length.
|
|
223
|
+
* @param {Color} fallback
|
|
224
|
+
* @returns
|
|
225
|
+
*/
|
|
226
|
+
private __getSliderColor;
|
|
227
|
+
/**
|
|
228
|
+
* Get the slider's value in a mapped range of 0.0 ... 1.0.
|
|
229
|
+
*
|
|
230
|
+
* @param sliderIndex
|
|
231
|
+
* @returns
|
|
232
|
+
*/
|
|
233
|
+
private __getSliderPercentage;
|
|
234
|
+
/**
|
|
235
|
+
* Init the container contents.
|
|
236
|
+
*
|
|
237
|
+
* @private
|
|
238
|
+
*/
|
|
239
|
+
private _render;
|
|
240
|
+
/**
|
|
241
|
+
* Adds custom styles (global STYLE tag).
|
|
242
|
+
*
|
|
243
|
+
* @private
|
|
244
|
+
*/
|
|
245
|
+
private __createCustomStylesElement;
|
|
246
|
+
}
|