@dereekb/dbx-web 12.0.2 → 12.0.4

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (54) hide show
  1. package/esm2022/lib/error/error.module.mjs +4 -4
  2. package/esm2022/lib/interaction/dialog/dialog.content.directive.mjs +3 -3
  3. package/esm2022/lib/interaction/prompt/prompt.confirm.dialog.component.mjs +2 -2
  4. package/esm2022/lib/layout/compact/compact.directive.mjs +10 -11
  5. package/esm2022/lib/layout/compact/compact.layout.module.mjs +7 -8
  6. package/esm2022/lib/layout/text/index.mjs +1 -2
  7. package/esm2022/lib/router/provider/uirouter/anchor.component.mjs +4 -5
  8. package/esm2022/mapbox/lib/mapbox.layout.component.mjs +13 -18
  9. package/esm2022/mapbox/lib/mapbox.marker.component.mjs +30 -34
  10. package/esm2022/mapbox/lib/mapbox.markers.component.mjs +2 -2
  11. package/esm2022/mapbox/lib/mapbox.menu.component.mjs +3 -2
  12. package/esm2022/mapbox/lib/mapbox.module.mjs +14 -12
  13. package/esm2022/mapbox/lib/mapbox.providers.mjs +4 -4
  14. package/esm2022/mapbox/lib/mapbox.service.mjs +9 -1
  15. package/esm2022/mapbox/lib/mapbox.store.map.directive.mjs +16 -8
  16. package/esm2022/table/lib/date/daterange.table.cell.input.component.mjs +2 -3
  17. package/fesm2022/dereekb-dbx-web-mapbox.mjs +78 -68
  18. package/fesm2022/dereekb-dbx-web-mapbox.mjs.map +1 -1
  19. package/fesm2022/dereekb-dbx-web-table.mjs +2 -2
  20. package/fesm2022/dereekb-dbx-web-table.mjs.map +1 -1
  21. package/fesm2022/dereekb-dbx-web.mjs +69 -224
  22. package/fesm2022/dereekb-dbx-web.mjs.map +1 -1
  23. package/lib/interaction/dialog/dialog.content.directive.d.ts +1 -1
  24. package/lib/layout/compact/compact.directive.d.ts +3 -2
  25. package/lib/layout/compact/compact.layout.module.d.ts +2 -3
  26. package/lib/layout/style/_style.scss +0 -1
  27. package/lib/layout/text/index.d.ts +0 -1
  28. package/mapbox/lib/mapbox.layout.component.d.ts +3 -3
  29. package/mapbox/lib/mapbox.markers.component.d.ts +1 -1
  30. package/mapbox/lib/mapbox.menu.component.d.ts +1 -0
  31. package/mapbox/lib/mapbox.module.d.ts +1 -1
  32. package/mapbox/lib/mapbox.providers.d.ts +2 -2
  33. package/mapbox/lib/mapbox.service.d.ts +2 -1
  34. package/package.json +1 -1
  35. package/esm2022/lib/layout/text/compat/form.description.component.mjs +0 -19
  36. package/esm2022/lib/layout/text/compat/hint.component.mjs +0 -19
  37. package/esm2022/lib/layout/text/compat/index.mjs +0 -10
  38. package/esm2022/lib/layout/text/compat/label.component.mjs +0 -19
  39. package/esm2022/lib/layout/text/compat/note.component.mjs +0 -19
  40. package/esm2022/lib/layout/text/compat/notice.component.mjs +0 -19
  41. package/esm2022/lib/layout/text/compat/ok.component.mjs +0 -19
  42. package/esm2022/lib/layout/text/compat/success.component.mjs +0 -19
  43. package/esm2022/lib/layout/text/compat/text.compat.module.mjs +0 -32
  44. package/esm2022/lib/layout/text/compat/warn.component.mjs +0 -19
  45. package/lib/layout/text/compat/form.description.component.d.ts +0 -8
  46. package/lib/layout/text/compat/hint.component.d.ts +0 -8
  47. package/lib/layout/text/compat/index.d.ts +0 -9
  48. package/lib/layout/text/compat/label.component.d.ts +0 -8
  49. package/lib/layout/text/compat/note.component.d.ts +0 -8
  50. package/lib/layout/text/compat/notice.component.d.ts +0 -8
  51. package/lib/layout/text/compat/ok.component.d.ts +0 -8
  52. package/lib/layout/text/compat/success.component.d.ts +0 -8
  53. package/lib/layout/text/compat/text.compat.module.d.ts +0 -21
  54. package/lib/layout/text/compat/warn.component.d.ts +0 -8
