geojs 1.6.1 → 1.6.5

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 (46) hide show
  1. package/.github/workflows/main.yml +4 -4
  2. package/.nvmrc +1 -0
  3. package/CHANGELOG.md +31 -1
  4. package/README.md +14 -9
  5. package/geo.js +166 -143
  6. package/geo.lean.js +163 -140
  7. package/geo.lean.min.js +3 -3
  8. package/geo.min.js +6 -6
  9. package/package.json +14 -15
  10. package/src/annotation.js +11 -7
  11. package/src/annotationLayer.js +13 -9
  12. package/src/camera.js +5 -5
  13. package/src/choroplethFeature.js +1 -1
  14. package/src/domRenderer.js +2 -1
  15. package/src/featureLayer.js +1 -1
  16. package/src/fileReader.js +2 -2
  17. package/src/imageTile.js +2 -1
  18. package/src/isolineFeature.js +1 -1
  19. package/src/layer.js +4 -2
  20. package/src/lineFeature.js +3 -3
  21. package/src/map.js +17 -15
  22. package/src/mapInteractor.js +17 -17
  23. package/src/markerFeature.js +2 -2
  24. package/src/meshFeature.js +1 -1
  25. package/src/osmLayer.js +4 -0
  26. package/src/pointFeature.js +1 -1
  27. package/src/polygonFeature.js +3 -3
  28. package/src/registry.js +2 -2
  29. package/src/svg/svgRenderer.js +3 -3
  30. package/src/tile.js +1 -1
  31. package/src/tileCache.js +1 -1
  32. package/src/tileLayer.js +10 -10
  33. package/src/trackFeature.js +19 -19
  34. package/src/transform.js +8 -9
  35. package/src/typedef.js +2 -0
  36. package/src/ui/colorLegendWidget.styl +1 -1
  37. package/src/ui/sliderWidget.js +1 -1
  38. package/src/util/clustering.js +3 -3
  39. package/src/util/color.js +1 -1
  40. package/src/util/common.js +7 -7
  41. package/src/util/throttle.js +1 -1
  42. package/src/vtkjs/pointFeature.js +1 -1
  43. package/src/webgl/markerFeature.js +1 -1
  44. package/src/webgl/pointFeature.js +1 -1
  45. package/src/webgl/quadFeatureColor.vert +0 -1
  46. package/src/webgl/webglRenderer.js +1 -0
