plotboilerplate 1.19.0 → 1.20.1

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.
Files changed (94) hide show
  1. package/README.md +2 -1
  2. package/dist/index.esm.js +81 -27
  3. package/dist/index.esm.js.map +1 -1
  4. package/dist/index.esm.min.js +1 -1
  5. package/dist/index.esm.min.js.map +1 -1
  6. package/dist/plotboilerplate.browser.min.js +1 -1
  7. package/dist/plotboilerplate.browser.min.js.map +1 -1
  8. package/dist/plotboilerplate.js +81 -39
  9. package/dist/plotboilerplate.min.js +1 -1
  10. package/package.json +1 -1
  11. package/src/cjs/Bounds.d.ts +4 -5
  12. package/src/cjs/Bounds.js +6 -8
  13. package/src/cjs/Bounds.js.map +1 -1
  14. package/src/cjs/PlotBoilerplate.d.ts +2 -1
  15. package/src/cjs/PlotBoilerplate.js +9 -3
  16. package/src/cjs/PlotBoilerplate.js.map +1 -1
  17. package/src/cjs/VEllipseSector.d.ts +4 -3
  18. package/src/cjs/VEllipseSector.js +15 -8
  19. package/src/cjs/VEllipseSector.js.map +1 -1
  20. package/src/cjs/Vertex.d.ts +33 -1
  21. package/src/cjs/Vertex.js +43 -1
  22. package/src/cjs/Vertex.js.map +1 -1
  23. package/src/cjs/drawutilssvg.d.ts +2 -1
  24. package/src/cjs/drawutilssvg.js +7 -19
  25. package/src/cjs/drawutilssvg.js.map +1 -1
  26. package/src/cjs/entry.js +1 -0
  27. package/src/cjs/interfaces/core.d.ts +3 -0
  28. package/src/cjs/interfaces/core.js +1 -0
  29. package/src/cjs/interfaces/core.js.map +1 -1
  30. package/src/cjs/utils/algorithms/detectPaths.d.ts +3 -2
  31. package/src/cjs/utils/creategui.js +7 -0
  32. package/src/cjs/utils/datastructures/Color.d.ts +1 -1
  33. package/src/cjs/utils/datastructures/Color.js +4 -2
  34. package/src/cjs/utils/datastructures/Color.js.map +1 -1
  35. package/src/cjs/utils/io/FileDrop.d.ts +11 -1
  36. package/src/cjs/utils/io/FileDrop.js +41 -10
  37. package/src/cjs/utils/io/FileDrop.js.map +1 -1
  38. package/src/cjs/utils/parsers/svg/parseSVGPathData.d.ts +27 -0
  39. package/src/cjs/utils/parsers/svg/parseSVGPathData.js +486 -0
  40. package/src/cjs/utils/parsers/svg/parseSVGPathData.js.map +1 -0
  41. package/src/cjs/utils/parsers/svg/splitSVGPathData.d.ts +20 -0
  42. package/src/cjs/utils/parsers/svg/splitSVGPathData.js +53 -0
  43. package/src/cjs/utils/parsers/svg/splitSVGPathData.js.map +1 -0
  44. package/src/cjs/utils/parsers/svg/types.d.ts +63 -0
  45. package/src/cjs/utils/parsers/svg/types.js +17 -0
  46. package/src/cjs/utils/parsers/svg/types.js.map +1 -0
  47. package/src/esm/Bounds.d.ts +4 -5
  48. package/src/esm/Bounds.js +6 -8
  49. package/src/esm/Bounds.js.map +1 -1
  50. package/src/esm/PlotBoilerplate.d.ts +2 -1
  51. package/src/esm/PlotBoilerplate.js +10 -4
  52. package/src/esm/PlotBoilerplate.js.map +1 -1
  53. package/src/esm/VEllipseSector.d.ts +4 -3
  54. package/src/esm/VEllipseSector.js +15 -8
  55. package/src/esm/VEllipseSector.js.map +1 -1
  56. package/src/esm/Vertex.d.ts +33 -1
  57. package/src/esm/Vertex.js +43 -1
  58. package/src/esm/Vertex.js.map +1 -1
  59. package/src/esm/drawutilssvg.d.ts +2 -1
  60. package/src/esm/drawutilssvg.js +7 -19
  61. package/src/esm/drawutilssvg.js.map +1 -1
  62. package/src/esm/entry.js +1 -0
  63. package/src/esm/interfaces/core.d.ts +3 -0
  64. package/src/esm/interfaces/core.js +1 -0
  65. package/src/esm/interfaces/core.js.map +1 -1
  66. package/src/esm/utils/algorithms/detectPaths.d.ts +3 -2
  67. package/src/esm/utils/algorithms/detectPaths.js.map +1 -1
  68. package/src/esm/utils/datastructures/Color.d.ts +1 -1
  69. package/src/esm/utils/datastructures/Color.js +4 -2
  70. package/src/esm/utils/datastructures/Color.js.map +1 -1
  71. package/src/esm/utils/io/FileDrop.d.ts +11 -1
  72. package/src/esm/utils/io/FileDrop.js +41 -10
  73. package/src/esm/utils/io/FileDrop.js.map +1 -1
  74. package/src/esm/utils/parsers/svg/parseSVGPathData.d.ts +27 -0
  75. package/src/esm/utils/parsers/svg/parseSVGPathData.js +482 -0
  76. package/src/esm/utils/parsers/svg/parseSVGPathData.js.map +1 -0
  77. package/src/esm/utils/parsers/svg/splitSVGPathData.d.ts +20 -0
  78. package/src/esm/utils/parsers/svg/splitSVGPathData.js +49 -0
  79. package/src/esm/utils/parsers/svg/splitSVGPathData.js.map +1 -0
  80. package/src/esm/utils/parsers/svg/types.d.ts +63 -0
  81. package/src/esm/utils/parsers/svg/types.js +16 -0
  82. package/src/esm/utils/parsers/svg/types.js.map +1 -0
  83. package/src/ts/Bounds.ts +6 -8
  84. package/src/ts/PlotBoilerplate.ts +11 -4
  85. package/src/ts/VEllipseSector.ts +22 -15
  86. package/src/ts/Vertex.ts +46 -1
  87. package/src/ts/drawutilssvg.ts +8 -19
  88. package/src/ts/interfaces/core.ts +3 -0
  89. package/src/ts/utils/algorithms/detectPaths.ts +1 -1
  90. package/src/ts/utils/datastructures/Color.ts +8 -4
  91. package/src/ts/utils/io/FileDrop.ts +51 -10
  92. package/src/ts/utils/parsers/svg/parseSVGPathData.ts +631 -0
  93. package/src/ts/utils/parsers/svg/splitSVGPathData.ts +54 -0
  94. package/src/ts/utils/parsers/svg/types.ts +90 -0
