geojs 1.9.3 → 1.10.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.github/workflows/main.yml +1 -1
- package/CHANGELOG.md +22 -0
- package/geo.js +292 -43
- package/geo.lean.js +291 -42
- package/geo.lean.min.js +2 -2
- package/geo.min.js +3 -3
- package/package.json +1 -1
- package/src/action.js +3 -5
- package/src/annotation/annotation.js +73 -7
- package/src/annotation/polygonAnnotation.js +11 -0
- package/src/annotationLayer.js +60 -16
- package/src/event.js +28 -0
- package/src/main.styl +11 -0
- package/src/map.js +15 -7
- package/src/mapInteractor.js +49 -3
- package/src/registry.js +3 -0
- package/src/util/polyops.js +4 -1
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
|
|
787
|
+
* @memberof geo.annotation
|
|
788
|
+
* @instance
|
|
789
|
+
*/
|
|
790
|
+
|
|
791
|
+
/**
|
|
792
|
+
* Calls {@link geo.annotation#style} with `styleType='cursorStyle'`.
|
|
793
|
+
* @function cursorStyle
|
|
718
794
|
* @memberof geo.annotation
|
|
719
795
|
* @instance
|
|
720
796
|
*/
|
|
721
797
|
|
|
722
798
|
|
|
723
|
-
['createStyle', 'editStyle', 'editHandleStyle', 'labelStyle', 'highlightStyle'].forEach(function (styleType) {
|
|
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 = {};
|
|
@@ -3903,6 +4003,17 @@ var annotationLayer = function annotationLayer(arg) {
|
|
|
3903
4003
|
|
|
3904
4004
|
break;
|
|
3905
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
|
+
|
|
3906
4017
|
default:
|
|
3907
4018
|
update = m_this.currentAnnotation.processAction(evt);
|
|
3908
4019
|
break;
|
|
@@ -3998,7 +4109,7 @@ var annotationLayer = function annotationLayer(arg) {
|
|
|
3998
4109
|
|
|
3999
4110
|
|
|
4000
4111
|
this._handleMouseMoveModifiers = function (evt) {
|
|
4001
|
-
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)) {
|
|
4002
4113
|
if (evt.modifiers) {
|
|
4003
4114
|
var mod = (evt.modifiers.shift ? 's' : '') + (evt.modifiers.ctrl ? 'c' : '') + (evt.modifiers.meta || evt.modifiers.alt ? 'a' : '');
|
|
4004
4115
|
|
|
@@ -4155,6 +4266,14 @@ var annotationLayer = function annotationLayer(arg) {
|
|
|
4155
4266
|
m_this._updateFromEvent(update);
|
|
4156
4267
|
|
|
4157
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
|
+
}
|
|
4158
4277
|
} else if (!m_this.mode() && !m_this.currentAnnotation && m_this.options('clickToEdit')) {
|
|
4159
4278
|
var highlighted = m_this.annotations().filter(function (ann) {
|
|
4160
4279
|
return ann.state() === geo_annotation.state.highlight;
|
|
@@ -4254,6 +4373,10 @@ var annotationLayer = function annotationLayer(arg) {
|
|
|
4254
4373
|
var pos = $.inArray(annotation, m_annotations);
|
|
4255
4374
|
|
|
4256
4375
|
if (pos < 0) {
|
|
4376
|
+
while (m_this.annotationById(annotation.id())) {
|
|
4377
|
+
annotation.newId();
|
|
4378
|
+
}
|
|
4379
|
+
|
|
4257
4380
|
m_this.geoTrigger(geo_event.annotation.add_before, {
|
|
4258
4381
|
annotation: annotation
|
|
4259
4382
|
});
|
|
@@ -4385,7 +4508,8 @@ var annotationLayer = function annotationLayer(arg) {
|
|
|
4385
4508
|
|
|
4386
4509
|
|
|
4387
4510
|
this.modes = {
|
|
4388
|
-
edit: 'edit'
|
|
4511
|
+
edit: 'edit',
|
|
4512
|
+
cursor: 'cursor'
|
|
4389
4513
|
};
|
|
4390
4514
|
/* Keys are short-hand for preferred event modifiers. Values are classes to
|
|
4391
4515
|
* apply to the map node. */
|
|
@@ -4401,11 +4525,13 @@ var annotationLayer = function annotationLayer(arg) {
|
|
|
4401
4525
|
*
|
|
4402
4526
|
* @param {string|null} [arg] `undefined` to get the current mode, `null` to
|
|
4403
4527
|
* stop creating/editing, `this.modes.edit` (`'edit'`) plus an annotation
|
|
4404
|
-
* to switch to edit mode,
|
|
4405
|
-
*
|
|
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
|
|
4406
4531
|
* {@link geo.listAnnotations}.
|
|
4407
|
-
* @param {geo.annotation} [editAnnotation] If `arg === this.modes.edit
|
|
4408
|
-
* 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.
|
|
4409
4535
|
* @param {object} [options] Additional options to pass when creating an
|
|
4410
4536
|
* annotation.
|
|
4411
4537
|
* @returns {string|null|this} The current mode or the layer.
|
|
@@ -4417,13 +4543,13 @@ var annotationLayer = function annotationLayer(arg) {
|
|
|
4417
4543
|
return m_mode;
|
|
4418
4544
|
}
|
|
4419
4545
|
|
|
4420
|
-
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) {
|
|
4421
4547
|
var createAnnotation,
|
|
4422
4548
|
actions,
|
|
4423
4549
|
mapNode = m_this.map().node(),
|
|
4424
4550
|
oldMode = m_mode;
|
|
4425
4551
|
m_mode = arg;
|
|
4426
|
-
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));
|
|
4427
4553
|
|
|
4428
4554
|
if (!m_mode || m_mode === m_this.modes.edit) {
|
|
4429
4555
|
Object.values(m_this._booleanClasses).forEach(function (c) {
|
|
@@ -4455,6 +4581,13 @@ var annotationLayer = function annotationLayer(arg) {
|
|
|
4455
4581
|
m_this.modified();
|
|
4456
4582
|
m_this.draw();
|
|
4457
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;
|
|
4458
4591
|
}
|
|
4459
4592
|
|
|
4460
4593
|
m_this.currentAnnotation = null;
|
|
@@ -4464,6 +4597,12 @@ var annotationLayer = function annotationLayer(arg) {
|
|
|
4464
4597
|
m_this.currentAnnotation = editAnnotation;
|
|
4465
4598
|
m_this.currentAnnotation.state(geo_annotation.state.edit);
|
|
4466
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);
|
|
4467
4606
|
} else if (registry.registries.annotations[m_mode]) {
|
|
4468
4607
|
createAnnotation = registry.registries.annotations[m_mode].func;
|
|
4469
4608
|
}
|
|
@@ -4478,6 +4617,9 @@ var annotationLayer = function annotationLayer(arg) {
|
|
|
4478
4617
|
m_this.currentAnnotation = createAnnotation(options);
|
|
4479
4618
|
m_this.addAnnotation(m_this.currentAnnotation, null);
|
|
4480
4619
|
actions = m_this.currentAnnotation.actions(geo_annotation.state.create);
|
|
4620
|
+
}
|
|
4621
|
+
|
|
4622
|
+
if (actions) {
|
|
4481
4623
|
$.each(actions, function (idx, action) {
|
|
4482
4624
|
m_this.map().interactor().addAction(action);
|
|
4483
4625
|
});
|
|
@@ -4488,7 +4630,7 @@ var annotationLayer = function annotationLayer(arg) {
|
|
|
4488
4630
|
oldMode: oldMode
|
|
4489
4631
|
});
|
|
4490
4632
|
|
|
4491
|
-
if (oldMode === m_this.modes.edit) {
|
|
4633
|
+
if (oldMode === m_this.modes.edit || oldMode === m_this.modes.cursor) {
|
|
4492
4634
|
m_this.modified();
|
|
4493
4635
|
}
|
|
4494
4636
|
}
|
|
@@ -5188,13 +5330,19 @@ var annotationLayer = function annotationLayer(arg) {
|
|
|
5188
5330
|
this.toPolygonList = function (opts) {
|
|
5189
5331
|
var poly = [];
|
|
5190
5332
|
opts = opts || {};
|
|
5191
|
-
|
|
5333
|
+
var indices = [];
|
|
5334
|
+
|
|
5335
|
+
if (!opts.annotationIndices) {
|
|
5336
|
+
opts.annotationIndices = {};
|
|
5337
|
+
}
|
|
5338
|
+
|
|
5339
|
+
opts.annotationIndices[m_this.id()] = indices;
|
|
5192
5340
|
m_annotations.forEach(function (annotation, idx) {
|
|
5193
5341
|
if (annotation.toPolygonList) {
|
|
5194
5342
|
annotation.toPolygonList(opts).forEach(function (p) {
|
|
5195
5343
|
return poly.push(p);
|
|
5196
5344
|
});
|
|
5197
|
-
|
|
5345
|
+
indices.push(idx);
|
|
5198
5346
|
}
|
|
5199
5347
|
});
|
|
5200
5348
|
return poly;
|
|
@@ -5220,16 +5368,17 @@ var annotationLayer = function annotationLayer(arg) {
|
|
|
5220
5368
|
var keepIds = {};
|
|
5221
5369
|
var reusedIds = {};
|
|
5222
5370
|
var correspond, exact, annot;
|
|
5371
|
+
var indices = (opts.annotationIndices || {})[m_this.id()];
|
|
5223
5372
|
|
|
5224
|
-
if (
|
|
5373
|
+
if (indices && opts.correspond && opts.correspond.poly1 && indices.length === opts.correspond.poly1.length) {
|
|
5225
5374
|
correspond = opts.correspond.poly1;
|
|
5226
5375
|
exact = opts.correspond.exact1;
|
|
5227
5376
|
annot = m_this.annotations();
|
|
5228
5377
|
}
|
|
5229
5378
|
|
|
5230
|
-
if (keep !== 'all' && keep !== 'none') {
|
|
5379
|
+
if (keep !== 'all' && keep !== 'none' && annot) {
|
|
5231
5380
|
annot.forEach(function (oldAnnot, idx) {
|
|
5232
|
-
if (
|
|
5381
|
+
if (indices.indexOf(idx) < 0) {
|
|
5233
5382
|
keepIds[oldAnnot.id()] = true;
|
|
5234
5383
|
}
|
|
5235
5384
|
});
|
|
@@ -5256,7 +5405,7 @@ var annotationLayer = function annotationLayer(arg) {
|
|
|
5256
5405
|
for (var i = 0; i < correspond.length; i += 1) {
|
|
5257
5406
|
if (correspond[i] && correspond[i].indexOf(idx) >= 0) {
|
|
5258
5407
|
var _ret = function () {
|
|
5259
|
-
var orig = annot[
|
|
5408
|
+
var orig = annot[indices[i]];
|
|
5260
5409
|
|
|
5261
5410
|
if (keep !== 'all' && keep !== 'none' && exact && exact[i] && exact[i].indexOf(idx) >= 0) {
|
|
5262
5411
|
keepIds[orig.id()] = true;
|
|
@@ -5308,7 +5457,7 @@ var annotationLayer = function annotationLayer(arg) {
|
|
|
5308
5457
|
|
|
5309
5458
|
|
|
5310
5459
|
polyAnnot.forEach(function (p) {
|
|
5311
|
-
m_this.addAnnotation(registry.createAnnotation('polygon', p), m_this.gcs(), false);
|
|
5460
|
+
m_this.addAnnotation(registry.createAnnotation('polygon', p), m_this.map().gcs(), false);
|
|
5312
5461
|
update = true;
|
|
5313
5462
|
});
|
|
5314
5463
|
|
|
@@ -9864,6 +10013,34 @@ geo_event.annotation.mode = 'geo_annotation_mode';
|
|
|
9864
10013
|
*/
|
|
9865
10014
|
|
|
9866
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';
|
|
9867
10044
|
module.exports = geo_event;
|
|
9868
10045
|
|
|
9869
10046
|
/***/ }),
|
|
@@ -16702,13 +16879,15 @@ var map = function map(arg) {
|
|
|
16702
16879
|
* center.
|
|
16703
16880
|
* @param {boolean} [ignoreDiscreteZoom] If `true`, ignore the discreteZoom
|
|
16704
16881
|
* option when determining the new view.
|
|
16882
|
+
* @param {boolean} [ignoreClampBounds] If `true`, ignore the clampBounds
|
|
16883
|
+
* option when determining the new view.
|
|
16705
16884
|
* @returns {number|this}
|
|
16706
16885
|
* @fires geo.event.zoom
|
|
16707
16886
|
* @fires geo.event.pan
|
|
16708
16887
|
*/
|
|
16709
16888
|
|
|
16710
16889
|
|
|
16711
|
-
this.zoom = function (val, origin, ignoreDiscreteZoom) {
|
|
16890
|
+
this.zoom = function (val, origin, ignoreDiscreteZoom, ignoreClampBounds) {
|
|
16712
16891
|
if (val === undefined) {
|
|
16713
16892
|
return m_zoom;
|
|
16714
16893
|
}
|
|
@@ -16717,10 +16896,14 @@ var map = function map(arg) {
|
|
|
16717
16896
|
/* If we are zooming around a point, ignore the clamp bounds */
|
|
16718
16897
|
|
|
16719
16898
|
var aroundPoint = origin && (origin.mapgcs || origin.geo) && origin.map;
|
|
16720
|
-
|
|
16899
|
+
|
|
16900
|
+
if (aroundPoint) {
|
|
16901
|
+
ignoreClampBounds = true;
|
|
16902
|
+
}
|
|
16721
16903
|
/* The ignoreDiscreteZoom flag is intended to allow non-integer zoom values
|
|
16722
16904
|
* during animation. */
|
|
16723
16905
|
|
|
16906
|
+
|
|
16724
16907
|
val = m_this._fix_zoom(val, ignoreDiscreteZoom);
|
|
16725
16908
|
|
|
16726
16909
|
if (val === m_zoom) {
|
|
@@ -16747,7 +16930,7 @@ var map = function map(arg) {
|
|
|
16747
16930
|
m_this.pan({
|
|
16748
16931
|
x: 0,
|
|
16749
16932
|
y: 0
|
|
16750
|
-
}, ignoreDiscreteZoom);
|
|
16933
|
+
}, ignoreDiscreteZoom, ignoreClampBounds);
|
|
16751
16934
|
}
|
|
16752
16935
|
|
|
16753
16936
|
return m_this;
|
|
@@ -17493,6 +17676,8 @@ var map = function map(arg) {
|
|
|
17493
17676
|
* a value based on what canceled a transition, `transition`: the current
|
|
17494
17677
|
* transition that just completed, `next`: a boolean if another transition
|
|
17495
17678
|
* follows immediately.
|
|
17679
|
+
* @param {boolean} [opts.endClamp=true] If `false`, the last center change
|
|
17680
|
+
* will not clamp to the bounds and zoom values.
|
|
17496
17681
|
* @param {string|geo.transform|null} [gcs] Input gcs. `undefined` to use
|
|
17497
17682
|
* the interface gcs, `null` to use the map gcs, or any other transform.
|
|
17498
17683
|
* Applies only to `opts.center` and to converting zoom values to height,
|
|
@@ -17602,7 +17787,8 @@ var map = function map(arg) {
|
|
|
17602
17787
|
zCoord: opts.zCoord,
|
|
17603
17788
|
done: opts.done,
|
|
17604
17789
|
duration: opts.duration,
|
|
17605
|
-
zoomOrigin: opts.zoomOrigin
|
|
17790
|
+
zoomOrigin: opts.zoomOrigin,
|
|
17791
|
+
endClamp: opts.endClamp
|
|
17606
17792
|
};
|
|
17607
17793
|
m_transition.interp = opts.interp([m_transition.start.center.x, m_transition.start.center.y, opts.zCoord ? zoom2z(m_transition.start.zoom) : m_transition.start.zoom, m_transition.start.rotation], [m_transition.end.center ? m_transition.end.center.x : m_transition.start.center.x, m_transition.end.center ? m_transition.end.center.y : m_transition.start.center.y, opts.zCoord ? zoom2z(m_transition.end.zoom) : m_transition.end.zoom, m_transition.end.rotation]);
|
|
17608
17794
|
/**
|
|
@@ -17654,10 +17840,11 @@ var map = function map(arg) {
|
|
|
17654
17840
|
if (m_transition.end.center) {
|
|
17655
17841
|
var needZoom = m_zoom !== m_this._fix_zoom(m_transition.end.zoom);
|
|
17656
17842
|
|
|
17657
|
-
|
|
17843
|
+
var noEndClamp = needZoom || opts.endClamp === false;
|
|
17844
|
+
m_this.center(m_transition.end.center, null, noEndClamp, noEndClamp);
|
|
17658
17845
|
}
|
|
17659
17846
|
|
|
17660
|
-
m_this.zoom(m_transition.end.zoom, m_transition.zoomOrigin);
|
|
17847
|
+
m_this.zoom(m_transition.end.zoom, m_transition.zoomOrigin, opts.endClamp === false, opts.endClamp === false);
|
|
17661
17848
|
m_this.rotation(fix_rotation(m_transition.end.rotation));
|
|
17662
17849
|
}
|
|
17663
17850
|
|
|
@@ -17697,7 +17884,7 @@ var map = function map(arg) {
|
|
|
17697
17884
|
x: p[0],
|
|
17698
17885
|
y: p[1]
|
|
17699
17886
|
}, null);
|
|
17700
|
-
m_this.zoom(p[2], m_transition.zoomOrigin, true);
|
|
17887
|
+
m_this.zoom(p[2], m_transition.zoomOrigin, true, true);
|
|
17701
17888
|
}
|
|
17702
17889
|
|
|
17703
17890
|
m_this.rotation(p[3], undefined, true);
|
|
@@ -19028,8 +19215,8 @@ var Mousetrap = __webpack_require__(3345);
|
|
|
19028
19215
|
* event must occur within this time in milliseconds of the mouse down
|
|
19029
19216
|
* event for it to be considered a click.
|
|
19030
19217
|
* @property {boolean|number} [click.cancelOnMove=true] If true, don't generate
|
|
19031
|
-
* click events if the mouse moved at all. If a positive number, the
|
|
19032
|
-
* at which to cancel click events when the mouse moves.
|
|
19218
|
+
* click events if the mouse moved at all. If a positive number, the
|
|
19219
|
+
* distance at which to cancel click events when the mouse moves.
|
|
19033
19220
|
* @property {object} [keyboard] An object describing which keyboard events are
|
|
19034
19221
|
* handled.
|
|
19035
19222
|
* @property {object} [keyboard.actions] An object with different actions that
|
|
@@ -19042,6 +19229,9 @@ var Mousetrap = __webpack_require__(3345);
|
|
|
19042
19229
|
* an object with keys of the meta keys that are required to be down or
|
|
19043
19230
|
* up for that scale action to trigger. If the value of the meta key is
|
|
19044
19231
|
* truthy, it must be down. If `false`, it must be up.
|
|
19232
|
+
* @property {string[]} [keyboard.metakeyMouseEvents] A list of meta keys
|
|
19233
|
+
* * that, when typed singly, trigger a repeat of the last mousemove or
|
|
19234
|
+
* actionmove event so that listeners can update metakey information.
|
|
19045
19235
|
* @property {boolean} [keyboard.focusHighlight=true] If truthy, when the map
|
|
19046
19236
|
* gains focus, a highlight style is shown around it. This gives an
|
|
19047
19237
|
* indicator that keyboard events will affect the map, but may not be
|
|
@@ -19144,6 +19334,7 @@ var mapInteractor = function mapInteractor(args) {
|
|
|
19144
19334
|
m_boundKeys,
|
|
19145
19335
|
m_touchHandler,
|
|
19146
19336
|
m_state,
|
|
19337
|
+
m_nextStateId = 0,
|
|
19147
19338
|
m_queue,
|
|
19148
19339
|
$node,
|
|
19149
19340
|
m_selectionLayer = null,
|
|
@@ -19341,6 +19532,11 @@ var mapInteractor = function mapInteractor(args) {
|
|
|
19341
19532
|
}
|
|
19342
19533
|
},
|
|
19343
19534
|
|
|
19535
|
+
/* This is a list of meta keys that when typed singly trigger a repeat
|
|
19536
|
+
* of the last mousemove or actionmove event so that listeners can
|
|
19537
|
+
* update metakey information. */
|
|
19538
|
+
metakeyMouseEvents: ['shift', 'ctrl', 'shift+ctrl', 'shift+alt', 'shift+meta'],
|
|
19539
|
+
|
|
19344
19540
|
/* if focusHighlight is truthy, then a class is added to the map such
|
|
19345
19541
|
* that when the map gets focus, it is indicated inside the border of
|
|
19346
19542
|
* the map -- browsers usually show focus on the outside, which isn't
|
|
@@ -19768,6 +19964,43 @@ var mapInteractor = function mapInteractor(args) {
|
|
|
19768
19964
|
m_touchHandler.lastEventType = evtType[2];
|
|
19769
19965
|
}
|
|
19770
19966
|
};
|
|
19967
|
+
/**
|
|
19968
|
+
* Repeat a mousemove or actionmove event with new metakey information.
|
|
19969
|
+
*
|
|
19970
|
+
* @param {event} [evt] A Mousetrap event with the key change.
|
|
19971
|
+
* @fires geo.event.mousemove
|
|
19972
|
+
* @fires geo.event.actionmove
|
|
19973
|
+
*/
|
|
19974
|
+
|
|
19975
|
+
|
|
19976
|
+
this._repeatMouseMoveEvent = function (evt) {
|
|
19977
|
+
if (!m_mouse || !m_mouse.modifiers) {
|
|
19978
|
+
return;
|
|
19979
|
+
}
|
|
19980
|
+
|
|
19981
|
+
var old = {
|
|
19982
|
+
alt: m_mouse.modifiers.alt,
|
|
19983
|
+
ctrl: m_mouse.modifiers.ctrl,
|
|
19984
|
+
meta: m_mouse.modifiers.meta,
|
|
19985
|
+
shift: m_mouse.modifiers.shift
|
|
19986
|
+
};
|
|
19987
|
+
|
|
19988
|
+
m_this._getMouseModifiers(evt);
|
|
19989
|
+
|
|
19990
|
+
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) {
|
|
19991
|
+
return;
|
|
19992
|
+
}
|
|
19993
|
+
|
|
19994
|
+
if (m_state.boundDocumentHandlers) {
|
|
19995
|
+
m_this.map().geoTrigger(geo_event.actionmove, {
|
|
19996
|
+
state: m_this.state(),
|
|
19997
|
+
mouse: m_this.mouse(),
|
|
19998
|
+
event: evt
|
|
19999
|
+
});
|
|
20000
|
+
} else {
|
|
20001
|
+
m_this.map().geoTrigger(geo_event.mousemove, m_this.mouse());
|
|
20002
|
+
}
|
|
20003
|
+
};
|
|
19771
20004
|
/**
|
|
19772
20005
|
* Retrigger a mouse movement with the current mouse state.
|
|
19773
20006
|
* @fires geo.event.mousemove
|
|
@@ -19836,6 +20069,14 @@ var mapInteractor = function mapInteractor(args) {
|
|
|
19836
20069
|
}
|
|
19837
20070
|
}
|
|
19838
20071
|
|
|
20072
|
+
if (m_options.keyboard.metakeyMouseEvents) {
|
|
20073
|
+
m_options.keyboard.metakeyMouseEvents.forEach(function (meta) {
|
|
20074
|
+
m_keyHandler.bind(meta, m_this._repeatMouseMoveEvent, 'keydown');
|
|
20075
|
+
m_keyHandler.bind(meta, m_this._repeatMouseMoveEvent, 'keyup');
|
|
20076
|
+
bound.push(meta);
|
|
20077
|
+
});
|
|
20078
|
+
}
|
|
20079
|
+
|
|
19839
20080
|
m_boundKeys = bound;
|
|
19840
20081
|
}
|
|
19841
20082
|
|
|
@@ -20250,6 +20491,7 @@ var mapInteractor = function mapInteractor(args) {
|
|
|
20250
20491
|
kind: 'move'
|
|
20251
20492
|
}; // store the state object
|
|
20252
20493
|
|
|
20494
|
+
m_nextStateId += 1;
|
|
20253
20495
|
m_state = {
|
|
20254
20496
|
action: action,
|
|
20255
20497
|
actionRecord: actionRecord,
|
|
@@ -20257,6 +20499,7 @@ var mapInteractor = function mapInteractor(args) {
|
|
|
20257
20499
|
initialZoom: map.zoom(),
|
|
20258
20500
|
initialRotation: map.rotation(),
|
|
20259
20501
|
initialEventRotation: evt.rotation,
|
|
20502
|
+
stateId: m_nextStateId,
|
|
20260
20503
|
delta: {
|
|
20261
20504
|
x: 0,
|
|
20262
20505
|
y: 0
|
|
@@ -21384,7 +21627,7 @@ var mapInteractor = function mapInteractor(args) {
|
|
|
21384
21627
|
preventDefault: function preventDefault() {},
|
|
21385
21628
|
simulated: true
|
|
21386
21629
|
};
|
|
21387
|
-
m_keyHandler.trigger(keys);
|
|
21630
|
+
m_keyHandler.trigger(keys, options.event);
|
|
21388
21631
|
return;
|
|
21389
21632
|
}
|
|
21390
21633
|
|
|
@@ -26603,6 +26846,8 @@ module.exports = quadFeature;
|
|
|
26603
26846
|
|
|
26604
26847
|
var $ = __webpack_require__(5638);
|
|
26605
26848
|
|
|
26849
|
+
var geo_action = __webpack_require__(7839);
|
|
26850
|
+
|
|
26606
26851
|
var widgets = {
|
|
26607
26852
|
dom: {}
|
|
26608
26853
|
};
|
|
@@ -27061,6 +27306,7 @@ util.registerAnnotation = function (name, func, features) {
|
|
|
27061
27306
|
func: func,
|
|
27062
27307
|
features: features || {}
|
|
27063
27308
|
};
|
|
27309
|
+
geo_action['annotation_' + name] = 'geo_annotation_' + name;
|
|
27064
27310
|
return old;
|
|
27065
27311
|
};
|
|
27066
27312
|
/**
|
|
@@ -27577,7 +27823,7 @@ module.exports = sceneObject;
|
|
|
27577
27823
|
* @constant
|
|
27578
27824
|
* @type {string}
|
|
27579
27825
|
*/
|
|
27580
|
-
module.exports = "
|
|
27826
|
+
module.exports = "b37bd8311e8146b64ad199fccd0b4a5404d78157";
|
|
27581
27827
|
|
|
27582
27828
|
/***/ }),
|
|
27583
27829
|
|
|
@@ -40171,6 +40417,7 @@ function generateCorrespondence(poly1, poly2, newpoly, results) {
|
|
|
40171
40417
|
results[ekey] = Array(poly.length);
|
|
40172
40418
|
poly.forEach(function (p, idx) {
|
|
40173
40419
|
var found = {};
|
|
40420
|
+
var missed = 0;
|
|
40174
40421
|
p.forEach(function (h) {
|
|
40175
40422
|
return h.forEach(function (pt) {
|
|
40176
40423
|
var key = '_' + pt[0] + '_' + pt[1];
|
|
@@ -40179,11 +40426,13 @@ function generateCorrespondence(poly1, poly2, newpoly, results) {
|
|
|
40179
40426
|
pts[key].forEach(function (val) {
|
|
40180
40427
|
found[val] = (found[val] || 0) + 1;
|
|
40181
40428
|
});
|
|
40429
|
+
} else {
|
|
40430
|
+
missed += 1;
|
|
40182
40431
|
}
|
|
40183
40432
|
});
|
|
40184
40433
|
});
|
|
40185
40434
|
Object.keys(found).forEach(function (nidx) {
|
|
40186
|
-
if (found[nidx] === counts[+nidx]) {
|
|
40435
|
+
if (found[nidx] === counts[+nidx] && !missed && p.length === newpoly[+nidx].length) {
|
|
40187
40436
|
if (!results[ekey][idx]) {
|
|
40188
40437
|
results[ekey][idx] = [];
|
|
40189
40438
|
}
|
|
@@ -40699,7 +40948,7 @@ module.exports = vectorFeature;
|
|
|
40699
40948
|
* @constant
|
|
40700
40949
|
* @type {string}
|
|
40701
40950
|
*/
|
|
40702
|
-
module.exports = "1.
|
|
40951
|
+
module.exports = "1.10.1";
|
|
40703
40952
|
|
|
40704
40953
|
/***/ }),
|
|
40705
40954
|
|
|
@@ -46466,7 +46715,7 @@ var ___CSS_LOADER_URL_REPLACEMENT_1___ = _node_modules_css_loader_dist_runtime_g
|
|
|
46466
46715
|
var ___CSS_LOADER_URL_REPLACEMENT_2___ = _node_modules_css_loader_dist_runtime_getUrl_js__WEBPACK_IMPORTED_MODULE_2___default()(___CSS_LOADER_URL_IMPORT_2___);
|
|
46467
46716
|
var ___CSS_LOADER_URL_REPLACEMENT_3___ = _node_modules_css_loader_dist_runtime_getUrl_js__WEBPACK_IMPORTED_MODULE_2___default()(___CSS_LOADER_URL_IMPORT_3___);
|
|
46468
46717
|
// Module
|
|
46469
|
-
___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":""}]);
|
|
46718
|
+
___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":""}]);
|
|
46470
46719
|
// Exports
|
|
46471
46720
|
/* harmony default export */ __webpack_exports__["Z"] = (___CSS_LOADER_EXPORT___);
|
|
46472
46721
|
|