package/geo.lean.js CHANGED
@@ -221,7 +221,7 @@ var annotation = function annotation(type, args) {
221
221
  /**
222
222
  * Get or set the name of this annotation.
223
223
  *
224
- * @param {string|undefined} arg If `undefined`, return the name, otherwise
224
+ * @param {string|undefined} [arg] If `undefined`, return the name, otherwise
225
225
  * change it. When setting the name, the value is trimmed of
226
226
  * whitespace. The name will not be changed to an empty string.
227
227
  * @returns {this|string} The current name or this annotation.
@@ -398,7 +398,7 @@ var annotation = function annotation(type, args) {
398
398
  /**
399
399
  * Get or set the state of this annotation.
400
400
  *
401
- * @param {string|undefined} arg If `undefined`, return the state,
401
+ * @param {string|undefined} [arg] If `undefined`, return the state,
402
402
  * otherwise change it. This should be one of the
403
403
  * {@link geo.annotation.state} values.
404
404
  * @returns {this|string} The current state or this annotation.
@@ -466,7 +466,7 @@ var annotation = function annotation(type, args) {
466
466
  */
467
467
 
468
468
 
469
- this.processAction = function () {
469
+ this.processAction = function (evt) {
470
470
  return undefined;
471
471
  };
472
472
  /**
@@ -1309,8 +1309,8 @@ var annotation = function annotation(type, args) {
1309
1309
  *
1310
1310
  * @param {object} m_this The current annotation instance.
1311
1311
  * @param {function} s_actions The parent actions method.
1312
- * @param {string} [state] The state to return actions for. Defaults to
1313
- * the current state.
1312
+ * @param {string|undefined} state The state to return actions for. Defaults
1313
+ * to the current state.
1314
1314
  * @param {string} name The name of this annotation.
1315
1315
  * @param {Array} originalArgs arguments to original call
1316
1316
  * @returns {geo.actionRecord[]} A list of actions.
@@ -1365,7 +1365,7 @@ function continuousVerticesProcessAction(m_this, evt, name) {
1365
1365
  }
1366
1366
 
1367
1367
  var cpp = layer.options('continuousPointProximity');
1368
- var cpc = layer.options('continuousPointColinearity');
1368
+ var cpc = layer.options('continuousPointCollinearity');
1369
1369
  var ccp = layer.options('continuousCloseProximity');
1370
1370
 
1371
1371
  if (cpp || cpp === 0) {
@@ -1381,7 +1381,7 @@ function continuousVerticesProcessAction(m_this, evt, name) {
1381
1381
  var dist = layer.displayDistance(vertices[vertices.length - 2], null, evt.mouse.map, 'display');
1382
1382
 
1383
1383
  if (dist && dist > cpp) {
1384
- // combine nearly colinear points
1384
+ // combine nearly collinear points
1385
1385
  if (vertices.length >= (m_this._lastClickVertexCount || 1) + 3) {
1386
1386
  var d01 = layer.displayDistance(vertices[vertices.length - 3], null, vertices[vertices.length - 2], null),
1387
1387
  d12 = dist,
@@ -1429,6 +1429,11 @@ function continuousVerticesProcessAction(m_this, evt, name) {
1429
1429
  * rectangle in edit mode.
1430
1430
  */
1431
1431
 
1432
+ /*
1433
+ * @typedef {object} geo.rectangleAnnotation.subspec
1434
+ * @typedef {geo.annotation.spec | geo.rectangleAnnotation.subspec} geo.rectangleAnnotation.spec
1435
+ */
1436
+
1432
1437
  /**
1433
1438
  * Rectangle annotation class.
1434
1439
  *
@@ -2894,9 +2899,9 @@ var textFeature = __webpack_require__(9757);
2894
2899
  * @property {number} [continuousPointProximity=5] The minimum distance in
2895
2900
  * display coordinates (pixels) between two adjacent points when dragging
2896
2901
  * to create an annotation. `false` disables continuous drawing mode.
2897
- * @property {number} [continuousPointColinearity=1.0deg] The minimum angle
2902
+ * @property {number} [continuousPointCollinearity=1.0deg] The minimum angle
2898
2903
  * between a series of three points when dragging to not interpret them as
2899
- * colinear. Only applies if `continuousPointProximity` is not `false`.
2904
+ * collinear. Only applies if `continuousPointProximity` is not `false`.
2900
2905
  * @property {number} [continuousCloseProximity=10] The minimum distance in
2901
2906
  * display coordinates (pixels) to close a polygon or end drawing a line when
2902
2907
  * dragging to create an annotation. `false` never closes at the end of a
@@ -3048,8 +3053,8 @@ var annotationLayer = function annotationLayer(arg) {
3048
3053
  // continuous drawing modes.
3049
3054
  continuousPointProximity: 5,
3050
3055
  // in radians, minimum angle between continuous points to interpret them as
3051
- // being coliner
3052
- continuousPointColinearity: 1.0 * Math.PI / 180,
3056
+ // being collinear
3057
+ continuousPointCollinearity: 1.0 * Math.PI / 180,
3053
3058
  continuousCloseProximity: 10,
3054
3059
  // in pixels, 0 is exact
3055
3060
  finalPointProximity: 10,
@@ -3348,13 +3353,15 @@ var annotationLayer = function annotationLayer(arg) {
3348
3353
  * @param {geo.annotation} annotation The annotation to add.
3349
3354
  * @param {string|geo.transform|null} [gcs] `undefined` to use the interface
3350
3355
  * gcs, `null` to use the map gcs, or any other transform.
3356
+ * @param {boolean} [update] If `false`, don't update the layer after adding
3357
+ * the annotation.
3351
3358
  * @returns {this} The current layer.
3352
3359
  * @fires geo.event.annotation.add_before
3353
3360
  * @fires geo.event.annotation.add
3354
3361
  */
3355
3362
 
3356
3363
 
3357
- this.addAnnotation = function (annotation, gcs) {
3364
+ this.addAnnotation = function (annotation, gcs, update) {
3358
3365
  var pos = $.inArray(annotation, m_annotations);
3359
3366
 
3360
3367
  if (pos < 0) {
@@ -3370,8 +3377,11 @@ var annotationLayer = function annotationLayer(arg) {
3370
3377
  annotation._coordinates(transform.transformCoordinates(gcs, map.gcs(), annotation._coordinates()));
3371
3378
  }
3372
3379
 
3373
- m_this.modified();
3374
- m_this.draw();
3380
+ if (update !== false) {
3381
+ m_this.modified();
3382
+ m_this.draw();
3383
+ }
3384
+
3375
3385
  m_this.geoTrigger(geo_event.annotation.add, {
3376
3386
  annotation: annotation
3377
3387
  });
@@ -3383,7 +3393,7 @@ var annotationLayer = function annotationLayer(arg) {
3383
3393
  * Remove an annotation from the layer.
3384
3394
  *
3385
3395
  * @param {geo.annotation} annotation The annotation to remove.
3386
- * @param {boolean} update If `false`, don't update the layer after removing
3396
+ * @param {boolean} [update] If `false`, don't update the layer after removing
3387
3397
  * the annotation.
3388
3398
  * @returns {boolean} `true` if an annotation was removed.
3389
3399
  * @fires geo.event.annotation.remove
@@ -3597,7 +3607,7 @@ var annotationLayer = function annotationLayer(arg) {
3597
3607
  * Return the current set of annotations as a geojson object. Alternately,
3598
3608
  * add a set of annotations from a geojson object.
3599
3609
  *
3600
- * @param {string|objectFile} [geojson] If present, add annotations based on
3610
+ * @param {string|object|File} [geojson] If present, add annotations based on
3601
3611
  * the given geojson object. If `undefined`, return the current
3602
3612
  * annotations as geojson. This may be a JSON string, a javascript
3603
3613
  * object, or a File object.
@@ -4825,7 +4835,7 @@ var camera = function camera(spec) {
4825
4835
  * Project a vector from world space into viewport (display) space. The
4826
4836
  * resulting vector always has the last component (`w`) equal to 1.
4827
4837
  *
4828
- * @param {vec2|vec3|vec4} point The point in world coordinates.
4838
+ * @param {vec3|vec4} point The point in world coordinates.
4829
4839
  * @returns {vec4} The point in display coordinates.
4830
4840
  */
4831
4841
 
@@ -4844,7 +4854,7 @@ var camera = function camera(spec) {
4844
4854
  * Project a vector from viewport (display) space into world space. The
4845
4855
  * resulting vector always has the last component (`w`) equal to 1.
4846
4856
  *
4847
- * @param {vec2|vec3|vec4} point The point in display coordinates.
4857
+ * @param {vec3|vec4} point The point in display coordinates.
4848
4858
  * @returns {vec4} The point in world space coordinates.
4849
4859
  */
4850
4860
 
@@ -5157,7 +5167,7 @@ var camera = function camera(spec) {
5157
5167
  /**
5158
5168
  * Represent a glmatrix as a pretty-printed string.
5159
5169
  * @param {mat4} mat A 4 x 4 matrix.
5160
- * @param {number} prec The number of decimal places.
5170
+ * @param {number} [prec] The number of decimal places.
5161
5171
  * @returns {string}
5162
5172
  */
5163
5173
 
@@ -5225,7 +5235,7 @@ var camera = function camera(spec) {
5225
5235
  };
5226
5236
  /**
5227
5237
  * Supported projection types.
5228
- * @enum
5238
+ * @enum {boolean}
5229
5239
  */
5230
5240
 
5231
5241
 
@@ -5236,7 +5246,7 @@ camera.projection = {
5236
5246
  /**
5237
5247
  * Default camera clipping bounds. Some features and renderers may rely on the
5238
5248
  * far clip value being more positive than the near clip value.
5239
- * @enum
5249
+ * @enum {number}
5240
5250
  */
5241
5251
 
5242
5252
  camera.clipbounds = {
@@ -7395,7 +7405,7 @@ var choroplethFeature = function choroplethFeature(arg) {
7395
7405
  /**
7396
7406
  * Add a geojson polygon feature to the current layer.
7397
7407
  *
7398
- * @param {geojsonFeature} feature A geojson parsed feature.
7408
+ * @param {geo.geojsonFeature} feature A geojson parsed feature.
7399
7409
  * @param {geo.geoColor} fillColor The fill color for the feature.
7400
7410
  * @returns {geo.polygonFeature}
7401
7411
  */
@@ -7809,11 +7819,12 @@ var domRenderer = function domRenderer(arg) {
7809
7819
  /**
7810
7820
  * Initialize.
7811
7821
  *
7822
+ * @param {object} [arg] Optional arguments.
7812
7823
  * @returns {this}
7813
7824
  */
7814
7825
 
7815
7826
 
7816
- this._init = function () {
7827
+ this._init = function (arg) {
7817
7828
  var layer = m_this.layer().node();
7818
7829
 
7819
7830
  if (!m_this.canvas() && layer && layer.length) {
@@ -9762,7 +9773,7 @@ var featureLayer = function featureLayer(arg) {
9762
9773
  /**
9763
9774
  * Get/Set drawables.
9764
9775
  *
9765
- * @param {geo.feature[]} val A list of features, or unspecified to return
9776
+ * @param {geo.feature[]} [val] A list of features, or unspecified to return
9766
9777
  * the current feature list. If a list is provided, features are added or
9767
9778
  * removed as needed.
9768
9779
  * @returns {geo.feature[]|this} The current features associated with the
@@ -10346,7 +10357,7 @@ var object = __webpack_require__(3737);
10346
10357
  * Object specification for a fileReader.
10347
10358
  *
10348
10359
  * @typedef {object} geo.fileReader.spec
10349
- * @property {geo.featureLayer} layer The target feature layer.
10360
+ * @property {geo.featureLayer} [layer] The target feature layer.
10350
10361
  */
10351
10362
 
10352
10363
  /**
@@ -10355,7 +10366,7 @@ var object = __webpack_require__(3737);
10355
10366
  * @class
10356
10367
  * @alias geo.fileReader
10357
10368
  * @extends geo.object
10358
- * @param {geo.fileReader.spec} arg
10369
+ * @param {geo.fileReader.spec} [arg]
10359
10370
  * @returns {geo.fileReader}
10360
10371
  */
10361
10372
 
@@ -11833,7 +11844,8 @@ var tile = __webpack_require__(8418);
11833
11844
  * @property {object} [size] The size of each tile.
11834
11845
  * @property {number} [size.x=256] Width in pixels.
11835
11846
  * @property {number} [size.y=256] Height in pixels.
11836
- * @property {string} [crossDomain='anonymous'] Image CORS attribute.
11847
+ * @property {string} [crossDomain='anonymous'] Image CORS attribute. This is
11848
+ * used for the `crossorigin` property when loading images.
11837
11849
  */
11838
11850
 
11839
11851
  /**
@@ -12997,7 +13009,7 @@ var isolineFeature = function isolineFeature(arg) {
12997
13009
  * the generated labels. The viewport calculation is conservative, as the
12998
13010
  * map could be rotated, changed size, or have other modifications.
12999
13011
  *
13000
- * @returns {exit}
13012
+ * @returns {this}
13001
13013
  */
13002
13014
 
13003
13015
 
@@ -13605,7 +13617,7 @@ var layer = function layer(arg) {
13605
13617
  /**
13606
13618
  * Get root node of the layer.
13607
13619
  *
13608
- * @returns {div}
13620
+ * @returns {HTMLDivElement}
13609
13621
  */
13610
13622
 
13611
13623
 
@@ -13933,11 +13945,13 @@ var layer = function layer(arg) {
13933
13945
  * Update layer.
13934
13946
  *
13935
13947
  * This is a stub that should be subclassed.
13948
+ *
13949
+ * @param {object} [arg] An object, possibly with an ``event`` key and value.
13936
13950
  * @returns {this}
13937
13951
  */
13938
13952
 
13939
13953
 
13940
- this._update = function () {
13954
+ this._update = function (arg) {
13941
13955
  return m_this;
13942
13956
  };
13943
13957
  /**
@@ -14612,9 +14626,9 @@ var lineFeature = function lineFeature(arg) {
14612
14626
  *
14613
14627
  * @param {array} data A new data array.
14614
14628
  * @param {number} [tolerance] The maximum variation allowed in map.gcs
14615
- * units. A value of zero will only remove perfectly colinear points. If
14616
- * not specified, this is set to a half display pixel at the map's current
14617
- * zoom level.
14629
+ * units. A value of zero will only remove perfectly collinear points.
14630
+ * If not specified, this is set to a half display pixel at the map's
14631
+ * current zoom level.
14618
14632
  * @param {function} [posFunc=this.style.get('position')] The function to
14619
14633
  * get the position of each vertex.
14620
14634
  * @param {function} [lineFunc=this.style.get('line')] The function to get
@@ -15352,7 +15366,7 @@ var map = function map(arg) {
15352
15366
  * view center. Rotation mostly ignores `clampBoundsX`, as the behavior
15353
15367
  * feels peculiar otherwise.
15354
15368
  *
15355
- * @param {number} rotation Absolute angle in radians (positive is
15369
+ * @param {number} [rotation] Absolute angle in radians (positive is
15356
15370
  * clockwise).
15357
15371
  * @param {object} [origin] If specified, rotate about this origin.
15358
15372
  * @param {geo.geoPosition} origin.geo The gcs coordinates of the
@@ -15710,7 +15724,7 @@ var map = function map(arg) {
15710
15724
  * coordinate to convert.
15711
15725
  * @param {string|geo.transform|null} [gcs] Output gcs. `undefined` to use
15712
15726
  * the interface gcs, `null` to use the map gcs, or any other transform.
15713
- * @returns {geo.geoPosition|geoPosition[]} GCS space coordinates.
15727
+ * @returns {geo.geoPosition|geo.geoPosition[]} GCS space coordinates.
15714
15728
  */
15715
15729
 
15716
15730
 
@@ -15852,11 +15866,12 @@ var map = function map(arg) {
15852
15866
  /**
15853
15867
  * Initialize the map.
15854
15868
  *
15869
+ * @param {object} [arg] Optional arguments.
15855
15870
  * @returns {this} The map object.
15856
15871
  */
15857
15872
 
15858
15873
 
15859
- this._init = function () {
15874
+ this._init = function (arg) {
15860
15875
  if (m_node === undefined || m_node === null) {
15861
15876
  throw new Error('Map require DIV node');
15862
15877
  }
@@ -16223,7 +16238,7 @@ var map = function map(arg) {
16223
16238
  m_center = m_this.gcsToWorld({
16224
16239
  x: p[0],
16225
16240
  y: p[1]
16226
- }, null, true, true);
16241
+ }, null);
16227
16242
  m_this.zoom(p[2], m_transition.zoomOrigin, true);
16228
16243
  }
16229
16244
 
@@ -16463,7 +16478,7 @@ var map = function map(arg) {
16463
16478
  * @param {number} rotation The requested rotation in clockwise radians.
16464
16479
  * @param {string|geo.transform|null} [gcs] `undefined` to use the interface
16465
16480
  * gcs, `null` to use the map gcs, or any other transform.
16466
- * @param {boolean} ignoreDiscreteZoom If `true`, ignore the `discreteZoom`
16481
+ * @param {boolean} [ignoreDiscreteZoom] If `true`, ignore the `discreteZoom`
16467
16482
  * option when determining the new view.
16468
16483
  * @param {boolean} [ignoreClampBounds] If `true` and `clampBoundsX` or
16469
16484
  * `clampBoundsY` is set, allow the bounds to be less clamped.
@@ -16715,11 +16730,11 @@ var map = function map(arg) {
16715
16730
  * @param {boolean|null} [opts.attribution=null] If `null` or unspecified,
16716
16731
  * include the attribution only if all layers are used. If false, never
16717
16732
  * include the attribution. If `true`, always include it.
16718
- * @param {HTMLObject[]|string[]} [opts.html] A list of additional HTML
16733
+ * @param {HTMLElement[]|string[]} [opts.html] A list of additional HTML
16719
16734
  * elements, selectors, or jQuery elements to render on top of the map.
16720
16735
  * These are rendered in order, with the last one topmost.
16721
- * @returns {deferred} A jQuery Deferred object. The done function receives
16722
- * either a data URL or an `HTMLCanvasElement` with the result.
16736
+ * @returns {jQueryDeferred} A jQuery Deferred object. The done function
16737
+ * receives either a data URL or an `HTMLCanvasElement` with the result.
16723
16738
  * @fires geo.event.screenshot.ready
16724
16739
  */
16725
16740
 
@@ -16928,7 +16943,7 @@ var map = function map(arg) {
16928
16943
  /**
16929
16944
  * Return the nearest valid zoom level to the requested zoom.
16930
16945
  * @param {number} zoom A zoom level to adjust to current settings
16931
- * @param {boolean} ignoreDiscreteZoom If `true`, ignore the `discreteZoom`
16946
+ * @param {boolean} [ignoreDiscreteZoom] If `true`, ignore the `discreteZoom`
16932
16947
  * option when determining the new view.
16933
16948
  * @returns {number} The zoom level clamped to the allowed zoom range and
16934
16949
  * with other settings applied.
@@ -16972,10 +16987,11 @@ var map = function map(arg) {
16972
16987
  * Draw a layer image to a canvas context. The layer's opacity and transform
16973
16988
  * are applied. This is used as part of making a screenshot.
16974
16989
  *
16975
- * @param {context} context The 2d canvas context to draw into.
16990
+ * @param {CanvasRenderingContext2D} context The 2d canvas context to draw
16991
+ * into.
16976
16992
  * @param {number} opacity The opacity in the range [0, 1].
16977
16993
  * @param {object} elem A jQuery element that might have a transform.
16978
- * @param {HTMLImageObject} img The image or canvas to draw to the canvas.
16994
+ * @param {HTMLImageElement} img The image or canvas to draw to the canvas.
16979
16995
  * @param {string} [mixBlendMode] the mix-blend-mode used to add this layer.
16980
16996
  * @private
16981
16997
  */
@@ -17183,12 +17199,12 @@ var map = function map(arg) {
17183
17199
  * Return a valid rotation angle.
17184
17200
  *
17185
17201
  * @param {number} rotation Proposed rotation.
17186
- * @param {boolean} ignoreRotationFunc If truthy and rotations are allowed,
17202
+ * @param {boolean} [ignoreRotationFunc] If truthy and rotations are allowed,
17187
17203
  * allow any rotation. Otherwise, the rotation is passed through the
17188
17204
  * `allowRotation` function.
17189
- * @param {boolean} noRangeLimit If falsy, ensure that the rotation is in the
17190
- * range [0, 2*PI). If it is very close to zero, it is snapped to zero.
17191
- * If true, the rotation can have any value.
17205
+ * @param {boolean} [noRangeLimit] If falsy, ensure that the rotation is in
17206
+ * the range [0, 2*PI). If it is very close to zero, it is snapped to
17207
+ * zero. If true, the rotation can have any value.
17192
17208
  * @returns {number} the validated rotation
17193
17209
  * @private
17194
17210
  */
@@ -19846,26 +19862,26 @@ var mapInteractor = function mapInteractor(args) {
19846
19862
  * map in pixels relative to the map's div.
19847
19863
  * @param {geo.screenPosition} [options.center] The position of a touch
19848
19864
  * event center relative to the window.
19849
- * @param {string} [button] One of `left`, `middle`, or `right` for mouse
19850
- * events.
19851
- * @param {string} [modifiers] A space-separated list of metakeys that are
19852
- * down on mouse events.
19853
- * @param {geo.screenPosition} [wheelDelta] The amount the wheel moved in
19854
- * both directions for wheel events. One step is often 20 units of
19855
- * vement.
19856
- * @param {number} [wheelMode] The wheel delta mode. See
19865
+ * @param {string} [options.button] One of `left`, `middle`, or `right` for
19866
+ * mouse events.
19867
+ * @param {string} [options.modifiers] A space-separated list of metakeys
19868
+ * that are down on mouse events.
19869
+ * @param {geo.screenPosition} [options.wheelDelta] The amount the wheel
19870
+ * moved in both directions for wheel events. One step is often 20 units
19871
+ * of movement.
19872
+ * @param {number} [options.wheelMode] The wheel delta mode. See
19857
19873
  * https://developer.mozilla.org/en-US/docs/Web/API/WheelEvent .
19858
- * @param {boolean} [touch] `truthy` if this is a touch event.
19859
- * @param {number} [rotation] Touch event rotation in degrees.
19860
- * @param {number} [scale] Touch event scale. Initial events should have a
19861
- * scale of 1; subsequent events should increase or decrease this to
19862
- * simulate spread and pinch actions.
19863
- * @param {number[]} [pointers] A list of pointer numbers involved in a
19864
- * touch event. Pointers are number from one up, so `[1]` is the first
19874
+ * @param {boolean} [options.touch] `truthy` if this is a touch event.
19875
+ * @param {number} [options.rotation] Touch event rotation in degrees.
19876
+ * @param {number} [options.scale] Touch event scale. Initial events should
19877
+ * have a scale of 1; subsequent events should increase or decrease this
19878
+ * to simulate spread and pinch actions.
19879
+ * @param {number[]} [options.pointers] A list of pointer numbers involved in
19880
+ * a touch event. Pointers are number from one up, so `[1]` is the first
19865
19881
  * touch point, `[1, 2]` are two touch points, and `[2]` is when the first
19866
19882
  * point was released but the second is still touching.
19867
- * @param {string} [pointerType] `mouse` if this is a mouse action rather
19868
- * than a touch action.
19883
+ * @param {string} [options.pointerType] `mouse` if this is a mouse action
19884
+ * rather than a touch action.
19869
19885
  * @returns {mapInteractor}
19870
19886
  */
19871
19887
 
@@ -20500,7 +20516,7 @@ markerFeature.capabilities = {
20500
20516
  markerFeature.primitiveShapes = pointFeature.primitiveShapes;
20501
20517
  /**
20502
20518
  * Marker symbols
20503
- * @enum
20519
+ * @enum {number}
20504
20520
  */
20505
20521
 
20506
20522
  markerFeature.symbols = {
@@ -20557,7 +20573,7 @@ markerFeature.symbols = {
20557
20573
  });
20558
20574
  /**
20559
20575
  * Marker scale modes
20560
- * @enum
20576
+ * @enum {number}
20561
20577
  */
20562
20578
 
20563
20579
  markerFeature.scaleMode = {
@@ -20597,7 +20613,7 @@ var feature = __webpack_require__(6837);
20597
20613
  * of these properties can be functions, which get passed `data`.
20598
20614
  *
20599
20615
  * @typedef {object} geo.meshFeature.meshSpec
20600
- * @property {number[]|array.<number[]>} [elements] If specified, a list of
20616
+ * @property {number[]|Array.<number[]>} [elements] If specified, a list of
20601
20617
  * indices into the data array that form elements. If this is an array of
20602
20618
  * arrays, each subarray must have at least either 3 values for triangular
20603
20619
  * elements or 4 values for square elements. If this is a single array,
@@ -21595,6 +21611,8 @@ var quadFeature = __webpack_require__(5017);
21595
21611
  * specified, use this as the layer opacity.
21596
21612
  * @property {string} [source] If specified, use the predefined tile source
21597
21613
  * (see {@link geo.osmLayer.tileSources}).
21614
+ * @property {string} [crossDomain='anonymous'] Image CORS attribute. This is
21615
+ * used for the `crossorigin` property when loading images.
21598
21616
  */
21599
21617
 
21600
21618
  /**
@@ -21624,7 +21642,10 @@ var osmLayer = function osmLayer(arg) {
21624
21642
  arg.opacity = arg.mapOpacity;
21625
21643
  }
21626
21644
 
21627
- arg = $.extend(true, {}, this.constructor.defaults, osmLayer.tileSources[this.constructor.defaults.source] || {}, osmLayer.tileSources[arg.source] || {}, arg);
21645
+ arg = $.extend(true, {}, this.constructor.defaults, osmLayer.tileSources[this.constructor.defaults.source] || {}, osmLayer.tileSources[arg.source] || {}, // don't name the layer based on the source
21646
+ {
21647
+ name: ''
21648
+ }, arg);
21628
21649
  tileLayer.call(this, arg);
21629
21650
  var m_this = this;
21630
21651
  /* mapOpacity is just another name for the layer opacity. */
@@ -23169,7 +23190,7 @@ pointFeature.capabilities = {
23169
23190
  };
23170
23191
  /**
23171
23192
  * Support primitive shapes
23172
- * @enum
23193
+ * @enum {string}
23173
23194
  */
23174
23195
 
23175
23196
  pointFeature.primitiveShapes = {
@@ -23895,9 +23916,9 @@ var polygonFeature = function polygonFeature(arg) {
23895
23916
  *
23896
23917
  * @param {array} data A new data array.
23897
23918
  * @param {number} [tolerance] The maximum variation allowed in map.gcs
23898
- * units. A value of zero will only remove perfectly colinear points. If
23899
- * not specified, this is set to a half display pixel at the map's current
23900
- * zoom level.
23919
+ * units. A value of zero will only remove perfectly collinear points.
23920
+ * If not specified, this is set to a half display pixel at the map's
23921
+ * current zoom level.
23901
23922
  * @param {function} [posFunc=this.style.get('position')] The function to
23902
23923
  * get the position of each vertex.
23903
23924
  * @param {function} [polyFunc=this.style.get('polygon')] The function to
@@ -25091,7 +25112,7 @@ util.registerRenderer = function (name, func) {
25091
25112
  * @param {geo.layer} layer The layer associated with the renderer.
25092
25113
  * @param {HTMLCanvasElement} [canvas] A canvas object to share between
25093
25114
  * renderers.
25094
- * @param {object} options Options for the new renderer.
25115
+ * @param {object} [options] Options for the new renderer.
25095
25116
  * @returns {geo.renderer|null} The new renderer or null if no such name is
25096
25117
  * registered.
25097
25118
  */
@@ -25120,7 +25141,7 @@ util.createRenderer = function (name, layer, canvas, options) {
25120
25141
  *
25121
25142
  * @alias geo.checkRenderer
25122
25143
  * @param {string|null} name Name of the desired renderer.
25123
- * @param {boolean} noFallback If truthy, don't recommend a fallback.
25144
+ * @param {boolean} [noFallback] If truthy, don't recommend a fallback.
25124
25145
  * @returns {string|null|false} The name of the renderer that should be used
25125
25146
  * or false if no valid renderer can be determined.
25126
25147
  */
@@ -25996,7 +26017,7 @@ module.exports = sceneObject;
25996
26017
  * @constant
25997
26018
  * @type {string}
25998
26019
  */
25999
- module.exports = "378afcb23fddd057df7ceb8f54c1f9266904e2fb";
26020
+ module.exports = "07bea0c1a0c68aece32ca33afaeed257361803e3";
26000
26021
 
26001
26022
  /***/ }),
26002
26023
 
@@ -27377,10 +27398,10 @@ var svgRenderer = function svgRenderer(arg) {
27377
27398
  * Create a new feature element from an object that describes the feature
27378
27399
  * attributes. To be called from feature classes only.
27379
27400
  *
27380
- * @param {object} arg Options for the features.
27401
+ * @param {object} arg
27381
27402
  * @param {string} arg.id A unique string identifying the feature.
27382
27403
  * @param {array} arg.data Array of data objects used in a d3 data method.
27383
- * @param {function} [aeg.dataIndex] A function that returns a unique id for
27404
+ * @param {function} [arg.dataIndex] A function that returns a unique id for
27384
27405
  * each data element. This is passed to the data access function.
27385
27406
  * @param {object} arg.style An object with style values or functions.
27386
27407
  * @param {object} arg.attributes An object containing element attributes.
@@ -27393,7 +27414,7 @@ var svgRenderer = function svgRenderer(arg) {
27393
27414
  * attributes and styles set when new. If falsy, features always have
27394
27415
  * attributes and styles updated.
27395
27416
  * @param {boolean} [arg.sortByZ] If truthy, sort features by the `d.zIndex`.
27396
- * @param {string} [parentId] If set, the group ID of the parent element.
27417
+ * @param {string} [arg.parentId] If set, the group ID of the parent element.
27397
27418
  * @returns {this}
27398
27419
  */
27399
27420
 
@@ -28536,7 +28557,7 @@ var tile = function tile(spec) {
28536
28557
  return this;
28537
28558
  };
28538
28559
  /**
28539
- * Return a unique string representation of the given tile useble as a hash
28560
+ * Return a unique string representation of the given tile usable as a hash
28540
28561
  * key. Possibly extend later to include url information to make caches
28541
28562
  * aware of the tile source.
28542
28563
  *
@@ -28706,7 +28727,7 @@ var tileCache = function tileCache(options) {
28706
28727
  * Remove a tile from the cache.
28707
28728
  *
28708
28729
  * @param {string|geo.tile} tile The tile or its hash.
28709
- * @returns {booliean} `true` if a tile was removed.
28730
+ * @returns {boolean} `true` if a tile was removed.
28710
28731
  */
28711
28732
 
28712
28733
 
@@ -29401,7 +29422,7 @@ var tileLayer = function tileLayer(arg) {
29401
29422
  /**
29402
29423
  * Returns a tile's bounds in a gcs.
29403
29424
  *
29404
- * @param {object|tile} indexOrTile Either a tile or an object with
29425
+ * @param {object|geo.tile} indexOrTile Either a tile or an object with
29405
29426
  * {x, y, level}` specifying a tile.
29406
29427
  * @param {string|geo.transform|null} [gcs] `undefined` to use the
29407
29428
  * interface gcs, `null` to use the map gcs, or any other transform.
@@ -29570,7 +29591,7 @@ var tileLayer = function tileLayer(arg) {
29570
29591
  * @param {number} maxLevel The zoom level
29571
29592
  * @param {geo.geoBounds} bounds The map bounds
29572
29593
  * @param {boolean} sorted Return a sorted list
29573
- * @param {boolean} onlyIfChanged If the set of tiles have not changed
29594
+ * @param {boolean} [onlyIfChanged] If the set of tiles have not changed
29574
29595
  * (even if their desired order has), return undefined instead of an
29575
29596
  * array of tiles.
29576
29597
  * @returns {geo.tile[]} An array of tile objects
@@ -30104,7 +30125,7 @@ var tileLayer = function tileLayer(arg) {
30104
30125
  * origin.
30105
30126
  *
30106
30127
  * @param {object} pt A point in world space coordinates with `x` and `y`.
30107
- * @param {number|undefined} zoom If unspecified, use the map zoom.
30128
+ * @param {number} [zoom] If unspecified, use the map zoom.
30108
30129
  * @returns {object} Local coordinates with `x` and `y`.
30109
30130
  */
30110
30131
 
@@ -30153,7 +30174,7 @@ var tileLayer = function tileLayer(arg) {
30153
30174
  * create the element if it doesn't already exist.
30154
30175
  *
30155
30176
  * @param {number} level The zoom level of the layer to fetch.
30156
- * @returns {DOM} The layer's DOM element.
30177
+ * @returns {HTMLElement} The layer's DOM element.
30157
30178
  */
30158
30179
 
30159
30180
 
@@ -30510,8 +30531,8 @@ var tileLayer = function tileLayer(arg) {
30510
30531
  * @param {geo.geoBounds} [bounds] The view bounds (if unspecified, assume
30511
30532
  * global bounds)
30512
30533
  * @param {number} bounds.level The zoom level the bounds are given as.
30513
- * @param {number} zoom Keep in bound tile at this zoom level.
30514
- * @param {boolean} doneLoading If true, allow purging additional tiles.
30534
+ * @param {number} [zoom] Keep in bound tile at this zoom level.
30535
+ * @param {boolean} [doneLoading] If true, allow purging additional tiles.
30515
30536
  * @returns {boolean}
30516
30537
  */
30517
30538
 
@@ -30624,9 +30645,9 @@ var tileLayer = function tileLayer(arg) {
30624
30645
  /**
30625
30646
  * Get or set the subdomains used for templating.
30626
30647
  *
30627
- * @param {string|list} [subdomains] A comma-separated list, a string of
30648
+ * @param {string|string[]} [subdomains] A comma-separated list, a string of
30628
30649
  * single character subdomains, or a list.
30629
- * @returns {string|list|this}
30650
+ * @returns {string|string[]|this}
30630
30651
  */
30631
30652
 
30632
30653
 
@@ -30670,8 +30691,8 @@ var tileLayer = function tileLayer(arg) {
30670
30691
  /**
30671
30692
  * Get/Set visibility of the layer.
30672
30693
  *
30673
- * @param {boolean|undefined} val If unspecified, return the visibility,
30674
- * otherwise set it.
30694
+ * @param {boolean} [val] If unspecified, return the visibility, otherwise
30695
+ * set it.
30675
30696
  * @returns {boolean|this} Either the visibility (if getting) or the layer
30676
30697
  * (if setting).
30677
30698
  */
@@ -30888,24 +30909,24 @@ var util = __webpack_require__(4634);
30888
30909
  * @extends geo.feature.spec
30889
30910
  * @property {geo.geoPosition|function} [position] Position of the data.
30890
30911
  * Default is (data).
30891
- * @property {float|function} [time] Time of the data. Default is `(data).t`.
30912
+ * @property {number|function} [time] Time of the data. Default is `(data).t`.
30892
30913
  * @property {object|function} [track] Tracks from the data. Default is
30893
30914
  * (data). Typically, the data is an array of tracks, each of which is an
30894
30915
  * array of points, each of which has a position and time. The position and
30895
30916
  * time functions are called for each point as `position(trackPoint,
30896
30917
  * pointIndex, trackEntry, trackEntryIndex)`.
30897
- * @property {float|null} [startTime=null] Start time. Used for styling. If
30918
+ * @property {number|null} [startTime=null] Start time. Used for styling. If
30898
30919
  * `null`, this is the duration before the end time if `duration` is not
30899
30920
  * `null` and the minimum time in any track if `duration` is `null`.
30900
- * @property {float} [endTime=null] End time. Used for styling and position of
30901
- * the track head. If `null` and either of `startTime` or `duration` are
30921
+ * @property {number} [endTime=null] End time. Used for styling and position
30922
+ * of the track head. If `null` and either of `startTime` or `duration` are
30902
30923
  * `null`, this is the maximum time in any track.
30903
- * @property {float} [duration=null] Duration between start and end times.
30924
+ * @property {number} [duration=null] Duration between start and end times.
30904
30925
  * Ignored if both start and end times are specified.
30905
- * @property {float|function} [text] Text to use for the head of the track. If
30906
- * specified, the track head is rendered as text. If `undefined` a marker is
30907
- * used instead. If `null` or an empty string (`''`), neither a marker nor
30908
- * text is used.
30926
+ * @property {number|function} [text] Text to use for the head of the track.
30927
+ * If specified, the track head is rendered as text. If `undefined` a marker
30928
+ * is used instead. If `null` or an empty string (`''`), neither a marker
30929
+ * nor text is used.
30909
30930
  * @property {geo.trackFeature.styleSpec} [style] Style object with default
30910
30931
  * style options.
30911
30932
  * @property {geo.lineFeature.styleSpec} [pastStyle] Style object with
@@ -31053,7 +31074,7 @@ var trackFeature = function trackFeature(arg) {
31053
31074
  * Calculate an interpolated position given a time. If the time is outside
31054
31075
  * the range of a track, the first or last point is returned.
31055
31076
  *
31056
- * @param {float} time The time to compute a position array for.
31077
+ * @param {number} time The time to compute a position array for.
31057
31078
  * @param {string|geo.transform|null} [gcs] `undefined` to use the feature
31058
31079
  * gcs, `null` to use the map gcs, or any other transform. This transform
31059
31080
  * is used for the interpolation; the results are still in feature gcs.
@@ -31218,7 +31239,7 @@ var trackFeature = function trackFeature(arg) {
31218
31239
  m_tracks.trackFunc = m_this.style.get('track');
31219
31240
  m_tracks.textFunc = m_this.style.get('text');
31220
31241
  ['past', 'current', 'future'].forEach(function (key) {
31221
- m_lineFeatures[key].style(m_this[key + 'Style']()).style(m_this.style()).line(m_this.style('track')).gcs(m_this.gcs()).data(data).position(m_this._linePosition(key));
31242
+ m_lineFeatures[key].style(m_this.style()).style(m_this[key + 'Style']()).line(m_this.style('track')).gcs(m_this.gcs()).data(data).position(m_this._linePosition(key));
31222
31243
  });
31223
31244
  var timeExtents = {};
31224
31245
  data.forEach(function (d, i) {
@@ -31554,11 +31575,11 @@ var trackFeature = function trackFeature(arg) {
31554
31575
  /**
31555
31576
  * Get/Set time accessor.
31556
31577
  *
31557
- * @param {float} [val] If not specified, return the current time accessor.
31578
+ * @param {number} [val] If not specified, return the current time accessor.
31558
31579
  * If specified, use this for the time accessor and return `this`. If a
31559
31580
  * function is given, this is called with `(vertexElement, vertexIndex,
31560
31581
  * dataElement, dataIndex)`.
31561
- * @returns {float|function|this} The current time or this feature.
31582
+ * @returns {number|function|this} The current time or this feature.
31562
31583
  */
31563
31584
 
31564
31585
 
@@ -31628,8 +31649,8 @@ var trackFeature = function trackFeature(arg) {
31628
31649
  /**
31629
31650
  * Get or set the start time.
31630
31651
  *
31631
- * @param {float|null} [val] If specified, the new start time.
31632
- * @returns {float|null|this} If set, the instance. Otherwise, the current
31652
+ * @param {number|null} [val] If specified, the new start time.
31653
+ * @returns {number|null|this} If set, the instance. Otherwise, the current
31633
31654
  * start time value.
31634
31655
  */
31635
31656
 
@@ -31650,8 +31671,8 @@ var trackFeature = function trackFeature(arg) {
31650
31671
  /**
31651
31672
  * Get or set the end time.
31652
31673
  *
31653
- * @param {float|null} [val] If specified, the new end time.
31654
- * @returns {float|null|this} If set, the instance. Otherwise, the current
31674
+ * @param {number|null} [val] If specified, the new end time.
31675
+ * @returns {number|null|this} If set, the instance. Otherwise, the current
31655
31676
  * end time value.
31656
31677
  */
31657
31678
 
@@ -31672,8 +31693,8 @@ var trackFeature = function trackFeature(arg) {
31672
31693
  /**
31673
31694
  * Get or set the duration.
31674
31695
  *
31675
- * @param {float|null} [val] If specified, the new duration.
31676
- * @returns {float|null|this} If set, the instance. Otherwise, the current
31696
+ * @param {number|null} [val] If specified, the new duration.
31697
+ * @returns {number|null|this} If set, the instance. Otherwise, the current
31677
31698
  * duration.
31678
31699
  */
31679
31700
 
@@ -32297,11 +32318,12 @@ transform.lookup = function (projection) {
32297
32318
  *
32298
32319
  * @param {string} srcPrj The source projection.
32299
32320
  * @param {string} tgtPrj The destination projection.
32300
- * @param {geoPosition|geoPosition[]|number[]} coordinates An array of
32301
- * coordinate objects. These may be in object or array form, or a flat
32302
- * array.
32303
- * @param {number} numberOfComponents For flat arrays, either 2 or 3.
32304
- * @returns {geoPosition|geoPosition[]|number[]} The transformed coordinates.
32321
+ * @param {geo.geoPosition|geo.geoPosition[]|number[]} coordinates An array of
32322
+ * coordinate objects. These may be in object or array form, or a flat
32323
+ * array.
32324
+ * @param {number} [numberOfComponents] For flat arrays, either 2 or 3.
32325
+ * @returns {geo.geoPosition|geo.geoPosition[]|number[]} The transformed
32326
+ * coordinates.
32305
32327
  */
32306
32328
 
32307
32329
 
@@ -32390,10 +32412,10 @@ transform.transformCoordinates = function (srcPrj, tgtPrj, coordinates, numberOf
32390
32412
  * components per coordinate. The array is modified in place.
32391
32413
  *
32392
32414
  * @param {transform} trans The transformation object.
32393
- * @param {geoPosition[]|number[]} coordinates An array of coordinate
32415
+ * @param {geo.geoPosition[]|number[]} coordinates An array of coordinate
32394
32416
  * objects or a flat array.
32395
32417
  * @param {number} numberOfComponents For flat arrays, either 2 or 3.
32396
- * @returns {geoPosition[]|number[]} The transformed coordinates
32418
+ * @returns {geo.geoPosition[]|number[]} The transformed coordinates
32397
32419
  */
32398
32420
 
32399
32421
 
@@ -32715,8 +32737,6 @@ transform.affineInverse = function (def, coords) {
32715
32737
  * @param {object} [ellipsoid=proj4.WGS84] An object with at least `a` and one
32716
32738
  * of `b`, `f`, or `rf` (1 / `f`) -- this works with proj4 ellipsoid
32717
32739
  * definitions.
32718
- * @param {number} [maxIterations=100] Maximum number of iterations to use
32719
- * to test convergence.
32720
32740
  * @returns {number} The distance in meters (or whatever units the ellipsoid
32721
32741
  * was specified in.
32722
32742
  */
@@ -32854,7 +32874,7 @@ module.exports = transform;
32854
32874
  /***/ }),
32855
32875
 
32856
32876
  /***/ 3762:
32857
- /***/ (function() {
32877
+ /***/ (function(module) {
32858
32878
 
32859
32879
  /*
32860
32880
  * Type definitions for jsdoc.
@@ -33092,6 +33112,7 @@ module.exports = transform;
33092
33112
  *
33093
33113
  * @typedef {geo.polygonFlat|geo.polygonObject} geo.polygon
33094
33114
  */
33115
+ module.exports = {};
33095
33116
 
33096
33117
  /***/ }),
33097
33118
 
@@ -34647,7 +34668,7 @@ var sliderWidget = function sliderWidget(arg) {
34647
34668
  * Respond to a mouse event on the widget.
34648
34669
  *
34649
34670
  * @param {d3Event} evt The event on the widget.
34650
- * @param {boolean} trans Truthy for an animated transition.
34671
+ * @param {boolean} [trans] Truthy for an animated transition.
34651
34672
  */
34652
34673
 
34653
34674
  function respond(evt, trans) {
@@ -35268,7 +35289,7 @@ var $ = __webpack_require__(5638);
35268
35289
  *
35269
35290
  * @param {geo.util.ClusterGroup} group The source cluster group
35270
35291
  * @param {number} zoom The zoom level of the current node
35271
- * @param {object[]} children An array of ClusterTrees or point objects
35292
+ * @param {object[]} [children] An array of ClusterTrees or point objects
35272
35293
  */
35273
35294
 
35274
35295
 
@@ -35402,8 +35423,8 @@ ClusterTree.prototype.coords = function () {
35402
35423
  * @class
35403
35424
  * @alias geo.util.ClusterGroup
35404
35425
  * @param {object} opts An options object
35405
- * @param {number} maxZoom The maximum zoom level to calculate.
35406
- * @param {number} radius Size of clustering at zoom 0 in point gcs.
35426
+ * @param {number} [opts.maxZoom] The maximum zoom level to calculate.
35427
+ * @param {number} [opts.radius] Size of clustering at zoom 0 in point gcs.
35407
35428
  */
35408
35429
 
35409
35430
 
@@ -35605,7 +35626,7 @@ var colorName = __webpack_require__(9552);
35605
35626
  /**
35606
35627
  * @typedef {object} geo.util.cssColorConversionRecord
35607
35628
  * @property {string} name The name of the color conversion.
35608
- * @property {RegEx} regex A regex that, if it matches the color string, will
35629
+ * @property {RegExp} regex A regex that, if it matches the color string, will
35609
35630
  * cause the process function to be invoked.
35610
35631
  * @property {function} process A function that takes (`color`, `match`) with
35611
35632
  * the original color string and the results of matching the regex using
@@ -36065,7 +36086,7 @@ var util = {
36065
36086
  * Check if an object an HTMLVideoElement element that is loaded.
36066
36087
  *
36067
36088
  * @param {object} vid An object that might be an HTMLVideoElement.
36068
- * @param {boolean} [allowFailedVideo] If `true`, an viedo element that has
36089
+ * @param {boolean} [allowFailedVideo] If `true`, an video element that has
36069
36090
  * a source and has failed to load is also considered 'ready' in the
36070
36091
  * sense that it isn't expected to change to a better state.
36071
36092
  * @returns {boolean} `true` if this is a video that is ready.
@@ -36455,7 +36476,7 @@ var util = {
36455
36476
  * var map = geo.map($.extend(results.map, {clampZoom: false}));
36456
36477
  * map.createLayer('osm', results.layer);
36457
36478
  *
36458
- * @param {string} [node] DOM selector for the map container.
36479
+ * @param {string?} node DOM selector for the map container.
36459
36480
  * @param {number} width Width of the whole map contents in pixels.
36460
36481
  * @param {number} height Height of the whole map contents in pixels.
36461
36482
  * @param {number} [tileWidth] If an osm or tile layer is going to be used,
@@ -36729,7 +36750,7 @@ var util = {
36729
36750
  /**
36730
36751
  * Determine if two line segments cross. They are not considered crossing if
36731
36752
  * they share a vertex. They are crossing if either of one segment's
36732
- * vertices are colinear with the other segment.
36753
+ * vertices are collinear with the other segment.
36733
36754
  *
36734
36755
  * @param {geo.geoPosition} seg1pt1 One endpoint of the first segment.
36735
36756
  * @param {geo.geoPosition} seg1pt2 The other endpoint of the first segment.
@@ -36751,7 +36772,7 @@ var util = {
36751
36772
  }
36752
36773
  /* If the lines cross, the signed area of the triangles formed between one
36753
36774
  * segment and the other's vertices will have different signs. By using
36754
- * > 0, colinear points are crossing. */
36775
+ * > 0, collinear points are crossing. */
36755
36776
 
36756
36777
 
36757
36778
  if (util.triangleTwiceSignedArea2d(seg1pt1, seg1pt2, seg2pt1) * util.triangleTwiceSignedArea2d(seg1pt1, seg1pt2, seg2pt2) > 0 || util.triangleTwiceSignedArea2d(seg2pt1, seg2pt2, seg1pt1) * util.triangleTwiceSignedArea2d(seg2pt1, seg2pt2, seg1pt2) > 0) {
@@ -36798,7 +36819,7 @@ var util = {
36798
36819
  * @param {geo.geoPosition[]} pts A list of points forming the line or
36799
36820
  * polygon.
36800
36821
  * @param {number} tolerance The maximum variation allowed. A value of zero
36801
- * will only remove perfectly colinear points.
36822
+ * will only remove perfectly collinear points.
36802
36823
  * @param {boolean} [closed] If true, this is a polygon rather than an open
36803
36824
  * line. In this case, it is possible to get back a single point.
36804
36825
  * @param {Array.<geo.geoPosition[]>?} [noCrossLines] A falsy value to allow
@@ -36958,7 +36979,7 @@ var util = {
36958
36979
  */
36959
36980
  escapeUnicodeHTML: function escapeUnicodeHTML(text) {
36960
36981
  return text.replace(/./g, function (k) {
36961
- var code = k.charCodeAt();
36982
+ var code = k.charCodeAt(0);
36962
36983
 
36963
36984
  if (code < 127) {
36964
36985
  return k;
@@ -37025,7 +37046,7 @@ var util = {
37025
37046
  * stored as local base64 urls.
37026
37047
  *
37027
37048
  * @param {string} css The css to parse for urls.
37028
- * @param {jQuery.selector|DOMElement} styleElem The element that receivs
37049
+ * @param {jQuery.selector|HTMLElement} styleElem The element that receives
37029
37050
  * the css text after dereferencing or the DOM element that has style
37030
37051
  * that will be updated.
37031
37052
  * @param {jQuery.Deferred} styleDefer A Deferred to resolve once
@@ -38132,7 +38153,7 @@ module.exports.restoreWebglRenderer = function () {
38132
38153
  * unspecified, callback will be executed one final time after the last
38133
38154
  * throttled-function call. (After the throttled-function has not been
38134
38155
  * called for `delay` milliseconds, the internal counter is reset)
38135
- * @param {function} callback A function to be executed after `delay`
38156
+ * @param {function} [callback] A function to be executed after `delay`
38136
38157
  * milliseconds. The `this` context and all arguments are passed through,
38137
38158
  * as-is, to `callback` when the throttled-function is executed.
38138
38159
  * @param {function} [accumulator] A function to be executed (synchronously)
@@ -38460,7 +38481,7 @@ module.exports = vectorFeature;
38460
38481
  * @constant
38461
38482
  * @type {string}
38462
38483
  */
38463
- module.exports = "1.6.1";
38484
+ module.exports = "1.6.5";
38464
38485
 
38465
38486
  /***/ }),
38466
38487
 
@@ -38613,7 +38634,7 @@ var vtkjs_pointFeature = function vtkjs_pointFeature(arg) {
38613
38634
 
38614
38635
  this._init = function () {
38615
38636
  s_init.call(m_this, arg);
38616
- m_this.renderer().contextRenderer().setLayer(1);
38637
+ m_this.renderer().contextRenderer().setLayer(0);
38617
38638
 
38618
38639
  m_this._createPipeline();
38619
38640
  };
@@ -40288,7 +40309,7 @@ var webgl_markerFeature = function webgl_markerFeature(arg) {
40288
40309
  /**
40289
40310
  * Create and style the data needed to render the markers.
40290
40311
  *
40291
- @param {boolean} onlyStyle if true, use the existing geometry and just
40312
+ @param {boolean} [onlyStyle] if true, use the existing geometry and just
40292
40313
  * recalculate the style.
40293
40314
  */
40294
40315
 
@@ -41208,7 +41229,7 @@ var webgl_pointFeature = function webgl_pointFeature(arg) {
41208
41229
  /**
41209
41230
  * Create and style the data needed to render the points.
41210
41231
  *
41211
- * @param {boolean} onlyStyle if true, use the existing geometry and just
41232
+ * @param {boolean} [onlyStyle] if true, use the existing geometry and just
41212
41233
  * recalculate the style.
41213
41234
  */
41214
41235
 
@@ -43516,6 +43537,8 @@ webglRenderer.supported = function () {
43516
43537
 
43517
43538
  try {
43518
43539
  canvas = document.createElement('canvas');
43540
+ /** @type {WebGLRenderingContext} */
43541
+
43519
43542
  ctx = canvas.getContext('webgl') || canvas.getContext('experimental-webgl');
43520
43543
  /* getSupportExtensions will throw an exception if the context isn't
43521
43544
  * really supported. */
@@ -43752,7 +43775,7 @@ ___CSS_LOADER_EXPORT___.push([module.id, ".geojs-map{position:relative;-webkit-u
43752
43775
 
43753
43776
  var ___CSS_LOADER_EXPORT___ = _node_modules_css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_1___default()((_node_modules_css_loader_dist_runtime_sourceMaps_js__WEBPACK_IMPORTED_MODULE_0___default()));
43754
43777
  // Module
43755
- ___CSS_LOADER_EXPORT___.push([module.id, ".color-legend-container{display:none;padding:10px;border:1.5px solid #000;border-radius:3px;transition:250ms background linear;background-color:rgba(255,255,255,0.75)}.color-legend-container:hover{background-color:#fff}.color-legend-container .geojs-color-legends .geojs-color-legend{margin-bottom:10px}.color-legend-container .geojs-color-legends .geojs-color-legend .geojs-title{text-align:center}.color-legend-container .geojs-color-legends .geojs-color-legend svg.svg{display:block}.color-legend-container .geojs-color-legends .geojs-color-legend svg.svg .axis.x path.domain,.color-legend-container .geojs-color-legends .geojs-color-legend svg.svg .axis.x line{fill:none;stroke:#000;stroke-width:.7}.color-legend-container .geojs-color-legends .geojs-color-legend svg.svg .axis.x text{font-size:12px}.color-legend-container .color-legend-popup{position:absolute;background:#fff;height:22px;font-size:14px;border:solid 1px #000;padding:0 5px;pointer-events:none;white-space:nowrap;z-index:100000;opacity:0}", "",{"version":3,"sources":["webpack://./ui/colorLegendWidget.styl"],"names":[],"mappings":"AAAA,wBACE,YAAQ,CACR,YAAQ,CACR,uBAAO,CACP,iBAAc,CACd,kCAAW,CACX,uCAAiB,CAEjB,8BACE,qBAAiB,CAIjB,iEACE,kBAAc,CAEd,8EACE,iBAAW,CAEb,yEACE,aAAQ,CAGN,mLACE,SAAK,CACL,WAAO,CACP,eAAa,CACf,sFACE,cAAU,CAEpB,4CACE,iBAAS,CACT,eAAW,CACX,WAAO,CACP,cAAU,CACV,qBAAO,CACP,aAAQ,CACR,mBAAe,CACf,kBAAY,CACZ,cAAQ,CACR,SAAQ","sourcesContent":[".color-legend-container\n display none\n padding 10px\n border 1.5px solid black\n border-radius 3px\n transition 250ms background linear\n background-color rgba(255, 255, 255, 0.75)\n\n &:hover\n background-color rgba(255, 255, 255, 1)\n\n .geojs-color-legends\n\n .geojs-color-legend\n margin-bottom 10px\n\n .geojs-title\n text-align center\n\n svg.svg\n display block\n\n .axis.x\n path.domain, line\n fill none\n stroke black\n stroke-width 0.7\n text\n font-size 12px\n \n .color-legend-popup\n position absolute\n background white\n height 22px\n font-size 14px\n border solid 1px black\n padding 0 5px\n pointer-events none\n white-space nowrap\n z-index 100000\n opacity 0\n"],"sourceRoot":""}]);
43778
+ ___CSS_LOADER_EXPORT___.push([module.id, ".color-legend-container{display:none;padding:10px;border:1.5px solid #000;border-radius:3px;transition:250ms background linear;background-color:rgba(255,255,255,0.75)}.color-legend-container:hover{background-color:#fff}.color-legend-container .geojs-color-legends .geojs-color-legend{margin-bottom:10px}.color-legend-container .geojs-color-legends .geojs-color-legend .geojs-title{text-align:center}.color-legend-container .geojs-color-legends .geojs-color-legend svg.svg{display:block}.color-legend-container .geojs-color-legends .geojs-color-legend svg.svg .axis.x path.domain,.color-legend-container .geojs-color-legends .geojs-color-legend svg.svg .axis.x line{fill:none;stroke:#000;stroke-width:.7}.color-legend-container .geojs-color-legends .geojs-color-legend svg.svg .axis.x text{font-size:12px}.color-legend-container .color-legend-popup{position:absolute;background:#fff;height:22px;font-size:14px;border:solid 1px #000;padding:0 5px;pointer-events:none;white-space:nowrap;z-index:100000;opacity:0}", "",{"version":3,"sources":["webpack://./ui/colorLegendWidget.styl"],"names":[],"mappings":"AAAA,wBACE,YAAQ,CACR,YAAQ,CACR,uBAAO,CACP,iBAAc,CACd,kCAAW,CACX,uCAAiB,CAEjB,8BACE,qBAAiB,CAIjB,iEACE,kBAAc,CAEd,8EACE,iBAAW,CAEb,yEACE,aAAQ,CAGN,mLACE,SAAK,CACL,WAAO,CACP,eAAa,CACf,sFACE,cAAU,CAEpB,4CACE,iBAAS,CACT,eAAW,CACX,WAAO,CACP,cAAU,CACV,qBAAO,CACP,aAAQ,CACR,mBAAe,CACf,kBAAY,CACZ,cAAQ,CACR,SAAQ","sourcesContent":[".color-legend-container\n display none\n padding 10px\n border 1.5px solid black\n border-radius 3px\n transition 250ms background linear\n background-color rgba(255, 255, 255, 0.75)\n\n &:hover\n background-color rgba(255, 255, 255, 1)\n\n .geojs-color-legends\n\n .geojs-color-legend\n margin-bottom 10px\n\n .geojs-title\n text-align center\n\n svg.svg\n display block\n\n .axis.x\n path.domain, line\n fill none\n stroke black\n stroke-width 0.7\n text\n font-size 12px\n\n .color-legend-popup\n position absolute\n background white\n height 22px\n font-size 14px\n border solid 1px black\n padding 0 5px\n pointer-events none\n white-space nowrap\n z-index 100000\n opacity 0\n"],"sourceRoot":""}]);
43756
43779
  // Exports
43757
43780
  /* harmony default export */ __webpack_exports__["Z"] = (___CSS_LOADER_EXPORT___);
43758
43781
 
@@ -73865,7 +73888,7 @@ var AFTERQUOTE = 5;
73865
73888
  var ENDED = -1;
73866
73889
  var whitespace = /\s/;
73867
73890
  var latin = /[A-Za-z]/;
73868
- var keyword = /[A-Za-z84]/;
73891
+ var keyword = /[A-Za-z84_]/;
73869
73892
  var endThings = /[,\]]/;
73870
73893
  var digets = /[\d\.E\-\+]/;
73871
73894
  // const ignoredChar = /[\s_\-\/\(\)]/g;
@@ -81724,7 +81747,7 @@ module.exports = "/* quadFeature Color fragment shader */\n\nvarying mediump vec
81724
81747
  /***/ 1899:
81725
81748
  /***/ (function(module) {
81726
81749
 
81727
- module.exports = "/* quadFeature Color vertex shader */\n\nattribute vec3 vertexPosition;\nuniform float zOffset;\nuniform vec3 vertexColor;\nuniform mat4 modelViewMatrix;\nuniform mat4 projectionMatrix;\nvarying mediump vec3 iVertexColor;\n\nvoid main(void) {\n gl_Position = projectionMatrix * modelViewMatrix * vec4(vertexPosition, 1.0);\n gl_Position.z += zOffset;\n iVertexColor = vertexColor;\n}\n\n"
81750
+ module.exports = "/* quadFeature Color vertex shader */\n\nattribute vec3 vertexPosition;\nuniform float zOffset;\nuniform vec3 vertexColor;\nuniform mat4 modelViewMatrix;\nuniform mat4 projectionMatrix;\nvarying mediump vec3 iVertexColor;\n\nvoid main(void) {\n gl_Position = projectionMatrix * modelViewMatrix * vec4(vertexPosition, 1.0);\n gl_Position.z += zOffset;\n iVertexColor = vertexColor;\n}\n"
81728
81751
 
81729
81752
  /***/ }),
81730
81753