@@ -1,15 +1,14 @@
1
1
  import * as i0 from '@angular/core';
2
- import { inject, Injectable, Component, ChangeDetectionStrategy, Directive, Injector, Optional, SkipSelf, output, viewChild, ElementRef, input, signal, computed, effect, NgModule, importProvidersFrom, makeEnvironmentProviders } from '@angular/core';
2
+ import { inject, Injectable, Component, ChangeDetectionStrategy, Directive, Injector, Optional, SkipSelf, output, viewChild, ElementRef, input, signal, effect, computed, NgModule, makeEnvironmentProviders } from '@angular/core';
3
3
  import { asObservable, cleanup, filterMaybe, onTrueToFalse, SubscriptionObject, distinctUntilMapHasDifferentKeys } from '@dereekb/rxjs';
4
4
  import { distinctUntilChanged, switchMap, map, combineLatestWith, shareReplay, NEVER, defaultIfEmpty, tap, EMPTY, interval, of, first, combineLatest, filter, startWith, throttleTime, Subject, merge, delay } from 'rxjs';
5
- import { LAT_LONG_10M_PRECISION, latLngPointFunction, roundNumberToStepFunction, latLngBoundFunction, latLngBoundFromInput, filterUndefinedValues, diffLatLngBoundPoints, latLngBoundCenterPoint, addLatLngPoints, isSameLatLngPoint, isSameVector, vectorMinimumSizeResizeFunction, isSameLatLngBound, isDefaultLatLngPoint, swMostLatLngPoint, neMostLatLngPoint, latLngBoundWrapsMap, isWithinLatLngBoundFunction, overlapsLatLngBoundFunction, latLngPoint, isNotFalse, DestroyFunctionObject, getValueFromGetter, pushItemOrArrayItemsIntoArray, spaceSeparatedCssClasses } from '@dereekb/util';
5
+ import { latLngPoint, LAT_LONG_10M_PRECISION, latLngPointFunction, roundNumberToStepFunction, latLngBoundFunction, latLngBoundFromInput, filterUndefinedValues, diffLatLngBoundPoints, latLngBoundCenterPoint, addLatLngPoints, isSameLatLngPoint, isSameVector, vectorMinimumSizeResizeFunction, isSameLatLngBound, isDefaultLatLngPoint, swMostLatLngPoint, neMostLatLngPoint, latLngBoundWrapsMap, isWithinLatLngBoundFunction, overlapsLatLngBoundFunction, isNotFalse, DestroyFunctionObject, getValueFromGetter, pushItemOrArrayItemsIntoArray, spaceSeparatedCssClasses } from '@dereekb/util';
6
6
  import { ComponentStore } from '@ngrx/component-store';
7
7
  import * as MapboxGl from 'mapbox-gl';
8
8
  import { bounds } from '@placemarkio/geo-viewport';
9
9
  import { DbxInjectionArrayComponent, DbxInjectionComponent, AbstractSubscriptionDirective } from '@dereekb/dbx-core';
10
10
  import { toSignal, toObservable } from '@angular/core/rxjs-interop';
11
- import * as i1$1 from 'ngx-mapbox-gl';
12
- import { MapService, MapComponent, NgxMapboxGLModule } from 'ngx-mapbox-gl';
11
+ import { MapService, MapComponent, MAP_COMPONENT_INITIALIZATION_OPTIONS, MarkerComponent, provideMapboxGL } from 'ngx-mapbox-gl';
13
12
  import { DbxColorDirective, disableRightClickInCdkBackdrop, DbxAnchorComponent } from '@dereekb/dbx-web';
14
13
  import * as i1 from 'angular-resize-event-package';
15
14
  import { AngularResizeEventModule } from 'angular-resize-event-package';
@@ -44,6 +43,13 @@ class DbxMapboxService {
44
43
  get mapboxMapStoreTimerRefreshPeriod() {
45
44
  return this._config.defaultStoreRefreshPeriod ?? DEFAULT_MAPBOX_MAP_STORE_TIMER_REFRESH_PERIOD;
46
45
  }
46
+ initializationOptions() {
47
+ return {
48
+ style: this.defaultStyle,
49
+ zoom: this.defaultZoom,
50
+ center: latLngPoint(this.defaultCenter)
51
+ };
52
+ }
47
53
  static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: DbxMapboxService, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
48
54
  static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: DbxMapboxService });
