jsxgraph 1.13.2 → 1.13.3

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 (220) hide show
  1. package/CHANGELOG.md +16 -0
  2. package/README.md +3 -1
  3. package/distrib/README.md +3 -1
  4. package/distrib/docs/files.html +2 -2
  5. package/distrib/docs/index.html +2 -2
  6. package/distrib/docs/static/jsxgraph.css +1 -1
  7. package/distrib/docs/static/jsxgraphcore.js +2 -2
  8. package/distrib/docs/symbols/Angle.html +2 -2
  9. package/distrib/docs/symbols/Arc.html +2 -2
  10. package/distrib/docs/symbols/Arrow.html +2 -2
  11. package/distrib/docs/symbols/Arrowparallel.html +2 -2
  12. package/distrib/docs/symbols/Axes3D.html +2 -2
  13. package/distrib/docs/symbols/Axis.html +2 -2
  14. package/distrib/docs/symbols/Axis3D.html +2 -2
  15. package/distrib/docs/symbols/Bisector.html +2 -2
  16. package/distrib/docs/symbols/Bisectorlines.html +2 -2
  17. package/distrib/docs/symbols/Boxplot.html +2 -2
  18. package/distrib/docs/symbols/Button.html +2 -2
  19. package/distrib/docs/symbols/Cardinalspline.html +2 -2
  20. package/distrib/docs/symbols/Chart.html +2 -2
  21. package/distrib/docs/symbols/Checkbox.html +2 -2
  22. package/distrib/docs/symbols/Circle.html +2 -2
  23. package/distrib/docs/symbols/Circle3D.html +2 -2
  24. package/distrib/docs/symbols/Circumcenter.html +2 -2
  25. package/distrib/docs/symbols/Circumcircle.html +2 -2
  26. package/distrib/docs/symbols/CircumcircleArc.html +2 -2
  27. package/distrib/docs/symbols/CircumcircleSector.html +2 -2
  28. package/distrib/docs/symbols/Comb.html +2 -2
  29. package/distrib/docs/symbols/Conic.html +2 -2
  30. package/distrib/docs/symbols/Curve.html +2 -2
  31. package/distrib/docs/symbols/Curve3D.html +2 -2
  32. package/distrib/docs/symbols/CurveDifference.html +2 -2
  33. package/distrib/docs/symbols/CurveIntersection.html +2 -2
  34. package/distrib/docs/symbols/CurveUnion.html +2 -2
  35. package/distrib/docs/symbols/Derivative.html +2 -2
  36. package/distrib/docs/symbols/Ellipse.html +2 -2
  37. package/distrib/docs/symbols/Face3D.html +2 -2
  38. package/distrib/docs/symbols/ForeignObject.html +2 -2
  39. package/distrib/docs/symbols/Functiongraph.html +2 -2
  40. package/distrib/docs/symbols/Functiongraph3D.html +2 -2
  41. package/distrib/docs/symbols/Glider.html +2 -2
  42. package/distrib/docs/symbols/Grid.html +2 -2
  43. package/distrib/docs/symbols/Group.html +2 -2
  44. package/distrib/docs/symbols/Hatch.html +2 -2
  45. package/distrib/docs/symbols/Hyperbola.html +2 -2
  46. package/distrib/docs/symbols/Image.html +2 -2
  47. package/distrib/docs/symbols/ImplicitCurve.html +2 -2
  48. package/distrib/docs/symbols/Incenter.html +2 -2
  49. package/distrib/docs/symbols/Incircle.html +2 -2
  50. package/distrib/docs/symbols/Inequality.html +2 -2
  51. package/distrib/docs/symbols/Input.html +2 -2
  52. package/distrib/docs/symbols/Integral.html +2 -2
  53. package/distrib/docs/symbols/Intersection.html +2 -2
  54. package/distrib/docs/symbols/IntersectionCircle3D.html +2 -2
  55. package/distrib/docs/symbols/IntersectionLine3D.html +2 -2
  56. package/distrib/docs/symbols/JXG.AbstractRenderer.html +2 -2
  57. package/distrib/docs/symbols/JXG.Board.html +2 -2
  58. package/distrib/docs/symbols/JXG.Board.infobox.html +2 -2
  59. package/distrib/docs/symbols/JXG.C.html +2 -2
  60. package/distrib/docs/symbols/JXG.CA.html +2 -2
  61. package/distrib/docs/symbols/JXG.CanvasRenderer.html +2 -2
  62. package/distrib/docs/symbols/JXG.Chart.html +2 -2
  63. package/distrib/docs/symbols/JXG.Circle.html +2 -2
  64. package/distrib/docs/symbols/JXG.Circle3D.html +2 -2
  65. package/distrib/docs/symbols/JXG.Complex.html +2 -2
  66. package/distrib/docs/symbols/JXG.Composition.html +2 -2
  67. package/distrib/docs/symbols/JXG.Coords.html +2 -2
  68. package/distrib/docs/symbols/JXG.CoordsElement.html +2 -2
  69. package/distrib/docs/symbols/JXG.Curve.html +2 -2
  70. package/distrib/docs/symbols/JXG.Curve3D.html +2 -2
  71. package/distrib/docs/symbols/JXG.Dump.html +2 -2
  72. package/distrib/docs/symbols/JXG.EventEmitter.html +2 -2
  73. package/distrib/docs/symbols/JXG.Expect.html +2 -2
  74. package/distrib/docs/symbols/JXG.Face3D.html +2 -2
  75. package/distrib/docs/symbols/JXG.ForeignObject.html +2 -2
  76. package/distrib/docs/symbols/JXG.GeometryElement.html +2 -2
  77. package/distrib/docs/symbols/JXG.GeometryElement3D.html +2 -2
  78. package/distrib/docs/symbols/JXG.GeonextParser.html +2 -2
  79. package/distrib/docs/symbols/JXG.Group.html +2 -2
  80. package/distrib/docs/symbols/JXG.Image.html +2 -2
  81. package/distrib/docs/symbols/JXG.JSXGraph.html +2 -2
  82. package/distrib/docs/symbols/JXG.JessieCode.html +2 -2
  83. package/distrib/docs/symbols/JXG.Legend.html +2 -2
  84. package/distrib/docs/symbols/JXG.Line.html +2 -2
  85. package/distrib/docs/symbols/JXG.Line3D.html +2 -2
  86. package/distrib/docs/symbols/JXG.Math.BoxQuadtree.html +2 -2
  87. package/distrib/docs/symbols/JXG.Math.Clip.html +2 -2
  88. package/distrib/docs/symbols/JXG.Math.Extrapolate.html +2 -2
  89. package/distrib/docs/symbols/JXG.Math.Geometry.html +2 -2
  90. package/distrib/docs/symbols/JXG.Math.ImplicitPlot.html +2 -2
  91. package/distrib/docs/symbols/JXG.Math.IntervalArithmetic.html +2 -2
  92. package/distrib/docs/symbols/JXG.Math.Metapost.html +2 -2
  93. package/distrib/docs/symbols/JXG.Math.Nlp.html +2 -2
  94. package/distrib/docs/symbols/JXG.Math.Numerics.html +2 -2
  95. package/distrib/docs/symbols/JXG.Math.Plot.html +2 -2
  96. package/distrib/docs/symbols/JXG.Math.Poly.Monomial.html +2 -2
  97. package/distrib/docs/symbols/JXG.Math.Poly.Polynomial.html +2 -2
  98. package/distrib/docs/symbols/JXG.Math.Poly.Ring.html +2 -2
  99. package/distrib/docs/symbols/JXG.Math.Poly.html +2 -2
  100. package/distrib/docs/symbols/JXG.Math.ProbFuncs.html +2 -2
  101. package/distrib/docs/symbols/JXG.Math.Quadtree.html +2 -2
  102. package/distrib/docs/symbols/JXG.Math.Statistics.html +2 -2
  103. package/distrib/docs/symbols/JXG.Math.Tiling.html +2 -2
  104. package/distrib/docs/symbols/JXG.Math.html +2 -2
  105. package/distrib/docs/symbols/JXG.NoRenderer.html +2 -2
  106. package/distrib/docs/symbols/JXG.Options.html +2 -2
  107. package/distrib/docs/symbols/JXG.Parse3D.html +2 -2
  108. package/distrib/docs/symbols/JXG.Plane3D.html +2 -2
  109. package/distrib/docs/symbols/JXG.Point.html +2 -2
  110. package/distrib/docs/symbols/JXG.Point3D.html +2 -2
  111. package/distrib/docs/symbols/JXG.Polygon.html +2 -2
  112. package/distrib/docs/symbols/JXG.Polygon3D.html +2 -2
  113. package/distrib/docs/symbols/JXG.Polyhedron3D.html +2 -2
  114. package/distrib/docs/symbols/JXG.PrefixParser.html +2 -2
  115. package/distrib/docs/symbols/JXG.SVGRenderer.html +2 -2
  116. package/distrib/docs/symbols/JXG.Sphere3D.html +2 -2
  117. package/distrib/docs/symbols/JXG.Surface3D.html +2 -2
  118. package/distrib/docs/symbols/JXG.Text.html +2 -2
  119. package/distrib/docs/symbols/JXG.Text3D.html +2 -2
  120. package/distrib/docs/symbols/JXG.Ticks.html +2 -2
  121. package/distrib/docs/symbols/JXG.Transformation.html +2 -2
  122. package/distrib/docs/symbols/JXG.Turtle.html +2 -2
  123. package/distrib/docs/symbols/JXG.Util.Base64.html +2 -2
  124. package/distrib/docs/symbols/JXG.Util.UTF8.html +2 -2
  125. package/distrib/docs/symbols/JXG.Util.Unzip.html +2 -2
  126. package/distrib/docs/symbols/JXG.Util.html +2 -2
  127. package/distrib/docs/symbols/JXG.VMLRenderer.html +2 -2
  128. package/distrib/docs/symbols/JXG.View3D.html +2 -2
  129. package/distrib/docs/symbols/JXG.XML.html +2 -2
  130. package/distrib/docs/symbols/JXG.html +2 -2
  131. package/distrib/docs/symbols/Label.html +2 -2
  132. package/distrib/docs/symbols/Legend.html +2 -2
  133. package/distrib/docs/symbols/Line.html +2 -2
  134. package/distrib/docs/symbols/Line3D.html +2 -2
  135. package/distrib/docs/symbols/MajorArc.html +2 -2
  136. package/distrib/docs/symbols/MajorSector.html +2 -2
  137. package/distrib/docs/symbols/Measurement.html +2 -2
  138. package/distrib/docs/symbols/Mesh3D.html +2 -2
  139. package/distrib/docs/symbols/Metapostspline.html +2 -2
  140. package/distrib/docs/symbols/Midpoint.html +2 -2
  141. package/distrib/docs/symbols/MinorArc.html +2 -2
  142. package/distrib/docs/symbols/MinorSector.html +2 -2
  143. package/distrib/docs/symbols/MirrorElement.html +2 -2
  144. package/distrib/docs/symbols/MirrorPoint.html +2 -2
  145. package/distrib/docs/symbols/NonReflexAngle.html +2 -2
  146. package/distrib/docs/symbols/Normal.html +2 -2
  147. package/distrib/docs/symbols/Orthogonalprojection.html +2 -2
  148. package/distrib/docs/symbols/OtherIntersection.html +2 -2
  149. package/distrib/docs/symbols/Parabola.html +2 -2
  150. package/distrib/docs/symbols/Parallel.html +2 -2
  151. package/distrib/docs/symbols/Parallelogram.html +2 -2
  152. package/distrib/docs/symbols/Parallelpoint.html +2 -2
  153. package/distrib/docs/symbols/ParametricSurface3D.html +2 -2
  154. package/distrib/docs/symbols/Perpendicular.html +2 -2
  155. package/distrib/docs/symbols/PerpendicularPoint.html +2 -2
  156. package/distrib/docs/symbols/PerpendicularSegment.html +2 -2
  157. package/distrib/docs/symbols/Plane3D.html +2 -2
  158. package/distrib/docs/symbols/Point.html +2 -2
  159. package/distrib/docs/symbols/Point3D.html +2 -2
  160. package/distrib/docs/symbols/PolarLine.html +2 -2
  161. package/distrib/docs/symbols/PolePoint.html +2 -2
  162. package/distrib/docs/symbols/Polygon.html +2 -2
  163. package/distrib/docs/symbols/Polygon3D.html +2 -2
  164. package/distrib/docs/symbols/PolygonalChain.html +2 -2
  165. package/distrib/docs/symbols/Polyhedron3D.html +2 -2
  166. package/distrib/docs/symbols/RadicalAxis.html +2 -2
  167. package/distrib/docs/symbols/Reflection.html +2 -2
  168. package/distrib/docs/symbols/ReflexAngle.html +2 -2
  169. package/distrib/docs/symbols/RegularPolygon.html +2 -2
  170. package/distrib/docs/symbols/Riemannsum.html +2 -2
  171. package/distrib/docs/symbols/Sector.html +2 -2
  172. package/distrib/docs/symbols/Segment.html +2 -2
  173. package/distrib/docs/symbols/Semicircle.html +2 -2
  174. package/distrib/docs/symbols/SketchCurve.html +2 -2
  175. package/distrib/docs/symbols/Slider.html +2 -2
  176. package/distrib/docs/symbols/Slopefield.html +2 -2
  177. package/distrib/docs/symbols/Slopetriangle.html +2 -2
  178. package/distrib/docs/symbols/Smartlabel.html +2 -2
  179. package/distrib/docs/symbols/Sphere3D.html +2 -2
  180. package/distrib/docs/symbols/Spline.html +2 -2
  181. package/distrib/docs/symbols/Stepfunction.html +2 -2
  182. package/distrib/docs/symbols/Tangent.html +2 -2
  183. package/distrib/docs/symbols/TangentTo.html +2 -2
  184. package/distrib/docs/symbols/Tapemeasure.html +2 -2
  185. package/distrib/docs/symbols/Text.html +2 -2
  186. package/distrib/docs/symbols/Text3D.html +2 -2
  187. package/distrib/docs/symbols/Ticks.html +2 -2
  188. package/distrib/docs/symbols/Ticks3D.html +2 -2
  189. package/distrib/docs/symbols/Tracecurve.html +2 -2
  190. package/distrib/docs/symbols/Transformation.html +2 -2
  191. package/distrib/docs/symbols/Transformation3D.html +2 -2
  192. package/distrib/docs/symbols/Turtle.html +2 -2
  193. package/distrib/docs/symbols/Vectorfield.html +2 -2
  194. package/distrib/docs/symbols/Vectorfield3D.html +2 -2
  195. package/distrib/docs/symbols/View3D.html +2 -2
  196. package/distrib/docs/symbols/_global_.html +2 -2
  197. package/distrib/docs/symbols/src/src_base_constants.js.html +1 -1
  198. package/distrib/docs/symbols/src/src_base_polygon.js.html +1463 -1462
  199. package/distrib/docs/symbols/src/src_jsxgraph.js.html +796 -785
  200. package/distrib/docs/symbols/src/src_parser_jessiecode.js.html +2474 -2216
  201. package/distrib/docs/symbols/src/src_utils_type.js.html +586 -583
  202. package/distrib/geogebra.min.js +1 -1
  203. package/distrib/geonext.min.js +1 -1
  204. package/distrib/index.d.ts +22 -0
  205. package/distrib/intergeo.min.js +1 -1
  206. package/distrib/jsxgraph.css +1 -1
  207. package/distrib/jsxgraphcore.js +2 -2
  208. package/distrib/jsxgraphcore.mjs +2 -2
  209. package/distrib/jsxgraphcore.mjs.map +1 -1
  210. package/distrib/jsxgraphsrc.js +576 -299
  211. package/distrib/jsxgraphsrc.mjs +561 -297
  212. package/distrib/jsxgraphsrc.mjs.map +1 -1
  213. package/package.json +2 -1
  214. package/src/base/constants.js +1 -1
  215. package/src/base/polygon.js +6 -5
  216. package/src/index.d.ts +22 -0
  217. package/src/jsxgraph.js +12 -1
  218. package/src/parser/jessiecode.js +521 -263
  219. package/src/unused/server/fft.py +6 -0
  220. package/src/utils/type.js +4 -1
