geojs 1.9.2 → 1.10.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.github/workflows/main.yml +1 -1
- package/CHANGELOG.md +38 -0
- package/geo.js +315 -42
- package/geo.lean.js +314 -41
- package/geo.lean.min.js +2 -2
- package/geo.min.js +7 -7
- package/package.json +3 -3
- package/src/action.js +3 -5
- package/src/annotation/annotation.js +73 -7
- package/src/annotation/polygonAnnotation.js +11 -0
- package/src/annotationLayer.js +73 -18
- package/src/event.js +28 -0
- package/src/lineFeature.js +6 -3
- package/src/main.styl +11 -0
- package/src/mapInteractor.js +49 -3
- package/src/registry.js +3 -0
- package/src/trackFeature.js +3 -1
- package/src/util/polyops.js +4 -1
- package/src/webgl/lineFeature.js +14 -0
package/geo.lean.js
CHANGED
|
@@ -31,11 +31,9 @@ var geo_action = {
|
|
|
31
31
|
zoom: 'geo_action_zoom',
|
|
32
32
|
zoomrotate: 'geo_action_zoom_rotate',
|
|
33
33
|
zoomselect: 'geo_action_zoomselect',
|
|
34
|
-
// annotation actions
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
annotation_rectangle: 'geo_annotation_rectangle',
|
|
38
|
-
annotation_edit_handle: 'geo_annotation_edit_handle'
|
|
34
|
+
// annotation actions -- some are also added by the registry
|
|
35
|
+
annotation_edit_handle: 'geo_annotation_edit_handle',
|
|
36
|
+
annotation_cursor: 'geo_annotation_cursor'
|
|
39
37
|
};
|
|
40
38
|
module.exports = geo_action;
|
|
41
39
|
|
|
@@ -66,7 +64,8 @@ var annotationState = {
|
|
|
66
64
|
create: 'create',
|
|
67
65
|
done: 'done',
|
|
68
66
|
highlight: 'highlight',
|
|
69
|
-
edit: 'edit'
|
|
67
|
+
edit: 'edit',
|
|
68
|
+
cursor: 'cursor'
|
|
70
69
|
};
|
|
71
70
|
var annotationActionOwner = 'annotationAction';
|
|
72
71
|
/**
|
|
@@ -221,6 +220,18 @@ var annotation = function annotation(type, args) {
|
|
|
221
220
|
this.id = function () {
|
|
222
221
|
return m_id;
|
|
223
222
|
};
|
|
223
|
+
/**
|
|
224
|
+
* Assign a new id to this annotation.
|
|
225
|
+
*
|
|
226
|
+
* @returns {this}
|
|
227
|
+
*/
|
|
228
|
+
|
|
229
|
+
|
|
230
|
+
this.newId = function () {
|
|
231
|
+
annotationId += 1;
|
|
232
|
+
m_id = annotationId;
|
|
233
|
+
return m_this;
|
|
234
|
+
};
|
|
224
235
|
/**
|
|
225
236
|
* Get or set the name of this annotation.
|
|
226
237
|
*
|
|
@@ -399,6 +410,36 @@ var annotation = function annotation(type, args) {
|
|
|
399
410
|
m_layer = arg;
|
|
400
411
|
return m_this;
|
|
401
412
|
};
|
|
413
|
+
|
|
414
|
+
this._cursorHandleMousemove = function (evt) {
|
|
415
|
+
m_this.layer()._handleMouseMoveModifiers(evt);
|
|
416
|
+
|
|
417
|
+
var center = m_this._cursorCenter;
|
|
418
|
+
var delta = {
|
|
419
|
+
x: evt.mapgcs.x - center.x,
|
|
420
|
+
y: evt.mapgcs.y - center.y
|
|
421
|
+
};
|
|
422
|
+
|
|
423
|
+
if (delta.x || delta.y) {
|
|
424
|
+
var curPts = m_this._coordinates();
|
|
425
|
+
|
|
426
|
+
var pts = m_this._coordinatesMapFunc(curPts, function (elem) {
|
|
427
|
+
return {
|
|
428
|
+
x: elem.x + delta.x,
|
|
429
|
+
y: elem.y + delta.y
|
|
430
|
+
};
|
|
431
|
+
});
|
|
432
|
+
|
|
433
|
+
m_this._coordinates(pts);
|
|
434
|
+
|
|
435
|
+
m_this._cursorCenter = evt.mapgcs;
|
|
436
|
+
m_this.modified();
|
|
437
|
+
m_this.draw();
|
|
438
|
+
return true;
|
|
439
|
+
}
|
|
440
|
+
|
|
441
|
+
return false;
|
|
442
|
+
};
|
|
402
443
|
/**
|
|
403
444
|
* Get or set the state of this annotation.
|
|
404
445
|
*
|
|
@@ -423,6 +464,21 @@ var annotation = function annotation(type, args) {
|
|
|
423
464
|
annotation: m_this
|
|
424
465
|
});
|
|
425
466
|
}
|
|
467
|
+
|
|
468
|
+
if (m_this.layer()) {
|
|
469
|
+
m_this.layer().geoOff(geo_event.mousemove, m_this._cursorHandleMousemove);
|
|
470
|
+
}
|
|
471
|
+
|
|
472
|
+
switch (m_state) {
|
|
473
|
+
case annotationState.cursor:
|
|
474
|
+
m_this._cursorCenter = util.centerFromPerimeter(m_this._coordinates());
|
|
475
|
+
|
|
476
|
+
if (m_this.layer()) {
|
|
477
|
+
m_this.layer().geoOn(geo_event.mousemove, m_this._cursorHandleMousemove);
|
|
478
|
+
}
|
|
479
|
+
|
|
480
|
+
break;
|
|
481
|
+
}
|
|
426
482
|
}
|
|
427
483
|
|
|
428
484
|
return m_this;
|
|
@@ -455,6 +511,19 @@ var annotation = function annotation(type, args) {
|
|
|
455
511
|
input: 'pan'
|
|
456
512
|
}];
|
|
457
513
|
|
|
514
|
+
case annotationState.cursor:
|
|
515
|
+
return [{
|
|
516
|
+
action: geo_action.annotation_cursor,
|
|
517
|
+
name: 'annotation cursor',
|
|
518
|
+
owner: annotationActionOwner,
|
|
519
|
+
input: 'pan'
|
|
520
|
+
}, {
|
|
521
|
+
action: geo_action.annotation_cursor,
|
|
522
|
+
name: 'annotation cursor',
|
|
523
|
+
owner: annotationActionOwner,
|
|
524
|
+
input: 'left'
|
|
525
|
+
}];
|
|
526
|
+
|
|
458
527
|
default:
|
|
459
528
|
return [];
|
|
460
529
|
}
|
|
@@ -598,7 +667,7 @@ var annotation = function annotation(type, args) {
|
|
|
598
667
|
/* For style objects, re-extend them without recursion. This allows
|
|
599
668
|
* setting colors without an opacity field, for instance. */
|
|
600
669
|
|
|
601
|
-
['style', 'createStyle', 'editStyle', 'editHandleStyle', 'labelStyle', 'highlightStyle'].forEach(function (key) {
|
|
670
|
+
['style', 'createStyle', 'editStyle', 'editHandleStyle', 'labelStyle', 'highlightStyle', 'cursorStyle'].forEach(function (key) {
|
|
602
671
|
if (arg1[key] !== undefined) {
|
|
603
672
|
$.extend(m_options[key], arg1[key]);
|
|
604
673
|
}
|
|
@@ -653,8 +722,8 @@ var annotation = function annotation(type, args) {
|
|
|
653
722
|
* current style with the values in the specified object.
|
|
654
723
|
* @param {*} [arg2] If `arg1` is a string, the new value for that style.
|
|
655
724
|
* @param {string} [styleType='style'] The name of the style type, such as
|
|
656
|
-
* `createStyle`, `editStyle`, `editHandleStyle`, `labelStyle`,
|
|
657
|
-
* `highlightStyle`.
|
|
725
|
+
* `createStyle`, `editStyle`, `editHandleStyle`, `labelStyle`,
|
|
726
|
+
* `highlightStyle`, or `cursorStyle`.
|
|
658
727
|
* @returns {object|this} Either the entire style object, the value of a
|
|
659
728
|
* specific style, or the current class instance.
|
|
660
729
|
*/
|
|
@@ -713,14 +782,21 @@ var annotation = function annotation(type, args) {
|
|
|
713
782
|
*/
|
|
714
783
|
|
|
715
784
|
/**
|
|
716
|
-
* Calls {@link geo.annotation#style} with `styleType='
|
|
717
|
-
* @function
|
|
785
|
+
* Calls {@link geo.annotation#style} with `styleType='highlightStyle'`.
|
|
786
|
+
* @function highlightStyle
|
|
718
787
|
* @memberof geo.annotation
|
|
719
788
|
* @instance
|
|
720
789
|
*/
|
|
721
790
|
|
|
791
|
+
/**
|
|
792
|
+
* Calls {@link geo.annotation#style} with `styleType='cursorStyle'`.
|
|
793
|
+
* @function cursorStyle
|
|
794
|
+
* @memberof geo.annotation
|
|
795
|
+
* @instance
|
|
796
|
+
*/
|
|
722
797
|
|
|
723
|
-
|
|
798
|
+
|
|
799
|
+
['createStyle', 'editStyle', 'editHandleStyle', 'labelStyle', 'highlightStyle', 'cursorStyle'].forEach(function (styleType) {
|
|
724
800
|
m_this[styleType] = function (arg1, arg2) {
|
|
725
801
|
return m_this.style(arg1, arg2, styleType);
|
|
726
802
|
};
|
|
@@ -746,6 +822,10 @@ var annotation = function annotation(type, args) {
|
|
|
746
822
|
return $.extend({}, m_options.style, m_options.editStyle, m_options[state + 'Style']);
|
|
747
823
|
}
|
|
748
824
|
|
|
825
|
+
if (state === annotationState.cursor) {
|
|
826
|
+
return $.extend({}, m_options.style, m_options.editStyle, m_options.createStyle, m_options[state + 'Style']);
|
|
827
|
+
}
|
|
828
|
+
|
|
749
829
|
return m_options[state + 'Style'] || m_options.style || {};
|
|
750
830
|
};
|
|
751
831
|
/**
|
|
@@ -2654,6 +2734,8 @@ var lineFeature = __webpack_require__(4708);
|
|
|
2654
2734
|
|
|
2655
2735
|
var polygonFeature = __webpack_require__(4343);
|
|
2656
2736
|
|
|
2737
|
+
var util = __webpack_require__(4634);
|
|
2738
|
+
|
|
2657
2739
|
var annotation = (__webpack_require__(5784).annotation);
|
|
2658
2740
|
|
|
2659
2741
|
var annotationState = (__webpack_require__(5784).state);
|
|
@@ -2722,6 +2804,9 @@ var polygonAnnotation = function polygonAnnotation(args) {
|
|
|
2722
2804
|
|
|
2723
2805
|
return m_this.options('vertices')[i];
|
|
2724
2806
|
}
|
|
2807
|
+
},
|
|
2808
|
+
cursorStyle: {
|
|
2809
|
+
position: util.identityFunction
|
|
2725
2810
|
}
|
|
2726
2811
|
}, args);
|
|
2727
2812
|
args.vertices = args.vertices || args.coordinates || [];
|
|
@@ -3061,6 +3146,21 @@ polygonAnnotation.defaults = $.extend({}, annotation.defaults, {
|
|
|
3061
3146
|
b: 1
|
|
3062
3147
|
}
|
|
3063
3148
|
},
|
|
3149
|
+
cursorStyle: {
|
|
3150
|
+
closed: true,
|
|
3151
|
+
fillColor: {
|
|
3152
|
+
r: 0.3,
|
|
3153
|
+
g: 0.3,
|
|
3154
|
+
b: 0.3
|
|
3155
|
+
},
|
|
3156
|
+
fillOpacity: 0.25,
|
|
3157
|
+
stroke: true,
|
|
3158
|
+
strokeColor: {
|
|
3159
|
+
r: 0,
|
|
3160
|
+
g: 0,
|
|
3161
|
+
b: 1
|
|
3162
|
+
}
|
|
3163
|
+
},
|
|
3064
3164
|
allowBooleanOperations: true
|
|
3065
3165
|
});
|
|
3066
3166
|
var polygonRequiredFeatures = {};
|
|
@@ -3725,6 +3825,17 @@ var textFeature = __webpack_require__(9757);
|
|
|
3725
3825
|
* style object.
|
|
3726
3826
|
*/
|
|
3727
3827
|
|
|
3828
|
+
/**
|
|
3829
|
+
* @typedef {geo.util.polyop.spec} geo.util.polyop.annotationLayerSpec
|
|
3830
|
+
* @extends {geo.util.polyop.spec}
|
|
3831
|
+
* @property {string} [keepAnnotations='exact'] Determine which annotations are
|
|
3832
|
+
* present after a boolean operation. `'exact'` replaces modified
|
|
3833
|
+
* annotations with the results; unmodified annotations are left as is.
|
|
3834
|
+
* `'all'` replaces all annotations, so unchanged annotations may be
|
|
3835
|
+
* converted to polygonAnnotations. `'none'` discards all existing
|
|
3836
|
+
* annotations and only keeps modified results.
|
|
3837
|
+
*/
|
|
3838
|
+
|
|
3728
3839
|
/**
|
|
3729
3840
|
* Layer to handle direct interactions with different features. Annotations
|
|
3730
3841
|
* (features) can be created by calling mode(<name of feature>) or cancelled
|
|
@@ -3892,6 +4003,17 @@ var annotationLayer = function annotationLayer(arg) {
|
|
|
3892
4003
|
|
|
3893
4004
|
break;
|
|
3894
4005
|
|
|
4006
|
+
case m_this.modes.cursor:
|
|
4007
|
+
m_this.currentAnnotation._cursorHandleMousemove(evt.mouse);
|
|
4008
|
+
|
|
4009
|
+
update = m_this.currentAnnotation.processAction(evt);
|
|
4010
|
+
m_this.geoTrigger(geo_event.annotation.cursor_action, {
|
|
4011
|
+
annotation: m_this.currentAnnotation,
|
|
4012
|
+
operation: m_this.currentBooleanOperation(),
|
|
4013
|
+
evt: evt
|
|
4014
|
+
});
|
|
4015
|
+
break;
|
|
4016
|
+
|
|
3895
4017
|
default:
|
|
3896
4018
|
update = m_this.currentAnnotation.processAction(evt);
|
|
3897
4019
|
break;
|
|
@@ -3987,7 +4109,7 @@ var annotationLayer = function annotationLayer(arg) {
|
|
|
3987
4109
|
|
|
3988
4110
|
|
|
3989
4111
|
this._handleMouseMoveModifiers = function (evt) {
|
|
3990
|
-
if (m_this.mode() !== m_this.modes.edit && m_this.currentAnnotation.options('allowBooleanOperations') && m_this.currentAnnotation._coordinates().length < 2) {
|
|
4112
|
+
if (m_this.mode() !== m_this.modes.edit && m_this.currentAnnotation.options('allowBooleanOperations') && (m_this.currentAnnotation._coordinates().length < 2 || m_this.mode() === m_this.modes.cursor)) {
|
|
3991
4113
|
if (evt.modifiers) {
|
|
3992
4114
|
var mod = (evt.modifiers.shift ? 's' : '') + (evt.modifiers.ctrl ? 'c' : '') + (evt.modifiers.meta || evt.modifiers.alt ? 'a' : '');
|
|
3993
4115
|
|
|
@@ -4144,6 +4266,14 @@ var annotationLayer = function annotationLayer(arg) {
|
|
|
4144
4266
|
m_this._updateFromEvent(update);
|
|
4145
4267
|
|
|
4146
4268
|
retrigger = !m_this.mode();
|
|
4269
|
+
|
|
4270
|
+
if (m_this.mode() === m_this.modes.cursor) {
|
|
4271
|
+
m_this.geoTrigger(geo_event.annotation.cursor_click, {
|
|
4272
|
+
annotation: m_this.currentAnnotation,
|
|
4273
|
+
operation: m_this.currentBooleanOperation(),
|
|
4274
|
+
evt: evt
|
|
4275
|
+
});
|
|
4276
|
+
}
|
|
4147
4277
|
} else if (!m_this.mode() && !m_this.currentAnnotation && m_this.options('clickToEdit')) {
|
|
4148
4278
|
var highlighted = m_this.annotations().filter(function (ann) {
|
|
4149
4279
|
return ann.state() === geo_annotation.state.highlight;
|
|
@@ -4243,6 +4373,10 @@ var annotationLayer = function annotationLayer(arg) {
|
|
|
4243
4373
|
var pos = $.inArray(annotation, m_annotations);
|
|
4244
4374
|
|
|
4245
4375
|
if (pos < 0) {
|
|
4376
|
+
while (m_this.annotationById(annotation.id())) {
|
|
4377
|
+
annotation.newId();
|
|
4378
|
+
}
|
|
4379
|
+
|
|
4246
4380
|
m_this.geoTrigger(geo_event.annotation.add_before, {
|
|
4247
4381
|
annotation: annotation
|
|
4248
4382
|
});
|
|
@@ -4374,7 +4508,8 @@ var annotationLayer = function annotationLayer(arg) {
|
|
|
4374
4508
|
|
|
4375
4509
|
|
|
4376
4510
|
this.modes = {
|
|
4377
|
-
edit: 'edit'
|
|
4511
|
+
edit: 'edit',
|
|
4512
|
+
cursor: 'cursor'
|
|
4378
4513
|
};
|
|
4379
4514
|
/* Keys are short-hand for preferred event modifiers. Values are classes to
|
|
4380
4515
|
* apply to the map node. */
|
|
@@ -4390,11 +4525,13 @@ var annotationLayer = function annotationLayer(arg) {
|
|
|
4390
4525
|
*
|
|
4391
4526
|
* @param {string|null} [arg] `undefined` to get the current mode, `null` to
|
|
4392
4527
|
* stop creating/editing, `this.modes.edit` (`'edit'`) plus an annotation
|
|
4393
|
-
* to switch to edit mode,
|
|
4394
|
-
*
|
|
4528
|
+
* to switch to edit mode, `this.modes.cursor` plus an annotation to
|
|
4529
|
+
* switch to using the annotation as a cursor, or the name of the type of
|
|
4530
|
+
* annotation to create. Available annotations can listed via
|
|
4395
4531
|
* {@link geo.listAnnotations}.
|
|
4396
|
-
* @param {geo.annotation} [editAnnotation] If `arg === this.modes.edit
|
|
4397
|
-
* this is the annotation that should be
|
|
4532
|
+
* @param {geo.annotation} [editAnnotation] If `arg === this.modes.edit` or
|
|
4533
|
+
* `arg === this.modes.cursor`, this is the annotation that should be
|
|
4534
|
+
* edited or used.
|
|
4398
4535
|
* @param {object} [options] Additional options to pass when creating an
|
|
4399
4536
|
* annotation.
|
|
4400
4537
|
* @returns {string|null|this} The current mode or the layer.
|
|
@@ -4406,13 +4543,13 @@ var annotationLayer = function annotationLayer(arg) {
|
|
|
4406
4543
|
return m_mode;
|
|
4407
4544
|
}
|
|
4408
4545
|
|
|
4409
|
-
if (arg !== m_mode || arg === m_this.modes.edit && editAnnotation !== m_this.editAnnotation || arg !== m_this.modes.edit && arg && !m_this.currentAnnotation) {
|
|
4546
|
+
if (arg !== m_mode || (arg === m_this.modes.edit || arg === m_this.modes.cursor) && editAnnotation !== m_this.editAnnotation || arg !== m_this.modes.edit && arg !== m_this.modes.cursor && arg && !m_this.currentAnnotation) {
|
|
4410
4547
|
var createAnnotation,
|
|
4411
4548
|
actions,
|
|
4412
4549
|
mapNode = m_this.map().node(),
|
|
4413
4550
|
oldMode = m_mode;
|
|
4414
4551
|
m_mode = arg;
|
|
4415
|
-
mapNode.toggleClass('annotation-input', !!(m_mode && m_mode !== m_this.modes.edit));
|
|
4552
|
+
mapNode.toggleClass('annotation-input', !!(m_mode && m_mode !== m_this.modes.edit && m_mode !== m_this.modes.cursor));
|
|
4416
4553
|
|
|
4417
4554
|
if (!m_mode || m_mode === m_this.modes.edit) {
|
|
4418
4555
|
Object.values(m_this._booleanClasses).forEach(function (c) {
|
|
@@ -4444,6 +4581,13 @@ var annotationLayer = function annotationLayer(arg) {
|
|
|
4444
4581
|
m_this.modified();
|
|
4445
4582
|
m_this.draw();
|
|
4446
4583
|
break;
|
|
4584
|
+
|
|
4585
|
+
case geo_annotation.state.cursor:
|
|
4586
|
+
m_this.currentAnnotation.state(geo_annotation.state.done);
|
|
4587
|
+
m_this.modified();
|
|
4588
|
+
m_this.draw();
|
|
4589
|
+
m_this.map().node().toggleClass('annotation-cursor', false);
|
|
4590
|
+
break;
|
|
4447
4591
|
}
|
|
4448
4592
|
|
|
4449
4593
|
m_this.currentAnnotation = null;
|
|
@@ -4453,6 +4597,12 @@ var annotationLayer = function annotationLayer(arg) {
|
|
|
4453
4597
|
m_this.currentAnnotation = editAnnotation;
|
|
4454
4598
|
m_this.currentAnnotation.state(geo_annotation.state.edit);
|
|
4455
4599
|
m_this.modified();
|
|
4600
|
+
} else if (m_mode === m_this.modes.cursor) {
|
|
4601
|
+
m_this.currentAnnotation = editAnnotation;
|
|
4602
|
+
m_this.currentAnnotation.state(geo_annotation.state.cursor);
|
|
4603
|
+
m_this.modified();
|
|
4604
|
+
m_this.map().node().toggleClass('annotation-cursor', true);
|
|
4605
|
+
actions = m_this.currentAnnotation.actions(geo_annotation.state.cursor);
|
|
4456
4606
|
} else if (registry.registries.annotations[m_mode]) {
|
|
4457
4607
|
createAnnotation = registry.registries.annotations[m_mode].func;
|
|
4458
4608
|
}
|
|
@@ -4467,6 +4617,9 @@ var annotationLayer = function annotationLayer(arg) {
|
|
|
4467
4617
|
m_this.currentAnnotation = createAnnotation(options);
|
|
4468
4618
|
m_this.addAnnotation(m_this.currentAnnotation, null);
|
|
4469
4619
|
actions = m_this.currentAnnotation.actions(geo_annotation.state.create);
|
|
4620
|
+
}
|
|
4621
|
+
|
|
4622
|
+
if (actions) {
|
|
4470
4623
|
$.each(actions, function (idx, action) {
|
|
4471
4624
|
m_this.map().interactor().addAction(action);
|
|
4472
4625
|
});
|
|
@@ -4477,7 +4630,7 @@ var annotationLayer = function annotationLayer(arg) {
|
|
|
4477
4630
|
oldMode: oldMode
|
|
4478
4631
|
});
|
|
4479
4632
|
|
|
4480
|
-
if (oldMode === m_this.modes.edit) {
|
|
4633
|
+
if (oldMode === m_this.modes.edit || oldMode === m_this.modes.cursor) {
|
|
4481
4634
|
m_this.modified();
|
|
4482
4635
|
}
|
|
4483
4636
|
}
|
|
@@ -5177,13 +5330,19 @@ var annotationLayer = function annotationLayer(arg) {
|
|
|
5177
5330
|
this.toPolygonList = function (opts) {
|
|
5178
5331
|
var poly = [];
|
|
5179
5332
|
opts = opts || {};
|
|
5180
|
-
|
|
5333
|
+
var indices = [];
|
|
5334
|
+
|
|
5335
|
+
if (!opts.annotationIndices) {
|
|
5336
|
+
opts.annotationIndices = {};
|
|
5337
|
+
}
|
|
5338
|
+
|
|
5339
|
+
opts.annotationIndices[m_this.id()] = indices;
|
|
5181
5340
|
m_annotations.forEach(function (annotation, idx) {
|
|
5182
5341
|
if (annotation.toPolygonList) {
|
|
5183
5342
|
annotation.toPolygonList(opts).forEach(function (p) {
|
|
5184
5343
|
return poly.push(p);
|
|
5185
5344
|
});
|
|
5186
|
-
|
|
5345
|
+
indices.push(idx);
|
|
5187
5346
|
}
|
|
5188
5347
|
});
|
|
5189
5348
|
return poly;
|
|
@@ -5192,8 +5351,8 @@ var annotationLayer = function annotationLayer(arg) {
|
|
|
5192
5351
|
* Replace appropriate annotations with a list of polygons.
|
|
5193
5352
|
*
|
|
5194
5353
|
* @param {geo.polygonList} poly A list of polygons.
|
|
5195
|
-
* @param {geo.util.polyop.
|
|
5196
|
-
* correspondence used to track annotations.
|
|
5354
|
+
* @param {geo.util.polyop.annotationLayerSpec} [opts] This contains
|
|
5355
|
+
* annotationIndices and correspondence used to track annotations.
|
|
5197
5356
|
* @returns {this}
|
|
5198
5357
|
*/
|
|
5199
5358
|
|
|
@@ -5209,16 +5368,17 @@ var annotationLayer = function annotationLayer(arg) {
|
|
|
5209
5368
|
var keepIds = {};
|
|
5210
5369
|
var reusedIds = {};
|
|
5211
5370
|
var correspond, exact, annot;
|
|
5371
|
+
var indices = (opts.annotationIndices || {})[m_this.id()];
|
|
5212
5372
|
|
|
5213
|
-
if (
|
|
5373
|
+
if (indices && opts.correspond && opts.correspond.poly1 && indices.length === opts.correspond.poly1.length) {
|
|
5214
5374
|
correspond = opts.correspond.poly1;
|
|
5215
5375
|
exact = opts.correspond.exact1;
|
|
5216
5376
|
annot = m_this.annotations();
|
|
5217
5377
|
}
|
|
5218
5378
|
|
|
5219
|
-
if (keep !== 'all' && keep !== 'none') {
|
|
5379
|
+
if (keep !== 'all' && keep !== 'none' && annot) {
|
|
5220
5380
|
annot.forEach(function (oldAnnot, idx) {
|
|
5221
|
-
if (
|
|
5381
|
+
if (indices.indexOf(idx) < 0) {
|
|
5222
5382
|
keepIds[oldAnnot.id()] = true;
|
|
5223
5383
|
}
|
|
5224
5384
|
});
|
|
@@ -5245,7 +5405,7 @@ var annotationLayer = function annotationLayer(arg) {
|
|
|
5245
5405
|
for (var i = 0; i < correspond.length; i += 1) {
|
|
5246
5406
|
if (correspond[i] && correspond[i].indexOf(idx) >= 0) {
|
|
5247
5407
|
var _ret = function () {
|
|
5248
|
-
var orig = annot[
|
|
5408
|
+
var orig = annot[indices[i]];
|
|
5249
5409
|
|
|
5250
5410
|
if (keep !== 'all' && keep !== 'none' && exact && exact[i] && exact[i].indexOf(idx) >= 0) {
|
|
5251
5411
|
keepIds[orig.id()] = true;
|
|
@@ -5297,7 +5457,7 @@ var annotationLayer = function annotationLayer(arg) {
|
|
|
5297
5457
|
|
|
5298
5458
|
|
|
5299
5459
|
polyAnnot.forEach(function (p) {
|
|
5300
|
-
m_this.addAnnotation(registry.createAnnotation('polygon', p), m_this.gcs(), false);
|
|
5460
|
+
m_this.addAnnotation(registry.createAnnotation('polygon', p), m_this.map().gcs(), false);
|
|
5301
5461
|
update = true;
|
|
5302
5462
|
});
|
|
5303
5463
|
|
|
@@ -9853,6 +10013,34 @@ geo_event.annotation.mode = 'geo_annotation_mode';
|
|
|
9853
10013
|
*/
|
|
9854
10014
|
|
|
9855
10015
|
geo_event.annotation.boolean = 'geo_annotation_boolean';
|
|
10016
|
+
/**
|
|
10017
|
+
* Triggered when an annotation is in cursor mode and the mouse is clicked.
|
|
10018
|
+
*
|
|
10019
|
+
* @event geo.event.annotation.cursor_click
|
|
10020
|
+
* @type {geo.event.base}
|
|
10021
|
+
* @property {geo.annotation} annotation The annotation that is being operated
|
|
10022
|
+
* on.
|
|
10023
|
+
* @property {string} operation The operation being performed.
|
|
10024
|
+
* @property {boolean} [cancel] If the handle sets this to false, don't apply
|
|
10025
|
+
* the operation to the annotation layer.
|
|
10026
|
+
* @property {object} event The triggering event.
|
|
10027
|
+
*/
|
|
10028
|
+
|
|
10029
|
+
geo_event.annotation.cursor_click = 'geo_annotation_cursor_click';
|
|
10030
|
+
/**
|
|
10031
|
+
* Triggered when an annotation is in cursor mode and an action occurs.
|
|
10032
|
+
*
|
|
10033
|
+
* @event geo.event.annotation.cursor_action
|
|
10034
|
+
* @type {geo.event.base}
|
|
10035
|
+
* @property {geo.annotation} annotation The annotation that is being operated
|
|
10036
|
+
* on.
|
|
10037
|
+
* @property {string} operation The operation being performed.
|
|
10038
|
+
* @property {boolean} [cancel] If the handle sets this to false, don't apply
|
|
10039
|
+
* the operation to the annotation layer.
|
|
10040
|
+
* @property {object} event The triggering event.
|
|
10041
|
+
*/
|
|
10042
|
+
|
|
10043
|
+
geo_event.annotation.cursor_action = 'geo_annotation_cursor_action';
|
|
9856
10044
|
module.exports = geo_event;
|
|
9857
10045
|
|
|
9858
10046
|
/***/ }),
|
|
@@ -15578,9 +15766,12 @@ var util = __webpack_require__(4634);
|
|
|
15578
15766
|
* divided by the sine of half the angle between segments, then a bevel join
|
|
15579
15767
|
* is used instead. This is a single value that applies to all lines. If a
|
|
15580
15768
|
* function, it is called with `(data)`.
|
|
15581
|
-
* @property {boolean|function} [uniformLine=false] Boolean indicating
|
|
15582
|
-
* line has a uniform style (uniform stroke color, opacity, and
|
|
15583
|
-
* vary by line.
|
|
15769
|
+
* @property {boolean|string|function} [uniformLine=false] Boolean indicating
|
|
15770
|
+
* if each line has a uniform style (uniform stroke color, opacity, and
|
|
15771
|
+
* width). Can vary by line. A value of `'drop'` will modify rendered
|
|
15772
|
+
* vertex order by dropping duplicates and setting later values to zero
|
|
15773
|
+
* opacity. This can be faster but makes it so updating the style array
|
|
15774
|
+
* can no longer be used.
|
|
15584
15775
|
* @property {number|function} [antialiasing] Antialiasing distance in pixels.
|
|
15585
15776
|
* Values must be non-negative. A value greater than 1 will produce a
|
|
15586
15777
|
* visible gradient. This is a single value that applies to all lines.
|
|
@@ -19014,8 +19205,8 @@ var Mousetrap = __webpack_require__(3345);
|
|
|
19014
19205
|
* event must occur within this time in milliseconds of the mouse down
|
|
19015
19206
|
* event for it to be considered a click.
|
|
19016
19207
|
* @property {boolean|number} [click.cancelOnMove=true] If true, don't generate
|
|
19017
|
-
* click events if the mouse moved at all. If a positive number, the
|
|
19018
|
-
* at which to cancel click events when the mouse moves.
|
|
19208
|
+
* click events if the mouse moved at all. If a positive number, the
|
|
19209
|
+
* distance at which to cancel click events when the mouse moves.
|
|
19019
19210
|
* @property {object} [keyboard] An object describing which keyboard events are
|
|
19020
19211
|
* handled.
|
|
19021
19212
|
* @property {object} [keyboard.actions] An object with different actions that
|
|
@@ -19028,6 +19219,9 @@ var Mousetrap = __webpack_require__(3345);
|
|
|
19028
19219
|
* an object with keys of the meta keys that are required to be down or
|
|
19029
19220
|
* up for that scale action to trigger. If the value of the meta key is
|
|
19030
19221
|
* truthy, it must be down. If `false`, it must be up.
|
|
19222
|
+
* @property {string[]} [keyboard.metakeyMouseEvents] A list of meta keys
|
|
19223
|
+
* * that, when typed singly, trigger a repeat of the last mousemove or
|
|
19224
|
+
* actionmove event so that listeners can update metakey information.
|
|
19031
19225
|
* @property {boolean} [keyboard.focusHighlight=true] If truthy, when the map
|
|
19032
19226
|
* gains focus, a highlight style is shown around it. This gives an
|
|
19033
19227
|
* indicator that keyboard events will affect the map, but may not be
|
|
@@ -19130,6 +19324,7 @@ var mapInteractor = function mapInteractor(args) {
|
|
|
19130
19324
|
m_boundKeys,
|
|
19131
19325
|
m_touchHandler,
|
|
19132
19326
|
m_state,
|
|
19327
|
+
m_nextStateId = 0,
|
|
19133
19328
|
m_queue,
|
|
19134
19329
|
$node,
|
|
19135
19330
|
m_selectionLayer = null,
|
|
@@ -19327,6 +19522,11 @@ var mapInteractor = function mapInteractor(args) {
|
|
|
19327
19522
|
}
|
|
19328
19523
|
},
|
|
19329
19524
|
|
|
19525
|
+
/* This is a list of meta keys that when typed singly trigger a repeat
|
|
19526
|
+
* of the last mousemove or actionmove event so that listeners can
|
|
19527
|
+
* update metakey information. */
|
|
19528
|
+
metakeyMouseEvents: ['shift', 'ctrl', 'shift+ctrl', 'shift+alt', 'shift+meta'],
|
|
19529
|
+
|
|
19330
19530
|
/* if focusHighlight is truthy, then a class is added to the map such
|
|
19331
19531
|
* that when the map gets focus, it is indicated inside the border of
|
|
19332
19532
|
* the map -- browsers usually show focus on the outside, which isn't
|
|
@@ -19754,6 +19954,43 @@ var mapInteractor = function mapInteractor(args) {
|
|
|
19754
19954
|
m_touchHandler.lastEventType = evtType[2];
|
|
19755
19955
|
}
|
|
19756
19956
|
};
|
|
19957
|
+
/**
|
|
19958
|
+
* Repeat a mousemove or actionmove event with new metakey information.
|
|
19959
|
+
*
|
|
19960
|
+
* @param {event} [evt] A Mousetrap event with the key change.
|
|
19961
|
+
* @fires geo.event.mousemove
|
|
19962
|
+
* @fires geo.event.actionmove
|
|
19963
|
+
*/
|
|
19964
|
+
|
|
19965
|
+
|
|
19966
|
+
this._repeatMouseMoveEvent = function (evt) {
|
|
19967
|
+
if (!m_mouse || !m_mouse.modifiers) {
|
|
19968
|
+
return;
|
|
19969
|
+
}
|
|
19970
|
+
|
|
19971
|
+
var old = {
|
|
19972
|
+
alt: m_mouse.modifiers.alt,
|
|
19973
|
+
ctrl: m_mouse.modifiers.ctrl,
|
|
19974
|
+
meta: m_mouse.modifiers.meta,
|
|
19975
|
+
shift: m_mouse.modifiers.shift
|
|
19976
|
+
};
|
|
19977
|
+
|
|
19978
|
+
m_this._getMouseModifiers(evt);
|
|
19979
|
+
|
|
19980
|
+
if (m_mouse.modifiers.alt === old.alt && m_mouse.modifiers.ctrl === old.ctrl && m_mouse.modifiers.meta === old.meta && m_mouse.modifiers.shift === old.shift) {
|
|
19981
|
+
return;
|
|
19982
|
+
}
|
|
19983
|
+
|
|
19984
|
+
if (m_state.boundDocumentHandlers) {
|
|
19985
|
+
m_this.map().geoTrigger(geo_event.actionmove, {
|
|
19986
|
+
state: m_this.state(),
|
|
19987
|
+
mouse: m_this.mouse(),
|
|
19988
|
+
event: evt
|
|
19989
|
+
});
|
|
19990
|
+
} else {
|
|
19991
|
+
m_this.map().geoTrigger(geo_event.mousemove, m_this.mouse());
|
|
19992
|
+
}
|
|
19993
|
+
};
|
|
19757
19994
|
/**
|
|
19758
19995
|
* Retrigger a mouse movement with the current mouse state.
|
|
19759
19996
|
* @fires geo.event.mousemove
|
|
@@ -19822,6 +20059,14 @@ var mapInteractor = function mapInteractor(args) {
|
|
|
19822
20059
|
}
|
|
19823
20060
|
}
|
|
19824
20061
|
|
|
20062
|
+
if (m_options.keyboard.metakeyMouseEvents) {
|
|
20063
|
+
m_options.keyboard.metakeyMouseEvents.forEach(function (meta) {
|
|
20064
|
+
m_keyHandler.bind(meta, m_this._repeatMouseMoveEvent, 'keydown');
|
|
20065
|
+
m_keyHandler.bind(meta, m_this._repeatMouseMoveEvent, 'keyup');
|
|
20066
|
+
bound.push(meta);
|
|
20067
|
+
});
|
|
20068
|
+
}
|
|
20069
|
+
|
|
19825
20070
|
m_boundKeys = bound;
|
|
19826
20071
|
}
|
|
19827
20072
|
|
|
@@ -20236,6 +20481,7 @@ var mapInteractor = function mapInteractor(args) {
|
|
|
20236
20481
|
kind: 'move'
|
|
20237
20482
|
}; // store the state object
|
|
20238
20483
|
|
|
20484
|
+
m_nextStateId += 1;
|
|
20239
20485
|
m_state = {
|
|
20240
20486
|
action: action,
|
|
20241
20487
|
actionRecord: actionRecord,
|
|
@@ -20243,6 +20489,7 @@ var mapInteractor = function mapInteractor(args) {
|
|
|
20243
20489
|
initialZoom: map.zoom(),
|
|
20244
20490
|
initialRotation: map.rotation(),
|
|
20245
20491
|
initialEventRotation: evt.rotation,
|
|
20492
|
+
stateId: m_nextStateId,
|
|
20246
20493
|
delta: {
|
|
20247
20494
|
x: 0,
|
|
20248
20495
|
y: 0
|
|
@@ -21370,7 +21617,7 @@ var mapInteractor = function mapInteractor(args) {
|
|
|
21370
21617
|
preventDefault: function preventDefault() {},
|
|
21371
21618
|
simulated: true
|
|
21372
21619
|
};
|
|
21373
|
-
m_keyHandler.trigger(keys);
|
|
21620
|
+
m_keyHandler.trigger(keys, options.event);
|
|
21374
21621
|
return;
|
|
21375
21622
|
}
|
|
21376
21623
|
|
|
@@ -26589,6 +26836,8 @@ module.exports = quadFeature;
|
|
|
26589
26836
|
|
|
26590
26837
|
var $ = __webpack_require__(5638);
|
|
26591
26838
|
|
|
26839
|
+
var geo_action = __webpack_require__(7839);
|
|
26840
|
+
|
|
26592
26841
|
var widgets = {
|
|
26593
26842
|
dom: {}
|
|
26594
26843
|
};
|
|
@@ -27047,6 +27296,7 @@ util.registerAnnotation = function (name, func, features) {
|
|
|
27047
27296
|
func: func,
|
|
27048
27297
|
features: features || {}
|
|
27049
27298
|
};
|
|
27299
|
+
geo_action['annotation_' + name] = 'geo_annotation_' + name;
|
|
27050
27300
|
return old;
|
|
27051
27301
|
};
|
|
27052
27302
|
/**
|
|
@@ -27563,7 +27813,7 @@ module.exports = sceneObject;
|
|
|
27563
27813
|
* @constant
|
|
27564
27814
|
* @type {string}
|
|
27565
27815
|
*/
|
|
27566
|
-
module.exports = "
|
|
27816
|
+
module.exports = "4deaf9194bd7164462cae2b89ec30e85ead7ff6e";
|
|
27567
27817
|
|
|
27568
27818
|
/***/ }),
|
|
27569
27819
|
|
|
@@ -33441,7 +33691,9 @@ var trackFeature = function trackFeature(arg) {
|
|
|
33441
33691
|
position: util.identityFunction,
|
|
33442
33692
|
time: function time(d, i) {
|
|
33443
33693
|
return d.t !== undefined ? d.t : i;
|
|
33444
|
-
}
|
|
33694
|
+
},
|
|
33695
|
+
uniformLine: 'drop',
|
|
33696
|
+
closed: false
|
|
33445
33697
|
}, arg.style === undefined ? {} : arg.style);
|
|
33446
33698
|
var markerStyle = $.extend(true, {}, {
|
|
33447
33699
|
rotateWithMap: true,
|
|
@@ -40155,6 +40407,7 @@ function generateCorrespondence(poly1, poly2, newpoly, results) {
|
|
|
40155
40407
|
results[ekey] = Array(poly.length);
|
|
40156
40408
|
poly.forEach(function (p, idx) {
|
|
40157
40409
|
var found = {};
|
|
40410
|
+
var missed = 0;
|
|
40158
40411
|
p.forEach(function (h) {
|
|
40159
40412
|
return h.forEach(function (pt) {
|
|
40160
40413
|
var key = '_' + pt[0] + '_' + pt[1];
|
|
@@ -40163,11 +40416,13 @@ function generateCorrespondence(poly1, poly2, newpoly, results) {
|
|
|
40163
40416
|
pts[key].forEach(function (val) {
|
|
40164
40417
|
found[val] = (found[val] || 0) + 1;
|
|
40165
40418
|
});
|
|
40419
|
+
} else {
|
|
40420
|
+
missed += 1;
|
|
40166
40421
|
}
|
|
40167
40422
|
});
|
|
40168
40423
|
});
|
|
40169
40424
|
Object.keys(found).forEach(function (nidx) {
|
|
40170
|
-
if (found[nidx] === counts[+nidx]) {
|
|
40425
|
+
if (found[nidx] === counts[+nidx] && !missed && p.length === newpoly[+nidx].length) {
|
|
40171
40426
|
if (!results[ekey][idx]) {
|
|
40172
40427
|
results[ekey][idx] = [];
|
|
40173
40428
|
}
|
|
@@ -40683,7 +40938,7 @@ module.exports = vectorFeature;
|
|
|
40683
40938
|
* @constant
|
|
40684
40939
|
* @type {string}
|
|
40685
40940
|
*/
|
|
40686
|
-
module.exports = "1.
|
|
40941
|
+
module.exports = "1.10.0";
|
|
40687
40942
|
|
|
40688
40943
|
/***/ }),
|
|
40689
40944
|
|
|
@@ -42082,6 +42337,7 @@ var webgl_lineFeature = function webgl_lineFeature(arg) {
|
|
|
42082
42337
|
closedVal = closed[i];
|
|
42083
42338
|
firstPosIdx3 = posIdx3;
|
|
42084
42339
|
maxj = lineItem.length + (closedVal === 2 ? 1 : 0);
|
|
42340
|
+
var skipped = 0;
|
|
42085
42341
|
|
|
42086
42342
|
for (j = 0; j < maxj; j += 1, posIdx3 += 3) {
|
|
42087
42343
|
lidx = j;
|
|
@@ -42148,9 +42404,20 @@ var webgl_lineFeature = function webgl_lineFeature(arg) {
|
|
|
42148
42404
|
}
|
|
42149
42405
|
|
|
42150
42406
|
if (j) {
|
|
42407
|
+
if (uniform === 'drop' && j > 1 && position[vert[0].pos] === position[vert[1].pos] && position[vert[0].pos + 1] === position[vert[1].pos + 1]) {
|
|
42408
|
+
skipped += 1;
|
|
42409
|
+
continue;
|
|
42410
|
+
}
|
|
42151
42411
|
/* zero out the z position. This can be changed if we handle it in
|
|
42152
42412
|
* the shader. */
|
|
42413
|
+
|
|
42414
|
+
|
|
42153
42415
|
for (k = 0; k < orderLen; k += 1, dest += 1, dest3 += 3) {
|
|
42416
|
+
if (uniform === 'drop' && vert[0].strokeOpacity <= 0 && vert[1].strokeOpacity <= 0) {
|
|
42417
|
+
strokeOpacityBuf[dest] = -1;
|
|
42418
|
+
continue;
|
|
42419
|
+
}
|
|
42420
|
+
|
|
42154
42421
|
orderk0 = order[k][0];
|
|
42155
42422
|
v1 = vert[orderk0];
|
|
42156
42423
|
v2 = vert[1 - orderk0];
|
|
@@ -42193,6 +42460,12 @@ var webgl_lineFeature = function webgl_lineFeature(arg) {
|
|
|
42193
42460
|
}
|
|
42194
42461
|
}
|
|
42195
42462
|
}
|
|
42463
|
+
|
|
42464
|
+
if (skipped) {
|
|
42465
|
+
for (k = 0; k < skipped * orderLen; k += 1, dest += 1, dest3 += 3) {
|
|
42466
|
+
strokeOpacityBuf[dest] = -1;
|
|
42467
|
+
}
|
|
42468
|
+
}
|
|
42196
42469
|
}
|
|
42197
42470
|
|
|
42198
42471
|
if (!onlyStyle) {
|
|
@@ -46432,7 +46705,7 @@ var ___CSS_LOADER_URL_REPLACEMENT_1___ = _node_modules_css_loader_dist_runtime_g
|
|
|
46432
46705
|
var ___CSS_LOADER_URL_REPLACEMENT_2___ = _node_modules_css_loader_dist_runtime_getUrl_js__WEBPACK_IMPORTED_MODULE_2___default()(___CSS_LOADER_URL_IMPORT_2___);
|
|
46433
46706
|
var ___CSS_LOADER_URL_REPLACEMENT_3___ = _node_modules_css_loader_dist_runtime_getUrl_js__WEBPACK_IMPORTED_MODULE_2___default()(___CSS_LOADER_URL_IMPORT_3___);
|
|
46434
46707
|
// Module
|
|
46435
|
-
___CSS_LOADER_EXPORT___.push([module.id, ".geojs-map{position:relative;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;overflow:hidden}.geojs-map .geo-attribution{position:absolute;right:0;bottom:0;padding-right:5px;cursor:auto;font:11px/1.5 \"Helvetica Neue\",Arial,Helvetica,sans-serif;z-index:1001;background:rgba(255,255,255,0.7);clear:both;display:block;pointer-events:auto}.geojs-map .geo-attribution .geo-attribution-layer{padding-left:5px}.geojs-map .canvas-canvas{display:block;-webkit-transform-origin:0 0;-moz-transform-origin:0 0;-o-transform-origin:0 0;-ms-transform-origin:0 0;transform-origin:0 0}.geojs-map .webgl-canvas{display:block}.geojs-map .geojs-layer{position:absolute;width:100%;height:100%;left:0;top:0;pointer-events:none}.geojs-map .geojs-layer.active:not(.hidden) > *{pointer-events:auto}.geojs-map .geojs-layer.hidden{display:none}.geojs-map .geojs-layer.hidden[renderer=\"webgl\"]{display:inherit}.geojs-map .geo-tile-layer{-webkit-transform-origin:0 0;-moz-transform-origin:0 0;-o-transform-origin:0 0;-ms-transform-origin:0 0;transform-origin:0 0;line-height:0;font-size:0}.geojs-map.annotation-input{cursor:crosshair}.geojs-map.annotation-input.annotation-intersect{cursor:url(" + ___CSS_LOADER_URL_REPLACEMENT_0___ + ") 12 12,crosshair}.geojs-map.annotation-input.annotation-difference{cursor:url(" + ___CSS_LOADER_URL_REPLACEMENT_1___ + ") 12 12,crosshair}.geojs-map.annotation-input.annotation-union{cursor:url(" + ___CSS_LOADER_URL_REPLACEMENT_2___ + ") 12 12,crosshair}.geojs-map.annotation-input.annotation-xor{cursor:url(" + ___CSS_LOADER_URL_REPLACEMENT_3___ + ") 12 12,crosshair}.geojs-map.highlight-focus:after{content:\"\";display:block;position:absolute;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box;left:0;top:0;right:0;bottom:0;border:3px solid Highlight;opacity:1;-ms-filter:none;filter:none;-webkit-transition:opacity 0s;-moz-transition:opacity 0s;-o-transition:opacity 0s;-ms-transition:opacity 0s;transition:opacity 0s;visibility:hidden}.geojs-map.highlight-focus:focus:after{visibility:visible;-webkit-transition:opacity 2.5s ease-in;-moz-transition:opacity 2.5s ease-in;-o-transition:opacity 2.5s ease-in;-ms-transition:opacity 2.5s ease-in;transition:opacity 2.5s ease-in;opacity:0;-ms-filter:\"progid:DXImageTransform.Microsoft.Alpha(Opacity=0)\";filter:alpha(opacity=0)}.geo-tile-container{position:absolute}.geo-tile-container.crop{overflow:hidden}", "",{"version":3,"sources":["webpack://./main.styl","webpack://./../node_modules/nib/lib/nib/vendor.styl","webpack://./../node_modules/nib/lib/nib/overflow.styl","webpack://./../node_modules/nib/lib/nib/flex.styl","webpack://./../node_modules/nib/lib/nib/border.styl"],"names":[],"mappings":"AAEA,WACE,iBAAS,CCwCO,wBAAG,CAAH,qBAAG,CAAH,oBAAG,CARN,gBAAG,CChBd,eAAU,CFZZ,4BACE,iBAAS,CACT,OAAM,CACN,QAAO,CACP,iBAAc,CC4ed,WAAO,CD1eP,yDAA8B,CAC9B,YAAQ,CC6dR,gCAAW,CD3dX,UAAM,CGMN,aAAS,CHJT,mBAAe,CAEf,mDACE,gBAAa,CAEjB,0BGDE,aAAS,CFqBK,4BAAG,CAAH,yBAAG,CAAH,uBAAG,CAAH,wBAAG,CARN,oBAAG,CDThB,yBGJE,aAAS,CHOX,wBACE,iBAAS,CACT,UAAM,CACN,WAAO,CACP,MAAK,CACL,KAAI,CACJ,mBAAe,CAEb,gDACE,mBAAe,CACnB,+BGjBA,YAAS,CHmBT,iDGnBA,eAAS,CHsBX,2BCDgB,4BAAG,CAAH,yBAAG,CAAH,uBAAG,CAAH,wBAAG,CARN,oBAAG,CDWd,aAAY,CACZ,WAAU,CAEZ,4BCscE,gBAAO,CDpcP,iDCocA,8DAAO,CDlcP,kDCkcA,8DAAO,CDhcP,6CCgcA,8DAAO,CD9bP,2CC8bA,8DAAO,CD1bP,iCACE,UAAQ,CGxCV,aAAS,CH0CP,iBAAS,CCrBG,6BAAG,CAAH,0BAAG,CARN,qBAAG,CD+BZ,MAAK,CACL,KAAI,CACJ,OAAM,CACN,QAAO,CI5DT,0BAAQ,CH4PV,SAAS,CAQH,eAAY,CACZ,WAAQ,CArOE,6BAAG,CAAH,0BAAG,CAAH,wBAAG,CAAH,yBAAG,CARN,qBAAG,CD0CZ,iBAAW,CACb,uCACE,kBAAW,CCpCC,uCAAG,CAAH,oCAAG,CAAH,kCAAG,CAAH,mCAAG,CARN,+BAAG,CAoOhB,SAAS,CAWH,+DAAyE,CACzE,uBAAiC,CDhMzC,oBACE,iBAAS,CACT,yBEhEE,eAAU","sourcesContent":["@import '~nib/index.styl'\n\n.geojs-map\n position relative\n user-select none\n overflow hidden\n\n .geo-attribution\n position absolute\n right 0\n bottom 0\n padding-right 5px\n cursor auto\n font 11px/1.5 \"Helvetica Neue\", Arial, Helvetica, sans-serif\n z-index 1001\n background rgba(255,255,255,0.7)\n clear both\n display block\n pointer-events auto\n\n .geo-attribution-layer\n padding-left 5px\n\n .canvas-canvas\n display block\n transform-origin 0px 0px\n .webgl-canvas\n display block\n\n .geojs-layer\n position absolute\n width 100%\n height 100%\n left 0\n top 0\n pointer-events none\n &.active:not(.hidden)\n > *\n pointer-events auto\n &.hidden\n display none\n &.hidden[renderer=\"webgl\"]\n display inherit\n\n .geo-tile-layer\n transform-origin 0px 0px\n line-height 0\n font-size 0\n\n &.annotation-input\n cursor crosshair\n &.annotation-intersect\n cursor embedurl(\"./css/cursor-crosshair-intersect.svg\") 12 12,crosshair\n &.annotation-difference\n cursor embedurl(\"./css/cursor-crosshair-difference.svg\") 12 12,crosshair\n &.annotation-union\n cursor embedurl(\"./css/cursor-crosshair-union.svg\") 12 12,crosshair\n &.annotation-xor\n cursor embedurl(\"./css/cursor-crosshair-xor.svg\") 12 12,crosshair\n\n &.highlight-focus\n &:after\n content \"\"\n display block\n position absolute\n box-sizing border-box\n left 0px\n top 0px\n right 0px\n bottom 0px\n // Highlight is technically a css2 color. We may need to specify it\n // explicitly. #3B66A6 seems close\n border 3px solid Highlight\n opacity 1\n transition opacity 0s\n visibility hidden\n &:focus:after\n visibility visible\n transition opacity 2.5s ease-in\n opacity 0\n\n.geo-tile-container\n position absolute\n &.crop\n overflow hidden\n","use('../nodes/vendor-helpers.js')\n@import 'config'\n\n/*\n * Alias \"nowrap\" as \"no-wrap\".\n */\n\nno-wrap = unquote('nowrap')\n\n/*\n * Helper to find out if a given value is a width\n */\n\nis-width(val)\n if auto == val\n return true\n else if val && 'unit' == type(val)\n // Stylus does not short circuit so we need to perform this as a distinct\n // operation to prevent errors\n return '' != unit(val)\n return false\n\n/*\n * Vendor support for the given prop / arguments, optionally specifying the\n * only prefixes to utilize, or those which should be ignored.\n */\n\nvendor(prop, args, only = null, ignore = null, vendor-property = true)\n need_normalize = !vendor-property or prop in ('transition' 'transition-property' 'border-image' 'border-image-slice')\n for prefix in vendor-prefixes\n unless (only and !(prefix in only)) or (ignore and prefix in ignore)\n if official == prefix\n if need_normalize\n {prop}: normalize(prop,('%s' % args))\n else\n {prop}: args\n else\n newprop = prop\n newprop = '-' + prefix + '-' + prop if vendor-property\n\n if need_normalize\n {newprop}: normalize(prop,('%s' % args),prefix)\n else\n {newprop}: args\n/*\n * Vendorize the given value.\n */\n\nvendor-value(arg, only = null, ignore = null)\n prop = current-property[0]\n for prefix in vendor-prefixes\n unless (only and !(prefix in only)) or (ignore and prefix in ignore) or official == prefix\n add-property(prop, '-%s-%s' % (prefix arg))\n arg\n\n/*\n * Vendor \"box-shadow\" support.\n */\n\nbox-shadow()\n vendor('box-shadow', arguments, only: webkit official)\n\n/*\n * Vendor \"user-select\" support.\n */\n\nuser-select()\n vendor('user-select', arguments, only: webkit moz ms official)\n\n/*\n * Vendor \"column-count\" support.\n */\n\ncolumn-count()\n vendor('column-count', arguments, only: webkit moz official)\n\n/*\n * Vendor \"column-gap\" support.\n */\n\ncolumn-gap()\n vendor('column-gap', arguments, only: webkit moz official)\n\n/*\n * Vendor \"column-rule\" support.\n */\n\ncolumn-rule()\n vendor('column-rule', arguments, only: webkit moz official)\n\n/*\n * Vendor \"column-rule-color\" support.\n */\n\ncolumn-rule-color()\n vendor('column-rule-color', arguments, only: webkit moz official)\n\n/*\n * Vendor \"column-rule-width\" support.\n */\n\ncolumn-rule-width()\n vendor('column-rule-width', arguments, only: webkit moz official)\n\n/*\n * Vendor \"column-rule-style\" support.\n */\n\ncolumn-rule-style()\n vendor('column-rule-style', arguments, only: webkit moz official)\n\n/*\n * Vendor \"column-width\" support.\n */\n\ncolumn-width()\n vendor('column-width', arguments, only: webkit moz official)\n\n/*\n * Vendor \"column-span\" support.\n */\n\ncolumn-span()\n vendor('column-span', arguments, only: webkit official)\n\n/*\n * Vendor \"column-fill\" support.\n */\n\ncolumn-fill()\n vendor('column-fill', arguments, only: moz official)\n\n/*\n * Legacy syntax support for background-clip and background-origin\n */\n\nlegacy-bg-values(property, args)\n legacy_args = ()\n importance = unquote('')\n for subargs in args\n for arg in subargs\n if arg in (border-box padding-box content-box)\n arg = unquote('border') if arg == border-box\n arg = unquote('padding') if arg == padding-box\n arg = unquote('content') if arg == content-box\n if arg != '!important'\n push(legacy_args,arg)\n else\n importance = !important\n vendor(property, unquote(join(', ',legacy_args)) importance, only: moz webkit)\n\n/*\n * Vendor \"background-clip\" support.\n */\n\nbackground-clip()\n if arguments[0] == text\n vendor('background-clip', arguments, only: webkit)\n else\n legacy-bg-values('background-clip', arguments)\n background-clip: arguments\n\n/*\n * Vendor \"background-origin\" support.\n */\n\nbackground-origin()\n legacy-bg-values('background-origin', arguments)\n background-origin: arguments\n\n/*\n * Vendor \"transform\" support.\n */\n\ntransform()\n vendor('transform', arguments)\n\n/*\n * Vendor \"transform-origin\" support.\n */\ntransform-origin()\n vendor('transform-origin', arguments)\n\n/*\n * Vendor \"transform-style\" support.\n */\n\ntransform-style()\n vendor('transform-style', arguments)\n\n/*\n * Vendor \"border-image\" support.\n */\n\nborder-image()\n vendor('border-image', arguments, only: webkit moz o official)\n\n/*\n * Vendor \"transition\" support.\n */\n\ntransition()\n vendor('transition', arguments)\n\n/*\n * Vendor \"transition-property\" support.\n */\n\ntransition-property()\n vendor('transition-property', arguments)\n\n/*\n * Vendor \"transition-duration\" support.\n */\n\ntransition-duration()\n vendor('transition-duration', arguments)\n\n/*\n * Vendor \"transition-timing-function\" support.\n */\n\ntransition-timing-function()\n vendor('transition-timing-function', arguments)\n\n/*\n * Vendor \"transition-delay\" support.\n */\n\ntransition-delay()\n vendor('transition-delay', arguments)\n\n/*\n * Vendor \"backface-visibility\" support.\n */\n\nbackface-visibility()\n vendor('backface-visibility', arguments, only: webkit moz ms official)\n\n/*\n * Vendor \"perspective\" support.\n */\n\nperspective()\n if mixin\n vendor('perspective', arguments, only: webkit moz ms official)\n else\n 'perspective(%s)' % arguments\n\n/*\n * Vendor \"perspective-origin\" support.\n */\n\nperspective-origin()\n vendor('perspective-origin', arguments, only: webkit moz ms official)\n\n/*\n * Opacity with conditional IE support.\n */\n\nopacity(n, args...)\n opacity: n args\n if support-for-ie\n if n == inherit or n == initial\n -ms-filter: n args\n filter: n args\n else\n val = round(n * 100)\n if val == 100\n -ms-filter: none args\n filter: none args\n else\n -ms-filter: '\"progid:DXImageTransform.Microsoft.Alpha(Opacity=%s)\"' % val args\n filter: 'alpha(opacity=%s)' % val args\n\n/*\n * Vendor \"text-size-adjust\"\n */\n\ntext-size-adjust()\n vendor('text-size-adjust', arguments)\n\n/*\n * Alias the \"white-space\" property.\n */\n\nwhitespace()\n white-space: arguments\n\n/*\n * Vendor \"box-sizing\" support.\n */\n\nbox-sizing()\n vendor('box-sizing', arguments, only: webkit moz official)\n\n/*\n * Vendor \"box-orient\" support.\n */\n\nbox-orient()\n vendor('box-orient', arguments, only: webkit moz official)\n\n/*\n * Vendor \"box-flex-group\" support.\n */\n\nbox-flex-group()\n vendor('box-flex-group', arguments, only: webkit moz official)\n\n/*\n * Vendor \"box-ordinal-group\" support.\n */\n\nbox-ordinal-group()\n vendor('box-ordinal-group', arguments, only: webkit moz ms official)\n\n\n/*\n * Vendor \"box-align\" support.\n */\n\nbox-align()\n vendor('box-align', arguments, only: webkit moz ms official)\n\n/*\n * Vendor \"box-pack\" support.\n */\n\nbox-pack()\n vendor('box-pack', arguments, only: webkit moz ms official)\n\n/*\n * Vendor \"box-direction\" support.\n */\n\nbox-direction()\n vendor('box-direction', arguments, only: webkit moz ms official)\n\n/*\n * Vendor \"animation\" support.\n */\n\nanimation()\n vendor('animation', arguments)\n\n\n/*\n * Vendor \"animation-name\" support.\n */\n\nanimation-name()\n vendor('animation-name', arguments)\n\n/*\n * Vendor \"animation-duration\" support.\n */\n\nanimation-duration()\n vendor('animation-duration', arguments)\n\n/*\n * Vendor \"animation-delay\" support.\n */\n\nanimation-delay()\n vendor('animation-delay', arguments)\n\n/*\n * Vendor \"animation-direction\" support.\n */\n\nanimation-direction()\n vendor('animation-direction', arguments)\n\n/*\n * Vendor \"animation-iteration-count\" support.\n */\n\nanimation-iteration-count()\n vendor('animation-iteration-count', arguments)\n\n/*\n * Vendor \"animation-timing-function\" support.\n */\n\nanimation-timing-function()\n vendor('animation-timing-function', arguments)\n\n/*\n * Vendor \"animation-play-state\" support.\n */\n\nanimation-play-state()\n vendor('animation-play-state', arguments)\n\n/*\n * Vendor \"animation-fill-mode\" support.\n */\n\nanimation-fill-mode()\n vendor('animation-fill-mode', arguments)\n\n/*\n * Vendor \"hyphens\" support.\n */\n\nhyphens()\n vendor('hyphens', arguments, only: webkit moz ms official)\n\n/*\n * Vendor \"appearance\" support.\n */\n\nappearance()\n vendor('appearance', arguments, only: webkit moz official)\n\n/*\n * Vendor \"tab-size\" support.\n */\n\ntab-size()\n vendor('tab-size', arguments, only: moz o official)\n\n/*\n * Vendor \"overflow-scrolling\" support.\n */\n\noverflow-scrolling()\n vendor('overflow-scrolling', arguments, only: webkit official)\n\n/*\n * Vendor \"text-overflow\" support, , -o- for opera 9.* - 10.*\n */\n\ntext-overflow()\n vendor('text-overflow', arguments, only: official o)\n\n/*\n * Vendor \"text-size-adjust\" support.\n */\ntext-size-adjust()\n vendor('text-size-adjust', arguments, only: official webkit ms)\n\n/*\n * Vendor \"font-smoothing\" support, webkit only.\n */\nfont-smoothing()\n vendor('font-smoothing', arguments, only: webkit)\n\n\n/**\n * Vendor input-placeholder/placeholder support.\n *\n * Examples:\n * // Default syntax\n * body\n * placeholder(color #333, font-weight normal)\n *\n * // The comma is important\n * .placeholder-red\n * placeholder(color red,)\n *\n * // We can pass a function\n * green-placeholder()\n * color green\n * .placeholder-green\n * placeholder(green-placeholder)\n *\n * // We can pass a hash\n * textarea\n * placeholder((font-style italic) (font-weight bold) (padding '4px 10px'))\n */\nplaceholder()\n for v in ':-webkit-input' '-moz' ':-moz' '-ms-input'\n &:{v}-placeholder\n for pair in arguments\n if typeof(pair) == 'function'\n pair()\n else if pair is not null && pair[0] is not null\n {pair[0]}: type(pair[1]) == 'string' ? s(pair[1]) : pair[1]\ninput-placeholder = placeholder\n\n/*\n * Vendor background support (gradients).\n */\n\nbackground()\n if match('-gradient\\(', ''+arguments)\n vendor('background', arguments, vendor-property: false)\n else\n background arguments\n\nbackground-image()\n if match('-gradient\\(', ''+arguments)\n vendor('background-image', arguments, vendor-property: false)\n else\n background-image arguments\n\ncursor()\n if match('-gradient\\(', ''+arguments)\n vendor('cursor', arguments, vendor-property: false)\n else\n cursor arguments\n\nlist-style()\n if match('-gradient\\(', ''+arguments)\n vendor('list-style', arguments, vendor-property: false)\n else\n list-style arguments\n\nlist-style-image()\n if match('-gradient\\(', ''+arguments)\n vendor('list-style-image', arguments, vendor-property: false)\n else\n list-style-image arguments\n","/*\n * Overflow utility. Maps to regular overflow, and adds an ellipsis value.\n *\n * Synopsis:\n *\n * overflow: <type>\n *\n * Examples:\n *\n * overflow: auto\n * overflow: hidden\n * overflow: ellipsis\n *\n */\n\noverflow()\n if arguments[0] == ellipsis\n ellipsis()\n else\n overflow: arguments\n","/*\n * Vendor \"display: flex\" support with fallback to obsolete versions.\n */\n\nflex-version ?= box flex\n\n//\n// 1. Display values\n// - http://www.w3.org/TR/css3-flexbox/#flex-containers\n//\ndisplay(type, args...)\n if flex == type || inline-flex == type\n if box in flex-version\n if flex == type\n display: -ms-flexbox args\n display: vendor-value(box args, only: moz webkit)\n else\n display: -ms-inline-flexbox args\n display: vendor-value(inline-box args, only: moz webkit)\n if flex in flex-version\n display: vendor-value(arguments, only: webkit official) // overwrites old webkit\n else\n display: arguments\n\n/*\n * New syntax for browsers like Google Chrome.\n * Plus a translation to the old syntax, if possible.\n */\n\n\n//\n// 5. Ordering and Orientation\n// - http://www.w3.org/TR/css3-flexbox/#ordering-and-orientation\n//\n-flex-obsolete-direction(direction)\n if box in flex-version\n if row-reverse == direction || column-reverse == direction\n vendor('box-direction', reverse, ignore: ms official)\n\n if row == direction || row-reverse == direction\n vendor('box-orient', horizontal, ignore: ms official)\n else if column == direction || column-reverse == direction\n vendor('box-orient', vertical, ignore: ms official)\n\n-flex-obsolete-wrap(value)\n if box in flex-version\n // WARN: wrap-reverse does not have a box equivalent. This will render in different manners\n // on box vs. flex values.\n if 'wrap' == value || wrap-reverse == value\n vendor('box-lines', multiple, ignore: ms official)\n else if nowrap == value\n vendor('box-lines', single, ignore: ms official)\n\nflex-direction(direction)\n // obsolete\n -flex-obsolete-direction(direction)\n\n // new\n if flex in flex-version\n vendor('flex-direction', arguments, only: webkit ms official)\n\nflex-wrap(value)\n // obsolete\n -flex-obsolete-wrap(value)\n\n if flex in flex-version\n vendor('flex-wrap', arguments, only: webkit ms official)\n\nflex-flow()\n // obsolete\n -flex-obsolete-direction(arguments[0])\n -flex-obsolete-direction(arguments[1])\n -flex-obsolete-wrap(arguments[0])\n -flex-obsolete-wrap(arguments[1])\n\n // new\n if flex in flex-version\n vendor('flex-flow', arguments, only: webkit ms official)\n\n\norder()\n // obsolete\n if box in flex-version\n vendor('box-ordinal-group', arguments, ignore: ms official)\n\n // new\n if flex in flex-version\n vendor('flex-order', arguments, only: ms)\n vendor('order', arguments, only: webkit official)\n\n\n//\n// 7. Flexibility\n// - http://www.w3.org/TR/css3-flexbox/#flexibility\n//\nflex-grow(growth)\n // obsolete\n if box in flex-version\n vendor('box-flex', growth)\n\n // new\n if flex in flex-version\n vendor('flex-grow', arguments, only: webkit official)\n\nflex-basis()\n if flex in flex-version\n vendor('flex-basis', arguments, only: webkit official)\n\nflex-shrink()\n if flex in flex-version\n vendor('flex-shrink', arguments, only: webkit official)\n\nflex(growth)\n\n // obsolete\n if box in flex-version\n shrink = 1\n\n if none == growth || initial == growth\n // Well known values\n shrink = 0 if none == growth\n growth = 0\n else if is-width(growth) == true\n // Basis is defined as the first parameter\n growth = arguments[1] || 0\n shrink = arguments[2] if 3 <= length(arguments)\n else if arguments[1] && is-width(arguments[1]) == false\n // Growth is first and shrink is second\n shrink = arguments[1]\n\n // Since we can't make the distinction between growing and shrinking in the box model, take\n // the one that provides the most flexibility.\n vendor('box-flex', max(growth, shrink), ignore: ms)\n\n // new\n if flex in flex-version\n vendor('flex', arguments, only: webkit ms official)\n\n\n// converts the justification alignment\n-convert-justify(align)\n if flex-start == align\n return start\n else if flex-end == align\n return end\n else if space-around == align\n return distribute\n else if space-between == align\n return justify\n else\n return align\n\n//\n// 8. Alignment\n// - http://www.w3.org/TR/css3-flexbox/#alignment\n//\njustify-content(align)\n // obsolete\n if box in flex-version\n vendor('box-pack', -convert-justify(align), ignore: ms official)\n\n // new\n if flex in flex-version\n vendor('flex-pack', -convert-justify(align), only: ms)\n vendor('justify-content', align, only: webkit official)\n\nalign-content(align)\n // WARN: Obsolete spec does not allow for adjustment here\n if flex in flex-version\n vendor('flex-line-pack', -convert-justify(align), only: ms)\n vendor('align-content', align, only: webkit official)\n\n// converts alignment from 'flex' to normal value\n-convert-alignment(align)\n if flex-start == align\n return start\n else if flex-end == align\n return end\n else\n return align\n\nalign-items(align)\n // obsolete\n if box in flex-version\n vendor('box-align', -convert-alignment(align), ignore: ms official)\n\n // new\n if flex in flex-version\n vendor('flex-align', -convert-alignment(align), only: ms)\n vendor('align-items', arguments, only: webkit official)\n\nalign-self(align)\n // WARN: Obsolete spec does not allow for overriding alignment on individual items.\n if flex in flex-version\n vendor('align-self', align, only: webkit official)\n vendor('flex-item-align', -convert-alignment(align), only: ms)\n","/*\n * border: <color>\n * border: ...\n */\n\nborder(color, args...)\n if color is a 'color'\n border: 1px solid color args\n else\n border: arguments\n"],"sourceRoot":""}]);
|
|
46708
|
+
___CSS_LOADER_EXPORT___.push([module.id, ".geojs-map{position:relative;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;overflow:hidden}.geojs-map .geo-attribution{position:absolute;right:0;bottom:0;padding-right:5px;cursor:auto;font:11px/1.5 \"Helvetica Neue\",Arial,Helvetica,sans-serif;z-index:1001;background:rgba(255,255,255,0.7);clear:both;display:block;pointer-events:auto}.geojs-map .geo-attribution .geo-attribution-layer{padding-left:5px}.geojs-map .canvas-canvas{display:block;-webkit-transform-origin:0 0;-moz-transform-origin:0 0;-o-transform-origin:0 0;-ms-transform-origin:0 0;transform-origin:0 0}.geojs-map .webgl-canvas{display:block}.geojs-map .geojs-layer{position:absolute;width:100%;height:100%;left:0;top:0;pointer-events:none}.geojs-map .geojs-layer.active:not(.hidden) > *{pointer-events:auto}.geojs-map .geojs-layer.hidden{display:none}.geojs-map .geojs-layer.hidden[renderer=\"webgl\"]{display:inherit}.geojs-map .geo-tile-layer{-webkit-transform-origin:0 0;-moz-transform-origin:0 0;-o-transform-origin:0 0;-ms-transform-origin:0 0;transform-origin:0 0;line-height:0;font-size:0}.geojs-map.annotation-input{cursor:crosshair}.geojs-map.annotation-input.annotation-intersect{cursor:url(" + ___CSS_LOADER_URL_REPLACEMENT_0___ + ") 12 12,crosshair}.geojs-map.annotation-input.annotation-difference{cursor:url(" + ___CSS_LOADER_URL_REPLACEMENT_1___ + ") 12 12,crosshair}.geojs-map.annotation-input.annotation-union{cursor:url(" + ___CSS_LOADER_URL_REPLACEMENT_2___ + ") 12 12,crosshair}.geojs-map.annotation-input.annotation-xor{cursor:url(" + ___CSS_LOADER_URL_REPLACEMENT_3___ + ") 12 12,crosshair}.geojs-map.annotation-cursor{cursor:crosshair}.geojs-map.annotation-cursor.annotation-intersect{cursor:url(" + ___CSS_LOADER_URL_REPLACEMENT_0___ + ") 12 12,crosshair}.geojs-map.annotation-cursor.annotation-difference{cursor:url(" + ___CSS_LOADER_URL_REPLACEMENT_1___ + ") 12 12,crosshair}.geojs-map.annotation-cursor.annotation-union{cursor:url(" + ___CSS_LOADER_URL_REPLACEMENT_2___ + ") 12 12,crosshair}.geojs-map.annotation-cursor.annotation-xor{cursor:url(" + ___CSS_LOADER_URL_REPLACEMENT_3___ + ") 12 12,crosshair}.geojs-map.highlight-focus:after{content:\"\";display:block;position:absolute;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box;left:0;top:0;right:0;bottom:0;border:3px solid Highlight;opacity:1;-ms-filter:none;filter:none;-webkit-transition:opacity 0s;-moz-transition:opacity 0s;-o-transition:opacity 0s;-ms-transition:opacity 0s;transition:opacity 0s;visibility:hidden}.geojs-map.highlight-focus:focus:after{visibility:visible;-webkit-transition:opacity 2.5s ease-in;-moz-transition:opacity 2.5s ease-in;-o-transition:opacity 2.5s ease-in;-ms-transition:opacity 2.5s ease-in;transition:opacity 2.5s ease-in;opacity:0;-ms-filter:\"progid:DXImageTransform.Microsoft.Alpha(Opacity=0)\";filter:alpha(opacity=0)}.geo-tile-container{position:absolute}.geo-tile-container.crop{overflow:hidden}", "",{"version":3,"sources":["webpack://./main.styl","webpack://./../node_modules/nib/lib/nib/vendor.styl","webpack://./../node_modules/nib/lib/nib/overflow.styl","webpack://./../node_modules/nib/lib/nib/flex.styl","webpack://./../node_modules/nib/lib/nib/border.styl"],"names":[],"mappings":"AAEA,WACE,iBAAS,CCwCO,wBAAG,CAAH,qBAAG,CAAH,oBAAG,CARN,gBAAG,CChBd,eAAU,CFZZ,4BACE,iBAAS,CACT,OAAM,CACN,QAAO,CACP,iBAAc,CC4ed,WAAO,CD1eP,yDAA8B,CAC9B,YAAQ,CC6dR,gCAAW,CD3dX,UAAM,CGMN,aAAS,CHJT,mBAAe,CAEf,mDACE,gBAAa,CAEjB,0BGDE,aAAS,CFqBK,4BAAG,CAAH,yBAAG,CAAH,uBAAG,CAAH,wBAAG,CARN,oBAAG,CDThB,yBGJE,aAAS,CHOX,wBACE,iBAAS,CACT,UAAM,CACN,WAAO,CACP,MAAK,CACL,KAAI,CACJ,mBAAe,CAEb,gDACE,mBAAe,CACnB,+BGjBA,YAAS,CHmBT,iDGnBA,eAAS,CHsBX,2BCDgB,4BAAG,CAAH,yBAAG,CAAH,uBAAG,CAAH,wBAAG,CARN,oBAAG,CDWd,aAAY,CACZ,WAAU,CAEZ,4BCscE,gBAAO,CDpcP,iDCocA,8DAAO,CDlcP,kDCkcA,8DAAO,CDhcP,6CCgcA,8DAAO,CD9bP,2CC8bA,8DAAO,CD3bT,6BC2bE,gBAAO,CDzbP,kDCybA,8DAAO,CDvbP,mDCubA,8DAAO,CDrbP,8CCqbA,8DAAO,CDnbP,4CCmbA,8DAAO,CD/aP,iCACE,UAAQ,CGnDV,aAAS,CHqDP,iBAAS,CChCG,6BAAG,CAAH,0BAAG,CARN,qBAAG,CD0CZ,MAAK,CACL,KAAI,CACJ,OAAM,CACN,QAAO,CIvET,0BAAQ,CH4PV,SAAS,CAQH,eAAY,CACZ,WAAQ,CArOE,6BAAG,CAAH,0BAAG,CAAH,wBAAG,CAAH,yBAAG,CARN,qBAAG,CDqDZ,iBAAW,CACb,uCACE,kBAAW,CC/CC,uCAAG,CAAH,oCAAG,CAAH,kCAAG,CAAH,mCAAG,CARN,+BAAG,CAoOhB,SAAS,CAWH,+DAAyE,CACzE,uBAAiC,CDrLzC,oBACE,iBAAS,CACT,yBE3EE,eAAU","sourcesContent":["@import '~nib/index.styl'\n\n.geojs-map\n position relative\n user-select none\n overflow hidden\n\n .geo-attribution\n position absolute\n right 0\n bottom 0\n padding-right 5px\n cursor auto\n font 11px/1.5 \"Helvetica Neue\", Arial, Helvetica, sans-serif\n z-index 1001\n background rgba(255,255,255,0.7)\n clear both\n display block\n pointer-events auto\n\n .geo-attribution-layer\n padding-left 5px\n\n .canvas-canvas\n display block\n transform-origin 0px 0px\n .webgl-canvas\n display block\n\n .geojs-layer\n position absolute\n width 100%\n height 100%\n left 0\n top 0\n pointer-events none\n &.active:not(.hidden)\n > *\n pointer-events auto\n &.hidden\n display none\n &.hidden[renderer=\"webgl\"]\n display inherit\n\n .geo-tile-layer\n transform-origin 0px 0px\n line-height 0\n font-size 0\n\n &.annotation-input\n cursor crosshair\n &.annotation-intersect\n cursor embedurl(\"./css/cursor-crosshair-intersect.svg\") 12 12,crosshair\n &.annotation-difference\n cursor embedurl(\"./css/cursor-crosshair-difference.svg\") 12 12,crosshair\n &.annotation-union\n cursor embedurl(\"./css/cursor-crosshair-union.svg\") 12 12,crosshair\n &.annotation-xor\n cursor embedurl(\"./css/cursor-crosshair-xor.svg\") 12 12,crosshair\n\n &.annotation-cursor\n cursor crosshair\n &.annotation-intersect\n cursor embedurl(\"./css/cursor-crosshair-intersect.svg\") 12 12,crosshair\n &.annotation-difference\n cursor embedurl(\"./css/cursor-crosshair-difference.svg\") 12 12,crosshair\n &.annotation-union\n cursor embedurl(\"./css/cursor-crosshair-union.svg\") 12 12,crosshair\n &.annotation-xor\n cursor embedurl(\"./css/cursor-crosshair-xor.svg\") 12 12,crosshair\n\n &.highlight-focus\n &:after\n content \"\"\n display block\n position absolute\n box-sizing border-box\n left 0px\n top 0px\n right 0px\n bottom 0px\n // Highlight is technically a css2 color. We may need to specify it\n // explicitly. #3B66A6 seems close\n border 3px solid Highlight\n opacity 1\n transition opacity 0s\n visibility hidden\n &:focus:after\n visibility visible\n transition opacity 2.5s ease-in\n opacity 0\n\n.geo-tile-container\n position absolute\n &.crop\n overflow hidden\n","use('../nodes/vendor-helpers.js')\n@import 'config'\n\n/*\n * Alias \"nowrap\" as \"no-wrap\".\n */\n\nno-wrap = unquote('nowrap')\n\n/*\n * Helper to find out if a given value is a width\n */\n\nis-width(val)\n if auto == val\n return true\n else if val && 'unit' == type(val)\n // Stylus does not short circuit so we need to perform this as a distinct\n // operation to prevent errors\n return '' != unit(val)\n return false\n\n/*\n * Vendor support for the given prop / arguments, optionally specifying the\n * only prefixes to utilize, or those which should be ignored.\n */\n\nvendor(prop, args, only = null, ignore = null, vendor-property = true)\n need_normalize = !vendor-property or prop in ('transition' 'transition-property' 'border-image' 'border-image-slice')\n for prefix in vendor-prefixes\n unless (only and !(prefix in only)) or (ignore and prefix in ignore)\n if official == prefix\n if need_normalize\n {prop}: normalize(prop,('%s' % args))\n else\n {prop}: args\n else\n newprop = prop\n newprop = '-' + prefix + '-' + prop if vendor-property\n\n if need_normalize\n {newprop}: normalize(prop,('%s' % args),prefix)\n else\n {newprop}: args\n/*\n * Vendorize the given value.\n */\n\nvendor-value(arg, only = null, ignore = null)\n prop = current-property[0]\n for prefix in vendor-prefixes\n unless (only and !(prefix in only)) or (ignore and prefix in ignore) or official == prefix\n add-property(prop, '-%s-%s' % (prefix arg))\n arg\n\n/*\n * Vendor \"box-shadow\" support.\n */\n\nbox-shadow()\n vendor('box-shadow', arguments, only: webkit official)\n\n/*\n * Vendor \"user-select\" support.\n */\n\nuser-select()\n vendor('user-select', arguments, only: webkit moz ms official)\n\n/*\n * Vendor \"column-count\" support.\n */\n\ncolumn-count()\n vendor('column-count', arguments, only: webkit moz official)\n\n/*\n * Vendor \"column-gap\" support.\n */\n\ncolumn-gap()\n vendor('column-gap', arguments, only: webkit moz official)\n\n/*\n * Vendor \"column-rule\" support.\n */\n\ncolumn-rule()\n vendor('column-rule', arguments, only: webkit moz official)\n\n/*\n * Vendor \"column-rule-color\" support.\n */\n\ncolumn-rule-color()\n vendor('column-rule-color', arguments, only: webkit moz official)\n\n/*\n * Vendor \"column-rule-width\" support.\n */\n\ncolumn-rule-width()\n vendor('column-rule-width', arguments, only: webkit moz official)\n\n/*\n * Vendor \"column-rule-style\" support.\n */\n\ncolumn-rule-style()\n vendor('column-rule-style', arguments, only: webkit moz official)\n\n/*\n * Vendor \"column-width\" support.\n */\n\ncolumn-width()\n vendor('column-width', arguments, only: webkit moz official)\n\n/*\n * Vendor \"column-span\" support.\n */\n\ncolumn-span()\n vendor('column-span', arguments, only: webkit official)\n\n/*\n * Vendor \"column-fill\" support.\n */\n\ncolumn-fill()\n vendor('column-fill', arguments, only: moz official)\n\n/*\n * Legacy syntax support for background-clip and background-origin\n */\n\nlegacy-bg-values(property, args)\n legacy_args = ()\n importance = unquote('')\n for subargs in args\n for arg in subargs\n if arg in (border-box padding-box content-box)\n arg = unquote('border') if arg == border-box\n arg = unquote('padding') if arg == padding-box\n arg = unquote('content') if arg == content-box\n if arg != '!important'\n push(legacy_args,arg)\n else\n importance = !important\n vendor(property, unquote(join(', ',legacy_args)) importance, only: moz webkit)\n\n/*\n * Vendor \"background-clip\" support.\n */\n\nbackground-clip()\n if arguments[0] == text\n vendor('background-clip', arguments, only: webkit)\n else\n legacy-bg-values('background-clip', arguments)\n background-clip: arguments\n\n/*\n * Vendor \"background-origin\" support.\n */\n\nbackground-origin()\n legacy-bg-values('background-origin', arguments)\n background-origin: arguments\n\n/*\n * Vendor \"transform\" support.\n */\n\ntransform()\n vendor('transform', arguments)\n\n/*\n * Vendor \"transform-origin\" support.\n */\ntransform-origin()\n vendor('transform-origin', arguments)\n\n/*\n * Vendor \"transform-style\" support.\n */\n\ntransform-style()\n vendor('transform-style', arguments)\n\n/*\n * Vendor \"border-image\" support.\n */\n\nborder-image()\n vendor('border-image', arguments, only: webkit moz o official)\n\n/*\n * Vendor \"transition\" support.\n */\n\ntransition()\n vendor('transition', arguments)\n\n/*\n * Vendor \"transition-property\" support.\n */\n\ntransition-property()\n vendor('transition-property', arguments)\n\n/*\n * Vendor \"transition-duration\" support.\n */\n\ntransition-duration()\n vendor('transition-duration', arguments)\n\n/*\n * Vendor \"transition-timing-function\" support.\n */\n\ntransition-timing-function()\n vendor('transition-timing-function', arguments)\n\n/*\n * Vendor \"transition-delay\" support.\n */\n\ntransition-delay()\n vendor('transition-delay', arguments)\n\n/*\n * Vendor \"backface-visibility\" support.\n */\n\nbackface-visibility()\n vendor('backface-visibility', arguments, only: webkit moz ms official)\n\n/*\n * Vendor \"perspective\" support.\n */\n\nperspective()\n if mixin\n vendor('perspective', arguments, only: webkit moz ms official)\n else\n 'perspective(%s)' % arguments\n\n/*\n * Vendor \"perspective-origin\" support.\n */\n\nperspective-origin()\n vendor('perspective-origin', arguments, only: webkit moz ms official)\n\n/*\n * Opacity with conditional IE support.\n */\n\nopacity(n, args...)\n opacity: n args\n if support-for-ie\n if n == inherit or n == initial\n -ms-filter: n args\n filter: n args\n else\n val = round(n * 100)\n if val == 100\n -ms-filter: none args\n filter: none args\n else\n -ms-filter: '\"progid:DXImageTransform.Microsoft.Alpha(Opacity=%s)\"' % val args\n filter: 'alpha(opacity=%s)' % val args\n\n/*\n * Vendor \"text-size-adjust\"\n */\n\ntext-size-adjust()\n vendor('text-size-adjust', arguments)\n\n/*\n * Alias the \"white-space\" property.\n */\n\nwhitespace()\n white-space: arguments\n\n/*\n * Vendor \"box-sizing\" support.\n */\n\nbox-sizing()\n vendor('box-sizing', arguments, only: webkit moz official)\n\n/*\n * Vendor \"box-orient\" support.\n */\n\nbox-orient()\n vendor('box-orient', arguments, only: webkit moz official)\n\n/*\n * Vendor \"box-flex-group\" support.\n */\n\nbox-flex-group()\n vendor('box-flex-group', arguments, only: webkit moz official)\n\n/*\n * Vendor \"box-ordinal-group\" support.\n */\n\nbox-ordinal-group()\n vendor('box-ordinal-group', arguments, only: webkit moz ms official)\n\n\n/*\n * Vendor \"box-align\" support.\n */\n\nbox-align()\n vendor('box-align', arguments, only: webkit moz ms official)\n\n/*\n * Vendor \"box-pack\" support.\n */\n\nbox-pack()\n vendor('box-pack', arguments, only: webkit moz ms official)\n\n/*\n * Vendor \"box-direction\" support.\n */\n\nbox-direction()\n vendor('box-direction', arguments, only: webkit moz ms official)\n\n/*\n * Vendor \"animation\" support.\n */\n\nanimation()\n vendor('animation', arguments)\n\n\n/*\n * Vendor \"animation-name\" support.\n */\n\nanimation-name()\n vendor('animation-name', arguments)\n\n/*\n * Vendor \"animation-duration\" support.\n */\n\nanimation-duration()\n vendor('animation-duration', arguments)\n\n/*\n * Vendor \"animation-delay\" support.\n */\n\nanimation-delay()\n vendor('animation-delay', arguments)\n\n/*\n * Vendor \"animation-direction\" support.\n */\n\nanimation-direction()\n vendor('animation-direction', arguments)\n\n/*\n * Vendor \"animation-iteration-count\" support.\n */\n\nanimation-iteration-count()\n vendor('animation-iteration-count', arguments)\n\n/*\n * Vendor \"animation-timing-function\" support.\n */\n\nanimation-timing-function()\n vendor('animation-timing-function', arguments)\n\n/*\n * Vendor \"animation-play-state\" support.\n */\n\nanimation-play-state()\n vendor('animation-play-state', arguments)\n\n/*\n * Vendor \"animation-fill-mode\" support.\n */\n\nanimation-fill-mode()\n vendor('animation-fill-mode', arguments)\n\n/*\n * Vendor \"hyphens\" support.\n */\n\nhyphens()\n vendor('hyphens', arguments, only: webkit moz ms official)\n\n/*\n * Vendor \"appearance\" support.\n */\n\nappearance()\n vendor('appearance', arguments, only: webkit moz official)\n\n/*\n * Vendor \"tab-size\" support.\n */\n\ntab-size()\n vendor('tab-size', arguments, only: moz o official)\n\n/*\n * Vendor \"overflow-scrolling\" support.\n */\n\noverflow-scrolling()\n vendor('overflow-scrolling', arguments, only: webkit official)\n\n/*\n * Vendor \"text-overflow\" support, , -o- for opera 9.* - 10.*\n */\n\ntext-overflow()\n vendor('text-overflow', arguments, only: official o)\n\n/*\n * Vendor \"text-size-adjust\" support.\n */\ntext-size-adjust()\n vendor('text-size-adjust', arguments, only: official webkit ms)\n\n/*\n * Vendor \"font-smoothing\" support, webkit only.\n */\nfont-smoothing()\n vendor('font-smoothing', arguments, only: webkit)\n\n\n/**\n * Vendor input-placeholder/placeholder support.\n *\n * Examples:\n * // Default syntax\n * body\n * placeholder(color #333, font-weight normal)\n *\n * // The comma is important\n * .placeholder-red\n * placeholder(color red,)\n *\n * // We can pass a function\n * green-placeholder()\n * color green\n * .placeholder-green\n * placeholder(green-placeholder)\n *\n * // We can pass a hash\n * textarea\n * placeholder((font-style italic) (font-weight bold) (padding '4px 10px'))\n */\nplaceholder()\n for v in ':-webkit-input' '-moz' ':-moz' '-ms-input'\n &:{v}-placeholder\n for pair in arguments\n if typeof(pair) == 'function'\n pair()\n else if pair is not null && pair[0] is not null\n {pair[0]}: type(pair[1]) == 'string' ? s(pair[1]) : pair[1]\ninput-placeholder = placeholder\n\n/*\n * Vendor background support (gradients).\n */\n\nbackground()\n if match('-gradient\\(', ''+arguments)\n vendor('background', arguments, vendor-property: false)\n else\n background arguments\n\nbackground-image()\n if match('-gradient\\(', ''+arguments)\n vendor('background-image', arguments, vendor-property: false)\n else\n background-image arguments\n\ncursor()\n if match('-gradient\\(', ''+arguments)\n vendor('cursor', arguments, vendor-property: false)\n else\n cursor arguments\n\nlist-style()\n if match('-gradient\\(', ''+arguments)\n vendor('list-style', arguments, vendor-property: false)\n else\n list-style arguments\n\nlist-style-image()\n if match('-gradient\\(', ''+arguments)\n vendor('list-style-image', arguments, vendor-property: false)\n else\n list-style-image arguments\n","/*\n * Overflow utility. Maps to regular overflow, and adds an ellipsis value.\n *\n * Synopsis:\n *\n * overflow: <type>\n *\n * Examples:\n *\n * overflow: auto\n * overflow: hidden\n * overflow: ellipsis\n *\n */\n\noverflow()\n if arguments[0] == ellipsis\n ellipsis()\n else\n overflow: arguments\n","/*\n * Vendor \"display: flex\" support with fallback to obsolete versions.\n */\n\nflex-version ?= box flex\n\n//\n// 1. Display values\n// - http://www.w3.org/TR/css3-flexbox/#flex-containers\n//\ndisplay(type, args...)\n if flex == type || inline-flex == type\n if box in flex-version\n if flex == type\n display: -ms-flexbox args\n display: vendor-value(box args, only: moz webkit)\n else\n display: -ms-inline-flexbox args\n display: vendor-value(inline-box args, only: moz webkit)\n if flex in flex-version\n display: vendor-value(arguments, only: webkit official) // overwrites old webkit\n else\n display: arguments\n\n/*\n * New syntax for browsers like Google Chrome.\n * Plus a translation to the old syntax, if possible.\n */\n\n\n//\n// 5. Ordering and Orientation\n// - http://www.w3.org/TR/css3-flexbox/#ordering-and-orientation\n//\n-flex-obsolete-direction(direction)\n if box in flex-version\n if row-reverse == direction || column-reverse == direction\n vendor('box-direction', reverse, ignore: ms official)\n\n if row == direction || row-reverse == direction\n vendor('box-orient', horizontal, ignore: ms official)\n else if column == direction || column-reverse == direction\n vendor('box-orient', vertical, ignore: ms official)\n\n-flex-obsolete-wrap(value)\n if box in flex-version\n // WARN: wrap-reverse does not have a box equivalent. This will render in different manners\n // on box vs. flex values.\n if 'wrap' == value || wrap-reverse == value\n vendor('box-lines', multiple, ignore: ms official)\n else if nowrap == value\n vendor('box-lines', single, ignore: ms official)\n\nflex-direction(direction)\n // obsolete\n -flex-obsolete-direction(direction)\n\n // new\n if flex in flex-version\n vendor('flex-direction', arguments, only: webkit ms official)\n\nflex-wrap(value)\n // obsolete\n -flex-obsolete-wrap(value)\n\n if flex in flex-version\n vendor('flex-wrap', arguments, only: webkit ms official)\n\nflex-flow()\n // obsolete\n -flex-obsolete-direction(arguments[0])\n -flex-obsolete-direction(arguments[1])\n -flex-obsolete-wrap(arguments[0])\n -flex-obsolete-wrap(arguments[1])\n\n // new\n if flex in flex-version\n vendor('flex-flow', arguments, only: webkit ms official)\n\n\norder()\n // obsolete\n if box in flex-version\n vendor('box-ordinal-group', arguments, ignore: ms official)\n\n // new\n if flex in flex-version\n vendor('flex-order', arguments, only: ms)\n vendor('order', arguments, only: webkit official)\n\n\n//\n// 7. Flexibility\n// - http://www.w3.org/TR/css3-flexbox/#flexibility\n//\nflex-grow(growth)\n // obsolete\n if box in flex-version\n vendor('box-flex', growth)\n\n // new\n if flex in flex-version\n vendor('flex-grow', arguments, only: webkit official)\n\nflex-basis()\n if flex in flex-version\n vendor('flex-basis', arguments, only: webkit official)\n\nflex-shrink()\n if flex in flex-version\n vendor('flex-shrink', arguments, only: webkit official)\n\nflex(growth)\n\n // obsolete\n if box in flex-version\n shrink = 1\n\n if none == growth || initial == growth\n // Well known values\n shrink = 0 if none == growth\n growth = 0\n else if is-width(growth) == true\n // Basis is defined as the first parameter\n growth = arguments[1] || 0\n shrink = arguments[2] if 3 <= length(arguments)\n else if arguments[1] && is-width(arguments[1]) == false\n // Growth is first and shrink is second\n shrink = arguments[1]\n\n // Since we can't make the distinction between growing and shrinking in the box model, take\n // the one that provides the most flexibility.\n vendor('box-flex', max(growth, shrink), ignore: ms)\n\n // new\n if flex in flex-version\n vendor('flex', arguments, only: webkit ms official)\n\n\n// converts the justification alignment\n-convert-justify(align)\n if flex-start == align\n return start\n else if flex-end == align\n return end\n else if space-around == align\n return distribute\n else if space-between == align\n return justify\n else\n return align\n\n//\n// 8. Alignment\n// - http://www.w3.org/TR/css3-flexbox/#alignment\n//\njustify-content(align)\n // obsolete\n if box in flex-version\n vendor('box-pack', -convert-justify(align), ignore: ms official)\n\n // new\n if flex in flex-version\n vendor('flex-pack', -convert-justify(align), only: ms)\n vendor('justify-content', align, only: webkit official)\n\nalign-content(align)\n // WARN: Obsolete spec does not allow for adjustment here\n if flex in flex-version\n vendor('flex-line-pack', -convert-justify(align), only: ms)\n vendor('align-content', align, only: webkit official)\n\n// converts alignment from 'flex' to normal value\n-convert-alignment(align)\n if flex-start == align\n return start\n else if flex-end == align\n return end\n else\n return align\n\nalign-items(align)\n // obsolete\n if box in flex-version\n vendor('box-align', -convert-alignment(align), ignore: ms official)\n\n // new\n if flex in flex-version\n vendor('flex-align', -convert-alignment(align), only: ms)\n vendor('align-items', arguments, only: webkit official)\n\nalign-self(align)\n // WARN: Obsolete spec does not allow for overriding alignment on individual items.\n if flex in flex-version\n vendor('align-self', align, only: webkit official)\n vendor('flex-item-align', -convert-alignment(align), only: ms)\n","/*\n * border: <color>\n * border: ...\n */\n\nborder(color, args...)\n if color is a 'color'\n border: 1px solid color args\n else\n border: arguments\n"],"sourceRoot":""}]);
|
|
46436
46709
|
// Exports
|
|
46437
46710
|
/* harmony default export */ __webpack_exports__["Z"] = (___CSS_LOADER_EXPORT___);
|
|
46438
46711
|
|