@fusion.dev/helix-map 0.223.1 → 0.225.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/dist/connect-map/connect-map.js +32 -20
- package/package.json +9 -9
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { HelixActivateEvent,
|
|
1
|
+
import { HelixActivateEvent, isRtl, watchTheme, } from '@fusion.dev/helix-core';
|
|
2
2
|
import { CREDIT, creditParts } from '../credit/credit.js';
|
|
3
3
|
import { motionOf } from '../motion/motion.js';
|
|
4
4
|
import { pointsFrom } from '../points/points.js';
|
|
@@ -162,8 +162,8 @@ export const connectMap = (frame, driver, options = {}) => {
|
|
|
162
162
|
driver.zoomBy(by > 0 ? 1 : -1, motionOf(frame, 'step'));
|
|
163
163
|
}
|
|
164
164
|
};
|
|
165
|
-
frame.addEventListener(
|
|
166
|
-
frame.addEventListener(
|
|
165
|
+
frame.addEventListener('helix-map-pan', handlePan);
|
|
166
|
+
frame.addEventListener('helix-map-zoom', handleZoom);
|
|
167
167
|
const handleRotate = (event) => {
|
|
168
168
|
const { by, to } = event.detail;
|
|
169
169
|
driver.rotate?.({ by, to }, motionOf(frame, 'step'));
|
|
@@ -172,8 +172,8 @@ export const connectMap = (frame, driver, options = {}) => {
|
|
|
172
172
|
const { by, to } = event.detail;
|
|
173
173
|
driver.tilt?.({ by, to }, motionOf(frame, 'step'));
|
|
174
174
|
};
|
|
175
|
-
frame.addEventListener(
|
|
176
|
-
frame.addEventListener(
|
|
175
|
+
frame.addEventListener('helix-map-rotate', handleRotate);
|
|
176
|
+
frame.addEventListener('helix-map-tilt', handleTilt);
|
|
177
177
|
const holder = frame;
|
|
178
178
|
const syncBearing = () => {
|
|
179
179
|
const bearing = Math.round((driver.bearing?.() ?? 0) * 10) / 10;
|
|
@@ -446,7 +446,7 @@ export const connectMap = (frame, driver, options = {}) => {
|
|
|
446
446
|
encoding: layer.encoding === 'mapbox' ? 'mapbox' : 'terrarium',
|
|
447
447
|
id: idOf(layer),
|
|
448
448
|
kind: 'contours',
|
|
449
|
-
label: layer.label
|
|
449
|
+
label: layer.label || layer.fallbackLabel || '',
|
|
450
450
|
...(typeof layer.maxZoom === 'number' ? { maxZoom: layer.maxZoom } : {}),
|
|
451
451
|
points: [],
|
|
452
452
|
src: layer.src,
|
|
@@ -456,7 +456,13 @@ export const connectMap = (frame, driver, options = {}) => {
|
|
|
456
456
|
}
|
|
457
457
|
if (layer.layerKind === 'landcover') {
|
|
458
458
|
return [
|
|
459
|
-
{
|
|
459
|
+
{
|
|
460
|
+
color,
|
|
461
|
+
id: idOf(layer),
|
|
462
|
+
kind: 'landcover',
|
|
463
|
+
label: layer.label || layer.fallbackLabel || '',
|
|
464
|
+
points: [],
|
|
465
|
+
},
|
|
460
466
|
];
|
|
461
467
|
}
|
|
462
468
|
if (layer.layerKind === 'terrain') {
|
|
@@ -472,7 +478,7 @@ export const connectMap = (frame, driver, options = {}) => {
|
|
|
472
478
|
highlight: settledColor(layer, 'border-top-color'),
|
|
473
479
|
id: idOf(layer),
|
|
474
480
|
kind: 'terrain',
|
|
475
|
-
label: layer.label
|
|
481
|
+
label: layer.label || layer.fallbackLabel || '',
|
|
476
482
|
...(typeof layer.maxZoom === 'number' ? { maxZoom: layer.maxZoom } : {}),
|
|
477
483
|
points: [],
|
|
478
484
|
raised: layer.raised === true,
|
|
@@ -482,7 +488,13 @@ export const connectMap = (frame, driver, options = {}) => {
|
|
|
482
488
|
}
|
|
483
489
|
if (layer.layerKind === 'buildings') {
|
|
484
490
|
return [
|
|
485
|
-
{
|
|
491
|
+
{
|
|
492
|
+
color,
|
|
493
|
+
id: idOf(layer),
|
|
494
|
+
kind: 'buildings',
|
|
495
|
+
label: layer.label || layer.fallbackLabel || '',
|
|
496
|
+
points: [],
|
|
497
|
+
},
|
|
486
498
|
];
|
|
487
499
|
}
|
|
488
500
|
if (layer.layerKind === 'raster') {
|
|
@@ -500,7 +512,7 @@ export const connectMap = (frame, driver, options = {}) => {
|
|
|
500
512
|
...(layer.ground ? { ground: true } : {}),
|
|
501
513
|
id: idOf(layer),
|
|
502
514
|
kind: 'raster',
|
|
503
|
-
label: layer.label
|
|
515
|
+
label: layer.label || layer.fallbackLabel || '',
|
|
504
516
|
...(typeof layer.maxZoom === 'number' ? { maxZoom: layer.maxZoom } : {}),
|
|
505
517
|
opacity: Math.min(Math.max(0, layer.opacity ?? 0.7), 1),
|
|
506
518
|
points: [],
|
|
@@ -522,7 +534,7 @@ export const connectMap = (frame, driver, options = {}) => {
|
|
|
522
534
|
id,
|
|
523
535
|
ink: settledColor(layer, 'outline-color'),
|
|
524
536
|
kind: 'points',
|
|
525
|
-
label: layer.label
|
|
537
|
+
label: layer.label || layer.fallbackLabel || '',
|
|
526
538
|
points,
|
|
527
539
|
},
|
|
528
540
|
];
|
|
@@ -539,7 +551,7 @@ export const connectMap = (frame, driver, options = {}) => {
|
|
|
539
551
|
color,
|
|
540
552
|
id: idOf(layer),
|
|
541
553
|
kind: layer.layerKind,
|
|
542
|
-
label: layer.label
|
|
554
|
+
label: layer.label || layer.fallbackLabel || '',
|
|
543
555
|
...(dotted ? { pattern: 'dotted' } : {}),
|
|
544
556
|
points: (layer.points ?? []).map(({ lat, lng }) => ({ lat, lng })),
|
|
545
557
|
};
|
|
@@ -832,7 +844,7 @@ export const connectMap = (frame, driver, options = {}) => {
|
|
|
832
844
|
soon(kind === 'layer' ? { draw: true } : { place: true });
|
|
833
845
|
}
|
|
834
846
|
};
|
|
835
|
-
frame.addEventListener(
|
|
847
|
+
frame.addEventListener('helix-map-part-change', handlePartChange);
|
|
836
848
|
const styled = new MutationObserver(() => soon({ draw: true }));
|
|
837
849
|
const watchLayers = () => {
|
|
838
850
|
styled.disconnect();
|
|
@@ -897,7 +909,7 @@ export const connectMap = (frame, driver, options = {}) => {
|
|
|
897
909
|
}
|
|
898
910
|
driver.fit(bounds, 96, motionOf(frame, 'travel'));
|
|
899
911
|
};
|
|
900
|
-
frame.addEventListener(
|
|
912
|
+
frame.addEventListener('helix-map-cluster', handleCluster);
|
|
901
913
|
const closeFan = () => {
|
|
902
914
|
const lead = fanned?.members[0];
|
|
903
915
|
fanned = undefined;
|
|
@@ -939,9 +951,9 @@ export const connectMap = (frame, driver, options = {}) => {
|
|
|
939
951
|
stopTheming?.();
|
|
940
952
|
styled.disconnect();
|
|
941
953
|
children.disconnect();
|
|
942
|
-
frame.removeEventListener(
|
|
954
|
+
frame.removeEventListener('helix-map-part-change', handlePartChange);
|
|
943
955
|
frame.removeEventListener('focusin', reveal);
|
|
944
|
-
frame.removeEventListener(
|
|
956
|
+
frame.removeEventListener('helix-map-cluster', handleCluster);
|
|
945
957
|
frame.removeEventListener('keydown', handleFanKey);
|
|
946
958
|
frame.removeEventListener('pointerdown', handleFanDown);
|
|
947
959
|
frame.removeEventListener('click', handleFanPress);
|
|
@@ -974,10 +986,10 @@ export const connectMap = (frame, driver, options = {}) => {
|
|
|
974
986
|
for (const position of positions()) {
|
|
975
987
|
placeOn(position, UNPLACED_POSITION);
|
|
976
988
|
}
|
|
977
|
-
frame.removeEventListener(
|
|
978
|
-
frame.removeEventListener(
|
|
979
|
-
frame.removeEventListener(
|
|
980
|
-
frame.removeEventListener(
|
|
989
|
+
frame.removeEventListener('helix-map-pan', handlePan);
|
|
990
|
+
frame.removeEventListener('helix-map-zoom', handleZoom);
|
|
991
|
+
frame.removeEventListener('helix-map-rotate', handleRotate);
|
|
992
|
+
frame.removeEventListener('helix-map-tilt', handleTilt);
|
|
981
993
|
stopBearing?.();
|
|
982
994
|
stopView?.();
|
|
983
995
|
stopWatchingPreviews?.();
|
package/package.json
CHANGED
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@fusion.dev/helix-map",
|
|
3
3
|
"description": "Connects the Helix Map frame to a map renderer: MapLibre, Leaflet, or a driver of your own.",
|
|
4
|
-
"version": "0.
|
|
4
|
+
"version": "0.225.0",
|
|
5
5
|
"license": "MIT",
|
|
6
|
-
"author": "
|
|
6
|
+
"author": "Fusion Development Group",
|
|
7
7
|
"repository": {
|
|
8
8
|
"directory": "helix/map",
|
|
9
9
|
"type": "git",
|
|
@@ -44,19 +44,19 @@
|
|
|
44
44
|
},
|
|
45
45
|
"bugs": "https://github.com/project-fusion/fusion/issues",
|
|
46
46
|
"dependencies": {
|
|
47
|
-
"@fusion.dev/helix-core": "0.
|
|
48
|
-
"@fusion.dev/helix-icons": "0.
|
|
47
|
+
"@fusion.dev/helix-core": "0.225.0",
|
|
48
|
+
"@fusion.dev/helix-icons": "0.225.0",
|
|
49
49
|
"@mapbox/vector-tile": "^3.0.0",
|
|
50
50
|
"pbf": "^5.1.2"
|
|
51
51
|
},
|
|
52
52
|
"devDependencies": {
|
|
53
|
-
"@fusion.dev/helix-headless": "0.
|
|
54
|
-
"@fusion.dev/helix-testing": "0.
|
|
53
|
+
"@fusion.dev/helix-headless": "0.225.0",
|
|
54
|
+
"@fusion.dev/helix-testing": "0.225.0",
|
|
55
55
|
"@maplibre/maplibre-gl-style-spec": "^26.4.4",
|
|
56
|
-
"@types/bun": "^1.4.
|
|
56
|
+
"@types/bun": "^1.4.4",
|
|
57
57
|
"@types/leaflet": "^1.9.20",
|
|
58
58
|
"leaflet": "^1.9.4",
|
|
59
|
-
"maplibre-gl": "^6.
|
|
59
|
+
"maplibre-gl": "^6.16.0"
|
|
60
60
|
},
|
|
61
61
|
"homepage": "https://fusion.dev",
|
|
62
62
|
"keywords": [
|
|
@@ -66,6 +66,6 @@
|
|
|
66
66
|
"accessibility"
|
|
67
67
|
],
|
|
68
68
|
"publishConfig": {
|
|
69
|
-
"access": "
|
|
69
|
+
"access": "public"
|
|
70
70
|
}
|
|
71
71
|
}
|