49
55
  }
@@ -801,21 +807,30 @@ class DbxMapboxMapDirective {
801
807
  dbxMapboxService = inject(DbxMapboxService);
802
808
  dbxMapboxMapStore = inject(DbxMapboxMapStore, { optional: true });
803
809
  ngOnInit() {
804
- // style must be provided first before the map will load.
805
- this.mapboxMap.style = this.dbxMapboxService.defaultStyle;
806
- this.mapboxMap.zoom = this.dbxMapboxService.defaultZoom;
807
- this.mapboxMap.center = latLngPoint(this.dbxMapboxService.defaultCenter);
808
810
  if (this.dbxMapboxMapStore) {
809
811
  this.dbxMapboxMapStore.setMapService(this.mapService);
810
812
  }
811
813
  }
812
814
  static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: DbxMapboxMapDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive });
813
- static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "18.2.13", type: DbxMapboxMapDirective, isStandalone: true, selector: "[dbxMapboxMap]", ngImport: i0 });
815
+ static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "18.2.13", type: DbxMapboxMapDirective, isStandalone: true, selector: "[dbxMapboxMap]", providers: [
816
+ {
817
+ provide: MAP_COMPONENT_INITIALIZATION_OPTIONS,
818
+ useFactory: (dbxMapboxService) => dbxMapboxService.initializationOptions(),
819
+ deps: [DbxMapboxService]
820
+ }
821
+ ], ngImport: i0 });
814
822
  }
815
823
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: DbxMapboxMapDirective, decorators: [{
816
824
  type: Directive,
817
825
  args: [{
818
826
  selector: '[dbxMapboxMap]',
827
+ providers: [
828
+ {
829
+ provide: MAP_COMPONENT_INITIALIZATION_OPTIONS,
830
+ useFactory: (dbxMapboxService) => dbxMapboxService.initializationOptions(),
831
+ deps: [DbxMapboxService]
832
+ }
833
+ ],
819
834
  standalone: true
820
835
  }]
821
836
  }] });