@@ -34,7 +34,8 @@
34
34
  * @modified 2022-03-26 Added the private `nodeDefs` and `bufferedNodeDefs` attributes.
35
35
  * @modified 2022-03-26 Added the `texturedPoly` function to draw textures polygons.
36
36
  * @modified 2022-07-26 Adding `alpha` to the `image(...)` function.
37
- * @version 1.6.1
37
+ * @modified 2022-11-10 Tweaking some type issues.
38
+ * @version 1.6.2
38
39
  **/
39
40
  import { CircleSector } from "./CircleSector";
40
41
  import { CubicBezierCurve } from "./CubicBezierCurve";
@@ -1032,7 +1033,7 @@ export class drawutilssvg {
1032
1033
  * @memberof drawutils
1033
1034
  */
1034
1035
  text(text, x, y, options) {
1035
- var _a, _b;
1036
+ var _a, _b, _c;
1036
1037
  options = options || {};
1037
1038
  const color = options.color || "black";
1038
1039
  const lineHeight = ((_b = (_a = options.lineHeight) !== null && _a !== void 0 ? _a : options.fontSize) !== null && _b !== void 0 ? _b : 0) * this.scale.x;
@@ -1057,10 +1058,10 @@ export class drawutilssvg {
1057
1058
  this.curId = curId + "_text";
1058
1059
  const textNode = this.makeNode("text");
1059
1060
  node.appendChild(textNode);
1060
- textNode.setAttribute("font-family", options.fontFamily); // May be undefined
1061
- textNode.setAttribute("font-size", options.fontSize ? `${options.fontSize * this.scale.x}` : null);
1062
- textNode.setAttribute("font-style", options.fontStyle ? `${options.fontStyle}` : null);
1063
- textNode.setAttribute("font-weight", options.fontWeight ? `${options.fontWeight}` : null);
1061
+ textNode.setAttribute("font-family", (_c = options.fontFamily) !== null && _c !== void 0 ? _c : ""); // May be undefined
1062
+ textNode.setAttribute("font-size", options.fontSize ? `${options.fontSize * this.scale.x}` : "");
1063
+ textNode.setAttribute("font-style", options.fontStyle ? `${options.fontStyle}` : "");
1064
+ textNode.setAttribute("font-weight", options.fontWeight ? `${options.fontWeight}` : "");
1064
1065
  textNode.setAttribute("text-anchor", textAlign);
1065
1066
  textNode.setAttribute("transform-origin", "0 0");
1066
1067
  textNode.setAttribute("transform", rotate);
@@ -1212,19 +1213,6 @@ export class drawutilssvg {
1212
1213
  const _sy = (index) => {
1213
1214
  data[index] = scale.y * Number(data[index]);
1214
1215
  };
1215
- const stx = (value) => {
1216
- return offset.x + scale.x * value;
1217
- };
1218
- const sty = (value) => {
1219
- return offset.y + scale.y * value;
1220
- };
1221
- // scale only {x,y}
1222
- const sx = (value) => {
1223
- return scale.x * value;
1224
- };
1225
- const sy = (value) => {
1226
- return scale.y * value;
1227
- };
1228
1216
  var i = 0;
1229
1217
  var lastPoint = { x: NaN, y: NaN };
1230
1218
  // "save last point"
@@ -1 +1 @@
1
- {"version":3,"file":"drawutilssvg.js","sourceRoot":"","sources":["../ts/drawutilssvg.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"drawutilssvg.js","sourceRoot":"","sources":["../ts/drawutilssvg.ts"],"names":[],"mappings":"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"}
package/src/esm/entry.js CHANGED
@@ -15,6 +15,7 @@ globalThis.BezierPath = require("./BezierPath.js").BezierPath;
15
15
  globalThis.Polygon = require("./Polygon.js").Polygon;
16
16
  globalThis.Triangle = require("./Triangle.js").Triangle;
17
17
  globalThis.VEllipse = require("./VEllipse.js").VEllipse;
18
+ globalThis.VEllipseSector = require("./VEllipseSector.js").VEllipseSector;
18
19
  globalThis.Circle = require("./Circle.js").Circle;
19
20
  globalThis.CircleSector = require("./CircleSector.js").CircleSector;
20
21
  globalThis.PBImage = require("./PBImage.js").PBImage;
@@ -16,6 +16,7 @@
16
16
  * @modified 2021-11-16 Added `text` options to the `DrawConfig`.
17
17
  * @modified 2022-08-01 Added `title` param to the `PBParams` interface.
18
18
  * @modified 2022-10-25 Added `origin` param to the `DrawConfig` interface.
19
+ * @modified 2022-11-23 Added `drawRaster` to the `Config` interface.
19
20
  **/
20
21
  import { Vertex } from "../Vertex";
21
22
  import { Vector } from "../Vector";
@@ -89,6 +90,7 @@ export interface Config {
89
90
  offsetX?: number;
90
91
  offsetY?: number;
91
92
  rasterGrid?: boolean;
93
+ drawRaster?: boolean;
92
94
  rasterScaleX?: number;
93
95
  rasterScaleY?: number;
94
96
  rasterAdjustFactor?: number;
@@ -136,6 +138,7 @@ export interface DrawConfig {
136
138
  drawHandleLines: boolean;
137
139
  drawHandlePoints: boolean;
138
140
  drawGrid: boolean;
141
+ drawRaster: boolean;
139
142
  bezier: {
140
143
  color: string;
141
144
  lineWidth: number;
@@ -16,6 +16,7 @@
16
16
  * @modified 2021-11-16 Added `text` options to the `DrawConfig`.
17
17
  * @modified 2022-08-01 Added `title` param to the `PBParams` interface.
18
18
  * @modified 2022-10-25 Added `origin` param to the `DrawConfig` interface.
19
+ * @modified 2022-11-23 Added `drawRaster` to the `Config` interface.
19
20
  **/
20
21
  export {};
21
22
  //# sourceMappingURL=core.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"core.js","sourceRoot":"","sources":["../../ts/interfaces/core.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;IAkBI"}
1
+ {"version":3,"file":"core.js","sourceRoot":"","sources":["../../ts/interfaces/core.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;IAmBI"}
@@ -7,7 +7,8 @@
7
7
  * @version 1.0.0
8
8
  * @date 2022-10-17
9
9
  */
10
- import { Path, PathSegment } from "../../interfaces";
10
+ import { PathSegment } from "../../interfaces";
11
+ import { GenericPath } from "../datastructures/GenericPath";
11
12
  /**
12
13
  * Run a path detection on the given set of path segments.
13
14
  *
@@ -17,4 +18,4 @@ import { Path, PathSegment } from "../../interfaces";
17
18
  * @param {number=1.0} epsilon - (optional) An epsilon to use to tell if two plane points should be considered 'equal'.
18
19
  * @returns {Array<GenericPath>} An array containing all detected path (consisting of adjacent path segments of the original set).
19
20
  */
20
- export declare const detectPaths: (segments: Array<PathSegment>, epsilon?: number) => Array<Path>;
21
+ export declare const detectPaths: (segments: Array<PathSegment>, epsilon?: number) => Array<GenericPath>;
@@ -1 +1 @@
1
- {"version":3,"file":"detectPaths.js","sourceRoot":"","sources":["../../../ts/utils/algorithms/detectPaths.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"detectPaths.js","sourceRoot":"","sources":["../../../ts/utils/algorithms/detectPaths.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAGH,OAAO,EAAE,WAAW,EAAE,MAAM,+BAA+B,CAAC;AAW5D;;;;;;;;;GASG;AACH,MAAM,mBAAmB,GAAG,CAAC,QAA4B,EAAE,OAAe,EAAqB,EAAE;IAC/F,MAAM,MAAM,GAAsB,EAAE,CAAC,CAAC,4CAA4C;IAClF,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,QAAQ,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;QACxC,MAAM,CAAC,IAAI,CAAC,EAAE,OAAO,EAAE,KAAK,EAAE,cAAc,EAAE,KAAK,EAAE,YAAY,EAAE,KAAK,EAAE,CAAC,CAAC;QAC5E,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,QAAQ,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;YACxC,IAAI,CAAC,KAAK,CAAC,EAAE;gBACX,SAAS;aACV;YACD,IACE,QAAQ,CAAC,CAAC,CAAC,CAAC,aAAa,EAAE,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE,CAAC,GAAG,OAAO;gBACzE,QAAQ,CAAC,CAAC,CAAC,CAAC,aAAa,EAAE,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,aAAa,EAAE,CAAC,GAAG,OAAO,EAC3E;gBACA,MAAM,CAAC,CAAC,CAAC,CAAC,cAAc,GAAG,IAAI,CAAC;aACjC;YACD,IACE,QAAQ,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE,CAAC,GAAG,OAAO;gBACvE,QAAQ,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,aAAa,EAAE,CAAC,GAAG,OAAO,EACzE;gBACA,MAAM,CAAC,CAAC,CAAC,CAAC,YAAY,GAAG,IAAI,CAAC;aAC/B;SACF;KACF;IACD,mFAAmF;IACnF,qEAAqE;IACrE,EAAE;IACF,gFAAgF;IAChF,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,QAAQ,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;QACxC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,YAAY,IAAI,MAAM,CAAC,CAAC,CAAC,CAAC,cAAc,EAAE;YACvD,QAAQ,CAAC,CAAC,CAAC,GAAG,QAAQ,CAAC,CAAC,CAAC,CAAC,OAAO,EAAE,CAAC;YACpC,MAAM,CAAC,CAAC,CAAC,CAAC,cAAc,GAAG,KAAK,CAAC;YACjC,MAAM,CAAC,CAAC,CAAC,CAAC,YAAY,GAAG,IAAI,CAAC;SAC/B;KACF;IACD,OAAO,MAAM,CAAC;AAChB,CAAC,CAAC;AAEF;;;;;;;;;;;;;GAaG;AACH,MAAM,sBAAsB,GAAG,CAAC,QAA4B,EAAE,gBAAmC,EAAU,EAAE;IAC3G,+BAA+B;IAC/B,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,QAAQ,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;QACxC,IAAI,CAAC,gBAAgB,CAAC,CAAC,CAAC,CAAC,cAAc,IAAI,CAAC,gBAAgB,CAAC,CAAC,CAAC,CAAC,OAAO,EAAE;YACvE,OAAO,CAAC,CAAC;SACV;KACF;IACD,+DAA+D;IAC/D,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,QAAQ,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;QACxC,IAAI,CAAC,gBAAgB,CAAC,CAAC,CAAC,CAAC,OAAO,EAAE;YAChC,OAAO,CAAC,CAAC;SACV;KACF;IACD,OAAO,CAAC,CAAC,CAAC;AACZ,CAAC,CAAC;AAEF;;;;;;;;;;;;;;GAcG;AACH,MAAM,kBAAkB,GAAG,CACzB,QAA4B,EAC5B,gBAAmC,EACnC,cAA2B,EAC3B,OAAe,EACK,EAAE;IACtB,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,QAAQ,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;QACxC,IAAI,gBAAgB,CAAC,CAAC,CAAC,CAAC,OAAO,EAAE;YAC/B,SAAS;SACV;QACD,IAAI,WAAW,GAAG,QAAQ,CAAC,CAAC,CAAC,CAAC;QAC9B,kCAAkC;QAClC,IAAI,cAAc,CAAC,WAAW,EAAE,CAAC,QAAQ,CAAC,WAAW,CAAC,aAAa,EAAE,CAAC,GAAG,OAAO,EAAE;YAChF,gBAAgB,CAAC,CAAC,CAAC,CAAC,OAAO,GAAG,IAAI,CAAC;YACnC,OAAO,WAAW,CAAC;SACpB;QACD,kCAAkC;aAC7B,IAAI,cAAc,CAAC,WAAW,EAAE,CAAC,QAAQ,CAAC,WAAW,CAAC,WAAW,EAAE,CAAC,GAAG,OAAO,EAAE;YACnF,gBAAgB,CAAC,CAAC,CAAC,CAAC,OAAO,GAAG,IAAI,CAAC;YACnC,OAAO,WAAW,CAAC,OAAO,EAAE,CAAC;SAC9B;KACF;IACD,OAAO,IAAI,CAAC;AACd,CAAC,CAAC;AAEF;;;;;;;;;GASG;AACH,MAAM,kBAAkB,GAAG,CACzB,QAA4B,EAC5B,gBAAmC,EACnC,mBAA2B,EAC3B,OAAe,EACF,EAAE;IACf,IAAI,cAAc,GAAuB,QAAQ,CAAC,mBAAmB,CAAC,CAAC;IACvE,gBAAgB,CAAC,mBAAmB,CAAC,CAAC,OAAO,GAAG,IAAI,CAAC;IACrD,MAAM,IAAI,GAAG,IAAI,WAAW,CAAC,cAAc,CAAC,CAAC,CAAC,2CAA2C;IAEzF,IAAI,CAAC,GAAW,CAAC,CAAC;IAClB,yCAAyC;IACzC,OAAO,CAAC,GAAG,QAAQ,CAAC,MAAM,IAAI,cAAc,EAAE;QAC5C,cAAc,GAAG,kBAAkB,CAAC,QAAQ,EAAE,gBAAgB,EAAE,cAAc,EAAE,OAAO,CAAC,CAAC;QACzF,IAAI,cAAc,EAAE;YAClB,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC;SACpC;QACD,CAAC,EAAE,CAAC;KACL;IACD,OAAO,IAAI,CAAC;AACd,CAAC,CAAC;AAEF;;;;;;;;GAQG;AACH,MAAM,CAAC,MAAM,WAAW,GAAG,CAAC,QAA4B,EAAE,OAAgB,EAAsB,EAAE;IAChG,MAAM,GAAG,GAAG,OAAO,OAAO,KAAK,WAAW,IAAI,OAAO,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,OAAO,CAAC;IAC1E,MAAM,gBAAgB,GAAsB,mBAAmB,CAAC,QAAQ,EAAE,GAAG,CAAC,CAAC;IAC/E,MAAM,WAAW,GAAuB,EAAE,CAAC;IAC3C,IAAI,gBAAgB,GAAW,CAAC,CAAC,CAAC;IAClC,IAAI,CAAC,GAAG,CAAC,CAAC;IACV,OAAO,CAAC,gBAAgB,GAAG,sBAAsB,CAAC,QAAQ,EAAE,gBAAgB,CAAC,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,GAAG,QAAQ,CAAC,MAAM,EAAE;QAC5G,gBAAgB,CAAC,gBAAgB,CAAC,CAAC,OAAO,GAAG,IAAI,CAAC;QAClD,gEAAgE;QAChE,CAAC,EAAE,CAAC;QACJ,MAAM,IAAI,GAAG,kBAAkB,CAAC,QAAQ,EAAE,gBAAgB,EAAE,gBAAgB,EAAE,GAAG,CAAC,CAAC;QACnF,CAAC,IAAI,IAAI,CAAC,eAAe,EAAE,GAAG,CAAC,CAAC;QAChC,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;KACxB;IACD,OAAO,WAAW,CAAC;AACrB,CAAC,CAAC"}
@@ -215,7 +215,7 @@ export declare class Color {
215
215
  * @param {string} str - The string representation to parse.
216
216
  * @return {Color} The color instance that's represented by the given string.
217
217
  */
218
- static parse(str: string): Color;
218
+ static parse(str: string): Color | null;
219
219
  private static Sanitizer;
220
220
  private static Validator;
221
221
  private static Converter;
@@ -487,10 +487,12 @@ export class Color {
487
487
  * @return {Color} The color instance that's represented by the given string.
488
488
  */
489
489
  static parse(str) {
490
- if (typeof str == "undefined")
490
+ if (typeof str == "undefined") {
491
491
  return null;
492
- if ((str = str.trim().toLowerCase()).length == 0)
492
+ }
493
+ if ((str = str.trim().toLowerCase()).length == 0) {
493
494
  return null;
495
+ }
494
496
  if (str.startsWith("#"))
495
497
  return Color.makeHEX(str.substring(1, str.length));
496
498
  if (str.startsWith("rgb")) {
@@ -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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"}
@@ -13,10 +13,12 @@
13
13
  * @author Ikaros Kappler
14
14
  * @date 2021-10-13
15
15
  * @modified 2022-01-31 (ported from the ngdg project, then generalized)
16
- * @version 2.0.0
16
+ * @modified 2023-01-03 Fixing some minor type issues and adding SVG reading capabilities.
17
+ * @version 2.1.0
17
18
  */
18
19
  declare type IDroppedCallbackJSON = (jsonData: object) => void;
19
20
  declare type IDroppedCallbackText = (textData: string) => void;
21
+ declare type IDroppedCallbackSVG = (svgDocument: Document) => void;
20
22
  export declare class FileDrop {
21
23
  /**
22
24
  * The 'dropzone' element.
@@ -46,6 +48,13 @@ export declare class FileDrop {
46
48
  * @member {HTMLElement}
47
49
  */
48
50
  private fileDroppedCallbackBinary;
51
+ /**
52
+ * The SVG file drop callback.
53
+ * @private
54
+ * @memberof FileDrop
55
+ * @member {HTMLElement}
56
+ */
57
+ private fileDroppedCallbackSVG;
49
58
  /**
50
59
  *
51
60
  * @param {HTMLElement} element - The element you wish to operate as the drop zone (like <body/>).
@@ -71,6 +80,7 @@ export declare class FileDrop {
71
80
  * @param {(data:object)=>void} callback
72
81
  */
73
82
  onFileTextDropped(callback: IDroppedCallbackText): void;
83
+ onFileSVGDropped(callback: IDroppedCallbackSVG): void;
74
84
  /**
75
85
  * Internally handle a drop event.
76
86
  *
@@ -13,7 +13,8 @@
13
13
  * @author Ikaros Kappler
14
14
  * @date 2021-10-13
15
15
  * @modified 2022-01-31 (ported from the ngdg project, then generalized)
16
- * @version 2.0.0
16
+ * @modified 2023-01-03 Fixing some minor type issues and adding SVG reading capabilities.
17
+ * @version 2.1.0
17
18
  */
18
19
  export class FileDrop {
19
20
  /**
@@ -31,7 +32,7 @@ export class FileDrop {
31
32
  event.preventDefault();
32
33
  event.stopPropagation();
33
34
  this.element.style.opacity = "1.0";
34
- if (!event.dataTransfer.files || event.dataTransfer.files.length === 0) {
35
+ if (!event.dataTransfer || !event.dataTransfer.files || event.dataTransfer.files.length === 0) {
35
36
  // No files were dropped
36
37
  return;
37
38
  }
@@ -39,39 +40,66 @@ export class FileDrop {
39
40
  // Multiple file drop is not nupported
40
41
  return;
41
42
  }
42
- if (!this.fileDroppedCallbackJSON) {
43
- // No handling callback defined.
44
- return;
45
- }
43
+ // if (!this.fileDroppedCallbackJSON) {
44
+ // // No handling callback defined.
45
+ // return;
46
+ // }
46
47
  if (event.dataTransfer.files[0]) {
47
48
  const file = event.dataTransfer.files[0];
48
49
  // console.log("file", file);
49
- if (file.type.match(/json.*/) && this.fileDroppedCallbackJSON) {
50
+ if (file.type.match(/json.*/) && this.fileDroppedCallbackJSON !== null) {
50
51
  var reader = new FileReader();
51
52
  reader.onload = (readEvent) => {
53
+ if (!readEvent.target) {
54
+ console.warn("Cannot process JSON ProgressEvent data: target is null.");
55
+ return;
56
+ }
52
57
  // Finished reading file data.
53
58
  const jsonObject = JSON.parse(readEvent.target.result);
54
59
  // TODO: what happens on fail?
55
- this.fileDroppedCallbackJSON(jsonObject);
60
+ this.fileDroppedCallbackJSON && this.fileDroppedCallbackJSON(jsonObject);
56
61
  };
57
62
  reader.readAsText(file); // start reading the file data.
58
63
  }
59
64
  else if (file.type.match(/text\/plain.*/) && this.fileDroppedCallbackText) {
60
65
  var reader = new FileReader();
61
66
  reader.onload = (readEvent) => {
67
+ if (!readEvent.target) {
68
+ console.warn("Cannot process Text ProgressEvent data: target is null.");
69
+ return;
70
+ }
62
71
  // Finished reading file data.
63
- this.fileDroppedCallbackText(readEvent.target.result);
72
+ this.fileDroppedCallbackText && this.fileDroppedCallbackText(readEvent.target.result);
64
73
  };
65
74
  reader.readAsText(file); // start reading the file data.
66
75
  }
67
76
  else if (this.fileDroppedCallbackBinary) {
68
77
  var reader = new FileReader();
69
78
  reader.onload = (readEvent) => {
79
+ if (!readEvent.target) {
80
+ console.warn("Cannot process Binary ProgressEvent data: target is null.");
81
+ return;
82
+ }
70
83
  // Finished reading file data.
71
- this.fileDroppedCallbackBinary(new Blob([readEvent.target.result]), file);
84
+ this.fileDroppedCallbackBinary &&
85
+ this.fileDroppedCallbackBinary(new Blob([readEvent.target.result]), file);
72
86
  };
73
87
  reader.readAsBinaryString(file); // start reading the file data.
74
88
  }
89
+ else if (this.fileDroppedCallbackSVG) {
90
+ var reader = new FileReader();
91
+ reader.onload = (readEvent) => {
92
+ if (!readEvent.target) {
93
+ console.warn("Cannot process SVG ProgressEvent data: target is null.");
94
+ return;
95
+ }
96
+ const parser = new DOMParser();
97
+ const doc = parser.parseFromString(readEvent.target.result, "image/svg+xml");
98
+ // Finished reading file data.
99
+ this.fileDroppedCallbackSVG && this.fileDroppedCallbackSVG(doc);
100
+ };
101
+ reader.readAsText(file); // start reading the file data.
102
+ }
75
103
  }
76
104
  };
77
105
  /**
@@ -124,6 +152,9 @@ export class FileDrop {
124
152
  onFileTextDropped(callback) {
125
153
  this.fileDroppedCallbackText = callback;
126
154
  }
155
+ onFileSVGDropped(callback) {
156
+ this.fileDroppedCallbackSVG = callback;
157
+ }
127
158
  /**
128
159
  * Removes all listeners (drop, dragover and dragleave).
129
160
  */
@@ -1 +1 @@
1
- {"version":3,"file":"FileDrop.js","sourceRoot":"","sources":["../../../ts/utils/io/FileDrop.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;GAgBG;AAMH,MAAM,OAAO,QAAQ;IAiCnB;;;OAGG;IACH,YAAY,OAAoB;QAmChC;;;;;WAKG;QACK,oBAAe,GAAG,CAAC,KAAgB,EAAE,EAAE;YAC7C,KAAK,CAAC,cAAc,EAAE,CAAC;YACvB,KAAK,CAAC,eAAe,EAAE,CAAC;YACxB,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,OAAO,GAAG,KAAK,CAAC;YAEnC,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,KAAK,IAAI,KAAK,CAAC,YAAY,CAAC,KAAK,CAAC,MAAM,KAAK,CAAC,EAAE;gBACtE,wBAAwB;gBACxB,OAAO;aACR;YACD,IAAI,KAAK,CAAC,YAAY,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,EAAE;gBACvC,sCAAsC;gBACtC,OAAO;aACR;YACD,IAAI,CAAC,IAAI,CAAC,uBAAuB,EAAE;gBACjC,gCAAgC;gBAChC,OAAO;aACR;YACD,IAAI,KAAK,CAAC,YAAY,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE;gBAC/B,MAAM,IAAI,GAAS,KAAK,CAAC,YAAY,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;gBAC/C,6BAA6B;gBAC7B,IAAI,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,IAAI,IAAI,CAAC,uBAAuB,EAAE;oBAC7D,IAAI,MAAM,GAAG,IAAI,UAAU,EAAE,CAAC;oBAC9B,MAAM,CAAC,MAAM,GAAG,CAAC,SAAoC,EAAE,EAAE;wBACvD,8BAA8B;wBAC9B,MAAM,UAAU,GAAW,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,MAAM,CAAC,MAAgB,CAAC,CAAC;wBACzE,8BAA8B;wBAC9B,IAAI,CAAC,uBAAuB,CAAC,UAAU,CAAC,CAAC;oBAC3C,CAAC,CAAC;oBACF,MAAM,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC,+BAA+B;iBACzD;qBAAM,IAAI,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,eAAe,CAAC,IAAI,IAAI,CAAC,uBAAuB,EAAE;oBAC3E,IAAI,MAAM,GAAG,IAAI,UAAU,EAAE,CAAC;oBAC9B,MAAM,CAAC,MAAM,GAAG,CAAC,SAAoC,EAAE,EAAE;wBACvD,8BAA8B;wBAC9B,IAAI,CAAC,uBAAuB,CAAC,SAAS,CAAC,MAAM,CAAC,MAAgB,CAAC,CAAC;oBAClE,CAAC,CAAC;oBACF,MAAM,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC,+BAA+B;iBACzD;qBAAM,IAAI,IAAI,CAAC,yBAAyB,EAAE;oBACzC,IAAI,MAAM,GAAG,IAAI,UAAU,EAAE,CAAC;oBAC9B,MAAM,CAAC,MAAM,GAAG,CAAC,SAAoC,EAAE,EAAE;wBACvD,8BAA8B;wBAC9B,IAAI,CAAC,yBAAyB,CAAC,IAAI,IAAI,CAAC,CAAC,SAAS,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC;oBAC5E,CAAC,CAAC;oBACF,MAAM,CAAC,kBAAkB,CAAC,IAAI,CAAC,CAAC,CAAC,+BAA+B;iBACjE;aACF;QACH,CAAC,CAAC;QAEF;;;;WAIG;QACK,wBAAmB,GAAG,CAAC,KAAgB,EAAE,EAAE;YACjD,KAAK,CAAC,cAAc,EAAE,CAAC;YACvB,KAAK,CAAC,eAAe,EAAE,CAAC;YACxB,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,OAAO,GAAG,KAAK,CAAC;QACrC,CAAC,CAAC;QAEF;;;;WAIG;QACK,yBAAoB,GAAG,CAAC,KAAgB,EAAE,EAAE;YAClD,KAAK,CAAC,cAAc,EAAE,CAAC;YACvB,KAAK,CAAC,eAAe,EAAE,CAAC;YACxB,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,OAAO,GAAG,KAAK,CAAC;QACrC,CAAC,CAAC;QA3GA,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC;QAEvB,0BAA0B;QAC1B,OAAO,CAAC,gBAAgB,CAAC,MAAM,EAAE,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;QAClE,OAAO,CAAC,gBAAgB,CAAC,UAAU,EAAE,IAAI,CAAC,mBAAmB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;QAC1E,OAAO,CAAC,gBAAgB,CAAC,WAAW,EAAE,IAAI,CAAC,oBAAoB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;IAC9E,CAAC;IAED;;;;;;;;OAQG;IACH,iBAAiB,CAAC,QAA8B;QAC9C,IAAI,CAAC,uBAAuB,GAAG,QAAQ,CAAC;IAC1C,CAAC;IAED;;;;;;;;OAQG;IACH,iBAAiB,CAAC,QAA8B;QAC9C,IAAI,CAAC,uBAAuB,GAAG,QAAQ,CAAC;IAC1C,CAAC;IA6ED;;OAEG;IACH,OAAO;QACL,IAAI,CAAC,OAAO,CAAC,mBAAmB,CAAC,MAAM,EAAE,IAAI,CAAC,eAAe,CAAC,CAAC;QAC/D,IAAI,CAAC,OAAO,CAAC,mBAAmB,CAAC,UAAU,EAAE,IAAI,CAAC,mBAAmB,CAAC,CAAC;QACvE,IAAI,CAAC,OAAO,CAAC,mBAAmB,CAAC,WAAW,EAAE,IAAI,CAAC,oBAAoB,CAAC,CAAC;IAC3E,CAAC;CACF"}
1
+ {"version":3,"file":"FileDrop.js","sourceRoot":"","sources":["../../../ts/utils/io/FileDrop.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,27 @@
1
+ /**
2
+ * Parse SVG path data strings and convert to PlotBoilerplate path objects.
3
+ *
4
+ * As this parser function does not detect all possible path data strings it should cover the most daily use-cases.
5
+ *
6
+ * For more insight see
7
+ * https://www.w3.org/TR/SVG/paths.html
8
+ *
9
+ * @author Ikaros Kappler
10
+ * @date 2022-11-06
11
+ * @modified 2022-12-21 (winter solstice) Porting this to Typescript.
12
+ * @modified 2023-01-17 Handling multiple parameter sets now.
13
+ * @version 0.0.2-alpha
14
+ **/
15
+ import { CubicBezierCurve } from "../../../CubicBezierCurve";
16
+ import { Line } from "../../../Line";
17
+ /**
18
+ * Transform the given path data (translate and scale. rotating is not intended here).
19
+ *
20
+ * @date 2022-11-06
21
+ *
22
+ * @name parseSVGPathData
23
+ * @static
24
+ * @param {string} data - The data to parse.
25
+ * @return An array of straight line segments (Line) or curve segments (CubicBezierCurve) representing the path.
26
+ */
27
+ export declare const parseSVGPathData: (dataString: string) => Array<Line | CubicBezierCurve> | null;