diff --git a/README.md b/README.md index 96ef7658..7bfe9f83 100644 --- a/README.md +++ b/README.md @@ -55,12 +55,6 @@ npm install ngx-mapbox-gl mapbox-gl yarn add ngx-mapbox-gl mapbox-gl ``` -If using typescript add mapbox-gl types - -``` -npm install @types/mapbox-gl --save-dev -yarn add @types/mapbox-gl --dev -``` Load the CSS of `mapbox-gl` diff --git a/apps/showcase/project.json b/apps/showcase/project.json index ce46b551..f8e72d08 100644 --- a/apps/showcase/project.json +++ b/apps/showcase/project.json @@ -24,6 +24,9 @@ "node_modules/marked/marked.min.js", "node_modules/prismjs/prism.js", "node_modules/prismjs/components/prism-typescript.min.js" + ], + "allowedCommonJsDependencies": [ + "mapbox-gl" ] }, "configurations": { @@ -32,7 +35,7 @@ { "type": "initial", "maximumWarning": "500kb", - "maximumError": "2.2mb" + "maximumError": "2.66mb" }, { "type": "anyComponentStyle", diff --git a/apps/showcase/src/app/demo/examples/3d-buildings.component.ts b/apps/showcase/src/app/demo/examples/3d-buildings.component.ts index 6266ae8e..ef272999 100644 --- a/apps/showcase/src/app/demo/examples/3d-buildings.component.ts +++ b/apps/showcase/src/app/demo/examples/3d-buildings.component.ts @@ -51,7 +51,7 @@ export class Display3dBuildingsComponent { labelLayerId?: string; onLoad(mapInstance: Map) { - const layers = mapInstance.getStyle().layers; + const layers = mapInstance.getStyle()?.layers; if (!layers) { return; } diff --git a/apps/showcase/src/app/demo/examples/custom-style-id.component.ts b/apps/showcase/src/app/demo/examples/custom-style-id.component.ts index 3412f45e..523eff6d 100644 --- a/apps/showcase/src/app/demo/examples/custom-style-id.component.ts +++ b/apps/showcase/src/app/demo/examples/custom-style-id.component.ts @@ -1,7 +1,7 @@ import { Component } from '@angular/core'; @Component({ - selector: 'showcase-demo', + selector: 'custom-style-id', template: ` = (await import( @@ -42,8 +44,7 @@ export class LiveUpdateImageSourceComponent implements OnInit, OnDestroy { )) as any; const points = data.features[0].geometry?.coordinates; const coordinates = points.map((c) => this.makeRectangle(c)); - - this.center = points[0] as [number, number]; + this.center = [points[0][0], points[0][1]]; this.coordinates = coordinates[0]; let i = 0; @@ -61,7 +62,7 @@ export class LiveUpdateImageSourceComponent implements OnInit, OnDestroy { } } - private makeRectangle([long, lat]: number[]): number[][] { + private makeRectangle([long, lat]: number[]): ImageSourceSpecification['coordinates'] { return [ [long, lat], [long + this.size, lat], diff --git a/apps/showcase/src/app/demo/stackblitz-edit/create-stackblitz-project.ts b/apps/showcase/src/app/demo/stackblitz-edit/create-stackblitz-project.ts index 258103f7..e89cb426 100644 --- a/apps/showcase/src/app/demo/stackblitz-edit/create-stackblitz-project.ts +++ b/apps/showcase/src/app/demo/stackblitz-edit/create-stackblitz-project.ts @@ -38,7 +38,6 @@ import 'zone.js'; url: '*', querystring: '*', events: '*', - '@types/mapbox-gl': '*', '@types/supercluster': '*', '@types/geojson': '*', }, diff --git a/apps/showcase/src/app/doc/doc.component.ts b/apps/showcase/src/app/doc/doc.component.ts index fb52e9ba..a5a8a40f 100644 --- a/apps/showcase/src/app/doc/doc.component.ts +++ b/apps/showcase/src/app/doc/doc.component.ts @@ -57,6 +57,7 @@ export class DocComponent implements OnInit { constructor(private markdownService: MarkdownService) {} ngOnInit() { + // @ts-ignore this.markdownService.renderer.heading = (text: string, level: number) => { if (level !== 1) { return `${text}`; diff --git a/libs/ngx-mapbox-gl/package.json b/libs/ngx-mapbox-gl/package.json index b02c23a4..1b343ad5 100644 --- a/libs/ngx-mapbox-gl/package.json +++ b/libs/ngx-mapbox-gl/package.json @@ -22,7 +22,7 @@ "peerDependencies": { "@angular/core": "^18.0.0 || ^19.0.0", "@angular/common": "^18.0.0 || ^19.0.0", - "mapbox-gl": "^2.9.0", + "mapbox-gl": ">=2.9.0 < 4", "rxjs": "^7.8.0" }, "dependencies": { diff --git a/libs/ngx-mapbox-gl/src/lib/control/control.component.ts b/libs/ngx-mapbox-gl/src/lib/control/control.component.ts index aada5b83..533e54ac 100644 --- a/libs/ngx-mapbox-gl/src/lib/control/control.component.ts +++ b/libs/ngx-mapbox-gl/src/lib/control/control.component.ts @@ -7,7 +7,7 @@ import { OnDestroy, ViewChild, } from '@angular/core'; -import { IControl } from 'mapbox-gl'; +import { IControl, ControlPosition } from 'mapbox-gl'; import { MapService } from '../map/map.service'; export class CustomControl implements IControl { @@ -21,7 +21,7 @@ export class CustomControl implements IControl { return this.container.parentNode!.removeChild(this.container); } - getDefaultPosition() { + getDefaultPosition(): ControlPosition { return 'top-right'; } } diff --git a/libs/ngx-mapbox-gl/src/lib/control/geolocate-control.directive.ts b/libs/ngx-mapbox-gl/src/lib/control/geolocate-control.directive.ts index c6643075..96274da4 100644 --- a/libs/ngx-mapbox-gl/src/lib/control/geolocate-control.directive.ts +++ b/libs/ngx-mapbox-gl/src/lib/control/geolocate-control.directive.ts @@ -6,7 +6,7 @@ import { Input, Output, } from '@angular/core'; -import { FitBoundsOptions, GeolocateControl } from 'mapbox-gl'; +import { MapOptions, GeolocateControl } from 'mapbox-gl'; import { MapService } from '../map/map.service'; import { Position } from '../map/map.types'; import { ControlComponent } from './control.component'; @@ -17,7 +17,7 @@ import { ControlComponent } from './control.component'; export class GeolocateControlDirective implements AfterContentInit { /* Init inputs */ @Input() positionOptions?: PositionOptions; - @Input() fitBoundsOptions?: FitBoundsOptions; + @Input() fitBoundsOptions?: MapOptions["fitBoundsOptions"]; @Input() trackUserLocation?: boolean; @Input() showUserLocation?: boolean; @Input() showUserHeading?: boolean; diff --git a/libs/ngx-mapbox-gl/src/lib/control/scale-control.directive.ts b/libs/ngx-mapbox-gl/src/lib/control/scale-control.directive.ts index 8de9f366..831fc73e 100644 --- a/libs/ngx-mapbox-gl/src/lib/control/scale-control.directive.ts +++ b/libs/ngx-mapbox-gl/src/lib/control/scale-control.directive.ts @@ -6,7 +6,7 @@ import { OnChanges, SimpleChanges, } from '@angular/core'; -import { ScaleControl } from 'mapbox-gl'; +import { ScaleControl, ScaleControlOptions } from 'mapbox-gl'; import { MapService } from '../map/map.service'; import { ControlComponent } from './control.component'; @@ -38,7 +38,7 @@ export class ScaleControlDirective implements AfterContentInit, OnChanges { if (this.controlComponent.control) { throw new Error('Another control is already set for this control'); } - const options: { maxWidth?: number; unit?: string } = {}; + const options: ScaleControlOptions = {}; if (this.maxWidth !== undefined) { options.maxWidth = this.maxWidth; } diff --git a/libs/ngx-mapbox-gl/src/lib/layer/layer.component.spec.ts b/libs/ngx-mapbox-gl/src/lib/layer/layer.component.spec.ts index 62194e8a..c1d0527b 100644 --- a/libs/ngx-mapbox-gl/src/lib/layer/layer.component.spec.ts +++ b/libs/ngx-mapbox-gl/src/lib/layer/layer.component.spec.ts @@ -1,6 +1,6 @@ import { SimpleChange } from '@angular/core'; import { ComponentFixture, TestBed, waitForAsync } from '@angular/core/testing'; -import { BackgroundLayer } from 'mapbox-gl'; +import { BackgroundLayerSpecification } from 'mapbox-gl'; import { of } from 'rxjs'; import { MapService, SetupLayer } from '../map/map.service'; import { mockMapbox } from '../map/mapbox.mock'; @@ -45,7 +45,7 @@ describe('LayerComponent', () => { msSpy.addLayer.mockImplementation((options: SetupLayer) => { expect(options.layerOptions.id).toEqual(component.id); expect( - (options.layerOptions as BackgroundLayer).paint!['background-color'] + (options.layerOptions as BackgroundLayerSpecification).paint!['background-color'] ).toEqual('green'); }); fixture.detectChanges(); diff --git a/libs/ngx-mapbox-gl/src/lib/layer/layer.component.ts b/libs/ngx-mapbox-gl/src/lib/layer/layer.component.ts index 490a3ea4..dbed1b29 100644 --- a/libs/ngx-mapbox-gl/src/lib/layer/layer.component.ts +++ b/libs/ngx-mapbox-gl/src/lib/layer/layer.component.ts @@ -8,17 +8,11 @@ import { Output, SimpleChanges, } from '@angular/core'; -import { - AnyLayer, - EventData, - Layer, - MapLayerMouseEvent, - MapLayerTouchEvent, -} from 'mapbox-gl'; +import { Layer, LayerSpecification, MapMouseEvent, MapTouchEvent } from 'mapbox-gl'; import { fromEvent, Subscription } from 'rxjs'; import { filter, mapTo, startWith, switchMap } from 'rxjs/operators'; import { MapService, SetupLayer } from '../map/map.service'; -import { LayerEvents } from '../map/map.types'; +import { NgxMapboxLayerEvents, EventData } from '../map/map.types'; import { deprecationWarning } from '../utils'; @Component({ @@ -26,12 +20,12 @@ import { deprecationWarning } from '../utils'; template: '', }) export class LayerComponent - implements OnInit, OnDestroy, OnChanges, Layer, LayerEvents + implements OnInit, OnDestroy, OnChanges, Layer, NgxMapboxLayerEvents { /* Init inputs */ - @Input() id: AnyLayer['id']; - @Input() source?: Layer['source']; - @Input() type: AnyLayer['type']; + @Input() id: LayerSpecification['id']; + @Input() source?: any | Layer['source']; + @Input() type: LayerSpecification['type']; @Input() metadata?: Layer['metadata']; @Input() sourceLayer?: Layer['source-layer']; @@ -43,82 +37,80 @@ export class LayerComponent @Input() minzoom?: Layer['minzoom']; @Input() maxzoom?: Layer['maxzoom']; - @Output() layerClick = new EventEmitter(); - @Output() layerDblClick = new EventEmitter(); - @Output() layerMouseDown = new EventEmitter(); - @Output() layerMouseUp = new EventEmitter(); + @Output() layerClick = new EventEmitter(); + @Output() layerDblClick = new EventEmitter(); + @Output() layerMouseDown = new EventEmitter(); + @Output() layerMouseUp = new EventEmitter(); @Output() layerMouseEnter = new EventEmitter< - MapLayerMouseEvent & EventData + MapMouseEvent >(); @Output() layerMouseLeave = new EventEmitter< - MapLayerMouseEvent & EventData + MapMouseEvent >(); - @Output() layerMouseMove = new EventEmitter(); - @Output() layerMouseOver = new EventEmitter(); - @Output() layerMouseOut = new EventEmitter(); + @Output() layerMouseMove = new EventEmitter(); + @Output() layerMouseOver = new EventEmitter(); + @Output() layerMouseOut = new EventEmitter(); @Output() layerContextMenu = new EventEmitter< - MapLayerMouseEvent & EventData + MapMouseEvent >(); @Output() layerTouchStart = new EventEmitter< - MapLayerTouchEvent & EventData - >(); - @Output() layerTouchEnd = new EventEmitter(); - @Output() layerTouchCancel = new EventEmitter< - MapLayerTouchEvent & EventData + MapTouchEvent >(); + @Output() layerTouchEnd = new EventEmitter(); + @Output() layerTouchCancel = new EventEmitter(); /** * @deprecated Use layerClick instead */ // eslint-disable-next-line @angular-eslint/no-output-native - @Output() click = new EventEmitter(); + @Output() click = new EventEmitter(); /** * @deprecated Use layerDblClick instead */ - @Output() dblClick = new EventEmitter(); + @Output() dblClick = new EventEmitter(); /** * @deprecated Use layerMouseDown instead */ - @Output() mouseDown = new EventEmitter(); + @Output() mouseDown = new EventEmitter(); /** * @deprecated Use layerMouseUp instead */ - @Output() mouseUp = new EventEmitter(); + @Output() mouseUp = new EventEmitter(); /** * @deprecated Use layerMouseEnter instead */ - @Output() mouseEnter = new EventEmitter(); + @Output() mouseEnter = new EventEmitter(); /** * @deprecated Use layerMouseLeave instead */ - @Output() mouseLeave = new EventEmitter(); + @Output() mouseLeave = new EventEmitter(); /** * @deprecated Use layerMouseMove instead */ - @Output() mouseMove = new EventEmitter(); + @Output() mouseMove = new EventEmitter(); /** * @deprecated Use layerMouseOver instead */ - @Output() mouseOver = new EventEmitter(); + @Output() mouseOver = new EventEmitter(); /** * @deprecated Use layerMouseOut instead */ - @Output() mouseOut = new EventEmitter(); + @Output() mouseOut = new EventEmitter(); /** * @deprecated Use layerContextMenu instead */ - @Output() contextMenu = new EventEmitter(); + @Output() contextMenu = new EventEmitter(); /** * @deprecated Use layerTouchStart instead */ - @Output() touchStart = new EventEmitter(); + @Output() touchStart = new EventEmitter(); /** * @deprecated Use layerTouchEnd instead */ - @Output() touchEnd = new EventEmitter(); + @Output() touchEnd = new EventEmitter(); /** * @deprecated Use layerTouchCancel instead */ - @Output() touchCancel = new EventEmitter(); + @Output() touchCancel = new EventEmitter(); private layerAdded = false; private sub: Subscription; diff --git a/libs/ngx-mapbox-gl/src/lib/map/map.component.ts b/libs/ngx-mapbox-gl/src/lib/map/map.component.ts index 8f768af0..90e83f4e 100644 --- a/libs/ngx-mapbox-gl/src/lib/map/map.component.ts +++ b/libs/ngx-mapbox-gl/src/lib/map/map.component.ts @@ -14,10 +14,8 @@ import { import { AnimationOptions, ErrorEvent, - EventData, LngLatBoundsLike, Map, - MapBoxZoomEvent, MapContextEvent, MapDataEvent, MapMouseEvent, @@ -25,14 +23,15 @@ import { MapStyleDataEvent, MapTouchEvent, MapWheelEvent, - MapboxEvent, - MapboxOptions, - PointLike, + MapEvent, + MapEvents, + MapOptions, + PointLike } from 'mapbox-gl'; import { lastValueFrom } from 'rxjs'; import { deprecationWarning } from '../utils'; import { MapService, MovingOptions } from './map.service'; -import { MapEvent } from './map.types'; +import { NgxMapEvent, EventData } from './map.types'; @Component({ selector: 'mgl-map', @@ -56,58 +55,58 @@ export class MapComponent OnChanges, OnDestroy, AfterViewInit, - Omit, - MapEvent + Omit, + NgxMapEvent { /* Init inputs */ - @Input() accessToken?: MapboxOptions['accessToken']; - @Input() collectResourceTiming?: MapboxOptions['collectResourceTiming']; - @Input() crossSourceCollisions?: MapboxOptions['crossSourceCollisions']; + @Input() accessToken?: MapOptions['accessToken']; + @Input() collectResourceTiming?: MapOptions['collectResourceTiming']; + @Input() crossSourceCollisions?: MapOptions['crossSourceCollisions']; @Input() customMapboxApiUrl?: string; - @Input() fadeDuration?: MapboxOptions['fadeDuration']; - @Input() hash?: MapboxOptions['hash']; - @Input() refreshExpiredTiles?: MapboxOptions['refreshExpiredTiles']; + @Input() fadeDuration?: MapOptions['fadeDuration']; + @Input() hash?: MapOptions['hash']; + @Input() refreshExpiredTiles?: MapOptions['refreshExpiredTiles']; @Input() - failIfMajorPerformanceCaveat?: MapboxOptions['failIfMajorPerformanceCaveat']; - @Input() bearingSnap?: MapboxOptions['bearingSnap']; - @Input() interactive?: MapboxOptions['interactive']; - @Input() pitchWithRotate?: MapboxOptions['pitchWithRotate']; - @Input() clickTolerance?: MapboxOptions['clickTolerance']; - @Input() attributionControl?: MapboxOptions['attributionControl']; - @Input() logoPosition?: MapboxOptions['logoPosition']; - @Input() maxTileCacheSize?: MapboxOptions['maxTileCacheSize']; - @Input() localIdeographFontFamily?: MapboxOptions['localIdeographFontFamily']; - @Input() preserveDrawingBuffer?: MapboxOptions['preserveDrawingBuffer']; - @Input() trackResize?: MapboxOptions['trackResize']; - @Input() transformRequest?: MapboxOptions['transformRequest']; - @Input() bounds?: MapboxOptions['bounds']; // Use fitBounds for dynamic input - @Input() antialias?: MapboxOptions['antialias']; - @Input() locale?: MapboxOptions['locale']; - @Input() cooperativeGestures?: MapboxOptions['cooperativeGestures']; + failIfMajorPerformanceCaveat?: MapOptions['failIfMajorPerformanceCaveat']; + @Input() bearingSnap?: MapOptions['bearingSnap']; + @Input() interactive?: MapOptions['interactive']; + @Input() pitchWithRotate?: MapOptions['pitchWithRotate']; + @Input() clickTolerance?: MapOptions['clickTolerance']; + @Input() attributionControl?: MapOptions['attributionControl']; + @Input() logoPosition?: MapOptions['logoPosition']; + @Input() maxTileCacheSize?: MapOptions['maxTileCacheSize']; + @Input() localIdeographFontFamily?: MapOptions['localIdeographFontFamily']; + @Input() preserveDrawingBuffer?: MapOptions['preserveDrawingBuffer']; + @Input() trackResize?: MapOptions['trackResize']; + @Input() transformRequest?: MapOptions['transformRequest']; + @Input() bounds?: MapOptions['bounds']; // Use fitBounds for dynamic input + @Input() antialias?: MapOptions['antialias']; + @Input() locale?: MapOptions['locale']; + @Input() cooperativeGestures?: MapOptions['cooperativeGestures']; /* Dynamic inputs */ - @Input() minZoom?: MapboxOptions['minZoom']; - @Input() maxZoom?: MapboxOptions['maxZoom']; - @Input() minPitch?: MapboxOptions['minPitch']; - @Input() maxPitch?: MapboxOptions['maxPitch']; - @Input() scrollZoom?: MapboxOptions['scrollZoom']; - @Input() dragRotate?: MapboxOptions['dragRotate']; - @Input() touchPitch?: MapboxOptions['touchPitch']; - @Input() touchZoomRotate?: MapboxOptions['touchZoomRotate']; - @Input() doubleClickZoom?: MapboxOptions['doubleClickZoom']; - @Input() keyboard?: MapboxOptions['keyboard']; - @Input() dragPan?: MapboxOptions['dragPan']; - @Input() boxZoom?: MapboxOptions['boxZoom']; - @Input() style: MapboxOptions['style']; - @Input() center?: MapboxOptions['center']; - @Input() maxBounds?: MapboxOptions['maxBounds']; + @Input() minZoom?: MapOptions['minZoom']; + @Input() maxZoom?: MapOptions['maxZoom']; + @Input() minPitch?: MapOptions['minPitch']; + @Input() maxPitch?: MapOptions['maxPitch']; + @Input() scrollZoom?: MapOptions['scrollZoom']; + @Input() dragRotate?: MapOptions['dragRotate']; + @Input() touchPitch?: MapOptions['touchPitch']; + @Input() touchZoomRotate?: MapOptions['touchZoomRotate']; + @Input() doubleClickZoom?: MapOptions['doubleClickZoom']; + @Input() keyboard?: MapOptions['keyboard']; + @Input() dragPan?: MapOptions['dragPan']; + @Input() boxZoom?: MapOptions['boxZoom']; + @Input() style: MapOptions['style']; + @Input() center?: MapOptions['center']; + @Input() maxBounds?: MapOptions['maxBounds']; @Input() zoom?: [number]; @Input() bearing?: [number]; @Input() pitch?: [number]; // First value goes to options.fitBoundsOptions. Subsequents changes are passed to fitBounds - @Input() fitBoundsOptions?: MapboxOptions['fitBoundsOptions']; - @Input() renderWorldCopies?: MapboxOptions['renderWorldCopies']; - @Input() projection?: MapboxOptions['projection']; + @Input() fitBoundsOptions?: MapOptions['fitBoundsOptions']; + @Input() renderWorldCopies?: MapOptions['renderWorldCopies']; + @Input() projection?: MapOptions['projection']; /* Added by ngx-mapbox-gl */ @Input() movingMethod: 'jumpTo' | 'easeTo' | 'flyTo' = 'flyTo'; @@ -119,179 +118,143 @@ export class MapComponent @Input() panToOptions?: AnimationOptions; @Input() cursorStyle?: string; - @Output() mapResize = new EventEmitter(); - @Output() mapRemove = new EventEmitter(); - @Output() mapMouseDown = new EventEmitter(); - @Output() mapMouseUp = new EventEmitter(); - @Output() mapMouseMove = new EventEmitter(); - @Output() mapClick = new EventEmitter(); - @Output() mapDblClick = new EventEmitter(); - @Output() mapMouseOver = new EventEmitter(); - @Output() mapMouseOut = new EventEmitter(); - @Output() mapContextMenu = new EventEmitter(); - @Output() mapTouchStart = new EventEmitter(); - @Output() mapTouchEnd = new EventEmitter(); - @Output() mapTouchMove = new EventEmitter(); - @Output() mapTouchCancel = new EventEmitter(); - @Output() mapWheel = new EventEmitter(); - @Output() moveStart = new EventEmitter< - MapboxEvent & EventData - >(); - @Output() move = new EventEmitter< - MapboxEvent & EventData - >(); - @Output() moveEnd = new EventEmitter< - MapboxEvent & EventData - >(); - @Output() mapDragStart = new EventEmitter< - MapboxEvent & EventData - >(); - @Output() mapDrag = new EventEmitter< - MapboxEvent & EventData - >(); - @Output() mapDragEnd = new EventEmitter< - MapboxEvent & EventData - >(); - @Output() zoomStart = new EventEmitter< - MapboxEvent & EventData - >(); - @Output() zoomEvt = new EventEmitter< - MapboxEvent & EventData - >(); - @Output() zoomEnd = new EventEmitter< - MapboxEvent & EventData - >(); - @Output() rotateStart = new EventEmitter< - MapboxEvent & EventData - >(); - @Output() rotate = new EventEmitter< - MapboxEvent & EventData - >(); - @Output() rotateEnd = new EventEmitter< - MapboxEvent & EventData - >(); - @Output() pitchStart = new EventEmitter< - MapboxEvent & EventData - >(); - @Output() pitchEvt = new EventEmitter< - MapboxEvent & EventData - >(); - @Output() pitchEnd = new EventEmitter< - MapboxEvent & EventData - >(); - @Output() boxZoomStart = new EventEmitter(); - @Output() boxZoomEnd = new EventEmitter(); - @Output() boxZoomCancel = new EventEmitter(); - @Output() webGlContextLost = new EventEmitter(); + @Output() mapResize = new EventEmitter(); + @Output() mapRemove = new EventEmitter(); + @Output() mapMouseDown = new EventEmitter(); + @Output() mapMouseUp = new EventEmitter(); + @Output() mapMouseMove = new EventEmitter(); + @Output() mapClick = new EventEmitter(); + @Output() mapDblClick = new EventEmitter(); + @Output() mapMouseOver = new EventEmitter(); + @Output() mapMouseOut = new EventEmitter(); + @Output() mapContextMenu = new EventEmitter(); + @Output() mapTouchStart = new EventEmitter(); + @Output() mapTouchEnd = new EventEmitter(); + @Output() mapTouchMove = new EventEmitter(); + @Output() mapTouchCancel = new EventEmitter(); + @Output() mapWheel = new EventEmitter(); + @Output() moveStart = new EventEmitter(); + @Output() move = new EventEmitter(); + @Output() moveEnd = new EventEmitter<(MapEvents['moveend'])>(); + @Output() mapDragStart = new EventEmitter(); + @Output() mapDrag = new EventEmitter(); + @Output() mapDragEnd = new EventEmitter(); + @Output() zoomStart = new EventEmitter(); + @Output() zoomEvt = new EventEmitter(); + @Output() zoomEnd = new EventEmitter(); + @Output() rotateStart = new EventEmitter(); + @Output() rotate = new EventEmitter(); + @Output() rotateEnd = new EventEmitter(); + @Output() pitchStart = new EventEmitter(); + @Output() pitchEvt = new EventEmitter(); + @Output() pitchEnd = new EventEmitter(); + @Output() boxZoomStart = new EventEmitter(); + @Output() boxZoomEnd = new EventEmitter(); + @Output() boxZoomCancel = new EventEmitter(); + @Output() webGlContextLost = new EventEmitter(); @Output() webGlContextRestored = new EventEmitter< - MapContextEvent & EventData + MapContextEvent >(); - @Output() mapLoad = new EventEmitter(); + @Output() mapLoad = new EventEmitter(); @Output() mapCreate = new EventEmitter(); - @Output() idle = new EventEmitter(); - @Output() render = new EventEmitter(); - @Output() mapError = new EventEmitter(); - @Output() data = new EventEmitter(); - @Output() styleData = new EventEmitter(); - @Output() sourceData = new EventEmitter(); - @Output() dataLoading = new EventEmitter(); + @Output() idle = new EventEmitter(); + @Output() render = new EventEmitter(); + @Output() mapError = new EventEmitter(); + @Output() data = new EventEmitter(); + @Output() styleData = new EventEmitter(); + @Output() sourceData = new EventEmitter(); + @Output() dataLoading = new EventEmitter(); @Output() styleDataLoading = new EventEmitter< - MapStyleDataEvent & EventData + MapStyleDataEvent >(); @Output() sourceDataLoading = new EventEmitter< - MapSourceDataEvent & EventData + MapSourceDataEvent >(); - @Output() styleImageMissing = new EventEmitter<{ id: string } & EventData>(); + @Output() styleImageMissing = new EventEmitter<{ id: string }>(); /** * @deprecated Use mapResize instead */ // eslint-disable-next-line @angular-eslint/no-output-native - @Output() resize = new EventEmitter(); + @Output() resize = new EventEmitter(); /** * @deprecated Use mapRemove instead */ // eslint-disable-next-line @angular-eslint/no-output-native - @Output() remove = new EventEmitter(); + @Output() remove = new EventEmitter(); /** * @deprecated Use mapMouseDown instead */ // eslint-disable-next-line @angular-eslint/no-output-native - @Output() mouseDown = new EventEmitter(); + @Output() mouseDown = new EventEmitter(); /** * @deprecated Use mapMouseUp instead */ // eslint-disable-next-line @angular-eslint/no-output-native - @Output() mouseUp = new EventEmitter(); + @Output() mouseUp = new EventEmitter(); /** * @deprecated Use mapMouseMove instead */ // eslint-disable-next-line @angular-eslint/no-output-native - @Output() mouseMove = new EventEmitter(); + @Output() mouseMove = new EventEmitter(); /** * @deprecated Use mapClick instead */ // eslint-disable-next-line @angular-eslint/no-output-native - @Output() click = new EventEmitter(); + @Output() click = new EventEmitter(); /** * @deprecated Use mapDblClick instead */ // eslint-disable-next-line @angular-eslint/no-output-native - @Output() dblClick = new EventEmitter(); + @Output() dblClick = new EventEmitter(); /** * @deprecated Use mapMouseOver instead */ // eslint-disable-next-line @angular-eslint/no-output-native - @Output() mouseOver = new EventEmitter(); + @Output() mouseOver = new EventEmitter(); /** * @deprecated Use mapMouseOut instead */ // eslint-disable-next-line @angular-eslint/no-output-native - @Output() mouseOut = new EventEmitter(); + @Output() mouseOut = new EventEmitter(); /** * @deprecated Use mapContextMenu instead */ - @Output() contextMenu = new EventEmitter(); + @Output() contextMenu = new EventEmitter(); /** * @deprecated Use mapTouchStart instead */ - @Output() touchStart = new EventEmitter(); + @Output() touchStart = new EventEmitter(); /** * @deprecated Use mapTouchEnd instead */ - @Output() touchEnd = new EventEmitter(); + @Output() touchEnd = new EventEmitter(); /** * @deprecated Use mapTouchMove instead */ - @Output() touchMove = new EventEmitter(); + @Output() touchMove = new EventEmitter(); /** * @deprecated Use mapTouchCancel instead */ - @Output() touchCancel = new EventEmitter(); + @Output() touchCancel = new EventEmitter(); /** * @deprecated Use mapWheel instead */ // eslint-disable-next-line @angular-eslint/no-output-native - @Output() wheel = new EventEmitter(); + @Output() wheel = new EventEmitter(); /** * @deprecated Use mapDragStart instead */ - @Output() dragStart = new EventEmitter< - MapboxEvent & EventData - >(); + @Output() dragStart = new EventEmitter(); /** * @deprecated Use mapDrag instead */ // eslint-disable-next-line @angular-eslint/no-output-native - @Output() drag = new EventEmitter< - MapboxEvent & EventData - >(); + @Output() drag = new EventEmitter(); /** * @deprecated Use mapDragEnd instead */ - @Output() dragEnd = new EventEmitter< - MapboxEvent & EventData - >(); + @Output() dragEnd = new EventEmitter(); /** * @deprecated Use mapLoad instead */ @@ -301,7 +264,7 @@ export class MapComponent * @deprecated Use mapError instead */ // eslint-disable-next-line @angular-eslint/no-output-native - @Output() error = new EventEmitter(); + @Output() error = new EventEmitter(); get mapInstance(): Map { return this.mapService.mapInstance; diff --git a/libs/ngx-mapbox-gl/src/lib/map/map.service.spec.ts b/libs/ngx-mapbox-gl/src/lib/map/map.service.spec.ts index 86a7cba0..c252220a 100644 --- a/libs/ngx-mapbox-gl/src/lib/map/map.service.spec.ts +++ b/libs/ngx-mapbox-gl/src/lib/map/map.service.spec.ts @@ -2,25 +2,24 @@ import { EventEmitter } from '@angular/core'; import { subscribeSpyTo } from '@hirez_io/observer-spy'; import { ErrorEvent, - EventData, Map, - MapboxEvent, - MapBoxZoomEvent, MapContextEvent, MapDataEvent, + MapEvent, + MapEvents, MapMouseEvent, MapSourceDataEvent, MapStyleDataEvent, MapTouchEvent, MapWheelEvent, - Style, + StyleSpecification, } from 'mapbox-gl'; import { MapService } from './map.service'; -import { MapEvent } from './map.types'; import { mockMapbox } from './mapbox.mock'; import { MockNgZone } from './mock-ng-zone'; +import { EventData, NgxMapEvent } from './map.types' -const geoJSONStyle: Style = { +const geoJSONStyle: StyleSpecification = { sources: { world: { type: 'geojson', @@ -44,7 +43,7 @@ const geoJSONStyle: Style = { describe('MapService', () => { let service: MapService; let container: HTMLElement; - let mapEvents: MapEvent; + let mapEvents: NgxMapEvent; let zone: MockNgZone; let mapboxInstanceMock: ReturnType; @@ -53,9 +52,9 @@ describe('MapService', () => { service = new MapService(zone, null); container = document.createElement('div'); mapEvents = { - mapResize: new EventEmitter(), - mapRemove: new EventEmitter(), - mapMouseDown: new EventEmitter(), + mapResize: new EventEmitter(), + mapRemove: new EventEmitter(), + mapMouseDown: new EventEmitter(), mapMouseUp: new EventEmitter(), mapMouseMove: new EventEmitter(), mapClick: new EventEmitter(), @@ -68,65 +67,29 @@ describe('MapService', () => { mapTouchMove: new EventEmitter(), mapTouchCancel: new EventEmitter(), mapWheel: new EventEmitter(), - moveStart: new EventEmitter< - MapboxEvent & - EventData - >(), - move: new EventEmitter< - MapboxEvent & - EventData - >(), - moveEnd: new EventEmitter< - MapboxEvent & - EventData - >(), - mapDragStart: new EventEmitter< - MapboxEvent & EventData - >(), - mapDrag: new EventEmitter< - MapboxEvent & EventData - >(), - mapDragEnd: new EventEmitter< - MapboxEvent & EventData - >(), - zoomStart: new EventEmitter< - MapboxEvent & - EventData - >(), - zoomEvt: new EventEmitter< - MapboxEvent & - EventData - >(), - zoomEnd: new EventEmitter< - MapboxEvent & - EventData - >(), - rotateStart: new EventEmitter< - MapboxEvent & EventData - >(), - rotate: new EventEmitter< - MapboxEvent & EventData - >(), - rotateEnd: new EventEmitter< - MapboxEvent & EventData - >(), - pitchStart: new EventEmitter< - MapboxEvent & EventData - >(), - pitchEvt: new EventEmitter< - MapboxEvent & EventData - >(), - pitchEnd: new EventEmitter< - MapboxEvent & EventData - >(), - boxZoomStart: new EventEmitter(), - boxZoomEnd: new EventEmitter(), - boxZoomCancel: new EventEmitter(), + moveStart: new EventEmitter(), + move: new EventEmitter(), + moveEnd: new EventEmitter(), + mapDragStart: new EventEmitter(), + mapDrag: new EventEmitter(), + mapDragEnd: new EventEmitter(), + zoomStart: new EventEmitter(), + zoomEvt: new EventEmitter(), + zoomEnd: new EventEmitter(), + rotateStart: new EventEmitter(), + rotate: new EventEmitter(), + rotateEnd: new EventEmitter(), + pitchStart: new EventEmitter(), + pitchEvt: new EventEmitter(), + pitchEnd: new EventEmitter(), + boxZoomStart: new EventEmitter(), + boxZoomEnd: new EventEmitter(), + boxZoomCancel: new EventEmitter(), webGlContextLost: new EventEmitter(), webGlContextRestored: new EventEmitter(), - mapLoad: new EventEmitter(), + mapLoad: new EventEmitter(), mapCreate: new EventEmitter(), - render: new EventEmitter(), + render: new EventEmitter(), mapError: new EventEmitter(), data: new EventEmitter(), styleData: new EventEmitter(), @@ -135,10 +98,10 @@ describe('MapService', () => { styleDataLoading: new EventEmitter(), sourceDataLoading: new EventEmitter(), styleImageMissing: new EventEmitter<{ id: string } & EventData>(), - idle: new EventEmitter(), + idle: new EventEmitter(), - resize: new EventEmitter(), - remove: new EventEmitter(), + resize: new EventEmitter(), + remove: new EventEmitter(), mouseDown: new EventEmitter(), mouseUp: new EventEmitter(), mouseMove: new EventEmitter(), @@ -152,15 +115,9 @@ describe('MapService', () => { touchMove: new EventEmitter(), touchCancel: new EventEmitter(), wheel: new EventEmitter(), - dragStart: new EventEmitter< - MapboxEvent & EventData - >(), - drag: new EventEmitter< - MapboxEvent & EventData - >(), - dragEnd: new EventEmitter< - MapboxEvent & EventData - >(), + dragStart: new EventEmitter(), + drag: new EventEmitter(), + dragEnd: new EventEmitter(), load: new EventEmitter(), error: new EventEmitter(), }; diff --git a/libs/ngx-mapbox-gl/src/lib/map/map.service.ts b/libs/ngx-mapbox-gl/src/lib/map/map.service.ts index 42fe9ab7..dff7d624 100644 --- a/libs/ngx-mapbox-gl/src/lib/map/map.service.ts +++ b/libs/ngx-mapbox-gl/src/lib/map/map.service.ts @@ -6,32 +6,34 @@ import { NgZone, Optional, } from '@angular/core'; -import MapboxGl from 'mapbox-gl'; +import * as MapboxGl from 'mapbox-gl'; import { AsyncSubject, Observable, Subscription } from 'rxjs'; import { first } from 'rxjs/operators'; import { - LayerEvents, - MapEvent, + NgxMapboxLayerEvents, + NgxMapEvent, MapImageData, MapImageOptions, } from './map.types'; +import { LayerSpecification } from 'mapbox-gl'; export const MAPBOX_API_KEY = new InjectionToken('MapboxApiKey'); export interface SetupMap { accessToken?: string; customMapboxApiUrl?: string; - mapOptions: Omit & { + mapOptions: Omit & { bearing?: [number]; pitch?: [number]; zoom?: [number]; + accessToken?: [string]; }; - mapEvents: MapEvent; + mapEvents: NgxMapEvent; } export interface SetupLayer { layerOptions: MapboxGl.Layer; - layerEvents: LayerEvents; + layerEvents: NgxMapboxLayerEvents; } export interface SetupPopup { @@ -66,21 +68,14 @@ export interface SetupMarker { }; } -interface MapboxOptionsWithAccessToken extends MapboxGl.MapboxOptions { - accessToken: typeof MapboxGl.accessToken; -} - -export type MovingOptions = - | MapboxGl.FlyToOptions - | (MapboxGl.AnimationOptions & MapboxGl.CameraOptions) - | MapboxGl.CameraOptions; +export type MovingOptions = MapboxGl.EasingOptions @Injectable() export class MapService { mapInstance: MapboxGl.Map; mapCreated$: Observable; mapLoaded$: Observable; - mapEvents: MapEvent; + mapEvents: NgxMapEvent; private mapCreated = new AsyncSubject(); private mapLoaded = new AsyncSubject(); @@ -109,17 +104,17 @@ export class MapService { // options.accessToken || this.MAPBOX_API_KEY // ); if (options.customMapboxApiUrl) { - (MapboxGl.baseApiUrl as string) = options.customMapboxApiUrl; + MapboxGl.default.baseApiUrl = options.customMapboxApiUrl; } this.createMap({ - ...(options.mapOptions as MapboxGl.MapboxOptions), + ...(options.mapOptions as MapboxGl.MapOptions), accessToken: options.accessToken || this.MAPBOX_API_KEY || '', }); this.hookEvents(options.mapEvents); this.mapEvents = options.mapEvents; this.mapCreated.next(undefined); this.mapCreated.complete(); - // Intentionnaly emit mapCreate after internal mapCreated event + // Intentionally emit mapCreate after internal mapCreated event if (options.mapEvents.mapCreate.observed) { this.zone.run(() => { options.mapEvents.mapCreate.emit(this.mapInstance); @@ -235,7 +230,7 @@ export class MapService { }); } - updateStyle(style: MapboxGl.Style) { + updateStyle(style: MapboxGl.StyleSpecification) { return this.zone.runOutsideAngular(() => { this.mapInstance.setStyle(style); }); @@ -253,7 +248,7 @@ export class MapService { } queryRenderedFeatures( - pointOrBox?: MapboxGl.PointLike | [MapboxGl.PointLike, MapboxGl.PointLike], + pointOrBox: MapboxGl.PointLike | [MapboxGl.PointLike, MapboxGl.PointLike], parameters?: { layers?: string[]; filter?: any[] } ): GeoJSON.Feature[] { return this.mapInstance.queryRenderedFeatures(pointOrBox, parameters); @@ -287,13 +282,13 @@ export class MapService { addLayer(layer: SetupLayer, bindEvents: boolean, before?: string) { this.zone.runOutsideAngular(() => { Object.keys(layer.layerOptions).forEach((key: string) => { - const tkey = key as keyof MapboxGl.AnyLayer; + const tkey = key as keyof MapboxGl.LayerSpecification; if (layer.layerOptions[tkey] === undefined) { delete layer.layerOptions[tkey]; } }); this.mapInstance.addLayer( - layer.layerOptions as MapboxGl.AnyLayer, + layer.layerOptions as MapboxGl.LayerSpecification, before ); if (bindEvents) { @@ -596,7 +591,7 @@ export class MapService { } addControl( - control: MapboxGl.Control | MapboxGl.IControl, + control: MapboxGl.IControl, position?: 'top-right' | 'top-left' | 'bottom-right' | 'bottom-left' ) { return this.zone.runOutsideAngular(() => { @@ -604,7 +599,7 @@ export class MapService { }); } - removeControl(control: MapboxGl.Control | MapboxGl.IControl) { + removeControl(control: MapboxGl.IControl) { return this.zone.runOutsideAngular(() => { this.mapInstance.removeControl(control as any); }); @@ -640,7 +635,7 @@ export class MapService { this.imageIdsToRemove.push(imageId); } - addSource(sourceId: string, source: MapboxGl.AnySourceData) { + addSource(sourceId: string, source: MapboxGl.SourceSpecification) { return this.zone.runOutsideAngular(() => { Object.keys(source).forEach( (key) => @@ -650,7 +645,7 @@ export class MapService { }); } - getSource(sourceId: string) { + getSource(sourceId: string) { return this.mapInstance.getSource(sourceId) as T; } @@ -665,38 +660,24 @@ export class MapService { setAllLayerPaintProperty( layerId: string, - paint: - | MapboxGl.BackgroundPaint - | MapboxGl.FillPaint - | MapboxGl.FillExtrusionPaint - | MapboxGl.LinePaint - | MapboxGl.SymbolPaint - | MapboxGl.RasterPaint - | MapboxGl.CirclePaint + paint: MapboxGl.PaintSpecification ) { return this.zone.runOutsideAngular(() => { Object.keys(paint).forEach((key) => { // TODO Check for perf, setPaintProperty only on changed paint props maybe - this.mapInstance.setPaintProperty(layerId, key, (paint as any)[key]); + this.mapInstance.setPaintProperty(layerId, key as keyof MapboxGl.PaintSpecification, (paint as any)[key]); }); }); } setAllLayerLayoutProperty( layerId: string, - layout: - | MapboxGl.BackgroundLayout - | MapboxGl.FillLayout - | MapboxGl.FillExtrusionLayout - | MapboxGl.LineLayout - | MapboxGl.SymbolLayout - | MapboxGl.RasterLayout - | MapboxGl.CircleLayout + layout: MapboxGl.LayoutSpecification ) { return this.zone.runOutsideAngular(() => { Object.keys(layout).forEach((key) => { // TODO Check for perf, setPaintProperty only on changed paint props maybe - this.mapInstance.setLayoutProperty(layerId, key, (layout as any)[key]); + this.mapInstance.setLayoutProperty(layerId, key as keyof MapboxGl.LayoutSpecification, (layout as any)[key]); }); }); } @@ -755,10 +736,10 @@ export class MapService { }); } - private createMap(optionsWithAccessToken: MapboxOptionsWithAccessToken) { + private createMap(optionsWithAccessToken: MapboxGl.MapOptions) { NgZone.assertNotInAngularZone(); Object.keys(optionsWithAccessToken).forEach((key: string) => { - const tkey = key as keyof MapboxGl.MapboxOptions; + const tkey = key as keyof MapboxGl.MapOptions; if (optionsWithAccessToken[tkey] === undefined) { delete optionsWithAccessToken[tkey]; } @@ -798,7 +779,7 @@ export class MapService { } private findLayersBySourceId(sourceId: string): MapboxGl.Layer[] { - const layers = this.mapInstance.getStyle().layers; + const layers = this.mapInstance.getStyle()?.layers; if (layers == null) { return []; } @@ -808,7 +789,7 @@ export class MapService { ); } - private hookEvents(events: MapEvent) { + private hookEvents(events: NgxMapEvent) { this.mapInstance.on('load', (evt) => { this.mapLoaded.next(undefined); this.mapLoaded.complete(); diff --git a/libs/ngx-mapbox-gl/src/lib/map/map.types.ts b/libs/ngx-mapbox-gl/src/lib/map/map.types.ts index e2791758..bf682b6f 100644 --- a/libs/ngx-mapbox-gl/src/lib/map/map.types.ts +++ b/libs/ngx-mapbox-gl/src/lib/map/map.types.ts @@ -2,156 +2,118 @@ import { EventEmitter } from '@angular/core'; import { ErrorEvent, - EventData, GeolocateControl, Map, - MapboxEvent, - MapBoxZoomEvent, MapContextEvent, MapDataEvent, - MapLayerMouseEvent, - MapLayerTouchEvent, MapMouseEvent, MapSourceDataEvent, MapStyleDataEvent, MapTouchEvent, MapWheelEvent, + MapEvent, + MapEvents } from 'mapbox-gl'; +export type EventData = object; -export interface MapEvent { - mapResize: EventEmitter; - mapRemove: EventEmitter; - mapMouseDown: EventEmitter; - mapMouseUp: EventEmitter; - mapMouseMove: EventEmitter; - mapClick: EventEmitter; - mapDblClick: EventEmitter; - mapMouseOver: EventEmitter; - mapMouseOut: EventEmitter; - mapContextMenu: EventEmitter; - mapTouchStart: EventEmitter; - mapTouchEnd: EventEmitter; - mapTouchMove: EventEmitter; - mapTouchCancel: EventEmitter; - mapWheel: EventEmitter; - moveStart: EventEmitter< - MapboxEvent & EventData - >; - move: EventEmitter< - MapboxEvent & EventData - >; - moveEnd: EventEmitter< - MapboxEvent & EventData - >; - mapDragStart: EventEmitter< - MapboxEvent & EventData - >; - mapDrag: EventEmitter< - MapboxEvent & EventData - >; - mapDragEnd: EventEmitter< - MapboxEvent & EventData - >; - zoomStart: EventEmitter< - MapboxEvent & EventData - >; - zoomEvt: EventEmitter< - MapboxEvent & EventData - >; - zoomEnd: EventEmitter< - MapboxEvent & EventData - >; - rotateStart: EventEmitter< - MapboxEvent & EventData - >; - rotate: EventEmitter< - MapboxEvent & EventData - >; - rotateEnd: EventEmitter< - MapboxEvent & EventData - >; - pitchStart: EventEmitter< - MapboxEvent & EventData - >; - pitchEvt: EventEmitter< - MapboxEvent & EventData - >; - pitchEnd: EventEmitter< - MapboxEvent & EventData - >; - boxZoomStart: EventEmitter; - boxZoomEnd: EventEmitter; - boxZoomCancel: EventEmitter; - webGlContextLost: EventEmitter; - webGlContextRestored: EventEmitter; - mapLoad: EventEmitter; +export interface NgxMapEvent { + mapResize: EventEmitter; + mapRemove: EventEmitter; + mapMouseDown: EventEmitter; + mapMouseUp: EventEmitter; + mapMouseMove: EventEmitter; + mapClick: EventEmitter; + mapDblClick: EventEmitter; + mapMouseOver: EventEmitter; + mapMouseOut: EventEmitter; + mapContextMenu: EventEmitter; + mapTouchStart: EventEmitter; + mapTouchEnd: EventEmitter; + mapTouchMove: EventEmitter; + mapTouchCancel: EventEmitter; + mapWheel: EventEmitter; + moveStart: EventEmitter; + move: EventEmitter; + moveEnd: EventEmitter; + mapDragStart: EventEmitter; + mapDrag: EventEmitter; + mapDragEnd: EventEmitter; + zoomStart: EventEmitter; + zoomEvt: EventEmitter; + zoomEnd: EventEmitter; + rotateStart: EventEmitter; + rotate: EventEmitter; + rotateEnd: EventEmitter; + pitchStart: EventEmitter; + pitchEvt: EventEmitter; + pitchEnd: EventEmitter; + boxZoomStart: EventEmitter; + boxZoomEnd: EventEmitter; + boxZoomCancel: EventEmitter; + webGlContextLost: EventEmitter; + webGlContextRestored: EventEmitter; + mapLoad: EventEmitter; mapCreate: EventEmitter; - render: EventEmitter; - mapError: EventEmitter; - data: EventEmitter; - styleData: EventEmitter; - sourceData: EventEmitter; - dataLoading: EventEmitter; - styleDataLoading: EventEmitter; - sourceDataLoading: EventEmitter; - styleImageMissing: EventEmitter<{ id: string } & EventData>; - idle: EventEmitter; + render: EventEmitter; + mapError: EventEmitter; + data: EventEmitter; + styleData: EventEmitter; + sourceData: EventEmitter; + dataLoading: EventEmitter; + styleDataLoading: EventEmitter; + sourceDataLoading: EventEmitter; + styleImageMissing: EventEmitter<{ id: string }>; + idle: EventEmitter; - resize: EventEmitter; - remove: EventEmitter; - mouseDown: EventEmitter; - mouseUp: EventEmitter; - mouseMove: EventEmitter; - click: EventEmitter; - dblClick: EventEmitter; - mouseOver: EventEmitter; - mouseOut: EventEmitter; - contextMenu: EventEmitter; - touchStart: EventEmitter; - touchEnd: EventEmitter; - touchMove: EventEmitter; - touchCancel: EventEmitter; - wheel: EventEmitter; - dragStart: EventEmitter< - MapboxEvent & EventData - >; - drag: EventEmitter< - MapboxEvent & EventData - >; - dragEnd: EventEmitter< - MapboxEvent & EventData - >; + resize: EventEmitter; + remove: EventEmitter; + mouseDown: EventEmitter; + mouseUp: EventEmitter; + mouseMove: EventEmitter; + click: EventEmitter; + dblClick: EventEmitter; + mouseOver: EventEmitter; + mouseOut: EventEmitter; + contextMenu: EventEmitter; + touchStart: EventEmitter; + touchEnd: EventEmitter; + touchMove: EventEmitter; + touchCancel: EventEmitter; + wheel: EventEmitter; + dragStart: EventEmitter; + drag: EventEmitter; + dragEnd: EventEmitter; load: EventEmitter; // Consider emitting MapboxEvent for consistency (breaking change). - error: EventEmitter; + error: EventEmitter; } -export interface LayerEvents { - layerClick: EventEmitter; - layerDblClick: EventEmitter; - layerMouseDown: EventEmitter; - layerMouseUp: EventEmitter; - layerMouseEnter: EventEmitter; - layerMouseLeave: EventEmitter; - layerMouseMove: EventEmitter; - layerMouseOver: EventEmitter; - layerMouseOut: EventEmitter; - layerContextMenu: EventEmitter; - layerTouchStart: EventEmitter; - layerTouchEnd: EventEmitter; - layerTouchCancel: EventEmitter; - click: EventEmitter; - dblClick: EventEmitter; - mouseDown: EventEmitter; - mouseUp: EventEmitter; - mouseEnter: EventEmitter; - mouseLeave: EventEmitter; - mouseMove: EventEmitter; - mouseOver: EventEmitter; - mouseOut: EventEmitter; - contextMenu: EventEmitter; - touchStart: EventEmitter; - touchEnd: EventEmitter; - touchCancel: EventEmitter; +export interface NgxMapboxLayerEvents { + layerClick: EventEmitter; + layerDblClick: EventEmitter; + layerMouseDown: EventEmitter; + layerMouseUp: EventEmitter; + layerMouseEnter: EventEmitter; + layerMouseLeave: EventEmitter; + layerMouseMove: EventEmitter; + layerMouseOver: EventEmitter; + layerMouseOut: EventEmitter; + layerContextMenu: EventEmitter; + layerTouchStart: EventEmitter; + layerTouchEnd: EventEmitter; + layerTouchCancel: EventEmitter; + click: EventEmitter; + dblClick: EventEmitter; + mouseDown: EventEmitter; + mouseUp: EventEmitter; + mouseEnter: EventEmitter; + mouseLeave: EventEmitter; + mouseMove: EventEmitter; + mouseOver: EventEmitter; + mouseOut: EventEmitter; + contextMenu: EventEmitter; + touchStart: EventEmitter; + touchEnd: EventEmitter; + touchCancel: EventEmitter; } /** diff --git a/libs/ngx-mapbox-gl/src/lib/marker/marker.component.ts b/libs/ngx-mapbox-gl/src/lib/marker/marker.component.ts index 490c1315..dc60d98e 100644 --- a/libs/ngx-mapbox-gl/src/lib/marker/marker.component.ts +++ b/libs/ngx-mapbox-gl/src/lib/marker/marker.component.ts @@ -84,8 +84,8 @@ export class MarkerComponent } if (changes['popupShown'] && !changes['popupShown'].isFirstChange()) { changes['popupShown'].currentValue - ? this.markerInstance!.getPopup().addTo(this.mapService.mapInstance) - : this.markerInstance!.getPopup().remove(); + ? this.markerInstance!.getPopup()?.addTo(this.mapService.mapInstance) + : this.markerInstance!.getPopup()?.remove(); } if ( changes['pitchAlignment'] && diff --git a/libs/ngx-mapbox-gl/src/lib/source/canvas-source.component.ts b/libs/ngx-mapbox-gl/src/lib/source/canvas-source.component.ts index c850a0ad..b172fe46 100644 --- a/libs/ngx-mapbox-gl/src/lib/source/canvas-source.component.ts +++ b/libs/ngx-mapbox-gl/src/lib/source/canvas-source.component.ts @@ -7,26 +7,53 @@ import { OnInit, SimpleChanges, } from '@angular/core'; -import { CanvasSource, CanvasSourceOptions, CanvasSourceRaw } from 'mapbox-gl'; +import { CanvasSource } from 'mapbox-gl'; import { fromEvent, Subscription } from 'rxjs'; import { filter } from 'rxjs/operators'; import { MapService } from '../map/map.service'; +// TODO: Remove Add CanvasSourceSpecification from mapbox-gl after release 3.8 +type CanvasSourceSpecification = { + ["type"]: "canvas"; + ["coordinates"]: [ + [ + number, + number + ], + [ + number, + number + ], + [ + number, + number + ], + [ + number, + number + ] + ]; + ["animate"]?: boolean; + ["canvas"]: string | HTMLCanvasElement; +} + @Component({ selector: 'mgl-canvas-source', template: '', changeDetection: ChangeDetectionStrategy.OnPush, }) export class CanvasSourceComponent - implements OnInit, OnDestroy, OnChanges, CanvasSourceOptions + implements OnInit, OnDestroy, OnChanges, CanvasSourceSpecification { /* Init inputs */ @Input() id: string; /* Dynamic inputs */ - @Input() coordinates: CanvasSourceOptions['coordinates']; - @Input() canvas: CanvasSourceOptions['canvas']; - @Input() animate?: CanvasSourceOptions['animate']; + @Input() coordinates: CanvasSourceSpecification['coordinates']; + @Input() canvas: CanvasSourceSpecification['canvas']; + @Input() animate?: CanvasSourceSpecification['animate']; + + type: CanvasSourceSpecification['type'] = 'canvas'; private sourceAdded = false; private sub = new Subscription(); @@ -77,12 +104,13 @@ export class CanvasSourceComponent } private init() { - const source: CanvasSourceRaw = { + const source: CanvasSourceSpecification = { type: 'canvas', coordinates: this.coordinates, canvas: this.canvas, animate: this.animate, }; + // @ts-ignore TODO: Remove after release 3.8 this.mapService.addSource(this.id, source); this.sourceAdded = true; } diff --git a/libs/ngx-mapbox-gl/src/lib/source/geojson/geojson-source.component.ts b/libs/ngx-mapbox-gl/src/lib/source/geojson/geojson-source.component.ts index 6b9b558c..82bffdef 100644 --- a/libs/ngx-mapbox-gl/src/lib/source/geojson/geojson-source.component.ts +++ b/libs/ngx-mapbox-gl/src/lib/source/geojson/geojson-source.component.ts @@ -10,8 +10,7 @@ import { } from '@angular/core'; import { GeoJSONSource, - GeoJSONSourceOptions, - GeoJSONSourceRaw, + GeoJSONSourceSpecification, } from 'mapbox-gl'; import { fromEvent, Subject, Subscription } from 'rxjs'; import { debounceTime, filter } from 'rxjs/operators'; @@ -23,27 +22,28 @@ import { MapService } from '../../map/map.service'; changeDetection: ChangeDetectionStrategy.OnPush, }) export class GeoJSONSourceComponent - implements OnInit, OnDestroy, OnChanges, GeoJSONSourceOptions + implements OnInit, OnDestroy, OnChanges, GeoJSONSourceSpecification { /* Init inputs */ @Input() id: string; /* Dynamic inputs */ - @Input() data?: GeoJSONSourceOptions['data']; - @Input() maxzoom?: GeoJSONSourceOptions['maxzoom']; - @Input() attribution?: GeoJSONSourceOptions['attribution']; - @Input() buffer?: GeoJSONSourceOptions['buffer']; - @Input() tolerance?: GeoJSONSourceOptions['tolerance']; - @Input() cluster?: GeoJSONSourceOptions['cluster']; - @Input() clusterRadius?: GeoJSONSourceOptions['clusterRadius']; - @Input() clusterMaxZoom?: GeoJSONSourceOptions['clusterMaxZoom']; - @Input() clusterMinPoints?: GeoJSONSourceOptions['clusterMinPoints']; - @Input() clusterProperties?: GeoJSONSourceOptions['clusterProperties']; - @Input() lineMetrics?: GeoJSONSourceOptions['lineMetrics']; - @Input() generateId?: GeoJSONSourceOptions['generateId']; - @Input() promoteId?: GeoJSONSourceOptions['promoteId']; - @Input() filter?: GeoJSONSourceOptions['filter']; + @Input() data?: GeoJSONSourceSpecification['data']; + @Input() maxzoom?: GeoJSONSourceSpecification['maxzoom']; + @Input() attribution?: GeoJSONSourceSpecification['attribution']; + @Input() buffer?: GeoJSONSourceSpecification['buffer']; + @Input() tolerance?: GeoJSONSourceSpecification['tolerance']; + @Input() cluster?: GeoJSONSourceSpecification['cluster']; + @Input() clusterRadius?: GeoJSONSourceSpecification['clusterRadius']; + @Input() clusterMaxZoom?: GeoJSONSourceSpecification['clusterMaxZoom']; + @Input() clusterMinPoints?: GeoJSONSourceSpecification['clusterMinPoints']; + @Input() clusterProperties?: GeoJSONSourceSpecification['clusterProperties']; + @Input() lineMetrics?: GeoJSONSourceSpecification['lineMetrics']; + @Input() generateId?: GeoJSONSourceSpecification['generateId']; + @Input() promoteId?: GeoJSONSourceSpecification['promoteId']; + @Input() filter?: GeoJSONSourceSpecification['filter']; + type: GeoJSONSourceSpecification['type'] = 'geojson'; updateFeatureData = new Subject(); private sub = new Subscription(); @@ -127,7 +127,7 @@ export class GeoJSONSourceComponent if (error) { reject(error); } else { - resolve(zoom); + resolve(zoom ? zoom : 0); } }); }) @@ -148,7 +148,7 @@ export class GeoJSONSourceComponent if (error) { reject(error); } else { - resolve(features); + resolve(features ? features : []); } }); }) @@ -175,7 +175,7 @@ export class GeoJSONSourceComponent if (error) { reject(error); } else { - resolve(features); + resolve(features ? features : []); } } ); @@ -205,7 +205,7 @@ export class GeoJSONSourceComponent } private init() { - const source: GeoJSONSourceRaw = { + const source: GeoJSONSourceSpecification = { type: 'geojson', data: this.data, maxzoom: this.maxzoom, diff --git a/libs/ngx-mapbox-gl/src/lib/source/image-source.component.ts b/libs/ngx-mapbox-gl/src/lib/source/image-source.component.ts index a322efad..6528bb71 100644 --- a/libs/ngx-mapbox-gl/src/lib/source/image-source.component.ts +++ b/libs/ngx-mapbox-gl/src/lib/source/image-source.component.ts @@ -7,7 +7,7 @@ import { OnInit, SimpleChanges, } from '@angular/core'; -import { ImageSource, ImageSourceOptions, ImageSourceRaw } from 'mapbox-gl'; +import { ImageSource, ImageSourceSpecification } from 'mapbox-gl'; import { Subscription } from 'rxjs'; import { MapService } from '../map/map.service'; @@ -17,14 +17,16 @@ import { MapService } from '../map/map.service'; changeDetection: ChangeDetectionStrategy.OnPush, }) export class ImageSourceComponent - implements OnInit, OnDestroy, OnChanges, ImageSourceOptions + implements OnInit, OnDestroy, OnChanges, ImageSourceSpecification { + type: "image"; + /* Init inputs */ @Input() id: string; /* Dynamic inputs */ - @Input() url: ImageSourceOptions['url']; - @Input() coordinates: ImageSourceOptions['coordinates']; + @Input() url: ImageSourceSpecification['url']; + @Input() coordinates: ImageSourceSpecification['coordinates']; private sub: Subscription; private sourceId?: string; @@ -45,6 +47,7 @@ export class ImageSourceComponent return; } source.updateImage({ + // @ts-ignore url: changes['url'] === undefined ? undefined : this.url, coordinates: changes['coordinates'] === undefined ? undefined : this.coordinates, @@ -63,7 +66,7 @@ export class ImageSourceComponent } private init() { - const imageSource: ImageSourceRaw = { + const imageSource: ImageSourceSpecification = { type: 'image', url: this.url, coordinates: this.coordinates, diff --git a/libs/ngx-mapbox-gl/src/lib/source/raster-dem-source.component.ts b/libs/ngx-mapbox-gl/src/lib/source/raster-dem-source.component.ts index 6c0fb880..f3a0f6bf 100644 --- a/libs/ngx-mapbox-gl/src/lib/source/raster-dem-source.component.ts +++ b/libs/ngx-mapbox-gl/src/lib/source/raster-dem-source.component.ts @@ -7,7 +7,7 @@ import { OnInit, SimpleChanges, } from '@angular/core'; -import { RasterDemSource } from 'mapbox-gl'; +import { RasterDEMSourceSpecification } from 'mapbox-gl'; import { fromEvent, Subscription } from 'rxjs'; import { filter } from 'rxjs/operators'; import { MapService } from '../map/map.service'; @@ -18,28 +18,30 @@ import { MapService } from '../map/map.service'; changeDetection: ChangeDetectionStrategy.OnPush, }) export class RasterDemSourceComponent - implements OnInit, OnDestroy, OnChanges, RasterDemSource + implements OnInit, OnDestroy, OnChanges, RasterDEMSourceSpecification { /* Init inputs */ @Input() id: string; /* Dynamic inputs */ - @Input() url?: RasterDemSource['url']; - @Input() tiles?: RasterDemSource['tiles']; - @Input() bounds?: RasterDemSource['bounds']; - @Input() minzoom?: RasterDemSource['minzoom']; - @Input() maxzoom?: RasterDemSource['maxzoom']; - @Input() tileSize?: RasterDemSource['tileSize']; - @Input() attribution?: RasterDemSource['attribution']; - @Input() encoding?: RasterDemSource['encoding']; + @Input() url?: RasterDEMSourceSpecification['url']; + @Input() tiles?: RasterDEMSourceSpecification['tiles']; + @Input() bounds?: RasterDEMSourceSpecification['bounds']; + @Input() minzoom?: RasterDEMSourceSpecification['minzoom']; + @Input() maxzoom?: RasterDEMSourceSpecification['maxzoom']; + @Input() tileSize?: RasterDEMSourceSpecification['tileSize']; + @Input() attribution?: RasterDEMSourceSpecification['attribution']; + @Input() encoding?: RasterDEMSourceSpecification['encoding']; - type: RasterDemSource['type'] = 'raster-dem'; + type: RasterDEMSourceSpecification['type'] = 'raster-dem'; + [_: string]: unknown; private sourceAdded = false; private sub = new Subscription(); constructor(private mapService: MapService) {} + ngOnInit() { const sub1 = this.mapService.mapLoaded$.subscribe(() => { this.init(); @@ -81,7 +83,7 @@ export class RasterDemSourceComponent } private init() { - const source: RasterDemSource = { + const source: RasterDEMSourceSpecification = { type: this.type, url: this.url, tiles: this.tiles, diff --git a/libs/ngx-mapbox-gl/src/lib/source/raster-source.component.ts b/libs/ngx-mapbox-gl/src/lib/source/raster-source.component.ts index 77db986f..4cd5a6a4 100644 --- a/libs/ngx-mapbox-gl/src/lib/source/raster-source.component.ts +++ b/libs/ngx-mapbox-gl/src/lib/source/raster-source.component.ts @@ -7,7 +7,7 @@ import { OnInit, SimpleChanges, } from '@angular/core'; -import { RasterSource } from 'mapbox-gl'; +import { RasterSourceSpecification } from 'mapbox-gl'; import { fromEvent, Subscription } from 'rxjs'; import { filter } from 'rxjs/operators'; import { MapService } from '../map/map.service'; @@ -18,22 +18,23 @@ import { MapService } from '../map/map.service'; changeDetection: ChangeDetectionStrategy.OnPush, }) export class RasterSourceComponent - implements OnInit, OnDestroy, OnChanges, RasterSource + implements OnInit, OnDestroy, OnChanges, RasterSourceSpecification { /* Init inputs */ @Input() id: string; /* Dynamic inputs */ - @Input() url?: RasterSource['url']; - @Input() tiles?: RasterSource['tiles']; - @Input() bounds?: RasterSource['bounds']; - @Input() minzoom?: RasterSource['minzoom']; - @Input() maxzoom?: RasterSource['maxzoom']; - @Input() tileSize?: RasterSource['tileSize']; - @Input() scheme?: RasterSource['scheme']; - @Input() attribution?: RasterSource['attribution']; + @Input() url?: RasterSourceSpecification['url']; + @Input() tiles?: RasterSourceSpecification['tiles']; + @Input() bounds?: RasterSourceSpecification['bounds']; + @Input() minzoom?: RasterSourceSpecification['minzoom']; + @Input() maxzoom?: RasterSourceSpecification['maxzoom']; + @Input() tileSize?: RasterSourceSpecification['tileSize']; + @Input() scheme?: RasterSourceSpecification['scheme']; + @Input() attribution?: RasterSourceSpecification['attribution']; - type: RasterSource['type'] = 'raster'; + type: RasterSourceSpecification['type'] = 'raster'; + [_: string]: unknown; private sourceAdded = false; private sub = new Subscription(); @@ -81,7 +82,7 @@ export class RasterSourceComponent } private init() { - const source: RasterSource = { + const source: RasterSourceSpecification = { type: this.type, url: this.url, tiles: this.tiles, diff --git a/libs/ngx-mapbox-gl/src/lib/source/vector-source.component.ts b/libs/ngx-mapbox-gl/src/lib/source/vector-source.component.ts index 018512e1..e5238cd5 100644 --- a/libs/ngx-mapbox-gl/src/lib/source/vector-source.component.ts +++ b/libs/ngx-mapbox-gl/src/lib/source/vector-source.component.ts @@ -7,7 +7,7 @@ import { OnInit, SimpleChanges, } from '@angular/core'; -import { VectorSource, VectorSourceImpl } from 'mapbox-gl'; +import { VectorTileSource, VectorSourceSpecification } from 'mapbox-gl'; import { fromEvent, Subscription } from 'rxjs'; import { filter } from 'rxjs/operators'; import { MapService } from '../map/map.service'; @@ -18,22 +18,23 @@ import { MapService } from '../map/map.service'; changeDetection: ChangeDetectionStrategy.OnPush, }) export class VectorSourceComponent - implements OnInit, OnDestroy, OnChanges, VectorSource + implements OnInit, OnDestroy, OnChanges, VectorSourceSpecification { /* Init inputs */ @Input() id: string; /* Dynamic inputs */ - @Input() url?: VectorSource['url']; - @Input() tiles?: VectorSource['tiles']; - @Input() bounds?: VectorSource['bounds']; - @Input() scheme?: VectorSource['scheme']; - @Input() minzoom?: VectorSource['minzoom']; - @Input() maxzoom?: VectorSource['maxzoom']; - @Input() attribution?: VectorSource['attribution']; - @Input() promoteId?: VectorSource['promoteId']; + @Input() url?: VectorSourceSpecification['url']; + @Input() tiles?: VectorSourceSpecification['tiles']; + @Input() bounds?: VectorSourceSpecification['bounds']; + @Input() scheme?: VectorSourceSpecification['scheme']; + @Input() minzoom?: VectorSourceSpecification['minzoom']; + @Input() maxzoom?: VectorSourceSpecification['maxzoom']; + @Input() attribution?: VectorSourceSpecification['attribution']; + @Input() promoteId?: VectorSourceSpecification['promoteId']; - type: VectorSource['type'] = 'vector'; + type: VectorSourceSpecification['type'] = 'vector'; + [_: string]: unknown; private sourceAdded = false; private sub = new Subscription(); @@ -72,7 +73,7 @@ export class VectorSourceComponent (changes['url'] && !changes['url'].isFirstChange()) || (changes['tiles'] && !changes['tiles'].isFirstChange()) ) { - const source = this.mapService.getSource(this.id); + const source = this.mapService.getSource(this.id); if (source === undefined) { return; } @@ -95,7 +96,7 @@ export class VectorSourceComponent } private init() { - const source: VectorSource = { + const source: VectorSourceSpecification = { type: this.type, url: this.url, tiles: this.tiles, diff --git a/libs/ngx-mapbox-gl/src/lib/source/video-source.component.ts b/libs/ngx-mapbox-gl/src/lib/source/video-source.component.ts index bd5d311c..003e40f5 100644 --- a/libs/ngx-mapbox-gl/src/lib/source/video-source.component.ts +++ b/libs/ngx-mapbox-gl/src/lib/source/video-source.component.ts @@ -7,7 +7,7 @@ import { OnInit, SimpleChanges, } from '@angular/core'; -import { VideoSource, VideoSourceOptions, VideoSourceRaw } from 'mapbox-gl'; +import { VideoSource, VideoSourceSpecification } from 'mapbox-gl'; import { fromEvent, Subscription } from 'rxjs'; import { filter } from 'rxjs/operators'; import { MapService } from '../map/map.service'; @@ -18,14 +18,16 @@ import { MapService } from '../map/map.service'; changeDetection: ChangeDetectionStrategy.OnPush, }) export class VideoSourceComponent - implements OnInit, OnDestroy, OnChanges, VideoSourceOptions + implements OnInit, OnDestroy, OnChanges, VideoSourceSpecification { + type: "video"; + /* Init inputs */ @Input() id: string; /* Dynamic inputs */ - @Input() urls: VideoSourceOptions['urls']; - @Input() coordinates: VideoSourceOptions['coordinates']; + @Input() urls: VideoSourceSpecification['urls']; + @Input() coordinates: VideoSourceSpecification['coordinates']; private sourceAdded = false; private sub = new Subscription(); @@ -74,7 +76,7 @@ export class VideoSourceComponent } private init() { - const source: VideoSourceRaw = { + const source: VideoSourceSpecification = { type: 'video', urls: this.urls, coordinates: this.coordinates, diff --git a/package.json b/package.json index d453aec5..b1f79db7 100644 --- a/package.json +++ b/package.json @@ -45,8 +45,6 @@ "@schematics/angular": "18.1.2", "@types/jest": "^29.5.12", "@types/lodash-es": "4.17.6", - "@types/mapbox-gl": "2.7.5", - "@types/mapbox__mapbox-gl-geocoder": "4.7.2", "@types/node": "^20.14.12", "@typescript-eslint/eslint-plugin": "^7.17.0", "@typescript-eslint/parser": "^7.17.0", @@ -56,7 +54,7 @@ "cz-conventional-changelog": "3.3.0", "eslint": "^9.7.0", "eslint-config-prettier": "^9.1.0", - "gh-pages": "4.0.0", + "gh-pages": "6.2.0", "husky": "8.0.1", "jest": "^29.7.0", "jest-environment-jsdom": "^29.7.0", @@ -92,8 +90,8 @@ "@ngrx/store": "^18.0.1", "@stackblitz/sdk": "1.3.0", "lodash-es": "4.17.21", - "mapbox-gl": "2.9.2", - "ngx-markdown": "14.0.1", + "mapbox-gl": ">= 2.9.2 < 4", + "ngx-markdown": "18.1.0", "rxjs": "7.8.1", "scroll-into-view-if-needed": "2.2.29", "tslib": "^2.6.3", diff --git a/yarn.lock b/yarn.lock index 8965d945..7b6a93b5 100644 --- a/yarn.lock +++ b/yarn.lock @@ -560,6 +560,23 @@ __metadata: languageName: node linkType: hard +"@antfu/install-pkg@npm:^0.4.0": + version: 0.4.1 + resolution: "@antfu/install-pkg@npm:0.4.1" + dependencies: + package-manager-detector: ^0.2.0 + tinyexec: ^0.3.0 + checksum: 3ffd59fa5a21dcb4951a037f5c91dfbfc152adfef9e7ba231a968f108aa28c1cd22213c437a8d34f2bfea8c2b9a6df20447eb04be15b534a8e9e21a9dcf203c0 + languageName: node + linkType: hard + +"@antfu/utils@npm:^0.7.10": + version: 0.7.10 + resolution: "@antfu/utils@npm:0.7.10" + checksum: b93dd9e2c7e96ae6dca8a07c1fc5e7165ea9c7a89e78ecb75959bc9a8e769d3f565aea1b5c43db7374dd1f405cc277b6d14d85f884886f9d424dd6144d9203f2 + languageName: node + linkType: hard + "@babel/code-frame@npm:^7.0.0, @babel/code-frame@npm:^7.12.13, @babel/code-frame@npm:^7.16.7": version: 7.16.7 resolution: "@babel/code-frame@npm:7.16.7" @@ -2470,10 +2487,52 @@ __metadata: languageName: node linkType: hard -"@braintree/sanitize-url@npm:^6.0.0": - version: 6.0.0 - resolution: "@braintree/sanitize-url@npm:6.0.0" - checksum: 409ce7709dc1a0c67bc887d20af1becd4145d5c62cc5124b1c4c1f3ea2a8d69b0ee9f582d446469c6f5294b56442b99048cbbba6861dd5c834d4e019b95e1f40 +"@braintree/sanitize-url@npm:^7.0.1": + version: 7.1.0 + resolution: "@braintree/sanitize-url@npm:7.1.0" + checksum: d17dcebc759278f4bc7ffbc13d6b7915133ea6fcdea023a1536f80c0b56f7afcd696a7c24781d078babc0da8afd3ed2871798b8067b0e1c90c2d8bd7843134cf + languageName: node + linkType: hard + +"@chevrotain/cst-dts-gen@npm:11.0.3": + version: 11.0.3 + resolution: "@chevrotain/cst-dts-gen@npm:11.0.3" + dependencies: + "@chevrotain/gast": 11.0.3 + "@chevrotain/types": 11.0.3 + lodash-es: 4.17.21 + checksum: 414229a827e06b4564e271ca3a02ed6f475d400a184dc5ae05308bbc6e966959b84a40a063dacf7debd8f9a1dba5bf8785a891e7b588eafd9f821b43ec16b109 + languageName: node + linkType: hard + +"@chevrotain/gast@npm:11.0.3": + version: 11.0.3 + resolution: "@chevrotain/gast@npm:11.0.3" + dependencies: + "@chevrotain/types": 11.0.3 + lodash-es: 4.17.21 + checksum: 5190ba3a3f03f6f58331dbd108c36172b90314f60675b88dfefca25f704549164577796a1127fa407dd546aefa9f221d6c043e5b95298a0852ffd060b4fff117 + languageName: node + linkType: hard + +"@chevrotain/regexp-to-ast@npm:11.0.3": + version: 11.0.3 + resolution: "@chevrotain/regexp-to-ast@npm:11.0.3" + checksum: 5d665b3340493e302f245c9bbcd73de9b973ca79d0e59c4fbed6cc733b665998b41a2b8a5963bc2e90c763c8b4ba30f6e53736325c40f3fccef0ad3de2095ff2 + languageName: node + linkType: hard + +"@chevrotain/types@npm:11.0.3": + version: 11.0.3 + resolution: "@chevrotain/types@npm:11.0.3" + checksum: 4496bf1955f1db2b08c188f508db23d9f1cbecdf0bfa7f23f8d8dcd3f9ca450529b71acc83a941c59c0f8188b54c0f5687f6e203dcd7dca622ac4ea6291df316 + languageName: node + linkType: hard + +"@chevrotain/utils@npm:11.0.3": + version: 11.0.3 + resolution: "@chevrotain/utils@npm:11.0.3" + checksum: 099f0aa65ff82a7d49ffefd7a90182efcc1518b89b88d516d2125ca730eaa38d61e36ee40fad6c21f7896b6e8393b1e6810b6a69122fabff283f0522ee49eaa5 languageName: node linkType: hard @@ -3471,6 +3530,28 @@ __metadata: languageName: node linkType: hard +"@iconify/types@npm:^2.0.0": + version: 2.0.0 + resolution: "@iconify/types@npm:2.0.0" + checksum: 029f58542c160e9d4a746869cf2e475b603424d3adf3994c5cc8d0406c47e6e04a3b898b2707840c1c5b9bd5563a1660a34b110d89fce43923baca5222f4e597 + languageName: node + linkType: hard + +"@iconify/utils@npm:^2.1.32": + version: 2.1.33 + resolution: "@iconify/utils@npm:2.1.33" + dependencies: + "@antfu/install-pkg": ^0.4.0 + "@antfu/utils": ^0.7.10 + "@iconify/types": ^2.0.0 + debug: ^4.3.6 + kolorist: ^1.8.0 + local-pkg: ^0.5.0 + mlly: ^1.7.1 + checksum: 2d8bed71aa350954ea6f6c23e3c02263d3058c270ab5c71cae5cbc7c9c0ceb1ba986378696f5854b00a94fbfd5cd9afdd0ba8ae360efe352560a14ecc46a9649 + languageName: node + linkType: hard + "@inquirer/checkbox@npm:^2.3.7": version: 2.4.2 resolution: "@inquirer/checkbox@npm:2.4.2" @@ -4355,25 +4436,6 @@ __metadata: languageName: node linkType: hard -"@mapbox/geojson-rewind@npm:^0.5.1": - version: 0.5.2 - resolution: "@mapbox/geojson-rewind@npm:0.5.2" - dependencies: - get-stream: ^6.0.1 - minimist: ^1.2.6 - bin: - geojson-rewind: geojson-rewind - checksum: 721470ab5e8912d69aef06fa4db891bade8b028d6708a35a982b1dfec0f40eb4ba05a749258867f5844cf4e776e53866813bf9c97e3289054b21cbf7840d3608 - languageName: node - linkType: hard - -"@mapbox/geojson-types@npm:^1.0.2": - version: 1.0.2 - resolution: "@mapbox/geojson-types@npm:1.0.2" - checksum: ab1fa0afcedb384aea39b25218b74dd823fc86929c5df5f15fbebac1d98eb30c16f4dded7199999c99d23a0a5f36c6e3380aad91adc736c302a94adbd3980ace - languageName: node - linkType: hard - "@mapbox/jsonlint-lines-primitives@npm:^2.0.2": version: 2.0.2 resolution: "@mapbox/jsonlint-lines-primitives@npm:2.0.2" @@ -4381,10 +4443,10 @@ __metadata: languageName: node linkType: hard -"@mapbox/mapbox-gl-supported@npm:^2.0.1": - version: 2.0.1 - resolution: "@mapbox/mapbox-gl-supported@npm:2.0.1" - checksum: 1dffc96baacc56e34b09f2ae6ac4b2b8f10ad51a9d7c4946dc2057f456deeacd5d0729e340120857b3204a14d9961266f3218d26e101d46e81717954f1c129af +"@mapbox/mapbox-gl-supported@npm:^3.0.0": + version: 3.0.0 + resolution: "@mapbox/mapbox-gl-supported@npm:3.0.0" + checksum: e129beda3aa7f26cdb5d6a31ef4bfa95ca557307465d4084906542d2d86bf75e809741b234022993bf19a747d3a78e1cc3dca5de882a763f1df66c571b95b7b5 languageName: node linkType: hard @@ -4395,17 +4457,17 @@ __metadata: languageName: node linkType: hard -"@mapbox/tiny-sdf@npm:^2.0.5": - version: 2.0.5 - resolution: "@mapbox/tiny-sdf@npm:2.0.5" - checksum: 23fd158ea795592cf1f825fcac20d48230c54a6985a931f609af8b4e69cd99f1c798dc893baec63f4fd6f42ffc3e7292b39f4126966412edd4606eb3dbf86b54 +"@mapbox/tiny-sdf@npm:^2.0.6": + version: 2.0.6 + resolution: "@mapbox/tiny-sdf@npm:2.0.6" + checksum: efff5b5a7599aaa995e3c2fd8f2acd071226096458eebb694ffd7258043c46c52b1d09bb3c7343d2126eb257b3cd7d34e6dc7ccaaad7619e6f3e7dd76229a3cd languageName: node linkType: hard -"@mapbox/unitbezier@npm:^0.0.0": - version: 0.0.0 - resolution: "@mapbox/unitbezier@npm:0.0.0" - checksum: 22ae6d56f743570fb222a5b0d323398e342007f689ae6445b6238d60a2faaa312b41c1de1fb2553bca4ccdb2d3f7006af04d94457c54b44a6454ce0198eebf9e +"@mapbox/unitbezier@npm:^0.0.1": + version: 0.0.1 + resolution: "@mapbox/unitbezier@npm:0.0.1" + checksum: bf104c85dbff37bf47d3217d9457a3abbf23714f78fefadea64e56bdc7c538491b626166809ef28db134f09baccd6ca3df6988a6422df90d8d0c9a23b0686043 languageName: node linkType: hard @@ -4425,6 +4487,15 @@ __metadata: languageName: node linkType: hard +"@mermaid-js/parser@npm:^0.3.0": + version: 0.3.0 + resolution: "@mermaid-js/parser@npm:0.3.0" + dependencies: + langium: 3.0.0 + checksum: 7c92d69b74a1aaa3d2352c9a21a913cb4dd8f4212b22130359ef98ced4509fdb709ac9942dc78d3c2f75360f27a2917fbdb1ef2c7ac0057078d935666a1afe1d + languageName: node + linkType: hard + "@module-federation/bridge-react-webpack-plugin@npm:0.2.8": version: 0.2.8 resolution: "@module-federation/bridge-react-webpack-plugin@npm:0.2.8" @@ -5964,6 +6035,15 @@ __metadata: languageName: node linkType: hard +"@types/geojson-vt@npm:^3.2.5": + version: 3.2.5 + resolution: "@types/geojson-vt@npm:3.2.5" + dependencies: + "@types/geojson": "*" + checksum: 3c77f52c4a82b8087d3e04b86a62027ad1dccf4d339df7c7c191cfcf288564e050b241664e072fc9fd3bb5b71e217dc0dcfb7c467bded4be303ab2b283612b72 + languageName: node + linkType: hard + "@types/geojson@npm:*": version: 7946.0.10 resolution: "@types/geojson@npm:7946.0.10" @@ -5971,6 +6051,13 @@ __metadata: languageName: node linkType: hard +"@types/geojson@npm:^7946.0.14": + version: 7946.0.14 + resolution: "@types/geojson@npm:7946.0.14" + checksum: ae511bee6488ae3bd5a3a3347aedb0371e997b14225b8983679284e22fa4ebd88627c6e3ff8b08bf4cc35068cb29310c89427311ffc9322c255615821a922e71 + languageName: node + linkType: hard + "@types/graceful-fs@npm:^4.1.3": version: 4.1.5 resolution: "@types/graceful-fs@npm:4.1.5" @@ -6074,38 +6161,21 @@ __metadata: languageName: node linkType: hard -"@types/mapbox-gl@npm:*": - version: 2.7.3 - resolution: "@types/mapbox-gl@npm:2.7.3" - dependencies: - "@types/geojson": "*" - checksum: 1c89b4ba1b00ad2e6ee4200bdb438346234dccbe1ba87c1fba2dabdbf37079c7a3a99075265e698dfab78020f59651978f0e40e9c057c6631a29a10c66ab6a80 - languageName: node - linkType: hard - -"@types/mapbox-gl@npm:2.7.5": - version: 2.7.5 - resolution: "@types/mapbox-gl@npm:2.7.5" - dependencies: - "@types/geojson": "*" - checksum: 001db74604ee10199a2c01d09163f2353c4b1f909a2b61349774fd234f6bdfe4b13581806e4e69966129c8032c30faa2c169a6f244e1b9b6831190dbe49652bc +"@types/mapbox__point-geometry@npm:*, @types/mapbox__point-geometry@npm:^0.1.4": + version: 0.1.4 + resolution: "@types/mapbox__point-geometry@npm:0.1.4" + checksum: d315f3e396bebd40f1cab682595f3d1c5ac46c5ddb080cf65dfcd0401dc6a3f235a7ac9ada2d28e6c49485fa5f231458f29fee87069e42a137e20e5865801dd1 languageName: node linkType: hard -"@types/mapbox__mapbox-gl-geocoder@npm:4.7.2": - version: 4.7.2 - resolution: "@types/mapbox__mapbox-gl-geocoder@npm:4.7.2" +"@types/mapbox__vector-tile@npm:^1.3.4": + version: 1.3.4 + resolution: "@types/mapbox__vector-tile@npm:1.3.4" dependencies: "@types/geojson": "*" - "@types/mapbox-gl": "*" - checksum: 607386672386309defcc10c6dc2e13e32116c0eb14913d2e0a8decd3e81cd0d8cc9803ed15306f66350d85ed3935f02a64d8d758e65be6d35f1851c867c77fe9 - languageName: node - linkType: hard - -"@types/marked@npm:^4.0.3": - version: 4.0.3 - resolution: "@types/marked@npm:4.0.3" - checksum: 2fc409a6291cb770688731a444f54e7eab6257c9b565dea4e9d2f3b6654b606e9dd8ea4a924e306b2d2f581dedcb7a27f10f2ca7aed828b11642ab85955341f1 + "@types/mapbox__point-geometry": "*" + "@types/pbf": "*" + checksum: 5715d9da88a5ecadb63e3ca4d52272ead2c1d63fcf616841932719788e458fc10dd9919ad01aa9c95b15c83e9074dae9ffc7193a7ae4ae7b8436d26630f0e269 languageName: node linkType: hard @@ -6178,6 +6248,13 @@ __metadata: languageName: node linkType: hard +"@types/pbf@npm:*, @types/pbf@npm:^3.0.5": + version: 3.0.5 + resolution: "@types/pbf@npm:3.0.5" + checksum: 9115eb3cc61e535748dd6de98c7a8bd64e02a4052646796013b075fed66fd52a3a2aaae6b75648e9c0361e8ed462a50549ca0af1015e2e48296cd8c31bb54577 + languageName: node + linkType: hard + "@types/prettier@npm:^2.1.5": version: 2.6.3 resolution: "@types/prettier@npm:2.6.3" @@ -6294,6 +6371,15 @@ __metadata: languageName: node linkType: hard +"@types/supercluster@npm:^7.1.3": + version: 7.1.3 + resolution: "@types/supercluster@npm:7.1.3" + dependencies: + "@types/geojson": "*" + checksum: 724188fb6ebdf0835821559da5480e5951c3e51afa86fcf83f5bf6984b89652f947081a3f6835cb082a6865fe5f1f8f667e92346f237d3518c2159121bb7c5cc + languageName: node + linkType: hard + "@types/tough-cookie@npm:*": version: 4.0.2 resolution: "@types/tough-cookie@npm:4.0.2" @@ -6861,6 +6947,15 @@ __metadata: languageName: node linkType: hard +"acorn@npm:^8.12.1": + version: 8.13.0 + resolution: "acorn@npm:8.13.0" + bin: + acorn: bin/acorn + checksum: f1541f05eb5d6ff67990d1927290809b1ebb663ac96d9c7057c935cf29c5bcaba6d39f37bd007f4bb814f162f142b0f2b2dd4b14128b8fcfaf9f0508a6f05f1c + languageName: node + linkType: hard + "acorn@npm:^8.4.1, acorn@npm:^8.5.0, acorn@npm:^8.7.1": version: 8.7.1 resolution: "acorn@npm:8.7.1" @@ -7229,15 +7324,6 @@ __metadata: languageName: node linkType: hard -"array-union@npm:^1.0.1": - version: 1.0.2 - resolution: "array-union@npm:1.0.2" - dependencies: - array-uniq: ^1.0.1 - checksum: 82cec6421b6e6766556c484835a6d476a873f1b71cace5ab2b4f1b15b1e3162dc4da0d16f7a2b04d4aec18146c6638fe8f661340b31ba8e469fd811a1b45dc8d - languageName: node - linkType: hard - "array-union@npm:^2.1.0": version: 2.1.0 resolution: "array-union@npm:2.1.0" @@ -7252,13 +7338,6 @@ __metadata: languageName: node linkType: hard -"array-uniq@npm:^1.0.1": - version: 1.0.3 - resolution: "array-uniq@npm:1.0.3" - checksum: 1625f06b093d8bf279b81adfec6e72951c0857d65b5e3f65f053fffe9f9dd61c2fc52cff57e38a4700817e7e3f01a4faa433d505ea9e33cdae4514c334e0bf9e - languageName: node - linkType: hard - "arrify@npm:^1.0.1": version: 1.0.1 resolution: "arrify@npm:1.0.1" @@ -7273,7 +7352,7 @@ __metadata: languageName: node linkType: hard -"async@npm:^2.6.1, async@npm:^2.6.2": +"async@npm:^2.6.2": version: 2.6.4 resolution: "async@npm:2.6.4" dependencies: @@ -7289,6 +7368,13 @@ __metadata: languageName: node linkType: hard +"async@npm:^3.2.4": + version: 3.2.6 + resolution: "async@npm:3.2.6" + checksum: ee6eb8cd8a0ab1b58bd2a3ed6c415e93e773573a91d31df9d5ef559baafa9dab37d3b096fa7993e84585cac3697b2af6ddb9086f45d3ac8cae821bb2aab65682 + languageName: node + linkType: hard + "asynckit@npm:^0.4.0": version: 0.4.0 resolution: "asynckit@npm:0.4.0" @@ -8025,6 +8111,38 @@ __metadata: languageName: node linkType: hard +"cheap-ruler@npm:^4.0.0": + version: 4.0.0 + resolution: "cheap-ruler@npm:4.0.0" + checksum: cdf4722167cef0b979c9420dc260c985a87ce1534ab4d642f82523ab204d80b85ad51f12f61dc562b6e4771a64ed35f2466fc3ab3f9063f9b81a31b57b2b620f + languageName: node + linkType: hard + +"chevrotain-allstar@npm:~0.3.0": + version: 0.3.1 + resolution: "chevrotain-allstar@npm:0.3.1" + dependencies: + lodash-es: ^4.17.21 + peerDependencies: + chevrotain: ^11.0.0 + checksum: 5f5213693886d03ca04ffacc57f7424b5c8015e7a62de3c193c3bc94ae7472f113e9fab7f4e92ce0553c181483950a170576897d7b695aac6196ce32b988475e + languageName: node + linkType: hard + +"chevrotain@npm:~11.0.3": + version: 11.0.3 + resolution: "chevrotain@npm:11.0.3" + dependencies: + "@chevrotain/cst-dts-gen": 11.0.3 + "@chevrotain/gast": 11.0.3 + "@chevrotain/regexp-to-ast": 11.0.3 + "@chevrotain/types": 11.0.3 + "@chevrotain/utils": 11.0.3 + lodash-es: 4.17.21 + checksum: 43abce4ef2be2ae499027066ad5bfb2dd6b838423108adc69839133655b925a4d86212b97125d8deef9f84dc173b34457eedf59a2d178b6d0b2a0d2e2a7762a4 + languageName: node + linkType: hard + "chokidar@npm:>=3.0.0 <4.0.0, chokidar@npm:^3.0.0, chokidar@npm:^3.5.3": version: 3.5.3 resolution: "chokidar@npm:3.5.3" @@ -8343,13 +8461,6 @@ __metadata: languageName: node linkType: hard -"commander@npm:2, commander@npm:^2.18.0, commander@npm:^2.20.0": - version: 2.20.3 - resolution: "commander@npm:2.20.3" - checksum: ab8c07884e42c3a8dbc5dd9592c606176c7eb5c1ca5ff274bcf907039b2c41de3626f684ea75ccf4d361ba004bbaff1f577d5384c155f3871e456bdf27becf9e - languageName: node - linkType: hard - "commander@npm:7, commander@npm:^7.2.0": version: 7.2.0 resolution: "commander@npm:7.2.0" @@ -8357,6 +8468,13 @@ __metadata: languageName: node linkType: hard +"commander@npm:^11.0.0": + version: 11.1.0 + resolution: "commander@npm:11.1.0" + checksum: fd1a8557c6b5b622c89ecdfde703242ab7db3b628ea5d1755784c79b8e7cb0d74d65b4a262289b533359cd58e1bfc0bf50245dfbcd2954682a6f367c828b79ef + languageName: node + linkType: hard + "commander@npm:^12.0.0": version: 12.1.0 resolution: "commander@npm:12.1.0" @@ -8364,7 +8482,14 @@ __metadata: languageName: node linkType: hard -"commander@npm:^8.0.0": +"commander@npm:^2.20.0": + version: 2.20.3 + resolution: "commander@npm:2.20.3" + checksum: ab8c07884e42c3a8dbc5dd9592c606176c7eb5c1ca5ff274bcf907039b2c41de3626f684ea75ccf4d361ba004bbaff1f577d5384c155f3871e456bdf27becf9e + languageName: node + linkType: hard + +"commander@npm:^8.0.0, commander@npm:^8.3.0": version: 8.3.0 resolution: "commander@npm:8.3.0" checksum: 0f82321821fc27b83bd409510bb9deeebcfa799ff0bf5d102128b500b7af22872c0c92cb6a0ebc5a4cf19c6b550fba9cedfa7329d18c6442a625f851377bacf0 @@ -8504,6 +8629,13 @@ __metadata: languageName: node linkType: hard +"confbox@npm:^0.1.8": + version: 0.1.8 + resolution: "confbox@npm:0.1.8" + checksum: 5c7718ab22cf9e35a31c21ef124156076ae8c9dc65e6463d54961caf5a1d529284485a0fdf83fd23b27329f3b75b0c8c07d2e36c699f5151a2efe903343f976a + languageName: node + linkType: hard + "confusing-browser-globals@npm:^1.0.9": version: 1.0.11 resolution: "confusing-browser-globals@npm:1.0.11" @@ -8869,6 +9001,24 @@ __metadata: languageName: node linkType: hard +"cose-base@npm:^1.0.0": + version: 1.0.3 + resolution: "cose-base@npm:1.0.3" + dependencies: + layout-base: ^1.0.0 + checksum: 3f3d592316df74adb215ca91e430f1c22b6e890bc0025b32ae1f6464c73fdb9614816cb40a8d38b40c6a3e9e7b8c64eda90d53fb9a4a6948abec17dad496f30b + languageName: node + linkType: hard + +"cose-base@npm:^2.2.0": + version: 2.2.0 + resolution: "cose-base@npm:2.2.0" + dependencies: + layout-base: ^2.0.0 + checksum: 2e694f340bf216c71fc126d237578a4168e138720011d0b48c88bf9bfc7fd45f912eff2c603ef3d1307d6e3ce6f465ed382285a764a3a6620db590c5457d2557 + languageName: node + linkType: hard + "cosmiconfig-typescript-loader@npm:^2.0.0": version: 2.0.2 resolution: "cosmiconfig-typescript-loader@npm:2.0.2" @@ -9261,6 +9411,35 @@ __metadata: languageName: node linkType: hard +"cytoscape-cose-bilkent@npm:^4.1.0": + version: 4.1.0 + resolution: "cytoscape-cose-bilkent@npm:4.1.0" + dependencies: + cose-base: ^1.0.0 + peerDependencies: + cytoscape: ^3.2.0 + checksum: bea6aa139e21bf4135b01b99f8778eed061e074d1a1689771597e8164a999d66f4075d46be584b0a88a5447f9321f38c90c8821df6a9322faaf5afebf4848d97 + languageName: node + linkType: hard + +"cytoscape-fcose@npm:^2.2.0": + version: 2.2.0 + resolution: "cytoscape-fcose@npm:2.2.0" + dependencies: + cose-base: ^2.2.0 + peerDependencies: + cytoscape: ^3.2.0 + checksum: 94ffe6f131f9c08c2a0a7a6ce1c6c5e523a395bf8d84eba6d4a5f85e23f33788ea3ff807540861a5f78a6914a27729e06a7e6f66784f4f28ea1c030acf500121 + languageName: node + linkType: hard + +"cytoscape@npm:^3.29.2": + version: 3.30.3 + resolution: "cytoscape@npm:3.30.3" + checksum: 5b7cbca3580ed62768a099fb6ea86e9615fd8b5c06c3223ddea1ac63b0293243d148b61b3a5b048d730d17c8e740a204a223246bc33fc0b886f363a3b9c69ca3 + languageName: node + linkType: hard + "cz-conventional-changelog@npm:3.2.0": version: 3.2.0 resolution: "cz-conventional-changelog@npm:3.2.0" @@ -9297,10 +9476,12 @@ __metadata: languageName: node linkType: hard -"d3-array@npm:1, d3-array@npm:^1.1.1, d3-array@npm:^1.2.0": - version: 1.2.4 - resolution: "d3-array@npm:1.2.4" - checksum: d0be1fa7d72dbfac8a3bcffbb669d42bcb9128d8818d84d2b1df0c60bbe4c8e54a798be0457c55a219b399e2c2fabcbd581cbb130eb638b5436b0618d7e56000 +"d3-array@npm:1 - 2": + version: 2.12.1 + resolution: "d3-array@npm:2.12.1" + dependencies: + internmap: ^1.0.0 + checksum: 97853b7b523aded17078f37c67742f45d81e88dda2107ae9994c31b9e36c5fa5556c4c4cf39650436f247813602dfe31bf7ad067ff80f127a16903827f10c6eb languageName: node linkType: hard @@ -9313,13 +9494,6 @@ __metadata: languageName: node linkType: hard -"d3-axis@npm:1": - version: 1.0.12 - resolution: "d3-axis@npm:1.0.12" - checksum: b1cf820fb6e95cc3371b340353b05272dba16ce6ad4fe9a0992d075ab48a08810f87f5e6c7cbb6c63fca1ee1e9b7c822307a1590187daa7627f45728a747c746 - languageName: node - linkType: hard - "d3-axis@npm:3": version: 3.0.0 resolution: "d3-axis@npm:3.0.0" @@ -9327,19 +9501,6 @@ __metadata: languageName: node linkType: hard -"d3-brush@npm:1": - version: 1.1.6 - resolution: "d3-brush@npm:1.1.6" - dependencies: - d3-dispatch: 1 - d3-drag: 1 - d3-interpolate: 1 - d3-selection: 1 - d3-transition: 1 - checksum: ffa23a5543699cc1199f45ac87d4e1293167c4bab0833657d77172d84d910448893569393290dba3689af1e5a1fc77503d94a2dec3976de8a7bc68ed0e32413a - languageName: node - linkType: hard - "d3-brush@npm:3": version: 3.0.0 resolution: "d3-brush@npm:3.0.0" @@ -9353,16 +9514,6 @@ __metadata: languageName: node linkType: hard -"d3-chord@npm:1": - version: 1.0.6 - resolution: "d3-chord@npm:1.0.6" - dependencies: - d3-array: 1 - d3-path: 1 - checksum: e4ca95ffff089f0eccf796d16a5574121e0ecbe658dcd9d5fa760af3573c3349264ce325c0adf1f32bcad67038d3938edd109712166cfb5b3bbe068e27c012e9 - languageName: node - linkType: hard - "d3-chord@npm:3": version: 3.0.1 resolution: "d3-chord@npm:3.0.1" @@ -9372,20 +9523,6 @@ __metadata: languageName: node linkType: hard -"d3-collection@npm:1": - version: 1.0.7 - resolution: "d3-collection@npm:1.0.7" - checksum: 9c6b910a9da0efb021e294509f98263ca4f62d10b997bb30ccfb6edd582b703da36e176b968b5bac815fbb0f328e49643c38cf93b5edf8572a179ba55cf4a09d - languageName: node - linkType: hard - -"d3-color@npm:1": - version: 1.4.1 - resolution: "d3-color@npm:1.4.1" - checksum: a214b61458b5fcb7ad1a84faed0e02918037bab6be37f2d437bf0e2915cbd854d89fbf93754f17b0781c89e39d46704633d05a2bfae77e6209f0f4b140f9894b - languageName: node - linkType: hard - "d3-color@npm:1 - 3, d3-color@npm:3": version: 3.1.0 resolution: "d3-color@npm:3.1.0" @@ -9393,15 +9530,6 @@ __metadata: languageName: node linkType: hard -"d3-contour@npm:1": - version: 1.3.2 - resolution: "d3-contour@npm:1.3.2" - dependencies: - d3-array: ^1.1.1 - checksum: c18a099a7f4af2adf788e96d07bfc7236661a6e40c017ef8e172fe0142561f3722f71263075c565a17b72e6cd6a2a05de3868fcc5420eb77b00d3a0179a69a0d - languageName: node - linkType: hard - "d3-contour@npm:4": version: 4.0.0 resolution: "d3-contour@npm:4.0.0" @@ -9420,13 +9548,6 @@ __metadata: languageName: node linkType: hard -"d3-dispatch@npm:1": - version: 1.0.6 - resolution: "d3-dispatch@npm:1.0.6" - checksum: b4ecb016b6dda8b99aa4263b2d0a0c7b12e7dea93e4b0ce3013c94dca4d360d9ba00f5bdc15dc944cc4543af8e341067bd628f061f7b8deb642257e2ac90d06c - languageName: node - linkType: hard - "d3-dispatch@npm:1 - 3, d3-dispatch@npm:3": version: 3.0.1 resolution: "d3-dispatch@npm:3.0.1" @@ -9434,16 +9555,6 @@ __metadata: languageName: node linkType: hard -"d3-drag@npm:1": - version: 1.2.5 - resolution: "d3-drag@npm:1.2.5" - dependencies: - d3-dispatch: 1 - d3-selection: 1 - checksum: 6e86e89aa8d511979eea1b5326709c05c2a3c2d43a93a82ed6b6f98528b2ab03b2f58f5e4f66582f2f1c0ae44f9c19f6f4f857249eb66aabc46e4942295fa0a7 - languageName: node - linkType: hard - "d3-drag@npm:2 - 3, d3-drag@npm:3": version: 3.0.0 resolution: "d3-drag@npm:3.0.0" @@ -9454,27 +9565,6 @@ __metadata: languageName: node linkType: hard -"d3-dsv@npm:1": - version: 1.2.0 - resolution: "d3-dsv@npm:1.2.0" - dependencies: - commander: 2 - iconv-lite: 0.4 - rw: 1 - bin: - csv2json: bin/dsv2json - csv2tsv: bin/dsv2dsv - dsv2dsv: bin/dsv2dsv - dsv2json: bin/dsv2json - json2csv: bin/json2dsv - json2dsv: bin/json2dsv - json2tsv: bin/json2dsv - tsv2csv: bin/dsv2dsv - tsv2json: bin/dsv2json - checksum: 96c6e3d5ca1566624ca613b5941bc6fa916082cbe4b2b71cb6c5978c471db58c489b17206e3e31fbe30719dbd75e9c8ed8ab12a9d353cff90a35102690de7823 - languageName: node - linkType: hard - "d3-dsv@npm:1 - 3, d3-dsv@npm:3": version: 3.0.1 resolution: "d3-dsv@npm:3.0.1" @@ -9496,13 +9586,6 @@ __metadata: languageName: node linkType: hard -"d3-ease@npm:1": - version: 1.0.7 - resolution: "d3-ease@npm:1.0.7" - checksum: 117811d51dfc4a126e8d23d249252df792fbbe30a93615e1d67158c482eff69b900e45a4cc92746fe65b1143287455406a89aae04eb4ca1ba5b1dc2a42af5b85 - languageName: node - linkType: hard - "d3-ease@npm:1 - 3, d3-ease@npm:3": version: 3.0.1 resolution: "d3-ease@npm:3.0.1" @@ -9510,15 +9593,6 @@ __metadata: languageName: node linkType: hard -"d3-fetch@npm:1": - version: 1.2.0 - resolution: "d3-fetch@npm:1.2.0" - dependencies: - d3-dsv: 1 - checksum: 00f091945bff4afbd06e6ce9ad762f0e91b7aac912c1ae7fe0efdbcce3a997d4fa2a93c254a3ba9b3f53f2134d606b20fb13791adbf5c6ed5c0be329a775945f - languageName: node - linkType: hard - "d3-fetch@npm:3": version: 3.0.1 resolution: "d3-fetch@npm:3.0.1" @@ -9528,18 +9602,6 @@ __metadata: languageName: node linkType: hard -"d3-force@npm:1": - version: 1.2.1 - resolution: "d3-force@npm:1.2.1" - dependencies: - d3-collection: 1 - d3-dispatch: 1 - d3-quadtree: 1 - d3-timer: 1 - checksum: b73fe29d6c9a9c432ae65166d71238d14578a3a9537df095bebff87b7814161cd2822aff54a38d2400edb98b7f6d9221a810dcad7a53c6e8ddff0973f44ab3fa - languageName: node - linkType: hard - "d3-force@npm:3": version: 3.0.0 resolution: "d3-force@npm:3.0.0" @@ -9551,13 +9613,6 @@ __metadata: languageName: node linkType: hard -"d3-format@npm:1": - version: 1.4.5 - resolution: "d3-format@npm:1.4.5" - checksum: 1b8b2c0bca182173bccd290a43e8b635a83fc8cfe52ec878c7bdabb997d47daac11f2b175cebbe73f807f782ad655f542bdfe18180ca5eb3498a3a82da1e06ab - languageName: node - linkType: hard - "d3-format@npm:1 - 3, d3-format@npm:3": version: 3.1.0 resolution: "d3-format@npm:3.1.0" @@ -9565,15 +9620,6 @@ __metadata: languageName: node linkType: hard -"d3-geo@npm:1": - version: 1.12.1 - resolution: "d3-geo@npm:1.12.1" - dependencies: - d3-array: 1 - checksum: 8ede498e5fce65c127403646f5cc6181a858a1e401e23e2856ce50ad27e6fdf8b49aeb88d2fad02696879d5825a45420ca1b5db9fa9c935ee413fe15b5bc37c4 - languageName: node - linkType: hard - "d3-geo@npm:3": version: 3.0.1 resolution: "d3-geo@npm:3.0.1" @@ -9583,13 +9629,6 @@ __metadata: languageName: node linkType: hard -"d3-hierarchy@npm:1": - version: 1.1.9 - resolution: "d3-hierarchy@npm:1.1.9" - checksum: 5fd8761c302252cb9abe9ce2a0934fc97104dd0df8d1b5de6472532903416f40e13b4b58d03ce215a0b816d7129c4ed4503bd4fdbc00a130fdcf46a63d734a52 - languageName: node - linkType: hard - "d3-hierarchy@npm:3": version: 3.1.2 resolution: "d3-hierarchy@npm:3.1.2" @@ -9597,15 +9636,6 @@ __metadata: languageName: node linkType: hard -"d3-interpolate@npm:1": - version: 1.4.0 - resolution: "d3-interpolate@npm:1.4.0" - dependencies: - d3-color: 1 - checksum: d98988bd1e2f59d01f100d0a19315ad8f82ef022aa09a65aff76f747a44f9b52f2d64c6578b8f47e01f2b14a8f0ef88f5460d11173c0dd2d58238c217ac0ec03 - languageName: node - linkType: hard - "d3-interpolate@npm:1 - 3, d3-interpolate@npm:1.2.0 - 3, d3-interpolate@npm:3": version: 3.0.1 resolution: "d3-interpolate@npm:3.0.1" @@ -9629,13 +9659,6 @@ __metadata: languageName: node linkType: hard -"d3-polygon@npm:1": - version: 1.0.6 - resolution: "d3-polygon@npm:1.0.6" - checksum: 4a9764c2064d15e9f4fc9018c975f127540f6e701c18442e2a2e9339e743726f40e017d5213982d983cac3c23802321c257f2a10e686c803ec5533c6ff42bb7a - languageName: node - linkType: hard - "d3-polygon@npm:3": version: 3.0.1 resolution: "d3-polygon@npm:3.0.1" @@ -9643,13 +9666,6 @@ __metadata: languageName: node linkType: hard -"d3-quadtree@npm:1": - version: 1.0.7 - resolution: "d3-quadtree@npm:1.0.7" - checksum: 32181f578cbd69eed6b240073fed7f977f8039a121a3b9fc58ea1eea0c3c14d1237ef48cb4f80abb833063f8b0e7b885ef6de734e7bcc4e5b37e53ec444830f8 - languageName: node - linkType: hard - "d3-quadtree@npm:1 - 3, d3-quadtree@npm:3": version: 3.0.1 resolution: "d3-quadtree@npm:3.0.1" @@ -9657,13 +9673,6 @@ __metadata: languageName: node linkType: hard -"d3-random@npm:1": - version: 1.1.2 - resolution: "d3-random@npm:1.1.2" - checksum: a27326319fa61d59b6ce8d5ce7547cc823dee1bc6dda35e9c233d709f43f76488c09353862463c9c5da99081482b0f7ea4177d78721b67bb677bb12354bffe42 - languageName: node - linkType: hard - "d3-random@npm:3": version: 3.0.1 resolution: "d3-random@npm:3.0.1" @@ -9671,13 +9680,13 @@ __metadata: languageName: node linkType: hard -"d3-scale-chromatic@npm:1": - version: 1.5.0 - resolution: "d3-scale-chromatic@npm:1.5.0" +"d3-sankey@npm:^0.12.3": + version: 0.12.3 + resolution: "d3-sankey@npm:0.12.3" dependencies: - d3-color: 1 - d3-interpolate: 1 - checksum: 3bff7717f6e6b309b3347d48d6532e2295037a280bc5174f908ce5fc0e17a9470f6b202e49499b01a17a1f28cb76a61aae870a6c13c57195a362847f33747501 + d3-array: 1 - 2 + d3-shape: ^1.2.0 + checksum: df1cb9c9d02dd8fd14040e89f112f0da58c03bd7529fa001572a6925a51496d1d82ff25d9fedb6c429a91645fbd2476c19891e535ac90c8bc28337c33ee21c87 languageName: node linkType: hard @@ -9691,20 +9700,6 @@ __metadata: languageName: node linkType: hard -"d3-scale@npm:2": - version: 2.2.2 - resolution: "d3-scale@npm:2.2.2" - dependencies: - d3-array: ^1.2.0 - d3-collection: 1 - d3-format: 1 - d3-interpolate: 1 - d3-time: 1 - d3-time-format: 2 - checksum: 42086d4b9db9f8492a99dbbdacf546983faef1bb6260fe875c0c1884f1ca9cf5fd233de3702c2f9e24145b1c5383945e929c8682d80fa57ab515ef2c4f2c61f6 - languageName: node - linkType: hard - "d3-scale@npm:4": version: 4.0.2 resolution: "d3-scale@npm:4.0.2" @@ -9718,13 +9713,6 @@ __metadata: languageName: node linkType: hard -"d3-selection@npm:1, d3-selection@npm:^1.1.0": - version: 1.4.2 - resolution: "d3-selection@npm:1.4.2" - checksum: 2484b392259b087a98f546f2610e6a11c90f38dae6b6b20a3fc85171038fcab4c72e702788b1960a4fece88bed2e36f268096358b5b48d3c7f0d35cfbe305da6 - languageName: node - linkType: hard - "d3-selection@npm:2 - 3, d3-selection@npm:3": version: 3.0.0 resolution: "d3-selection@npm:3.0.0" @@ -9732,15 +9720,6 @@ __metadata: languageName: node linkType: hard -"d3-shape@npm:1": - version: 1.3.7 - resolution: "d3-shape@npm:1.3.7" - dependencies: - d3-path: 1 - checksum: 46566a3ab64a25023653bf59d64e81e9e6c987e95be985d81c5cedabae5838bd55f4a201a6b69069ca862eb63594cd263cac9034afc2b0e5664dfe286c866129 - languageName: node - linkType: hard - "d3-shape@npm:3": version: 3.1.0 resolution: "d3-shape@npm:3.1.0" @@ -9750,12 +9729,12 @@ __metadata: languageName: node linkType: hard -"d3-time-format@npm:2": - version: 2.3.0 - resolution: "d3-time-format@npm:2.3.0" +"d3-shape@npm:^1.2.0": + version: 1.3.7 + resolution: "d3-shape@npm:1.3.7" dependencies: - d3-time: 1 - checksum: 5445eaaf2b3b2095cdc1fa75dfd2f361a61c39b677dcc1c2ba4cb6bc0442953de0fbaaa397d7d7a9325ad99c63d869f162a713e150e826ff8af482615664cb3f + d3-path: 1 + checksum: 46566a3ab64a25023653bf59d64e81e9e6c987e95be985d81c5cedabae5838bd55f4a201a6b69069ca862eb63594cd263cac9034afc2b0e5664dfe286c866129 languageName: node linkType: hard @@ -9768,13 +9747,6 @@ __metadata: languageName: node linkType: hard -"d3-time@npm:1": - version: 1.1.0 - resolution: "d3-time@npm:1.1.0" - checksum: 33fcfff94ff093dde2048c190ecca8b39fe0ec8b3c61e9fc39c5f6072ce5b86dd2b91823f086366995422bbbac7f74fd9abdb7efe4f292a73b1c6197c699cc78 - languageName: node - linkType: hard - "d3-time@npm:1 - 3, d3-time@npm:2.1.1 - 3, d3-time@npm:3": version: 3.0.0 resolution: "d3-time@npm:3.0.0" @@ -9784,13 +9756,6 @@ __metadata: languageName: node linkType: hard -"d3-timer@npm:1": - version: 1.0.10 - resolution: "d3-timer@npm:1.0.10" - checksum: f7040953672deb2dfa03830ace80dbbcb212f80890218eba15dcca6f33f74102d943023ccc2a563295195cd8c63639bb2410ef1691c8fecff4a114fdf5c666f4 - languageName: node - linkType: hard - "d3-timer@npm:1 - 3, d3-timer@npm:3": version: 3.0.1 resolution: "d3-timer@npm:3.0.1" @@ -9798,20 +9763,6 @@ __metadata: languageName: node linkType: hard -"d3-transition@npm:1": - version: 1.3.2 - resolution: "d3-transition@npm:1.3.2" - dependencies: - d3-color: 1 - d3-dispatch: 1 - d3-ease: 1 - d3-interpolate: 1 - d3-selection: ^1.1.0 - d3-timer: 1 - checksum: 1b4a0cfa7aeb4033ab20e26a310488cfac989de44c6c2bf10e9f0808af915a33add6dca23fbafcefe8c08613fd0d6a933e48b4de24c0779163c2852a1c7c16f4 - languageName: node - linkType: hard - "d3-transition@npm:2 - 3, d3-transition@npm:3": version: 3.0.1 resolution: "d3-transition@npm:3.0.1" @@ -9827,26 +9778,6 @@ __metadata: languageName: node linkType: hard -"d3-voronoi@npm:1": - version: 1.1.4 - resolution: "d3-voronoi@npm:1.1.4" - checksum: d28a74bc62f2b936b0d3b51d5be8d2366afca4fd7026d7ee8f655600650bf0c985da38a8c3ae46bfa315b5f524f3ca1c5211437cf1c8c737cc1da681e015baee - languageName: node - linkType: hard - -"d3-zoom@npm:1": - version: 1.8.3 - resolution: "d3-zoom@npm:1.8.3" - dependencies: - d3-dispatch: 1 - d3-drag: 1 - d3-interpolate: 1 - d3-selection: 1 - d3-transition: 1 - checksum: de408e5dc6df1481ef6854a3d495f8e963dbf5b0de41bcbd35def0602abda55b3f2c1fa751c75c2f0a9bafd3b278f30795c27503fe609b3dbe06a0720d01d5be - languageName: node - linkType: hard - "d3-zoom@npm:3": version: 3.0.0 resolution: "d3-zoom@npm:3.0.0" @@ -9860,48 +9791,9 @@ __metadata: languageName: node linkType: hard -"d3@npm:^5.14": - version: 5.16.0 - resolution: "d3@npm:5.16.0" - dependencies: - d3-array: 1 - d3-axis: 1 - d3-brush: 1 - d3-chord: 1 - d3-collection: 1 - d3-color: 1 - d3-contour: 1 - d3-dispatch: 1 - d3-drag: 1 - d3-dsv: 1 - d3-ease: 1 - d3-fetch: 1 - d3-force: 1 - d3-format: 1 - d3-geo: 1 - d3-hierarchy: 1 - d3-interpolate: 1 - d3-path: 1 - d3-polygon: 1 - d3-quadtree: 1 - d3-random: 1 - d3-scale: 2 - d3-scale-chromatic: 1 - d3-selection: 1 - d3-shape: 1 - d3-time: 1 - d3-time-format: 2 - d3-timer: 1 - d3-transition: 1 - d3-voronoi: 1 - d3-zoom: 1 - checksum: 1462789c421c3ea3930a18b91be6c02c7b976fa4d714200ee2a042c62cbfb349448c79f1ae3dbaf186f79edb734b7aa7b734ee6ad61d81ab4305e6663623ab8e - languageName: node - linkType: hard - -"d3@npm:^7.0.0": - version: 7.6.1 - resolution: "d3@npm:7.6.1" +"d3@npm:^7.8.2, d3@npm:^7.9.0": + version: 7.9.0 + resolution: "d3@npm:7.9.0" dependencies: d3-array: 3 d3-axis: 3 @@ -9933,29 +9825,17 @@ __metadata: d3-timer: 3 d3-transition: 3 d3-zoom: 3 - checksum: af883cfeaf0a861afb2424edcb5419a5c56c84ddbc1ac9c7771c569f1926ace8db3cf0f4996038eb1db9700f7335e30c23b885199e0320a002893492ae83b415 - languageName: node - linkType: hard - -"dagre-d3@npm:^0.6.4": - version: 0.6.4 - resolution: "dagre-d3@npm:0.6.4" - dependencies: - d3: ^5.14 - dagre: ^0.8.5 - graphlib: ^2.1.8 - lodash: ^4.17.15 - checksum: 14d5ae9c438c72e928adaac625fb6341367082b401e8abc1cbc8a5b0be72abbc28502c47d497aa8386ff66bf1bed4c27be9b3f040291e9c631eae9858d2444e3 + checksum: 1c0e9135f1fb78aa32b187fafc8b56ae6346102bd0e4e5e5a5339611a51e6038adbaa293fae373994228100eddd87320e930b1be922baeadc07c9fd43d26d99b languageName: node linkType: hard -"dagre@npm:^0.8.5": - version: 0.8.5 - resolution: "dagre@npm:0.8.5" +"dagre-d3-es@npm:7.0.10": + version: 7.0.10 + resolution: "dagre-d3-es@npm:7.0.10" dependencies: - graphlib: ^2.1.8 - lodash: ^4.17.15 - checksum: b9fabd425466d7b662381c2e457b1adda996bc4169aa60121d4de50250d83a6bb4b77d559e2f887c9c564caea781c2a377fd4de2a76c15f8f04ec3d086ca95f9 + d3: ^7.8.2 + lodash-es: ^4.17.21 + checksum: 25194e80dfad48db0dc2e0a273a7c9fcbfdc4cf993b219eaa1e0e0ce0cbb8c63be42fa2aa0c5f9bf9b324c34b8b2e300bb2a1606d5ae35c2de00f9c4ac317d8e languageName: node linkType: hard @@ -9991,6 +9871,13 @@ __metadata: languageName: node linkType: hard +"dayjs@npm:^1.11.10": + version: 1.11.13 + resolution: "dayjs@npm:1.11.13" + checksum: f388db88a6aa93956c1f6121644e783391c7b738b73dbc54485578736565c8931bdfba4bb94e9b1535c6e509c97d5deb918bbe1ae6b34358d994de735055cca9 + languageName: node + linkType: hard + "debug@npm:2.6.9": version: 2.6.9 resolution: "debug@npm:2.6.9" @@ -10033,6 +9920,18 @@ __metadata: languageName: node linkType: hard +"debug@npm:^4.3.6": + version: 4.3.7 + resolution: "debug@npm:4.3.7" + dependencies: + ms: ^2.1.3 + peerDependenciesMeta: + supports-color: + optional: true + checksum: 822d74e209cd910ef0802d261b150314bbcf36c582ccdbb3e70f0894823c17e49a50d3e66d96b633524263975ca16b6a833f3e3b7e030c157169a5fabac63160 + languageName: node + linkType: hard + "debug@npm:~3.1.0": version: 3.1.0 resolution: "debug@npm:3.1.0" @@ -10357,10 +10256,10 @@ __metadata: languageName: node linkType: hard -"dompurify@npm:2.3.8": - version: 2.3.8 - resolution: "dompurify@npm:2.3.8" - checksum: dc7b32ee57a03fe5166a850071200897cc13fa069287a709e3b2138052d73ec09a87026b9e28c8d2f254a74eaa52ef30644e98e54294c30acbca2a53f1bbc5f4 +"dompurify@npm:^3.0.11 <3.1.7": + version: 3.1.6 + resolution: "dompurify@npm:3.1.6" + checksum: cc4fc4ccd9261fbceb2a1627a985c70af231274a26ddd3f643fd0616a0a44099bd9e4480940ce3655612063be4a1fe9f5e9309967526f8c0a99f931602323866 languageName: node linkType: hard @@ -10417,10 +10316,10 @@ __metadata: languageName: node linkType: hard -"earcut@npm:^2.2.3": - version: 2.2.4 - resolution: "earcut@npm:2.2.4" - checksum: aea0466cb2f24e0c3c57148d8d28ac9846f53c4f43ee66780826474303ac851b305ef988152d0bdeb31e8f7ca939dc0df737e7505cfb1c1bdf2ff9d7f9ea2faa +"earcut@npm:^3.0.0": + version: 3.0.0 + resolution: "earcut@npm:3.0.0" + checksum: 1b96b4f9ca0c35b8e2428ce0fbd79d520f552b53c3b030c10ad27dac0852067d30b373e62c7ee373a8faa38073eb46ef49bcc650427165e557d5e61bb802339e languageName: node linkType: hard @@ -10481,10 +10380,10 @@ __metadata: languageName: node linkType: hard -"email-addresses@npm:^3.0.1": - version: 3.1.0 - resolution: "email-addresses@npm:3.1.0" - checksum: e911985f096fa0198019caee4a12685146f677738d8ae1ebe25419181a37930a15be15447abef3612bdc3b88f72aaae4fd2cf1a95669705e638ebcfea4a15047 +"email-addresses@npm:^5.0.0": + version: 5.0.0 + resolution: "email-addresses@npm:5.0.0" + checksum: e58a510e9caf105313025e1c81488d5391c6404f0bbd7874e8e36a4c14d1ced02ff271748146c13edfa3bd9ce9b25f1194f5369971d77087325f37ab193129bb languageName: node linkType: hard @@ -10516,10 +10415,10 @@ __metadata: languageName: node linkType: hard -"emoji-toolkit@npm:^6.6.0": - version: 6.6.0 - resolution: "emoji-toolkit@npm:6.6.0" - checksum: 8f7a7216626d5d5cdb0505906dfd44cbe65cee76c8a9a15a3dfc20736fe98f457db23874376ec6e643da93fcb83a6c9dbc58cae76d24fb77e76dd87f06991ce2 +"emoji-toolkit@npm:>= 8.0.0 < 10.0.0": + version: 9.0.1 + resolution: "emoji-toolkit@npm:9.0.1" + checksum: 7d6c950afdb05eff8a44676ccb9ad76ca71d618d68ef180ce01e37e7537927dc1e82db14bab192600152f66700be16010840c4f1a1a18be0883cae656008d677 languageName: node linkType: hard @@ -11758,6 +11657,17 @@ __metadata: languageName: node linkType: hard +"fs-extra@npm:^11.1.1": + version: 11.2.0 + resolution: "fs-extra@npm:11.2.0" + dependencies: + graceful-fs: ^4.2.0 + jsonfile: ^6.0.1 + universalify: ^2.0.0 + checksum: b12e42fa40ba47104202f57b8480dd098aa931c2724565e5e70779ab87605665594e76ee5fb00545f772ab9ace167fe06d2ab009c416dc8c842c5ae6df7aa7e8 + languageName: node + linkType: hard + "fs-minipass@npm:^2.0.0, fs-minipass@npm:^2.1.0": version: 2.1.0 resolution: "fs-minipass@npm:2.1.0" @@ -11865,10 +11775,10 @@ __metadata: languageName: node linkType: hard -"geojson-vt@npm:^3.2.1": - version: 3.2.1 - resolution: "geojson-vt@npm:3.2.1" - checksum: 7c7973cfaf9e3bb1c1dc9578ec00e602efb6f8d57f4dd7f6b28baeb7825bcaeb1684018b850211e333ab4b90a4a89a02ff7793732c505d67101ccbc38e307e02 +"geojson-vt@npm:^4.0.2": + version: 4.0.2 + resolution: "geojson-vt@npm:4.0.2" + checksum: 7de5cc7a574154c908c848cb21f92daa34293cc46cd87baf6de7461554886f5b59683f7be4422339ff2d2bbedad57b88143d03f045c4859dd416e0cf502a4463 languageName: node linkType: hard @@ -11925,21 +11835,21 @@ __metadata: languageName: node linkType: hard -"gh-pages@npm:4.0.0": - version: 4.0.0 - resolution: "gh-pages@npm:4.0.0" +"gh-pages@npm:6.2.0": + version: 6.2.0 + resolution: "gh-pages@npm:6.2.0" dependencies: - async: ^2.6.1 - commander: ^2.18.0 - email-addresses: ^3.0.1 + async: ^3.2.4 + commander: ^11.0.0 + email-addresses: ^5.0.0 filenamify: ^4.3.0 find-cache-dir: ^3.3.1 - fs-extra: ^8.1.0 - globby: ^6.1.0 + fs-extra: ^11.1.1 + globby: ^11.1.0 bin: gh-pages: bin/gh-pages.js gh-pages-clean: bin/gh-pages-clean.js - checksum: 255648eb272104465586393be8a3112d928916a6b35b2b3ffc202c1e55b1c25b1e54e4b5fe83afbf1b1f8e7d37521c0d7b9c7b3db9ff899474db710581662154 + checksum: 419e64226c72d64b78eb75457f26cd6c0863afe35d5977c13bdaf6025c15d40ccf477b3fdb17b73b4206ae89c5a67863de5948dd236518690dc244d737a8d0b2 languageName: node linkType: hard @@ -12035,7 +11945,7 @@ __metadata: languageName: node linkType: hard -"glob@npm:7.2.3, glob@npm:^7.0.3, glob@npm:^7.1.3, glob@npm:^7.1.4, glob@npm:^7.1.6": +"glob@npm:7.2.3, glob@npm:^7.1.3, glob@npm:^7.1.4, glob@npm:^7.1.6": version: 7.2.3 resolution: "glob@npm:7.2.3" dependencies: @@ -12182,19 +12092,6 @@ __metadata: languageName: node linkType: hard -"globby@npm:^6.1.0": - version: 6.1.0 - resolution: "globby@npm:6.1.0" - dependencies: - array-union: ^1.0.1 - glob: ^7.0.3 - object-assign: ^4.0.1 - pify: ^2.0.0 - pinkie-promise: ^2.0.0 - checksum: 18109d6b9d55643d2b98b59c3cfae7073ccfe39829632f353d516cc124d836c2ddebe48a23f04af63d66a621b6d86dd4cbd7e6af906f2458a7fe510ffc4bd424 - languageName: node - linkType: hard - "good-listener@npm:^1.2.2": version: 1.2.2 resolution: "good-listener@npm:1.2.2" @@ -12225,15 +12122,6 @@ __metadata: languageName: node linkType: hard -"graphlib@npm:^2.1.8": - version: 2.1.8 - resolution: "graphlib@npm:2.1.8" - dependencies: - lodash: ^4.17.15 - checksum: 1e0db4dea1c8187d59103d5582ecf32008845ebe2103959a51d22cb6dae495e81fb9263e22c922bca3aaecb56064a45cd53424e15a4626cfb5a0c52d0aff61a8 - languageName: node - linkType: hard - "grid-index@npm:^1.1.0": version: 1.1.0 resolution: "grid-index@npm:1.1.0" @@ -12241,6 +12129,13 @@ __metadata: languageName: node linkType: hard +"hachure-fill@npm:^0.5.2": + version: 0.5.2 + resolution: "hachure-fill@npm:0.5.2" + checksum: 01cf2ac6b787ec73ced3d6eb393a0f989d55f32431d1e8a1c1c864769d1b8763c9cb6aa1d45fb1c237a065de90167491c6a46193690b688ea6c25f575f84586c + languageName: node + linkType: hard + "handle-thing@npm:^2.0.0": version: 2.0.1 resolution: "handle-thing@npm:2.0.1" @@ -12654,7 +12549,7 @@ __metadata: languageName: node linkType: hard -"iconv-lite@npm:0.4, iconv-lite@npm:0.4.24, iconv-lite@npm:^0.4.24": +"iconv-lite@npm:0.4.24, iconv-lite@npm:^0.4.24": version: 0.4.24 resolution: "iconv-lite@npm:0.4.24" dependencies: @@ -12877,6 +12772,13 @@ __metadata: languageName: node linkType: hard +"internmap@npm:^1.0.0": + version: 1.0.1 + resolution: "internmap@npm:1.0.1" + checksum: 9d00f8c0cf873a24a53a5a937120dab634c41f383105e066bb318a61864e6292d24eb9516e8e7dccfb4420ec42ca474a0f28ac9a6cc82536898fa09bbbe53813 + languageName: node + linkType: hard + "ip-address@npm:^9.0.5": version: 9.0.5 resolution: "ip-address@npm:9.0.5" @@ -14497,10 +14399,21 @@ __metadata: languageName: node linkType: hard -"kdbush@npm:^3.0.0": - version: 3.0.0 - resolution: "kdbush@npm:3.0.0" - checksum: bc5fa433958e42664a8a92457e4f0d1db55b3b8e36956aac0102964adb2eab043bdbff156570dc8d867144ceff588fb7a1c6e099ba9be068cd1767a73e1ace92 +"katex@npm:^0.16.9": + version: 0.16.11 + resolution: "katex@npm:0.16.11" + dependencies: + commander: ^8.3.0 + bin: + katex: cli.js + checksum: 49d9340705f4922ee22aacedad45664971449e5ca65e42a70228961336c8d4746c37c3c719bcc2114b6ad21182800c7d3d8bea28fe6f951fc45fe7e8322ea3bd + languageName: node + linkType: hard + +"kdbush@npm:^4.0.2": + version: 4.0.2 + resolution: "kdbush@npm:4.0.2" + checksum: 6782ef2cdaec9322376b9955a16b0163beda0cefa2f87da76e8970ade2572d8b63bec915347aaeac609484b0c6e84d7b591f229ef353b68b460238095bacde2d languageName: node linkType: hard @@ -14522,10 +14435,10 @@ __metadata: languageName: node linkType: hard -"khroma@npm:^2.0.0": - version: 2.0.0 - resolution: "khroma@npm:2.0.0" - checksum: 3be7ef681f41f6071464e21060731fa63e2915bcd0774b9f35e431aa664c0c0e0826825403360654935111d4309f6704e5dc27cd953614133dfbdee4c056c3a8 +"khroma@npm:^2.1.0": + version: 2.1.0 + resolution: "khroma@npm:2.1.0" + checksum: b34ba39d3a9a52d388110bded8cb1c12272eb69c249d8eb26feab12d18a96a9bc4ceec4851d2afa43de4569f7d5ea78fa305965a3d0e96a38e02fe77c53677da languageName: node linkType: hard @@ -14615,6 +14528,26 @@ __metadata: languageName: node linkType: hard +"kolorist@npm:^1.8.0": + version: 1.8.0 + resolution: "kolorist@npm:1.8.0" + checksum: b056de671acc8a17f1e78d6d46c47dae3e06481eabc9fed213dd9079a7454fd3a7ea1226ec718df81c9208877f7475d038ac27a400958fec278d975839e33643 + languageName: node + linkType: hard + +"langium@npm:3.0.0": + version: 3.0.0 + resolution: "langium@npm:3.0.0" + dependencies: + chevrotain: ~11.0.3 + chevrotain-allstar: ~0.3.0 + vscode-languageserver: ~9.0.1 + vscode-languageserver-textdocument: ~1.0.11 + vscode-uri: ~3.0.8 + checksum: fc184dcef5cc83eaaf93e7d892c74ac74ff441f820378ceba29e4d1245bf82a0b1808a97d628f065f085046b85ed88df8c5cce3a5fc380efa4bad84fe6c2c88e + languageName: node + linkType: hard + "launch-editor@npm:^2.6.1": version: 2.8.0 resolution: "launch-editor@npm:2.8.0" @@ -14625,6 +14558,20 @@ __metadata: languageName: node linkType: hard +"layout-base@npm:^1.0.0": + version: 1.0.2 + resolution: "layout-base@npm:1.0.2" + checksum: e4c312765ac4fa13b49c940e701461309c7a0aa07f784f81d31f626b945dced90a8abf83222388a5af16b7074271f745501a90ef5a3af676abb2e7eb16d55b2e + languageName: node + linkType: hard + +"layout-base@npm:^2.0.0": + version: 2.0.1 + resolution: "layout-base@npm:2.0.1" + checksum: ef93baf044f67c3680f4f3a6d628bf4c7faba0f70f3e0abb16e4811bed087045208560347ca749e123d169cbf872505ad84e11fb21b0be925997227e042c7f43 + languageName: node + linkType: hard + "less-loader@npm:11.1.0": version: 11.1.0 resolution: "less-loader@npm:11.1.0" @@ -14933,6 +14880,16 @@ __metadata: languageName: node linkType: hard +"local-pkg@npm:^0.5.0": + version: 0.5.0 + resolution: "local-pkg@npm:0.5.0" + dependencies: + mlly: ^1.4.2 + pkg-types: ^1.0.3 + checksum: b0a6931e588ad4f7bf4ab49faacf49e07fc4d05030f895aa055d46727a15b99300d39491cf2c3e3f05284aec65565fb760debb74c32e64109f4a101f9300d81a + languageName: node + linkType: hard + "locate-path@npm:^2.0.0": version: 2.0.0 resolution: "locate-path@npm:2.0.0" @@ -14980,7 +14937,7 @@ __metadata: languageName: node linkType: hard -"lodash-es@npm:4.17.21": +"lodash-es@npm:4.17.21, lodash-es@npm:^4.17.21": version: 4.17.21 resolution: "lodash-es@npm:4.17.21" checksum: 05cbffad6e2adbb331a4e16fbd826e7faee403a1a04873b82b42c0f22090f280839f85b95393f487c1303c8a3d2a010048bf06151a6cbe03eee4d388fb0a12d2 @@ -15253,42 +15210,48 @@ __metadata: languageName: node linkType: hard -"mapbox-gl@npm:2.9.2": - version: 2.9.2 - resolution: "mapbox-gl@npm:2.9.2" +"mapbox-gl@npm:>= 2.9.2 < 4": + version: 3.7.0 + resolution: "mapbox-gl@npm:3.7.0" dependencies: - "@mapbox/geojson-rewind": ^0.5.1 - "@mapbox/geojson-types": ^1.0.2 "@mapbox/jsonlint-lines-primitives": ^2.0.2 - "@mapbox/mapbox-gl-supported": ^2.0.1 + "@mapbox/mapbox-gl-supported": ^3.0.0 "@mapbox/point-geometry": ^0.1.0 - "@mapbox/tiny-sdf": ^2.0.5 - "@mapbox/unitbezier": ^0.0.0 + "@mapbox/tiny-sdf": ^2.0.6 + "@mapbox/unitbezier": ^0.0.1 "@mapbox/vector-tile": ^1.3.1 "@mapbox/whoots-js": ^3.1.0 + "@types/geojson": ^7946.0.14 + "@types/geojson-vt": ^3.2.5 + "@types/mapbox__point-geometry": ^0.1.4 + "@types/mapbox__vector-tile": ^1.3.4 + "@types/pbf": ^3.0.5 + "@types/supercluster": ^7.1.3 + cheap-ruler: ^4.0.0 csscolorparser: ~1.0.3 - earcut: ^2.2.3 - geojson-vt: ^3.2.1 + earcut: ^3.0.0 + geojson-vt: ^4.0.2 gl-matrix: ^3.4.3 grid-index: ^1.1.0 + kdbush: ^4.0.2 murmurhash-js: ^1.0.0 pbf: ^3.2.1 - potpack: ^1.0.2 - quickselect: ^2.0.0 - rw: ^1.3.3 - supercluster: ^7.1.4 - tinyqueue: ^2.0.3 + potpack: ^2.0.0 + quickselect: ^3.0.0 + serialize-to-js: ^3.1.2 + supercluster: ^8.0.1 + tinyqueue: ^3.0.0 vt-pbf: ^3.1.3 - checksum: 73c667e4e32a3cd13f70f1cc8f0d59eb4f505c9d9570572ec73924f4b7baea2dd4260c8c89445a497775251764b7039314d100bd923569559de263d6bf97a542 + checksum: 67fa2dff9aa3604a273be070fff040de352565c4b29075f84ab40ca8b6b8d5d2ae0bad9a3f209be75d65d59dc6746e8a38ff6955234b1dc506af6847cb76e2ce languageName: node linkType: hard -"marked@npm:^4.0.17": - version: 4.0.18 - resolution: "marked@npm:4.0.18" +"marked@npm:^13.0.2": + version: 13.0.3 + resolution: "marked@npm:13.0.3" bin: marked: bin/marked.js - checksum: a13e886d5059a8500a6fd552feecc16e18fc3636aa491fce372384b1fdea67e323d67ac49f7618f6977e66ca96e39f27400eb5c1273d5ee9c2301e8c33e90dce + checksum: 1e35459ccf26a2a4ba086d9acd5ade00736dd24bacc817b202a3ba7d219e1b252fee91fca41b07de5bc6cfe3442edebe4f0efb18975978d65043050feb116425 languageName: node linkType: hard @@ -15381,20 +15344,30 @@ __metadata: languageName: node linkType: hard -"mermaid@npm:^9.1.2": - version: 9.1.3 - resolution: "mermaid@npm:9.1.3" +"mermaid@npm:>= 10.6.0 < 12.0.0": + version: 11.3.0 + resolution: "mermaid@npm:11.3.0" dependencies: - "@braintree/sanitize-url": ^6.0.0 - d3: ^7.0.0 - dagre: ^0.8.5 - dagre-d3: ^0.6.4 - dompurify: 2.3.8 - graphlib: ^2.1.8 - khroma: ^2.0.0 - moment-mini: ^2.24.0 - stylis: ^4.0.10 - checksum: 7cec272241258977f539853f9e07eac0cdb81815a5046ba32ddc8f71f24b9102a3a54d2a2042ef151306ad82e11ab57fee5bb590689ff43e9520e3fbbc136d52 + "@braintree/sanitize-url": ^7.0.1 + "@iconify/utils": ^2.1.32 + "@mermaid-js/parser": ^0.3.0 + cytoscape: ^3.29.2 + cytoscape-cose-bilkent: ^4.1.0 + cytoscape-fcose: ^2.2.0 + d3: ^7.9.0 + d3-sankey: ^0.12.3 + dagre-d3-es: 7.0.10 + dayjs: ^1.11.10 + dompurify: ^3.0.11 <3.1.7 + katex: ^0.16.9 + khroma: ^2.1.0 + lodash-es: ^4.17.21 + marked: ^13.0.2 + roughjs: ^4.6.6 + stylis: ^4.3.1 + ts-dedent: ^2.2.0 + uuid: ^9.0.1 + checksum: 7cd6506ec4b0c7cfa82cf27fd6bcc28a70cb8179c0efa9fa89611a49ada615d7e4787a26ca7055fdf4607428f0b1429b65550df5da20099e9b58ad1eaad3c976 languageName: node linkType: hard @@ -15721,6 +15694,18 @@ __metadata: languageName: node linkType: hard +"mlly@npm:^1.4.2, mlly@npm:^1.7.1, mlly@npm:^1.7.2": + version: 1.7.2 + resolution: "mlly@npm:1.7.2" + dependencies: + acorn: ^8.12.1 + pathe: ^1.1.2 + pkg-types: ^1.2.0 + ufo: ^1.5.4 + checksum: 66a92b0ac4f76cac22d2d6688338fece01f2ac4afd7816cd4224525c1f9032c452075730c54c3ef7558485455d704b7141060e517785c93b276b2faa3bb04199 + languageName: node + linkType: hard + "modify-values@npm:^1.0.0": version: 1.0.1 resolution: "modify-values@npm:1.0.1" @@ -15728,13 +15713,6 @@ __metadata: languageName: node linkType: hard -"moment-mini@npm:^2.24.0": - version: 2.24.0 - resolution: "moment-mini@npm:2.24.0" - checksum: c1162322fd05a305cf5d403107fe702a928e5a72c56a614142fae4882846f66bb21c423cef397fe56802564b0353386f1bca46c8bb080d2097e68cbd687d589e - languageName: node - linkType: hard - "mrmime@npm:2.0.0": version: 2.0.0 resolution: "mrmime@npm:2.0.0" @@ -15756,7 +15734,7 @@ __metadata: languageName: node linkType: hard -"ms@npm:2.1.3, ms@npm:^2.0.0, ms@npm:^2.1.1": +"ms@npm:2.1.3, ms@npm:^2.0.0, ms@npm:^2.1.1, ms@npm:^2.1.3": version: 2.1.3 resolution: "ms@npm:2.1.3" checksum: aa92de608021b242401676e35cfa5aa42dd70cbdc082b916da7fb925c542173e36bce97ea3e804923fe92c0ad991434e4a38327e15a1b5b5f945d66df615ae6d @@ -15980,8 +15958,6 @@ __metadata: "@stackblitz/sdk": 1.3.0 "@types/jest": ^29.5.12 "@types/lodash-es": 4.17.6 - "@types/mapbox-gl": 2.7.5 - "@types/mapbox__mapbox-gl-geocoder": 4.7.2 "@types/node": ^20.14.12 "@typescript-eslint/eslint-plugin": ^7.17.0 "@typescript-eslint/parser": ^7.17.0 @@ -15991,16 +15967,16 @@ __metadata: cz-conventional-changelog: 3.3.0 eslint: ^9.7.0 eslint-config-prettier: ^9.1.0 - gh-pages: 4.0.0 + gh-pages: 6.2.0 husky: 8.0.1 jest: ^29.7.0 jest-environment-jsdom: ^29.7.0 jest-preset-angular: ^14.2.0 lint-staged: 13.0.3 lodash-es: 4.17.21 - mapbox-gl: 2.9.2 + mapbox-gl: ">= 2.9.2 < 4" ng-packagr: 18.1.0 - ngx-markdown: 14.0.1 + ngx-markdown: 18.1.0 nx: 19.5.3 postcss: ^8.4.40 postcss-import: ^16.1.0 @@ -16018,25 +15994,35 @@ __metadata: languageName: unknown linkType: soft -"ngx-markdown@npm:14.0.1": - version: 14.0.1 - resolution: "ngx-markdown@npm:14.0.1" +"ngx-markdown@npm:18.1.0": + version: 18.1.0 + resolution: "ngx-markdown@npm:18.1.0" dependencies: - "@types/marked": ^4.0.3 clipboard: ^2.0.11 - emoji-toolkit: ^6.6.0 + emoji-toolkit: ">= 8.0.0 < 10.0.0" katex: ^0.16.0 - marked: ^4.0.17 - mermaid: ^9.1.2 + mermaid: ">= 10.6.0 < 12.0.0" prismjs: ^1.28.0 tslib: ^2.3.0 peerDependencies: - "@angular/common": ^14.0.0 - "@angular/core": ^14.0.0 - "@angular/platform-browser": ^14.0.0 + "@angular/common": ^18.0.0 + "@angular/core": ^18.0.0 + "@angular/platform-browser": ^18.0.0 + marked: ">= 9.0.0 < 13.0.0" rxjs: ^6.5.3 || ^7.4.0 - zone.js: ^0.11.4 - checksum: 81534d920d7bd908e90c2ab8dd65ed5785861e064b3e5517d1a008e95a7a3adc8c4071539456e64842e38f10857a30b5decb747b35f5571eb380845044b07124 + zone.js: ~0.14.0 + dependenciesMeta: + clipboard: + optional: true + emoji-toolkit: + optional: true + katex: + optional: true + mermaid: + optional: true + prismjs: + optional: true + checksum: 77417b2b9105e6e40ccbb3d4297a50fc9d89fcdd6a5763132ee77d32ec7d9d17adf9de91debd08f068cd0e1779f6043add763ffcf0bc0343eb4dc45e6ddf7311 languageName: node linkType: hard @@ -16505,13 +16491,6 @@ __metadata: languageName: node linkType: hard -"object-assign@npm:^4.0.1": - version: 4.1.1 - resolution: "object-assign@npm:4.1.1" - checksum: fcc6e4ea8c7fe48abfbb552578b1c53e0d194086e2e6bbbf59e0a536381a292f39943c6e9628af05b5528aa5e3318bb30d6b2e53cadaf5b8fe9e12c4b69af23f - languageName: node - linkType: hard - "object-inspect@npm:^1.12.2, object-inspect@npm:^1.9.0": version: 1.12.2 resolution: "object-inspect@npm:1.12.2" @@ -16824,6 +16803,13 @@ __metadata: languageName: node linkType: hard +"package-manager-detector@npm:^0.2.0": + version: 0.2.2 + resolution: "package-manager-detector@npm:0.2.2" + checksum: acc0d5a8b6b2a265474c1bac2b3569b6e57fe13db4d764b75cf5fcd11463a44f0ce00bb5dc439a78a1999993780385f431d36ceea51b51a35ce40d512b7388c6 + languageName: node + linkType: hard + "pacote@npm:18.0.6": version: 18.0.6 resolution: "pacote@npm:18.0.6" @@ -16939,6 +16925,13 @@ __metadata: languageName: node linkType: hard +"path-data-parser@npm:0.1.0, path-data-parser@npm:^0.1.0": + version: 0.1.0 + resolution: "path-data-parser@npm:0.1.0" + checksum: a23a214adb38074576a8873d25e8dea7e090b8396d86f58f83f3f6c6298ff56b06adc694147b67f0ed22f14dc478efa1d525710d3ec7b2d7b1efbac57e3fafe6 + languageName: node + linkType: hard + "path-exists@npm:^3.0.0": version: 3.0.0 resolution: "path-exists@npm:3.0.0" @@ -17038,6 +17031,13 @@ __metadata: languageName: node linkType: hard +"pathe@npm:^1.1.2": + version: 1.1.2 + resolution: "pathe@npm:1.1.2" + checksum: ec5f778d9790e7b9ffc3e4c1df39a5bb1ce94657a4e3ad830c1276491ca9d79f189f47609884671db173400256b005f4955f7952f52a2aeb5834ad5fb4faf134 + languageName: node + linkType: hard + "pbf@npm:^3.2.1": version: 3.2.1 resolution: "pbf@npm:3.2.1" @@ -17087,7 +17087,7 @@ __metadata: languageName: node linkType: hard -"pify@npm:^2.0.0, pify@npm:^2.3.0": +"pify@npm:^2.3.0": version: 2.3.0 resolution: "pify@npm:2.3.0" checksum: 9503aaeaf4577acc58642ad1d25c45c6d90288596238fb68f82811c08104c800e5a7870398e9f015d82b44ecbcbef3dc3d4251a1cbb582f6e5959fe09884b2ba @@ -17108,22 +17108,6 @@ __metadata: languageName: node linkType: hard -"pinkie-promise@npm:^2.0.0": - version: 2.0.1 - resolution: "pinkie-promise@npm:2.0.1" - dependencies: - pinkie: ^2.0.0 - checksum: b53a4a2e73bf56b6f421eef711e7bdcb693d6abb474d57c5c413b809f654ba5ee750c6a96dd7225052d4b96c4d053cdcb34b708a86fceed4663303abee52fcca - languageName: node - linkType: hard - -"pinkie@npm:^2.0.0": - version: 2.0.4 - resolution: "pinkie@npm:2.0.4" - checksum: b12b10afea1177595aab036fc220785488f67b4b0fc49e7a27979472592e971614fa1c728e63ad3e7eb748b4ec3c3dbd780819331dad6f7d635c77c10537b9db - languageName: node - linkType: hard - "pirates@npm:^4.0.4": version: 4.0.5 resolution: "pirates@npm:4.0.5" @@ -17161,6 +17145,34 @@ __metadata: languageName: node linkType: hard +"pkg-types@npm:^1.0.3, pkg-types@npm:^1.2.0": + version: 1.2.1 + resolution: "pkg-types@npm:1.2.1" + dependencies: + confbox: ^0.1.8 + mlly: ^1.7.2 + pathe: ^1.1.2 + checksum: d2e3ad7aef36cc92b17403e61c04db521bf0beb175ccb4d432c284239f00ec32ff37feb072a260613e9ff727911cff1127a083fd52f91b9bec6b62970f385702 + languageName: node + linkType: hard + +"points-on-curve@npm:0.2.0, points-on-curve@npm:^0.2.0": + version: 0.2.0 + resolution: "points-on-curve@npm:0.2.0" + checksum: 05e87d6839e3d869cfac0e63c2b1ca700fc8f1083e3f9ae80841cc50379fd31204f9e1f221407df1a90afcb8bfa98404aee0b0fa00330b7b3b328d33be21cf47 + languageName: node + linkType: hard + +"points-on-path@npm:^0.2.1": + version: 0.2.1 + resolution: "points-on-path@npm:0.2.1" + dependencies: + path-data-parser: 0.1.0 + points-on-curve: 0.2.0 + checksum: 5564dd84d15699579bf07bd33adfd0dc1a5e717c0d36ee11f0832b6b6890941e25e9ea68d15f7858698a9b5ec509f60e6472a0346624bb9dd9c2100cf568ac8f + languageName: node + linkType: hard + "portfinder@npm:^1.0.28": version: 1.0.28 resolution: "portfinder@npm:1.0.28" @@ -18055,10 +18067,10 @@ __metadata: languageName: node linkType: hard -"potpack@npm:^1.0.2": - version: 1.0.2 - resolution: "potpack@npm:1.0.2" - checksum: 9dfdbbce012ce80842249abcdd89e20222eb8ae96beba8d578b7e41e78feefc7e33b5c72d46fb8dd3a1e382cb4da9c34574764d88aa8849ab36f542fd2088b42 +"potpack@npm:^2.0.0": + version: 2.0.0 + resolution: "potpack@npm:2.0.0" + checksum: 6dd41692349936b436c29c28cf9ff1268c03ed6ec96c4384b2d9eb95e58e422fab75d428648f475507dd167934984d1002df2010b83e5747b5c358bea371e8f7 languageName: node linkType: hard @@ -18269,10 +18281,10 @@ __metadata: languageName: node linkType: hard -"quickselect@npm:^2.0.0": - version: 2.0.0 - resolution: "quickselect@npm:2.0.0" - checksum: ed2e78431050d223fb75da20ee98011aef1a03f7cb04e1a32ee893402e640be3cfb76d72e9dbe01edf3bb457ff6a62e5c2d85748424d1aa531f6ba50daef098c +"quickselect@npm:^3.0.0": + version: 3.0.0 + resolution: "quickselect@npm:3.0.0" + checksum: 8f72bedb8bb14bce5c3767c55f567bc296fa3ca9d98ba385e3867e434463bc633feee1eddf3dfec17914b7e88feeb08c7b313cf47114a8ff11bf964f77f51cfc languageName: node linkType: hard @@ -18970,6 +18982,18 @@ __metadata: languageName: node linkType: hard +"roughjs@npm:^4.6.6": + version: 4.6.6 + resolution: "roughjs@npm:4.6.6" + dependencies: + hachure-fill: ^0.5.2 + path-data-parser: ^0.1.0 + points-on-curve: ^0.2.0 + points-on-path: ^0.2.1 + checksum: ec4b8266ac4a50c7369e337d8ddff3b2d970506229cac5425ddca56f4e6b29fca07dded4300e9e392bb608da4ba618d349fd241283affb25055cab7c2fe48f8f + languageName: node + linkType: hard + "run-applescript@npm:^7.0.0": version: 7.0.0 resolution: "run-applescript@npm:7.0.0" @@ -18993,7 +19017,7 @@ __metadata: languageName: node linkType: hard -"rw@npm:1, rw@npm:^1.3.3": +"rw@npm:1": version: 1.3.3 resolution: "rw@npm:1.3.3" checksum: c20d82421f5a71c86a13f76121b751553a99cd4a70ea27db86f9b23f33db941f3f06019c30f60d50c356d0bd674c8e74764ac146ea55e217c091bde6fba82aa3 @@ -19364,6 +19388,13 @@ __metadata: languageName: node linkType: hard +"serialize-to-js@npm:^3.1.2": + version: 3.1.2 + resolution: "serialize-to-js@npm:3.1.2" + checksum: 85b639499eccb52dea98966231a4fe2ed5e14c97e3e39b9bf63612007f5054bf7425b26a4d2abdf95cd1dbbdd8282ed3c3138ea25744597f1e3a4c1f89c40f51 + languageName: node + linkType: hard + "serve-index@npm:^1.9.1": version: 1.9.1 resolution: "serve-index@npm:1.9.1" @@ -20090,10 +20121,10 @@ __metadata: languageName: node linkType: hard -"stylis@npm:^4.0.10": - version: 4.1.1 - resolution: "stylis@npm:4.1.1" - checksum: e9b0a086996a94c44d45933287731313f6ecdbf9334410231d882d31a1890fb36e34a7b163487e2d7f992c2044e4cb37179810fc6f758f359a431343c2374ed2 +"stylis@npm:^4.3.1": + version: 4.3.4 + resolution: "stylis@npm:4.3.4" + checksum: 7e3a482c7bba6e0e9e3187972e958acf800b1abe99f23e081fcb5dea8e4a05eca44286c1381ce2bc7179245ddbd7bf1f74237ed413fce7491320a543bcfebda9 languageName: node linkType: hard @@ -20126,12 +20157,12 @@ __metadata: languageName: node linkType: hard -"supercluster@npm:^7.1.4": - version: 7.1.5 - resolution: "supercluster@npm:7.1.5" +"supercluster@npm:^8.0.1": + version: 8.0.1 + resolution: "supercluster@npm:8.0.1" dependencies: - kdbush: ^3.0.0 - checksum: 69863238870093b96617135884721b6343746e14f396b2d67d6b55c52c362ec0516c5e386aa21815e75a9cef2054e831ac34023d0d8b600091d28cea0794f027 + kdbush: ^4.0.2 + checksum: 39d141f768a511efa53260252f9dab9a2ce0228b334e55482c8d3019e151932f05e1a9a0252d681737651b13c741c665542a6ddb40ec27de96159ea7ad41f7f4 languageName: node linkType: hard @@ -20444,10 +20475,17 @@ __metadata: languageName: node linkType: hard -"tinyqueue@npm:^2.0.3": - version: 2.0.3 - resolution: "tinyqueue@npm:2.0.3" - checksum: 0b6bda46b680dca072f84aef1acd22a7085a2ff2aa8e222bb41045c61a056943805056d77d7f976587ed6a0597872beb5c416043f65f0314304432d6c178dd20 +"tinyexec@npm:^0.3.0": + version: 0.3.1 + resolution: "tinyexec@npm:0.3.1" + checksum: 691b531d464bdc09eeba934e43d8ac2a74c9d22a4bec9cd7f4991375c64e22712f7e5a95ba243a9369a478afd34d41171359012a2248ea49615cd2816ab12959 + languageName: node + linkType: hard + +"tinyqueue@npm:^3.0.0": + version: 3.0.0 + resolution: "tinyqueue@npm:3.0.0" + checksum: 49a5454935991685512e2e1848e423fce1953b95e0fe0456b9a50d07ff0bfbf4c2b1a1682191dc2d520b37c554ef518ad225133cea9434eb9cfebf811fc61e71 languageName: node linkType: hard @@ -20563,6 +20601,13 @@ __metadata: languageName: node linkType: hard +"ts-dedent@npm:^2.2.0": + version: 2.2.0 + resolution: "ts-dedent@npm:2.2.0" + checksum: 93ed8f7878b6d5ed3c08d99b740010eede6bccfe64bce61c5a4da06a2c17d6ddbb80a8c49c2d15251de7594a4f93ffa21dd10e7be75ef66a4dc9951b4a94e2af + languageName: node + linkType: hard + "ts-jest@npm:^29.0.0": version: 29.1.0 resolution: "ts-jest@npm:29.1.0" @@ -20929,6 +20974,13 @@ __metadata: languageName: node linkType: hard +"ufo@npm:^1.5.4": + version: 1.5.4 + resolution: "ufo@npm:1.5.4" + checksum: f244703b7d4f9f0df4f9af23921241ab73410b591f4e5b39c23e3147f3159b139a4b1fb5903189c306129f7a16b55995dac0008e0fbae88a37c3e58cbc34d833 + languageName: node + linkType: hard + "uglify-js@npm:^3.1.4": version: 3.16.2 resolution: "uglify-js@npm:3.16.2" @@ -21154,6 +21206,15 @@ __metadata: languageName: node linkType: hard +"uuid@npm:^9.0.1": + version: 9.0.1 + resolution: "uuid@npm:9.0.1" + bin: + uuid: dist/bin/uuid + checksum: 39931f6da74e307f51c0fb463dc2462807531dc80760a9bff1e35af4316131b4fc3203d16da60ae33f07fdca5b56f3f1dd662da0c99fea9aaeab2004780cc5f4 + languageName: node + linkType: hard + "v8-compile-cache-lib@npm:^3.0.1": version: 3.0.1 resolution: "v8-compile-cache-lib@npm:3.0.1" @@ -21238,6 +21299,55 @@ __metadata: languageName: node linkType: hard +"vscode-jsonrpc@npm:8.2.0": + version: 8.2.0 + resolution: "vscode-jsonrpc@npm:8.2.0" + checksum: f302a01e59272adc1ae6494581fa31c15499f9278df76366e3b97b2236c7c53ebfc71efbace9041cfd2caa7f91675b9e56f2407871a1b3c7f760a2e2ee61484a + languageName: node + linkType: hard + +"vscode-languageserver-protocol@npm:3.17.5": + version: 3.17.5 + resolution: "vscode-languageserver-protocol@npm:3.17.5" + dependencies: + vscode-jsonrpc: 8.2.0 + vscode-languageserver-types: 3.17.5 + checksum: dfb42d276df5dfea728267885b99872ecff62f6c20448b8539fae71bb196b420f5351c5aca7c1047bf8fb1f89fa94a961dce2bc5bf7e726198f4be0bb86a1e71 + languageName: node + linkType: hard + +"vscode-languageserver-textdocument@npm:~1.0.11": + version: 1.0.12 + resolution: "vscode-languageserver-textdocument@npm:1.0.12" + checksum: 49415c8f065860693fdd6cb0f7b8a24470130dc941e887a396b6e6bbae93be132323a644aa1edd7d0eec38a730e05a2d013aebff6bddd30c5af374ef3f4cd9ab + languageName: node + linkType: hard + +"vscode-languageserver-types@npm:3.17.5": + version: 3.17.5 + resolution: "vscode-languageserver-types@npm:3.17.5" + checksum: 79b420e7576398d396579ca3a461c9ed70e78db4403cd28bbdf4d3ed2b66a2b4114031172e51fad49f0baa60a2180132d7cb2ea35aa3157d7af3c325528210ac + languageName: node + linkType: hard + +"vscode-languageserver@npm:~9.0.1": + version: 9.0.1 + resolution: "vscode-languageserver@npm:9.0.1" + dependencies: + vscode-languageserver-protocol: 3.17.5 + bin: + installServerIntoExtension: bin/installServerIntoExtension + checksum: 8b7dfda47fb64c3f48a9dabd3f01938cc8d39f3f068f1ee586eaf0a373536180a1047bdde8d876f965cfc04160d1587e99828b61b742b0342595fee67c8814ea + languageName: node + linkType: hard + +"vscode-uri@npm:~3.0.8": + version: 3.0.8 + resolution: "vscode-uri@npm:3.0.8" + checksum: 514249126850c0a41a7d8c3c2836cab35983b9dc1938b903cfa253b9e33974c1416d62a00111385adcfa2b98df456437ab704f709a2ecca76a90134ef5eb4832 + languageName: node + linkType: hard + "vt-pbf@npm:^3.1.3": version: 3.1.3 resolution: "vt-pbf@npm:3.1.3"