@@ -859,15 +874,10 @@ class DbxMapboxLayoutComponent {
859
874
  forceHasDrawerContent = input(undefined);
860
875
  drawerButtonColor = input('background', { transform: (x) => x ?? 'background' });
861
876
  openDrawer = input(undefined); // input open/close drawer config
862
- toggleDrawerSignal = signal(undefined); // Signal to toggle the drawer
863
- isDrawerOpenSignal = computed(() => {
864
- const toggleDrawer = this.toggleDrawerSignal();
865
- let drawerOpened = toggleDrawer;
866
- if (toggleDrawer == null) {
867
- drawerOpened = this.openDrawer();
868
- }
869
- return drawerOpened;
870
- });
877
+ isDrawerOpenSignal = signal(undefined); // Signal to toggle the drawer
878
+ _openDrawerEffect = effect(() => {
879
+ this.isDrawerOpenSignal.set(this.openDrawer());
880
+ }, { allowSignalWrites: true });
871
881
  storeHasDrawerContent = toSignal(this.dbxMapboxMapStore.hasDrawerContent$);
872
882
  drawerHasContentSignal = computed(() => this.forceHasDrawerContent() ?? this.storeHasDrawerContent());
873
883
  refreshContentMargins$ = this._refreshContentMargins;
@@ -958,22 +968,22 @@ class DbxMapboxLayoutComponent {
958
968
  this._reszieSyncSub.destroy();
959
969
  this._toggleSyncSub.destroy();
960
970
  }
961
- toggleDrawer(open) {
962
- if (open == null) {
963
- open = !this.isDrawerOpenSignal();
964
- }
965
- this.toggleDrawerSignal.set(open);
966
- }
967
971
  viewResized(event) {
968
972
  this._viewResized.next(event);
969
973
  }
970
974
  drawerOpened(opened) {
971
- const currentToggleState = this.toggleDrawerSignal();
975
+ const currentToggleState = this.isDrawerOpenSignal();
972
976
  if (currentToggleState !== opened) {
973
977
  this.toggleDrawer(opened); // sync with drawer toggling
974
978
  this.drawerOpenedChange.emit(opened);
975
979
  }
976
980
  }
981
+ toggleDrawer(open) {
982
+ if (open == null) {
983
+ open = !this.isDrawerOpenSignal();
984
+ }
985
+ this.isDrawerOpenSignal.set(open);
986
+ }
977
987
  static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: DbxMapboxLayoutComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
978
988
  static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.2.0", version: "18.2.13", type: DbxMapboxLayoutComponent, isStandalone: true, selector: "dbx-mapbox-layout", inputs: { side: { classPropertyName: "side", publicName: "side", isSignal: true, isRequired: false, transformFunction: null }, mode: { classPropertyName: "mode", publicName: "mode", isSignal: true, isRequired: false, transformFunction: null }, forceHasDrawerContent: { classPropertyName: "forceHasDrawerContent", publicName: "forceHasDrawerContent", isSignal: true, isRequired: false, transformFunction: null }, drawerButtonColor: { classPropertyName: "drawerButtonColor", publicName: "drawerButtonColor", isSignal: true, isRequired: false, transformFunction: null }, openDrawer: { classPropertyName: "openDrawer", publicName: "openDrawer", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { drawerOpenedChange: "drawerOpenedChange" }, viewQueries: [{ propertyName: "drawerContainer", first: true, predicate: MatDrawerContainer, descendants: true, isSignal: true }, { propertyName: "drawerContainerElement", first: true, predicate: MatDrawerContainer, descendants: true, read: ElementRef, isSignal: true }, { propertyName: "drawerContent", first: true, predicate: ["drawerContent"], descendants: true, isSignal: true }], ngImport: i0, template: "<mat-drawer-container #containerElement class=\"dbx-mapbox-layout-container\" [ngClass]=\"drawerClassesSignal()\" [hasBackdrop]=\"false\">\n <mat-drawer class=\"dbx-mapbox-layout-drawer\" #drawer (openedChange)=\"drawerOpened($event)\" [opened]=\"isOpenAndHasContentSignal()\" [mode]=\"mode()\" [position]=\"positionSignal()\">\n <div class=\"dbx-mapbox-layout-drawer-content\" [ngClass]=\"drawerClassesSignal()\">\n <ng-content select=\"[drawer]\"></ng-content>\n <dbx-mapbox-layout-drawer></dbx-mapbox-layout-drawer>\n </div>\n </mat-drawer>\n <mat-drawer-content #content class=\"dbx-mapbox-layout-content\" (resized)=\"viewResized($event)\">\n <button mat-icon-button (click)=\"toggleDrawer()\" class=\"dbx-mapbox-layout-drawer-button\" [dbxColor]=\"drawerButtonColor()\">\n <mat-icon>{{ buttonIconSignal() }}</mat-icon>\n </button>\n <ng-content></ng-content>\n </mat-drawer-content>\n</mat-drawer-container>\n", styles: [".dbx-mapbox-layout-container{height:100%;max-width:100%}.dbx-mapbox-layout-container .mat-drawer-container{height:100%}.dbx-mapbox-layout-container .dbx-mapbox-layout-drawer{max-width:calc(100% - var(--dbx-mapbox-min-width-var, 33px))}.dbx-mapbox-layout-container .dbx-mapbox-layout-drawer-content{height:100%;width:100%;overflow:hidden}.dbx-mapbox-layout-content>.dbx-mapbox-layout-drawer-button{position:absolute;z-index:2;top:40%;border:none;display:flex;overflow:hidden}.dbx-mapbox-layout-content>.dbx-mapbox-layout-drawer-button.mat-mdc-icon-button{padding-left:0}.dbx-mapbox-layout-content>.dbx-mapbox-layout-drawer-button.mat-mdc-icon-button ::ng-deep>.mat-mdc-button-persistent-ripple{border-radius:unset}.left-drawer .dbx-mapbox-layout-content>.dbx-mapbox-layout-drawer-button{left:0;border-radius:0 20px 20px 0}.right-drawer .dbx-mapbox-layout-content>.dbx-mapbox-layout-drawer-button{right:0;border-radius:20px 0 0 20px}.has-drawer-content .dbx-mapbox-layout-content>.dbx-mapbox-layout-drawer-button{width:35px}.has-drawer-content.open-drawer .dbx-mapbox-layout-content>.dbx-mapbox-layout-drawer-button{width:35px}.no-drawer-content .dbx-mapbox-layout-content>.dbx-mapbox-layout-drawer-button{width:0px}.dbx-mapbox-layout-content>.dbx-mapbox-layout-drawer-button mat-icon{padding-left:8px}\n"], dependencies: [{ kind: "ngmodule", type: AngularResizeEventModule }, { kind: "directive", type: i1.ResizedDirective, selector: "[resized]", outputs: ["resized"] }, { kind: "directive", type: NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "component", type: DbxMapboxLayoutDrawerComponent, selector: "dbx-mapbox-layout-drawer" }, { kind: "component", type: MatDrawer, selector: "mat-drawer", inputs: ["position", "mode", "disableClose", "autoFocus", "opened"], outputs: ["openedChange", "opened", "openedStart", "closed", "closedStart", "positionChanged"], exportAs: ["matDrawer"] }, { kind: "component", type: MatDrawerContainer, selector: "mat-drawer-container", inputs: ["autosize", "hasBackdrop"], outputs: ["backdropClick"], exportAs: ["matDrawerContainer"] }, { kind: "component", type: MatDrawerContent, selector: "mat-drawer-content" }, { kind: "ngmodule", type: MatIconModule }, { kind: "component", type: i2.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "component", type: MatIconButton, selector: "button[mat-icon-button]", exportAs: ["matButton"] }, { kind: "directive", type: DbxColorDirective, selector: "[dbxColor]", inputs: ["dbxColor"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
979
989
  }