package/package.json CHANGED
@@ -2,7 +2,7 @@
2
2
  "name": "jsxgraph",
3
3
  "description": "Interactive geometry, plotting, visualization",
4
4
  "homepage": "https://jsxgraph.org",
5
- "version": "1.13.2",
5
+ "version": "1.13.3",
6
6
  "exports": {
7
7
  "types": "./src/index.d.ts",
8
8
  "default": "./src/index.js"
@@ -71,6 +71,7 @@
71
71
  "jslint": "^0.12.1",
72
72
  "karma": "^6.4.3",
73
73
  "karma-chrome-launcher": "^3.2.0",
74
+ "karma-detect-browsers": "^2.3.3",
74
75
  "karma-jasmine": "^5.1.0",
75
76
  "npmignore": "^0.3.1",
76
77
  "path-browserify": "^1.0.1",
@@ -37,7 +37,7 @@ import JXG from "../jxg.js";
37
37
 
38
38
  var major = 1,
39
39
  minor = 13,
40
- patch = 2,
40
+ patch = 3,
41
41
  add = '', // 'dev' 'beta1'
42
42
  version = major + '.' + minor + '.' + patch + (add ? '-' + add : ''),
43
43
  constants;
@@ -56,7 +56,7 @@ JXG.Polygon = function (board, vertices, attributes) {
56
56
  this.constructor(board, attributes, Const.OBJECT_TYPE_POLYGON, Const.OBJECT_CLASS_AREA);
57
57
 
58
58
  var i, l, len, j, p,
59
- attr_line = Type.copyAttributes(attributes, board.options, "polygon", 'borders');
59
+ attr_line = Type.copyAttributes(attributes, board.options, 'polygon', 'borders');
60
60
 
61
61
  this.withLines = attributes.withlines;
62
62
  this.attr_line = attr_line;
@@ -102,10 +102,11 @@ JXG.Polygon = function (board, vertices, attributes) {
102
102
  i = (j + 1) % len;
103
103
  attr_line.id = attr_line.ids && attr_line.ids[i];
104
104
  attr_line.name = attr_line.names && attr_line.names[i];
105
- attr_line.strokecolor =
106
- (Type.isArray(attr_line.colors) &&
107
- attr_line.colors[i % attr_line.colors.length]) ||
108
- attr_line.strokecolor;
105
+
106
+ if (Type.isArray(attr_line.colors) && attr_line.colors.length > 0) {
107
+ attr_line.strokecolor = attr_line.colors[i % attr_line.colors.length];
108
+ }
109
+
109
110
  attr_line.visible = Type.exists(attributes.borders.visible)
110
111
  ? attributes.borders.visible
111
112
  : attributes.visible;
package/src/index.d.ts CHANGED
@@ -3656,6 +3656,12 @@ declare namespace JXG {
3656
3656
 
3657
3657
  export interface Circle3DAttributes extends GeometryElementAttributes {}
3658
3658
 
3659
+ export interface Circle3D extends GeometryElement {
3660
+ center: Point3D;
3661
+ Radius(value?: number): number;
3662
+ setRadius(radius: string | number | (() => number)): this;
3663
+ }
3664
+
3659
3665
  export interface Curve3DAttributes extends CurveAttributes {}
3660
3666
 
3661
3667
  export interface Curve3D extends Curve {}
@@ -3680,8 +3686,24 @@ declare namespace JXG {
3680
3686
  Z(): number;
3681
3687
  }
3682
3688
 
3689
+ export interface Polygon3DAttributes extends GeometryElementAttributes {}
3690
+
3691
+ export interface Polygon3D extends GeometryElement {
3692
+ vertices: Point3D[];
3693
+ }
3694
+
3683
3695
  export interface Sphere3DAttributes extends GeometryElementAttributes {}
3684
3696
 
3697
+ export interface Sphere3D extends GeometryElement {
3698
+ center: Point3D;
3699
+ point2: Point3D | null;
3700
+ Radius(value?: number): number;
3701
+ setRadius(radius: string | number | (() => number)): this;
3702
+ X(u: number, v: number): number;
3703
+ Y(u: number, v: number): number;
3704
+ Z(u: number, v: number): number;
3705
+ }
3706
+
3685
3707
  export interface View3DAttributes extends GeometryElementAttributes {
3686
3708
  axesPosition?: "center";
3687
3709
 
package/src/jsxgraph.js CHANGED
@@ -125,7 +125,7 @@ JXG.JSXGraph = {
125
125
  * @private
126
126
  */
127
127
  initRenderer: function (box, dim, doc, attrRenderer) {
128
- var boxid, renderer;
128
+ var boxid, renderer, containerId;
129
129
 
130
130
  // Former version:
131
131
  // doc = doc || document
@@ -136,6 +136,17 @@ JXG.JSXGraph = {
136
136
  if (typeof doc === "object" && box !== null) {
137
137
  boxid = (Type.isString(box)) ? doc.getElementById(box) : box;
138
138
 
139
+ // SVG renderer resource names use the container ID as their prefix. Generate one
140
+ // before constructing the renderer so anonymous element references cannot create
141
+ // duplicate clip paths, filters, or navigation IDs.
142
+ if (boxid && !boxid.id) {
143
+ containerId = 1;
144
+ while (doc.getElementById("jxgbox" + containerId)) {
145
+ containerId += 1;
146
+ }
147
+ boxid.id = "jxgbox" + containerId;
148
+ }
149
+
139
150
  // Remove everything from the container before initializing the renderer and the board
140
151
  while (boxid.firstChild) {
141
152
  boxid.removeChild(boxid.firstChild);