@@ -1006,8 +1016,9 @@ class DbxMapboxMenuComponent extends AbstractSubscriptionDirective {
1006
1016
  });
1007
1017
  _menuCloseSub = new SubscriptionObject();
1008
1018
  _preventRightClick = new DestroyFunctionObject();
1019
+ active$ = toObservable(this.active);
1009
1020
  ngOnInit() {
1010
- this.sub = toObservable(this.active)
1021
+ this.sub = this.active$
1011
1022
  .pipe(switchMap((active) => {
1012
1023
  if (active) {
1013
1024
  return this.dbxMapboxMapStore.rightClickEvent$;
@@ -1189,47 +1200,44 @@ class DbxMapboxMarkerComponent {
1189
1200
  });
1190
1201
  ngOnDestroy() {
1191
1202
  this._dbxMapboxChangeService?.emitMarkerDestroyed();
1203
+ console.log('destroyed?');
1192
1204
  }
1193
1205
  static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: DbxMapboxMarkerComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
1194
1206
  static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.13", type: DbxMapboxMarkerComponent, isStandalone: true, selector: "dbx-mapbox-marker", inputs: { marker: { classPropertyName: "marker", publicName: "marker", isSignal: true, isRequired: true, transformFunction: null } }, ngImport: i0, template: `
1195
- @if (marker()) {
1196
- <mgl-marker [lngLat]="latLngSignal()">
1197
- <dbx-anchor [anchor]="marker()?.anchor">
1198
- <div class="dbx-mapbox-marker" [ngClass]="presentationCssClassSignal()">
1199
- <div class="dbx-mapbox-marker-icon-content" [ngStyle]="styleSignal()">
1200
- @if (marker()?.icon) {
1201
- <mat-icon>{{ marker()?.icon }}</mat-icon>
1202
- }
1203
- </div>
1204
- @if (marker()?.label) {
1205
- <div class="dbx-mapbox-marker-label dbx-outlined-text">{{ marker()?.label }}</div>
1207
+ <mgl-marker [lngLat]="latLngSignal()">
1208
+ <dbx-anchor [anchor]="marker()?.anchor">
1209
+ <div class="dbx-mapbox-marker" [ngClass]="presentationCssClassSignal()">
1210
+ <div class="dbx-mapbox-marker-icon-content" [ngStyle]="styleSignal()">
1211
+ @if (marker()?.icon) {
1212
+ <mat-icon>{{ marker()?.icon }}</mat-icon>
1206
1213
  }
1207
1214
  </div>
1208
- </dbx-anchor>
1209
- </mgl-marker>
1210
- }
1211
- `, isInline: true, styles: [".dbx-mapbox-marker{display:flex;align-items:center;flex-direction:column}.dbx-mapbox-marker .dbx-mapbox-marker-icon-content{display:flex;align-items:center;justify-content:center}.dbx-mapbox-marker .dbx-mapbox-marker-icon-content mat-icon{width:100%;height:100%;font-size:inherit}.dbx-mapbox-marker .dbx-mapbox-marker-label{font-size:.9em}.dbx-mapbox-marker.dbx-mapbox-marker-chip.dbx-chip{flex-direction:row;font-size:1em}.dbx-mapbox-marker.dbx-mapbox-marker-chip.dbx-chip .dbx-mapbox-marker-icon-content{width:18px;height:18px;font-size:18px}.dbx-mapbox-marker.dbx-mapbox-marker-chip.dbx-chip.dbx-chip-small .dbx-mapbox-marker-label{padding-left:3px}.dbx-mapbox-marker.dbx-mapbox-marker-chip.dbx-chip.dbx-chip-small .dbx-mapbox-marker-icon-content{padding:0!important;width:16px;height:16px;font-size:16px}.dbx-mapbox-marker.dbx-mapbox-marker-chip.dbx-chip.dbx-mapbox-marker-no-icon>.dbx-mapbox-marker-icon-content{display:none}.dbx-mapbox-marker.dbx-mapbox-marker-chip.dbx-chip.dbx-mapbox-marker-no-icon>.dbx-mapbox-marker-icon-content .dbx-mapbox-marker-label{padding-left:0}.dbx-mapbox-marker.dbx-mapbox-marker-chip.dbx-chip .dbx-mapbox-marker-label{padding-left:4px}\n"], dependencies: [{ kind: "ngmodule", type: NgxMapboxGLModule }, { kind: "component", type: i1$1.MarkerComponent, selector: "mgl-marker", inputs: ["offset", "anchor", "clickTolerance", "feature", "lngLat", "draggable", "popupShown", "className", "pitchAlignment", "rotationAlignment"], outputs: ["markerDragStart", "markerDragEnd", "markerDrag"] }, { kind: "component", type: DbxAnchorComponent, selector: "dbx-anchor, [dbx-anchor]", inputs: ["block"] }, { kind: "ngmodule", type: MatIconModule }, { kind: "component", type: i2.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "directive", type: NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }, { kind: "directive", type: NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
1215
+ @if (marker()?.label) {
1216
+ <div class="dbx-mapbox-marker-label dbx-outlined-text">{{ marker()?.label }}</div>
1217
+ }
1218
+ </div>
1219
+ </dbx-anchor>
1220
+ </mgl-marker>
1221
+ `, isInline: true, styles: [".dbx-mapbox-marker{display:flex;align-items:center;flex-direction:column}.dbx-mapbox-marker .dbx-mapbox-marker-icon-content{display:flex;align-items:center;justify-content:center}.dbx-mapbox-marker .dbx-mapbox-marker-icon-content mat-icon{width:100%;height:100%;font-size:inherit}.dbx-mapbox-marker .dbx-mapbox-marker-label{font-size:.9em}.dbx-mapbox-marker.dbx-mapbox-marker-chip.dbx-chip{flex-direction:row;font-size:1em}.dbx-mapbox-marker.dbx-mapbox-marker-chip.dbx-chip .dbx-mapbox-marker-icon-content{width:18px;height:18px;font-size:18px}.dbx-mapbox-marker.dbx-mapbox-marker-chip.dbx-chip.dbx-chip-small .dbx-mapbox-marker-label{padding-left:3px}.dbx-mapbox-marker.dbx-mapbox-marker-chip.dbx-chip.dbx-chip-small .dbx-mapbox-marker-icon-content{padding:0!important;width:16px;height:16px;font-size:16px}.dbx-mapbox-marker.dbx-mapbox-marker-chip.dbx-chip.dbx-mapbox-marker-no-icon>.dbx-mapbox-marker-icon-content{display:none}.dbx-mapbox-marker.dbx-mapbox-marker-chip.dbx-chip.dbx-mapbox-marker-no-icon>.dbx-mapbox-marker-icon-content .dbx-mapbox-marker-label{padding-left:0}.dbx-mapbox-marker.dbx-mapbox-marker-chip.dbx-chip .dbx-mapbox-marker-label{padding-left:4px}\n"], dependencies: [{ kind: "component", type: MarkerComponent, selector: "mgl-marker", inputs: ["offset", "anchor", "clickTolerance", "feature", "lngLat", "draggable", "popupShown", "className", "zIndex", "pitchAlignment", "rotationAlignment"], outputs: ["markerDragStart", "markerDragEnd", "markerDrag"] }, { kind: "component", type: DbxAnchorComponent, selector: "dbx-anchor, [dbx-anchor]", inputs: ["block"] }, { kind: "ngmodule", type: MatIconModule }, { kind: "component", type: i2.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "directive", type: NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }, { kind: "directive", type: NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
1212
1222
  }
1213
1223
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: DbxMapboxMarkerComponent, decorators: [{
1214
1224
  type: Component,
1215
1225
  args: [{ selector: 'dbx-mapbox-marker', template: `
1216
- @if (marker()) {
1217
- <mgl-marker [lngLat]="latLngSignal()">
1218
- <dbx-anchor [anchor]="marker()?.anchor">
1219
- <div class="dbx-mapbox-marker" [ngClass]="presentationCssClassSignal()">
1220
- <div class="dbx-mapbox-marker-icon-content" [ngStyle]="styleSignal()">
1221
- @if (marker()?.icon) {
1222
- <mat-icon>{{ marker()?.icon }}</mat-icon>
1223
- }
1224
- </div>
1225
- @if (marker()?.label) {
1226
- <div class="dbx-mapbox-marker-label dbx-outlined-text">{{ marker()?.label }}</div>
1226
+ <mgl-marker [lngLat]="latLngSignal()">
1227
+ <dbx-anchor [anchor]="marker()?.anchor">
1228
+ <div class="dbx-mapbox-marker" [ngClass]="presentationCssClassSignal()">
1229
+ <div class="dbx-mapbox-marker-icon-content" [ngStyle]="styleSignal()">
1230
+ @if (marker()?.icon) {
1231
+ <mat-icon>{{ marker()?.icon }}</mat-icon>
1227
1232
  }
1228
1233
  </div>
1229
- </dbx-anchor>
1230
- </mgl-marker>
1231
- }
1232
- `, imports: [NgxMapboxGLModule, DbxAnchorComponent, MatIconModule, NgStyle, NgClass], changeDetection: ChangeDetectionStrategy.OnPush, standalone: true, styles: [".dbx-mapbox-marker{display:flex;align-items:center;flex-direction:column}.dbx-mapbox-marker .dbx-mapbox-marker-icon-content{display:flex;align-items:center;justify-content:center}.dbx-mapbox-marker .dbx-mapbox-marker-icon-content mat-icon{width:100%;height:100%;font-size:inherit}.dbx-mapbox-marker .dbx-mapbox-marker-label{font-size:.9em}.dbx-mapbox-marker.dbx-mapbox-marker-chip.dbx-chip{flex-direction:row;font-size:1em}.dbx-mapbox-marker.dbx-mapbox-marker-chip.dbx-chip .dbx-mapbox-marker-icon-content{width:18px;height:18px;font-size:18px}.dbx-mapbox-marker.dbx-mapbox-marker-chip.dbx-chip.dbx-chip-small .dbx-mapbox-marker-label{padding-left:3px}.dbx-mapbox-marker.dbx-mapbox-marker-chip.dbx-chip.dbx-chip-small .dbx-mapbox-marker-icon-content{padding:0!important;width:16px;height:16px;font-size:16px}.dbx-mapbox-marker.dbx-mapbox-marker-chip.dbx-chip.dbx-mapbox-marker-no-icon>.dbx-mapbox-marker-icon-content{display:none}.dbx-mapbox-marker.dbx-mapbox-marker-chip.dbx-chip.dbx-mapbox-marker-no-icon>.dbx-mapbox-marker-icon-content .dbx-mapbox-marker-label{padding-left:0}.dbx-mapbox-marker.dbx-mapbox-marker-chip.dbx-chip .dbx-mapbox-marker-label{padding-left:4px}\n"] }]
1234
+ @if (marker()?.label) {
1235
+ <div class="dbx-mapbox-marker-label dbx-outlined-text">{{ marker()?.label }}</div>
1236
+ }
1237
+ </div>
1238
+ </dbx-anchor>
1239
+ </mgl-marker>
1240
+ `, imports: [MarkerComponent, DbxAnchorComponent, MatIconModule, NgStyle, NgClass], changeDetection: ChangeDetectionStrategy.OnPush, standalone: true, styles: [".dbx-mapbox-marker{display:flex;align-items:center;flex-direction:column}.dbx-mapbox-marker .dbx-mapbox-marker-icon-content{display:flex;align-items:center;justify-content:center}.dbx-mapbox-marker .dbx-mapbox-marker-icon-content mat-icon{width:100%;height:100%;font-size:inherit}.dbx-mapbox-marker .dbx-mapbox-marker-label{font-size:.9em}.dbx-mapbox-marker.dbx-mapbox-marker-chip.dbx-chip{flex-direction:row;font-size:1em}.dbx-mapbox-marker.dbx-mapbox-marker-chip.dbx-chip .dbx-mapbox-marker-icon-content{width:18px;height:18px;font-size:18px}.dbx-mapbox-marker.dbx-mapbox-marker-chip.dbx-chip.dbx-chip-small .dbx-mapbox-marker-label{padding-left:3px}.dbx-mapbox-marker.dbx-mapbox-marker-chip.dbx-chip.dbx-chip-small .dbx-mapbox-marker-icon-content{padding:0!important;width:16px;height:16px;font-size:16px}.dbx-mapbox-marker.dbx-mapbox-marker-chip.dbx-chip.dbx-mapbox-marker-no-icon>.dbx-mapbox-marker-icon-content{display:none}.dbx-mapbox-marker.dbx-mapbox-marker-chip.dbx-chip.dbx-mapbox-marker-no-icon>.dbx-mapbox-marker-icon-content .dbx-mapbox-marker-label{padding-left:0}.dbx-mapbox-marker.dbx-mapbox-marker-chip.dbx-chip .dbx-mapbox-marker-label{padding-left:4px}\n"] }]
1233
1241
  }] });
1234
1242
 
1235
1243
  /**
@@ -1249,7 +1257,7 @@ class DbxMapboxMarkersComponent {
1249
1257
  }
1250
1258
  });
1251
1259
  trackMarkerById(index, marker) {
1252
- return marker.id;
1260
+ return marker.id ?? `__MID__${index}_`;
1253
1261
  }
1254
1262
  static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: DbxMapboxMarkersComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
1255
1263
  static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.13", type: DbxMapboxMarkersComponent, isStandalone: true, selector: "dbx-mapbox-markers", inputs: { data: { classPropertyName: "data", publicName: "data", isSignal: true, isRequired: true, transformFunction: null }, markerFactory: { classPropertyName: "markerFactory", publicName: "markerFactory", isSignal: true, isRequired: true, transformFunction: null } }, ngImport: i0, template: `
@@ -1311,8 +1319,9 @@ const importsAndExports = [
1311
1319
  DbxMapboxMarkerComponent,
1312
1320
  DbxMapboxMarkersComponent,
1313
1321
  DbxMapboxMapStoreInjectionBlockDirective,
1314
- // modules
1315
- NgxMapboxGLModule
1322
+ // ngx-mapbox-gl
1323
+ MapComponent,
1324
+ MarkerComponent
1316
1325
  ];
1317
1326
  class DbxMapboxModule {
1318
1327
  static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: DbxMapboxModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
@@ -1327,8 +1336,9 @@ class DbxMapboxModule {
1327
1336
  DbxMapboxMarkerComponent,
1328
1337
  DbxMapboxMarkersComponent,
1329
1338
  DbxMapboxMapStoreInjectionBlockDirective,
1330
- // modules
1331
- NgxMapboxGLModule], exports: [
1339
+ // ngx-mapbox-gl
1340
+ MapComponent,
1341
+ MarkerComponent], exports: [
1332
1342
  //
1333
1343
  DbxMapboxLayoutVirtualResizeSyncComponent,
1334
1344
  DbxMapboxMapDirective,
@@ -1339,17 +1349,17 @@ class DbxMapboxModule {
1339
1349
  DbxMapboxMarkerComponent,
1340
1350
  DbxMapboxMarkersComponent,
1341
1351
  DbxMapboxMapStoreInjectionBlockDirective,
1342
- // modules
1343
- NgxMapboxGLModule] });
1352
+ // ngx-mapbox-gl
1353
+ MapComponent,
1354
+ MarkerComponent] });
1344
1355
  static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: DbxMapboxModule, imports: [DbxMapboxLayoutComponent,
1345
1356
  DbxMapboxLayoutDrawerComponent,
1346
1357
  DbxMapboxInjectionComponent,
1347
1358
  DbxMapboxMarkerComponent,
1348
1359
  DbxMapboxMarkersComponent,
1349
- // modules
1350
- NgxMapboxGLModule,
1351
- // modules
1352
- NgxMapboxGLModule] });
1360
+ // ngx-mapbox-gl
1361
+ MapComponent,
1362
+ MarkerComponent] });
1353
1363
  }
1354
1364
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: DbxMapboxModule, decorators: [{
1355
1365
  type: NgModule,
@@ -1376,7 +1386,7 @@ function provideDbxMapbox(config) {
1376
1386
  // service
1377
1387
  DbxMapboxService,
1378
1388
  // ngxMapboxGL
1379
- importProvidersFrom(NgxMapboxGLModule.withConfig(ngxMapboxGLModuleConfig))
1389
+ provideMapboxGL(ngxMapboxGLModuleConfig)
1380
1390
  ];
1381
1391
  return makeEnvironmentProviders(providers);
1382
1392
  }