@regionerne/gis-komponent 0.0.93 → 0.0.95

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.
@@ -58,17 +58,17 @@ import * as SLDReader from '@nieuwlandgeo/sldreader';
58
58
  import WKT from 'ol/format/WKT';
59
59
  import Feature$1 from 'ol/Feature';
60
60
  import { always, never } from 'ol/events/condition';
61
- import { buffer, lineIntersect, lineSplit, featureCollection, difference, booleanIntersects, union, booleanPointInPolygon, point, area, flatten, feature, booleanWithin, intersect, bboxPolygon } from '@turf/turf';
61
+ import { buffer, lineIntersect, lineSplit, featureCollection, difference, area, flatten, feature, booleanIntersects, booleanWithin, intersect, union, booleanPointInPolygon, point, bboxPolygon } from '@turf/turf';
62
62
  import GeoJSON$1 from 'ol/format/GeoJSON';
63
63
  import { containsXY, extend, createEmpty, buffer as buffer$1 } from 'ol/extent';
64
64
  import { Feature } from 'ol';
65
65
  import { easeOut } from 'ol/easing';
66
66
  import Select from 'ol/interaction/Select';
67
+ import * as i2$1 from '@angular/material/button';
68
+ import { MatButtonModule } from '@angular/material/button';
67
69
  import html2canvas from 'html2canvas-pro';
68
70
  import CircleStyle from 'ol/style/Circle';
69
71
  import { transform, toLonLat } from 'ol/proj';
70
- import * as i2$1 from '@angular/material/button';
71
- import { MatButtonModule } from '@angular/material/button';
72
72
  import WFS from 'ol/format/WFS';
73
73
  import Point from 'ol/geom/Point';
74
74
  import { intersects, dwithin, contains, like } from 'ol/format/filter';
@@ -1229,12 +1229,12 @@ class LayerSelectorComponent {
1229
1229
  }));
1230
1230
  }
1231
1231
  static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.15", ngImport: i0, type: LayerSelectorComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
1232
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "19.2.15", type: LayerSelectorComponent, isStandalone: true, selector: "lib-layer-selector", inputs: { map: "map", profile: "profile", currentZoomLevel: "currentZoomLevel" }, viewQueries: [{ propertyName: "contentBody", first: true, predicate: ["layerSelectorBody"], descendants: true }, { propertyName: "dmpDialog", first: true, predicate: ["dmpDialog"], descendants: true }], usesOnChanges: true, ngImport: i0, template: "<div\n #layerSelectorBody\n class=\"layer-selector-body-wrapper global-wrapper-container\"\n cdkDrag\n cdkDragBoundary=\".map-container\"\n [cdkDragFreeDragPosition]=\"layerSelectorDragPosition\"\n (cdkDragEnded)=\"onLayerSelectorDragEnded($event)\"\n [class.collapsed]=\"collapsed\">\n\n <div class=\"drag-handle-selector\" cdkDragHandle>\n <div class=\"drag-handle-content\">\n <div class=\"drag-handle-icons\">\n <mat-icon \n class=\"icon-left\" \n matTooltip=\"Lag\" \n [matTooltipShowDelay]=\"500\"\n [matTooltipHideDelay]=\"100\" \n matTooltipPosition=\"above\">\n layers\n </mat-icon>\n <mat-icon class=\"toggle-icon\" (click)=\"toggleLayerSelector()\">\n {{ collapsed ? 'flip_to_front' : 'remove' }}\n </mat-icon>\n </div>\n </div>\n </div>\n\n <div class=\"ol-unselectable ol-control layer-selector-body\" *ngIf=\"!collapsed\">\n <div class=\"search-section\">\n <div class=\"search-field-wrapper\">\n <label class=\"search-label\">Filtrer</label>\n <mat-form-field appearance=\"outline\" class=\"w-full\">\n <mat-icon matPrefix class=\"search-icon\">search</mat-icon>\n <input \n matInput \n type=\"text\" \n [(ngModel)]=\"searchText\" \n (ngModelChange)=\"filterChanged()\"\n />\n </mat-form-field>\n </div>\n <mat-icon matTooltip=\"Nulstil\" \n [matTooltipShowDelay]=\"200\"\n [matTooltipHideDelay]=\"300\" (click)=\"clearSearchText()\">\n replay</mat-icon>\n </div>\n <div\n cdkDropList\n [cdkDropListData]=\"filteredLayerGroups\"\n (cdkDropListDropped)=\"dropGroup($event, filteredLayerGroups)\"\n class=\"item-list\">\n @for (group of filteredLayerGroups; track group.id; let gIndex = $index) {\n <div class=\"group\" cdkDrag>\n <mat-expansion-panel [(expanded)]=\"group.expanded\">\n <mat-expansion-panel-header>\n <mat-panel-title>\n <mat-icon class=\"drag-indicator\" cdkDragHandle>drag_indicator</mat-icon>\n <span class=\"panel-title\">{{ group.name }}</span>\n ({{ group.noOfVisibleLayers }}/{{ group.layers.length }})\n @if (group.visible) {\n <mat-icon (click)=\"toggleGroup($event, group)\" class=\"power-on\" \n matTooltip=\"Sluk\" \n [matTooltipShowDelay]=\"200\"\n [matTooltipHideDelay]=\"300\" \n matTooltipPosition=\"above\">power_settings_new\n </mat-icon> \n }\n @if (!group.visible) {\n <mat-icon (click)=\"toggleGroup($event, group)\" class=\"power-off\"\n matTooltip=\"T\u00E6nd\" \n [matTooltipShowDelay]=\"200\"\n [matTooltipHideDelay]=\"300\" \n matTooltipPosition=\"above\">power_settings_new\n </mat-icon>\n }\n </mat-panel-title>\n </mat-expansion-panel-header>\n\n <div\n cdkDropList\n [cdkDropListData]=\"group.layers\"\n (cdkDropListDropped)=\"dropLayer($event, group)\"\n class=\"item-list\">\n @for (layer of group.layers; track layer.id; let iIndex = $index) {\n <mat-expansion-panel expanded=\"false\" [disabled]=\"!layer.description\"> \n <mat-expansion-panel-header>\n <mat-panel-title>\n <div class=\"item\" cdkDrag>\n <div class=\"item-top-row\">\n <div class=\"item-left\">\n <mat-icon class=\"drag-indicator\" cdkDragHandle>drag_indicator</mat-icon>\n <span>{{ layer.name }}</span>\n <mat-icon></mat-icon>\n </div>\n <div class=\"item-center\">\n @if (layer.maxZoom < currentZoomLevel || layer.minZoom > currentZoomLevel) {\n <mat-icon class=\"zoom-off\"\n matTooltip=\"Lag vises ikke pga zoom niveau\"\n [matTooltipShowDelay]=\"200\"\n [matTooltipHideDelay]=\"300\"\n matTooltipPosition=\"above\">browser_not_supported\n </mat-icon>\n }\n @if (layer.hasErrors) {\n <mat-icon class=\"zoom-off\"\n matTooltip=\"Fejl\"\n [matTooltipShowDelay]=\"200\"\n [matTooltipHideDelay]=\"300\"\n matTooltipPosition=\"above\">priority_high\n </mat-icon>\n }\n </div>\n <div class=\"item-right\">\n @if(layer.infoUrl) {\n <mat-icon\n class=\"layer-info\"\n matTooltip=\"Yderligere laginfo\"\n [matTooltipShowDelay]=\"200\"\n [matTooltipHideDelay]=\"300\"\n (click)=\"openUrl(layer.infoUrl)\"\n matTooltipPosition=\"above\">info\n </mat-icon>\n }\n @if (!layer.hasErrors && layer.visible) {\n <mat-icon (click)=\"toggleLayer(layer.id, $event)\" class=\"power-on\"\n matTooltip=\"Sluk\"\n [matTooltipShowDelay]=\"200\"\n [matTooltipHideDelay]=\"300\"\n matTooltipPosition=\"above\">power_settings_new\n </mat-icon>\n }\n @if (!layer.hasErrors && !layer.visible) {\n <mat-icon (click)=\"toggleLayer(layer.id, $event)\" class=\"power-off\"\n matTooltip=\"T\u00E6nd\"\n [matTooltipShowDelay]=\"200\"\n [matTooltipHideDelay]=\"300\"\n matTooltipPosition=\"above\">power_settings_new\n </mat-icon>\n }\n @if (layer.hasErrors) {\n <mat-icon class=\"power-fail\">power_settings_new</mat-icon>\n }\n </div>\n </div>\n <div class=\"item-slider\">\n <input \n type=\"range\"\n min=\"0\"\n max=\"1\"\n step=\"0.05\"\n [(ngModel)]=\"layer.opacity\"\n (click)=\"stopDrag($event)\"\n (input)=\"updateOpacity(layer.id, layer.opacity)\"\n (mousedown)=\"stopDrag($event)\"\n (touchstart)=\"stopDrag($event)\"\n (pointerdown)=\"stopDrag($event)\"\n >\n </div>\n <div *cdkDragPreview><span class=\"panel-title\">{{ layer.name }} </span></div>\n </div>\n </mat-panel-title>\n </mat-expansion-panel-header>\n <div class=\"layer-description\">{{ layer.description }}</div>\n @if (showLegend) {\n <img [src]=\"legendUrl\" class=\"legend-thumbnail\"/>\n }\n </mat-expansion-panel>\n }\n </div>\n </mat-expansion-panel>\n <div *cdkDragPreview><span class=\"panel-title\">{{ group.name }} </span></div>\n </div>\n }\n </div>\n <div class=\"group-header\">Mine Temaer\n <mat-icon (click)=\"toggleDmpSearch(true)\"\n class=\"power-on\"\n matTooltip=\"S\u00F8g\" \n [matTooltipShowDelay]=\"200\"\n [matTooltipHideDelay]=\"300\" \n matTooltipPosition=\"above\">add\n </mat-icon>\n </div>\n @if (filteredDmpLayers.length > 0) {\n <div class=\"dmp-item-list\" cdkDropList\n [cdkDropListData]=\"filteredDmpLayers\"\n (cdkDropListDropped)=\"dropDmpLayer($event)\">\n @for (layer of filteredDmpLayers; track layer.datasetId; let iIndex = $index) {\n <mat-expansion-panel expanded=\"false\" [disabled]=\"true\"> \n <mat-expansion-panel-header>\n <mat-panel-title>\n <div class=\"dmp-item\" cdkDrag>\n <div class=\"dmp-item-container\">\n <div class=\"dmp-item-left\">\n <mat-icon (click)=\"deleteDmpLayer(layer, $event)\" class=\"delete-icon\" \n matTooltip=\"Slet\" \n [matTooltipShowDelay]=\"200\"\n [matTooltipHideDelay]=\"300\" \n matTooltipPosition=\"above\">delete\n </mat-icon>\n <div class=\"dmp-item-title\">\n <span class=\"title-text\">{{ layer.title }}</span>\n </div>\n </div>\n \n <div class=\"dmp-item-center\">\n @if (layer.hasErrors) {\n <mat-icon class=\"zoom-off\" \n matTooltip=\"Fejl\" \n [matTooltipShowDelay]=\"200\"\n [matTooltipHideDelay]=\"300\" \n matTooltipPosition=\"above\">priority_high\n </mat-icon>\n }\n \n @if (!layer.hasErrors && layer.visible) {\n <mat-icon (click)=\"toggleLayer(layer.datasetId, $event)\" class=\"power-on\" \n matTooltip=\"Sluk\" \n [matTooltipShowDelay]=\"200\"\n [matTooltipHideDelay]=\"300\" \n matTooltipPosition=\"above\">power_settings_new\n </mat-icon>\n }\n @if (!layer.hasErrors && !layer.visible) {\n <mat-icon (click)=\"toggleLayer(layer.datasetId, $event)\" class=\"power-off\"\n matTooltip=\"T\u00E6nd\" \n [matTooltipShowDelay]=\"200\"\n [matTooltipHideDelay]=\"300\" \n matTooltipPosition=\"above\">power_settings_new\n </mat-icon>\n }\n @if (layer.hasErrors) {\n <mat-icon class=\"power-fail\">power_settings_new\n </mat-icon>\n }\n </div>\n </div>\n <div class=\"dmp-item-slider\">\n <input \n type=\"range\"\n min=\"0\"\n max=\"1\"\n step=\"0.05\"\n [(ngModel)]=\"layer.opacity\"\n (click)=\"stopDrag($event)\"\n (input)=\"updateOpacity(layer.datasetId, layer.opacity)\"\n (mousedown)=\"stopDrag($event)\"\n (touchstart)=\"stopDrag($event)\"\n (pointerdown)=\"stopDrag($event)\"\n >\n </div>\n <div *cdkDragPreview><span class=\"panel-title\">{{ layer.title }} </span></div>\n </div>\n </mat-panel-title>\n </mat-expansion-panel-header>\n </mat-expansion-panel>\n }\n </div>\n }\n <div *ngIf=\"filteredBackgroundLayerGroups && filteredBackgroundLayerGroups.length > 0\" class=\"group-header\">Baggrundskort</div>\n <div\n cdkDropList\n [cdkDropListData]=\"filteredBackgroundLayerGroups\"\n (cdkDropListDropped)=\"dropGroup($event, filteredBackgroundLayerGroups)\"\n class=\"item-list\">\n @for (group of filteredBackgroundLayerGroups; track group.id; let gIndex = $index) {\n <div class=\"group\" cdkDrag>\n <mat-expansion-panel [(expanded)]=\"group.expanded\">\n <mat-expansion-panel-header>\n <mat-panel-title>\n @if (group.expanded) {\n <mat-icon class=\"arrow-up-layer\">arrow_upward</mat-icon>\n }\n @if (!group.expanded) {\n <mat-icon>arrow_downward</mat-icon> \n }\n {{ group.name }}\n ({{ group.noOfVisibleLayers }}/{{ group.layers.length }})\n @if (group.visible) {\n <mat-icon (click)=\"toggleGroup($event, group)\" class=\"power-on\" \n matTooltip=\"Sluk\" \n [matTooltipShowDelay]=\"200\"\n [matTooltipHideDelay]=\"300\" \n matTooltipPosition=\"above\">power_settings_new\n </mat-icon> \n }\n @if (!group.visible) {\n <mat-icon (click)=\"toggleGroup($event, group)\" class=\"power-off\"\n matTooltip=\"T\u00E6nd\" \n [matTooltipShowDelay]=\"200\"\n [matTooltipHideDelay]=\"300\" \n matTooltipPosition=\"above\">power_settings_new\n </mat-icon>\n }\n </mat-panel-title>\n </mat-expansion-panel-header>\n\n <div\n cdkDropList\n [cdkDropListData]=\"group.layers\"\n (cdkDropListDropped)=\"dropLayer($event, group)\"\n class=\"item-list\">\n @for (layer of group.layers; track layer.id; let iIndex = $index) {\n <mat-expansion-panel expanded=\"false\" [disabled]=\"!layer.description\"> \n <mat-expansion-panel-header>\n <mat-panel-title>\n <div class=\"item\" cdkDrag>\n <div class=\"item-left\">\n <mat-icon class=\"drag-indicator\">drag_indicator</mat-icon>\n <span>{{ layer.name }}</span>\n </div>\n <div class=\"item-center\">\n @if (layer.maxZoom < currentZoomLevel || layer.minZoom > currentZoomLevel) {\n <mat-icon class=\"zoom-off\" \n matTooltip=\"Zoom\" \n [matTooltipShowDelay]=\"200\"\n [matTooltipHideDelay]=\"300\" \n matTooltipPosition=\"above\">browser_not_supported\n </mat-icon>\n }\n @if (layer.hasErrors) {\n <mat-icon class=\"zoom-off\" \n matTooltip=\"Fejl\" \n [matTooltipShowDelay]=\"200\"\n [matTooltipHideDelay]=\"300\" \n matTooltipPosition=\"above\">priority_high\n </mat-icon>\n }\n </div>\n <div class=\"item-right\">\n @if (!layer.hasErrors && layer.visible) {\n <mat-icon (click)=\"toggleLayer(layer.id, $event)\" class=\"power-on\" \n matTooltip=\"Sluk\" \n [matTooltipShowDelay]=\"200\"\n [matTooltipHideDelay]=\"300\" \n matTooltipPosition=\"above\">power_settings_new\n </mat-icon>\n }\n @if (!layer.hasErrors && !layer.visible) {\n <mat-icon (click)=\"toggleLayer(layer.id, $event)\" class=\"power-off\"\n matTooltip=\"T\u00E6nd\" \n [matTooltipShowDelay]=\"200\"\n [matTooltipHideDelay]=\"300\" \n matTooltipPosition=\"above\">power_settings_new\n </mat-icon>\n }\n @if (layer.hasErrors) {\n <mat-icon class=\"power-fail\">power_settings_new\n </mat-icon>\n }\n <input \n type=\"range\"\n min=\"0\"\n max=\"1\"\n step=\"0.05\"\n [(ngModel)]=\"layer.opacity\"\n (click)=\"stopDrag($event)\"\n (input)=\"updateOpacity(layer.id, layer.opacity)\"\n (mousedown)=\"stopDrag($event)\"\n (touchstart)=\"stopDrag($event)\"\n (pointerdown)=\"stopDrag($event)\"\n >\n </div>\n <div *cdkDragPreview><span class=\"panel-title\">{{ layer.name }} </span></div>\n </div>\n </mat-panel-title>\n </mat-expansion-panel-header>\n <div class=\"layer-description\">{{ layer.description }}</div>\n @if (showLegend) {\n <img [src]=\"legendUrl\" class=\"legend-thumbnail\"/>\n }\n </mat-expansion-panel>\n }\n </div>\n </mat-expansion-panel>\n <div *cdkDragPreview><span class=\"panel-title\">{{ group.name }} </span></div>\n </div>\n }\n </div>\n </div>\n <ng-template #dmpDialog>\n @if (dmpSearchMode) {\n <mat-dialog-content>\n <div class=\"dialog-header\">\n <div class=\"search-section\">\n <div class=\"search-field-wrapper\">\n <label class=\"search-label\">S\u00F8g</label>\n <mat-form-field appearance=\"outline\" class=\"w-full\">\n <mat-icon matPrefix class=\"search-icon\">search</mat-icon>\n <input \n matInput \n type=\"text\" \n [(ngModel)]=\"dmpSearchText\" \n (ngModelChange)=\"searchDmp()\"\n />\n </mat-form-field>\n </div>\n <mat-icon (click)=\"clearDmpSearchText()\" \n matTooltip=\"Nulstil\" \n [matTooltipShowDelay]=\"200\"\n [matTooltipHideDelay]=\"300\"\n class=\"undo-icon\" >undo\n </mat-icon>\n </div>\n <mat-icon \n class=\"close-button\" \n (click)=\"toggleDmpSearch(false)\"\n matTooltip=\"Luk\" \n [matTooltipShowDelay]=\"200\"\n [matTooltipHideDelay]=\"300\" \n matTooltipPosition=\"left\">\n close\n </mat-icon>\n </div>\n </mat-dialog-content>\n }\n\n @if (dmpLayerResults.length > 0) {\n <div class=\"dmp-search-panel global-wrapper-container\">\n <div *ngFor=\"let result of dmpLayerResults\" [attr.data-value]=\"result\" class=\"search-result-option\">\n <mat-expansion-panel expanded=\"false\"> \n <mat-expansion-panel-header>\n <mat-panel-title>\n <span class=\"result-title\">{{ result.title }}</span>\n </mat-panel-title>\n </mat-expansion-panel-header>\n <div><span class=\"field-label\">Status:</span><span class=\"field-value\"> {{ result.availability }}</span></div>\n <div><span class=\"field-label\">Kategori:</span><span class=\"field-value\"> {{ result.category }}</span></div>\n <div><span class=\"field-label\">Beskrivelse:</span><span class=\"field-value\"> {{ result.description }}</span></div>\n <div><span class=\"field-label\">Tags:</span><span class=\"field-value\"> {{ result.tags?.join(', ') }}</span></div>\n <div *ngIf=\"result.metaDataUrl\">\n <span class=\"field-label\">Metadata:</span>\n <a [href]=\"result.metaDataUrl\" target=\"_blank\" rel=\"noopener noreferrer\" class=\"open-link\">\n Vis metadata\n <mat-icon class=\"link-icon\">open_in_new</mat-icon>\n </a>\n </div>\n <div *ngIf=\"result.license && result.license.url\">\n <span class=\"field-label\">Licens:</span>\n <a [href]=\"result.license.url\" target=\"_blank\" rel=\"noopener noreferrer\" class=\"open-link\">\n {{ result.license.title }}\n <mat-icon class=\"link-icon\">open_in_new</mat-icon>\n </a>\n </div>\n <div *ngIf=\"result.dataLiabilityAgreement && result.dataLiabilityAgreement.url\">\n <span class=\"field-label\">Dataansvarsaftale:</span>\n <a [href]=\"result.dataLiabilityAgreement.url\" target=\"_blank\" rel=\"noopener noreferrer\" class=\"open-link\">\n {{ result.dataLiabilityAgreement.title }}\n <mat-icon class=\"link-icon\">open_in_new</mat-icon>\n </a>\n </div>\n <div class=\"add-layer-section\">\n <span class=\"field-label\">Tilf\u00F8j {{ result.serviceType }}:</span>\n <mat-icon (click)=\"addDmpLayer(result)\" class=\"add-option\"\n matTooltip=\"Tilf\u00F8j\" \n [matTooltipShowDelay]=\"200\"\n [matTooltipHideDelay]=\"300\" \n matTooltipPosition=\"above\">add\n </mat-icon>\n </div>\n </mat-expansion-panel>\n </div>\n </div>}\n </ng-template>\n</div>", styles: [".layer-info{cursor:pointer}.legend-thumbnail{max-width:200px;max-height:200px;width:auto;height:auto;border:2px solid #dee2e6;padding:6px}::ng-deep .dmp-dialog-content mat-dialog-content .search-section{display:flex;align-items:center;gap:6px}::ng-deep .dmp-dialog-content mat-dialog-content .search-section .undo-icon{color:#fff!important;cursor:pointer;flex-shrink:0}::ng-deep .dmp-dialog-content mat-dialog-content .search-section .undo-icon:hover{color:#d3d3d3!important}::ng-deep .dmp-dialog-content mat-dialog-content .search-section .search-field-wrapper{flex:1;display:flex;flex-direction:column}::ng-deep .dmp-dialog-content mat-dialog-content .search-section .search-label{color:#fff}::ng-deep .dmp-dialog-content mat-dialog-content .search-section mat-form-field{flex:1}::ng-deep .dmp-dialog-content mat-dialog-content .search-section mat-form-field .search-icon{color:#fff}::ng-deep .dmp-dialog-content mat-dialog-content .search-section mat-form-field .mdc-notched-outline .mdc-notched-outline__leading,::ng-deep .dmp-dialog-content mat-dialog-content .search-section mat-form-field .mdc-notched-outline .mdc-notched-outline__notch,::ng-deep .dmp-dialog-content mat-dialog-content .search-section mat-form-field .mdc-notched-outline .mdc-notched-outline__trailing{border-color:#dee2e6!important;border-width:1px!important}::ng-deep .dmp-dialog-content mat-dialog-content .search-section mat-form-field.mat-focused ::ng-deep .mdc-notched-outline .mdc-notched-outline__leading,::ng-deep .dmp-dialog-content mat-dialog-content .search-section mat-form-field.mat-focused ::ng-deep .mdc-notched-outline .mdc-notched-outline__notch,::ng-deep .dmp-dialog-content mat-dialog-content .search-section mat-form-field.mat-focused ::ng-deep .mdc-notched-outline .mdc-notched-outline__trailing{border-color:#d1d5db!important;border-width:1px!important;box-shadow:0 0 0 3px #d1d5db40!important}::ng-deep .dmp-dialog-content mat-dialog-actions{display:none}::ng-deep .dmp-dialog-content .search-result-option{padding:0!important}::ng-deep .dmp-dialog-content .search-result-option mat-expansion-panel{box-shadow:none!important;margin-bottom:2px;border-radius:0!important;background:transparent!important;color:#fff}::ng-deep .dmp-dialog-content .search-result-option mat-expansion-panel .mat-expansion-panel-content{background:#0003}::ng-deep .dmp-dialog-content .search-result-option mat-expansion-panel .mat-expansion-panel-content .mat-expansion-panel-body{padding:12px 16px!important}@media (max-width: 767px){::ng-deep .dmp-dialog-content .search-result-option mat-expansion-panel .mat-expansion-panel-content .mat-expansion-panel-body{padding:10px 12px!important}}::ng-deep .dmp-dialog-content .search-result-option mat-expansion-panel .mat-expansion-panel-content .mat-expansion-panel-body>div{margin-bottom:10px;display:flex;align-items:flex-start;gap:8px;font-size:12px;line-height:1.5}::ng-deep .dmp-dialog-content .search-result-option mat-expansion-panel .mat-expansion-panel-content .mat-expansion-panel-body>div:last-child{margin-bottom:0}@media (max-width: 767px){::ng-deep .dmp-dialog-content .search-result-option mat-expansion-panel .mat-expansion-panel-content .mat-expansion-panel-body>div{font-size:11px;gap:6px}}::ng-deep .dmp-dialog-content .search-result-option mat-expansion-panel .mat-expansion-panel-content .mat-expansion-panel-body>div .field-label{color:#bdc1c3cc!important;min-width:90px;font-weight:500;flex-shrink:0;font-size:13px}@media (max-width: 767px){::ng-deep .dmp-dialog-content .search-result-option mat-expansion-panel .mat-expansion-panel-content .mat-expansion-panel-body>div .field-label{min-width:80px}}::ng-deep .dmp-dialog-content .search-result-option mat-expansion-panel .mat-expansion-panel-content .mat-expansion-panel-body>div .field-value{color:#fff!important;font-weight:300;flex:1;word-break:break-word;font-size:13px}::ng-deep .dmp-dialog-content .search-result-option mat-expansion-panel .mat-expansion-panel-content .mat-expansion-panel-body>div .open-link{color:#2e98eb!important;text-decoration:none!important;display:inline-flex;align-items:center;gap:4px}::ng-deep .dmp-dialog-content .search-result-option mat-expansion-panel .mat-expansion-panel-content .mat-expansion-panel-body>div .open-link:hover{color:#2180c9!important;text-decoration:underline!important}::ng-deep .dmp-dialog-content .search-result-option mat-expansion-panel .mat-expansion-panel-content .mat-expansion-panel-body>div .open-link .link-icon{font-size:14px;width:14px;height:14px}::ng-deep .dmp-dialog-content .search-result-option mat-expansion-panel .mat-expansion-panel-content .mat-expansion-panel-body .add-layer-section{display:flex;align-items:center;margin-top:12px;padding-top:12px;border-top:1px solid rgba(255,255,255,.1)}::ng-deep .dmp-dialog-content .search-result-option mat-expansion-panel .mat-expansion-panel-content .mat-expansion-panel-body .add-layer-section .field-label{min-width:90px}::ng-deep .dmp-dialog-content .search-result-option mat-expansion-panel .mat-expansion-panel-content .mat-expansion-panel-body .add-layer-section .add-option{color:#6ccb78!important;cursor:pointer;font-size:20px;width:20px;height:20px;transition:all .2s ease}::ng-deep .dmp-dialog-content .search-result-option mat-expansion-panel .mat-expansion-panel-content .mat-expansion-panel-body .add-layer-section .add-option:hover{color:#45a049!important;transform:scale(1.1)}.dmp-search-panel{overflow-y:scroll;max-height:300px}.dmp-search-panel::-webkit-scrollbar{width:12px}.dmp-search-panel::-webkit-scrollbar-track{background:#757474;border-radius:8px}.dmp-search-panel::-webkit-scrollbar-thumb{background:#1a1c1f;border-radius:8px;border:2px solid #2a2c30}.dmp-search-panel::-webkit-scrollbar-thumb:hover{background:#0f1012}.dmp-search-panel::-webkit-scrollbar-button{width:12px;height:16px;background:#2a2c30;border:1px solid #1a1c1f}.dmp-search-panel::-webkit-scrollbar-button:vertical:decrement{background:#2a2c30 url(\"data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 12 12'%3E%3Cpath fill='%23ffffff' d='M6 4l-4 4h8z'/%3E%3C/svg%3E\") no-repeat center;border-radius:8px 8px 0 0}.dmp-search-panel::-webkit-scrollbar-button:vertical:decrement:hover{background-color:#1a1c1f}.dmp-search-panel::-webkit-scrollbar-button:vertical:increment{background:#2a2c30 url(\"data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 12 12'%3E%3Cpath fill='%23ffffff' d='M6 8l4-4H2z'/%3E%3C/svg%3E\") no-repeat center;border-radius:0 0 8px 8px}.dmp-search-panel::-webkit-scrollbar-button:vertical:increment:hover{background-color:#1a1c1f}.dmp-search-panel .search-result-option{padding:0!important;margin-bottom:2px}.dmp-search-panel .search-result-option mat-expansion-panel{box-shadow:none!important;margin:0;border-radius:0!important;background:transparent!important}.dmp-search-panel .search-result-option mat-expansion-panel .mat-expansion-panel-content{background:#0003}.dmp-search-panel .search-result-option mat-expansion-panel .mat-expansion-panel-content .mat-expansion-panel-body{padding:12px 16px!important}@media (max-width: 767px){.dmp-search-panel .search-result-option mat-expansion-panel .mat-expansion-panel-content .mat-expansion-panel-body{padding:10px 12px!important}}.dmp-search-panel .search-result-option mat-expansion-panel .mat-expansion-panel-content .mat-expansion-panel-body>div{margin-bottom:10px;display:flex;align-items:flex-start;gap:8px;font-size:12px;line-height:1.5}.dmp-search-panel .search-result-option mat-expansion-panel .mat-expansion-panel-content .mat-expansion-panel-body>div:last-child{margin-bottom:0}@media (max-width: 767px){.dmp-search-panel .search-result-option mat-expansion-panel .mat-expansion-panel-content .mat-expansion-panel-body>div{font-size:11px;gap:6px}}.dmp-search-panel .search-result-option mat-expansion-panel .mat-expansion-panel-content .mat-expansion-panel-body>div .field-label{color:#bdc1c3cc!important;min-width:90px;font-weight:500;flex-shrink:0;font-size:13px}@media (max-width: 767px){.dmp-search-panel .search-result-option mat-expansion-panel .mat-expansion-panel-content .mat-expansion-panel-body>div .field-label{min-width:80px}}.dmp-search-panel .search-result-option mat-expansion-panel .mat-expansion-panel-content .mat-expansion-panel-body>div .field-value{color:#fff!important;font-weight:300;flex:1;word-break:break-word;font-size:13px}.dmp-search-panel .search-result-option mat-expansion-panel .mat-expansion-panel-content .mat-expansion-panel-body>div .open-link{color:#2e98eb!important;text-decoration:none!important;display:inline-flex;align-items:center;gap:4px}.dmp-search-panel .search-result-option mat-expansion-panel .mat-expansion-panel-content .mat-expansion-panel-body>div .open-link:hover{color:#2180c9!important;text-decoration:underline!important}.dmp-search-panel .search-result-option mat-expansion-panel .mat-expansion-panel-content .mat-expansion-panel-body>div .open-link .link-icon{font-size:14px;width:14px;height:14px}.dmp-search-panel .search-result-option mat-expansion-panel .mat-expansion-panel-content .mat-expansion-panel-body .add-layer-section{display:flex;align-items:center;margin-top:12px;padding-top:12px;border-top:1px solid rgba(255,255,255,.1)}.dmp-search-panel .search-result-option mat-expansion-panel .mat-expansion-panel-content .mat-expansion-panel-body .add-layer-section .field-label{min-width:90px}.dmp-search-panel .search-result-option mat-expansion-panel .mat-expansion-panel-content .mat-expansion-panel-body .add-layer-section .add-option{color:#6ccb78!important;cursor:pointer;font-size:20px;width:20px;height:20px;transition:all .2s ease}.dmp-search-panel .search-result-option mat-expansion-panel .mat-expansion-panel-content .mat-expansion-panel-body .add-layer-section .add-option:hover{color:#45a049!important;transform:scale(1.1)}.dmp-search-panel .search-result-option:first-child mat-expansion-panel .mat-expansion-panel-header{border-top-left-radius:4px!important;border-top-right-radius:4px!important}.dmp-search-panel .search-result-option:last-child mat-expansion-panel .mat-expansion-panel-header.mat-expanded{border-radius:0!important}.dmp-search-panel .search-result-option:last-child mat-expansion-panel .mat-expansion-panel-content{border-bottom-left-radius:4px!important;border-bottom-right-radius:4px!important}.dialog-header{position:relative}.dialog-header .close-button{position:absolute;top:-9px;right:-14px;color:#fff;cursor:pointer;border-radius:50%;transition:all .2s ease;font-size:18px;width:24px;height:24px;display:flex;justify-content:center;align-items:center;z-index:10;background-color:#ffffff1a}.dialog-header .close-button:hover{color:#e0d5d5}.field-label{color:#bdc1c3cc!important;margin-right:6px}.open-link{color:#2e98eb!important;text-decoration:none!important;display:inline-flex;align-items:center;gap:4px}.open-link:hover{color:#2180c9!important;text-decoration:underline!important}.field-value{color:#fff!important;font-weight:300}.add-layer-section{display:flex;align-items:center;margin-top:8px;padding-top:8px;border-top:1px solid rgba(255,255,255,.1)}.dmp-item-list .dmp-item-container{display:flex;align-items:center;width:100%;gap:12px;min-width:0}.dmp-item-list .dmp-item-container .dmp-item-left{display:flex;align-items:center;gap:8px;flex:1;min-width:0}.dmp-item-list .dmp-item-container .dmp-item-left .delete-icon{color:#bdc1c3cc;font-size:18px;width:18px;height:18px;cursor:pointer;flex-shrink:0}@media (max-width: 767px){.dmp-item-list .dmp-item-container .dmp-item-left .delete-icon{font-size:16px;width:16px;height:16px}}.dmp-item-list .dmp-item-container .dmp-item-left .delete-icon:hover{color:#d3d3d3}.dmp-item-list .dmp-item-container .dmp-item-left .dmp-item-title{flex:1;min-width:0;overflow:hidden}.dmp-item-list .dmp-item-container .dmp-item-left .dmp-item-title .title-text{color:#fff;font-size:13px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;display:block}@media (max-width: 767px){.dmp-item-list .dmp-item-container .dmp-item-left .dmp-item-title .title-text{font-size:11px}}.dmp-item-list .dmp-item-container .dmp-item-center{display:flex;align-items:center;gap:8px;flex-shrink:0}.dmp-item-list .dmp-item-container .dmp-item-center .zoom-off{color:#ef4444;font-size:16px;width:16px;height:16px}@media (max-width: 767px){.dmp-item-list .dmp-item-container .dmp-item-center .zoom-off{font-size:14px;width:14px;height:14px}}.dmp-item-list .dmp-item-container .dmp-item-center mat-icon{flex-shrink:0}.dmp-item-list .dmp-item-container .dmp-item-center mat-icon.power-on{color:#6ccb78;font-size:18px;width:18px;height:18px;cursor:pointer}@media (max-width: 767px){.dmp-item-list .dmp-item-container .dmp-item-center mat-icon.power-on{font-size:16px;width:16px;height:16px}}.dmp-item-list .dmp-item-container .dmp-item-center mat-icon.power-on:hover{color:#45a049}.dmp-item-list .dmp-item-container .dmp-item-center mat-icon.power-off{color:#bdc1c3cc;font-size:18px;width:18px;height:18px;cursor:pointer}@media (max-width: 767px){.dmp-item-list .dmp-item-container .dmp-item-center mat-icon.power-off{font-size:16px;width:16px;height:16px}}.dmp-item-list .dmp-item-container .dmp-item-center mat-icon.power-off:hover{color:#d3d3d3}.dmp-item-list .dmp-item-container .dmp-item-center mat-icon.power-fail{color:#bdc1c3cc;font-size:18px;width:18px;height:18px}@media (max-width: 767px){.dmp-item-list .dmp-item-container .dmp-item-center mat-icon.power-fail{font-size:16px;width:16px;height:16px}}.dmp-item-list .dmp-item-slider{display:flex;align-items:center;width:100%;margin-top:4px;margin-bottom:4px}.dmp-item-list .dmp-item-slider input[type=range]{width:100%;height:4px;-webkit-appearance:none;background:#fff3;border-radius:2px;outline:none;cursor:pointer}.dmp-item-list .dmp-item-slider input[type=range]::-webkit-slider-thumb{-webkit-appearance:none;width:12px;height:12px;border-radius:50%;background:#fff;cursor:pointer;transition:background .2s ease}.dmp-item-list .dmp-item-slider input[type=range]::-webkit-slider-thumb:hover{background:#6ccb78}.dmp-item-list .dmp-item-slider input[type=range]::-moz-range-thumb{width:12px;height:12px;border-radius:50%;background:#fff;cursor:pointer;border:none}.dmp-item-list .dmp-item-slider input[type=range]::-moz-range-thumb:hover{background:#6ccb78}.dmp-item-list ::ng-deep .dmp-item{cursor:move;width:100%;display:flex;flex-direction:column;align-items:stretch}::ng-deep .dmp-item-list mat-expansion-panel{box-shadow:none!important}.group-header{display:flex;color:#fff;padding:8px 14px;font-weight:600;background:#ffffff08}.group-header mat-icon{margin-left:10px;cursor:pointer;color:#bdc1c3cc;transition:color .2s ease}.group-header mat-icon:hover{color:#6ccb78}.layer-selector-body-wrapper{position:absolute;top:0!important;left:0!important;margin:0!important;z-index:1000;width:350px;box-sizing:border-box;display:flex;flex-direction:column;transition:width .3s ease,max-width .3s ease;border-top-left-radius:5px;border-top-right-radius:5px;box-shadow:0 2px 10px #0000001a;border-bottom-left-radius:5px!important;border-bottom-right-radius:5px!important}.layer-selector-body-wrapper.cdk-drag-dragging{opacity:.8;cursor:move;z-index:1001}.layer-selector-body-wrapper:not(.collapsed) .drag-handle-icons{justify-content:space-between}.layer-selector-body-wrapper:not(.collapsed) .drag-handle-icons .icon-left{order:1;margin-right:auto}.layer-selector-body-wrapper:not(.collapsed) .drag-handle-icons .toggle-icon{order:3}.layer-selector-body-wrapper.collapsed .layer-selector-body{display:none}.layer-selector-body-wrapper.collapsed .drag-handle-selector{width:100%;min-width:100%;box-sizing:border-box;border-bottom-left-radius:5px!important;border-bottom-right-radius:5px!important}.layer-selector-body-wrapper.collapsed .drag-handle-selector .drag-handle-content{width:100%}.layer-selector-body-wrapper.collapsed .drag-handle-selector .drag-handle-content .drag-handle-icons{width:100%;justify-content:space-between;gap:6px}.layer-selector-body-wrapper.collapsed .drag-handle-selector .drag-handle-content .drag-handle-icons mat-icon{font-size:18px!important;flex-shrink:0}.layer-selector-body-wrapper.collapsed .drag-handle-selector .drag-handle-content .drag-handle-icons mat-icon.icon-left{cursor:default!important}.layer-selector-body-wrapper.collapsed .drag-handle-selector .drag-handle-content .drag-handle-icons mat-icon.toggle-icon{cursor:pointer!important}.layer-selector-body-wrapper.collapsed .drag-handle-selector .drag-handle-content .drag-handle-icons mat-icon.toggle-icon:hover{color:#d3d3d3!important}@media (max-width: 767px){.layer-selector-body-wrapper{width:calc(100vw - 7em);max-width:calc(100vw - 7em);min-width:unset;left:.5em}.layer-selector-body-wrapper.collapsed{width:90px!important;max-width:90px!important;min-width:90px!important}}@media (min-width: 768px) and (max-width: 1024px){.layer-selector-body-wrapper{width:280px;max-width:280px;min-width:280px}.layer-selector-body-wrapper.collapsed{width:90px!important;max-width:90px!important;min-width:90px!important}}.drag-handle-selector{display:flex;justify-content:flex-end;border-radius:5px 5px 0 0;padding:0 2px;cursor:move}.drag-handle-content,.drag-handle-icons{display:flex;align-items:center;width:100%}.drag-handle-icons mat-icon{font-size:18px;transition:all .2s ease;display:flex;align-items:center;justify-content:center;flex-shrink:0}.icon-left{cursor:default!important}.toggle-icon{cursor:pointer!important}.toggle-icon:hover{color:#d3d3d3!important}::ng-deep .layer-selector-body{position:relative;left:auto;right:auto;bottom:auto;z-index:auto;width:100%;max-width:100%;max-height:610px;min-height:120px;overflow-y:auto;border-radius:0 0 5px 5px!important}::ng-deep .layer-selector-body .mat-expansion-panel-header-title{gap:6px;overflow:hidden;min-width:0}::ng-deep .layer-selector-body::-webkit-scrollbar{width:12px}::ng-deep .layer-selector-body::-webkit-scrollbar-track{background:#757474;border-radius:8px}::ng-deep .layer-selector-body::-webkit-scrollbar-thumb{background:#1a1c1f;border-radius:8px;border:2px solid #2a2c30}::ng-deep .layer-selector-body::-webkit-scrollbar-thumb:hover{background:#0f1012}::ng-deep .layer-selector-body::-webkit-scrollbar-button{width:12px;height:16px;background:#2a2c30;border:1px solid #1a1c1f}::ng-deep .layer-selector-body::-webkit-scrollbar-button:vertical:decrement{background:#2a2c30 url(\"data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 12 12'%3E%3Cpath fill='%23ffffff' d='M6 4l-4 4h8z'/%3E%3C/svg%3E\") no-repeat center;border-radius:8px 8px 0 0}::ng-deep .layer-selector-body::-webkit-scrollbar-button:vertical:decrement:hover{background-color:#1a1c1f}::ng-deep .layer-selector-body::-webkit-scrollbar-button:vertical:increment{background:#2a2c30 url(\"data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 12 12'%3E%3Cpath fill='%23ffffff' d='M6 8l4-4H2z'/%3E%3C/svg%3E\") no-repeat center;border-radius:0 0 8px 8px}::ng-deep .layer-selector-body::-webkit-scrollbar-button:vertical:increment:hover{background-color:#1a1c1f}@media (max-width: 767px){::ng-deep .layer-selector-body{width:100%;max-height:70vh;min-height:140px}}@media (min-width: 768px) and (max-width: 1024px){::ng-deep .layer-selector-body{width:100%;max-width:100%;max-height:76vh;min-height:110px}}::ng-deep .layer-selector-body .search-section{display:flex;padding:12px 12px 8px;justify-content:center;align-items:center;gap:8px}@media (max-width: 767px){::ng-deep .layer-selector-body .search-section{padding:8px 8px 4px;gap:4px}}::ng-deep .layer-selector-body .search-section .search-field-wrapper{flex:1;display:flex;flex-direction:column;min-width:0}::ng-deep .layer-selector-body .search-section .search-label{color:#fff}::ng-deep .layer-selector-body .search-section mat-form-field{flex:1}::ng-deep .layer-selector-body .search-section mat-form-field .search-icon{color:#fff}::ng-deep .layer-selector-body .search-section mat-form-field ::ng-deep .mat-mdc-form-field-focus-overlay{background-color:transparent}::ng-deep .layer-selector-body .search-section>mat-icon{color:#fff;cursor:pointer;margin-top:0;transition:color .2s ease}::ng-deep .layer-selector-body .search-section>mat-icon:hover{color:#d3d3d3}@media (max-width: 767px){::ng-deep .layer-selector-body .item-list{padding:4px;max-height:calc(60vh - 80px)}}@media (min-width: 768px) and (max-width: 1024px){::ng-deep .layer-selector-body .item-list{max-height:calc(77vh - 78px)}}::ng-deep .layer-selector-body .item-list .group{overflow:hidden;box-shadow:none}::ng-deep .layer-selector-body .item-list .group>mat-expansion-panel{background:transparent!important;box-shadow:none!important;margin-bottom:4px}@media (max-width: 767px){::ng-deep .layer-selector-body .item-list .group>mat-expansion-panel .mat-expansion-panel-header{padding:0 16px;height:40px!important}}::ng-deep .layer-selector-body .item-list .group>mat-expansion-panel .mat-expansion-panel-header .mat-panel-title{display:flex;align-items:center;gap:6px;font-weight:600!important;color:#bdc1c3cc!important;transition:color .2s ease;cursor:pointer;overflow:hidden;min-width:0}@media (max-width: 767px){::ng-deep .layer-selector-body .item-list .group>mat-expansion-panel .mat-expansion-panel-header .mat-panel-title{gap:4px;font-size:11px}}::ng-deep .layer-selector-body .item-list .group>mat-expansion-panel .mat-expansion-panel-header .mat-panel-title .panel-title{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;min-width:0}::ng-deep .layer-selector-body .item-list .group>mat-expansion-panel .mat-expansion-panel-header .mat-panel-title mat-icon{color:#bdc1c3cc;font-size:16px;width:16px;height:16px;transition:all .2s ease;flex-shrink:0}@media (max-width: 767px){::ng-deep .layer-selector-body .item-list .group>mat-expansion-panel .mat-expansion-panel-header .mat-panel-title mat-icon{font-size:14px;width:14px;height:14px}}::ng-deep .layer-selector-body .item-list .group>mat-expansion-panel .mat-expansion-panel-header .mat-panel-title mat-icon.power-on{color:#6ccb78;cursor:pointer}::ng-deep .layer-selector-body .item-list .group>mat-expansion-panel .mat-expansion-panel-header .mat-panel-title mat-icon.power-on:hover{color:#45a049}::ng-deep .layer-selector-body .item-list .group>mat-expansion-panel .mat-expansion-panel-header .mat-panel-title mat-icon.power-off{cursor:pointer;color:#bdc1c3cc;font-size:24px;height:24px;width:24px}::ng-deep .layer-selector-body .item-list .group>mat-expansion-panel .mat-expansion-panel-header .mat-panel-title mat-icon.power-off:hover{color:#d3d3d3}::ng-deep .layer-selector-body .item-list .group>mat-expansion-panel .mat-expansion-panel-header .mat-panel-title mat-icon.power-fail{color:#bdc1c3cc}::ng-deep .layer-selector-body .item-list .group>mat-expansion-panel .mat-expansion-panel-content{background:#0003}@media (max-width: 767px){::ng-deep .layer-selector-body .item-list .group>mat-expansion-panel .mat-expansion-panel-content .mat-expansion-panel-body{padding:2px 0 2px 12px}}::ng-deep .layer-selector-body .item-list .group .item-list{padding:0}::ng-deep .layer-selector-body .item-list .group .item-list mat-expansion-panel{background:transparent!important;box-shadow:none!important;margin-bottom:2px}::ng-deep .layer-selector-body .item-list .group .item-list mat-expansion-panel .mat-expansion-panel-header{overflow:hidden}::ng-deep .layer-selector-body .item-list .group .item-list mat-expansion-panel .mat-expansion-panel-header .mat-content{overflow:hidden;min-width:0}::ng-deep .layer-selector-body .item-list .group .item-list mat-expansion-panel .mat-expansion-panel-content{background:#00000026}::ng-deep .layer-selector-body .item-list .group .item-list mat-expansion-panel .mat-expansion-panel-content .mat-expansion-panel-body{padding:8px 16px 12px 32px}::ng-deep .layer-selector-body .item-list .group .item-list .layer-description{font-size:12px;color:#fffc;line-height:1.5;margin-bottom:8px;margin-left:28px}::ng-deep .layer-selector-body .item-list .group .item{width:100%;box-sizing:border-box;display:flex;flex-direction:column;gap:4px;background:transparent;transition:all .2s ease;color:#fff;cursor:pointer;font-size:13px}@media (max-width: 767px){::ng-deep .layer-selector-body .item-list .group .item{font-size:11px}}::ng-deep .layer-selector-body .item-list .group .item:hover{background-color:transparent}::ng-deep .layer-selector-body .item-list .group .item .item-top-row{display:flex;align-items:center;justify-content:space-between;gap:8px;width:100%;min-width:0}::ng-deep .layer-selector-body .item-list .group .item .item-left{display:flex;align-items:center;gap:4px;flex:1;min-width:0}::ng-deep .layer-selector-body .item-list .group .item .item-left .drag-indicator{color:#ffffff80;font-size:16px;width:16px;height:16px;cursor:move;flex-shrink:0}@media (max-width: 767px){::ng-deep .layer-selector-body .item-list .group .item .item-left .drag-indicator{font-size:14px;width:14px;height:14px}}::ng-deep .layer-selector-body .item-list .group .item .item-left .layer-info{cursor:pointer;color:#e0e0de;font-size:16px;width:16px;height:16px;flex-shrink:0;transition:all .2s ease}@media (max-width: 767px){::ng-deep .layer-selector-body .item-list .group .item .item-left .layer-info{font-size:14px;width:14px;height:14px}}::ng-deep .layer-selector-body .item-list .group .item .item-left .layer-info:hover{color:#ccb913}::ng-deep .layer-selector-body .item-list .group .item .item-left span{flex:1;font-size:13px;word-wrap:break-word;word-break:break-word;overflow-wrap:break-word;white-space:normal;color:#fff;font-weight:400;min-width:0}@media (max-width: 767px){::ng-deep .layer-selector-body .item-list .group .item .item-left span{font-size:11px}}::ng-deep .layer-selector-body .item-list .group .item .item-center{display:flex;align-items:center;gap:4px;flex-shrink:0}::ng-deep .layer-selector-body .item-list .group .item .item-center .zoom-off{color:#ef4444;font-size:16px;width:16px;height:16px}@media (max-width: 767px){::ng-deep .layer-selector-body .item-list .group .item .item-center .zoom-off{font-size:14px;width:14px;height:14px}}::ng-deep .layer-selector-body .item-list .group .item .item-right{display:flex;align-items:center;gap:8px;flex-shrink:0}::ng-deep .layer-selector-body .item-list .group .item .item-right mat-icon{flex-shrink:0}::ng-deep .layer-selector-body .item-list .group .item .item-right mat-icon.power-on{color:#6ccb78;font-size:18px;width:18px;height:18px;cursor:pointer}@media (max-width: 767px){::ng-deep .layer-selector-body .item-list .group .item .item-right mat-icon.power-on{font-size:16px;width:16px;height:16px}}::ng-deep .layer-selector-body .item-list .group .item .item-right mat-icon.power-on:hover{color:#45a049}::ng-deep .layer-selector-body .item-list .group .item .item-right mat-icon.power-off{color:#bdc1c3cc;font-size:18px;width:18px;height:18px;cursor:pointer}@media (max-width: 767px){::ng-deep .layer-selector-body .item-list .group .item .item-right mat-icon.power-off{font-size:16px;width:16px;height:16px}}::ng-deep .layer-selector-body .item-list .group .item .item-right mat-icon.power-off:hover{color:#d3d3d3}::ng-deep .layer-selector-body .item-list .group .item .item-right mat-icon.power-fail{color:#bdc1c3cc;font-size:18px;width:18px;height:18px}@media (max-width: 767px){::ng-deep .layer-selector-body .item-list .group .item .item-right mat-icon.power-fail{font-size:16px;width:16px;height:16px}}::ng-deep .layer-selector-body .item-list .group .item .item-slider{display:flex;align-items:center;width:100%;margin-bottom:4px}::ng-deep .layer-selector-body .item-list .group .item .item-slider input[type=range]{width:100%;height:4px;-webkit-appearance:none;background:#fff3;border-radius:2px;outline:none;cursor:pointer}::ng-deep .layer-selector-body .item-list .group .item .item-slider input[type=range]::-webkit-slider-thumb{-webkit-appearance:none;width:12px;height:12px;border-radius:50%;background:#fff;cursor:pointer;transition:background .2s ease}::ng-deep .layer-selector-body .item-list .group .item .item-slider input[type=range]::-webkit-slider-thumb:hover{background:#6ccb78}::ng-deep .layer-selector-body .item-list .group .item .item-slider input[type=range]::-moz-range-thumb{width:12px;height:12px;border-radius:50%;background:#fff;cursor:pointer;border:none}::ng-deep .layer-selector-body .item-list .group .item .item-slider input[type=range]::-moz-range-thumb:hover{background:#6ccb78}::ng-deep .layer-selector-body-wrapper .result-title{color:#fff}::ng-deep .layer-selector-body-wrapper .mat-expansion-panel:not([class*=mat-elevation-z]){box-shadow:none!important}::ng-deep .layer-selector-body-wrapper .mat-expansion-panel-header.mat-expanded:focus,::ng-deep .layer-selector-body-wrapper .mat-expansion-panel-header.mat-expanded:hover{background:inherit!important}::ng-deep .layer-selector-body-wrapper .show-layer-highlight{font-size:18px;height:18px;width:18px}::ng-deep .layer-selector-body-wrapper .dmp-item{cursor:move;width:100%}::ng-deep .layer-selector-body-wrapper .dmp-search-panel .mat-expansion-panel-header.mat-expanded:focus,::ng-deep .layer-selector-body-wrapper .dmp-search-panel .mat-expansion-panel-header.mat-expanded:hover,::ng-deep .layer-selector-body-wrapper .dmp-dialog-content .mat-expansion-panel-header.mat-expanded:focus,::ng-deep .layer-selector-body-wrapper .dmp-dialog-content .mat-expansion-panel-header.mat-expanded:hover{background:#ffffff26!important}::ng-deep .layer-selector-body-wrapper .dmp-search-panel .mat-expansion-panel:not([class*=mat-elevation-z]),::ng-deep .layer-selector-body-wrapper .dmp-dialog-content .mat-expansion-panel:not([class*=mat-elevation-z]){box-shadow:none!important}::ng-deep .layer-selector-body-wrapper .dmp-search-panel .mat-expansion-indicator:after,::ng-deep .layer-selector-body-wrapper .dmp-dialog-content .mat-expansion-indicator:after{color:#fff!important;border-color:#fff!important}::ng-deep .layer-selector-body-wrapper mat-expansion-panel .mat-expansion-panel-content .mat-expansion-panel-body{padding-left:0!important;padding-right:0!important;box-sizing:border-box}@media (max-width: 767px){::ng-deep .layer-selector-body-wrapper mat-expansion-panel .mat-expansion-panel-content .mat-expansion-panel-body{padding-left:12px!important;padding-right:12px!important}}.cdk-drag-preview{box-sizing:border-box;border-radius:5px;box-shadow:0 5px 15px #00000026;background:#4c4d51;padding:8px 12px;color:#fff;display:flex;align-items:center;gap:8px}.cdk-drag-preview mat-icon{color:#fff}.cdk-drag-animating,.cdk-drop-list-dragging .cdk-drag{transition:transform .25s cubic-bezier(0,0,.2,1)}.cdk-drop-list-dragging .cdk-drag{transform:translateZ(0)!important}.power-on{color:#6ccb78!important;font-size:24px;width:24px;height:24px}.power-off{cursor:pointer;color:#bdc1c3cc!important}.power-fail{color:#bdc1c3cc!important}.add-option{color:#6ccb78!important}.add-option:hover{color:#37923a!important}::ng-deep .lightbulb{color:#dfca0e;width:18px;height:18px;font-size:18px}::ng-deep .arrow-up-layer{color:#fff;width:18px;height:18px;font-size:18px}::ng-deep .mdc-text-field--outlined{overflow:hidden!important}::ng-deep .drag-indicator{cursor:move!important}\n"], dependencies: [{ kind: "ngmodule", type: MatFormFieldModule }, { kind: "component", type: i1$1.MatFormField, selector: "mat-form-field", inputs: ["hideRequiredMarker", "color", "floatLabel", "appearance", "subscriptSizing", "hintLabel"], exportAs: ["matFormField"] }, { kind: "directive", type: i1$1.MatPrefix, selector: "[matPrefix], [matIconPrefix], [matTextPrefix]", inputs: ["matTextPrefix"] }, { kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1$2.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1$2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "ngmodule", type: MatIconModule }, { kind: "component", type: i2.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i1$3.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i1$3.RangeValueAccessor, selector: "input[type=range][formControlName],input[type=range][formControl],input[type=range][ngModel]" }, { kind: "directive", type: i1$3.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1$3.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "ngmodule", type: DragDropModule }, { kind: "directive", type: i5.CdkDropList, selector: "[cdkDropList], cdk-drop-list", inputs: ["cdkDropListConnectedTo", "cdkDropListData", "cdkDropListOrientation", "id", "cdkDropListLockAxis", "cdkDropListDisabled", "cdkDropListSortingDisabled", "cdkDropListEnterPredicate", "cdkDropListSortPredicate", "cdkDropListAutoScrollDisabled", "cdkDropListAutoScrollStep", "cdkDropListElementContainer"], outputs: ["cdkDropListDropped", "cdkDropListEntered", "cdkDropListExited", "cdkDropListSorted"], exportAs: ["cdkDropList"] }, { kind: "directive", type: i5.CdkDrag, selector: "[cdkDrag]", inputs: ["cdkDragData", "cdkDragLockAxis", "cdkDragRootElement", "cdkDragBoundary", "cdkDragStartDelay", "cdkDragFreeDragPosition", "cdkDragDisabled", "cdkDragConstrainPosition", "cdkDragPreviewClass", "cdkDragPreviewContainer", "cdkDragScale"], outputs: ["cdkDragStarted", "cdkDragReleased", "cdkDragEnded", "cdkDragEntered", "cdkDragExited", "cdkDragDropped", "cdkDragMoved"], exportAs: ["cdkDrag"] }, { kind: "directive", type: i5.CdkDragHandle, selector: "[cdkDragHandle]", inputs: ["cdkDragHandleDisabled"] }, { kind: "directive", type: i5.CdkDragPreview, selector: "ng-template[cdkDragPreview]", inputs: ["data", "matchSize"] }, { kind: "ngmodule", type: MatExpansionModule }, { kind: "component", type: i6.MatExpansionPanel, selector: "mat-expansion-panel", inputs: ["hideToggle", "togglePosition"], outputs: ["afterExpand", "afterCollapse"], exportAs: ["matExpansionPanel"] }, { kind: "component", type: i6.MatExpansionPanelHeader, selector: "mat-expansion-panel-header", inputs: ["expandedHeight", "collapsedHeight", "tabIndex"] }, { kind: "directive", type: i6.MatExpansionPanelTitle, selector: "mat-panel-title" }, { kind: "ngmodule", type: MatInputModule }, { kind: "directive", type: i7.MatInput, selector: "input[matInput], textarea[matInput], select[matNativeControl], input[matNativeControl], textarea[matNativeControl]", inputs: ["disabled", "id", "placeholder", "name", "required", "type", "errorStateMatcher", "aria-describedby", "value", "readonly", "disabledInteractive"], exportAs: ["matInput"] }, { kind: "ngmodule", type: MatTooltipModule }, { kind: "directive", type: i8.MatTooltip, selector: "[matTooltip]", inputs: ["matTooltipPosition", "matTooltipPositionAtOrigin", "matTooltipDisabled", "matTooltipShowDelay", "matTooltipHideDelay", "matTooltipTouchGestures", "matTooltip", "matTooltipClass"], exportAs: ["matTooltip"] }, { kind: "ngmodule", type: MatOptionModule }, { kind: "ngmodule", type: MatDialogModule }, { kind: "directive", type: i1$4.MatDialogContent, selector: "[mat-dialog-content], mat-dialog-content, [matDialogContent]" }] });
1232
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "19.2.15", type: LayerSelectorComponent, isStandalone: true, selector: "lib-layer-selector", inputs: { map: "map", profile: "profile", currentZoomLevel: "currentZoomLevel" }, viewQueries: [{ propertyName: "contentBody", first: true, predicate: ["layerSelectorBody"], descendants: true }, { propertyName: "dmpDialog", first: true, predicate: ["dmpDialog"], descendants: true }], usesOnChanges: true, ngImport: i0, template: "<div\n #layerSelectorBody\n class=\"layer-selector-body-wrapper global-wrapper-container\"\n cdkDrag\n cdkDragBoundary=\".map-container\"\n [cdkDragFreeDragPosition]=\"layerSelectorDragPosition\"\n (cdkDragEnded)=\"onLayerSelectorDragEnded($event)\"\n [class.collapsed]=\"collapsed\">\n\n <div class=\"drag-handle-selector\" cdkDragHandle>\n <div class=\"drag-handle-content\">\n <div class=\"drag-handle-icons\">\n <mat-icon \n class=\"icon-left\" \n matTooltip=\"Lag\" \n [matTooltipShowDelay]=\"500\"\n [matTooltipHideDelay]=\"100\" \n matTooltipPosition=\"above\">\n layers\n </mat-icon>\n <mat-icon class=\"toggle-icon\" (click)=\"toggleLayerSelector()\">\n {{ collapsed ? 'flip_to_front' : 'remove' }}\n </mat-icon>\n </div>\n </div>\n </div>\n\n <div class=\"ol-unselectable ol-control layer-selector-body\" *ngIf=\"!collapsed\">\n <div class=\"search-section\">\n <div class=\"search-field-wrapper\">\n <label class=\"search-label\">Filtrer</label>\n <mat-form-field appearance=\"outline\" class=\"w-full\">\n <mat-icon matPrefix class=\"search-icon\">search</mat-icon>\n <input \n matInput \n type=\"text\" \n [(ngModel)]=\"searchText\" \n (ngModelChange)=\"filterChanged()\"\n />\n </mat-form-field>\n </div>\n <mat-icon matTooltip=\"Nulstil\" \n [matTooltipShowDelay]=\"200\"\n [matTooltipHideDelay]=\"300\" (click)=\"clearSearchText()\">\n replay</mat-icon>\n </div>\n <div\n cdkDropList\n [cdkDropListData]=\"filteredLayerGroups\"\n (cdkDropListDropped)=\"dropGroup($event, filteredLayerGroups)\"\n class=\"item-list\">\n @for (group of filteredLayerGroups; track group.id; let gIndex = $index) {\n <div class=\"group\" cdkDrag>\n <mat-expansion-panel [(expanded)]=\"group.expanded\">\n <mat-expansion-panel-header>\n <mat-panel-title>\n <mat-icon class=\"drag-indicator\" cdkDragHandle>drag_indicator</mat-icon>\n <span class=\"panel-title\">{{ group.name }}</span>\n ({{ group.noOfVisibleLayers }}/{{ group.layers.length }})\n @if (group.visible) {\n <mat-icon (click)=\"toggleGroup($event, group)\" class=\"power-on\" \n matTooltip=\"Sluk\" \n [matTooltipShowDelay]=\"200\"\n [matTooltipHideDelay]=\"300\" \n matTooltipPosition=\"above\">power_settings_new\n </mat-icon> \n }\n @if (!group.visible) {\n <mat-icon (click)=\"toggleGroup($event, group)\" class=\"power-off\"\n matTooltip=\"T\u00E6nd\" \n [matTooltipShowDelay]=\"200\"\n [matTooltipHideDelay]=\"300\" \n matTooltipPosition=\"above\">power_settings_new\n </mat-icon>\n }\n </mat-panel-title>\n </mat-expansion-panel-header>\n\n <div\n cdkDropList\n [cdkDropListData]=\"group.layers\"\n (cdkDropListDropped)=\"dropLayer($event, group)\"\n class=\"item-list\">\n @for (layer of group.layers; track layer.id; let iIndex = $index) {\n <mat-expansion-panel expanded=\"false\" [disabled]=\"!layer.description\"> \n <mat-expansion-panel-header>\n <mat-panel-title>\n <div class=\"item\" cdkDrag>\n <div class=\"item-top-row\">\n <div class=\"item-left\">\n <mat-icon class=\"drag-indicator\" cdkDragHandle>drag_indicator</mat-icon>\n <span>{{ layer.name }}</span>\n <mat-icon></mat-icon>\n </div>\n <div class=\"item-center\">\n @if (layer.maxZoom < currentZoomLevel || layer.minZoom > currentZoomLevel) {\n <mat-icon class=\"zoom-off\"\n matTooltip=\"Lag vises ikke pga zoom niveau\"\n [matTooltipShowDelay]=\"200\"\n [matTooltipHideDelay]=\"300\"\n matTooltipPosition=\"above\">browser_not_supported\n </mat-icon>\n }\n @if (layer.hasErrors) {\n <mat-icon class=\"zoom-off\"\n matTooltip=\"Fejl\"\n [matTooltipShowDelay]=\"200\"\n [matTooltipHideDelay]=\"300\"\n matTooltipPosition=\"above\">priority_high\n </mat-icon>\n }\n </div>\n <div class=\"item-right\">\n @if(layer.infoUrl) {\n <mat-icon\n class=\"layer-info\"\n matTooltip=\"Yderligere laginfo\"\n [matTooltipShowDelay]=\"200\"\n [matTooltipHideDelay]=\"300\"\n (click)=\"openUrl(layer.infoUrl)\"\n matTooltipPosition=\"above\">info\n </mat-icon>\n }\n @if (!layer.hasErrors && layer.visible) {\n <mat-icon (click)=\"toggleLayer(layer.id, $event)\" class=\"power-on\"\n matTooltip=\"Sluk\"\n [matTooltipShowDelay]=\"200\"\n [matTooltipHideDelay]=\"300\"\n matTooltipPosition=\"above\">power_settings_new\n </mat-icon>\n }\n @if (!layer.hasErrors && !layer.visible) {\n <mat-icon (click)=\"toggleLayer(layer.id, $event)\" class=\"power-off\"\n matTooltip=\"T\u00E6nd\"\n [matTooltipShowDelay]=\"200\"\n [matTooltipHideDelay]=\"300\"\n matTooltipPosition=\"above\">power_settings_new\n </mat-icon>\n }\n @if (layer.hasErrors) {\n <mat-icon class=\"power-fail\">power_settings_new</mat-icon>\n }\n </div>\n </div>\n <div class=\"item-slider\">\n <input \n type=\"range\"\n min=\"0\"\n max=\"1\"\n step=\"0.05\"\n [(ngModel)]=\"layer.opacity\"\n (click)=\"stopDrag($event)\"\n (input)=\"updateOpacity(layer.id, layer.opacity)\"\n (mousedown)=\"stopDrag($event)\"\n (touchstart)=\"stopDrag($event)\"\n (pointerdown)=\"stopDrag($event)\"\n >\n </div>\n <div *cdkDragPreview><span class=\"panel-title\">{{ layer.name }} </span></div>\n </div>\n </mat-panel-title>\n </mat-expansion-panel-header>\n <div class=\"layer-description\">{{ layer.description }}</div>\n @if (showLegend) {\n <img [src]=\"legendUrl\" class=\"legend-thumbnail\"/>\n }\n </mat-expansion-panel>\n }\n </div>\n </mat-expansion-panel>\n <div *cdkDragPreview><span class=\"panel-title\">{{ group.name }} </span></div>\n </div>\n }\n </div>\n <div class=\"group-header\">Mine Temaer\n <mat-icon (click)=\"toggleDmpSearch(true)\"\n class=\"power-on\"\n matTooltip=\"S\u00F8g\" \n [matTooltipShowDelay]=\"200\"\n [matTooltipHideDelay]=\"300\" \n matTooltipPosition=\"above\">add\n </mat-icon>\n </div>\n @if (filteredDmpLayers.length > 0) {\n <div class=\"dmp-item-list\" cdkDropList\n [cdkDropListData]=\"filteredDmpLayers\"\n (cdkDropListDropped)=\"dropDmpLayer($event)\">\n @for (layer of filteredDmpLayers; track layer.datasetId; let iIndex = $index) {\n <mat-expansion-panel expanded=\"false\" [disabled]=\"true\"> \n <mat-expansion-panel-header>\n <mat-panel-title>\n <div class=\"dmp-item\" cdkDrag>\n <div class=\"dmp-item-container\">\n <div class=\"dmp-item-left\">\n <mat-icon (click)=\"deleteDmpLayer(layer, $event)\" class=\"delete-icon\" \n matTooltip=\"Slet\" \n [matTooltipShowDelay]=\"200\"\n [matTooltipHideDelay]=\"300\" \n matTooltipPosition=\"above\">delete\n </mat-icon>\n <div class=\"dmp-item-title\">\n <span class=\"title-text\">{{ layer.title }}</span>\n </div>\n </div>\n \n <div class=\"dmp-item-center\">\n @if (layer.hasErrors) {\n <mat-icon class=\"zoom-off\" \n matTooltip=\"Fejl\" \n [matTooltipShowDelay]=\"200\"\n [matTooltipHideDelay]=\"300\" \n matTooltipPosition=\"above\">priority_high\n </mat-icon>\n }\n \n @if (!layer.hasErrors && layer.visible) {\n <mat-icon (click)=\"toggleLayer(layer.datasetId, $event)\" class=\"power-on\" \n matTooltip=\"Sluk\" \n [matTooltipShowDelay]=\"200\"\n [matTooltipHideDelay]=\"300\" \n matTooltipPosition=\"above\">power_settings_new\n </mat-icon>\n }\n @if (!layer.hasErrors && !layer.visible) {\n <mat-icon (click)=\"toggleLayer(layer.datasetId, $event)\" class=\"power-off\"\n matTooltip=\"T\u00E6nd\" \n [matTooltipShowDelay]=\"200\"\n [matTooltipHideDelay]=\"300\" \n matTooltipPosition=\"above\">power_settings_new\n </mat-icon>\n }\n @if (layer.hasErrors) {\n <mat-icon class=\"power-fail\">power_settings_new\n </mat-icon>\n }\n </div>\n </div>\n <div class=\"dmp-item-slider\">\n <input \n type=\"range\"\n min=\"0\"\n max=\"1\"\n step=\"0.05\"\n [(ngModel)]=\"layer.opacity\"\n (click)=\"stopDrag($event)\"\n (input)=\"updateOpacity(layer.datasetId, layer.opacity)\"\n (mousedown)=\"stopDrag($event)\"\n (touchstart)=\"stopDrag($event)\"\n (pointerdown)=\"stopDrag($event)\"\n >\n </div>\n <div *cdkDragPreview><span class=\"panel-title\">{{ layer.title }} </span></div>\n </div>\n </mat-panel-title>\n </mat-expansion-panel-header>\n </mat-expansion-panel>\n }\n </div>\n }\n <div *ngIf=\"filteredBackgroundLayerGroups && filteredBackgroundLayerGroups.length > 0\" class=\"group-header\">Baggrundskort</div>\n <div\n cdkDropList\n [cdkDropListData]=\"filteredBackgroundLayerGroups\"\n (cdkDropListDropped)=\"dropGroup($event, filteredBackgroundLayerGroups)\"\n class=\"item-list\">\n @for (group of filteredBackgroundLayerGroups; track group.id; let gIndex = $index) {\n <div class=\"group\" cdkDrag>\n <mat-expansion-panel [(expanded)]=\"group.expanded\">\n <mat-expansion-panel-header>\n <mat-panel-title>\n <mat-icon class=\"drag-indicator\" cdkDragHandle>drag_indicator</mat-icon>\n {{ group.name }}\n ({{ group.noOfVisibleLayers }}/{{ group.layers.length }})\n @if (group.visible) {\n <mat-icon (click)=\"toggleGroup($event, group)\" class=\"power-on\" \n matTooltip=\"Sluk\" \n [matTooltipShowDelay]=\"200\"\n [matTooltipHideDelay]=\"300\" \n matTooltipPosition=\"above\">power_settings_new\n </mat-icon> \n }\n @if (!group.visible) {\n <mat-icon (click)=\"toggleGroup($event, group)\" class=\"power-off\"\n matTooltip=\"T\u00E6nd\" \n [matTooltipShowDelay]=\"200\"\n [matTooltipHideDelay]=\"300\" \n matTooltipPosition=\"above\">power_settings_new\n </mat-icon>\n }\n </mat-panel-title>\n </mat-expansion-panel-header>\n\n <div\n cdkDropList\n [cdkDropListData]=\"group.layers\"\n (cdkDropListDropped)=\"dropLayer($event, group)\"\n class=\"item-list\">\n @for (layer of group.layers; track layer.id; let iIndex = $index) {\n <mat-expansion-panel expanded=\"false\" [disabled]=\"!layer.description\"> \n <mat-expansion-panel-header>\n <mat-panel-title>\n <div class=\"item\" cdkDrag>\n <div class=\"item-left\">\n <mat-icon class=\"drag-indicator\">drag_indicator</mat-icon>\n <span>{{ layer.name }}</span>\n </div>\n <div class=\"item-center\">\n @if (layer.maxZoom < currentZoomLevel || layer.minZoom > currentZoomLevel) {\n <mat-icon class=\"zoom-off\" \n matTooltip=\"Zoom\" \n [matTooltipShowDelay]=\"200\"\n [matTooltipHideDelay]=\"300\" \n matTooltipPosition=\"above\">browser_not_supported\n </mat-icon>\n }\n @if (layer.hasErrors) {\n <mat-icon class=\"zoom-off\" \n matTooltip=\"Fejl\" \n [matTooltipShowDelay]=\"200\"\n [matTooltipHideDelay]=\"300\" \n matTooltipPosition=\"above\">priority_high\n </mat-icon>\n }\n </div>\n <div class=\"item-right\">\n @if (!layer.hasErrors && layer.visible) {\n <mat-icon (click)=\"toggleLayer(layer.id, $event)\" class=\"power-on\" \n matTooltip=\"Sluk\" \n [matTooltipShowDelay]=\"200\"\n [matTooltipHideDelay]=\"300\" \n matTooltipPosition=\"above\">power_settings_new\n </mat-icon>\n }\n @if (!layer.hasErrors && !layer.visible) {\n <mat-icon (click)=\"toggleLayer(layer.id, $event)\" class=\"power-off\"\n matTooltip=\"T\u00E6nd\" \n [matTooltipShowDelay]=\"200\"\n [matTooltipHideDelay]=\"300\" \n matTooltipPosition=\"above\">power_settings_new\n </mat-icon>\n }\n @if (layer.hasErrors) {\n <mat-icon class=\"power-fail\">power_settings_new\n </mat-icon>\n }\n <input \n type=\"range\"\n min=\"0\"\n max=\"1\"\n step=\"0.05\"\n [(ngModel)]=\"layer.opacity\"\n (click)=\"stopDrag($event)\"\n (input)=\"updateOpacity(layer.id, layer.opacity)\"\n (mousedown)=\"stopDrag($event)\"\n (touchstart)=\"stopDrag($event)\"\n (pointerdown)=\"stopDrag($event)\"\n >\n </div>\n <div *cdkDragPreview><span class=\"panel-title\">{{ layer.name }} </span></div>\n </div>\n </mat-panel-title>\n </mat-expansion-panel-header>\n <div class=\"layer-description\">{{ layer.description }}</div>\n @if (showLegend) {\n <img [src]=\"legendUrl\" class=\"legend-thumbnail\"/>\n }\n </mat-expansion-panel>\n }\n </div>\n </mat-expansion-panel>\n <div *cdkDragPreview><span class=\"panel-title\">{{ group.name }} </span></div>\n </div>\n }\n </div>\n </div>\n <ng-template #dmpDialog>\n @if (dmpSearchMode) {\n <mat-dialog-content>\n <div class=\"dialog-header\">\n <div class=\"search-section\">\n <div class=\"search-field-wrapper\">\n <label class=\"search-label\">S\u00F8g</label>\n <mat-form-field appearance=\"outline\" class=\"w-full\">\n <mat-icon matPrefix class=\"search-icon\">search</mat-icon>\n <input \n matInput \n type=\"text\" \n [(ngModel)]=\"dmpSearchText\" \n (ngModelChange)=\"searchDmp()\"\n />\n </mat-form-field>\n </div>\n <mat-icon (click)=\"clearDmpSearchText()\" \n matTooltip=\"Nulstil\" \n [matTooltipShowDelay]=\"200\"\n [matTooltipHideDelay]=\"300\"\n class=\"undo-icon\" >undo\n </mat-icon>\n </div>\n <mat-icon \n class=\"close-button\" \n (click)=\"toggleDmpSearch(false)\"\n matTooltip=\"Luk\" \n [matTooltipShowDelay]=\"200\"\n [matTooltipHideDelay]=\"300\" \n matTooltipPosition=\"left\">\n close\n </mat-icon>\n </div>\n </mat-dialog-content>\n }\n\n @if (dmpLayerResults.length > 0) {\n <div class=\"dmp-search-panel global-wrapper-container\">\n <div *ngFor=\"let result of dmpLayerResults\" [attr.data-value]=\"result\" class=\"search-result-option\">\n <mat-expansion-panel expanded=\"false\"> \n <mat-expansion-panel-header>\n <mat-panel-title>\n <span class=\"result-title\">{{ result.title }}</span>\n </mat-panel-title>\n </mat-expansion-panel-header>\n <div><span class=\"field-label\">Status:</span><span class=\"field-value\"> {{ result.availability }}</span></div>\n <div><span class=\"field-label\">Kategori:</span><span class=\"field-value\"> {{ result.category }}</span></div>\n <div><span class=\"field-label\">Beskrivelse:</span><span class=\"field-value\"> {{ result.description }}</span></div>\n <div><span class=\"field-label\">Tags:</span><span class=\"field-value\"> {{ result.tags?.join(', ') }}</span></div>\n <div *ngIf=\"result.metaDataUrl\">\n <span class=\"field-label\">Metadata:</span>\n <a [href]=\"result.metaDataUrl\" target=\"_blank\" rel=\"noopener noreferrer\" class=\"open-link\">\n Vis metadata\n <mat-icon class=\"link-icon\">open_in_new</mat-icon>\n </a>\n </div>\n <div *ngIf=\"result.license && result.license.url\">\n <span class=\"field-label\">Licens:</span>\n <a [href]=\"result.license.url\" target=\"_blank\" rel=\"noopener noreferrer\" class=\"open-link\">\n {{ result.license.title }}\n <mat-icon class=\"link-icon\">open_in_new</mat-icon>\n </a>\n </div>\n <div *ngIf=\"result.dataLiabilityAgreement && result.dataLiabilityAgreement.url\">\n <span class=\"field-label\">Dataansvarsaftale:</span>\n <a [href]=\"result.dataLiabilityAgreement.url\" target=\"_blank\" rel=\"noopener noreferrer\" class=\"open-link\">\n {{ result.dataLiabilityAgreement.title }}\n <mat-icon class=\"link-icon\">open_in_new</mat-icon>\n </a>\n </div>\n <div class=\"add-layer-section\">\n <span class=\"field-label\">Tilf\u00F8j {{ result.serviceType }}:</span>\n <mat-icon (click)=\"addDmpLayer(result)\" class=\"add-option\"\n matTooltip=\"Tilf\u00F8j\" \n [matTooltipShowDelay]=\"200\"\n [matTooltipHideDelay]=\"300\" \n matTooltipPosition=\"above\">add\n </mat-icon>\n </div>\n </mat-expansion-panel>\n </div>\n </div>}\n </ng-template>\n</div>", styles: [".layer-info{cursor:pointer}.legend-thumbnail{max-width:200px;max-height:200px;width:auto;height:auto;border:2px solid #dee2e6;padding:6px}::ng-deep .dmp-dialog-content mat-dialog-content .search-section{display:flex;align-items:center;gap:6px}::ng-deep .dmp-dialog-content mat-dialog-content .search-section .undo-icon{color:#fff!important;cursor:pointer;flex-shrink:0}::ng-deep .dmp-dialog-content mat-dialog-content .search-section .undo-icon:hover{color:#d3d3d3!important}::ng-deep .dmp-dialog-content mat-dialog-content .search-section .search-field-wrapper{flex:1;display:flex;flex-direction:column}::ng-deep .dmp-dialog-content mat-dialog-content .search-section .search-label{color:#fff}::ng-deep .dmp-dialog-content mat-dialog-content .search-section mat-form-field{flex:1}::ng-deep .dmp-dialog-content mat-dialog-content .search-section mat-form-field .search-icon{color:#fff}::ng-deep .dmp-dialog-content mat-dialog-content .search-section mat-form-field .mdc-notched-outline .mdc-notched-outline__leading,::ng-deep .dmp-dialog-content mat-dialog-content .search-section mat-form-field .mdc-notched-outline .mdc-notched-outline__notch,::ng-deep .dmp-dialog-content mat-dialog-content .search-section mat-form-field .mdc-notched-outline .mdc-notched-outline__trailing{border-color:#dee2e6!important;border-width:1px!important}::ng-deep .dmp-dialog-content mat-dialog-content .search-section mat-form-field.mat-focused ::ng-deep .mdc-notched-outline .mdc-notched-outline__leading,::ng-deep .dmp-dialog-content mat-dialog-content .search-section mat-form-field.mat-focused ::ng-deep .mdc-notched-outline .mdc-notched-outline__notch,::ng-deep .dmp-dialog-content mat-dialog-content .search-section mat-form-field.mat-focused ::ng-deep .mdc-notched-outline .mdc-notched-outline__trailing{border-color:#d1d5db!important;border-width:1px!important;box-shadow:0 0 0 3px #d1d5db40!important}::ng-deep .dmp-dialog-content mat-dialog-actions{display:none}::ng-deep .dmp-dialog-content .search-result-option{padding:0!important}::ng-deep .dmp-dialog-content .search-result-option mat-expansion-panel{box-shadow:none!important;margin-bottom:2px;border-radius:0!important;background:transparent!important;color:#fff}::ng-deep .dmp-dialog-content .search-result-option mat-expansion-panel .mat-expansion-panel-content{background:#0003}::ng-deep .dmp-dialog-content .search-result-option mat-expansion-panel .mat-expansion-panel-content .mat-expansion-panel-body{padding:12px 16px!important}@media (max-width: 767px){::ng-deep .dmp-dialog-content .search-result-option mat-expansion-panel .mat-expansion-panel-content .mat-expansion-panel-body{padding:10px 12px!important}}::ng-deep .dmp-dialog-content .search-result-option mat-expansion-panel .mat-expansion-panel-content .mat-expansion-panel-body>div{margin-bottom:10px;display:flex;align-items:flex-start;gap:8px;font-size:12px;line-height:1.5}::ng-deep .dmp-dialog-content .search-result-option mat-expansion-panel .mat-expansion-panel-content .mat-expansion-panel-body>div:last-child{margin-bottom:0}@media (max-width: 767px){::ng-deep .dmp-dialog-content .search-result-option mat-expansion-panel .mat-expansion-panel-content .mat-expansion-panel-body>div{font-size:11px;gap:6px}}::ng-deep .dmp-dialog-content .search-result-option mat-expansion-panel .mat-expansion-panel-content .mat-expansion-panel-body>div .field-label{color:#bdc1c3cc!important;min-width:90px;font-weight:500;flex-shrink:0;font-size:13px}@media (max-width: 767px){::ng-deep .dmp-dialog-content .search-result-option mat-expansion-panel .mat-expansion-panel-content .mat-expansion-panel-body>div .field-label{min-width:80px}}::ng-deep .dmp-dialog-content .search-result-option mat-expansion-panel .mat-expansion-panel-content .mat-expansion-panel-body>div .field-value{color:#fff!important;font-weight:300;flex:1;word-break:break-word;font-size:13px}::ng-deep .dmp-dialog-content .search-result-option mat-expansion-panel .mat-expansion-panel-content .mat-expansion-panel-body>div .open-link{color:#2e98eb!important;text-decoration:none!important;display:inline-flex;align-items:center;gap:4px}::ng-deep .dmp-dialog-content .search-result-option mat-expansion-panel .mat-expansion-panel-content .mat-expansion-panel-body>div .open-link:hover{color:#2180c9!important;text-decoration:underline!important}::ng-deep .dmp-dialog-content .search-result-option mat-expansion-panel .mat-expansion-panel-content .mat-expansion-panel-body>div .open-link .link-icon{font-size:14px;width:14px;height:14px}::ng-deep .dmp-dialog-content .search-result-option mat-expansion-panel .mat-expansion-panel-content .mat-expansion-panel-body .add-layer-section{display:flex;align-items:center;margin-top:12px;padding-top:12px;border-top:1px solid rgba(255,255,255,.1)}::ng-deep .dmp-dialog-content .search-result-option mat-expansion-panel .mat-expansion-panel-content .mat-expansion-panel-body .add-layer-section .field-label{min-width:90px}::ng-deep .dmp-dialog-content .search-result-option mat-expansion-panel .mat-expansion-panel-content .mat-expansion-panel-body .add-layer-section .add-option{color:#6ccb78!important;cursor:pointer;font-size:20px;width:20px;height:20px;transition:all .2s ease}::ng-deep .dmp-dialog-content .search-result-option mat-expansion-panel .mat-expansion-panel-content .mat-expansion-panel-body .add-layer-section .add-option:hover{color:#45a049!important;transform:scale(1.1)}.dmp-search-panel{overflow-y:scroll;max-height:300px}.dmp-search-panel::-webkit-scrollbar{width:12px}.dmp-search-panel::-webkit-scrollbar-track{background:#757474;border-radius:8px}.dmp-search-panel::-webkit-scrollbar-thumb{background:#1a1c1f;border-radius:8px;border:2px solid #2a2c30}.dmp-search-panel::-webkit-scrollbar-thumb:hover{background:#0f1012}.dmp-search-panel::-webkit-scrollbar-button{width:12px;height:16px;background:#2a2c30;border:1px solid #1a1c1f}.dmp-search-panel::-webkit-scrollbar-button:vertical:decrement{background:#2a2c30 url(\"data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 12 12'%3E%3Cpath fill='%23ffffff' d='M6 4l-4 4h8z'/%3E%3C/svg%3E\") no-repeat center;border-radius:8px 8px 0 0}.dmp-search-panel::-webkit-scrollbar-button:vertical:decrement:hover{background-color:#1a1c1f}.dmp-search-panel::-webkit-scrollbar-button:vertical:increment{background:#2a2c30 url(\"data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 12 12'%3E%3Cpath fill='%23ffffff' d='M6 8l4-4H2z'/%3E%3C/svg%3E\") no-repeat center;border-radius:0 0 8px 8px}.dmp-search-panel::-webkit-scrollbar-button:vertical:increment:hover{background-color:#1a1c1f}.dmp-search-panel .search-result-option{padding:0!important;margin-bottom:2px}.dmp-search-panel .search-result-option mat-expansion-panel{box-shadow:none!important;margin:0;border-radius:0!important;background:transparent!important}.dmp-search-panel .search-result-option mat-expansion-panel .mat-expansion-panel-content{background:#0003}.dmp-search-panel .search-result-option mat-expansion-panel .mat-expansion-panel-content .mat-expansion-panel-body{padding:12px 16px!important}@media (max-width: 767px){.dmp-search-panel .search-result-option mat-expansion-panel .mat-expansion-panel-content .mat-expansion-panel-body{padding:10px 12px!important}}.dmp-search-panel .search-result-option mat-expansion-panel .mat-expansion-panel-content .mat-expansion-panel-body>div{margin-bottom:10px;display:flex;align-items:flex-start;gap:8px;font-size:12px;line-height:1.5}.dmp-search-panel .search-result-option mat-expansion-panel .mat-expansion-panel-content .mat-expansion-panel-body>div:last-child{margin-bottom:0}@media (max-width: 767px){.dmp-search-panel .search-result-option mat-expansion-panel .mat-expansion-panel-content .mat-expansion-panel-body>div{font-size:11px;gap:6px}}.dmp-search-panel .search-result-option mat-expansion-panel .mat-expansion-panel-content .mat-expansion-panel-body>div .field-label{color:#bdc1c3cc!important;min-width:90px;font-weight:500;flex-shrink:0;font-size:13px}@media (max-width: 767px){.dmp-search-panel .search-result-option mat-expansion-panel .mat-expansion-panel-content .mat-expansion-panel-body>div .field-label{min-width:80px}}.dmp-search-panel .search-result-option mat-expansion-panel .mat-expansion-panel-content .mat-expansion-panel-body>div .field-value{color:#fff!important;font-weight:300;flex:1;word-break:break-word;font-size:13px}.dmp-search-panel .search-result-option mat-expansion-panel .mat-expansion-panel-content .mat-expansion-panel-body>div .open-link{color:#2e98eb!important;text-decoration:none!important;display:inline-flex;align-items:center;gap:4px}.dmp-search-panel .search-result-option mat-expansion-panel .mat-expansion-panel-content .mat-expansion-panel-body>div .open-link:hover{color:#2180c9!important;text-decoration:underline!important}.dmp-search-panel .search-result-option mat-expansion-panel .mat-expansion-panel-content .mat-expansion-panel-body>div .open-link .link-icon{font-size:14px;width:14px;height:14px}.dmp-search-panel .search-result-option mat-expansion-panel .mat-expansion-panel-content .mat-expansion-panel-body .add-layer-section{display:flex;align-items:center;margin-top:12px;padding-top:12px;border-top:1px solid rgba(255,255,255,.1)}.dmp-search-panel .search-result-option mat-expansion-panel .mat-expansion-panel-content .mat-expansion-panel-body .add-layer-section .field-label{min-width:90px}.dmp-search-panel .search-result-option mat-expansion-panel .mat-expansion-panel-content .mat-expansion-panel-body .add-layer-section .add-option{color:#6ccb78!important;cursor:pointer;font-size:20px;width:20px;height:20px;transition:all .2s ease}.dmp-search-panel .search-result-option mat-expansion-panel .mat-expansion-panel-content .mat-expansion-panel-body .add-layer-section .add-option:hover{color:#45a049!important;transform:scale(1.1)}.dmp-search-panel .search-result-option:first-child mat-expansion-panel .mat-expansion-panel-header{border-top-left-radius:4px!important;border-top-right-radius:4px!important}.dmp-search-panel .search-result-option:last-child mat-expansion-panel .mat-expansion-panel-header.mat-expanded{border-radius:0!important}.dmp-search-panel .search-result-option:last-child mat-expansion-panel .mat-expansion-panel-content{border-bottom-left-radius:4px!important;border-bottom-right-radius:4px!important}.dialog-header{position:relative}.dialog-header .close-button{position:absolute;top:-9px;right:-14px;color:#fff;cursor:pointer;border-radius:50%;transition:all .2s ease;font-size:18px;width:24px;height:24px;display:flex;justify-content:center;align-items:center;z-index:10;background-color:#ffffff1a}.dialog-header .close-button:hover{color:#e0d5d5}.field-label{color:#bdc1c3cc!important;margin-right:6px}.open-link{color:#2e98eb!important;text-decoration:none!important;display:inline-flex;align-items:center;gap:4px}.open-link:hover{color:#2180c9!important;text-decoration:underline!important}.field-value{color:#fff!important;font-weight:300}.add-layer-section{display:flex;align-items:center;margin-top:8px;padding-top:8px;border-top:1px solid rgba(255,255,255,.1)}.dmp-item-list .dmp-item-container{display:flex;align-items:center;width:100%;gap:12px;min-width:0}.dmp-item-list .dmp-item-container .dmp-item-left{display:flex;align-items:center;gap:8px;flex:1;min-width:0}.dmp-item-list .dmp-item-container .dmp-item-left .delete-icon{color:#bdc1c3cc;font-size:18px;width:18px;height:18px;cursor:pointer;flex-shrink:0}@media (max-width: 767px){.dmp-item-list .dmp-item-container .dmp-item-left .delete-icon{font-size:16px;width:16px;height:16px}}.dmp-item-list .dmp-item-container .dmp-item-left .delete-icon:hover{color:#d3d3d3}.dmp-item-list .dmp-item-container .dmp-item-left .dmp-item-title{flex:1;min-width:0;overflow:hidden}.dmp-item-list .dmp-item-container .dmp-item-left .dmp-item-title .title-text{color:#fff;font-size:13px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;display:block}@media (max-width: 767px){.dmp-item-list .dmp-item-container .dmp-item-left .dmp-item-title .title-text{font-size:11px}}.dmp-item-list .dmp-item-container .dmp-item-center{display:flex;align-items:center;gap:8px;flex-shrink:0}.dmp-item-list .dmp-item-container .dmp-item-center .zoom-off{color:#ef4444;font-size:16px;width:16px;height:16px}@media (max-width: 767px){.dmp-item-list .dmp-item-container .dmp-item-center .zoom-off{font-size:14px;width:14px;height:14px}}.dmp-item-list .dmp-item-container .dmp-item-center mat-icon{flex-shrink:0}.dmp-item-list .dmp-item-container .dmp-item-center mat-icon.power-on{color:#6ccb78;font-size:18px;width:18px;height:18px;cursor:pointer}@media (max-width: 767px){.dmp-item-list .dmp-item-container .dmp-item-center mat-icon.power-on{font-size:16px;width:16px;height:16px}}.dmp-item-list .dmp-item-container .dmp-item-center mat-icon.power-on:hover{color:#45a049}.dmp-item-list .dmp-item-container .dmp-item-center mat-icon.power-off{color:#bdc1c3cc;font-size:18px;width:18px;height:18px;cursor:pointer}@media (max-width: 767px){.dmp-item-list .dmp-item-container .dmp-item-center mat-icon.power-off{font-size:16px;width:16px;height:16px}}.dmp-item-list .dmp-item-container .dmp-item-center mat-icon.power-off:hover{color:#d3d3d3}.dmp-item-list .dmp-item-container .dmp-item-center mat-icon.power-fail{color:#bdc1c3cc;font-size:18px;width:18px;height:18px}@media (max-width: 767px){.dmp-item-list .dmp-item-container .dmp-item-center mat-icon.power-fail{font-size:16px;width:16px;height:16px}}.dmp-item-list .dmp-item-slider{display:flex;align-items:center;width:100%;margin-top:4px;margin-bottom:4px}.dmp-item-list .dmp-item-slider input[type=range]{width:100%;height:4px;-webkit-appearance:none;background:#fff3;border-radius:2px;outline:none;cursor:pointer}.dmp-item-list .dmp-item-slider input[type=range]::-webkit-slider-thumb{-webkit-appearance:none;width:12px;height:12px;border-radius:50%;background:#fff;cursor:pointer;transition:background .2s ease}.dmp-item-list .dmp-item-slider input[type=range]::-webkit-slider-thumb:hover{background:#6ccb78}.dmp-item-list .dmp-item-slider input[type=range]::-moz-range-thumb{width:12px;height:12px;border-radius:50%;background:#fff;cursor:pointer;border:none}.dmp-item-list .dmp-item-slider input[type=range]::-moz-range-thumb:hover{background:#6ccb78}.dmp-item-list ::ng-deep .dmp-item{cursor:move;width:100%;display:flex;flex-direction:column;align-items:stretch}::ng-deep .dmp-item-list mat-expansion-panel{box-shadow:none!important}.group-header{display:flex;color:#fff;padding:8px 14px;font-weight:600;background:#ffffff08}.group-header mat-icon{margin-left:10px;cursor:pointer;color:#bdc1c3cc;transition:color .2s ease}.group-header mat-icon:hover{color:#6ccb78}.layer-selector-body-wrapper{position:absolute;top:0!important;left:0!important;margin:0!important;z-index:1000;box-sizing:border-box;display:flex;flex-direction:column;transition:width .3s ease,max-width .3s ease;border-top-left-radius:5px;border-top-right-radius:5px;box-shadow:0 2px 10px #0000001a;border-bottom-left-radius:5px!important;border-bottom-right-radius:5px!important}.layer-selector-body-wrapper.cdk-drag-dragging{opacity:.8;cursor:move;z-index:1001}.layer-selector-body-wrapper:not(.collapsed) .drag-handle-icons{justify-content:space-between}.layer-selector-body-wrapper:not(.collapsed) .drag-handle-icons .icon-left{order:1;margin-right:auto}.layer-selector-body-wrapper:not(.collapsed) .drag-handle-icons .toggle-icon{order:3}.layer-selector-body-wrapper.collapsed .layer-selector-body{display:none}.layer-selector-body-wrapper.collapsed .drag-handle-selector{width:100%;min-width:100%;box-sizing:border-box;border-bottom-left-radius:5px!important;border-bottom-right-radius:5px!important}.layer-selector-body-wrapper.collapsed .drag-handle-selector .drag-handle-content{width:100%}.layer-selector-body-wrapper.collapsed .drag-handle-selector .drag-handle-content .drag-handle-icons{width:100%;justify-content:space-between;gap:6px}.layer-selector-body-wrapper.collapsed .drag-handle-selector .drag-handle-content .drag-handle-icons mat-icon{font-size:18px!important;flex-shrink:0}.layer-selector-body-wrapper.collapsed .drag-handle-selector .drag-handle-content .drag-handle-icons mat-icon.icon-left{cursor:default!important}.layer-selector-body-wrapper.collapsed .drag-handle-selector .drag-handle-content .drag-handle-icons mat-icon.toggle-icon{cursor:pointer!important}.layer-selector-body-wrapper.collapsed .drag-handle-selector .drag-handle-content .drag-handle-icons mat-icon.toggle-icon:hover{color:#d3d3d3!important}@media (max-width: 767px){.layer-selector-body-wrapper{width:calc(100vw - 7em);max-width:calc(100vw - 7em);min-width:unset;left:.5em}.layer-selector-body-wrapper.collapsed{width:90px!important;max-width:90px!important;min-width:90px!important}}@media (min-width: 768px) and (max-width: 1024px){.layer-selector-body-wrapper{width:280px;max-width:280px;min-width:280px}.layer-selector-body-wrapper.collapsed{width:90px!important;max-width:90px!important;min-width:90px!important}}.drag-handle-selector{display:flex;justify-content:flex-end;border-radius:5px 5px 0 0;padding:0 2px;cursor:move}.drag-handle-content,.drag-handle-icons{display:flex;align-items:center;width:100%}.drag-handle-icons mat-icon{font-size:18px;transition:all .2s ease;display:flex;align-items:center;justify-content:center;flex-shrink:0}.icon-left{cursor:default!important}.toggle-icon{cursor:pointer!important}.toggle-icon:hover{color:#d3d3d3!important}::ng-deep .layer-selector-body{position:relative;left:auto;right:auto;bottom:auto;z-index:auto;width:100%;max-width:100%;max-height:610px;min-height:120px;overflow-y:auto;border-radius:0 0 5px 5px!important}::ng-deep .layer-selector-body .mat-expansion-panel-header-title{gap:6px;overflow:hidden;min-width:0}::ng-deep .layer-selector-body::-webkit-scrollbar{width:12px}::ng-deep .layer-selector-body::-webkit-scrollbar-track{background:#757474;border-radius:8px}::ng-deep .layer-selector-body::-webkit-scrollbar-thumb{background:#1a1c1f;border-radius:8px;border:2px solid #2a2c30}::ng-deep .layer-selector-body::-webkit-scrollbar-thumb:hover{background:#0f1012}::ng-deep .layer-selector-body::-webkit-scrollbar-button{width:12px;height:16px;background:#2a2c30;border:1px solid #1a1c1f}::ng-deep .layer-selector-body::-webkit-scrollbar-button:vertical:decrement{background:#2a2c30 url(\"data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 12 12'%3E%3Cpath fill='%23ffffff' d='M6 4l-4 4h8z'/%3E%3C/svg%3E\") no-repeat center;border-radius:8px 8px 0 0}::ng-deep .layer-selector-body::-webkit-scrollbar-button:vertical:decrement:hover{background-color:#1a1c1f}::ng-deep .layer-selector-body::-webkit-scrollbar-button:vertical:increment{background:#2a2c30 url(\"data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 12 12'%3E%3Cpath fill='%23ffffff' d='M6 8l4-4H2z'/%3E%3C/svg%3E\") no-repeat center;border-radius:0 0 8px 8px}::ng-deep .layer-selector-body::-webkit-scrollbar-button:vertical:increment:hover{background-color:#1a1c1f}@media (max-width: 767px){::ng-deep .layer-selector-body{width:100%;max-height:70vh;min-height:140px}}@media (min-width: 768px) and (max-width: 1024px){::ng-deep .layer-selector-body{width:100%;max-width:100%;max-height:76vh;min-height:110px}}::ng-deep .layer-selector-body .search-section{display:flex;padding:12px 12px 8px;justify-content:center;align-items:center;gap:8px}@media (max-width: 767px){::ng-deep .layer-selector-body .search-section{padding:8px 8px 4px;gap:4px}}::ng-deep .layer-selector-body .search-section .search-field-wrapper{flex:1;display:flex;flex-direction:column;min-width:0}::ng-deep .layer-selector-body .search-section .search-label{color:#fff}::ng-deep .layer-selector-body .search-section mat-form-field{flex:1}::ng-deep .layer-selector-body .search-section mat-form-field .search-icon{color:#fff}::ng-deep .layer-selector-body .search-section mat-form-field ::ng-deep .mat-mdc-form-field-focus-overlay{background-color:transparent}::ng-deep .layer-selector-body .search-section>mat-icon{color:#fff;cursor:pointer;margin-top:0;transition:color .2s ease}::ng-deep .layer-selector-body .search-section>mat-icon:hover{color:#d3d3d3}@media (max-width: 767px){::ng-deep .layer-selector-body .item-list{padding:4px;max-height:calc(60vh - 80px)}}@media (min-width: 768px) and (max-width: 1024px){::ng-deep .layer-selector-body .item-list{max-height:calc(77vh - 78px)}}::ng-deep .layer-selector-body .item-list .group{overflow:hidden;box-shadow:none}::ng-deep .layer-selector-body .item-list .group>mat-expansion-panel{background:transparent!important;box-shadow:none!important;margin-bottom:4px}@media (max-width: 767px){::ng-deep .layer-selector-body .item-list .group>mat-expansion-panel .mat-expansion-panel-header{padding:0 16px;height:40px!important}}::ng-deep .layer-selector-body .item-list .group>mat-expansion-panel .mat-expansion-panel-header .mat-panel-title{display:flex;align-items:center;gap:6px;font-weight:600!important;color:#bdc1c3cc!important;transition:color .2s ease;cursor:pointer;overflow:hidden;min-width:0}@media (max-width: 767px){::ng-deep .layer-selector-body .item-list .group>mat-expansion-panel .mat-expansion-panel-header .mat-panel-title{gap:4px;font-size:11px}}::ng-deep .layer-selector-body .item-list .group>mat-expansion-panel .mat-expansion-panel-header .mat-panel-title .panel-title{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;min-width:0}::ng-deep .layer-selector-body .item-list .group>mat-expansion-panel .mat-expansion-panel-header .mat-panel-title mat-icon{color:#bdc1c3cc;font-size:16px;width:16px;height:16px;transition:all .2s ease;flex-shrink:0}@media (max-width: 767px){::ng-deep .layer-selector-body .item-list .group>mat-expansion-panel .mat-expansion-panel-header .mat-panel-title mat-icon{font-size:14px;width:14px;height:14px}}::ng-deep .layer-selector-body .item-list .group>mat-expansion-panel .mat-expansion-panel-header .mat-panel-title mat-icon.power-on{color:#6ccb78;cursor:pointer}::ng-deep .layer-selector-body .item-list .group>mat-expansion-panel .mat-expansion-panel-header .mat-panel-title mat-icon.power-on:hover{color:#45a049}::ng-deep .layer-selector-body .item-list .group>mat-expansion-panel .mat-expansion-panel-header .mat-panel-title mat-icon.power-off{cursor:pointer;color:#bdc1c3cc;font-size:24px;height:24px;width:24px}::ng-deep .layer-selector-body .item-list .group>mat-expansion-panel .mat-expansion-panel-header .mat-panel-title mat-icon.power-off:hover{color:#d3d3d3}::ng-deep .layer-selector-body .item-list .group>mat-expansion-panel .mat-expansion-panel-header .mat-panel-title mat-icon.power-fail{color:#bdc1c3cc}::ng-deep .layer-selector-body .item-list .group>mat-expansion-panel .mat-expansion-panel-content{background:#0003}@media (max-width: 767px){::ng-deep .layer-selector-body .item-list .group>mat-expansion-panel .mat-expansion-panel-content .mat-expansion-panel-body{padding:2px 0 2px 12px}}::ng-deep .layer-selector-body .item-list .group .item-list{padding:0}::ng-deep .layer-selector-body .item-list .group .item-list mat-expansion-panel{background:transparent!important;box-shadow:none!important;margin-bottom:2px}::ng-deep .layer-selector-body .item-list .group .item-list mat-expansion-panel .mat-expansion-panel-header{overflow:hidden}::ng-deep .layer-selector-body .item-list .group .item-list mat-expansion-panel .mat-expansion-panel-header .mat-content{overflow:hidden;min-width:0}::ng-deep .layer-selector-body .item-list .group .item-list mat-expansion-panel .mat-expansion-panel-content{background:#00000026}::ng-deep .layer-selector-body .item-list .group .item-list mat-expansion-panel .mat-expansion-panel-content .mat-expansion-panel-body{padding:8px 16px 12px 32px}::ng-deep .layer-selector-body .item-list .group .item-list .layer-description{font-size:12px;color:#fffc;line-height:1.5;margin-bottom:8px;margin-left:28px}::ng-deep .layer-selector-body .item-list .group .item{width:100%;box-sizing:border-box;display:flex;flex-direction:column;gap:4px;background:transparent;transition:all .2s ease;color:#fff;cursor:pointer;font-size:13px}@media (max-width: 767px){::ng-deep .layer-selector-body .item-list .group .item{font-size:11px}}::ng-deep .layer-selector-body .item-list .group .item:hover{background-color:transparent}::ng-deep .layer-selector-body .item-list .group .item .item-top-row{display:flex;align-items:center;justify-content:space-between;gap:8px;width:100%;min-width:0}::ng-deep .layer-selector-body .item-list .group .item .item-left{display:flex;align-items:center;gap:4px;flex:1;min-width:0}::ng-deep .layer-selector-body .item-list .group .item .item-left .drag-indicator{color:#ffffff80;font-size:16px;width:16px;height:16px;cursor:move;flex-shrink:0}@media (max-width: 767px){::ng-deep .layer-selector-body .item-list .group .item .item-left .drag-indicator{font-size:14px;width:14px;height:14px}}::ng-deep .layer-selector-body .item-list .group .item .item-left .layer-info{cursor:pointer;color:#e0e0de;font-size:16px;width:16px;height:16px;flex-shrink:0;transition:all .2s ease}@media (max-width: 767px){::ng-deep .layer-selector-body .item-list .group .item .item-left .layer-info{font-size:14px;width:14px;height:14px}}::ng-deep .layer-selector-body .item-list .group .item .item-left .layer-info:hover{color:#ccb913}::ng-deep .layer-selector-body .item-list .group .item .item-left span{flex:1;font-size:13px;word-wrap:break-word;word-break:break-word;overflow-wrap:break-word;white-space:normal;color:#fff;font-weight:400;min-width:0}@media (max-width: 767px){::ng-deep .layer-selector-body .item-list .group .item .item-left span{font-size:11px}}::ng-deep .layer-selector-body .item-list .group .item .item-center{display:flex;align-items:center;gap:4px;flex-shrink:0}::ng-deep .layer-selector-body .item-list .group .item .item-center .zoom-off{color:#ef4444;font-size:16px;width:16px;height:16px}@media (max-width: 767px){::ng-deep .layer-selector-body .item-list .group .item .item-center .zoom-off{font-size:14px;width:14px;height:14px}}::ng-deep .layer-selector-body .item-list .group .item .item-right{display:flex;align-items:center;gap:8px;flex-shrink:0}::ng-deep .layer-selector-body .item-list .group .item .item-right mat-icon{flex-shrink:0}::ng-deep .layer-selector-body .item-list .group .item .item-right mat-icon.power-on{color:#6ccb78;font-size:18px;width:18px;height:18px;cursor:pointer}@media (max-width: 767px){::ng-deep .layer-selector-body .item-list .group .item .item-right mat-icon.power-on{font-size:16px;width:16px;height:16px}}::ng-deep .layer-selector-body .item-list .group .item .item-right mat-icon.power-on:hover{color:#45a049}::ng-deep .layer-selector-body .item-list .group .item .item-right mat-icon.power-off{color:#bdc1c3cc;font-size:18px;width:18px;height:18px;cursor:pointer}@media (max-width: 767px){::ng-deep .layer-selector-body .item-list .group .item .item-right mat-icon.power-off{font-size:16px;width:16px;height:16px}}::ng-deep .layer-selector-body .item-list .group .item .item-right mat-icon.power-off:hover{color:#d3d3d3}::ng-deep .layer-selector-body .item-list .group .item .item-right mat-icon.power-fail{color:#bdc1c3cc;font-size:18px;width:18px;height:18px}@media (max-width: 767px){::ng-deep .layer-selector-body .item-list .group .item .item-right mat-icon.power-fail{font-size:16px;width:16px;height:16px}}::ng-deep .layer-selector-body .item-list .group .item .item-slider{display:flex;align-items:center;width:100%;margin-bottom:4px}::ng-deep .layer-selector-body .item-list .group .item .item-slider input[type=range]{width:100%;height:4px;-webkit-appearance:none;background:#fff3;border-radius:2px;outline:none;cursor:pointer}::ng-deep .layer-selector-body .item-list .group .item .item-slider input[type=range]::-webkit-slider-thumb{-webkit-appearance:none;width:12px;height:12px;border-radius:50%;background:#fff;cursor:pointer;transition:background .2s ease}::ng-deep .layer-selector-body .item-list .group .item .item-slider input[type=range]::-webkit-slider-thumb:hover{background:#6ccb78}::ng-deep .layer-selector-body .item-list .group .item .item-slider input[type=range]::-moz-range-thumb{width:12px;height:12px;border-radius:50%;background:#fff;cursor:pointer;border:none}::ng-deep .layer-selector-body .item-list .group .item .item-slider input[type=range]::-moz-range-thumb:hover{background:#6ccb78}::ng-deep .layer-selector-body-wrapper .result-title{color:#fff}::ng-deep .layer-selector-body-wrapper .mat-expansion-panel:not([class*=mat-elevation-z]){box-shadow:none!important}::ng-deep .layer-selector-body-wrapper .mat-expansion-panel-header.mat-expanded:focus,::ng-deep .layer-selector-body-wrapper .mat-expansion-panel-header.mat-expanded:hover{background:inherit!important}::ng-deep .layer-selector-body-wrapper .show-layer-highlight{font-size:18px;height:18px;width:18px}::ng-deep .layer-selector-body-wrapper .dmp-item{cursor:move;width:100%}::ng-deep .layer-selector-body-wrapper .dmp-search-panel .mat-expansion-panel-header.mat-expanded:focus,::ng-deep .layer-selector-body-wrapper .dmp-search-panel .mat-expansion-panel-header.mat-expanded:hover,::ng-deep .layer-selector-body-wrapper .dmp-dialog-content .mat-expansion-panel-header.mat-expanded:focus,::ng-deep .layer-selector-body-wrapper .dmp-dialog-content .mat-expansion-panel-header.mat-expanded:hover{background:#ffffff26!important}::ng-deep .layer-selector-body-wrapper .dmp-search-panel .mat-expansion-panel:not([class*=mat-elevation-z]),::ng-deep .layer-selector-body-wrapper .dmp-dialog-content .mat-expansion-panel:not([class*=mat-elevation-z]){box-shadow:none!important}::ng-deep .layer-selector-body-wrapper .dmp-search-panel .mat-expansion-indicator:after,::ng-deep .layer-selector-body-wrapper .dmp-dialog-content .mat-expansion-indicator:after{color:#fff!important;border-color:#fff!important}::ng-deep .layer-selector-body-wrapper mat-expansion-panel .mat-expansion-panel-content .mat-expansion-panel-body{padding-left:0!important;padding-right:0!important;box-sizing:border-box}@media (max-width: 767px){::ng-deep .layer-selector-body-wrapper mat-expansion-panel .mat-expansion-panel-content .mat-expansion-panel-body{padding-left:12px!important;padding-right:12px!important}}.cdk-drag-preview{box-sizing:border-box;border-radius:5px;box-shadow:0 5px 15px #00000026;background:#4c4d51;padding:8px 12px;color:#fff;display:flex;align-items:center;gap:8px}.cdk-drag-preview mat-icon{color:#fff}.cdk-drag-animating,.cdk-drop-list-dragging .cdk-drag{transition:transform .25s cubic-bezier(0,0,.2,1)}.cdk-drop-list-dragging .cdk-drag{transform:translateZ(0)!important}.power-on{color:#6ccb78!important;font-size:24px;width:24px;height:24px}.power-off{cursor:pointer;color:#bdc1c3cc!important}.power-fail{color:#bdc1c3cc!important}.add-option{color:#6ccb78!important}.add-option:hover{color:#37923a!important}::ng-deep .lightbulb{color:#dfca0e;width:18px;height:18px;font-size:18px}::ng-deep .arrow-up-layer{color:#fff;width:18px;height:18px;font-size:18px}::ng-deep .mdc-text-field--outlined{overflow:hidden!important}::ng-deep .drag-indicator{cursor:move!important}\n"], dependencies: [{ kind: "ngmodule", type: MatFormFieldModule }, { kind: "component", type: i1$1.MatFormField, selector: "mat-form-field", inputs: ["hideRequiredMarker", "color", "floatLabel", "appearance", "subscriptSizing", "hintLabel"], exportAs: ["matFormField"] }, { kind: "directive", type: i1$1.MatPrefix, selector: "[matPrefix], [matIconPrefix], [matTextPrefix]", inputs: ["matTextPrefix"] }, { kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1$2.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1$2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "ngmodule", type: MatIconModule }, { kind: "component", type: i2.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i1$3.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i1$3.RangeValueAccessor, selector: "input[type=range][formControlName],input[type=range][formControl],input[type=range][ngModel]" }, { kind: "directive", type: i1$3.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1$3.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "ngmodule", type: DragDropModule }, { kind: "directive", type: i5.CdkDropList, selector: "[cdkDropList], cdk-drop-list", inputs: ["cdkDropListConnectedTo", "cdkDropListData", "cdkDropListOrientation", "id", "cdkDropListLockAxis", "cdkDropListDisabled", "cdkDropListSortingDisabled", "cdkDropListEnterPredicate", "cdkDropListSortPredicate", "cdkDropListAutoScrollDisabled", "cdkDropListAutoScrollStep", "cdkDropListElementContainer"], outputs: ["cdkDropListDropped", "cdkDropListEntered", "cdkDropListExited", "cdkDropListSorted"], exportAs: ["cdkDropList"] }, { kind: "directive", type: i5.CdkDrag, selector: "[cdkDrag]", inputs: ["cdkDragData", "cdkDragLockAxis", "cdkDragRootElement", "cdkDragBoundary", "cdkDragStartDelay", "cdkDragFreeDragPosition", "cdkDragDisabled", "cdkDragConstrainPosition", "cdkDragPreviewClass", "cdkDragPreviewContainer", "cdkDragScale"], outputs: ["cdkDragStarted", "cdkDragReleased", "cdkDragEnded", "cdkDragEntered", "cdkDragExited", "cdkDragDropped", "cdkDragMoved"], exportAs: ["cdkDrag"] }, { kind: "directive", type: i5.CdkDragHandle, selector: "[cdkDragHandle]", inputs: ["cdkDragHandleDisabled"] }, { kind: "directive", type: i5.CdkDragPreview, selector: "ng-template[cdkDragPreview]", inputs: ["data", "matchSize"] }, { kind: "ngmodule", type: MatExpansionModule }, { kind: "component", type: i6.MatExpansionPanel, selector: "mat-expansion-panel", inputs: ["hideToggle", "togglePosition"], outputs: ["afterExpand", "afterCollapse"], exportAs: ["matExpansionPanel"] }, { kind: "component", type: i6.MatExpansionPanelHeader, selector: "mat-expansion-panel-header", inputs: ["expandedHeight", "collapsedHeight", "tabIndex"] }, { kind: "directive", type: i6.MatExpansionPanelTitle, selector: "mat-panel-title" }, { kind: "ngmodule", type: MatInputModule }, { kind: "directive", type: i7.MatInput, selector: "input[matInput], textarea[matInput], select[matNativeControl], input[matNativeControl], textarea[matNativeControl]", inputs: ["disabled", "id", "placeholder", "name", "required", "type", "errorStateMatcher", "aria-describedby", "value", "readonly", "disabledInteractive"], exportAs: ["matInput"] }, { kind: "ngmodule", type: MatTooltipModule }, { kind: "directive", type: i8.MatTooltip, selector: "[matTooltip]", inputs: ["matTooltipPosition", "matTooltipPositionAtOrigin", "matTooltipDisabled", "matTooltipShowDelay", "matTooltipHideDelay", "matTooltipTouchGestures", "matTooltip", "matTooltipClass"], exportAs: ["matTooltip"] }, { kind: "ngmodule", type: MatOptionModule }, { kind: "ngmodule", type: MatDialogModule }, { kind: "directive", type: i1$4.MatDialogContent, selector: "[mat-dialog-content], mat-dialog-content, [matDialogContent]" }] });
1233
1233
  }
1234
1234
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.15", ngImport: i0, type: LayerSelectorComponent, decorators: [{
1235
1235
  type: Component,
1236
1236
  args: [{ selector: 'lib-layer-selector', imports: [MatFormFieldModule, CommonModule, MatIconModule, FormsModule, DragDropModule,
1237
- MatExpansionModule, MatInputModule, MatTooltipModule, MatOptionModule, MatDialogModule, MatDialogContent, MatDialogActions], template: "<div\n #layerSelectorBody\n class=\"layer-selector-body-wrapper global-wrapper-container\"\n cdkDrag\n cdkDragBoundary=\".map-container\"\n [cdkDragFreeDragPosition]=\"layerSelectorDragPosition\"\n (cdkDragEnded)=\"onLayerSelectorDragEnded($event)\"\n [class.collapsed]=\"collapsed\">\n\n <div class=\"drag-handle-selector\" cdkDragHandle>\n <div class=\"drag-handle-content\">\n <div class=\"drag-handle-icons\">\n <mat-icon \n class=\"icon-left\" \n matTooltip=\"Lag\" \n [matTooltipShowDelay]=\"500\"\n [matTooltipHideDelay]=\"100\" \n matTooltipPosition=\"above\">\n layers\n </mat-icon>\n <mat-icon class=\"toggle-icon\" (click)=\"toggleLayerSelector()\">\n {{ collapsed ? 'flip_to_front' : 'remove' }}\n </mat-icon>\n </div>\n </div>\n </div>\n\n <div class=\"ol-unselectable ol-control layer-selector-body\" *ngIf=\"!collapsed\">\n <div class=\"search-section\">\n <div class=\"search-field-wrapper\">\n <label class=\"search-label\">Filtrer</label>\n <mat-form-field appearance=\"outline\" class=\"w-full\">\n <mat-icon matPrefix class=\"search-icon\">search</mat-icon>\n <input \n matInput \n type=\"text\" \n [(ngModel)]=\"searchText\" \n (ngModelChange)=\"filterChanged()\"\n />\n </mat-form-field>\n </div>\n <mat-icon matTooltip=\"Nulstil\" \n [matTooltipShowDelay]=\"200\"\n [matTooltipHideDelay]=\"300\" (click)=\"clearSearchText()\">\n replay</mat-icon>\n </div>\n <div\n cdkDropList\n [cdkDropListData]=\"filteredLayerGroups\"\n (cdkDropListDropped)=\"dropGroup($event, filteredLayerGroups)\"\n class=\"item-list\">\n @for (group of filteredLayerGroups; track group.id; let gIndex = $index) {\n <div class=\"group\" cdkDrag>\n <mat-expansion-panel [(expanded)]=\"group.expanded\">\n <mat-expansion-panel-header>\n <mat-panel-title>\n <mat-icon class=\"drag-indicator\" cdkDragHandle>drag_indicator</mat-icon>\n <span class=\"panel-title\">{{ group.name }}</span>\n ({{ group.noOfVisibleLayers }}/{{ group.layers.length }})\n @if (group.visible) {\n <mat-icon (click)=\"toggleGroup($event, group)\" class=\"power-on\" \n matTooltip=\"Sluk\" \n [matTooltipShowDelay]=\"200\"\n [matTooltipHideDelay]=\"300\" \n matTooltipPosition=\"above\">power_settings_new\n </mat-icon> \n }\n @if (!group.visible) {\n <mat-icon (click)=\"toggleGroup($event, group)\" class=\"power-off\"\n matTooltip=\"T\u00E6nd\" \n [matTooltipShowDelay]=\"200\"\n [matTooltipHideDelay]=\"300\" \n matTooltipPosition=\"above\">power_settings_new\n </mat-icon>\n }\n </mat-panel-title>\n </mat-expansion-panel-header>\n\n <div\n cdkDropList\n [cdkDropListData]=\"group.layers\"\n (cdkDropListDropped)=\"dropLayer($event, group)\"\n class=\"item-list\">\n @for (layer of group.layers; track layer.id; let iIndex = $index) {\n <mat-expansion-panel expanded=\"false\" [disabled]=\"!layer.description\"> \n <mat-expansion-panel-header>\n <mat-panel-title>\n <div class=\"item\" cdkDrag>\n <div class=\"item-top-row\">\n <div class=\"item-left\">\n <mat-icon class=\"drag-indicator\" cdkDragHandle>drag_indicator</mat-icon>\n <span>{{ layer.name }}</span>\n <mat-icon></mat-icon>\n </div>\n <div class=\"item-center\">\n @if (layer.maxZoom < currentZoomLevel || layer.minZoom > currentZoomLevel) {\n <mat-icon class=\"zoom-off\"\n matTooltip=\"Lag vises ikke pga zoom niveau\"\n [matTooltipShowDelay]=\"200\"\n [matTooltipHideDelay]=\"300\"\n matTooltipPosition=\"above\">browser_not_supported\n </mat-icon>\n }\n @if (layer.hasErrors) {\n <mat-icon class=\"zoom-off\"\n matTooltip=\"Fejl\"\n [matTooltipShowDelay]=\"200\"\n [matTooltipHideDelay]=\"300\"\n matTooltipPosition=\"above\">priority_high\n </mat-icon>\n }\n </div>\n <div class=\"item-right\">\n @if(layer.infoUrl) {\n <mat-icon\n class=\"layer-info\"\n matTooltip=\"Yderligere laginfo\"\n [matTooltipShowDelay]=\"200\"\n [matTooltipHideDelay]=\"300\"\n (click)=\"openUrl(layer.infoUrl)\"\n matTooltipPosition=\"above\">info\n </mat-icon>\n }\n @if (!layer.hasErrors && layer.visible) {\n <mat-icon (click)=\"toggleLayer(layer.id, $event)\" class=\"power-on\"\n matTooltip=\"Sluk\"\n [matTooltipShowDelay]=\"200\"\n [matTooltipHideDelay]=\"300\"\n matTooltipPosition=\"above\">power_settings_new\n </mat-icon>\n }\n @if (!layer.hasErrors && !layer.visible) {\n <mat-icon (click)=\"toggleLayer(layer.id, $event)\" class=\"power-off\"\n matTooltip=\"T\u00E6nd\"\n [matTooltipShowDelay]=\"200\"\n [matTooltipHideDelay]=\"300\"\n matTooltipPosition=\"above\">power_settings_new\n </mat-icon>\n }\n @if (layer.hasErrors) {\n <mat-icon class=\"power-fail\">power_settings_new</mat-icon>\n }\n </div>\n </div>\n <div class=\"item-slider\">\n <input \n type=\"range\"\n min=\"0\"\n max=\"1\"\n step=\"0.05\"\n [(ngModel)]=\"layer.opacity\"\n (click)=\"stopDrag($event)\"\n (input)=\"updateOpacity(layer.id, layer.opacity)\"\n (mousedown)=\"stopDrag($event)\"\n (touchstart)=\"stopDrag($event)\"\n (pointerdown)=\"stopDrag($event)\"\n >\n </div>\n <div *cdkDragPreview><span class=\"panel-title\">{{ layer.name }} </span></div>\n </div>\n </mat-panel-title>\n </mat-expansion-panel-header>\n <div class=\"layer-description\">{{ layer.description }}</div>\n @if (showLegend) {\n <img [src]=\"legendUrl\" class=\"legend-thumbnail\"/>\n }\n </mat-expansion-panel>\n }\n </div>\n </mat-expansion-panel>\n <div *cdkDragPreview><span class=\"panel-title\">{{ group.name }} </span></div>\n </div>\n }\n </div>\n <div class=\"group-header\">Mine Temaer\n <mat-icon (click)=\"toggleDmpSearch(true)\"\n class=\"power-on\"\n matTooltip=\"S\u00F8g\" \n [matTooltipShowDelay]=\"200\"\n [matTooltipHideDelay]=\"300\" \n matTooltipPosition=\"above\">add\n </mat-icon>\n </div>\n @if (filteredDmpLayers.length > 0) {\n <div class=\"dmp-item-list\" cdkDropList\n [cdkDropListData]=\"filteredDmpLayers\"\n (cdkDropListDropped)=\"dropDmpLayer($event)\">\n @for (layer of filteredDmpLayers; track layer.datasetId; let iIndex = $index) {\n <mat-expansion-panel expanded=\"false\" [disabled]=\"true\"> \n <mat-expansion-panel-header>\n <mat-panel-title>\n <div class=\"dmp-item\" cdkDrag>\n <div class=\"dmp-item-container\">\n <div class=\"dmp-item-left\">\n <mat-icon (click)=\"deleteDmpLayer(layer, $event)\" class=\"delete-icon\" \n matTooltip=\"Slet\" \n [matTooltipShowDelay]=\"200\"\n [matTooltipHideDelay]=\"300\" \n matTooltipPosition=\"above\">delete\n </mat-icon>\n <div class=\"dmp-item-title\">\n <span class=\"title-text\">{{ layer.title }}</span>\n </div>\n </div>\n \n <div class=\"dmp-item-center\">\n @if (layer.hasErrors) {\n <mat-icon class=\"zoom-off\" \n matTooltip=\"Fejl\" \n [matTooltipShowDelay]=\"200\"\n [matTooltipHideDelay]=\"300\" \n matTooltipPosition=\"above\">priority_high\n </mat-icon>\n }\n \n @if (!layer.hasErrors && layer.visible) {\n <mat-icon (click)=\"toggleLayer(layer.datasetId, $event)\" class=\"power-on\" \n matTooltip=\"Sluk\" \n [matTooltipShowDelay]=\"200\"\n [matTooltipHideDelay]=\"300\" \n matTooltipPosition=\"above\">power_settings_new\n </mat-icon>\n }\n @if (!layer.hasErrors && !layer.visible) {\n <mat-icon (click)=\"toggleLayer(layer.datasetId, $event)\" class=\"power-off\"\n matTooltip=\"T\u00E6nd\" \n [matTooltipShowDelay]=\"200\"\n [matTooltipHideDelay]=\"300\" \n matTooltipPosition=\"above\">power_settings_new\n </mat-icon>\n }\n @if (layer.hasErrors) {\n <mat-icon class=\"power-fail\">power_settings_new\n </mat-icon>\n }\n </div>\n </div>\n <div class=\"dmp-item-slider\">\n <input \n type=\"range\"\n min=\"0\"\n max=\"1\"\n step=\"0.05\"\n [(ngModel)]=\"layer.opacity\"\n (click)=\"stopDrag($event)\"\n (input)=\"updateOpacity(layer.datasetId, layer.opacity)\"\n (mousedown)=\"stopDrag($event)\"\n (touchstart)=\"stopDrag($event)\"\n (pointerdown)=\"stopDrag($event)\"\n >\n </div>\n <div *cdkDragPreview><span class=\"panel-title\">{{ layer.title }} </span></div>\n </div>\n </mat-panel-title>\n </mat-expansion-panel-header>\n </mat-expansion-panel>\n }\n </div>\n }\n <div *ngIf=\"filteredBackgroundLayerGroups && filteredBackgroundLayerGroups.length > 0\" class=\"group-header\">Baggrundskort</div>\n <div\n cdkDropList\n [cdkDropListData]=\"filteredBackgroundLayerGroups\"\n (cdkDropListDropped)=\"dropGroup($event, filteredBackgroundLayerGroups)\"\n class=\"item-list\">\n @for (group of filteredBackgroundLayerGroups; track group.id; let gIndex = $index) {\n <div class=\"group\" cdkDrag>\n <mat-expansion-panel [(expanded)]=\"group.expanded\">\n <mat-expansion-panel-header>\n <mat-panel-title>\n @if (group.expanded) {\n <mat-icon class=\"arrow-up-layer\">arrow_upward</mat-icon>\n }\n @if (!group.expanded) {\n <mat-icon>arrow_downward</mat-icon> \n }\n {{ group.name }}\n ({{ group.noOfVisibleLayers }}/{{ group.layers.length }})\n @if (group.visible) {\n <mat-icon (click)=\"toggleGroup($event, group)\" class=\"power-on\" \n matTooltip=\"Sluk\" \n [matTooltipShowDelay]=\"200\"\n [matTooltipHideDelay]=\"300\" \n matTooltipPosition=\"above\">power_settings_new\n </mat-icon> \n }\n @if (!group.visible) {\n <mat-icon (click)=\"toggleGroup($event, group)\" class=\"power-off\"\n matTooltip=\"T\u00E6nd\" \n [matTooltipShowDelay]=\"200\"\n [matTooltipHideDelay]=\"300\" \n matTooltipPosition=\"above\">power_settings_new\n </mat-icon>\n }\n </mat-panel-title>\n </mat-expansion-panel-header>\n\n <div\n cdkDropList\n [cdkDropListData]=\"group.layers\"\n (cdkDropListDropped)=\"dropLayer($event, group)\"\n class=\"item-list\">\n @for (layer of group.layers; track layer.id; let iIndex = $index) {\n <mat-expansion-panel expanded=\"false\" [disabled]=\"!layer.description\"> \n <mat-expansion-panel-header>\n <mat-panel-title>\n <div class=\"item\" cdkDrag>\n <div class=\"item-left\">\n <mat-icon class=\"drag-indicator\">drag_indicator</mat-icon>\n <span>{{ layer.name }}</span>\n </div>\n <div class=\"item-center\">\n @if (layer.maxZoom < currentZoomLevel || layer.minZoom > currentZoomLevel) {\n <mat-icon class=\"zoom-off\" \n matTooltip=\"Zoom\" \n [matTooltipShowDelay]=\"200\"\n [matTooltipHideDelay]=\"300\" \n matTooltipPosition=\"above\">browser_not_supported\n </mat-icon>\n }\n @if (layer.hasErrors) {\n <mat-icon class=\"zoom-off\" \n matTooltip=\"Fejl\" \n [matTooltipShowDelay]=\"200\"\n [matTooltipHideDelay]=\"300\" \n matTooltipPosition=\"above\">priority_high\n </mat-icon>\n }\n </div>\n <div class=\"item-right\">\n @if (!layer.hasErrors && layer.visible) {\n <mat-icon (click)=\"toggleLayer(layer.id, $event)\" class=\"power-on\" \n matTooltip=\"Sluk\" \n [matTooltipShowDelay]=\"200\"\n [matTooltipHideDelay]=\"300\" \n matTooltipPosition=\"above\">power_settings_new\n </mat-icon>\n }\n @if (!layer.hasErrors && !layer.visible) {\n <mat-icon (click)=\"toggleLayer(layer.id, $event)\" class=\"power-off\"\n matTooltip=\"T\u00E6nd\" \n [matTooltipShowDelay]=\"200\"\n [matTooltipHideDelay]=\"300\" \n matTooltipPosition=\"above\">power_settings_new\n </mat-icon>\n }\n @if (layer.hasErrors) {\n <mat-icon class=\"power-fail\">power_settings_new\n </mat-icon>\n }\n <input \n type=\"range\"\n min=\"0\"\n max=\"1\"\n step=\"0.05\"\n [(ngModel)]=\"layer.opacity\"\n (click)=\"stopDrag($event)\"\n (input)=\"updateOpacity(layer.id, layer.opacity)\"\n (mousedown)=\"stopDrag($event)\"\n (touchstart)=\"stopDrag($event)\"\n (pointerdown)=\"stopDrag($event)\"\n >\n </div>\n <div *cdkDragPreview><span class=\"panel-title\">{{ layer.name }} </span></div>\n </div>\n </mat-panel-title>\n </mat-expansion-panel-header>\n <div class=\"layer-description\">{{ layer.description }}</div>\n @if (showLegend) {\n <img [src]=\"legendUrl\" class=\"legend-thumbnail\"/>\n }\n </mat-expansion-panel>\n }\n </div>\n </mat-expansion-panel>\n <div *cdkDragPreview><span class=\"panel-title\">{{ group.name }} </span></div>\n </div>\n }\n </div>\n </div>\n <ng-template #dmpDialog>\n @if (dmpSearchMode) {\n <mat-dialog-content>\n <div class=\"dialog-header\">\n <div class=\"search-section\">\n <div class=\"search-field-wrapper\">\n <label class=\"search-label\">S\u00F8g</label>\n <mat-form-field appearance=\"outline\" class=\"w-full\">\n <mat-icon matPrefix class=\"search-icon\">search</mat-icon>\n <input \n matInput \n type=\"text\" \n [(ngModel)]=\"dmpSearchText\" \n (ngModelChange)=\"searchDmp()\"\n />\n </mat-form-field>\n </div>\n <mat-icon (click)=\"clearDmpSearchText()\" \n matTooltip=\"Nulstil\" \n [matTooltipShowDelay]=\"200\"\n [matTooltipHideDelay]=\"300\"\n class=\"undo-icon\" >undo\n </mat-icon>\n </div>\n <mat-icon \n class=\"close-button\" \n (click)=\"toggleDmpSearch(false)\"\n matTooltip=\"Luk\" \n [matTooltipShowDelay]=\"200\"\n [matTooltipHideDelay]=\"300\" \n matTooltipPosition=\"left\">\n close\n </mat-icon>\n </div>\n </mat-dialog-content>\n }\n\n @if (dmpLayerResults.length > 0) {\n <div class=\"dmp-search-panel global-wrapper-container\">\n <div *ngFor=\"let result of dmpLayerResults\" [attr.data-value]=\"result\" class=\"search-result-option\">\n <mat-expansion-panel expanded=\"false\"> \n <mat-expansion-panel-header>\n <mat-panel-title>\n <span class=\"result-title\">{{ result.title }}</span>\n </mat-panel-title>\n </mat-expansion-panel-header>\n <div><span class=\"field-label\">Status:</span><span class=\"field-value\"> {{ result.availability }}</span></div>\n <div><span class=\"field-label\">Kategori:</span><span class=\"field-value\"> {{ result.category }}</span></div>\n <div><span class=\"field-label\">Beskrivelse:</span><span class=\"field-value\"> {{ result.description }}</span></div>\n <div><span class=\"field-label\">Tags:</span><span class=\"field-value\"> {{ result.tags?.join(', ') }}</span></div>\n <div *ngIf=\"result.metaDataUrl\">\n <span class=\"field-label\">Metadata:</span>\n <a [href]=\"result.metaDataUrl\" target=\"_blank\" rel=\"noopener noreferrer\" class=\"open-link\">\n Vis metadata\n <mat-icon class=\"link-icon\">open_in_new</mat-icon>\n </a>\n </div>\n <div *ngIf=\"result.license && result.license.url\">\n <span class=\"field-label\">Licens:</span>\n <a [href]=\"result.license.url\" target=\"_blank\" rel=\"noopener noreferrer\" class=\"open-link\">\n {{ result.license.title }}\n <mat-icon class=\"link-icon\">open_in_new</mat-icon>\n </a>\n </div>\n <div *ngIf=\"result.dataLiabilityAgreement && result.dataLiabilityAgreement.url\">\n <span class=\"field-label\">Dataansvarsaftale:</span>\n <a [href]=\"result.dataLiabilityAgreement.url\" target=\"_blank\" rel=\"noopener noreferrer\" class=\"open-link\">\n {{ result.dataLiabilityAgreement.title }}\n <mat-icon class=\"link-icon\">open_in_new</mat-icon>\n </a>\n </div>\n <div class=\"add-layer-section\">\n <span class=\"field-label\">Tilf\u00F8j {{ result.serviceType }}:</span>\n <mat-icon (click)=\"addDmpLayer(result)\" class=\"add-option\"\n matTooltip=\"Tilf\u00F8j\" \n [matTooltipShowDelay]=\"200\"\n [matTooltipHideDelay]=\"300\" \n matTooltipPosition=\"above\">add\n </mat-icon>\n </div>\n </mat-expansion-panel>\n </div>\n </div>}\n </ng-template>\n</div>", styles: [".layer-info{cursor:pointer}.legend-thumbnail{max-width:200px;max-height:200px;width:auto;height:auto;border:2px solid #dee2e6;padding:6px}::ng-deep .dmp-dialog-content mat-dialog-content .search-section{display:flex;align-items:center;gap:6px}::ng-deep .dmp-dialog-content mat-dialog-content .search-section .undo-icon{color:#fff!important;cursor:pointer;flex-shrink:0}::ng-deep .dmp-dialog-content mat-dialog-content .search-section .undo-icon:hover{color:#d3d3d3!important}::ng-deep .dmp-dialog-content mat-dialog-content .search-section .search-field-wrapper{flex:1;display:flex;flex-direction:column}::ng-deep .dmp-dialog-content mat-dialog-content .search-section .search-label{color:#fff}::ng-deep .dmp-dialog-content mat-dialog-content .search-section mat-form-field{flex:1}::ng-deep .dmp-dialog-content mat-dialog-content .search-section mat-form-field .search-icon{color:#fff}::ng-deep .dmp-dialog-content mat-dialog-content .search-section mat-form-field .mdc-notched-outline .mdc-notched-outline__leading,::ng-deep .dmp-dialog-content mat-dialog-content .search-section mat-form-field .mdc-notched-outline .mdc-notched-outline__notch,::ng-deep .dmp-dialog-content mat-dialog-content .search-section mat-form-field .mdc-notched-outline .mdc-notched-outline__trailing{border-color:#dee2e6!important;border-width:1px!important}::ng-deep .dmp-dialog-content mat-dialog-content .search-section mat-form-field.mat-focused ::ng-deep .mdc-notched-outline .mdc-notched-outline__leading,::ng-deep .dmp-dialog-content mat-dialog-content .search-section mat-form-field.mat-focused ::ng-deep .mdc-notched-outline .mdc-notched-outline__notch,::ng-deep .dmp-dialog-content mat-dialog-content .search-section mat-form-field.mat-focused ::ng-deep .mdc-notched-outline .mdc-notched-outline__trailing{border-color:#d1d5db!important;border-width:1px!important;box-shadow:0 0 0 3px #d1d5db40!important}::ng-deep .dmp-dialog-content mat-dialog-actions{display:none}::ng-deep .dmp-dialog-content .search-result-option{padding:0!important}::ng-deep .dmp-dialog-content .search-result-option mat-expansion-panel{box-shadow:none!important;margin-bottom:2px;border-radius:0!important;background:transparent!important;color:#fff}::ng-deep .dmp-dialog-content .search-result-option mat-expansion-panel .mat-expansion-panel-content{background:#0003}::ng-deep .dmp-dialog-content .search-result-option mat-expansion-panel .mat-expansion-panel-content .mat-expansion-panel-body{padding:12px 16px!important}@media (max-width: 767px){::ng-deep .dmp-dialog-content .search-result-option mat-expansion-panel .mat-expansion-panel-content .mat-expansion-panel-body{padding:10px 12px!important}}::ng-deep .dmp-dialog-content .search-result-option mat-expansion-panel .mat-expansion-panel-content .mat-expansion-panel-body>div{margin-bottom:10px;display:flex;align-items:flex-start;gap:8px;font-size:12px;line-height:1.5}::ng-deep .dmp-dialog-content .search-result-option mat-expansion-panel .mat-expansion-panel-content .mat-expansion-panel-body>div:last-child{margin-bottom:0}@media (max-width: 767px){::ng-deep .dmp-dialog-content .search-result-option mat-expansion-panel .mat-expansion-panel-content .mat-expansion-panel-body>div{font-size:11px;gap:6px}}::ng-deep .dmp-dialog-content .search-result-option mat-expansion-panel .mat-expansion-panel-content .mat-expansion-panel-body>div .field-label{color:#bdc1c3cc!important;min-width:90px;font-weight:500;flex-shrink:0;font-size:13px}@media (max-width: 767px){::ng-deep .dmp-dialog-content .search-result-option mat-expansion-panel .mat-expansion-panel-content .mat-expansion-panel-body>div .field-label{min-width:80px}}::ng-deep .dmp-dialog-content .search-result-option mat-expansion-panel .mat-expansion-panel-content .mat-expansion-panel-body>div .field-value{color:#fff!important;font-weight:300;flex:1;word-break:break-word;font-size:13px}::ng-deep .dmp-dialog-content .search-result-option mat-expansion-panel .mat-expansion-panel-content .mat-expansion-panel-body>div .open-link{color:#2e98eb!important;text-decoration:none!important;display:inline-flex;align-items:center;gap:4px}::ng-deep .dmp-dialog-content .search-result-option mat-expansion-panel .mat-expansion-panel-content .mat-expansion-panel-body>div .open-link:hover{color:#2180c9!important;text-decoration:underline!important}::ng-deep .dmp-dialog-content .search-result-option mat-expansion-panel .mat-expansion-panel-content .mat-expansion-panel-body>div .open-link .link-icon{font-size:14px;width:14px;height:14px}::ng-deep .dmp-dialog-content .search-result-option mat-expansion-panel .mat-expansion-panel-content .mat-expansion-panel-body .add-layer-section{display:flex;align-items:center;margin-top:12px;padding-top:12px;border-top:1px solid rgba(255,255,255,.1)}::ng-deep .dmp-dialog-content .search-result-option mat-expansion-panel .mat-expansion-panel-content .mat-expansion-panel-body .add-layer-section .field-label{min-width:90px}::ng-deep .dmp-dialog-content .search-result-option mat-expansion-panel .mat-expansion-panel-content .mat-expansion-panel-body .add-layer-section .add-option{color:#6ccb78!important;cursor:pointer;font-size:20px;width:20px;height:20px;transition:all .2s ease}::ng-deep .dmp-dialog-content .search-result-option mat-expansion-panel .mat-expansion-panel-content .mat-expansion-panel-body .add-layer-section .add-option:hover{color:#45a049!important;transform:scale(1.1)}.dmp-search-panel{overflow-y:scroll;max-height:300px}.dmp-search-panel::-webkit-scrollbar{width:12px}.dmp-search-panel::-webkit-scrollbar-track{background:#757474;border-radius:8px}.dmp-search-panel::-webkit-scrollbar-thumb{background:#1a1c1f;border-radius:8px;border:2px solid #2a2c30}.dmp-search-panel::-webkit-scrollbar-thumb:hover{background:#0f1012}.dmp-search-panel::-webkit-scrollbar-button{width:12px;height:16px;background:#2a2c30;border:1px solid #1a1c1f}.dmp-search-panel::-webkit-scrollbar-button:vertical:decrement{background:#2a2c30 url(\"data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 12 12'%3E%3Cpath fill='%23ffffff' d='M6 4l-4 4h8z'/%3E%3C/svg%3E\") no-repeat center;border-radius:8px 8px 0 0}.dmp-search-panel::-webkit-scrollbar-button:vertical:decrement:hover{background-color:#1a1c1f}.dmp-search-panel::-webkit-scrollbar-button:vertical:increment{background:#2a2c30 url(\"data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 12 12'%3E%3Cpath fill='%23ffffff' d='M6 8l4-4H2z'/%3E%3C/svg%3E\") no-repeat center;border-radius:0 0 8px 8px}.dmp-search-panel::-webkit-scrollbar-button:vertical:increment:hover{background-color:#1a1c1f}.dmp-search-panel .search-result-option{padding:0!important;margin-bottom:2px}.dmp-search-panel .search-result-option mat-expansion-panel{box-shadow:none!important;margin:0;border-radius:0!important;background:transparent!important}.dmp-search-panel .search-result-option mat-expansion-panel .mat-expansion-panel-content{background:#0003}.dmp-search-panel .search-result-option mat-expansion-panel .mat-expansion-panel-content .mat-expansion-panel-body{padding:12px 16px!important}@media (max-width: 767px){.dmp-search-panel .search-result-option mat-expansion-panel .mat-expansion-panel-content .mat-expansion-panel-body{padding:10px 12px!important}}.dmp-search-panel .search-result-option mat-expansion-panel .mat-expansion-panel-content .mat-expansion-panel-body>div{margin-bottom:10px;display:flex;align-items:flex-start;gap:8px;font-size:12px;line-height:1.5}.dmp-search-panel .search-result-option mat-expansion-panel .mat-expansion-panel-content .mat-expansion-panel-body>div:last-child{margin-bottom:0}@media (max-width: 767px){.dmp-search-panel .search-result-option mat-expansion-panel .mat-expansion-panel-content .mat-expansion-panel-body>div{font-size:11px;gap:6px}}.dmp-search-panel .search-result-option mat-expansion-panel .mat-expansion-panel-content .mat-expansion-panel-body>div .field-label{color:#bdc1c3cc!important;min-width:90px;font-weight:500;flex-shrink:0;font-size:13px}@media (max-width: 767px){.dmp-search-panel .search-result-option mat-expansion-panel .mat-expansion-panel-content .mat-expansion-panel-body>div .field-label{min-width:80px}}.dmp-search-panel .search-result-option mat-expansion-panel .mat-expansion-panel-content .mat-expansion-panel-body>div .field-value{color:#fff!important;font-weight:300;flex:1;word-break:break-word;font-size:13px}.dmp-search-panel .search-result-option mat-expansion-panel .mat-expansion-panel-content .mat-expansion-panel-body>div .open-link{color:#2e98eb!important;text-decoration:none!important;display:inline-flex;align-items:center;gap:4px}.dmp-search-panel .search-result-option mat-expansion-panel .mat-expansion-panel-content .mat-expansion-panel-body>div .open-link:hover{color:#2180c9!important;text-decoration:underline!important}.dmp-search-panel .search-result-option mat-expansion-panel .mat-expansion-panel-content .mat-expansion-panel-body>div .open-link .link-icon{font-size:14px;width:14px;height:14px}.dmp-search-panel .search-result-option mat-expansion-panel .mat-expansion-panel-content .mat-expansion-panel-body .add-layer-section{display:flex;align-items:center;margin-top:12px;padding-top:12px;border-top:1px solid rgba(255,255,255,.1)}.dmp-search-panel .search-result-option mat-expansion-panel .mat-expansion-panel-content .mat-expansion-panel-body .add-layer-section .field-label{min-width:90px}.dmp-search-panel .search-result-option mat-expansion-panel .mat-expansion-panel-content .mat-expansion-panel-body .add-layer-section .add-option{color:#6ccb78!important;cursor:pointer;font-size:20px;width:20px;height:20px;transition:all .2s ease}.dmp-search-panel .search-result-option mat-expansion-panel .mat-expansion-panel-content .mat-expansion-panel-body .add-layer-section .add-option:hover{color:#45a049!important;transform:scale(1.1)}.dmp-search-panel .search-result-option:first-child mat-expansion-panel .mat-expansion-panel-header{border-top-left-radius:4px!important;border-top-right-radius:4px!important}.dmp-search-panel .search-result-option:last-child mat-expansion-panel .mat-expansion-panel-header.mat-expanded{border-radius:0!important}.dmp-search-panel .search-result-option:last-child mat-expansion-panel .mat-expansion-panel-content{border-bottom-left-radius:4px!important;border-bottom-right-radius:4px!important}.dialog-header{position:relative}.dialog-header .close-button{position:absolute;top:-9px;right:-14px;color:#fff;cursor:pointer;border-radius:50%;transition:all .2s ease;font-size:18px;width:24px;height:24px;display:flex;justify-content:center;align-items:center;z-index:10;background-color:#ffffff1a}.dialog-header .close-button:hover{color:#e0d5d5}.field-label{color:#bdc1c3cc!important;margin-right:6px}.open-link{color:#2e98eb!important;text-decoration:none!important;display:inline-flex;align-items:center;gap:4px}.open-link:hover{color:#2180c9!important;text-decoration:underline!important}.field-value{color:#fff!important;font-weight:300}.add-layer-section{display:flex;align-items:center;margin-top:8px;padding-top:8px;border-top:1px solid rgba(255,255,255,.1)}.dmp-item-list .dmp-item-container{display:flex;align-items:center;width:100%;gap:12px;min-width:0}.dmp-item-list .dmp-item-container .dmp-item-left{display:flex;align-items:center;gap:8px;flex:1;min-width:0}.dmp-item-list .dmp-item-container .dmp-item-left .delete-icon{color:#bdc1c3cc;font-size:18px;width:18px;height:18px;cursor:pointer;flex-shrink:0}@media (max-width: 767px){.dmp-item-list .dmp-item-container .dmp-item-left .delete-icon{font-size:16px;width:16px;height:16px}}.dmp-item-list .dmp-item-container .dmp-item-left .delete-icon:hover{color:#d3d3d3}.dmp-item-list .dmp-item-container .dmp-item-left .dmp-item-title{flex:1;min-width:0;overflow:hidden}.dmp-item-list .dmp-item-container .dmp-item-left .dmp-item-title .title-text{color:#fff;font-size:13px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;display:block}@media (max-width: 767px){.dmp-item-list .dmp-item-container .dmp-item-left .dmp-item-title .title-text{font-size:11px}}.dmp-item-list .dmp-item-container .dmp-item-center{display:flex;align-items:center;gap:8px;flex-shrink:0}.dmp-item-list .dmp-item-container .dmp-item-center .zoom-off{color:#ef4444;font-size:16px;width:16px;height:16px}@media (max-width: 767px){.dmp-item-list .dmp-item-container .dmp-item-center .zoom-off{font-size:14px;width:14px;height:14px}}.dmp-item-list .dmp-item-container .dmp-item-center mat-icon{flex-shrink:0}.dmp-item-list .dmp-item-container .dmp-item-center mat-icon.power-on{color:#6ccb78;font-size:18px;width:18px;height:18px;cursor:pointer}@media (max-width: 767px){.dmp-item-list .dmp-item-container .dmp-item-center mat-icon.power-on{font-size:16px;width:16px;height:16px}}.dmp-item-list .dmp-item-container .dmp-item-center mat-icon.power-on:hover{color:#45a049}.dmp-item-list .dmp-item-container .dmp-item-center mat-icon.power-off{color:#bdc1c3cc;font-size:18px;width:18px;height:18px;cursor:pointer}@media (max-width: 767px){.dmp-item-list .dmp-item-container .dmp-item-center mat-icon.power-off{font-size:16px;width:16px;height:16px}}.dmp-item-list .dmp-item-container .dmp-item-center mat-icon.power-off:hover{color:#d3d3d3}.dmp-item-list .dmp-item-container .dmp-item-center mat-icon.power-fail{color:#bdc1c3cc;font-size:18px;width:18px;height:18px}@media (max-width: 767px){.dmp-item-list .dmp-item-container .dmp-item-center mat-icon.power-fail{font-size:16px;width:16px;height:16px}}.dmp-item-list .dmp-item-slider{display:flex;align-items:center;width:100%;margin-top:4px;margin-bottom:4px}.dmp-item-list .dmp-item-slider input[type=range]{width:100%;height:4px;-webkit-appearance:none;background:#fff3;border-radius:2px;outline:none;cursor:pointer}.dmp-item-list .dmp-item-slider input[type=range]::-webkit-slider-thumb{-webkit-appearance:none;width:12px;height:12px;border-radius:50%;background:#fff;cursor:pointer;transition:background .2s ease}.dmp-item-list .dmp-item-slider input[type=range]::-webkit-slider-thumb:hover{background:#6ccb78}.dmp-item-list .dmp-item-slider input[type=range]::-moz-range-thumb{width:12px;height:12px;border-radius:50%;background:#fff;cursor:pointer;border:none}.dmp-item-list .dmp-item-slider input[type=range]::-moz-range-thumb:hover{background:#6ccb78}.dmp-item-list ::ng-deep .dmp-item{cursor:move;width:100%;display:flex;flex-direction:column;align-items:stretch}::ng-deep .dmp-item-list mat-expansion-panel{box-shadow:none!important}.group-header{display:flex;color:#fff;padding:8px 14px;font-weight:600;background:#ffffff08}.group-header mat-icon{margin-left:10px;cursor:pointer;color:#bdc1c3cc;transition:color .2s ease}.group-header mat-icon:hover{color:#6ccb78}.layer-selector-body-wrapper{position:absolute;top:0!important;left:0!important;margin:0!important;z-index:1000;width:350px;box-sizing:border-box;display:flex;flex-direction:column;transition:width .3s ease,max-width .3s ease;border-top-left-radius:5px;border-top-right-radius:5px;box-shadow:0 2px 10px #0000001a;border-bottom-left-radius:5px!important;border-bottom-right-radius:5px!important}.layer-selector-body-wrapper.cdk-drag-dragging{opacity:.8;cursor:move;z-index:1001}.layer-selector-body-wrapper:not(.collapsed) .drag-handle-icons{justify-content:space-between}.layer-selector-body-wrapper:not(.collapsed) .drag-handle-icons .icon-left{order:1;margin-right:auto}.layer-selector-body-wrapper:not(.collapsed) .drag-handle-icons .toggle-icon{order:3}.layer-selector-body-wrapper.collapsed .layer-selector-body{display:none}.layer-selector-body-wrapper.collapsed .drag-handle-selector{width:100%;min-width:100%;box-sizing:border-box;border-bottom-left-radius:5px!important;border-bottom-right-radius:5px!important}.layer-selector-body-wrapper.collapsed .drag-handle-selector .drag-handle-content{width:100%}.layer-selector-body-wrapper.collapsed .drag-handle-selector .drag-handle-content .drag-handle-icons{width:100%;justify-content:space-between;gap:6px}.layer-selector-body-wrapper.collapsed .drag-handle-selector .drag-handle-content .drag-handle-icons mat-icon{font-size:18px!important;flex-shrink:0}.layer-selector-body-wrapper.collapsed .drag-handle-selector .drag-handle-content .drag-handle-icons mat-icon.icon-left{cursor:default!important}.layer-selector-body-wrapper.collapsed .drag-handle-selector .drag-handle-content .drag-handle-icons mat-icon.toggle-icon{cursor:pointer!important}.layer-selector-body-wrapper.collapsed .drag-handle-selector .drag-handle-content .drag-handle-icons mat-icon.toggle-icon:hover{color:#d3d3d3!important}@media (max-width: 767px){.layer-selector-body-wrapper{width:calc(100vw - 7em);max-width:calc(100vw - 7em);min-width:unset;left:.5em}.layer-selector-body-wrapper.collapsed{width:90px!important;max-width:90px!important;min-width:90px!important}}@media (min-width: 768px) and (max-width: 1024px){.layer-selector-body-wrapper{width:280px;max-width:280px;min-width:280px}.layer-selector-body-wrapper.collapsed{width:90px!important;max-width:90px!important;min-width:90px!important}}.drag-handle-selector{display:flex;justify-content:flex-end;border-radius:5px 5px 0 0;padding:0 2px;cursor:move}.drag-handle-content,.drag-handle-icons{display:flex;align-items:center;width:100%}.drag-handle-icons mat-icon{font-size:18px;transition:all .2s ease;display:flex;align-items:center;justify-content:center;flex-shrink:0}.icon-left{cursor:default!important}.toggle-icon{cursor:pointer!important}.toggle-icon:hover{color:#d3d3d3!important}::ng-deep .layer-selector-body{position:relative;left:auto;right:auto;bottom:auto;z-index:auto;width:100%;max-width:100%;max-height:610px;min-height:120px;overflow-y:auto;border-radius:0 0 5px 5px!important}::ng-deep .layer-selector-body .mat-expansion-panel-header-title{gap:6px;overflow:hidden;min-width:0}::ng-deep .layer-selector-body::-webkit-scrollbar{width:12px}::ng-deep .layer-selector-body::-webkit-scrollbar-track{background:#757474;border-radius:8px}::ng-deep .layer-selector-body::-webkit-scrollbar-thumb{background:#1a1c1f;border-radius:8px;border:2px solid #2a2c30}::ng-deep .layer-selector-body::-webkit-scrollbar-thumb:hover{background:#0f1012}::ng-deep .layer-selector-body::-webkit-scrollbar-button{width:12px;height:16px;background:#2a2c30;border:1px solid #1a1c1f}::ng-deep .layer-selector-body::-webkit-scrollbar-button:vertical:decrement{background:#2a2c30 url(\"data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 12 12'%3E%3Cpath fill='%23ffffff' d='M6 4l-4 4h8z'/%3E%3C/svg%3E\") no-repeat center;border-radius:8px 8px 0 0}::ng-deep .layer-selector-body::-webkit-scrollbar-button:vertical:decrement:hover{background-color:#1a1c1f}::ng-deep .layer-selector-body::-webkit-scrollbar-button:vertical:increment{background:#2a2c30 url(\"data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 12 12'%3E%3Cpath fill='%23ffffff' d='M6 8l4-4H2z'/%3E%3C/svg%3E\") no-repeat center;border-radius:0 0 8px 8px}::ng-deep .layer-selector-body::-webkit-scrollbar-button:vertical:increment:hover{background-color:#1a1c1f}@media (max-width: 767px){::ng-deep .layer-selector-body{width:100%;max-height:70vh;min-height:140px}}@media (min-width: 768px) and (max-width: 1024px){::ng-deep .layer-selector-body{width:100%;max-width:100%;max-height:76vh;min-height:110px}}::ng-deep .layer-selector-body .search-section{display:flex;padding:12px 12px 8px;justify-content:center;align-items:center;gap:8px}@media (max-width: 767px){::ng-deep .layer-selector-body .search-section{padding:8px 8px 4px;gap:4px}}::ng-deep .layer-selector-body .search-section .search-field-wrapper{flex:1;display:flex;flex-direction:column;min-width:0}::ng-deep .layer-selector-body .search-section .search-label{color:#fff}::ng-deep .layer-selector-body .search-section mat-form-field{flex:1}::ng-deep .layer-selector-body .search-section mat-form-field .search-icon{color:#fff}::ng-deep .layer-selector-body .search-section mat-form-field ::ng-deep .mat-mdc-form-field-focus-overlay{background-color:transparent}::ng-deep .layer-selector-body .search-section>mat-icon{color:#fff;cursor:pointer;margin-top:0;transition:color .2s ease}::ng-deep .layer-selector-body .search-section>mat-icon:hover{color:#d3d3d3}@media (max-width: 767px){::ng-deep .layer-selector-body .item-list{padding:4px;max-height:calc(60vh - 80px)}}@media (min-width: 768px) and (max-width: 1024px){::ng-deep .layer-selector-body .item-list{max-height:calc(77vh - 78px)}}::ng-deep .layer-selector-body .item-list .group{overflow:hidden;box-shadow:none}::ng-deep .layer-selector-body .item-list .group>mat-expansion-panel{background:transparent!important;box-shadow:none!important;margin-bottom:4px}@media (max-width: 767px){::ng-deep .layer-selector-body .item-list .group>mat-expansion-panel .mat-expansion-panel-header{padding:0 16px;height:40px!important}}::ng-deep .layer-selector-body .item-list .group>mat-expansion-panel .mat-expansion-panel-header .mat-panel-title{display:flex;align-items:center;gap:6px;font-weight:600!important;color:#bdc1c3cc!important;transition:color .2s ease;cursor:pointer;overflow:hidden;min-width:0}@media (max-width: 767px){::ng-deep .layer-selector-body .item-list .group>mat-expansion-panel .mat-expansion-panel-header .mat-panel-title{gap:4px;font-size:11px}}::ng-deep .layer-selector-body .item-list .group>mat-expansion-panel .mat-expansion-panel-header .mat-panel-title .panel-title{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;min-width:0}::ng-deep .layer-selector-body .item-list .group>mat-expansion-panel .mat-expansion-panel-header .mat-panel-title mat-icon{color:#bdc1c3cc;font-size:16px;width:16px;height:16px;transition:all .2s ease;flex-shrink:0}@media (max-width: 767px){::ng-deep .layer-selector-body .item-list .group>mat-expansion-panel .mat-expansion-panel-header .mat-panel-title mat-icon{font-size:14px;width:14px;height:14px}}::ng-deep .layer-selector-body .item-list .group>mat-expansion-panel .mat-expansion-panel-header .mat-panel-title mat-icon.power-on{color:#6ccb78;cursor:pointer}::ng-deep .layer-selector-body .item-list .group>mat-expansion-panel .mat-expansion-panel-header .mat-panel-title mat-icon.power-on:hover{color:#45a049}::ng-deep .layer-selector-body .item-list .group>mat-expansion-panel .mat-expansion-panel-header .mat-panel-title mat-icon.power-off{cursor:pointer;color:#bdc1c3cc;font-size:24px;height:24px;width:24px}::ng-deep .layer-selector-body .item-list .group>mat-expansion-panel .mat-expansion-panel-header .mat-panel-title mat-icon.power-off:hover{color:#d3d3d3}::ng-deep .layer-selector-body .item-list .group>mat-expansion-panel .mat-expansion-panel-header .mat-panel-title mat-icon.power-fail{color:#bdc1c3cc}::ng-deep .layer-selector-body .item-list .group>mat-expansion-panel .mat-expansion-panel-content{background:#0003}@media (max-width: 767px){::ng-deep .layer-selector-body .item-list .group>mat-expansion-panel .mat-expansion-panel-content .mat-expansion-panel-body{padding:2px 0 2px 12px}}::ng-deep .layer-selector-body .item-list .group .item-list{padding:0}::ng-deep .layer-selector-body .item-list .group .item-list mat-expansion-panel{background:transparent!important;box-shadow:none!important;margin-bottom:2px}::ng-deep .layer-selector-body .item-list .group .item-list mat-expansion-panel .mat-expansion-panel-header{overflow:hidden}::ng-deep .layer-selector-body .item-list .group .item-list mat-expansion-panel .mat-expansion-panel-header .mat-content{overflow:hidden;min-width:0}::ng-deep .layer-selector-body .item-list .group .item-list mat-expansion-panel .mat-expansion-panel-content{background:#00000026}::ng-deep .layer-selector-body .item-list .group .item-list mat-expansion-panel .mat-expansion-panel-content .mat-expansion-panel-body{padding:8px 16px 12px 32px}::ng-deep .layer-selector-body .item-list .group .item-list .layer-description{font-size:12px;color:#fffc;line-height:1.5;margin-bottom:8px;margin-left:28px}::ng-deep .layer-selector-body .item-list .group .item{width:100%;box-sizing:border-box;display:flex;flex-direction:column;gap:4px;background:transparent;transition:all .2s ease;color:#fff;cursor:pointer;font-size:13px}@media (max-width: 767px){::ng-deep .layer-selector-body .item-list .group .item{font-size:11px}}::ng-deep .layer-selector-body .item-list .group .item:hover{background-color:transparent}::ng-deep .layer-selector-body .item-list .group .item .item-top-row{display:flex;align-items:center;justify-content:space-between;gap:8px;width:100%;min-width:0}::ng-deep .layer-selector-body .item-list .group .item .item-left{display:flex;align-items:center;gap:4px;flex:1;min-width:0}::ng-deep .layer-selector-body .item-list .group .item .item-left .drag-indicator{color:#ffffff80;font-size:16px;width:16px;height:16px;cursor:move;flex-shrink:0}@media (max-width: 767px){::ng-deep .layer-selector-body .item-list .group .item .item-left .drag-indicator{font-size:14px;width:14px;height:14px}}::ng-deep .layer-selector-body .item-list .group .item .item-left .layer-info{cursor:pointer;color:#e0e0de;font-size:16px;width:16px;height:16px;flex-shrink:0;transition:all .2s ease}@media (max-width: 767px){::ng-deep .layer-selector-body .item-list .group .item .item-left .layer-info{font-size:14px;width:14px;height:14px}}::ng-deep .layer-selector-body .item-list .group .item .item-left .layer-info:hover{color:#ccb913}::ng-deep .layer-selector-body .item-list .group .item .item-left span{flex:1;font-size:13px;word-wrap:break-word;word-break:break-word;overflow-wrap:break-word;white-space:normal;color:#fff;font-weight:400;min-width:0}@media (max-width: 767px){::ng-deep .layer-selector-body .item-list .group .item .item-left span{font-size:11px}}::ng-deep .layer-selector-body .item-list .group .item .item-center{display:flex;align-items:center;gap:4px;flex-shrink:0}::ng-deep .layer-selector-body .item-list .group .item .item-center .zoom-off{color:#ef4444;font-size:16px;width:16px;height:16px}@media (max-width: 767px){::ng-deep .layer-selector-body .item-list .group .item .item-center .zoom-off{font-size:14px;width:14px;height:14px}}::ng-deep .layer-selector-body .item-list .group .item .item-right{display:flex;align-items:center;gap:8px;flex-shrink:0}::ng-deep .layer-selector-body .item-list .group .item .item-right mat-icon{flex-shrink:0}::ng-deep .layer-selector-body .item-list .group .item .item-right mat-icon.power-on{color:#6ccb78;font-size:18px;width:18px;height:18px;cursor:pointer}@media (max-width: 767px){::ng-deep .layer-selector-body .item-list .group .item .item-right mat-icon.power-on{font-size:16px;width:16px;height:16px}}::ng-deep .layer-selector-body .item-list .group .item .item-right mat-icon.power-on:hover{color:#45a049}::ng-deep .layer-selector-body .item-list .group .item .item-right mat-icon.power-off{color:#bdc1c3cc;font-size:18px;width:18px;height:18px;cursor:pointer}@media (max-width: 767px){::ng-deep .layer-selector-body .item-list .group .item .item-right mat-icon.power-off{font-size:16px;width:16px;height:16px}}::ng-deep .layer-selector-body .item-list .group .item .item-right mat-icon.power-off:hover{color:#d3d3d3}::ng-deep .layer-selector-body .item-list .group .item .item-right mat-icon.power-fail{color:#bdc1c3cc;font-size:18px;width:18px;height:18px}@media (max-width: 767px){::ng-deep .layer-selector-body .item-list .group .item .item-right mat-icon.power-fail{font-size:16px;width:16px;height:16px}}::ng-deep .layer-selector-body .item-list .group .item .item-slider{display:flex;align-items:center;width:100%;margin-bottom:4px}::ng-deep .layer-selector-body .item-list .group .item .item-slider input[type=range]{width:100%;height:4px;-webkit-appearance:none;background:#fff3;border-radius:2px;outline:none;cursor:pointer}::ng-deep .layer-selector-body .item-list .group .item .item-slider input[type=range]::-webkit-slider-thumb{-webkit-appearance:none;width:12px;height:12px;border-radius:50%;background:#fff;cursor:pointer;transition:background .2s ease}::ng-deep .layer-selector-body .item-list .group .item .item-slider input[type=range]::-webkit-slider-thumb:hover{background:#6ccb78}::ng-deep .layer-selector-body .item-list .group .item .item-slider input[type=range]::-moz-range-thumb{width:12px;height:12px;border-radius:50%;background:#fff;cursor:pointer;border:none}::ng-deep .layer-selector-body .item-list .group .item .item-slider input[type=range]::-moz-range-thumb:hover{background:#6ccb78}::ng-deep .layer-selector-body-wrapper .result-title{color:#fff}::ng-deep .layer-selector-body-wrapper .mat-expansion-panel:not([class*=mat-elevation-z]){box-shadow:none!important}::ng-deep .layer-selector-body-wrapper .mat-expansion-panel-header.mat-expanded:focus,::ng-deep .layer-selector-body-wrapper .mat-expansion-panel-header.mat-expanded:hover{background:inherit!important}::ng-deep .layer-selector-body-wrapper .show-layer-highlight{font-size:18px;height:18px;width:18px}::ng-deep .layer-selector-body-wrapper .dmp-item{cursor:move;width:100%}::ng-deep .layer-selector-body-wrapper .dmp-search-panel .mat-expansion-panel-header.mat-expanded:focus,::ng-deep .layer-selector-body-wrapper .dmp-search-panel .mat-expansion-panel-header.mat-expanded:hover,::ng-deep .layer-selector-body-wrapper .dmp-dialog-content .mat-expansion-panel-header.mat-expanded:focus,::ng-deep .layer-selector-body-wrapper .dmp-dialog-content .mat-expansion-panel-header.mat-expanded:hover{background:#ffffff26!important}::ng-deep .layer-selector-body-wrapper .dmp-search-panel .mat-expansion-panel:not([class*=mat-elevation-z]),::ng-deep .layer-selector-body-wrapper .dmp-dialog-content .mat-expansion-panel:not([class*=mat-elevation-z]){box-shadow:none!important}::ng-deep .layer-selector-body-wrapper .dmp-search-panel .mat-expansion-indicator:after,::ng-deep .layer-selector-body-wrapper .dmp-dialog-content .mat-expansion-indicator:after{color:#fff!important;border-color:#fff!important}::ng-deep .layer-selector-body-wrapper mat-expansion-panel .mat-expansion-panel-content .mat-expansion-panel-body{padding-left:0!important;padding-right:0!important;box-sizing:border-box}@media (max-width: 767px){::ng-deep .layer-selector-body-wrapper mat-expansion-panel .mat-expansion-panel-content .mat-expansion-panel-body{padding-left:12px!important;padding-right:12px!important}}.cdk-drag-preview{box-sizing:border-box;border-radius:5px;box-shadow:0 5px 15px #00000026;background:#4c4d51;padding:8px 12px;color:#fff;display:flex;align-items:center;gap:8px}.cdk-drag-preview mat-icon{color:#fff}.cdk-drag-animating,.cdk-drop-list-dragging .cdk-drag{transition:transform .25s cubic-bezier(0,0,.2,1)}.cdk-drop-list-dragging .cdk-drag{transform:translateZ(0)!important}.power-on{color:#6ccb78!important;font-size:24px;width:24px;height:24px}.power-off{cursor:pointer;color:#bdc1c3cc!important}.power-fail{color:#bdc1c3cc!important}.add-option{color:#6ccb78!important}.add-option:hover{color:#37923a!important}::ng-deep .lightbulb{color:#dfca0e;width:18px;height:18px;font-size:18px}::ng-deep .arrow-up-layer{color:#fff;width:18px;height:18px;font-size:18px}::ng-deep .mdc-text-field--outlined{overflow:hidden!important}::ng-deep .drag-indicator{cursor:move!important}\n"] }]
1237
+ MatExpansionModule, MatInputModule, MatTooltipModule, MatOptionModule, MatDialogModule, MatDialogContent, MatDialogActions], template: "<div\n #layerSelectorBody\n class=\"layer-selector-body-wrapper global-wrapper-container\"\n cdkDrag\n cdkDragBoundary=\".map-container\"\n [cdkDragFreeDragPosition]=\"layerSelectorDragPosition\"\n (cdkDragEnded)=\"onLayerSelectorDragEnded($event)\"\n [class.collapsed]=\"collapsed\">\n\n <div class=\"drag-handle-selector\" cdkDragHandle>\n <div class=\"drag-handle-content\">\n <div class=\"drag-handle-icons\">\n <mat-icon \n class=\"icon-left\" \n matTooltip=\"Lag\" \n [matTooltipShowDelay]=\"500\"\n [matTooltipHideDelay]=\"100\" \n matTooltipPosition=\"above\">\n layers\n </mat-icon>\n <mat-icon class=\"toggle-icon\" (click)=\"toggleLayerSelector()\">\n {{ collapsed ? 'flip_to_front' : 'remove' }}\n </mat-icon>\n </div>\n </div>\n </div>\n\n <div class=\"ol-unselectable ol-control layer-selector-body\" *ngIf=\"!collapsed\">\n <div class=\"search-section\">\n <div class=\"search-field-wrapper\">\n <label class=\"search-label\">Filtrer</label>\n <mat-form-field appearance=\"outline\" class=\"w-full\">\n <mat-icon matPrefix class=\"search-icon\">search</mat-icon>\n <input \n matInput \n type=\"text\" \n [(ngModel)]=\"searchText\" \n (ngModelChange)=\"filterChanged()\"\n />\n </mat-form-field>\n </div>\n <mat-icon matTooltip=\"Nulstil\" \n [matTooltipShowDelay]=\"200\"\n [matTooltipHideDelay]=\"300\" (click)=\"clearSearchText()\">\n replay</mat-icon>\n </div>\n <div\n cdkDropList\n [cdkDropListData]=\"filteredLayerGroups\"\n (cdkDropListDropped)=\"dropGroup($event, filteredLayerGroups)\"\n class=\"item-list\">\n @for (group of filteredLayerGroups; track group.id; let gIndex = $index) {\n <div class=\"group\" cdkDrag>\n <mat-expansion-panel [(expanded)]=\"group.expanded\">\n <mat-expansion-panel-header>\n <mat-panel-title>\n <mat-icon class=\"drag-indicator\" cdkDragHandle>drag_indicator</mat-icon>\n <span class=\"panel-title\">{{ group.name }}</span>\n ({{ group.noOfVisibleLayers }}/{{ group.layers.length }})\n @if (group.visible) {\n <mat-icon (click)=\"toggleGroup($event, group)\" class=\"power-on\" \n matTooltip=\"Sluk\" \n [matTooltipShowDelay]=\"200\"\n [matTooltipHideDelay]=\"300\" \n matTooltipPosition=\"above\">power_settings_new\n </mat-icon> \n }\n @if (!group.visible) {\n <mat-icon (click)=\"toggleGroup($event, group)\" class=\"power-off\"\n matTooltip=\"T\u00E6nd\" \n [matTooltipShowDelay]=\"200\"\n [matTooltipHideDelay]=\"300\" \n matTooltipPosition=\"above\">power_settings_new\n </mat-icon>\n }\n </mat-panel-title>\n </mat-expansion-panel-header>\n\n <div\n cdkDropList\n [cdkDropListData]=\"group.layers\"\n (cdkDropListDropped)=\"dropLayer($event, group)\"\n class=\"item-list\">\n @for (layer of group.layers; track layer.id; let iIndex = $index) {\n <mat-expansion-panel expanded=\"false\" [disabled]=\"!layer.description\"> \n <mat-expansion-panel-header>\n <mat-panel-title>\n <div class=\"item\" cdkDrag>\n <div class=\"item-top-row\">\n <div class=\"item-left\">\n <mat-icon class=\"drag-indicator\" cdkDragHandle>drag_indicator</mat-icon>\n <span>{{ layer.name }}</span>\n <mat-icon></mat-icon>\n </div>\n <div class=\"item-center\">\n @if (layer.maxZoom < currentZoomLevel || layer.minZoom > currentZoomLevel) {\n <mat-icon class=\"zoom-off\"\n matTooltip=\"Lag vises ikke pga zoom niveau\"\n [matTooltipShowDelay]=\"200\"\n [matTooltipHideDelay]=\"300\"\n matTooltipPosition=\"above\">browser_not_supported\n </mat-icon>\n }\n @if (layer.hasErrors) {\n <mat-icon class=\"zoom-off\"\n matTooltip=\"Fejl\"\n [matTooltipShowDelay]=\"200\"\n [matTooltipHideDelay]=\"300\"\n matTooltipPosition=\"above\">priority_high\n </mat-icon>\n }\n </div>\n <div class=\"item-right\">\n @if(layer.infoUrl) {\n <mat-icon\n class=\"layer-info\"\n matTooltip=\"Yderligere laginfo\"\n [matTooltipShowDelay]=\"200\"\n [matTooltipHideDelay]=\"300\"\n (click)=\"openUrl(layer.infoUrl)\"\n matTooltipPosition=\"above\">info\n </mat-icon>\n }\n @if (!layer.hasErrors && layer.visible) {\n <mat-icon (click)=\"toggleLayer(layer.id, $event)\" class=\"power-on\"\n matTooltip=\"Sluk\"\n [matTooltipShowDelay]=\"200\"\n [matTooltipHideDelay]=\"300\"\n matTooltipPosition=\"above\">power_settings_new\n </mat-icon>\n }\n @if (!layer.hasErrors && !layer.visible) {\n <mat-icon (click)=\"toggleLayer(layer.id, $event)\" class=\"power-off\"\n matTooltip=\"T\u00E6nd\"\n [matTooltipShowDelay]=\"200\"\n [matTooltipHideDelay]=\"300\"\n matTooltipPosition=\"above\">power_settings_new\n </mat-icon>\n }\n @if (layer.hasErrors) {\n <mat-icon class=\"power-fail\">power_settings_new</mat-icon>\n }\n </div>\n </div>\n <div class=\"item-slider\">\n <input \n type=\"range\"\n min=\"0\"\n max=\"1\"\n step=\"0.05\"\n [(ngModel)]=\"layer.opacity\"\n (click)=\"stopDrag($event)\"\n (input)=\"updateOpacity(layer.id, layer.opacity)\"\n (mousedown)=\"stopDrag($event)\"\n (touchstart)=\"stopDrag($event)\"\n (pointerdown)=\"stopDrag($event)\"\n >\n </div>\n <div *cdkDragPreview><span class=\"panel-title\">{{ layer.name }} </span></div>\n </div>\n </mat-panel-title>\n </mat-expansion-panel-header>\n <div class=\"layer-description\">{{ layer.description }}</div>\n @if (showLegend) {\n <img [src]=\"legendUrl\" class=\"legend-thumbnail\"/>\n }\n </mat-expansion-panel>\n }\n </div>\n </mat-expansion-panel>\n <div *cdkDragPreview><span class=\"panel-title\">{{ group.name }} </span></div>\n </div>\n }\n </div>\n <div class=\"group-header\">Mine Temaer\n <mat-icon (click)=\"toggleDmpSearch(true)\"\n class=\"power-on\"\n matTooltip=\"S\u00F8g\" \n [matTooltipShowDelay]=\"200\"\n [matTooltipHideDelay]=\"300\" \n matTooltipPosition=\"above\">add\n </mat-icon>\n </div>\n @if (filteredDmpLayers.length > 0) {\n <div class=\"dmp-item-list\" cdkDropList\n [cdkDropListData]=\"filteredDmpLayers\"\n (cdkDropListDropped)=\"dropDmpLayer($event)\">\n @for (layer of filteredDmpLayers; track layer.datasetId; let iIndex = $index) {\n <mat-expansion-panel expanded=\"false\" [disabled]=\"true\"> \n <mat-expansion-panel-header>\n <mat-panel-title>\n <div class=\"dmp-item\" cdkDrag>\n <div class=\"dmp-item-container\">\n <div class=\"dmp-item-left\">\n <mat-icon (click)=\"deleteDmpLayer(layer, $event)\" class=\"delete-icon\" \n matTooltip=\"Slet\" \n [matTooltipShowDelay]=\"200\"\n [matTooltipHideDelay]=\"300\" \n matTooltipPosition=\"above\">delete\n </mat-icon>\n <div class=\"dmp-item-title\">\n <span class=\"title-text\">{{ layer.title }}</span>\n </div>\n </div>\n \n <div class=\"dmp-item-center\">\n @if (layer.hasErrors) {\n <mat-icon class=\"zoom-off\" \n matTooltip=\"Fejl\" \n [matTooltipShowDelay]=\"200\"\n [matTooltipHideDelay]=\"300\" \n matTooltipPosition=\"above\">priority_high\n </mat-icon>\n }\n \n @if (!layer.hasErrors && layer.visible) {\n <mat-icon (click)=\"toggleLayer(layer.datasetId, $event)\" class=\"power-on\" \n matTooltip=\"Sluk\" \n [matTooltipShowDelay]=\"200\"\n [matTooltipHideDelay]=\"300\" \n matTooltipPosition=\"above\">power_settings_new\n </mat-icon>\n }\n @if (!layer.hasErrors && !layer.visible) {\n <mat-icon (click)=\"toggleLayer(layer.datasetId, $event)\" class=\"power-off\"\n matTooltip=\"T\u00E6nd\" \n [matTooltipShowDelay]=\"200\"\n [matTooltipHideDelay]=\"300\" \n matTooltipPosition=\"above\">power_settings_new\n </mat-icon>\n }\n @if (layer.hasErrors) {\n <mat-icon class=\"power-fail\">power_settings_new\n </mat-icon>\n }\n </div>\n </div>\n <div class=\"dmp-item-slider\">\n <input \n type=\"range\"\n min=\"0\"\n max=\"1\"\n step=\"0.05\"\n [(ngModel)]=\"layer.opacity\"\n (click)=\"stopDrag($event)\"\n (input)=\"updateOpacity(layer.datasetId, layer.opacity)\"\n (mousedown)=\"stopDrag($event)\"\n (touchstart)=\"stopDrag($event)\"\n (pointerdown)=\"stopDrag($event)\"\n >\n </div>\n <div *cdkDragPreview><span class=\"panel-title\">{{ layer.title }} </span></div>\n </div>\n </mat-panel-title>\n </mat-expansion-panel-header>\n </mat-expansion-panel>\n }\n </div>\n }\n <div *ngIf=\"filteredBackgroundLayerGroups && filteredBackgroundLayerGroups.length > 0\" class=\"group-header\">Baggrundskort</div>\n <div\n cdkDropList\n [cdkDropListData]=\"filteredBackgroundLayerGroups\"\n (cdkDropListDropped)=\"dropGroup($event, filteredBackgroundLayerGroups)\"\n class=\"item-list\">\n @for (group of filteredBackgroundLayerGroups; track group.id; let gIndex = $index) {\n <div class=\"group\" cdkDrag>\n <mat-expansion-panel [(expanded)]=\"group.expanded\">\n <mat-expansion-panel-header>\n <mat-panel-title>\n <mat-icon class=\"drag-indicator\" cdkDragHandle>drag_indicator</mat-icon>\n {{ group.name }}\n ({{ group.noOfVisibleLayers }}/{{ group.layers.length }})\n @if (group.visible) {\n <mat-icon (click)=\"toggleGroup($event, group)\" class=\"power-on\" \n matTooltip=\"Sluk\" \n [matTooltipShowDelay]=\"200\"\n [matTooltipHideDelay]=\"300\" \n matTooltipPosition=\"above\">power_settings_new\n </mat-icon> \n }\n @if (!group.visible) {\n <mat-icon (click)=\"toggleGroup($event, group)\" class=\"power-off\"\n matTooltip=\"T\u00E6nd\" \n [matTooltipShowDelay]=\"200\"\n [matTooltipHideDelay]=\"300\" \n matTooltipPosition=\"above\">power_settings_new\n </mat-icon>\n }\n </mat-panel-title>\n </mat-expansion-panel-header>\n\n <div\n cdkDropList\n [cdkDropListData]=\"group.layers\"\n (cdkDropListDropped)=\"dropLayer($event, group)\"\n class=\"item-list\">\n @for (layer of group.layers; track layer.id; let iIndex = $index) {\n <mat-expansion-panel expanded=\"false\" [disabled]=\"!layer.description\"> \n <mat-expansion-panel-header>\n <mat-panel-title>\n <div class=\"item\" cdkDrag>\n <div class=\"item-left\">\n <mat-icon class=\"drag-indicator\">drag_indicator</mat-icon>\n <span>{{ layer.name }}</span>\n </div>\n <div class=\"item-center\">\n @if (layer.maxZoom < currentZoomLevel || layer.minZoom > currentZoomLevel) {\n <mat-icon class=\"zoom-off\" \n matTooltip=\"Zoom\" \n [matTooltipShowDelay]=\"200\"\n [matTooltipHideDelay]=\"300\" \n matTooltipPosition=\"above\">browser_not_supported\n </mat-icon>\n }\n @if (layer.hasErrors) {\n <mat-icon class=\"zoom-off\" \n matTooltip=\"Fejl\" \n [matTooltipShowDelay]=\"200\"\n [matTooltipHideDelay]=\"300\" \n matTooltipPosition=\"above\">priority_high\n </mat-icon>\n }\n </div>\n <div class=\"item-right\">\n @if (!layer.hasErrors && layer.visible) {\n <mat-icon (click)=\"toggleLayer(layer.id, $event)\" class=\"power-on\" \n matTooltip=\"Sluk\" \n [matTooltipShowDelay]=\"200\"\n [matTooltipHideDelay]=\"300\" \n matTooltipPosition=\"above\">power_settings_new\n </mat-icon>\n }\n @if (!layer.hasErrors && !layer.visible) {\n <mat-icon (click)=\"toggleLayer(layer.id, $event)\" class=\"power-off\"\n matTooltip=\"T\u00E6nd\" \n [matTooltipShowDelay]=\"200\"\n [matTooltipHideDelay]=\"300\" \n matTooltipPosition=\"above\">power_settings_new\n </mat-icon>\n }\n @if (layer.hasErrors) {\n <mat-icon class=\"power-fail\">power_settings_new\n </mat-icon>\n }\n <input \n type=\"range\"\n min=\"0\"\n max=\"1\"\n step=\"0.05\"\n [(ngModel)]=\"layer.opacity\"\n (click)=\"stopDrag($event)\"\n (input)=\"updateOpacity(layer.id, layer.opacity)\"\n (mousedown)=\"stopDrag($event)\"\n (touchstart)=\"stopDrag($event)\"\n (pointerdown)=\"stopDrag($event)\"\n >\n </div>\n <div *cdkDragPreview><span class=\"panel-title\">{{ layer.name }} </span></div>\n </div>\n </mat-panel-title>\n </mat-expansion-panel-header>\n <div class=\"layer-description\">{{ layer.description }}</div>\n @if (showLegend) {\n <img [src]=\"legendUrl\" class=\"legend-thumbnail\"/>\n }\n </mat-expansion-panel>\n }\n </div>\n </mat-expansion-panel>\n <div *cdkDragPreview><span class=\"panel-title\">{{ group.name }} </span></div>\n </div>\n }\n </div>\n </div>\n <ng-template #dmpDialog>\n @if (dmpSearchMode) {\n <mat-dialog-content>\n <div class=\"dialog-header\">\n <div class=\"search-section\">\n <div class=\"search-field-wrapper\">\n <label class=\"search-label\">S\u00F8g</label>\n <mat-form-field appearance=\"outline\" class=\"w-full\">\n <mat-icon matPrefix class=\"search-icon\">search</mat-icon>\n <input \n matInput \n type=\"text\" \n [(ngModel)]=\"dmpSearchText\" \n (ngModelChange)=\"searchDmp()\"\n />\n </mat-form-field>\n </div>\n <mat-icon (click)=\"clearDmpSearchText()\" \n matTooltip=\"Nulstil\" \n [matTooltipShowDelay]=\"200\"\n [matTooltipHideDelay]=\"300\"\n class=\"undo-icon\" >undo\n </mat-icon>\n </div>\n <mat-icon \n class=\"close-button\" \n (click)=\"toggleDmpSearch(false)\"\n matTooltip=\"Luk\" \n [matTooltipShowDelay]=\"200\"\n [matTooltipHideDelay]=\"300\" \n matTooltipPosition=\"left\">\n close\n </mat-icon>\n </div>\n </mat-dialog-content>\n }\n\n @if (dmpLayerResults.length > 0) {\n <div class=\"dmp-search-panel global-wrapper-container\">\n <div *ngFor=\"let result of dmpLayerResults\" [attr.data-value]=\"result\" class=\"search-result-option\">\n <mat-expansion-panel expanded=\"false\"> \n <mat-expansion-panel-header>\n <mat-panel-title>\n <span class=\"result-title\">{{ result.title }}</span>\n </mat-panel-title>\n </mat-expansion-panel-header>\n <div><span class=\"field-label\">Status:</span><span class=\"field-value\"> {{ result.availability }}</span></div>\n <div><span class=\"field-label\">Kategori:</span><span class=\"field-value\"> {{ result.category }}</span></div>\n <div><span class=\"field-label\">Beskrivelse:</span><span class=\"field-value\"> {{ result.description }}</span></div>\n <div><span class=\"field-label\">Tags:</span><span class=\"field-value\"> {{ result.tags?.join(', ') }}</span></div>\n <div *ngIf=\"result.metaDataUrl\">\n <span class=\"field-label\">Metadata:</span>\n <a [href]=\"result.metaDataUrl\" target=\"_blank\" rel=\"noopener noreferrer\" class=\"open-link\">\n Vis metadata\n <mat-icon class=\"link-icon\">open_in_new</mat-icon>\n </a>\n </div>\n <div *ngIf=\"result.license && result.license.url\">\n <span class=\"field-label\">Licens:</span>\n <a [href]=\"result.license.url\" target=\"_blank\" rel=\"noopener noreferrer\" class=\"open-link\">\n {{ result.license.title }}\n <mat-icon class=\"link-icon\">open_in_new</mat-icon>\n </a>\n </div>\n <div *ngIf=\"result.dataLiabilityAgreement && result.dataLiabilityAgreement.url\">\n <span class=\"field-label\">Dataansvarsaftale:</span>\n <a [href]=\"result.dataLiabilityAgreement.url\" target=\"_blank\" rel=\"noopener noreferrer\" class=\"open-link\">\n {{ result.dataLiabilityAgreement.title }}\n <mat-icon class=\"link-icon\">open_in_new</mat-icon>\n </a>\n </div>\n <div class=\"add-layer-section\">\n <span class=\"field-label\">Tilf\u00F8j {{ result.serviceType }}:</span>\n <mat-icon (click)=\"addDmpLayer(result)\" class=\"add-option\"\n matTooltip=\"Tilf\u00F8j\" \n [matTooltipShowDelay]=\"200\"\n [matTooltipHideDelay]=\"300\" \n matTooltipPosition=\"above\">add\n </mat-icon>\n </div>\n </mat-expansion-panel>\n </div>\n </div>}\n </ng-template>\n</div>", styles: [".layer-info{cursor:pointer}.legend-thumbnail{max-width:200px;max-height:200px;width:auto;height:auto;border:2px solid #dee2e6;padding:6px}::ng-deep .dmp-dialog-content mat-dialog-content .search-section{display:flex;align-items:center;gap:6px}::ng-deep .dmp-dialog-content mat-dialog-content .search-section .undo-icon{color:#fff!important;cursor:pointer;flex-shrink:0}::ng-deep .dmp-dialog-content mat-dialog-content .search-section .undo-icon:hover{color:#d3d3d3!important}::ng-deep .dmp-dialog-content mat-dialog-content .search-section .search-field-wrapper{flex:1;display:flex;flex-direction:column}::ng-deep .dmp-dialog-content mat-dialog-content .search-section .search-label{color:#fff}::ng-deep .dmp-dialog-content mat-dialog-content .search-section mat-form-field{flex:1}::ng-deep .dmp-dialog-content mat-dialog-content .search-section mat-form-field .search-icon{color:#fff}::ng-deep .dmp-dialog-content mat-dialog-content .search-section mat-form-field .mdc-notched-outline .mdc-notched-outline__leading,::ng-deep .dmp-dialog-content mat-dialog-content .search-section mat-form-field .mdc-notched-outline .mdc-notched-outline__notch,::ng-deep .dmp-dialog-content mat-dialog-content .search-section mat-form-field .mdc-notched-outline .mdc-notched-outline__trailing{border-color:#dee2e6!important;border-width:1px!important}::ng-deep .dmp-dialog-content mat-dialog-content .search-section mat-form-field.mat-focused ::ng-deep .mdc-notched-outline .mdc-notched-outline__leading,::ng-deep .dmp-dialog-content mat-dialog-content .search-section mat-form-field.mat-focused ::ng-deep .mdc-notched-outline .mdc-notched-outline__notch,::ng-deep .dmp-dialog-content mat-dialog-content .search-section mat-form-field.mat-focused ::ng-deep .mdc-notched-outline .mdc-notched-outline__trailing{border-color:#d1d5db!important;border-width:1px!important;box-shadow:0 0 0 3px #d1d5db40!important}::ng-deep .dmp-dialog-content mat-dialog-actions{display:none}::ng-deep .dmp-dialog-content .search-result-option{padding:0!important}::ng-deep .dmp-dialog-content .search-result-option mat-expansion-panel{box-shadow:none!important;margin-bottom:2px;border-radius:0!important;background:transparent!important;color:#fff}::ng-deep .dmp-dialog-content .search-result-option mat-expansion-panel .mat-expansion-panel-content{background:#0003}::ng-deep .dmp-dialog-content .search-result-option mat-expansion-panel .mat-expansion-panel-content .mat-expansion-panel-body{padding:12px 16px!important}@media (max-width: 767px){::ng-deep .dmp-dialog-content .search-result-option mat-expansion-panel .mat-expansion-panel-content .mat-expansion-panel-body{padding:10px 12px!important}}::ng-deep .dmp-dialog-content .search-result-option mat-expansion-panel .mat-expansion-panel-content .mat-expansion-panel-body>div{margin-bottom:10px;display:flex;align-items:flex-start;gap:8px;font-size:12px;line-height:1.5}::ng-deep .dmp-dialog-content .search-result-option mat-expansion-panel .mat-expansion-panel-content .mat-expansion-panel-body>div:last-child{margin-bottom:0}@media (max-width: 767px){::ng-deep .dmp-dialog-content .search-result-option mat-expansion-panel .mat-expansion-panel-content .mat-expansion-panel-body>div{font-size:11px;gap:6px}}::ng-deep .dmp-dialog-content .search-result-option mat-expansion-panel .mat-expansion-panel-content .mat-expansion-panel-body>div .field-label{color:#bdc1c3cc!important;min-width:90px;font-weight:500;flex-shrink:0;font-size:13px}@media (max-width: 767px){::ng-deep .dmp-dialog-content .search-result-option mat-expansion-panel .mat-expansion-panel-content .mat-expansion-panel-body>div .field-label{min-width:80px}}::ng-deep .dmp-dialog-content .search-result-option mat-expansion-panel .mat-expansion-panel-content .mat-expansion-panel-body>div .field-value{color:#fff!important;font-weight:300;flex:1;word-break:break-word;font-size:13px}::ng-deep .dmp-dialog-content .search-result-option mat-expansion-panel .mat-expansion-panel-content .mat-expansion-panel-body>div .open-link{color:#2e98eb!important;text-decoration:none!important;display:inline-flex;align-items:center;gap:4px}::ng-deep .dmp-dialog-content .search-result-option mat-expansion-panel .mat-expansion-panel-content .mat-expansion-panel-body>div .open-link:hover{color:#2180c9!important;text-decoration:underline!important}::ng-deep .dmp-dialog-content .search-result-option mat-expansion-panel .mat-expansion-panel-content .mat-expansion-panel-body>div .open-link .link-icon{font-size:14px;width:14px;height:14px}::ng-deep .dmp-dialog-content .search-result-option mat-expansion-panel .mat-expansion-panel-content .mat-expansion-panel-body .add-layer-section{display:flex;align-items:center;margin-top:12px;padding-top:12px;border-top:1px solid rgba(255,255,255,.1)}::ng-deep .dmp-dialog-content .search-result-option mat-expansion-panel .mat-expansion-panel-content .mat-expansion-panel-body .add-layer-section .field-label{min-width:90px}::ng-deep .dmp-dialog-content .search-result-option mat-expansion-panel .mat-expansion-panel-content .mat-expansion-panel-body .add-layer-section .add-option{color:#6ccb78!important;cursor:pointer;font-size:20px;width:20px;height:20px;transition:all .2s ease}::ng-deep .dmp-dialog-content .search-result-option mat-expansion-panel .mat-expansion-panel-content .mat-expansion-panel-body .add-layer-section .add-option:hover{color:#45a049!important;transform:scale(1.1)}.dmp-search-panel{overflow-y:scroll;max-height:300px}.dmp-search-panel::-webkit-scrollbar{width:12px}.dmp-search-panel::-webkit-scrollbar-track{background:#757474;border-radius:8px}.dmp-search-panel::-webkit-scrollbar-thumb{background:#1a1c1f;border-radius:8px;border:2px solid #2a2c30}.dmp-search-panel::-webkit-scrollbar-thumb:hover{background:#0f1012}.dmp-search-panel::-webkit-scrollbar-button{width:12px;height:16px;background:#2a2c30;border:1px solid #1a1c1f}.dmp-search-panel::-webkit-scrollbar-button:vertical:decrement{background:#2a2c30 url(\"data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 12 12'%3E%3Cpath fill='%23ffffff' d='M6 4l-4 4h8z'/%3E%3C/svg%3E\") no-repeat center;border-radius:8px 8px 0 0}.dmp-search-panel::-webkit-scrollbar-button:vertical:decrement:hover{background-color:#1a1c1f}.dmp-search-panel::-webkit-scrollbar-button:vertical:increment{background:#2a2c30 url(\"data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 12 12'%3E%3Cpath fill='%23ffffff' d='M6 8l4-4H2z'/%3E%3C/svg%3E\") no-repeat center;border-radius:0 0 8px 8px}.dmp-search-panel::-webkit-scrollbar-button:vertical:increment:hover{background-color:#1a1c1f}.dmp-search-panel .search-result-option{padding:0!important;margin-bottom:2px}.dmp-search-panel .search-result-option mat-expansion-panel{box-shadow:none!important;margin:0;border-radius:0!important;background:transparent!important}.dmp-search-panel .search-result-option mat-expansion-panel .mat-expansion-panel-content{background:#0003}.dmp-search-panel .search-result-option mat-expansion-panel .mat-expansion-panel-content .mat-expansion-panel-body{padding:12px 16px!important}@media (max-width: 767px){.dmp-search-panel .search-result-option mat-expansion-panel .mat-expansion-panel-content .mat-expansion-panel-body{padding:10px 12px!important}}.dmp-search-panel .search-result-option mat-expansion-panel .mat-expansion-panel-content .mat-expansion-panel-body>div{margin-bottom:10px;display:flex;align-items:flex-start;gap:8px;font-size:12px;line-height:1.5}.dmp-search-panel .search-result-option mat-expansion-panel .mat-expansion-panel-content .mat-expansion-panel-body>div:last-child{margin-bottom:0}@media (max-width: 767px){.dmp-search-panel .search-result-option mat-expansion-panel .mat-expansion-panel-content .mat-expansion-panel-body>div{font-size:11px;gap:6px}}.dmp-search-panel .search-result-option mat-expansion-panel .mat-expansion-panel-content .mat-expansion-panel-body>div .field-label{color:#bdc1c3cc!important;min-width:90px;font-weight:500;flex-shrink:0;font-size:13px}@media (max-width: 767px){.dmp-search-panel .search-result-option mat-expansion-panel .mat-expansion-panel-content .mat-expansion-panel-body>div .field-label{min-width:80px}}.dmp-search-panel .search-result-option mat-expansion-panel .mat-expansion-panel-content .mat-expansion-panel-body>div .field-value{color:#fff!important;font-weight:300;flex:1;word-break:break-word;font-size:13px}.dmp-search-panel .search-result-option mat-expansion-panel .mat-expansion-panel-content .mat-expansion-panel-body>div .open-link{color:#2e98eb!important;text-decoration:none!important;display:inline-flex;align-items:center;gap:4px}.dmp-search-panel .search-result-option mat-expansion-panel .mat-expansion-panel-content .mat-expansion-panel-body>div .open-link:hover{color:#2180c9!important;text-decoration:underline!important}.dmp-search-panel .search-result-option mat-expansion-panel .mat-expansion-panel-content .mat-expansion-panel-body>div .open-link .link-icon{font-size:14px;width:14px;height:14px}.dmp-search-panel .search-result-option mat-expansion-panel .mat-expansion-panel-content .mat-expansion-panel-body .add-layer-section{display:flex;align-items:center;margin-top:12px;padding-top:12px;border-top:1px solid rgba(255,255,255,.1)}.dmp-search-panel .search-result-option mat-expansion-panel .mat-expansion-panel-content .mat-expansion-panel-body .add-layer-section .field-label{min-width:90px}.dmp-search-panel .search-result-option mat-expansion-panel .mat-expansion-panel-content .mat-expansion-panel-body .add-layer-section .add-option{color:#6ccb78!important;cursor:pointer;font-size:20px;width:20px;height:20px;transition:all .2s ease}.dmp-search-panel .search-result-option mat-expansion-panel .mat-expansion-panel-content .mat-expansion-panel-body .add-layer-section .add-option:hover{color:#45a049!important;transform:scale(1.1)}.dmp-search-panel .search-result-option:first-child mat-expansion-panel .mat-expansion-panel-header{border-top-left-radius:4px!important;border-top-right-radius:4px!important}.dmp-search-panel .search-result-option:last-child mat-expansion-panel .mat-expansion-panel-header.mat-expanded{border-radius:0!important}.dmp-search-panel .search-result-option:last-child mat-expansion-panel .mat-expansion-panel-content{border-bottom-left-radius:4px!important;border-bottom-right-radius:4px!important}.dialog-header{position:relative}.dialog-header .close-button{position:absolute;top:-9px;right:-14px;color:#fff;cursor:pointer;border-radius:50%;transition:all .2s ease;font-size:18px;width:24px;height:24px;display:flex;justify-content:center;align-items:center;z-index:10;background-color:#ffffff1a}.dialog-header .close-button:hover{color:#e0d5d5}.field-label{color:#bdc1c3cc!important;margin-right:6px}.open-link{color:#2e98eb!important;text-decoration:none!important;display:inline-flex;align-items:center;gap:4px}.open-link:hover{color:#2180c9!important;text-decoration:underline!important}.field-value{color:#fff!important;font-weight:300}.add-layer-section{display:flex;align-items:center;margin-top:8px;padding-top:8px;border-top:1px solid rgba(255,255,255,.1)}.dmp-item-list .dmp-item-container{display:flex;align-items:center;width:100%;gap:12px;min-width:0}.dmp-item-list .dmp-item-container .dmp-item-left{display:flex;align-items:center;gap:8px;flex:1;min-width:0}.dmp-item-list .dmp-item-container .dmp-item-left .delete-icon{color:#bdc1c3cc;font-size:18px;width:18px;height:18px;cursor:pointer;flex-shrink:0}@media (max-width: 767px){.dmp-item-list .dmp-item-container .dmp-item-left .delete-icon{font-size:16px;width:16px;height:16px}}.dmp-item-list .dmp-item-container .dmp-item-left .delete-icon:hover{color:#d3d3d3}.dmp-item-list .dmp-item-container .dmp-item-left .dmp-item-title{flex:1;min-width:0;overflow:hidden}.dmp-item-list .dmp-item-container .dmp-item-left .dmp-item-title .title-text{color:#fff;font-size:13px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;display:block}@media (max-width: 767px){.dmp-item-list .dmp-item-container .dmp-item-left .dmp-item-title .title-text{font-size:11px}}.dmp-item-list .dmp-item-container .dmp-item-center{display:flex;align-items:center;gap:8px;flex-shrink:0}.dmp-item-list .dmp-item-container .dmp-item-center .zoom-off{color:#ef4444;font-size:16px;width:16px;height:16px}@media (max-width: 767px){.dmp-item-list .dmp-item-container .dmp-item-center .zoom-off{font-size:14px;width:14px;height:14px}}.dmp-item-list .dmp-item-container .dmp-item-center mat-icon{flex-shrink:0}.dmp-item-list .dmp-item-container .dmp-item-center mat-icon.power-on{color:#6ccb78;font-size:18px;width:18px;height:18px;cursor:pointer}@media (max-width: 767px){.dmp-item-list .dmp-item-container .dmp-item-center mat-icon.power-on{font-size:16px;width:16px;height:16px}}.dmp-item-list .dmp-item-container .dmp-item-center mat-icon.power-on:hover{color:#45a049}.dmp-item-list .dmp-item-container .dmp-item-center mat-icon.power-off{color:#bdc1c3cc;font-size:18px;width:18px;height:18px;cursor:pointer}@media (max-width: 767px){.dmp-item-list .dmp-item-container .dmp-item-center mat-icon.power-off{font-size:16px;width:16px;height:16px}}.dmp-item-list .dmp-item-container .dmp-item-center mat-icon.power-off:hover{color:#d3d3d3}.dmp-item-list .dmp-item-container .dmp-item-center mat-icon.power-fail{color:#bdc1c3cc;font-size:18px;width:18px;height:18px}@media (max-width: 767px){.dmp-item-list .dmp-item-container .dmp-item-center mat-icon.power-fail{font-size:16px;width:16px;height:16px}}.dmp-item-list .dmp-item-slider{display:flex;align-items:center;width:100%;margin-top:4px;margin-bottom:4px}.dmp-item-list .dmp-item-slider input[type=range]{width:100%;height:4px;-webkit-appearance:none;background:#fff3;border-radius:2px;outline:none;cursor:pointer}.dmp-item-list .dmp-item-slider input[type=range]::-webkit-slider-thumb{-webkit-appearance:none;width:12px;height:12px;border-radius:50%;background:#fff;cursor:pointer;transition:background .2s ease}.dmp-item-list .dmp-item-slider input[type=range]::-webkit-slider-thumb:hover{background:#6ccb78}.dmp-item-list .dmp-item-slider input[type=range]::-moz-range-thumb{width:12px;height:12px;border-radius:50%;background:#fff;cursor:pointer;border:none}.dmp-item-list .dmp-item-slider input[type=range]::-moz-range-thumb:hover{background:#6ccb78}.dmp-item-list ::ng-deep .dmp-item{cursor:move;width:100%;display:flex;flex-direction:column;align-items:stretch}::ng-deep .dmp-item-list mat-expansion-panel{box-shadow:none!important}.group-header{display:flex;color:#fff;padding:8px 14px;font-weight:600;background:#ffffff08}.group-header mat-icon{margin-left:10px;cursor:pointer;color:#bdc1c3cc;transition:color .2s ease}.group-header mat-icon:hover{color:#6ccb78}.layer-selector-body-wrapper{position:absolute;top:0!important;left:0!important;margin:0!important;z-index:1000;box-sizing:border-box;display:flex;flex-direction:column;transition:width .3s ease,max-width .3s ease;border-top-left-radius:5px;border-top-right-radius:5px;box-shadow:0 2px 10px #0000001a;border-bottom-left-radius:5px!important;border-bottom-right-radius:5px!important}.layer-selector-body-wrapper.cdk-drag-dragging{opacity:.8;cursor:move;z-index:1001}.layer-selector-body-wrapper:not(.collapsed) .drag-handle-icons{justify-content:space-between}.layer-selector-body-wrapper:not(.collapsed) .drag-handle-icons .icon-left{order:1;margin-right:auto}.layer-selector-body-wrapper:not(.collapsed) .drag-handle-icons .toggle-icon{order:3}.layer-selector-body-wrapper.collapsed .layer-selector-body{display:none}.layer-selector-body-wrapper.collapsed .drag-handle-selector{width:100%;min-width:100%;box-sizing:border-box;border-bottom-left-radius:5px!important;border-bottom-right-radius:5px!important}.layer-selector-body-wrapper.collapsed .drag-handle-selector .drag-handle-content{width:100%}.layer-selector-body-wrapper.collapsed .drag-handle-selector .drag-handle-content .drag-handle-icons{width:100%;justify-content:space-between;gap:6px}.layer-selector-body-wrapper.collapsed .drag-handle-selector .drag-handle-content .drag-handle-icons mat-icon{font-size:18px!important;flex-shrink:0}.layer-selector-body-wrapper.collapsed .drag-handle-selector .drag-handle-content .drag-handle-icons mat-icon.icon-left{cursor:default!important}.layer-selector-body-wrapper.collapsed .drag-handle-selector .drag-handle-content .drag-handle-icons mat-icon.toggle-icon{cursor:pointer!important}.layer-selector-body-wrapper.collapsed .drag-handle-selector .drag-handle-content .drag-handle-icons mat-icon.toggle-icon:hover{color:#d3d3d3!important}@media (max-width: 767px){.layer-selector-body-wrapper{width:calc(100vw - 7em);max-width:calc(100vw - 7em);min-width:unset;left:.5em}.layer-selector-body-wrapper.collapsed{width:90px!important;max-width:90px!important;min-width:90px!important}}@media (min-width: 768px) and (max-width: 1024px){.layer-selector-body-wrapper{width:280px;max-width:280px;min-width:280px}.layer-selector-body-wrapper.collapsed{width:90px!important;max-width:90px!important;min-width:90px!important}}.drag-handle-selector{display:flex;justify-content:flex-end;border-radius:5px 5px 0 0;padding:0 2px;cursor:move}.drag-handle-content,.drag-handle-icons{display:flex;align-items:center;width:100%}.drag-handle-icons mat-icon{font-size:18px;transition:all .2s ease;display:flex;align-items:center;justify-content:center;flex-shrink:0}.icon-left{cursor:default!important}.toggle-icon{cursor:pointer!important}.toggle-icon:hover{color:#d3d3d3!important}::ng-deep .layer-selector-body{position:relative;left:auto;right:auto;bottom:auto;z-index:auto;width:100%;max-width:100%;max-height:610px;min-height:120px;overflow-y:auto;border-radius:0 0 5px 5px!important}::ng-deep .layer-selector-body .mat-expansion-panel-header-title{gap:6px;overflow:hidden;min-width:0}::ng-deep .layer-selector-body::-webkit-scrollbar{width:12px}::ng-deep .layer-selector-body::-webkit-scrollbar-track{background:#757474;border-radius:8px}::ng-deep .layer-selector-body::-webkit-scrollbar-thumb{background:#1a1c1f;border-radius:8px;border:2px solid #2a2c30}::ng-deep .layer-selector-body::-webkit-scrollbar-thumb:hover{background:#0f1012}::ng-deep .layer-selector-body::-webkit-scrollbar-button{width:12px;height:16px;background:#2a2c30;border:1px solid #1a1c1f}::ng-deep .layer-selector-body::-webkit-scrollbar-button:vertical:decrement{background:#2a2c30 url(\"data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 12 12'%3E%3Cpath fill='%23ffffff' d='M6 4l-4 4h8z'/%3E%3C/svg%3E\") no-repeat center;border-radius:8px 8px 0 0}::ng-deep .layer-selector-body::-webkit-scrollbar-button:vertical:decrement:hover{background-color:#1a1c1f}::ng-deep .layer-selector-body::-webkit-scrollbar-button:vertical:increment{background:#2a2c30 url(\"data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 12 12'%3E%3Cpath fill='%23ffffff' d='M6 8l4-4H2z'/%3E%3C/svg%3E\") no-repeat center;border-radius:0 0 8px 8px}::ng-deep .layer-selector-body::-webkit-scrollbar-button:vertical:increment:hover{background-color:#1a1c1f}@media (max-width: 767px){::ng-deep .layer-selector-body{width:100%;max-height:70vh;min-height:140px}}@media (min-width: 768px) and (max-width: 1024px){::ng-deep .layer-selector-body{width:100%;max-width:100%;max-height:76vh;min-height:110px}}::ng-deep .layer-selector-body .search-section{display:flex;padding:12px 12px 8px;justify-content:center;align-items:center;gap:8px}@media (max-width: 767px){::ng-deep .layer-selector-body .search-section{padding:8px 8px 4px;gap:4px}}::ng-deep .layer-selector-body .search-section .search-field-wrapper{flex:1;display:flex;flex-direction:column;min-width:0}::ng-deep .layer-selector-body .search-section .search-label{color:#fff}::ng-deep .layer-selector-body .search-section mat-form-field{flex:1}::ng-deep .layer-selector-body .search-section mat-form-field .search-icon{color:#fff}::ng-deep .layer-selector-body .search-section mat-form-field ::ng-deep .mat-mdc-form-field-focus-overlay{background-color:transparent}::ng-deep .layer-selector-body .search-section>mat-icon{color:#fff;cursor:pointer;margin-top:0;transition:color .2s ease}::ng-deep .layer-selector-body .search-section>mat-icon:hover{color:#d3d3d3}@media (max-width: 767px){::ng-deep .layer-selector-body .item-list{padding:4px;max-height:calc(60vh - 80px)}}@media (min-width: 768px) and (max-width: 1024px){::ng-deep .layer-selector-body .item-list{max-height:calc(77vh - 78px)}}::ng-deep .layer-selector-body .item-list .group{overflow:hidden;box-shadow:none}::ng-deep .layer-selector-body .item-list .group>mat-expansion-panel{background:transparent!important;box-shadow:none!important;margin-bottom:4px}@media (max-width: 767px){::ng-deep .layer-selector-body .item-list .group>mat-expansion-panel .mat-expansion-panel-header{padding:0 16px;height:40px!important}}::ng-deep .layer-selector-body .item-list .group>mat-expansion-panel .mat-expansion-panel-header .mat-panel-title{display:flex;align-items:center;gap:6px;font-weight:600!important;color:#bdc1c3cc!important;transition:color .2s ease;cursor:pointer;overflow:hidden;min-width:0}@media (max-width: 767px){::ng-deep .layer-selector-body .item-list .group>mat-expansion-panel .mat-expansion-panel-header .mat-panel-title{gap:4px;font-size:11px}}::ng-deep .layer-selector-body .item-list .group>mat-expansion-panel .mat-expansion-panel-header .mat-panel-title .panel-title{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;min-width:0}::ng-deep .layer-selector-body .item-list .group>mat-expansion-panel .mat-expansion-panel-header .mat-panel-title mat-icon{color:#bdc1c3cc;font-size:16px;width:16px;height:16px;transition:all .2s ease;flex-shrink:0}@media (max-width: 767px){::ng-deep .layer-selector-body .item-list .group>mat-expansion-panel .mat-expansion-panel-header .mat-panel-title mat-icon{font-size:14px;width:14px;height:14px}}::ng-deep .layer-selector-body .item-list .group>mat-expansion-panel .mat-expansion-panel-header .mat-panel-title mat-icon.power-on{color:#6ccb78;cursor:pointer}::ng-deep .layer-selector-body .item-list .group>mat-expansion-panel .mat-expansion-panel-header .mat-panel-title mat-icon.power-on:hover{color:#45a049}::ng-deep .layer-selector-body .item-list .group>mat-expansion-panel .mat-expansion-panel-header .mat-panel-title mat-icon.power-off{cursor:pointer;color:#bdc1c3cc;font-size:24px;height:24px;width:24px}::ng-deep .layer-selector-body .item-list .group>mat-expansion-panel .mat-expansion-panel-header .mat-panel-title mat-icon.power-off:hover{color:#d3d3d3}::ng-deep .layer-selector-body .item-list .group>mat-expansion-panel .mat-expansion-panel-header .mat-panel-title mat-icon.power-fail{color:#bdc1c3cc}::ng-deep .layer-selector-body .item-list .group>mat-expansion-panel .mat-expansion-panel-content{background:#0003}@media (max-width: 767px){::ng-deep .layer-selector-body .item-list .group>mat-expansion-panel .mat-expansion-panel-content .mat-expansion-panel-body{padding:2px 0 2px 12px}}::ng-deep .layer-selector-body .item-list .group .item-list{padding:0}::ng-deep .layer-selector-body .item-list .group .item-list mat-expansion-panel{background:transparent!important;box-shadow:none!important;margin-bottom:2px}::ng-deep .layer-selector-body .item-list .group .item-list mat-expansion-panel .mat-expansion-panel-header{overflow:hidden}::ng-deep .layer-selector-body .item-list .group .item-list mat-expansion-panel .mat-expansion-panel-header .mat-content{overflow:hidden;min-width:0}::ng-deep .layer-selector-body .item-list .group .item-list mat-expansion-panel .mat-expansion-panel-content{background:#00000026}::ng-deep .layer-selector-body .item-list .group .item-list mat-expansion-panel .mat-expansion-panel-content .mat-expansion-panel-body{padding:8px 16px 12px 32px}::ng-deep .layer-selector-body .item-list .group .item-list .layer-description{font-size:12px;color:#fffc;line-height:1.5;margin-bottom:8px;margin-left:28px}::ng-deep .layer-selector-body .item-list .group .item{width:100%;box-sizing:border-box;display:flex;flex-direction:column;gap:4px;background:transparent;transition:all .2s ease;color:#fff;cursor:pointer;font-size:13px}@media (max-width: 767px){::ng-deep .layer-selector-body .item-list .group .item{font-size:11px}}::ng-deep .layer-selector-body .item-list .group .item:hover{background-color:transparent}::ng-deep .layer-selector-body .item-list .group .item .item-top-row{display:flex;align-items:center;justify-content:space-between;gap:8px;width:100%;min-width:0}::ng-deep .layer-selector-body .item-list .group .item .item-left{display:flex;align-items:center;gap:4px;flex:1;min-width:0}::ng-deep .layer-selector-body .item-list .group .item .item-left .drag-indicator{color:#ffffff80;font-size:16px;width:16px;height:16px;cursor:move;flex-shrink:0}@media (max-width: 767px){::ng-deep .layer-selector-body .item-list .group .item .item-left .drag-indicator{font-size:14px;width:14px;height:14px}}::ng-deep .layer-selector-body .item-list .group .item .item-left .layer-info{cursor:pointer;color:#e0e0de;font-size:16px;width:16px;height:16px;flex-shrink:0;transition:all .2s ease}@media (max-width: 767px){::ng-deep .layer-selector-body .item-list .group .item .item-left .layer-info{font-size:14px;width:14px;height:14px}}::ng-deep .layer-selector-body .item-list .group .item .item-left .layer-info:hover{color:#ccb913}::ng-deep .layer-selector-body .item-list .group .item .item-left span{flex:1;font-size:13px;word-wrap:break-word;word-break:break-word;overflow-wrap:break-word;white-space:normal;color:#fff;font-weight:400;min-width:0}@media (max-width: 767px){::ng-deep .layer-selector-body .item-list .group .item .item-left span{font-size:11px}}::ng-deep .layer-selector-body .item-list .group .item .item-center{display:flex;align-items:center;gap:4px;flex-shrink:0}::ng-deep .layer-selector-body .item-list .group .item .item-center .zoom-off{color:#ef4444;font-size:16px;width:16px;height:16px}@media (max-width: 767px){::ng-deep .layer-selector-body .item-list .group .item .item-center .zoom-off{font-size:14px;width:14px;height:14px}}::ng-deep .layer-selector-body .item-list .group .item .item-right{display:flex;align-items:center;gap:8px;flex-shrink:0}::ng-deep .layer-selector-body .item-list .group .item .item-right mat-icon{flex-shrink:0}::ng-deep .layer-selector-body .item-list .group .item .item-right mat-icon.power-on{color:#6ccb78;font-size:18px;width:18px;height:18px;cursor:pointer}@media (max-width: 767px){::ng-deep .layer-selector-body .item-list .group .item .item-right mat-icon.power-on{font-size:16px;width:16px;height:16px}}::ng-deep .layer-selector-body .item-list .group .item .item-right mat-icon.power-on:hover{color:#45a049}::ng-deep .layer-selector-body .item-list .group .item .item-right mat-icon.power-off{color:#bdc1c3cc;font-size:18px;width:18px;height:18px;cursor:pointer}@media (max-width: 767px){::ng-deep .layer-selector-body .item-list .group .item .item-right mat-icon.power-off{font-size:16px;width:16px;height:16px}}::ng-deep .layer-selector-body .item-list .group .item .item-right mat-icon.power-off:hover{color:#d3d3d3}::ng-deep .layer-selector-body .item-list .group .item .item-right mat-icon.power-fail{color:#bdc1c3cc;font-size:18px;width:18px;height:18px}@media (max-width: 767px){::ng-deep .layer-selector-body .item-list .group .item .item-right mat-icon.power-fail{font-size:16px;width:16px;height:16px}}::ng-deep .layer-selector-body .item-list .group .item .item-slider{display:flex;align-items:center;width:100%;margin-bottom:4px}::ng-deep .layer-selector-body .item-list .group .item .item-slider input[type=range]{width:100%;height:4px;-webkit-appearance:none;background:#fff3;border-radius:2px;outline:none;cursor:pointer}::ng-deep .layer-selector-body .item-list .group .item .item-slider input[type=range]::-webkit-slider-thumb{-webkit-appearance:none;width:12px;height:12px;border-radius:50%;background:#fff;cursor:pointer;transition:background .2s ease}::ng-deep .layer-selector-body .item-list .group .item .item-slider input[type=range]::-webkit-slider-thumb:hover{background:#6ccb78}::ng-deep .layer-selector-body .item-list .group .item .item-slider input[type=range]::-moz-range-thumb{width:12px;height:12px;border-radius:50%;background:#fff;cursor:pointer;border:none}::ng-deep .layer-selector-body .item-list .group .item .item-slider input[type=range]::-moz-range-thumb:hover{background:#6ccb78}::ng-deep .layer-selector-body-wrapper .result-title{color:#fff}::ng-deep .layer-selector-body-wrapper .mat-expansion-panel:not([class*=mat-elevation-z]){box-shadow:none!important}::ng-deep .layer-selector-body-wrapper .mat-expansion-panel-header.mat-expanded:focus,::ng-deep .layer-selector-body-wrapper .mat-expansion-panel-header.mat-expanded:hover{background:inherit!important}::ng-deep .layer-selector-body-wrapper .show-layer-highlight{font-size:18px;height:18px;width:18px}::ng-deep .layer-selector-body-wrapper .dmp-item{cursor:move;width:100%}::ng-deep .layer-selector-body-wrapper .dmp-search-panel .mat-expansion-panel-header.mat-expanded:focus,::ng-deep .layer-selector-body-wrapper .dmp-search-panel .mat-expansion-panel-header.mat-expanded:hover,::ng-deep .layer-selector-body-wrapper .dmp-dialog-content .mat-expansion-panel-header.mat-expanded:focus,::ng-deep .layer-selector-body-wrapper .dmp-dialog-content .mat-expansion-panel-header.mat-expanded:hover{background:#ffffff26!important}::ng-deep .layer-selector-body-wrapper .dmp-search-panel .mat-expansion-panel:not([class*=mat-elevation-z]),::ng-deep .layer-selector-body-wrapper .dmp-dialog-content .mat-expansion-panel:not([class*=mat-elevation-z]){box-shadow:none!important}::ng-deep .layer-selector-body-wrapper .dmp-search-panel .mat-expansion-indicator:after,::ng-deep .layer-selector-body-wrapper .dmp-dialog-content .mat-expansion-indicator:after{color:#fff!important;border-color:#fff!important}::ng-deep .layer-selector-body-wrapper mat-expansion-panel .mat-expansion-panel-content .mat-expansion-panel-body{padding-left:0!important;padding-right:0!important;box-sizing:border-box}@media (max-width: 767px){::ng-deep .layer-selector-body-wrapper mat-expansion-panel .mat-expansion-panel-content .mat-expansion-panel-body{padding-left:12px!important;padding-right:12px!important}}.cdk-drag-preview{box-sizing:border-box;border-radius:5px;box-shadow:0 5px 15px #00000026;background:#4c4d51;padding:8px 12px;color:#fff;display:flex;align-items:center;gap:8px}.cdk-drag-preview mat-icon{color:#fff}.cdk-drag-animating,.cdk-drop-list-dragging .cdk-drag{transition:transform .25s cubic-bezier(0,0,.2,1)}.cdk-drop-list-dragging .cdk-drag{transform:translateZ(0)!important}.power-on{color:#6ccb78!important;font-size:24px;width:24px;height:24px}.power-off{cursor:pointer;color:#bdc1c3cc!important}.power-fail{color:#bdc1c3cc!important}.add-option{color:#6ccb78!important}.add-option:hover{color:#37923a!important}::ng-deep .lightbulb{color:#dfca0e;width:18px;height:18px;font-size:18px}::ng-deep .arrow-up-layer{color:#fff;width:18px;height:18px;font-size:18px}::ng-deep .mdc-text-field--outlined{overflow:hidden!important}::ng-deep .drag-indicator{cursor:move!important}\n"] }]
1238
1238
  }], propDecorators: { contentBody: [{
1239
1239
  type: ViewChild,
1240
1240
  args: ['layerSelectorBody', { static: false }]
@@ -1745,147 +1745,6 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.15", ngImpo
1745
1745
  type: Injectable
1746
1746
  }] });
1747
1747
 
1748
- class MergeFeaturesService {
1749
- _current = inject(CurrentItemsService);
1750
- _featureHelper = inject(FeatureHelperService);
1751
- _interactionHelper = inject(InteractionHelperService);
1752
- _drawLayerService = inject(DrawLayerSourceService);
1753
- _undoRedoService = inject(UndoRedoService);
1754
- _selectedMergeFeature;
1755
- formatter = new GeoJSON$1();
1756
- _formatterOptions = { dataProjection: 'EPSG:4326', featureProjection: 'EPSG:25832' };
1757
- _selectFilter(f, typeId) {
1758
- if (this._featureHelper.isLocked(f)) {
1759
- return false;
1760
- }
1761
- if (this._featureHelper.typeId(f) !== typeId) {
1762
- return false;
1763
- }
1764
- if (f.getGeometry()?.getType() !== 'Polygon') {
1765
- return false;
1766
- }
1767
- if (this._selectedMergeFeature) {
1768
- const previusFeatureObject = this.formatter.writeFeatureObject(this._selectedMergeFeature, this._formatterOptions);
1769
- const bufferedPreviouslySelected = buffer(previusFeatureObject, 5, { units: 'centimeters' });
1770
- const featureObject = this.formatter.writeFeatureObject(f, this._formatterOptions);
1771
- const bufferedFeature = buffer(featureObject, 5, { units: 'centimeters' });
1772
- const areNear = booleanIntersects(bufferedPreviouslySelected, bufferedFeature);
1773
- return areNear;
1774
- }
1775
- return this._featureHelper.typeId(f) === typeId;
1776
- }
1777
- startMerge(typeId, done) {
1778
- this._selectedMergeFeature = undefined;
1779
- this._interactionHelper.clearTempFromMap();
1780
- this._current.map$.subscribe({
1781
- next: map => {
1782
- const select = new Select({
1783
- layers: [this._drawLayerService.layer],
1784
- filter: f => this._selectFilter(f, typeId)
1785
- });
1786
- this._interactionHelper.setAsTemp(select);
1787
- select.on('select', evt => {
1788
- if (this._selectedMergeFeature) {
1789
- if (evt.selected && evt.selected.length > 0 && this._selectedMergeFeature.getId() !== evt.selected[0].getId()) {
1790
- const feature1 = this.formatter.writeFeatureObject(this._selectedMergeFeature, this._formatterOptions);
1791
- const feature2 = this.formatter.writeFeatureObject(evt.selected[0], this._formatterOptions);
1792
- const bufferedFeature1 = buffer(feature1, 5, { units: 'centimeters' });
1793
- const bufferedFeature2 = buffer(feature2, 5, { units: 'centimeters' });
1794
- const newFeatureObject = union(featureCollection([bufferedFeature1, bufferedFeature2]));
1795
- const newFeature = this.formatter.readFeature(newFeatureObject, this._formatterOptions);
1796
- this._selectedMergeFeature.setGeometry(newFeature.getGeometry());
1797
- this._drawLayerService.source.removeFeature(evt.selected[0]);
1798
- this._undoRedoService.addStep();
1799
- }
1800
- this._selectedMergeFeature = undefined;
1801
- map.removeInteraction(select);
1802
- done();
1803
- }
1804
- else {
1805
- this._selectedMergeFeature = evt.selected[0];
1806
- }
1807
- });
1808
- map.addInteraction(select);
1809
- }
1810
- });
1811
- }
1812
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.15", ngImport: i0, type: MergeFeaturesService, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
1813
- static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "19.2.15", ngImport: i0, type: MergeFeaturesService });
1814
- }
1815
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.15", ngImport: i0, type: MergeFeaturesService, decorators: [{
1816
- type: Injectable
1817
- }] });
1818
-
1819
- class IconsConstants {
1820
- static undoIconBase64 = 'data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAYAAADgdz34AAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAAgY0hSTQAAeiYAAICEAAD6AAAAgOgAAHUwAADqYAAAOpgAABdwnLpRPAAAAyZJREFUSEu9VktPE1EUriuCYeHOpb9FF4YoCw2kiArESI0viERBBQ3EBTEE5dHaBy20pUwL5VU6FSqvVp4tBfqgnWlLOwWEYEwM6UII0fg5U5BCFFKgOsnJ5M7ce77znXvPd+4p3s7T3NycHY1GKzY3N89tbW2d/v39KO+UlJSN1NTUpbS0NJFAIBDvrlWpVKaamhpYrVa43W6Ew+FjGbeW8yGTyTjzxwDkcnmeWCw+lsPDAlGr1VAoFHU8iUTyaWxsLOkADocD1dXV6zwW5QdN00kH4NhVVFSAA/gnzk8MwLARMgwTs4P2IiEGNjZ9bZZ5NPS7UG2cx5v3FN6a/RCag2gdD2PUt5o4AM1E4pPZyAiDE+VtDhQRcyjUuiAg3Lijo3CvM4CinhBKSQZlJgaVZi9GXH8y2ceACizgqWoC9cY52D1eSEk77rfMoqDVhUzFDC5JnUiXuHBZQeFKSxD8Ngb5XSt40PcZxX1rKDGwQDZvLMBQaLuO9gH4/QE8Vo7jVtM0nrTYcVc9ixy1B+lSN84LZ3Ghzo7LdaO4KpxAlmQK/EYHspU+XO9YgqD/Kx4NRVFsXIbJFi/SfQA0HcBLrQ0POygUdtDIJWhkKL24KJpBVu0gymUkVHoS3SYzjH3D6CAHoegcwitihA1mDgW9qygc2cAzgxc2bzDOgK3k2MDj86OMmEJuqx83tAu4Riwgs9mD/PoBtBvMoJ1zWGbCWFzcm+sQmACFYYsFr9s/4rY+jBzdIuTkttzEGEil0m0AL4VSlgGfCCGvewUFxjUUmlZQrpuCfXaePY6H61OAovDOYMFzlRUfLNNxAE6YOACfj0aJfBQZYgeyFE7wFS7c1PiQKZrCC+0EIpE9J+wgMQwtwMKyiQT/kqIQ+5MkR6A3DUPfOwCiywRtdz8adSSMg5OIJKiwseLbmZtQoR1Xuk8sFYkA/zcGP4M7m5JIVEeZE2PAtsovNpst6ZLNtc+qqqpvPPaYNmg0mqQDKJVKiEQia6wvC4XCdb1ej2R0Ns4H57y2tnazp6fnzO7NoqmpyVRZWfmdy9tJjPPBXiIm2U55lnP+C/4QIs8xdHrCAAAAAElFTkSuQmCC';
1821
- static redoIconBase64 = 'data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAYAAADgdz34AAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAAgY0hSTQAAeiYAAICEAAD6AAAAgOgAAHUwAADqYAAAOpgAABdwnLpRPAAAAwVJREFUSEu9VktPE1EUxhXBsHDn0t+iC0OUhQYCogIxUuOrRKKggqaNK2PAUlr7gNIHZVpooS3TQhsKtBKgrX3QltoX7SCKwYVG2dAQjZ8zjbzkVbA6yclM7tzzffc755577rGC349cLq9cWVnhZDKZU2tra8fXxw/zLiwsXC0qKlosLi4Wslgs0YavUqm0tLa2wul0IhQKIZ1OH8kYXwZDKpUyFs8SdHV11YhEoiMB7rcQlUoFmUzWXiAWiz/4/f68E4TDYfD5/G8FNMuPWCyWdwJGHYfDAUPwT8BzIqAoClk7YtIPVDDsTaJ3Kg2BLYmXtjjahqN4Qc6hwxpEn2MOVt/+od2TwOBJgGuLoNlCoclMod6Ywq2BBG5oo2ARIbA1QdQTAbT0eUGYZpHaojC55XtXAq47gkYThYaRZdwZ+YTawSVU9FG40JPEeVkUJeIgzklmUSbzoa43iNs9fkjMHsQSSfDJAB4qpzdyuoPA4k6jgXyPe2MrYFm/4LJ+EZWKt6jo9KJc7MJFwTTOt0/iTLsHpwV+lEhCqFKFcVPlx4MeD651v8F9xdTuBDZfHI9MEbAnVlE39JF2CuAZMQHZwBj0ZjvIkXEYLDYodWa0SM0o59lxVuhDqSKCaiIGtj6Gu/oonmrc2wnoSs4OcMkwqrTvcF2XxvP+1xh3OGD3x+l/qR3beCyQQL/Jhlr+KMrkYVwi5nFFM4/q3jiaCdd2AolEkh0gSRKPlU68MjmQSu0E3XosUFQaoUgMLVoX2JYl1JHLqDHQuSJSaPpTAXMwMc4UvVKNbTNBBx14TzTTKBO6cFVN50gWRLlsFqUiLxq7JncP0cLCQraoDgJe/0/aZ9CpNUNjsIIYtEA3NAqdZRxm88TeuyhX8FznHVjJuQLtNe+/EfxMJpM5x/4wqrIKhELhZ7d7szgOA7DfXKZ9trW1rRbQ27RDrVbnXYFCoQC9eGe2LwsEgq86nQ756GwMBgPO4/EyRqPxxMbNoru728Llcr8zcfsbYzDoS8QM3SlPMuC/ALEMIuD09rJvAAAAAElFTkSuQmCC';
1822
- static trimIconBase64 = 'data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAYAAADgdz34AAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAAgY0hSTQAAeiYAAICEAAD6AAAAgOgAAHUwAADqYAAAOpgAABdwnLpRPAAAA0BJREFUSEulVmtIU2EYPv0SdVFqZIhYUBhECwQRIkMY9MPAKEi7QFos+ydC9CMR2spcdVhM2lhNN+ccgi1M05kkistpTibWQJqNNMUupObcTIdEvJ3303PYOe5qg29n5+z7nue9Pu/ZQW1+GhsbL/h8PlkgENi/vr6exD6P55qQkLCWmJg4KxKJNOXl5VrubFNTk1WpVILNZgOXywVTU1PbWngWMXQ6Ha5JQtDQ0FCq1Wq3BfjWNQsVbYsgqV+Gj55pHobJZAK9Xl9HqVSqGbvdHjOBY2IG7r2eh+y6VUij/VBmdEOhYQKqrQs8DKfTCTRNeym5XP7H7XZHJEDrHr35CRK9D9Ie+uCUaRL0g31gc7WRhb+RUBhamUwGFH6Fi/nTgR9wrtkLotolKDROw/2eEQ6UBWevOZrv0DL8jYcVkqDLOQcXW7yQ+mAFTmq+wu3OMegd7wgLzBIgOXoYbCyPQKPRwL7L9ZBZ2Qc3O8bh5Wh3VNBgL9CIPfQKYI5YEh6BVCoFKiMXDh85CCWlZ6KCX7p2luyVK29xezHhWFUhCcRiMVByIJuFB4MtRcCcvKNkBYPjHvR6L73KlSzPg6ysLEKAh5BASILPjxfkQkrqLqisuh7WQ8wbFgd6sSUHVHYRAWFJMjLToaqmgpDh72RREphfqSOGr65/EHK1/q0EyMiGiPWESk4HspjcFF8pAqr4BQHH//s/tEGKYo27x+cF9XPk/pDKB1iNUT1Ay9GD7Lz8jZB1b/RBiflTxOtVowvKWn/xCSQSCecBhgMBhc0Uy33rSA+RjxPPlvkEbBWxyRRWSCRw61gnaUjsZqyiG88XAYVwa4g2+yBWcLp3iEhIas0KkZSoUsEmOZK1zUO9cN78mYhevs5PRFAo1SEbLbiKhATYQCgfWB0HHq9BddcCTxLCiSUJESPXfz0eD6lboQd3ukeJ4KHwoQBi6cUz7QgBMyrnHQ4HR6AdGCB6L7q7AKcNS1xXxgOMe3F8KhSKVYqZnU/MZjMh2Fnrh2Pq32RivXd/ictaoQFGoxEYhbaRuaxWq70WiwWiTbZYvEAMBGdGcaC9vX0392ZhMBisOD4xbv+zEIN5iXjHDPx0BP8HrKKC57UCn9MAAAAASUVORK5CYII=';
1823
- static deleteIconBase64 = 'data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAYAAADgdz34AAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAAgY0hSTQAAeiYAAICEAAD6AAAAgOgAAHUwAADqYAAAOpgAABdwnLpRPAAAA45JREFUSEu1VmtIk2EUXr/EWBAV9bM/UX8ikIIoCEIISrpZljNQ87IKaptlV7psRloNY6JzYm7O28gsb6Vppm6m5Ww2XQ4nxswoi7zMpk6bFk/f+XQrLdNNGjz7znde3ud5z/ud95x3EWfql5mZGWy328VjY2OrnU7nYpffk6ePj8+or6/vey6XK+fz+Qr33KysrLLExETodDqYTCZYrVavQHOJIz09ndDBCmRkZIQpFAqvCOtM7yEo7If/3a9o7+yaxpGdnQ2lUpnEkclk3fX19fMW0Ju7cf1JL9YmObBcOoRwtQW7VGZcLuubxmEwGCCVSgc5EolkwmKx/FOAVnf76Rf4K+1YfsuOHdkdUD6vhs5UyIJsEpy5tWKxGBz6m23P07SfEZgzCG68DbvUXbhR0egmdZG7nn7yT9C86JnG9VeBx4YP4GkGsezmMLbJP+Lio2ZUGUtmJXYJkDhF+Pti/xBYJ3NgjcyOMyVGFDWVz0n6exS0iBXSYdA3con8IcCRwCPSmdtEH5yy6r8JUNQrpQ53yi4sAv09aI0PoG3OZ+GKxj/1Ayg5KAqvBIi07qUGjfExsMRGwigKhFHI4EwUDAmXmBOsxibFkPcCdS/y8DomAj1iEfovRKHv+H4WZPdIYtAgCsfucxUo1Xd7FwGtvOfSCQwc24fewM34smcjC7JtjFDbVSFyBOcRnj/ghUBBIizMCm0nD2MgaCv6GdL+A1NgbPLZhCEwCI6Bd6XSMwFt60NUq8QwHtyJYSEP36ofw2loYFA/hQbWNyw6AktoECqUuZ4JVDffR5EsFtagLXAIeBivq8REi34ayEdjb0O2oilP7ZkApWHNfSlaDm3HSPRejPL3wRG9B46oKTA2+WjMzAtAU75m/gJ0gKh8+MW14zZPiDdH12OcomDgPDUJ17s5Yj2ei/h4VVMzKcCU6x+dnZ1s3s4sFdfKm9iCR4WPCiClXqMmC/qwAzDzGZHTofh+NoIF2eSjsVpl2q9zwLTKXr1e7xZQaLVsvefG9SFAZXOfSld9aWttxbN0OXSCSLQHB8Aa5s+CbO2po6hKS2a5qH0mJCQ4OEzvTM7NzWWdS+KHsCFlhO1YLZZ3s/YJs7kNjVVPUZ6ajNI7t1iQXVta4p6jVqshl8t1bF9OSUkZLCgowFydbT6XAeIgcqYVjxUXFy913yxUKlUZtU/6MAsBcTCXiJdMw19F5D8Bm6ShPdSR8VEAAAAASUVORK5CYII=';
1824
- static editIconBase64 = 'data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAYAAADgdz34AAAC1klEQVRIia2VS2gTURSG/5tMJ02chLxDUtpGBKuRgIuooJv6IhTpQlRcVKqLlqzcuRQLXQmCIPUFsTVdKYKuChat1EUXwWAVFSXUB5K21trmUSfPyWTkxrYkzZikqT/M4t5zz/nOmTl3DsGqRkZGziYSiYF0Ot2ezWY1aEAqlSqlVqu/cxx3s7+//zaNUAQEAoGxpaWlEx6PBwaDARzHNRIfPM8jFoshHA7TZdjn8+0ifr+/VxCEUa/X21DQNWVFApVSWl9PTU1BEIQbDM/zgzTzUj36rMXV1yaomYJsMFEixdIDx36gQ58r7pUGp3K5XJicnDzPJBKJFrPZXGYceGXGpb1RHG9NQQ7x5pcKl4MWnHtux+jRBbiM2YozRqMRyWRSz0iSxLAsW2bMiQQ79Tm0aQXZCuZ4BqZmET0dKzgz7sDT7tl/nlXI7tahVJ7AtyeOC7sTODXuQDjOyjo1BKDZFiSC3gk7vq00IZpRoueZXfYs0wiglcvjgXceL+c0YIiEA7YMBkOm/wegot2z1kG8oMD1t4bGAO+WVQguqKEkUoXN2FxAt5Ov6l8TMMszCC02g1FUAhyaPLraq/vXBOy3ZWBTi1CQShu9iPSC5QsyxnoBE5FtuP9JB1ZZaWvjBFw7tFjVvyaAvmOPNQ25HNWMBA0jgRe2UMHjrxzuftCDLfsGBAUJ2K4TcKdzoap/TcDpHb/R6UiDlCTZpJCKD+2sLVfw5IsW/o/lFRy0p3Fl37Js624a0NWehNuULesivapQV/AigBBSEEVRoVSWt0le+huR/jXpU03S6oyQBXActxyNRi0Wi2V983BLCrfe6/FiVgOpjkTTeQXMG5Kg45POaEar1T6cmZm5WAq4d6R6Z9Sj6elp6HS6ULGuoaGhmM1m07vdbmwcPptVLpdDMBhEPB7POJ1O+/qLGx4eHotEIl464bYCIITkrVZriGXZk319fT//AGJrAtxT4sAGAAAAAElFTkSuQmCC';
1825
- static splitIconBase64 = 'data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAYAAADgdz34AAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAAgY0hSTQAAeiYAAICEAAD6AAAAgOgAAHUwAADqYAAAOpgAABdwnLpRPAAAAzZJREFUSEutVl9IU2EU/6IHsYR6K6jooYeiXoJSKiqwHsqQqLAkKh8KaUgpguEKc6a5bG1tzrvF2tQ5GYU9GEtmlsXs+mdujlwG1tpMDXroRXyoIRG/vnNtWurVq/nB2Q6/8/vO79xvZ9+5K9ifVVdXlz0+Pq6Jx+ObJyYmViXwxXwnJSX9SE5OHklJSRFyc3OtU3udTmeLXq+Hz+dDOBxGLBZbktFeymGz2cg+SAJ2uz3HarUuKeF8hTQ0NMDhcJiY0WgcFkVx2QWCwSB0Ot0YKysr+zk4OCgrEI0OIUb217ENfx5VVJBGowGjD7lHjXwcgueNG3mOnUi7xbCHrJwhVcNQ4ErF20g3wv0DsvsXFCh1n0CGgcHiy4I4bELo60PJxGGjhGWaGC4b0tHb2zunyLwC9tYSZFlWonvUjCfvz6G0fTVUT5lk5BPW80XAedsa3GzMQiQSmSUiK9DV14FMI4M4UgVd50YUtTJcfcaQWOQTdq9zEy/AgGxhNbziI0Sj0X9EZAUu3N8Ce9dZCP5tUL9gULcx5LdMC5BPGMUs/u1w9lyC6sEuzGwWWYF9FQytn/Kgfskr5YkKebUqz7QA+YRRjDht0XwcucvQ39+v7An232ZwvktDMd+80CKOa2AvjnKBQCCgTOAAFxD61uPGq4UFiGMNbUAGF5jZTbJHdFDLUNnJUCEylLxmKG7nff98Wox8wihGnDtdDMd0ixBQ2XajkHeKzs+g5ZspyXWeLLHIJ4xixCni3IvmHcqPSF11DcfNDPpebgGGqh6GMp4wscgnjGIGzjnJufbHeuU/Ml0dedWHcNrKYAxyC/FKeaLK7kkjnzCKneGcAsthdHR0KG9TEvB4PLhiTsepan48XgYTTyiEJ418wihGHK/XK1Wv+I9GAqFQSNpoqi1HjmErMviPSJ0iGfcJoxhxiCt7VfDr+tdcQcKoKnr05uZmuN1uuFwuycgnjGLEmWs/FSm1KR+V3/x+v6L7fTGjlManVqv9zvjsNDc2Ni67QH19PQRB8ElzuaamZqypqWlWFyym4gSXLjxKzkdxnB/j2qk3i9ra2hYan3Ru/2OUg79EdPOBv46S/wZ3qa2VRKmhvgAAAABJRU5ErkJggg==';
1826
- static measureDistanceIconBase64 = 'data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAYAAADgdz34AAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAAgY0hSTQAAeiYAAICEAAD6AAAAgOgAAHUwAADqYAAAOpgAABdwnLpRPAAAAnhJREFUSEutlt9r2lAUx92TOHzY2x73Z+1hY4WtMmk7hxta2mGv4g8yjSgmuFp/BllHlSmUOlaGkKmzrtkGloLFImyveyk+bCJjnN17WHywSadmgZPAhfP95HvOzT25Zvp75XK528PhkIxGo1vj8fi6uj7P02w2/7RYLN+sVqtos9mSk9xCoXDA8zzIsgzdbhcGg8FCwXKZRiqVYnGGgHQ6fS+ZTKJgPBNZSFjrhSRJgkwmEzfFYrGvzWYThZfJXXD4H8Hxp4+GQYqiQDgcvjB5vd5fvV4PBR+TFRDKPLiCTlC+HBuGEELAxG6qRQZ4XifAvfT/F8glwAPXEiw574AjaKcQn2GIpoO4zMFG2QHu8hoEpS1DEE0HzMUaeQibZSd499cNQTQdbB/FUHir4gJP5QnGok50HbAerJBlIBU3+GvPMAKSZ+5yaTrIKy8g+i6AW3aVQiKHPuAOCUTrgbkhurtog3+KgEbrPUKC+x6Iy8G5IZoOdk9ykGxEEcC+j0ZbxnLF6xwIdIeJrcjMTv7pQP0A250PCInUvAhIHyXAP0NPNB2UTotQO69MHKgQ1Yko8wjYoaE2Xu/01XWwGXNfAjAR5oT1ZKeVoBAR2Ia4CqLpoHq2B2/Pq+AgdoRohdO3CpKyjVH8nJ6Ua9qJrgMX58DEV7Ths4Wk2XgE0OP6d7/fnxzXb+jbvz7dhb0Taa5gOazxbnrUq04QQEfl906ng4tXlUWvXNPrdnIf+CyHozcUCv0w0dmZKBaLhofLdP3z+TyIoijjXBYE4aJUKoE62RYd+iyPaTBxOopH1Wr1xuTPIpvNHrDxyepmJJgG/Ylo04F/k4n/AeQ5tgsVAwfBAAAAAElFTkSuQmCC';
1827
- static measureAreaIconBase64 = 'data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAYAAADgdz34AAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAAgY0hSTQAAeiYAAICEAAD6AAAAgOgAAHUwAADqYAAAOpgAABdwnLpRPAAAA+JJREFUSEulVl1Mm1UYriaTYYjxYm43JrvwZyZqYlz01mSJWzajN8bolYsXkIhOt7rMsFFal0ClbfqV9lsn6S9rxxgCLa6uZLQCa8vXjsSsP9D/rduKF2BEjK5Bszx+72EFm3YUkOTJ9+Y957wP7895Th+TPPyzWq0fLi8vy0ul0t6VlZUny/6tfBsaGu43NjbeaWpq4pubm41rZ+12u0ej0WBychLRaBT5fH5boLMUo7e3l5BiBCaT6WOj0fjIgH6/D3K5nK23nzm94ddsNiGTybA9fX19MJvNOgnHcYVAIFCTwOu9CrvVCq/Xy9b9fn/VN5vNMn8sFsPlS5fgGh5ie2ZmZqBSqZYkCoXin2QyWZPgG4UCiURi0+Wi/14mO8OCEwllLimnv926b3SuLgHVXBCETWdQ7tOWMig3bTsZ1s3AaOQx6nYhl8sglY1XZELNLZPmcrmHzfdBo1FvvgfxeBz9TmfVeEpPHK85rl1dXWyaysQbZtDf3w/75e9x5Ycf2RgmslF4PB52uN63LgFdksIv8+ANekxNle/IahkIsbmf8d3Vr9E28A6kA2/jpPMA2ocOo+8nBZKpWaTSqdpjSveBSuL3jWNxcRGcVoNQcLpqipQjH4gzfgTmyHsw3VgF2Yprr+C04134BbfYt1zlPfCNT0Ct6hYXsigWi7hXnIeqW4lQaJ1gNhnDee9JaN2HwAtvQO5/BsmFawxknwu/iR73EfBXPq/OQK8/jxPHvxAJ8rh79x5y+dvQqLsR+A8BkSuG34Iu9BrafQ04NbYThaUIA9nkM0zvR+fowWoCISzgo6NHcfDQYQy73EhnsmIPdAgGQ2slSmXmIB15GZywD8E7PG4UHVj4M8tANvk44SVI3a8y0evo6KiUCqVSiVwmDYPejJaWFmi5Hly/vi6ERHBscBd6Is+j8HsAv5UK+PvBfQayydcTeQFS5y5QPysILjgcuH3rFrtUJN9anRZyhQwTE1MVGbQOPIXOwA5ohGehmd6H+T9uMpBNvs7gDtCeKrFTcxyiN3Ow2W2k42uynE6tjhwhk83gmPFFyOQSfCtI0BnaieSvowxkk69DXPvK9vo6gSjXD6he3rEx6DidGNyCVCpdU+Bm5xIwjsjQ6twtjqAEqsjjsMf3M5BNvtaLu3FuqG2dQHwqF8Lh8JYUs9vxKb60PodTzicgG5cwkE0+9cXPWCx6PkXp+Esivp16h1j/rarlhWEeZy2foK33fQayyVeOY7PZwPP8JHuXDQbD0uDgIOt8PaKycj5qH8Wg4OJTXHK5XE+v/bKwWCweej5JAf8PKIY4hdPioOyh4P8CJH3KPKVQai4AAAAASUVORK5CYII=';
1828
- static removePointsIconBase64 = 'data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAYAAADgdz34AAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAAgY0hSTQAAeiYAAICEAAD6AAAAgOgAAHUwAADqYAAAOpgAABdwnLpRPAAAAzJJREFUSEulVltIk2EYXldiLAiNuqyLqLsg6K4iEbpQyJodrIs8oLNERDKiYtBWHtKxmrg1W+7gXIJZpsyZOArnoZxMjIE0GWlKJ1JzbjaHRDzt/egfbf9smw2+vdv//9/zvKfvef8tgj8fg8GQ5/P5pMFgcPf6+vpW7noyNiUlZS01NXVeKBSqxWKxJry3tbXVqlAoYLfb4XK5MDMzs6lFewlDq9XSmmYELS0t+RqNZlOAQ655VHQtIfPRCt55ZiMwTCYTdDpdo0CpVM6NjIwkTOCYmsOdFwvY1xhAutyPAqMbWfopSKyLERhOpxNyudwrkMlkP91u9z8JyLuGgW/I1PmQXu/DcdM0dMMvYXd1sUW/iTA6tVKpFAL62ijnzYNfIWrzQli7jCzjLGr6x8KgHDhnD6q/oP315wismAS9zo843+5F2t1VHFV/wg3LBGyTPRsCcwREThH+7SyPYL8ygL1KH6p6JvF8vC8MqjbUI+/C2dA6x2xDk5RHSE7skK+CasSR8AgEMvA2XrlejpOnclCjkODpgI5ZIiouLeQ9SwWnrkqY4H5zNQOLzjf9Lyy+iJvSqoh7FPVOeSDcsnEjIHAuHeaeByirKAFZItA+ViA7O4tHTnWj5qAo4hJkZBzDM5uOgRSV5CMn5wSzXEQikYhH0PhqGIc0/sQIKPdUYAIkzwmci6Dd0ozc07kx00eNQt0YN4JrksqYxSRCKr74clHs+hhdKOj4Hp+AgKgOl8qLYRkyMTCyXGcNjHfwCDrG+pl8HH64khgBgVZeLQPlm1vkOUdI960TFnYg6TRTF5U+WQIJYdwUxWrPv6/JbaNMQtKqV5mkxJWKWActmqRt1IYz5vdM9I5o/UwEo6U64YPGgdMBIvmg7thzbw2S3sUISdhILFmKQnL9y+PxsL6NjuBW3zgTPBI+EkBqvWSmHSMIjcoFh8MRJtAMDjK9F95eRLZ+OXwqkwGmZ2l81tXVBQSh2dlkNpsZwbZaPw6ofrCJ9db9ISlvox0wGo1Qq9V2NpdVKpW3s7MT8SZbIlEQBoGHRnGwu7t7e/jNQq/XW2l8Ut7+ZxFG6CXiTWjg7yLw3x28rmpAjitLAAAAAElFTkSuQmCC';
1829
- static wktIconBase64 = 'data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAYAAADgdz34AAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAAgY0hSTQAAeiYAAICEAAD6AAAAgOgAAHUwAADqYAAAOpgAABdwnLpRPAAAA4xJREFUSEulVltIk2EYXnRhxoTSooNRRsebAsO6sLpZdJEXQpEYBXlRdmd2unBZTSOtxmLRxnK5OXVGJZgrtUgCl3YwjGIiLSQr6URZrVkmEvH0P599P/8/M8sG7/7v//Z9z/Oe300w/PpUVFRkR6NRy+Dg4LyhoaHJcv9fnnFxcd/i4+N7jUajMzc316XeraysbLTZbAgGgwiFQujp6RmX8C4x3G435YkgKC8v3+5yucYFeCvUi7y6DzCd+4zH3c90GFVVVfB4PKcNdrv9RVtb218TtHe9wNFr77H49ACSrP3I8YWxwduFwsY+HUZHRwesVmvEUFRU9D0cDv+RgNqdvPEOJk8USSeiWF/1BJ7WmwiG6oRwTcJY11osFhj4NZrPz7a8xcbqCIwln7DB9wzHrt9TQSW4fKY63+D8ndc6rN8SNHS8xJbzESQe/4K1zlcouPoAzQ8DowJLApLTQq2yKkEgEEBnZyeW2Aew0B7FNlsNPE1+FdR9wSrW/isOIRKUa/mbs8aGKbtbUXmpAcSjmM3mYRelpaUhKysLhiLgYMluKMmFZalLBZDdU4zkubNQd9Mj9uQ+wbkv37lOmDFP3E1JSRFiMpmGCQhOEhJk52SKixQS7Mzbqq61BFzzzLV7NapFl+83YeK0Bcjfu1+4SnWRkkmCkQS8mLFxnar1GtMqVUtJIH+X7tEGfNL0+cjcUaAnoL9ommHXAwEs3cInQWkFQaTWPBurvSSZljwHyZlH9AQ0R1iQfkDnDukuEkkCgtMqEtCS2HTlfmLGYTAbdWkqYpC4aITvZYC1FnCtdaOWhOdXbMpDzsWPegKRRYp2UitqLV0hAbRBZlb9zoqZc2YjddMerC77rCdgoAmYb94pzJYAMg2lBdp3KsM7pWUloiBZzcyilVsKwUY4opIZZK25zBISaQtLW2jW5ttIt1zB1EPDLYWtQhatLk1leTNNY4MW+159uxmb/U9F01vj7hdNMLZVS7yRFoxCwALaF3go2kjKqW8obOgD2/ZYg0kQKL7/0d3dLQ7HWnCk6b5oeGx8bIBMvbFARzQ7ZVS+b29vVwlcLS2i3xuL+5Dh/QS27H8BlWc5PktLSwcMyuw84/f7BUhCST+WO76KifUo/HxcwJLA5/PB6XQGxVx2OByR2tpajDXZ/sYSYhBcGcWD9fX1U9R/Fl6vt5Hjk4H5HyGG8ifirjLwZxD8JzKAKKzuzS8LAAAAAElFTkSuQmCC';
1830
- static pointIconBase64 = 'data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAYAAADgdz34AAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAAgY0hSTQAAeiYAAICEAAD6AAAAgOgAAHUwAADqYAAAOpgAABdwnLpRPAAAA0JJREFUSEullmtIU2EYxxdRSSgFi4SCbkTYl8oP4YduQvlhRpaXlILMpStF0jLCwua28rqOm7iba8dtppWiNlnacCleUpcxraikRKgMrPUh6UNliTz5vHQObmd2Nhu8e7edc/6/97m8/3dLBH9fZrM55dvXj7Lp3zMbp38tXcn8HswcsmL2R8jyZR9CV63TSiQSPfus1WJoo6gcePxgD4z2RsDE0/WLGvgsatzS5YDRSL0hAJPJlKqfE1+M6EBPFOTWq+CQrgvGXFu8NOq0GUDT+kqBWql4P9geFTDA3bcLipvyYVvFOKwp90Ca5RWI6GGQNiq8NJ517gClUjolkMulM+MDm/8JwNVRLRfgoKEbhKUeiLE+B7qvE3petJCBnxHomwWZTAYCfFsoPSb7GUikbRBa/BlE5tdQ5HCxoow4M0dqxqDRkeSl5RfgeBQDJ833QFjigf2at3DF7gbnSOuCwgwA4Rjh/MVyABEVY7BVNQl5rSNwf6idFdWayyDlxPG5kUzm8ioZB4iLwJpgjRgIByCQA+fBi/nZcPRYHBRRBdDUQZMZQeln0zj3YsGxqwIGqAw3iJhvvvF7WvopuCrL87qGUa8t+8S2LG8EKM6ko65VB1nnMwBnBBjrKYiNFXHgWDdsDoyCFxAdfQCanTQREWekQlzcETIzEcXHx3MAlV19sLtqODAA5h4LjIK4chRnIrhjN0BCYoLf9GGjYDfyRnC5INdvMRGIxZdkiv0CxJYREFut/AAUwjqcy04He28tEcOZ6ayOoQYOoMHlIPaxV+sODICiuZeyAPPNDFw5A8TrbW472ZC4m8PLJyGz1gBohLwp8tee839TOvuJhQive4il8FqFv43mC7nd74SkulFievu0LmKCvlYd8EZjxHEDoX1gd2y6OQGFjYVelrCQWZIUyeWnZ9892UD61jeCwvYhYnhofGiA2HrBHEwEQJVJv7idkSxA391N/D5MMQmHqx+yuzIYYbwXj8/SkmvfBUajpuquPpUAwoo8sLNylJxYLwe2B7Va3wVYLCLQapQ95FzWqEunmquTge9kCyQK1EBxtUrx02azrWb/WdTU6Nrw+MS8/c9ADb2OGqRpOhzF/wDMPgEKuYUfcgAAAABJRU5ErkJggg==';
1831
- static polygonIconBase64 = 'data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAYAAADgdz34AAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAAgY0hSTQAAeiYAAICEAAD6AAAAgOgAAHUwAADqYAAAOpgAABdwnLpRPAAAAyRJREFUSEulll9IU1Ecx69t/gkMiuoloSAIsr9gRM4yeujJ6q1egoIehDJqD2EQPexOt0nOoA2XEbFJlEqmKVbmXybDNGbTpTQbbNawUNycM50Np9/OOXrXrppzOjj3jnPP+X5+v+859/xuArf4UygUmcnJyZq5ubnD4XB4h9Afz10qlXolEkl/KBQqViqVHyJzNRrNvaKiIr/ZbIbdbofL5Vpz07WOIPVgGCknQ7BY+0E1DAaDn2hWMgCJ/Ixer/fHK5quC2IT70YS70La2Ukkyny4WumPBGY0GicKCwtzOULqslgsMSOmkUaLnnoyDH2bGWZ7DWs5xiHsLpmJ6FitVqjVajfNIOhwOFYExBIVxOm9qus9OIVbpEO0SR+5CPZknQ7ikGxm1UijRZf+T1W5cb9hLKInApSWjkCSNYMEmR/7c72i9FcTjX5GbaM2CgEvy6Cx3YMjN0Yjvq5VWBhH14Qu/IqAKxUT4HhgV/FvGNrb1w2RKl141vGLQUQZyGt9OFE2BfmLXhzQedFke7MuyFHdZxw3TC0HCGk5nAO4XOFA7ivy0ixuwXju+XU92Fyw8D6IMnjdPYyXnT/x1enGl8E+sqcDqPzYuC4I3a7vejxiAH0L6Rq09n5jdF3bJ2RoPXjbWR03ZM9DNy6YAmLAxecBtgbdA98ZwGYbxLb0euzNiA/Al3QjPceLRHI2Ldum0edRL8kkO7sO3L4Wltmam2IenIyMl82LAdR/ug7xHHrCWG3zCK5VjbO5d9RecJeAYzenxYBzpkmkaf8dVrFALTYPE+yw/2DZbVFPsw1C+wSbRRZRwPnyQMwMqEhSwTgTFYQeNI0y0NKgVl2D6MF368eQ+XiKbWPaf7tmnFkiAP6XLQPwPD/rdDrZ5ObFtPscQ5DXevGI1AA6+Xq1j1lAI41lXfRzBiAFx6HROLEz0wUurQH0VM2v8zELBMtiRboSlJZeUtHGOHK5lZfXEeS2l4HjyhmACtJohUWLJ2phrMlkmlWpVE9ZXaZlUy7v/KPWLpyCG2m0OlJxoukkFqVEvixI/eRp+aS+bbAFaeREYysV/wuqNrioSoYgAwAAAABJRU5ErkJggg==';
1832
- static lineStringIconBase64 = 'data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAYAAADgdz34AAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAAgY0hSTQAAeiYAAICEAAD6AAAAgOgAAHUwAADqYAAAOpgAABdwnLpRPAAAA79JREFUSEulVv1PU2cULtOsopjshxl/MdFk+00TM5P5k38BkqjZFKYEP3Hg2HQzaoyxvUAg0CDdoNTUlpZKGK6AFSmi6GahqDVVoIlZXSN+RuMHSMpsazH6+J63vZd7WyAlNjn9uu/7PPd5znnPuRmqxMtqteaGQiFtNBpdHovFFor/z+VTrVZHMjMzH2VlZRkKCwuN0t6mpiZXTU0N3G43/H4/RkZGUqLl2lNk2yamvSaup72EYTKZKO5yArPZXGA0Gmfc6L3zENmNr/GN4TlUAmYlkN+Y3W6HxWL5XaXX6x96PJ5pNx48N4oVJ8LQdN+EcME7JwKfzwedTjeuEgThXSAQUBCQHStORJDbEoTr1nm4/R0Jgg9YUvUWa40RHOt6hX7/o1kVabVaqOhNlCa34/RALwcWgyvQAuU9dznB4ooY+z2JeaWTM5IqCOR2yIHlBPNLo7g67ET/0FR0+wZQ5BibIhU+IEOI8ZuWCFb98QabrfckO2YiyCyflBQd0RxQKFQoTRSDRPBVbQS/nB1K2SAHEZP8p+skaoylyMnJwZHjB5iiKRunchWvNolgPavvJRUhBcFfPaewfVc+zK21KNMdRfHPezjonqId0FQc5t873Xb8M+RIzVWyAkruPOEtLH1X+OLahgpsK/gBGzdtwP5Dxaiu0+I38xlepqIVW/Pz2N23s98UScWQTEByvm14g9V1z6XFBEx3r/Q2MKuNM1pEBN23HuMzpsLli9f9zsICXPS2ygi6mAJ3CgFZlZYCIllWHUG29UFiQzuuyuTHk3yDXyPvDbYqUBEQAVl6uqNBdiCTkiwetOpLL6Aui+DSoBOaysPoudHKSQiwpNaE1dv1IO8pCJxI5qSAiNTlURS3DfPNW/I247vvN0mAuw2nOJloCSV5a35u+hYRQX7LGBYJ//MKKfl1Lyxn9ArpIvjfg/HypHNAQT2LmmK2PcjaSFh5DuRttnfwMV/wU/swujx2Xvfy6pAnVNc7gG1N/+FrfQhZzFpq62UXXqIv0QRTmp1ItLI+hC+rwjwXyS1gb9sdrDn5jJ+JdaYJHDo3hi7fk2m7Kidg7fp9MBhULKBkL6saxT6mQmwFVEUZrIx/bBuDtf9ZWoOHE7BR+dLr9So2/Bu8j4WaMBaUR9B9+yxXoe30zGng0PisrKwMq9jsrGtublYQ+ANemPsuc0B5fF4Wb8PphM1mg8FgcPO5XF9fP+5wOJA82dIBSl5DGATORnHU6XR+IT1ZNDY2umh8km+fEoTBHiKus4G/lMA/AjvmjLaem6aqAAAAAElFTkSuQmCC';
1833
- static printBase64 = 'data:image/png;base64,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';
1834
- static featureSearchIconBase64 = 'data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAYAAADgdz34AAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAAgY0hSTQAAeiYAAICEAAD6AAAAgOgAAHUwAADqYAAAOpgAABdwnLpRPAAAA3hJREFUSEu1VmtIU2EYPgVlxozoYn+CfnRRDKKS+lMRdBEsCKIf9aekyCi72U2U0lk0y7U41k5Lc3POaYrpNLPbNFxN3aaSjaLJ0ppdyco5S4dFPJ33qy21smY1eHZensP3PN/7Xd73jOC+/XJyctZ7PB6p1+ud1tfXN9bHB/IMCgrqDQ4ObpdIJEJsbKzKPzY3N7dSoVDAZDLBbrejra1tWKCxpJGVlUVoYQbZ2dmbVCrVsARv29uxu/Qtll3owkPn4wEaOp0OarU6g+N53mU2m//YwPrAhWPXOjArowcT5d2I0ToQrXmAw5VvBmg0NjZCLpe7udTU1E8Oh2NIA5pd+s3XWKb2YOJJD1bqWqC+Uw2TvZSBYjIcvLRSqRQc/f1qzc/XvMLaPDcksk5Eax/j+HWLX9Qn7nvOE16ioO7FAK2fGlxpfIYNBW5MOPEeS4TnSKxogvFu+S+FfQZkThn2n+wPBmF8D2bwHuwvvwuD7epvRftnQZOYJH8P2iOfyQ8GXCoCEh28TLThdKr+mwFlHSrv8R/Zf54BZUT7RoeDshi2gbHpIoTKeCQURmFP4VLs0y9G4qXlyDTGgzdWI1J493cGR0tWi7NbBbVtDbIbvoJiqXE2DulWICLdhIqGp4FnUNVUCMWVLThdHgXBsgDSW5Ph6DAyUHzOuhAZ5dHYmLkNMUXvAjeouXcJKSWLkVE3F0eqg5BwYwxcbhsDxcQp6yNxsCgKizK7Ajeobi7CPkMEeEsYatsFNDzXo+PDIwaKieMt4dhjmAMqhAFvMhnsKp6AM7YZcHWZ0el14ePnXgaKiTtjm4n9+ZOGt8lksL0wBDLzKCgsU6GoD8OL7nsMFBMnqx2FuKJxgRnQBaLyMZPvxNaz4Tgi5XDSwkFWNwaOt5cZKCYuRXx3QDv/u4FYrj87nU5GDC4VKVdt7OJQ4aMCaKh3QmVIRlx+qLi+HOS2kci9H8lAMXFxBaE4V5L03UBslR1Wq9VvoKqpYfVecvQNVmk6/beyf5VM1+/A3pzpSMgfjeQqjoFi4k4V7GRa1D7T0tJ6OLF3ntXr9YwMkXVjjvID61jNjidDNqG8UgHHNJuRlLWOgWLifBPRarUQBMHE+rJSqXQXFxfjd52NBre2tg5pTBokLrZib1lZ2Xj/l4VGo6mk9kln929AGuJHRL3Y8KeQ+BceKZouVHN+8AAAAABJRU5ErkJggg==';
1835
- static zoomIconBase64 = 'data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABQAAAAUCAYAAACNiR0NAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAO1JREFUeNqsk+ERwiAMhdtOwAiOwAg4gYzACI7gJp4ToBPoBu0GukG7gYZeehcjgZxt7t4fCB8JvLSNHA5kQQY0gQbQo/kjAugJemeU1o9aUKokCiCuO+YXI2YOBWw9CPvFNpfEESHSu44kV2yfvpmrdOLYm/6E1bZB4iwV0LGFixJ4YxV/AelvvZTASdromo2jY+4/KM/RvCFnaGoZoxgAah1T+7W+ADXohCU3am9N/vIsx+NlfAyDBLUMSiuuzXYRWgP0wsUztBXAHn9yxzyaDH1FM+emar/GciFT5WmtjznUbTEcDiubYR8BBgD2fnjD/AKVHwAAAABJRU5ErkJggg==';
1836
- static cutIconBase64 = 'data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAYAAADgdz34AAAABmJLR0QA/wD/AP+gvaeTAAAACXBIWXMAAAsTAAALEwEAmpwYAAAAB3RJTUUH3gYDDB8MtOM2YAAAAdBJREFUSMfl1T2MTFEUB/DfjOcjviq7DRsRRCKiY+kVmleKwkchKgmrZWhEVqFhswqVRLIFiShOfBSi0C2xUSgVxGKzIxIJdmVHRnMneXmZtxijcpp33jnn/v/3no97+cdS62VRnuftsi0ian0hKIC/xzRWYGcVSb1H8DFsx14cwFTVyeo9ZGgatzGHDG9xpiq4F4IPeIcF/EAb+/pJsAuBw9iGdRjpSw0KADswiocpRcv6eYKT6bsBQ31t0zzPB9BIKRmMiGae57uxCQOpFpciYvK3CfI8X5XUlQmos3gYe3C1EN5Ohb+GRkR8zRYB3pgKebEiZLKgz+IxnuBKSuMzTGQV4Edws2SeT1MrFbaT/1c4iudo4TXu4SAmaiXg9WmQivIZH3ELZ5OtERGjaXK/YDO+4Xvyz2EGQ/VFwGdxB1sjYktENJL9DR4V4lbjFJZgKcaT/gnLswrwkYgYq7iHXhZbM9kbiaSNtcn9IiLms8L90pFjEXGjBH45qTO4EBFPu5CsSaZmRAx2/OUin+sC/gD70++JIvivhqxMMFxeXLp+D0XE3T8d+6zbDkrATRzH/b9+Mrs8GKdxHa2IaPVCkBXA62m3UzifumDBfy8/ARhwrGEODAGpAAAAAElFTkSuQmCC';
1837
- static copyIconBase64 = 'data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAYAAADgdz34AAAABmJLR0QA/wD/AP+gvaeTAAAACXBIWXMAAAsTAAALEwEAmpwYAAAAB3RJTUUH3gYDDCItkmJugAAAAHBJREFUSMftlEEOgDAIBIvp93jtPtCevBhT10m10bjXEmAWSilvV7iBmbk6cZICdeIUOIqppJCk2CfDnQ8lOEuyvWMC2uXlGTg+/wTzCVzV3nfvJXSLYwKXBhO4Wu4+18gi93QPX9MpFj0/A+zvZ9UAaFN03sNpI7gAAAAASUVORK5CYII=';
1838
- static copyWithBufferBase64 = 'data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAYAAADgdz34AAAABmJLR0QA/wD/AP+gvaeTAAAACXBIWXMAAAsTAAALEwEAmpwYAAAAB3RJTUUH3gYDDCQhzY6FLQAAAIJJREFUSMftVW0KwCAIreH1PK0HrF9BuOVHErIxIQqrl74nVsrbrXIHIjYiqisfIjYL8Dh/A9IuPQVgCVJ8ZPaN9TzPw5OlOQDpDOwASXsafduRujPggnGwVVX9GbgzuE63CogCaBSFNdA4B2vTMovHLF8Db5kea2ppFOVqEPo4PmMdpg1975VbWTEAAAAASUVORK5CYII=';
1839
- static fremhaevBase64 = 'data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAYAAADgdz34AAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAAgY0hSTQAAeiYAAICEAAD6AAAAgOgAAHUwAADqYAAAOpgAABdwnLpRPAAAA1BJREFUSEutVmtIk2EYXb/EWBDZ7UdQP6L+WZkQEfVDCNR/gWAQqCAKQhJJUSK0KV7nZdbWdLk5pyjeFbcpzsuWSzfRTQfS5ty8X0rNOW0OiTh970cbbqYu5+Dd923wnfOe5znveb5TjL+fysrKWIfDwXK5XFd3d3dPu///n2tQUNBOcHDwHJPJ5CclJQk8z1ZVVcmLioqgVqthNBphs9mOtcizBEMoFJJlpgkqKiriBALBsQA/G+eQ2rKOiE+b+GqZ9sKQSqUQiUSlDC6XO6vRaPwm0E3MIqtzFTdKnQjhbCFeYkKUeAIZ8jUvjJGREXA4HDuDzWb/MplMhxKQ3RV0f0eEyIGQfAceS80QDfRCbWyhF7knhL6lZbFYYJCvg2peplrBk2o7mDkbiJJMI7tL6wF1g7uvd/jLqB1c8sL6J4FsZAFPa+04l7eNh/xFvO0YhdLQfiCwm4CQE4V7N7uP4CbXietcB9LaDWgdVhwJulcF2cR5zjZIj9wk+wgYbPgN2mtsRbWuD2WaAYgGVegZa6MbTlx1IgQyvQzPOhcQLt3E/fJvKJB8RPOQDBc5To9lA1KgMMiQLLPg3vtFhL/WIvHVS/SMNtB9I+YgKgIiICUpUXYjJrsS0WkFyOZloc/QhNK+AYQLtgIn8LXp3t/EKMSNASmQUyWKU8zRPXgknkdJnRD9Y020SRIkRsTX/wiMoMMgR2znMm619CMscwXJ6eno1TegXttFu+lB+ebJEVxhLyIyhY3bpbO0i5Ib1kGCMKASEQWR7esIbVbhMmsJ9xOLIVXPHH6S/Tlo1V+UiKmx4kLhFsLqdhHaogJRkJqeB9/Q9FsBiQ0SH8Qd14p3kCFbQ/f4PBKU21QPjiCg4vq3xWKhpfkqeKcYpg8OCT4SgMR67hjQT874R0CNylWdTuchEKhUdN4zM9cQLd7wnErfSDeYZ5CitONu7QZVIiqD3uR4lYiMz9zcXCeDmp0fampqaIIzOVsI5f2kJ9aYybthvgSTUzbIhifxnNOM2BeFyMkvgtls9iiUSCTg8/lqei7zeDx7Y2PjviYdNfynpqwwGMah1eqg1+thtVppDAJOjWJXW1vbWc+bhVgslpPxSTofyCIY1EvEEDXwLxHwP1I4uvOad9ZNAAAAAElFTkSuQmCC';
1840
- static fremhaevSelectedBase64 = 'data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAYAAADgdz34AAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAAgY0hSTQAAeiYAAICEAAD6AAAAgOgAAHUwAADqYAAAOpgAABdwnLpRPAAAA2hJREFUSEutlmtIU2EYxxdRSSgFVkaJVkRUkJoZ0s2gErK+lRQVWVZ2+6Am3YR0W3lda1pz0+Vxs4vW8DJxm6O5OdPmtObMTCmx8pY3KutDZYn823toy81ayzV4d3YOnP/v/T/P8z7PpjB+fsRi8d5PH3qYI99HfUe+TZ1pef4vV7cZY1/cpk/rcp+1ICsqKkpofTdfkq3gcqNRK9+AtofL0f144aQWeZdo3BREQyTivqABubm5EUKz+GRE9dXBiLnLwzaBFu2GJTYad7KOgaKEmYwMDruzThnsNMBYE4DkogtYdq0Dc9IHcVjyHGFUIxKkbBuNJo0fOJyEYQaLlTDaoV/sEEB2xy2JxdZsHTxTBxGa/xRUjQbVzSX0Ir8J0D4KTCYTDPL1p/Dklh/BbkoG9+QBhIlbkaQyWEUt4pbran47pKpwG63fAlSVodgvvgfPlEGE8F/iYrkRalPZH4UtAAInDsdvdgJg+bV2LOX1Ia7MhNIG5V9Fx7sgmyA5ITmyQCYAGCw4LappLsXtei2ya2tA6XWobJLRCSdV9V8A8kY5DlT0IOjWR6zLGUC6RIDiOjnmpfVbS9YlB0qTHMfl7Qi+3ougcwYcPXsGlUYpnTdSHMSFSwASEp76AcKTxNgRl44k/mVoTUXI1NZg7Y1G1wH2ZTr+nhQKqUaXHCjMIYpQdtE5CMnrBq9QhKqmIrpIIiUmRObnuwYoNymwt6IP/iVVCGT343h8PDSNUtw3qOhq2phl/H8Ab1Yvtp9iISCjFV7pfTh5KxukEboUIuJge9k7+BXrMJ/5Fusjz6OgfJfjk+zMQbv9SI3wO22YyxlCYMF7+JlD5M3qQkzcZnTobeeI0w5I2yDtg1THoqvdSJQmQlu9BZEKjTkHWscAFuvQ2Jt6H9qavYNEZQN9cEjjIw2QlJ6lDTQb/J0DcNMShozq1VaAUKej+70Huw87cyqsp9K+pbcYVuG0ogRrCgbMDloQE7vJJkRkfKamXPrMEIn4NwqFETTAI2kQ/plt9MRq0a9wOIReN/hCpQ5F9JUT2Hf6INISV+JV3a8cSCRhyOJzqum5zM9IHS7O2WPegePJZu+is94bLVofPKnwwTONN7oaFtAaRDyDx/4qk8lmW/9Z5OUJFGR8ksy7soiGUMCtoyjKi4j/AJuVGiaL/SZsAAAAAElFTkSuQmCC';
1841
- static infoBase64 = 'data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAYAAADgdz34AAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAALEwAACxMBAJqcGAAAAl1JREFUSInVVc9PE0EYfd9sFyiLYBtDijebeihyIhy8GE8mxIsepEjsxYsRErT/QfUuUZSU6AUPJiKEcBM9eiORqxBpUxNDRCkU2tof2+7OeMDdlm132yZ48J3mm5nvvffNNzsL/O8gp8WrC9+6cqo+TuA3BMQIwAaOV/gugTaI06ridi1/unuh1J6AEDT8Mj4BgRlG5HO0yLFLhMjnyYtLLQmMLQkpeRCPEdE9R2KrJyDm9wYeLIdIr51nVufJdHy+XfK/TqcSB4kXDearGH61fYdxemNH8uF2PwBgdHHPXkhgvPa4zAouz3x3k87n2vNdD02I+cDsdqcRu4xBubsYZiSddUq+8mwdAKD4/LZ7JEZej5tPAHgN1FQg9Mr9Zu4Un9+R3ICu6lPG2KwATAraJYSHFISHFDN26gEACKJLJq0xkJjLbZewsL5jHk8rkBgzuVxOGw3IPR7IPZ6WBUBk3s7aHrRO0ARc10SdQKVcKZyWgNCrXNUvWStsnpZApVz4UifAS4UY53rjjDYguAYtn40ZsdnknMbe9mVSTzo8Pq81yXgirHGj66oepfc1j75oxCfeomB0LdTR1/9O7u49kZT/mWzo1vrRaYUMirn9W1+joysNBQBg8PHHmHzm3KRVpBm0fBZqLj239ejadO08s27cDGamy9lUTD3aQys9EVyDevgLpVzq+dbgYcS6bvvLDEbXQiA8dbl7z0tdCiS5A0THLeNch6io0NQ8ysXfOyARqT2WlgQAIDD7vlNOS2MAbnJgBIQBAGDADwG+IQSt6l6+knh4XW1a6r/CH/oT3HyJavllAAAAAElFTkSuQmCC';
1842
- static downloadFileBase64 = 'data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAYAAADgdz34AAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAAgY0hSTQAAeiYAAICEAAD6AAAAgOgAAHUwAADqYAAAOpgAABdwnLpRPAAAAn1JREFUSEutVt9rUnEUtycxfOitx/6eHloPUVIwI8I9RTWcVE8KAyOTjDSZ6L3Xm3NDIXS1ftEi06m33XTd20yzhHrtZfhQIhGn7zmmbIOrX3XCUZTv+XzO+XzO/R6PmP6/RFG0tdttd6fTOdHtdo/2fx/n02w2/7ZYLD+sVmvI4XCEB7nxeHzd7/dDLpcDTdOg1WpNFJiLGJFIBKNBBNFo1B4Oh0cCblS/gP+VTpHc/Ayv2fdhhciyDLFY7L4pEAh8LxQKQw870yqcExQKm1BiUQabqBCREYmqquDz+XZNHo/nT71eNzzof6kTsDP7Ca6tNQbhympwVngP4Tc7hrlutxtM+GZUBSafipRgPluDuZUtWHxSpbNzj8pwkxFcTG7D1dTWdAQnH+aJ4KDm11fL1BV2YeQHVwenlzYJ6CDIvefbRDw1wcxSkYBuPa7sk+Lusyr9fj5WnLwDrHqGeYAdXE6qIL/VYDWvw/I7HeZTKlxZUcAuFSf3AA21iyWaHCRBU/vhzO7QdC2u7e9s78CM9AAPv/jQgDOiCgtZnUhcLFCaS8kKXBCMq8dcLgKUaVbqjSrO/g0WLkaG5qIPw55mLgIEwInpd9Ej0OhpThX0wyFAmbBi9GKBSYTaz4rD5eGWqC/BnacVMhh9QILlQm3kBcktEZLENj4SAUpzm5HxXOljESCgnK9R9XLe+BYde0z3JjS+fqNretQu6OdQB+y6/ttsNrla7nXBV/3AZLYqfyqKwk3Aoz2ewfXp9Xp/mdjufJBIJA6dQJIkCIVCOdrLwWBwN51Ow7DNxls5YiA4W8WdTCZzbPDPQhCEdVyfaMw0gRjsT0SJLfzjCP4PSlocJ9PLStIAAAAASUVORK5CYII=';
1843
- static openCowiPageBase64 = 'data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABkAAAAZCAYAAADE6YVjAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAAJcEhZcwAAFiUAABYlAUlSJPAAAARyaVRYdFhNTDpjb20uYWRvYmUueG1wAAAAAAA8P3hwYWNrZXQgYmVnaW49J++7vycgaWQ9J1c1TTBNcENlaGlIenJlU3pOVGN6a2M5ZCc/Pgo8eDp4bXBtZXRhIHhtbG5zOng9J2Fkb2JlOm5zOm1ldGEvJz4KPHJkZjpSREYgeG1sbnM6cmRmPSdodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjJz4KCiA8cmRmOkRlc2NyaXB0aW9uIHJkZjphYm91dD0nJwogIHhtbG5zOkF0dHJpYj0naHR0cDovL25zLmF0dHJpYnV0aW9uLmNvbS9hZHMvMS4wLyc+CiAgPEF0dHJpYjpBZHM+CiAgIDxyZGY6U2VxPgogICAgPHJkZjpsaSByZGY6cGFyc2VUeXBlPSdSZXNvdXJjZSc+CiAgICAgPEF0dHJpYjpDcmVhdGVkPjIwMjItMTItMDk8L0F0dHJpYjpDcmVhdGVkPgogICAgIDxBdHRyaWI6RXh0SWQ+MzQzZGQzNWUtMWRiYi00YTg0LTk3NjUtNWE2NTEwNTk1N2NjPC9BdHRyaWI6RXh0SWQ+CiAgICAgPEF0dHJpYjpGYklkPjUyNTI2NTkxNDE3OTU4MDwvQXR0cmliOkZiSWQ+CiAgICAgPEF0dHJpYjpUb3VjaFR5cGU+MjwvQXR0cmliOlRvdWNoVHlwZT4KICAgIDwvcmRmOmxpPgogICA8L3JkZjpTZXE+CiAgPC9BdHRyaWI6QWRzPgogPC9yZGY6RGVzY3JpcHRpb24+CgogPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9JycKICB4bWxuczpkYz0naHR0cDovL3B1cmwub3JnL2RjL2VsZW1lbnRzLzEuMS8nPgogIDxkYzp0aXRsZT4KICAgPHJkZjpBbHQ+CiAgICA8cmRmOmxpIHhtbDpsYW5nPSd4LWRlZmF1bHQnPkRlc2lnbiB1ZGVuIG5hdm4gLSAxPC9yZGY6bGk+CiAgIDwvcmRmOkFsdD4KICA8L2RjOnRpdGxlPgogPC9yZGY6RGVzY3JpcHRpb24+CgogPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9JycKICB4bWxuczpwZGY9J2h0dHA6Ly9ucy5hZG9iZS5jb20vcGRmLzEuMy8nPgogIDxwZGY6QXV0aG9yPkVtaWwgU2FoaW48L3BkZjpBdXRob3I+CiA8L3JkZjpEZXNjcmlwdGlvbj4KCiA8cmRmOkRlc2NyaXB0aW9uIHJkZjphYm91dD0nJwogIHhtbG5zOnhtcD0naHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wLyc+CiAgPHhtcDpDcmVhdG9yVG9vbD5DYW52YTwveG1wOkNyZWF0b3JUb29sPgogPC9yZGY6RGVzY3JpcHRpb24+CjwvcmRmOlJERj4KPC94OnhtcG1ldGE+Cjw/eHBhY2tldCBlbmQ9J3InPz7wO0RJAAAD/ElEQVRIS61WX2xTZRT/3Xv7d3Vdt9bFAGp4gkDodCIZkW1qFNAIHQusjSEKzrFl8dlA9gBKwIT4PGecPhiNJEswhifdHPBA0Jc9sDES1m2ZD8SsS2Rrt66394/nfO3tbmkv8LBf8uVLv++c75zzO39upZ6eHnNychIejxumiU2DJAGqqmLPniiklpYW8+rVX7C6muGrgsQmIRAIIJFIQGprazUHBwexsrJSvKqESSFK5BrvFqzfvDshGAyiv78fsiX4+LKDZR6Xsxu0YL+3y8nFe0f4a/xobGxEJBJBXV0IdaEQQvX14qyedllRhFw1oxZcxb0Mltc+nw+jv/+B8dExPJhJIru2BsMw4fV6EW5owBttBxA71oEQGc7n80XtSlQ1wmADP//4E74fHkZzczNOdHWhJuCHLMnIZrNILS7i12vXcOvGTXz7w7BwygnOdJFSLpeDrmlQXC7s3LkD4XAY42NjeP/IB1AUFxlUsEbRUehPLExHI7n1dZzqPo2LX10SpXhvehoL8wuYm53Dvw8f4v79aZz86CS++W6IeswDk2h0QlUjHLphGKKZDh46hF27d+HW+A2MjIwgncng8qXLJCMj8WGCCuJ5kY8nJb6qEVbgxR5OTEzg6ytX0NTUhM7jnfj49Cm0t7+J2WQSF89/CUl+er9UJN4ywEq1tbW4c/s20fUcPh84Rx6rghaf3w/d0HD9t+tUcVnKjyIidzLmSJfiUrCw8A/GRv+k6noVqdQi5pKzmJ+bR3LmAV7bu1fk5u87fz11GEmtrQfMoaGh0lhhj7gPkskZ9H5yhhouBJOMquu5Mi9lRYbb7Uaa9Nrffgvnv7iAdDoNWd7wm8dKX19fZST8EK+8mofLrYiOVkixJlAjut9aXq9HyDN1KpU6h8N0VUNVuhgsz3wXIEHT8shQZWXSGWSpvPmevdaostScc7czyoxYieOS3PbiVhyJxegRDbquEW0NONrRgVhnDK/v20eRqkLuhS1bcIyqTs2pZVTZUTq1qopzwisYrENP7xkxQtIry3h5+3acpQo7OzCAeCIu+H/06D80vRLF4fcOi+ngRFcp8cvLy+KAvfEQ35QZUZqp1BI1ZU6MFNHZ/BDxv7S4BMM0EAlHRCXyua7pUKnMGcyIlfhSn7CQXKyez3r72Zr47aK5xQr8AD/KYDF2gM81XRe9w5F0xbvwzsF3RfR2lEXCShzJvckp0cnCZdgpKDixgeId6RnkxNaXtiFE3xym2x5JBV0MpkW4+8xgYxwtF4kuTuxGiJGNT6m1c+g8hZ99FeTZgP0tXvy+tH9/4d9KJrMqLjcPpph58Tj9W+nu/tScmrpLHewrebEZ4AjWKbpoNIr/ATlQBdZNXXvBAAAAAElFTkSuQmCC';
1844
- static sogPunktBase64 = 'data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAYAAADgdz34AAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAAgY0hSTQAAeiYAAICEAAD6AAAAgOgAAHUwAADqYAAAOpgAABdwnLpRPAAAA5dJREFUSEudll1MUmEYx+nK2Whr1eqym1Z3bbXuXFtza61uygtnF5Vu4fdHZlZWm9KHZCc2nBD5wYfgCrSERlIzKCkpbJpEMfFjWlnZUhKh0Glr/85zCiYiFpzt5Zxx3vf/e5/nfT7OKt7fS6VSZfj9/qq5ubnN8/Pzq0P/x3NPSkqaTU5O/sDn82XZ2dny8Nrm5uYOsVgMm80Gl8uF0dHRhAatJY2GhgYagxygqanpmFwuT0jwqesDitu9SG2cwcDwWISGRqOBQqGo5Ukkkvfd3d3/Dehxv8elB5PYWhvEeiaATLUH+5VuXOiYitDo7e0FwzA+nlAo/OnxeFYE0O6udX5FqsKP9TV+7NUMQvHMCpurnRv0TMClrq2qqgKPfmL5/GbXF6RpfeBXT2O/egxXHjrCoiHx0H2HbAK3nn+O0FoWcL/3Iw7f8mHd1e/YLfuEClMfHvXfiykcAhCcLFy82SjANkkQWyR+lN3rh+GlOUL0ifPOihDaxAbmO+iMQpAoAE+ImCKXxUK0W1Sw9LXGnEMHTlGVECCv5AQqzp9Fk64OT5x3l4WQ1RuZYDhk47KAAEZTB8rPnUfj7dqYEDo3Cg6yIm5AZ2cnjEYjys5WoF4rweP+tihLah8/wy55IDHA0NAQgsEgdDodiooKIdOIl7WEAoWiMW4LCECXPxCASq1G4ckyyJuvw/oq0pIstQuZ+m/xA8bHxznA5NQUZmb80OnvoKC0FHWqa2F36R0PufKRUj+TOIAsWFhYwOzsLBoalchl3ZXHNGKn9BMXRTmtXlAhjNtFIQu8Xi+mp33Q6/VgiyUEeYXIyC2C0jK4ciavlGgUpvbndrDNCAR489aNnIJCpOw7BEFOPmoYBm63OzEAJRABbE/tUGm0yCsqZc/gj4+PsxCz2QyHwwEKgqhaxJbrX8PDw9yLpRZUml9yBY8Kn6DkFPakHsSRo5k4np+PdoMRr1+/4cAqtrmMjIwsX67ZVjnZ09MTBsi7urh6z784hQPK6XBWWiwWiEQ1MBgMkN64gbLTZzAxMYGsrCwUl5dH7Z7ap0gkCvLY3lnX0tLCAdZUB7Bd+oPrWE7Pu4gdDQwMgLoU+dlut0MgKEZ6ejrS0tKh1WqjAGo2T2QymY3ry1Kp1NfW1oZ/dbaQf2me1WoFrTGZTHA6nWEX0TsSZ6Nrji0ra8NfFkqlsoPaJx3c/4zKykqExuL5pMF+RLxgG/4mEv8NDua1LGBTTb0AAAAASUVORK5CYII=';
1845
- static sogPolygonBase64 = 'data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAYAAADgdz34AAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAAgY0hSTQAAeiYAAICEAAD6AAAAgOgAAHUwAADqYAAAOpgAABdwnLpRPAAAA59JREFUSEullm9MU1cYxi+fCNolRhQ+jkSjCRoTk0Y+NDMEMLEmbiMRNXMRTYDSCWE4smCMtPUPuoZYsjbFri0FUYONDqIwIm6jShw0ZULR9rYNLeg2zUTFoigJMc/ue/BWKi0U1+TJbU/vfX7nPe97z3uSuHefxsbGPeFwWDU9Pf2poGXieFJSEgdA/LngNTk5+XVKSsoDiURiKC4uNkZubmpq6qirq4PD4YDb7UYwGPwo0bPkYTKZSD4GMJvN+41G40cZ3nI/QPnVp8j56QW8gVCUR3NzMywWSz2n0+nGent7Ewb03x/D8V+eYF39FFK1kyi08ZBb7+Nox3iUh8vlglarneA0Gs0Mz/MLAmh2P9z4FzmWMFLPhLGt2QfL7V/hcF9lou8E/HBpVSoVOLVaHde8oecx8s9PQHLqOeS2EE529UVMRXPxutnwCBfv/BPlFRNw3fUX9l6cwMrTL/GZ4W9UXxtA9932uMYigOAU4dwo5gHW66awVhfG4fa7+NnZuajp3ChoEqu0L0E5EiHzAJwa80y7B+w4UaeBUqmEorQUikMV76Usg0KhYP+dPHsChY1eVlVRAKKIA7EANMsiRQlCYw+ZgqPRGhXG/hz24OvKKtjvXEOadipSsiyCRAD7lJW40vU7yo4ch+J7dZQqa2rRfvMW8ovL0D1wmeWNioMmnTAg0QgIUP/bbUiNk0sD7D/03aIR0BIRgJaUCoWqMeEICOAPhuD2+DHo4aM07A3AOXiP5UAEHLC5Udj6bAmA8uqYEZRU1UDMwVcVh3HD1YrWvi62fcjOvVgaIFYV5eXlIXt7NnJ25WJjbi4yVQ6sPjOJkstPQRth4ksUJwICpF1Pw4ZjG5D1RRa27v4SnV0d8Pv9S0yyAIgXAQG4cQ7L3cshPSiFLF+GBlMDvF7vbARzN7t4L9qebypi5kCMgAAkgmWqMpEtz4bT6YwA3gYCARbSh4CaTid7cQ4UlcSsormA9PZ0rDm7hi2VWqOGx+OZBQit8kl/f38EYOzpYfu9RDOOHdbn7K3UN5hQVPotisqroiQCMswZ2LJvC6Q7pTCZTcx8aGgItbW1U5zQO39saWlhgE9OTWKT/hXrWIP8KBsbGRkBz/vA++aLALICGbI+z4K8QI4Lly7AJ9wXCoVgs9lgMBgcrC/r9foJu90uGC3c2RY7DFD1UHKFQwSEVvymra1tReRkYbVaO4SEz9C6/R+Rh3CI+ENo+Olk/h8veXXcPn9a8AAAAABJRU5ErkJggg==';
1846
- static skrafotoBase64 = 'data:image/png;base64,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';
1847
- static streetViewBase64 = 'data:image/png;base64,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';
1848
- static downloadMatriklerBase64 = 'data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAYAAADgdz34AAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAAAsQAAALEBxi1JjQAAABl0RVh0U29mdHdhcmUAd3d3Lmlua3NjYXBlLm9yZ5vuPBoAAAGoSURBVEiJvVTLTsJAFD0zpUCnBQP4QEyURKOujBsNP8BnuPJH3PEvrlxr4s6g0YVBF5poYmLQ8ihVKC0oVDd0oNEExlDPZm5Oeu+Z29NTIGCQ/cPnZKku39Ysd9F1v8Y2SPH42GcSEbe/PtO73Ez186GSId9Umv3FadzWg9ml0kU1nIPbPaG1lpuZ5vBR3L3Lu3SS1/JXvH9SSgObPkDgAqGd9IdQQ3bOFhPYW34RaljJLIgJeMVaZp6TpmXDaFpIxTUkNMb5h5cqACA9m+ScZTuwbAcaU6AxhfN6veEXYGFpKBtTYTQtJGIqmPzTpnQqMRw0ENGY4ucHAoGbTI5Oz4SCIOpB8J+pV2xlh78j+9PFQ7mCtaUFnwelp1cAwPbGKud0w4RebyA9m/R5cH3/COA/N3B6LiffLJufJMZ+NOmGyWvLdvip/yIQuMl8g9WRoDVabZittlDQVCUKVYlyvtp48wuoI0EjcQ1mqy0UtJjKfLwnQCWJ9gfF5HuPQdvpeGWZHBevirbTzU3aLOQBIQUqd5Q8UyLn3iZTQhmEFMK9zsEUZ/6Obz/toX8kkesVAAAAAElFTkSuQmCC';
1849
- static VaelgLokaliteterBase64 = 'data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAYAAADgdz34AAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAAgY0hSTQAAeiYAAICEAAD6AAAAgOgAAHUwAADqYAAAOpgAABdwnLpRPAAAA+JJREFUSEulVl1Mm1UYriaTYYjxYm43JrvwZyZqYlz01mSJWzajN8bolYsXkIhOt7rMsFFal0ClbfqV9lsn6S9rxxgCLa6uZLQCa8vXjsSsP9D/rduKF2BEjK5Bszx+72EFm3YUkOTJ9+Y957wP7895Th+TPPyzWq0fLi8vy0ul0t6VlZUny/6tfBsaGu43NjbeaWpq4pubm41rZ+12u0ej0WBychLRaBT5fH5boLMUo7e3l5BiBCaT6WOj0fjIgH6/D3K5nK23nzm94ddsNiGTybA9fX19MJvNOgnHcYVAIFCTwOu9CrvVCq/Xy9b9fn/VN5vNMn8sFsPlS5fgGh5ie2ZmZqBSqZYkCoXin2QyWZPgG4UCiURi0+Wi/14mO8OCEwllLimnv926b3SuLgHVXBCETWdQ7tOWMig3bTsZ1s3AaOQx6nYhl8sglY1XZELNLZPmcrmHzfdBo1FvvgfxeBz9TmfVeEpPHK85rl1dXWyaysQbZtDf3w/75e9x5Ycf2RgmslF4PB52uN63LgFdksIv8+ANekxNle/IahkIsbmf8d3Vr9E28A6kA2/jpPMA2ocOo+8nBZKpWaTSqdpjSveBSuL3jWNxcRGcVoNQcLpqipQjH4gzfgTmyHsw3VgF2Yprr+C04134BbfYt1zlPfCNT0Ct6hYXsigWi7hXnIeqW4lQaJ1gNhnDee9JaN2HwAtvQO5/BsmFawxknwu/iR73EfBXPq/OQK8/jxPHvxAJ8rh79x5y+dvQqLsR+A8BkSuG34Iu9BrafQ04NbYThaUIA9nkM0zvR+fowWoCISzgo6NHcfDQYQy73EhnsmIPdAgGQ2slSmXmIB15GZywD8E7PG4UHVj4M8tANvk44SVI3a8y0evo6KiUCqVSiVwmDYPejJaWFmi5Hly/vi6ERHBscBd6Is+j8HsAv5UK+PvBfQayydcTeQFS5y5QPysILjgcuH3rFrtUJN9anRZyhQwTE1MVGbQOPIXOwA5ohGehmd6H+T9uMpBNvs7gDtCeKrFTcxyiN3Ow2W2k42uynE6tjhwhk83gmPFFyOQSfCtI0BnaieSvowxkk69DXPvK9vo6gSjXD6he3rEx6DidGNyCVCpdU+Bm5xIwjsjQ6twtjqAEqsjjsMf3M5BNvtaLu3FuqG2dQHwqF8Lh8JYUs9vxKb60PodTzicgG5cwkE0+9cXPWCx6PkXp+Esivp16h1j/rarlhWEeZy2foK33fQayyVeOY7PZwPP8JHuXDQbD0uDgIOt8PaKycj5qH8Wg4OJTXHK5XE+v/bKwWCweej5JAf8PKIY4hdPioOyh4P8CJH3KPKVQai4AAAAASUVORK5CYII=';
1850
- static searchDocumentByPolygonBase64 = 'data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACgAAAAoCAYAAACM/rhtAAAACXBIWXMAAAsTAAALEwEAmpwYAAACcElEQVR4nO3V3W4SQRgGYK7LeOwdeAMm3kBjhLD9sdYT+VuwrYkRZoElqKULlRpJIfiDIKWUApHAyWJiTXtAgiG4xBPd18wYEk+kS7o7XRPeZDIHbMKT75tvxuFYxKK4vGGYtVZEcmwJ0Iy4vGF4nr7QV4JSzbZAbfIDXooUpYYtgTSmI80Gmo60Amgq0iqgaUgrgaYgrQZeGmkm0GVgXRnQSBbAy2YB/C+Buq6j2VVBlDw2tpMQ/ITtkpJHq6ey368MOByNEYxmICZeYb/ex+HXCZqDX2zP1vsQ5X0EYxn2HY03ovADDkdjPHichFLpoT3EP5dS7rLvvo3GyJYafIC6rrPKXYT7GxmK7aH8qc8H2OyqrK1GcNNF271TqPIBkt0DdubmAb48UhGMZ/kAN7aTbBDmAdLv17cSfIDuAGHTOg/wZPATgl+ybwWrpxq/CkpKnt1zc59BmdMZbPVUNpVGca0hEIhlkeI1xTq9B2MZdr8ZAaY+dLAaiiP3sX0FL0l5NjJV6uDepgyy9xZroTju+p5c4wKkoc8XfSFou7N1lQ0CnW660zNH20orF0kX8brWRfKgCiFANJcnfIMLcNruVq/PBodWVAgQtkfTBbR7fZwPhri/JSORqzDk88IRhICkCf7wTS5AIzk9H2B9U8az/CFD7r45hiBGJ4Jfum0LII365Yy1e6dYZ8j0+xOshmKa20+ctgDSKMUalsXoRHnXYMhMqYW1R7Lm8pAlWwArnc9wPiS3loOxCcX9qWSTPp1jWwClTJHdg4KP3KGVozg5V6FDczYTyHM5pv/rIUtuH/lOcU5f5PqFw7KIY3Z+A5DMa52GW2qJAAAAAElFTkSuQmCC';
1851
- static searchDocumentByPointBase64 = 'data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACgAAAAoCAYAAACM/rhtAAAACXBIWXMAAAsTAAALEwEAmpwYAAACTElEQVR4nO2W7W/SUBTG8Z/UfwVH5gvoTFZHAWVihFJeVhHCcAVNHGrc7DJ5GzAnzbKSGP22BLMsLPOD9jHnJpgNmatbb+0HnuTkfrj98MtzznNuPZ6pOMkrxGFXzYpSkwugHfIKccw/eWbOhpI11wIOj44hEKSYbLkSkGQ7pN2AtkPyALQVkhegbZA8AW2B5A14aUg7Ab0W6r8BWtEU8LKaAo5kmibaPQNScRWBqALfgsTOZHEVHd1g99wB0+ufJ1a8qsP/KA8hVUa50ceHr0do7/9kp9roQ8yUEUqVMDg45As4SYODQ9xZVFDc0NEd4Mwqaj323bcxSK6ApmkiJJfOhTsJGU49P9VuroDtngExW8HNlT6uRppn1klIandH7/MBHJ+9ewkVT7U9XPsL3DjgSt1gwXHEwUBUYUGw0t5R0fc0i44AzgQlltZ/Adza/wFfMOleBze/DPk5+McMSiqUi8zgctUZBzu6wVJpNcUdSnG6jC6vFE/cg6kS229W2ltY34EQLzi3B0+9JOdAEtyNcBq3Ixk0tnfh6FucqOoIxAqYl1WoDYMFgdJNJ80ctZWcuxXJIP1Cg/9hFlpz5/cm4OrgSNQ2eiFoCZOjvqDETnm5ymaO7luf9hic8mqT3a3Vu5DL7931P9jY3oU/uoTc6xrmYjmEsxV3AZK05kfmYP5tEwHmtix6gCuuASRVN1qYe5xDcW0L/qgy9AUl0VWApMq7Gu7Gcsi/qeP6/fix6wBJNINeIfF9ZkEKuhLwwdLLi4XEyfJM5eGjX1+91N9zQgjNAAAAAElFTkSuQmCC';
1852
- static clipHoleBase64 = 'data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAIAAABvFaqvAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAAL9SURBVDhPlVVdSJNhFP6giyAUYvbfRV6EEkIQLTXNSrFIg0AoiIysIOkmoSALlGor07aFytxqa2PMIbnhhjhN+phsOtdmM2Xkms22rEwxf7flLrxZz/w+xufc3Ho4g53znvPsvO/5GRFag9frVSqVfD7/cdKAM0KcTifFECYyGAwCgcBkMjkcDk/SgDNCJBKJWq0OE7ndbrFYTB8mQr/jxx3tfJF0+YvbS5s8HuRltVoJuVxuNptpWxzYxia57/5kNK2k8fwVCleJfKyme44+83jsdntzczPB5XJdLhdtWw/87Iv3s0UyX1qD74xyXDZgMDm0EHwBKe20BjwZgQ+tMfDKOFPWupRSt1gsHq/tMFPxTDnSMt1m+U17byTS239dblti1QcKWqYedg3r+juO5giO5fGjWCDPeq3IlA6LIspsXDnY6LvXOaIb6qG89WYNO5dXzLrlqSq39MkiLBBypHMHL4C3o2LXERFPQkxXSibu35i+UDh5syyQtn3mXL5DVNtj0UBwhFdHBanYBERmc6svfX8kF2fD3Ykcdu62q9Rlkfgu3grVBwmIfpafR0ZMy4f6B6dZt3MLBJSKp0RZEhAhkcC+nf0f3zKNC+ysURknojb1DbDF/gREs4XZnxurmRa7WrCcmc60QFAf1DouUcyYqUtnv9ZURhmvKxwV7QuxiVCUyaxDn1T1EW8IqX8ztWd31E3brb2oXf7r5RhE6J3sjFq8KDMAxrwD1Sf3VlFq93AX2hXNjapVqucxybGJTqVWlhJXQgQRkSVia/GWa8dznvPIwRKFl/U0gAGKOyJRj82U1kHyouobRveExI8xZu4QCgmI0HKYGNQl/WWwRj8XGYiNCBNxOBzsNihMokc9Q2g2TC9mGNWlvDdBmEgkEtlsNiggEhuN2DspnLlS+SLVsskAOxf7m7BYLCqVCnpqnf+w8C824ajrO+WRJBQKhU6nCy9/qVSq0Wji7clNgBCwCIXC1dVV+u+IJEnsXFz1v4AQrVYbDAZDodA/IjLEyK0wXBIAAAAASUVORK5CYII=';
1853
- static splitBase64 = 'data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAIAAABvFaqvAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAAPnSURBVDhPY/z//z8DA8P9+/cPHz786tWrL1++ALnEAB4eHjExMRMTEy0tLSAXZNDevXsvXLgAFBIUFARKQ9QRBEAr379/f/PmTQEBgbCwMMZbt27t2bPH3d0dKo8XPPnCsuYO99W3LFMc3rEzg7wCBEeOHFFTU2M2MDAAuo2XlxciihW8/s684R5P+XGhBbfY5Vle/GT8+OankKHoT4gs0BMnTpxgefr0qZWVFUQIDfz8y7j5PvfOxxwX3zAYST4vM7qkwv8RKH7nI3/XOcUkzU8QZUJCQu/evWP5+/cvGxsbRAgOdj3i2vWYY/fj/7ZSH5yk79WZPoNKgAHQOG6WjydecFhI/IAKMTCwQGkwuPaObektnl2PWLR5P1rL3c3UecLG/BcqhwqClR/Ova6FxaDt27e3HGNjEVUKcxSa4/RciAOhAiswE3854bIOMOxEOaE2MUGo8+fPvzgwi3t3+pN1DbhMmTlhcXpk2YHdx4FsoEu9RZ8svYlIK1CDTp06xZB2eubyrotnrkKUIgOgSGFq/Y2rdyKTAh1cLSGC/lr3Vt7lBEYIhAv12sePoOiAGLF83nogCdEAFNm5+cCNy7fj0kMDIzyBInAAdLg61/uDTznd5L4BucwODg76+vri4uLb5rT8fHYlIMLzyvkbxw+e4eHl7m6YBmQ8uv906qJ2cxsjiH5kIMT9a+ENuVCVbxcvXoR6zdPTkyFqU/ukyoYv3UD3P3vP0N6x6uYHQWtHs6+eC2UVpBzWB/39zxC4FeQoIBtI1p80MxB5/eHnf2BcA7lQg4CxxrDMrzKvvYGnFOg1dXmeyoowNRmOS2evNSTIABWEKd9iZmRwlX0MYQNJcU6Qj2wEHqy5ywVkMNbX18fFxaWmpu6z23sgcF2UdxYvHw8w1IFyBMGLb1zbbyjc+Snp8rwf6qLXr18DSWDQyivLAr0GEcQFvvxm3fFQvvCwZd5hO3Yu0TZLUERBYy09PT2nzXS5wHvkCMYEp16K738qdfKJqL38nxLDbxYSL6AScINAgf0me2bgOggXDTz6zLvpvtL+p6Kagoy+Ct97rV/DyxA4QMlraODdD44jzyU33Vf+8481Wu1rieF7eIbABCxMTEzAAoCZmRkqAAb7nsjsvy999TO/m9yffptPWkK/oBK4AYuIiAiwNBEVFQVyrr0TWv9I8vgDYTsZ5ijtn25yryCK8ANgmQss2xiPHj167949YNlmsEJUkY8pRPmbr+JXPrZ/UFVEgEOHDvHz84MK/9mzZwMLcF1dXcwSDj/49esXsJAFuggY6dDqaPfu3UAhYGBBVBAJgCGrra0NjHFOTk4Ahi6b0E76oikAAAAASUVORK5CYII=';
1854
- static changeTypeBase64 = 'data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAIAAABvFaqvAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAAOmSURBVDhPjZVbTFN3HMfPzZZTir3QnhZSpOUytB1DGjYnOgmjKaIjpsMQE5+IMyQ+7Glx2cMelsWZuHh56sOQLD6QeNtMZvZgus7IRRs0oToQy6UVKYitnNOWQ1uKh+5Xzl+hjGE/adrz+/V7fuf3+5//+R48nU5jGBYIBPr6+kKhEM/zEOaCXC5nGKaurs5sNkOYKeR2u71eL6RUKhX8LerWU3bqlN/pRMFb4JIcx/l8PqVS2d7eToyPj4+NjTkcjpKSkg1V7t4funPPMxvmUIxhQZ665FWcdBcuCTiI4RSbzZZMJj0eDwETVVdXI+E6/u4fkiuVlRVVvpEJCK8M0y239V/eUcViYSkZ7BkrEGUAjDY4OEjMzMxoNBqUe4u7f0ggKFpCKxQqfZEeMj84O05bH/zW7OqwPm2rnLsxIROVgFqtZlmWEARBIpGg3Cp/9Q2lt0l1jIaS5i3GF6W07IKj42LbVyfO/LwsZAQVimg+FfXM5a3KEQT6XeUpKzl/658VnGJUKqZQW0DnB2dD4Xkuj8TZYGDkeJPtu19EZVv5VPdo1oKuFTr0h/5bV8ogjxsNRTqGEVaEeY5dSiT9L4J8Ir7Axy6PTCEphn2ie/WEJcIJEsXrC/miMudhLy2LLmMUwHJRluVYdj4a4XyT08adyq+L85EUwySkcFgb7PGtNZU1GlBbw0y/ejQ8MRWLxmAJX8+z4QhvKCuo3WNK8ikkWuWI2X9tkoZ9IIYbCwEWi2Yh/iww+xL6CXERvVHe2FACeXJbllidl6yScfdmaDHcpBBQ8xEjUyy8jCV0pQX2RiOOZy5LUhvFbbv83aNo3s0LAR9bi60fyu2flxIEaj7YtFc8eMduTTiylIZ7Dcf/Wwiori0iiTWB7vHwu28RYnl5v/L5zcnM5qTElEjDabRNtmBnz334oADDuo9dmoiQxq072oLRKoO19Vdd0+9SmfanvVHIZHWUC2f2nbyANzeUvvmmPP6pfg5lcy90/rMTZ6nmXSq81ZjoN4EBZOxwPe8Zbbq4sPLgdZP9FlfT+OcX3BVb+GgF/98qAEUQGQMgybWnRuR7u8OZOm7f8ebiBzGzOmtPbwoFZgSPglarFeMf93ecW2k6YCBby5Ye7giJya0BzwW3xAcGBvx+f319/e6rWtN24mh5vNW0uF2yglQ50Nvbq1AoMubf1dUFBg6Gu8Hh3ksqlQK3ho46OzvR68jlckEKFktU5AisrMViaWlpoWn6XwtDaLFzWSTkAAAAAElFTkSuQmCC';
1855
- static setCenterBase64 = 'data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAIAAABvFaqvAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAAOsSURBVDhPjZVfTFN3FMdv20v/0Xrb0gsFFayYOlqqpcM/INNJFMIcuAXCki0Z+/NAfPCBhKhPJr74YGL0QV8GRqPRzcSow0UDLRChlbIJg6mwdtArbS+0hbUUarFIraf93RWR0vF5OPf7O+fk3N+/ey4rGo1iGEZRVG9vr9frDQaDMFwPIpEoMzOzuLhYrVbDMFaos7NzaGgIXFKpFMIo73+BV/r9fqvVKpFI6uvrWTabzWg0VlZWMvGUuIL4nbH0F//ilz718TixpQAmk0mlUnF0Oh3MTSwWI29Sphc49+2ik32yazZeHu4OswIzYVkRGUZRWITFYsFpmi4tLUWuDwhHWA+o9HYnf3gG02dPndD/tY0IgH8sQJwbVP5QMIfSZDKZz+fDI5EIl8tFrgQdDmGHk29wRj/JmS3faD+9a5IJxIFy6XjA4ubvVbxmXBiGM884Iz7uTZuow4FrxIF9uePHCl1cToSJraQ2f+LKqDp5oc/aFBFsqUY53lo+JePHMp4P/NNrGICTxbCovkS958AOlAnszvJcfFYIe0cKmDex0QOwBoSt5cYaJYWq/Hqry9D2RPuxqu67CrCDfaM3Lj9AmQDM9AjpumldvivLhd5n8MnIpGO66UxD2WE9qZCCPXbqK9jN9rtmJgPDjqrtt8cFcCBomLxQf88zfUkBCCflvt36CCzokoM7h/8YjcdjwMS3C/2PaQEaJi/kmfLkf7QZRNdv/fSEByzo7Volj8ePxxlqC+xXRtORTl6IkBBu1wyI8s/3ZGRKwYKmJ7wsNrMQhE4+PRuOwlmDTl5IpVH+afkbxGalouH4UbCgn5qfZ5BEPL5MmeTlnXEhiOSFjtTvD86Hfv7p4dxsrBmAhUO0W51136/4JN0hYRTjjs1yQK+4kO8Dx3TvuvHqxftoKM+S/NhUy+OngQ6+STNN5rQ7cugQ8UXewll9oOvu2oWAL789xKj/+N2T1U3n9LvIA3lLzUWhvYrYaSJSFUrgmBe3UVu7abJAyqresnB+33SihyRIVcj3mm+aym6j8pfepn2jetVc5E98EKvB2Ww2XFkOJ7ZhCbpcm7qpjS/miYrcpQtlc2rZIhNYG1wul0M3IUkSBiM+2T1Hdt/LjP2bOF9rwhW5XpSUGui50NtYZrPZbrdDb9P9Qio3sOvyQ9XKVxu4b5msddDT00MQRKz5t7S0QAPXarWrO1xqFhcXocnCjBobG5nfkcFgABdsFspYJ7CzGo2mqqpKIBC8A/jTdMM1f3ILAAAAAElFTkSuQmCC';
1856
- static editBase64 = 'data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAIAAABvFaqvAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAANwSURBVDhPjZVtSFNRGMfvvdvd5rbu3Nzabb1IssKXLFe0sjBCTJAKsTcWUVR+iUiNIggK6kNfMoISCoMQFYoIKSihmkW1VTohWqa9Tke5am665dya2/V2e+7OZQ3N6e/Dvf/znPM855znnvNcnOM4DMM8Ho/NZvN6vaFQCJqzgaIomqbNZrPRaIQmH6izs9PhcJhMJrVarVQq0bjpaHcrTtVpJzLZjkuf2ciIy+XSarWVlZW42+22Wq1lZWXCwGkA/8Y+6lPQK8Y43QudL8LsriXOmAPQBevIz8/HW1pacnJyDAYDcphEqr+Zlu5a4lquHQF7/euVvQH6adUP0IFAoLu7Wzw4OAj7THj9I8U/YqYnLpV8Q/5J9uV9sDzkkwtoNBqfzydmGEYikUB774F5IQZnLVwa/yS0PKoksab31MF84eMQ6PXggcIxgfdh41zvb/C3VjnPFTumi4Io0kruDCiERjJQRUWk/Zy/sCjeeOR5ev8kkC9Yu9BIBjrryKqwLRxeLO8bUSPLjMB8BM499WSgphBII2PX6CM7Da4r75bHWME4IwWZv671UkgLPrUrft0sHzpkJot0/jYXf1JnQ3k21zvCIC0EeuOXdnllHCY/uTL26NuinxE5sqdn8+KvUTb4MUiCFgLdcyv2dBh+RBgFOee46eOFlwXh8B/UlZ5sCmt8pwIhBPrNEJAjJSkFXaJWuZve1NagnnQ865gvf0I9vC4DLUam8+uHkQBwHF+m5ezezI13Z7iAGFSOIA4vkEIgSJBUxJl0MdAUJW5uLkyYBxLPydzpV7wPSE6vDl69pbq4IGvV3CgYha3d/Dynzp6F9HQMjPJJ9YTFJ17p2/qlMRY/bBntOvP19jH+WAqBAJMuLqgpgE/eDfWmewv9UdEC5cT5Yl/7lmHYAXTpMlg0RthawwY/EqnAYbN9z6hZMbqWHj9UgI0xQWTfYQwjkQohEolYloUc9SdWPhYnGt6q7rv52xiKE31BHPYCuq4oCElJzj8VQq/Xt7VhR4+Pl299CzXgxifqck/W48QN2p835rR4/zt/KuFwGOo3AaV6aGjI/8WKfecv/XbjGKSgfh2v08yfitPpzM3N5Yt/a2trT89SDZ1t2cZ/yNkTj8ehyEaj0erqauF3ZLfb4XcE1RKNmCUkScKGSktLZTLZX9Msdr7+YiVbAAAAAElFTkSuQmCC';
1857
- static drawBase64 = 'data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAIAAABvFaqvAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAAOUSURBVDhPnVVbTBNpFJ52/l6GFqaMTNEtFrpgjS0NBdkbXrLhgYtmNdl1SfTJGBNC4rO+7cM+bFYTEx982YDGFza7iZvduFkvtKjLRXDXC17AdBba0hZaWyiUtpS5WU+ZichKaPXLSeac83/55sxp5xtFNpvFMMzn8w0ODkaj0VQqBWUh0Ov1RqOxsbHRZrNBmRPq7+8fGxuDVmlpKRxLvLyAWy4sLHg8HoPB0NHRoWAYxu12t7a2yuebIpRCVyd14/Po4pdxDZ57FMDQ0JDVasWdTifMVlxcLHU3RCyD/+HVnxmhrjCaShRhFYk5lqqnWekUHmJ0dBTNzMw0NTVJrf+BFRV/+nS3gtonc1jDtvDphqc1ZAL6kwny3CPLiV1LEo2iqHg8jkRRVKvVUusN+gJFfUGtK5jd99Fis8n73Sez8sEqQE6HEqMR7edbV+QWhiH5uoqJuLqX0fcFkL04scc81VUbUuOifLYe31RPX3ph21jowLWtIiYcskz1NIcp7RpjQ3xa/vLCs1rYHU3Id1JKF4AnUdTT7D5k8eVVAcCkB+lQr2ftv7Im9L44bPP+OkXADyKVHy4Eg+8sWvh7hpDKdcveBBzPMpF/AsmJFYzFBVGj1VSRjq+tZM94fYt5GQiFTjTi7439y1g/1jqqSdtOqsasC2Ou2fCPmfSz8XkVEPIL8Tz3IPCXHvF0WyyYGtlbdQoCEmOJzkSqdpM//+bVAS2/EEJoiWVwOhpJP83wSUJFQkASTj3BjdFyg39yEQdafiExKyaV8awy07bj/JHa7iIVBQEJlIIizakjP3yRe28K2hEvRJRKsYKsq9myz0CYICCBEppoebZCLwCnICFB5FPc9NUXRy8/bo2lGQhIoEzx/hXESZzNhOIr2ms+S9fdFiFmyrh5AQux2eklLheQ5EoXT2RqJDJSwnyiiOO5hb3B7VDFHZ9pPEm2mIWzn8UikW+fUz/hN6O6A9z98PdAUCEufR2bsxrtGtkRUVlZGbgJTdNQTMSp3wPbRvxb9lfgx+xsizm6ysHryo8n783NVvZl/gsmyx9Ci32pZiu3W7C2tvqT4LngbYrh4WGv1wve5vyFtpQoj1Qvf2VJl6hfrUqsw/DYDf/iw4yQ8zMClVQZdu9xtkM+MDBAkmTO/Lu7u8HAHQ7Huw4nATgKhfxyvg2O48BkYaLOzk75c+RyuaAFy5IYBQI2a7fb29vbCYJ4DWjmkeQms4G/AAAAAElFTkSuQmCC';
1858
- static mergeBase64 = 'data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAIAAABvFaqvAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAAQbSURBVDhPjZVdTFt1FMDvvaUtNyv9klIqo7Ed61gLmyOdICNrsnVpGoFFszUYt/mEaDJ9Ut80yxJf9MHozB4EZzTRZdnQKZ0NgbJJi+ma2oGwFUpp51Zmv2w7+sX6dT239xYoYMIvaXu+/uf+z/9/7ilKEASCID6fz2KxhEKhZDIJ6k7gcDh1dXVqtVqpVIJKJjKbzdPT02ASCATgpuIobIHqH9w1l46GaX0D8MhYLLawsMDn8w0GA+p2u8fHx3U6He0vE84wLt7l/pPJ3ouIl856aet2WK1WhUKBQUWtra20rczlWV7fqEhdv3hS/pA2/T9Qmt1ux5aXl2tra2lbqZbjNyX+VPQrjfnYbn/JRnRcb3h9VHLlAXc5WVWyVCAUCqPRaFWhUGCxWKCv1XKx3SqtSVBBJAT63sGHIz7pl39xP3HwGBgiZBdl3OKJxpROmm7g5Kko+glQy/ASfq55rryLdaqw1S6JS1PvotREXjTi2++M4GTeP59DkZznLLkEg89Jo/hRNL6hlgqYGANFi0WseOvn3+F7FyvYt+/Op0dMI93GCy/ZCYSsBiATZQqYhJ/gMHOUCTANW2iJ9DKfPA45pubuOz2mG5ZS220DmahZkL/qklM6EHzyb8AfWXzw9+SoI2ga6nb0TBjvrsRS4Oo8foggClTYJshEHx2ORnNsT5wHstM6/+vV209jiTnnIruahR/QGtUjZ97pOdbdzuVzuPxdGEYu2QppFeGFNlH+0kwLyG1dzbVi/isGzatntO2aA9yGFxBkvhSJvPXBaRRFTcNWSt0Enf5Ce3Q2yk9mmSCvxFONMgllh66AWmmxBJwULVVCJ2oW5J7Hi5dnyRZ/83wvGyczlhAhCBt+nsaSUCx1CVD+I0+g5F1nveB3X0yY/eJnBWziln01nSMQAhZH5mcO+mxff3b92pDpsS/QKKuHSChf2kQKG1lv+VNNyY/t3JtLMpVk4dsvfirk8+xqdqO8Xn1Y2dui5wnIqQCj4g/zPSp+ExVXcFqe/v7+HtWhpjqJQH/qKJwu3tH3TaSfygIvExx2//sGaKVkjjnh320PC2uYaWptRaJz+1MYE7vhadK9dsR2Z4a2lmEwGPageGi6pf+2tu83rSOwt0PEN3ZHKG/F27yHl5Ny89c8e3vlPugd2oogP7r3OSJCZ1DSJUm8LM59rlpRCrO0rwz0FwZ7pjXYlGK1Gsn84pWtvQoo8gxFJOdVCIy377Tht1vjW7MAGAwjmCa0hiA9slQ0jV9xKdIFFFQiB9fH/rAtrmnIUAFbgZkLAxqdmpryer2dnZ20NRu2hxJwCpQKsLCs641tpsIak5OTPB6PHP6Dg4MwwGHgUhNu52SzWZvNBjsaGBig/47GxsbAtPGwdgLco0ql0uv1OI7/B1EuvKrM1DRLAAAAAElFTkSuQmCC';
1859
- static drawPrintBase64 = 'data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABkAAAAaCAYAAABCfffNAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAAJcEhZcwAADsIAAA7CARUoSoAAAAUQSURBVEhLjZbrM1VvFMfXOUcuyRhySW6FklJCkepFSi7jUpMuIzW55A/oVW/9I2YYipohphqKjCi3ZqSJbjRjXCsqt6Qkv/NZ7Eaifmtmz977PM9e37W+a63vc0yfPn1akH+Y2WyWL1++yIMHD6SxsVEcHR3FwcFBPn/+LElJSXLgwAFZv369/PjxY+mL3+2vICaTSQEmJibkzp07UlVVJd3d3fL9+3e93N3d5cqVK+Lh4SFbtmwRPz8/sbW1lZ8/fy55WDTz0v0PA4Drw4cPUl5eLpWVlbJx40bZtWuXfPv2Tebm5jSA1tZWKSgokM7OTgU2vl1ulqtXr+YvPf8yNlksFnn37p0C3Lp1S3bs2CEXLlxQx9Cyfft26evrk0ePHsnk5KQEBweLlRWllQxtbGxkYWGRpD9AjCiGhoakoqJCbt++LXv27JHs7Gy9u7q6yr59+2TDhg3y9OlTrY2Tk5MCNTU1aXAhISEKQkDYb3QBwMLg4KCUlpYqRREREXL58mWNlPWtW7fqM8Vn7cyZM/p7Q0ODfP36Vevx5MkTefXq1S+fvzLhhfTI4ObNm1JdXa0R5+TkKDWs44BIiXLz5s2ye/dumZqaUqfz8/Nib28vL1++lK6uLnF2dpZt27aJnZ3dYiY4wAYGBqSoqEju3bsn0dHRmsFyABxRdIKhCQICAiQwMFBOnDghFy9e1Oxev36tvqgb2RGE2QCAopKSErl//77SkJubqwAYXfP+/XvlvLm5WUZHR9UJWe3du1cp43l6elrBx8fHlW4ahr02OOnv75fi4mJ5+PChDpZBEVHDLR1Ei/b29srx48dl586dCo5jFxcXpYTWhq4XL17owPJtWFiYNoiZCK9duyY1NTUaFRThhDl49uyZXL9+XXmGBi4yxzF3aINCBhDwY8eO6TNrZMQ6l8XakvnUwKAoNDRUZmdnFYDuwlJTUzVqHMTGxmrUfGwYTlmbmZnRDNatW6czw/3o0aNi+fjxYz4AeXl5CkCB6Q74JJvz588rHR0dHVroI0eOaCYrDSDkhUGEfuoSHx+v9JvRGyYZAIoJp1AHDRQUIACJ8NChQ6pR2MpMmK+RkRHN/vnz5xIXFyenT5/WjjMznd7e3rrpzZs36pChOnfunDpCVuias2fPLkZl3bdcAAGAyrGxMblx44bU19dr+8MAWWlNrLKQzxTjGJUlg7S0NL3zTnbp6ekSGRmpHK8EABQABpijICoqSgEYViNbk7UjFtAf2o+CJiQkaAEBwMmpU6d0sol2tQxQ6bKyMqmrq1M6YcDX11f3GCBmehm19fT0lOTkZM2AmmAnT57UXkdGVgOg/cmgtrZW9u/frzVcrWZmDiSc0b4U+e7du+oQipgbHAK83ABF45gvFCImJkYp8vf3173LATAzIgYlcItuUThqtFYNADBUGoDw8HDJyMjQ9sZWAmBmWo3uoavgl/rQgpwVxulnGM9v376VwsJCFT9qkJWVpTUgmNUAMIu1hfPb29v10ElMTJSgoCBpa2tTKXFzc5NNmzbpMJIF2kW2ABw+fFgBmDNsLQDMYt2UjwOk4+DBgwpCNgDzp4FnLiMDAkBaLl26JD4+PurkbwCYqaenZ4FOQS3RH4wWbmlpUXFEgzgJOc+Hh4clJSVFMjMzxcvLS7P7FwBmstbDum9RTY0iA8oZgoZxzj9+/FjfaRAm/181WGlr/u8CiGmnk5Abio4EkQH2fwFERP4DZxLcmtGNPaEAAAAASUVORK5CYII=';
1860
- static documentSearchBase64 = 'data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAIAAABvFaqvAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAAKsSURBVDhPlZXda1JxGMfPmx6d56wzPW5pbC6EXIYkZF04E6PCddHV6qoXooL+gS6jboOgiyAWjaiugqC6HeV2MTaWmQilhVALas61TZ35Nl+Op2c7P7d55kH34YHj8zzH7+/5vT0HT6fTGIYlEolQKLS6ulooFMDtBJ1Ox/O8w+GwWq3gbggFg8FYLOZyuXp6ehiGkd5rSz6fz2Qy8XicZdmRkRE8EonMzc35/X6U74yygNOkKP2emZmxWCz4+Pj40NCQ2WyWoq9/sPfDBi1Vl9wtBBHHMezFmaSNq6BQA5jT7OwslUwmPR4PimHYvU/8bWf6bH9RphRZoe98NF7+YHp5esmuL6PoJnq9HuZICIKgVqtRDMMqAn6Iqwyw1cFm69UKBo1w0569OGH+nVOht3dAoGcHFGv4rSNr1w5nRyfM8bXtsSU6FYIa6yJ+NWD69U+VXicvvTehRINOhfqZ2iv/4rCpdMy4fvd4KlMmUaLBHqYG+wVTu2HPjlpzjEq+rYpCX1L00xj37Nu+nfZunq3V4Ri0QFFoIU+FljWfV5osmlLX0DGUQ6HnLk70rfdpBaJ5eDiocKBbFqUoFPije/69W928pgNM9cHwMnKaURQ6P5h39ZZkQ2spsYsS89W9VPRmnnkS5dTE1pLgdRE72F0d8y2hQDOKQhesOZ+5tHFTN1ERIhiJK1akuGtvf7JXAqbrk/slG4tyHF0HQ+ldKAqdsxQenfz70LMsGVxXKAflWkEA0ACQt0lN3Kgc7vpRvuwwIOtnqlIWAD1oT8hpQBkMBuhMRqNR8k8dKD7+yk0udInKw5dqBK/ZHht6LvRvfGpqCjq/2+1G4b0zPT0NQoTT6SwWi+FwuFKR99C2wF9AJZfL+Xw+9DmC/g9assVqC0mSNpvN6/XSNP0f/kMg5XZvKf4AAAAASUVORK5CYII=';
1861
- static showInfoObjBase64 = 'data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAIAAABvFaqvAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAAD6SURBVDhP1ZWxCoMwEIbzBn3kokMXXUQUFETESUEfQBwEEQUnBysE4mM4CCW9NDeVDiYg2I8TzjP/z+nwS/iHdV2TJLEs634YOAySeZ6lgzCq69q27aZppmlih4HDIAmCIMsyYUQp9X0fHx7mSVfsGIO9+r4nURS1bYszLcZxdByHmKa5LAvOdIFPRuDCO8Zuj5dqSeEPI+wU+78wUi0pPHMj7C5kpFpSeOZG2F3ISLWk8NtIG2FkGAZkGw50EUae5w3DgAMtIHMhv0nXdWma4kyLOI7LshThH4ZhnucaOQkScHFdd993/B1VVQWZC6+qBEiKoti2jXP+BtBOC1S23cCGAAAAAElFTkSuQmCC';
1862
- }
1863
-
1864
- class PrintDrawLayerSourceService {
1865
- _current = inject(CurrentItemsService);
1866
- source = new VectorSource();
1867
- layer = new VectorLayer({
1868
- source: this.source,
1869
- zIndex: 999
1870
- });
1871
- constructor() {
1872
- this.layer.set('PRINTDRAWLAYER', 'true');
1873
- this._initListener();
1874
- }
1875
- _initListener() {
1876
- this._current.map$.subscribe({
1877
- next: map => {
1878
- map.addLayer(this.layer);
1879
- }
1880
- });
1881
- }
1882
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.15", ngImport: i0, type: PrintDrawLayerSourceService, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
1883
- static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "19.2.15", ngImport: i0, type: PrintDrawLayerSourceService });
1884
- }
1885
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.15", ngImport: i0, type: PrintDrawLayerSourceService, decorators: [{
1886
- type: Injectable
1887
- }], ctorParameters: () => [] });
1888
-
1889
1748
  class ConfirmDialogComponent {
1890
1749
  data = inject(MAT_DIALOG_DATA);
1891
1750
  dialogRef = inject((MatDialogRef));
@@ -1938,92 +1797,6 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.15", ngImpo
1938
1797
  args: [{ providedIn: 'root' }]
1939
1798
  }], ctorParameters: () => [{ type: i1$4.MatDialog }] });
1940
1799
 
1941
- class CenterPointService {
1942
- _centerPointProperty = '_centerpoint';
1943
- _settingsHelper = inject(KomponentSettingsHelperService);
1944
- _current = inject(CurrentItemsService);
1945
- _drawLayerService = inject(DrawLayerSourceService);
1946
- _interactionHelper = inject(InteractionHelperService);
1947
- _geoJson = new GeoJSON$1();
1948
- _featureHelper = inject(FeatureHelperService);
1949
- _confirmDialog = inject(ConfirmDialogService);
1950
- handleFeatureDeleted(featureId) {
1951
- const centerFeature = this._drawLayerService.source.getFeatures().find(f => f.get('_parentPolyId') == featureId);
1952
- if (centerFeature) {
1953
- this._drawLayerService.remove(centerFeature.getId());
1954
- }
1955
- }
1956
- checkAfterUpdate() {
1957
- if (!this._current.gisKomponentSettings.centerPoint || !this._current.gisKomponentSettings.centerPoint.withinPolygon) {
1958
- return;
1959
- }
1960
- const currentCenter = this._drawLayerService.source.getFeatures().filter(f => this.isCenterpoint(f));
1961
- if (currentCenter && currentCenter.length === 1) {
1962
- const polygonFeatures = this._drawLayerService.source.getFeatures().filter(f => f.getGeometry()?.getType() === 'Polygon');
1963
- const centerFeatureObject = this._geoJson.writeFeatureObject(currentCenter[0]);
1964
- const isInSomePoly = polygonFeatures.map(pf => this._geoJson.writeFeatureObject(pf)).some(pf => booleanPointInPolygon(centerFeatureObject, pf));
1965
- if (!isInSomePoly) {
1966
- this._drawLayerService.source.removeFeature(currentCenter[0]);
1967
- }
1968
- }
1969
- }
1970
- isCenterpoint(feature) {
1971
- return feature.get(this._centerPointProperty) === true;
1972
- }
1973
- setCenterPoint(style, withinPolygon, callBack) {
1974
- const style$ = this._settingsHelper.getStyle(style, this._current.profile.styleRepositoryWorkspace, this._current.profile.styleRepositoryGeoserver, 'Point');
1975
- combineLatest([style$, this._current.map$]).subscribe({
1976
- next: ([loadedStyle, map]) => {
1977
- // let parentPolyId: number | string | undefined;
1978
- const centerDraw = new Draw({
1979
- type: 'Point',
1980
- source: this._drawLayerService.source,
1981
- condition: evt => {
1982
- if (!withinPolygon) {
1983
- return true;
1984
- }
1985
- // The center needs to be inside a feature, so since turf is great for figuring out if something is in something, move the click and features to EPSG:4326
1986
- const lonlat = transform(evt.coordinate, 'EPSG:25832', 'EPSG:4326');
1987
- const pt = point(lonlat);
1988
- const polygons = this._drawLayerService.source.getFeatures().filter(f => f.getGeometry() && f.getGeometry().getType() === 'Polygon'); // No point in checking linestrings and points
1989
- const features = this._geoJson.writeFeaturesObject(polygons, { dataProjection: 'EPSG:4326', featureProjection: 'EPSG:25832' });
1990
- const parentPoly = features.features.find(f => booleanPointInPolygon(pt, f));
1991
- if (!parentPoly) {
1992
- this._confirmDialog.open({ message: 'Centerpunktet skal være inde i en flade', primaryText: 'OK', title: 'Advarsel' }).subscribe({
1993
- next: () => { return false; }
1994
- });
1995
- return false;
1996
- }
1997
- // Save the parent polygon's id on the center. If the parent is deleted, the point will be deleted too
1998
- // parentPolyId = parentPoly.id;
1999
- return !!parentPoly;
2000
- },
2001
- style: loadedStyle
2002
- });
2003
- this._interactionHelper.setAsTemp(centerDraw);
2004
- map.addInteraction(centerDraw);
2005
- centerDraw.on('drawend', evt => {
2006
- const existing = this._drawLayerService.source.getFeatures().filter(f => f.get(this._centerPointProperty) === true);
2007
- // There can only be ONE centerpoint, so remove previous if exists
2008
- if (existing) {
2009
- this._drawLayerService.source.removeFeatures(existing);
2010
- }
2011
- // Mark feature as centerpoint - this is to find it again an remove
2012
- evt.feature.set(this._centerPointProperty, true);
2013
- // evt.feature.set('_parentPolyId', parentPolyId);
2014
- this._featureHelper.setId(evt.feature);
2015
- callBack();
2016
- });
2017
- }
2018
- });
2019
- }
2020
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.15", ngImport: i0, type: CenterPointService, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
2021
- static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "19.2.15", ngImport: i0, type: CenterPointService });
2022
- }
2023
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.15", ngImport: i0, type: CenterPointService, decorators: [{
2024
- type: Injectable
2025
- }] });
2026
-
2027
1800
  class OverlapService {
2028
1801
  _drawLayerService = inject(DrawLayerSourceService);
2029
1802
  _featureHelper = inject(FeatureHelperService);
@@ -2285,6 +2058,242 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.15", ngImpo
2285
2058
  type: Injectable
2286
2059
  }] });
2287
2060
 
2061
+ class MergeFeaturesService {
2062
+ _current = inject(CurrentItemsService);
2063
+ _featureHelper = inject(FeatureHelperService);
2064
+ _interactionHelper = inject(InteractionHelperService);
2065
+ _drawLayerService = inject(DrawLayerSourceService);
2066
+ _undoRedoService = inject(UndoRedoService);
2067
+ _overLapService = inject(OverlapService);
2068
+ _selectedMergeFeature;
2069
+ formatter = new GeoJSON$1();
2070
+ _formatterOptions = { dataProjection: 'EPSG:4326', featureProjection: 'EPSG:25832' };
2071
+ _selectFilter(f, typeId) {
2072
+ if (this._featureHelper.isLocked(f)) {
2073
+ return false;
2074
+ }
2075
+ if (this._featureHelper.typeId(f) !== typeId) {
2076
+ return false;
2077
+ }
2078
+ if (f.getGeometry()?.getType() !== 'Polygon') {
2079
+ return false;
2080
+ }
2081
+ if (this._selectedMergeFeature) {
2082
+ const previusFeatureObject = this.formatter.writeFeatureObject(this._selectedMergeFeature, this._formatterOptions);
2083
+ const bufferedPreviouslySelected = buffer(previusFeatureObject, 5, { units: 'centimeters' });
2084
+ const featureObject = this.formatter.writeFeatureObject(f, this._formatterOptions);
2085
+ const bufferedFeature = buffer(featureObject, 5, { units: 'centimeters' });
2086
+ const areNear = booleanIntersects(bufferedPreviouslySelected, bufferedFeature);
2087
+ return areNear;
2088
+ }
2089
+ return this._featureHelper.typeId(f) === typeId;
2090
+ }
2091
+ startMerge(typeId, done) {
2092
+ this._selectedMergeFeature = undefined;
2093
+ this._interactionHelper.clearTempFromMap();
2094
+ this._current.map$.subscribe({
2095
+ next: map => {
2096
+ const select = new Select({
2097
+ layers: [this._drawLayerService.layer],
2098
+ filter: f => this._selectFilter(f, typeId)
2099
+ });
2100
+ this._interactionHelper.setAsTemp(select);
2101
+ select.on('select', evt => {
2102
+ if (this._selectedMergeFeature) {
2103
+ if (evt.selected && evt.selected.length > 0 && this._selectedMergeFeature.getId() !== evt.selected[0].getId()) {
2104
+ const feature1 = this.formatter.writeFeatureObject(this._selectedMergeFeature, this._formatterOptions);
2105
+ const feature2 = this.formatter.writeFeatureObject(evt.selected[0], this._formatterOptions);
2106
+ const bufferedFeature1 = buffer(feature1, 5, { units: 'centimeters' });
2107
+ const bufferedFeature2 = buffer(feature2, 5, { units: 'centimeters' });
2108
+ const newFeatureObject = union(featureCollection([bufferedFeature1, bufferedFeature2]));
2109
+ const newFeature = this.formatter.readFeature(newFeatureObject, this._formatterOptions);
2110
+ this._drawLayerService.source.removeFeatures([evt.selected[0], this._selectedMergeFeature]);
2111
+ this._overLapService.handleOverlaps([newFeature]).subscribe({
2112
+ next: overlapResult => {
2113
+ this._selectedMergeFeature?.setGeometry(overlapResult[0].getGeometry());
2114
+ newFeature.setGeometry(overlapResult[0].getGeometry());
2115
+ this._featureHelper.setId(newFeature);
2116
+ this._drawLayerService.source.addFeature(newFeature);
2117
+ this._undoRedoService.addStep();
2118
+ }
2119
+ });
2120
+ }
2121
+ this._selectedMergeFeature = undefined;
2122
+ map.removeInteraction(select);
2123
+ done();
2124
+ }
2125
+ else {
2126
+ this._selectedMergeFeature = evt.selected[0];
2127
+ }
2128
+ });
2129
+ map.addInteraction(select);
2130
+ }
2131
+ });
2132
+ }
2133
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.15", ngImport: i0, type: MergeFeaturesService, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
2134
+ static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "19.2.15", ngImport: i0, type: MergeFeaturesService });
2135
+ }
2136
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.15", ngImport: i0, type: MergeFeaturesService, decorators: [{
2137
+ type: Injectable
2138
+ }] });
2139
+
2140
+ class IconsConstants {
2141
+ static undoIconBase64 = 'data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAYAAADgdz34AAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAAgY0hSTQAAeiYAAICEAAD6AAAAgOgAAHUwAADqYAAAOpgAABdwnLpRPAAAAyZJREFUSEu9VktPE1EUriuCYeHOpb9FF4YoCw2kiArESI0viERBBQ3EBTEE5dHaBy20pUwL5VU6FSqvVp4tBfqgnWlLOwWEYEwM6UII0fg5U5BCFFKgOsnJ5M7ce77znXvPd+4p3s7T3NycHY1GKzY3N89tbW2d/v39KO+UlJSN1NTUpbS0NJFAIBDvrlWpVKaamhpYrVa43W6Ew+FjGbeW8yGTyTjzxwDkcnmeWCw+lsPDAlGr1VAoFHU8iUTyaWxsLOkADocD1dXV6zwW5QdN00kH4NhVVFSAA/gnzk8MwLARMgwTs4P2IiEGNjZ9bZZ5NPS7UG2cx5v3FN6a/RCag2gdD2PUt5o4AM1E4pPZyAiDE+VtDhQRcyjUuiAg3Lijo3CvM4CinhBKSQZlJgaVZi9GXH8y2ceACizgqWoC9cY52D1eSEk77rfMoqDVhUzFDC5JnUiXuHBZQeFKSxD8Ngb5XSt40PcZxX1rKDGwQDZvLMBQaLuO9gH4/QE8Vo7jVtM0nrTYcVc9ixy1B+lSN84LZ3Ghzo7LdaO4KpxAlmQK/EYHspU+XO9YgqD/Kx4NRVFsXIbJFi/SfQA0HcBLrQ0POygUdtDIJWhkKL24KJpBVu0gymUkVHoS3SYzjH3D6CAHoegcwitihA1mDgW9qygc2cAzgxc2bzDOgK3k2MDj86OMmEJuqx83tAu4Riwgs9mD/PoBtBvMoJ1zWGbCWFzcm+sQmACFYYsFr9s/4rY+jBzdIuTkttzEGEil0m0AL4VSlgGfCCGvewUFxjUUmlZQrpuCfXaePY6H61OAovDOYMFzlRUfLNNxAE6YOACfj0aJfBQZYgeyFE7wFS7c1PiQKZrCC+0EIpE9J+wgMQwtwMKyiQT/kqIQ+5MkR6A3DUPfOwCiywRtdz8adSSMg5OIJKiwseLbmZtQoR1Xuk8sFYkA/zcGP4M7m5JIVEeZE2PAtsovNpst6ZLNtc+qqqpvPPaYNmg0mqQDKJVKiEQia6wvC4XCdb1ej2R0Ns4H57y2tnazp6fnzO7NoqmpyVRZWfmdy9tJjPPBXiIm2U55lnP+C/4QIs8xdHrCAAAAAElFTkSuQmCC';
2142
+ static redoIconBase64 = 'data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAYAAADgdz34AAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAAgY0hSTQAAeiYAAICEAAD6AAAAgOgAAHUwAADqYAAAOpgAABdwnLpRPAAAAwVJREFUSEu9VktPE1EUxhXBsHDn0t+iC0OUhQYCogIxUuOrRKKggqaNK2PAUlr7gNIHZVpooS3TQhsKtBKgrX3QltoX7SCKwYVG2dAQjZ8zjbzkVbA6yclM7tzzffc755577rGC349cLq9cWVnhZDKZU2tra8fXxw/zLiwsXC0qKlosLi4Wslgs0YavUqm0tLa2wul0IhQKIZ1OH8kYXwZDKpUyFs8SdHV11YhEoiMB7rcQlUoFmUzWXiAWiz/4/f68E4TDYfD5/G8FNMuPWCyWdwJGHYfDAUPwT8BzIqAoClk7YtIPVDDsTaJ3Kg2BLYmXtjjahqN4Qc6hwxpEn2MOVt/+od2TwOBJgGuLoNlCoclMod6Ywq2BBG5oo2ARIbA1QdQTAbT0eUGYZpHaojC55XtXAq47gkYThYaRZdwZ+YTawSVU9FG40JPEeVkUJeIgzklmUSbzoa43iNs9fkjMHsQSSfDJAB4qpzdyuoPA4k6jgXyPe2MrYFm/4LJ+EZWKt6jo9KJc7MJFwTTOt0/iTLsHpwV+lEhCqFKFcVPlx4MeD651v8F9xdTuBDZfHI9MEbAnVlE39JF2CuAZMQHZwBj0ZjvIkXEYLDYodWa0SM0o59lxVuhDqSKCaiIGtj6Gu/oonmrc2wnoSs4OcMkwqrTvcF2XxvP+1xh3OGD3x+l/qR3beCyQQL/Jhlr+KMrkYVwi5nFFM4/q3jiaCdd2AolEkh0gSRKPlU68MjmQSu0E3XosUFQaoUgMLVoX2JYl1JHLqDHQuSJSaPpTAXMwMc4UvVKNbTNBBx14TzTTKBO6cFVN50gWRLlsFqUiLxq7JncP0cLCQraoDgJe/0/aZ9CpNUNjsIIYtEA3NAqdZRxm88TeuyhX8FznHVjJuQLtNe+/EfxMJpM5x/4wqrIKhELhZ7d7szgOA7DfXKZ9trW1rRbQ27RDrVbnXYFCoQC9eGe2LwsEgq86nQ756GwMBgPO4/EyRqPxxMbNoru728Llcr8zcfsbYzDoS8QM3SlPMuC/ALEMIuD09rJvAAAAAElFTkSuQmCC';
2143
+ static trimIconBase64 = 'data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAYAAADgdz34AAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAAgY0hSTQAAeiYAAICEAAD6AAAAgOgAAHUwAADqYAAAOpgAABdwnLpRPAAAA0BJREFUSEulVmtIU2EYPv0SdVFqZIhYUBhECwQRIkMY9MPAKEi7QFos+ydC9CMR2spcdVhM2lhNN+ccgi1M05kkistpTibWQJqNNMUupObcTIdEvJ3303PYOe5qg29n5+z7nue9Pu/ZQW1+GhsbL/h8PlkgENi/vr6exD6P55qQkLCWmJg4KxKJNOXl5VrubFNTk1WpVILNZgOXywVTU1PbWngWMXQ6Ha5JQtDQ0FCq1Wq3BfjWNQsVbYsgqV+Gj55pHobJZAK9Xl9HqVSqGbvdHjOBY2IG7r2eh+y6VUij/VBmdEOhYQKqrQs8DKfTCTRNeym5XP7H7XZHJEDrHr35CRK9D9Ie+uCUaRL0g31gc7WRhb+RUBhamUwGFH6Fi/nTgR9wrtkLotolKDROw/2eEQ6UBWevOZrv0DL8jYcVkqDLOQcXW7yQ+mAFTmq+wu3OMegd7wgLzBIgOXoYbCyPQKPRwL7L9ZBZ2Qc3O8bh5Wh3VNBgL9CIPfQKYI5YEh6BVCoFKiMXDh85CCWlZ6KCX7p2luyVK29xezHhWFUhCcRiMVByIJuFB4MtRcCcvKNkBYPjHvR6L73KlSzPg6ysLEKAh5BASILPjxfkQkrqLqisuh7WQ8wbFgd6sSUHVHYRAWFJMjLToaqmgpDh72RREphfqSOGr65/EHK1/q0EyMiGiPWESk4HspjcFF8pAqr4BQHH//s/tEGKYo27x+cF9XPk/pDKB1iNUT1Ay9GD7Lz8jZB1b/RBiflTxOtVowvKWn/xCSQSCecBhgMBhc0Uy33rSA+RjxPPlvkEbBWxyRRWSCRw61gnaUjsZqyiG88XAYVwa4g2+yBWcLp3iEhIas0KkZSoUsEmOZK1zUO9cN78mYhevs5PRFAo1SEbLbiKhATYQCgfWB0HHq9BddcCTxLCiSUJESPXfz0eD6lboQd3ukeJ4KHwoQBi6cUz7QgBMyrnHQ4HR6AdGCB6L7q7AKcNS1xXxgOMe3F8KhSKVYqZnU/MZjMh2Fnrh2Pq32RivXd/ictaoQFGoxEYhbaRuaxWq70WiwWiTbZYvEAMBGdGcaC9vX0392ZhMBisOD4xbv+zEIN5iXjHDPx0BP8HrKKC57UCn9MAAAAASUVORK5CYII=';
2144
+ static deleteIconBase64 = 'data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAYAAADgdz34AAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAAgY0hSTQAAeiYAAICEAAD6AAAAgOgAAHUwAADqYAAAOpgAABdwnLpRPAAAA45JREFUSEu1VmtIk2EUXr/EWBAV9bM/UX8ikIIoCEIISrpZljNQ87IKaptlV7psRloNY6JzYm7O28gsb6Vppm6m5Ww2XQ4nxswoi7zMpk6bFk/f+XQrLdNNGjz7znde3ud5z/ud95x3EWfql5mZGWy328VjY2OrnU7nYpffk6ePj8+or6/vey6XK+fz+Qr33KysrLLExETodDqYTCZYrVavQHOJIz09ndDBCmRkZIQpFAqvCOtM7yEo7If/3a9o7+yaxpGdnQ2lUpnEkclk3fX19fMW0Ju7cf1JL9YmObBcOoRwtQW7VGZcLuubxmEwGCCVSgc5EolkwmKx/FOAVnf76Rf4K+1YfsuOHdkdUD6vhs5UyIJsEpy5tWKxGBz6m23P07SfEZgzCG68DbvUXbhR0egmdZG7nn7yT9C86JnG9VeBx4YP4GkGsezmMLbJP+Lio2ZUGUtmJXYJkDhF+Pti/xBYJ3NgjcyOMyVGFDWVz0n6exS0iBXSYdA3con8IcCRwCPSmdtEH5yy6r8JUNQrpQ53yi4sAv09aI0PoG3OZ+GKxj/1Ayg5KAqvBIi07qUGjfExsMRGwigKhFHI4EwUDAmXmBOsxibFkPcCdS/y8DomAj1iEfovRKHv+H4WZPdIYtAgCsfucxUo1Xd7FwGtvOfSCQwc24fewM34smcjC7JtjFDbVSFyBOcRnj/ghUBBIizMCm0nD2MgaCv6GdL+A1NgbPLZhCEwCI6Bd6XSMwFt60NUq8QwHtyJYSEP36ofw2loYFA/hQbWNyw6AktoECqUuZ4JVDffR5EsFtagLXAIeBivq8REi34ayEdjb0O2oilP7ZkApWHNfSlaDm3HSPRejPL3wRG9B46oKTA2+WjMzAtAU75m/gJ0gKh8+MW14zZPiDdH12OcomDgPDUJ17s5Yj2ei/h4VVMzKcCU6x+dnZ1s3s4sFdfKm9iCR4WPCiClXqMmC/qwAzDzGZHTofh+NoIF2eSjsVpl2q9zwLTKXr1e7xZQaLVsvefG9SFAZXOfSld9aWttxbN0OXSCSLQHB8Aa5s+CbO2po6hKS2a5qH0mJCQ4OEzvTM7NzWWdS+KHsCFlhO1YLZZ3s/YJs7kNjVVPUZ6ajNI7t1iQXVta4p6jVqshl8t1bF9OSUkZLCgowFydbT6XAeIgcqYVjxUXFy913yxUKlUZtU/6MAsBcTCXiJdMw19F5D8Bm6ShPdSR8VEAAAAASUVORK5CYII=';
2145
+ static editIconBase64 = 'data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAYAAADgdz34AAAC1klEQVRIia2VS2gTURSG/5tMJ02chLxDUtpGBKuRgIuooJv6IhTpQlRcVKqLlqzcuRQLXQmCIPUFsTVdKYKuChat1EUXwWAVFSXUB5K21trmUSfPyWTkxrYkzZikqT/M4t5zz/nOmTl3DsGqRkZGziYSiYF0Ot2ezWY1aEAqlSqlVqu/cxx3s7+//zaNUAQEAoGxpaWlEx6PBwaDARzHNRIfPM8jFoshHA7TZdjn8+0ifr+/VxCEUa/X21DQNWVFApVSWl9PTU1BEIQbDM/zgzTzUj36rMXV1yaomYJsMFEixdIDx36gQ58r7pUGp3K5XJicnDzPJBKJFrPZXGYceGXGpb1RHG9NQQ7x5pcKl4MWnHtux+jRBbiM2YozRqMRyWRSz0iSxLAsW2bMiQQ79Tm0aQXZCuZ4BqZmET0dKzgz7sDT7tl/nlXI7tahVJ7AtyeOC7sTODXuQDjOyjo1BKDZFiSC3gk7vq00IZpRoueZXfYs0wiglcvjgXceL+c0YIiEA7YMBkOm/wegot2z1kG8oMD1t4bGAO+WVQguqKEkUoXN2FxAt5Ov6l8TMMszCC02g1FUAhyaPLraq/vXBOy3ZWBTi1CQShu9iPSC5QsyxnoBE5FtuP9JB1ZZaWvjBFw7tFjVvyaAvmOPNQ25HNWMBA0jgRe2UMHjrxzuftCDLfsGBAUJ2K4TcKdzoap/TcDpHb/R6UiDlCTZpJCKD+2sLVfw5IsW/o/lFRy0p3Fl37Js624a0NWehNuULesivapQV/AigBBSEEVRoVSWt0le+huR/jXpU03S6oyQBXActxyNRi0Wi2V983BLCrfe6/FiVgOpjkTTeQXMG5Kg45POaEar1T6cmZm5WAq4d6R6Z9Sj6elp6HS6ULGuoaGhmM1m07vdbmwcPptVLpdDMBhEPB7POJ1O+/qLGx4eHotEIl464bYCIITkrVZriGXZk319fT//AGJrAtxT4sAGAAAAAElFTkSuQmCC';
2146
+ static splitIconBase64 = 'data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAYAAADgdz34AAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAAgY0hSTQAAeiYAAICEAAD6AAAAgOgAAHUwAADqYAAAOpgAABdwnLpRPAAAAzZJREFUSEutVl9IU2EU/6IHsYR6K6jooYeiXoJSKiqwHsqQqLAkKh8KaUgpguEKc6a5bG1tzrvF2tQ5GYU9GEtmlsXs+mdujlwG1tpMDXroRXyoIRG/vnNtWurVq/nB2Q6/8/vO79xvZ9+5K9ifVVdXlz0+Pq6Jx+ObJyYmViXwxXwnJSX9SE5OHklJSRFyc3OtU3udTmeLXq+Hz+dDOBxGLBZbktFeymGz2cg+SAJ2uz3HarUuKeF8hTQ0NMDhcJiY0WgcFkVx2QWCwSB0Ot0YKysr+zk4OCgrEI0OIUb217ENfx5VVJBGowGjD7lHjXwcgueNG3mOnUi7xbCHrJwhVcNQ4ErF20g3wv0DsvsXFCh1n0CGgcHiy4I4bELo60PJxGGjhGWaGC4b0tHb2zunyLwC9tYSZFlWonvUjCfvz6G0fTVUT5lk5BPW80XAedsa3GzMQiQSmSUiK9DV14FMI4M4UgVd50YUtTJcfcaQWOQTdq9zEy/AgGxhNbziI0Sj0X9EZAUu3N8Ce9dZCP5tUL9gULcx5LdMC5BPGMUs/u1w9lyC6sEuzGwWWYF9FQytn/Kgfskr5YkKebUqz7QA+YRRjDht0XwcucvQ39+v7An232ZwvktDMd+80CKOa2AvjnKBQCCgTOAAFxD61uPGq4UFiGMNbUAGF5jZTbJHdFDLUNnJUCEylLxmKG7nff98Wox8wihGnDtdDMd0ixBQ2XajkHeKzs+g5ZspyXWeLLHIJ4xixCni3IvmHcqPSF11DcfNDPpebgGGqh6GMp4wscgnjGIGzjnJufbHeuU/Ml0dedWHcNrKYAxyC/FKeaLK7kkjnzCKneGcAsthdHR0KG9TEvB4PLhiTsepan48XgYTTyiEJ418wihGHK/XK1Wv+I9GAqFQSNpoqi1HjmErMviPSJ0iGfcJoxhxiCt7VfDr+tdcQcKoKnr05uZmuN1uuFwuycgnjGLEmWs/FSm1KR+V3/x+v6L7fTGjlManVqv9zvjsNDc2Ni67QH19PQRB8ElzuaamZqypqWlWFyym4gSXLjxKzkdxnB/j2qk3i9ra2hYan3Ru/2OUg79EdPOBv46S/wZ3qa2VRKmhvgAAAABJRU5ErkJggg==';
2147
+ static measureDistanceIconBase64 = 'data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAYAAADgdz34AAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAAgY0hSTQAAeiYAAICEAAD6AAAAgOgAAHUwAADqYAAAOpgAABdwnLpRPAAAAnhJREFUSEutlt9r2lAUx92TOHzY2x73Z+1hY4WtMmk7hxta2mGv4g8yjSgmuFp/BllHlSmUOlaGkKmzrtkGloLFImyveyk+bCJjnN17WHywSadmgZPAhfP95HvOzT25Zvp75XK528PhkIxGo1vj8fi6uj7P02w2/7RYLN+sVqtos9mSk9xCoXDA8zzIsgzdbhcGg8FCwXKZRiqVYnGGgHQ6fS+ZTKJgPBNZSFjrhSRJgkwmEzfFYrGvzWYThZfJXXD4H8Hxp4+GQYqiQDgcvjB5vd5fvV4PBR+TFRDKPLiCTlC+HBuGEELAxG6qRQZ4XifAvfT/F8glwAPXEiw574AjaKcQn2GIpoO4zMFG2QHu8hoEpS1DEE0HzMUaeQibZSd499cNQTQdbB/FUHir4gJP5QnGok50HbAerJBlIBU3+GvPMAKSZ+5yaTrIKy8g+i6AW3aVQiKHPuAOCUTrgbkhurtog3+KgEbrPUKC+x6Iy8G5IZoOdk9ykGxEEcC+j0ZbxnLF6xwIdIeJrcjMTv7pQP0A250PCInUvAhIHyXAP0NPNB2UTotQO69MHKgQ1Yko8wjYoaE2Xu/01XWwGXNfAjAR5oT1ZKeVoBAR2Ia4CqLpoHq2B2/Pq+AgdoRohdO3CpKyjVH8nJ6Ua9qJrgMX58DEV7Ths4Wk2XgE0OP6d7/fnxzXb+jbvz7dhb0Taa5gOazxbnrUq04QQEfl906ng4tXlUWvXNPrdnIf+CyHozcUCv0w0dmZKBaLhofLdP3z+TyIoijjXBYE4aJUKoE62RYd+iyPaTBxOopH1Wr1xuTPIpvNHrDxyepmJJgG/Ylo04F/k4n/AeQ5tgsVAwfBAAAAAElFTkSuQmCC';
2148
+ static measureAreaIconBase64 = 'data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAYAAADgdz34AAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAAgY0hSTQAAeiYAAICEAAD6AAAAgOgAAHUwAADqYAAAOpgAABdwnLpRPAAAA+JJREFUSEulVl1Mm1UYriaTYYjxYm43JrvwZyZqYlz01mSJWzajN8bolYsXkIhOt7rMsFFal0ClbfqV9lsn6S9rxxgCLa6uZLQCa8vXjsSsP9D/rduKF2BEjK5Bszx+72EFm3YUkOTJ9+Y957wP7895Th+TPPyzWq0fLi8vy0ul0t6VlZUny/6tfBsaGu43NjbeaWpq4pubm41rZ+12u0ej0WBychLRaBT5fH5boLMUo7e3l5BiBCaT6WOj0fjIgH6/D3K5nK23nzm94ddsNiGTybA9fX19MJvNOgnHcYVAIFCTwOu9CrvVCq/Xy9b9fn/VN5vNMn8sFsPlS5fgGh5ie2ZmZqBSqZYkCoXin2QyWZPgG4UCiURi0+Wi/14mO8OCEwllLimnv926b3SuLgHVXBCETWdQ7tOWMig3bTsZ1s3AaOQx6nYhl8sglY1XZELNLZPmcrmHzfdBo1FvvgfxeBz9TmfVeEpPHK85rl1dXWyaysQbZtDf3w/75e9x5Ycf2RgmslF4PB52uN63LgFdksIv8+ANekxNle/IahkIsbmf8d3Vr9E28A6kA2/jpPMA2ocOo+8nBZKpWaTSqdpjSveBSuL3jWNxcRGcVoNQcLpqipQjH4gzfgTmyHsw3VgF2Yprr+C04134BbfYt1zlPfCNT0Ct6hYXsigWi7hXnIeqW4lQaJ1gNhnDee9JaN2HwAtvQO5/BsmFawxknwu/iR73EfBXPq/OQK8/jxPHvxAJ8rh79x5y+dvQqLsR+A8BkSuG34Iu9BrafQ04NbYThaUIA9nkM0zvR+fowWoCISzgo6NHcfDQYQy73EhnsmIPdAgGQ2slSmXmIB15GZywD8E7PG4UHVj4M8tANvk44SVI3a8y0evo6KiUCqVSiVwmDYPejJaWFmi5Hly/vi6ERHBscBd6Is+j8HsAv5UK+PvBfQayydcTeQFS5y5QPysILjgcuH3rFrtUJN9anRZyhQwTE1MVGbQOPIXOwA5ohGehmd6H+T9uMpBNvs7gDtCeKrFTcxyiN3Ow2W2k42uynE6tjhwhk83gmPFFyOQSfCtI0BnaieSvowxkk69DXPvK9vo6gSjXD6he3rEx6DidGNyCVCpdU+Bm5xIwjsjQ6twtjqAEqsjjsMf3M5BNvtaLu3FuqG2dQHwqF8Lh8JYUs9vxKb60PodTzicgG5cwkE0+9cXPWCx6PkXp+Esivp16h1j/rarlhWEeZy2foK33fQayyVeOY7PZwPP8JHuXDQbD0uDgIOt8PaKycj5qH8Wg4OJTXHK5XE+v/bKwWCweej5JAf8PKIY4hdPioOyh4P8CJH3KPKVQai4AAAAASUVORK5CYII=';
2149
+ static removePointsIconBase64 = 'data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAYAAADgdz34AAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAAgY0hSTQAAeiYAAICEAAD6AAAAgOgAAHUwAADqYAAAOpgAABdwnLpRPAAAAzJJREFUSEulVltIk2EYXldiLAiNuqyLqLsg6K4iEbpQyJodrIs8oLNERDKiYtBWHtKxmrg1W+7gXIJZpsyZOArnoZxMjIE0GWlKJ1JzbjaHRDzt/egfbf9smw2+vdv//9/zvKfvef8tgj8fg8GQ5/P5pMFgcPf6+vpW7noyNiUlZS01NXVeKBSqxWKxJry3tbXVqlAoYLfb4XK5MDMzs6lFewlDq9XSmmYELS0t+RqNZlOAQ655VHQtIfPRCt55ZiMwTCYTdDpdo0CpVM6NjIwkTOCYmsOdFwvY1xhAutyPAqMbWfopSKyLERhOpxNyudwrkMlkP91u9z8JyLuGgW/I1PmQXu/DcdM0dMMvYXd1sUW/iTA6tVKpFAL62ijnzYNfIWrzQli7jCzjLGr6x8KgHDhnD6q/oP315wismAS9zo843+5F2t1VHFV/wg3LBGyTPRsCcwREThH+7SyPYL8ygL1KH6p6JvF8vC8MqjbUI+/C2dA6x2xDk5RHSE7skK+CasSR8AgEMvA2XrlejpOnclCjkODpgI5ZIiouLeQ9SwWnrkqY4H5zNQOLzjf9Lyy+iJvSqoh7FPVOeSDcsnEjIHAuHeaeByirKAFZItA+ViA7O4tHTnWj5qAo4hJkZBzDM5uOgRSV5CMn5wSzXEQikYhH0PhqGIc0/sQIKPdUYAIkzwmci6Dd0ozc07kx00eNQt0YN4JrksqYxSRCKr74clHs+hhdKOj4Hp+AgKgOl8qLYRkyMTCyXGcNjHfwCDrG+pl8HH64khgBgVZeLQPlm1vkOUdI960TFnYg6TRTF5U+WQIJYdwUxWrPv6/JbaNMQtKqV5mkxJWKWActmqRt1IYz5vdM9I5o/UwEo6U64YPGgdMBIvmg7thzbw2S3sUISdhILFmKQnL9y+PxsL6NjuBW3zgTPBI+EkBqvWSmHSMIjcoFh8MRJtAMDjK9F95eRLZ+OXwqkwGmZ2l81tXVBQSh2dlkNpsZwbZaPw6ofrCJ9db9ISlvox0wGo1Qq9V2NpdVKpW3s7MT8SZbIlEQBoGHRnGwu7t7e/jNQq/XW2l8Ut7+ZxFG6CXiTWjg7yLw3x28rmpAjitLAAAAAElFTkSuQmCC';
2150
+ static wktIconBase64 = 'data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAYAAADgdz34AAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAAgY0hSTQAAeiYAAICEAAD6AAAAgOgAAHUwAADqYAAAOpgAABdwnLpRPAAAA4xJREFUSEulVltIk2EYXnRhxoTSooNRRsebAsO6sLpZdJEXQpEYBXlRdmd2unBZTSOtxmLRxnK5OXVGJZgrtUgCl3YwjGIiLSQr6URZrVkmEvH0P599P/8/M8sG7/7v//Z9z/Oe300w/PpUVFRkR6NRy+Dg4LyhoaHJcv9fnnFxcd/i4+N7jUajMzc316XeraysbLTZbAgGgwiFQujp6RmX8C4x3G435YkgKC8v3+5yucYFeCvUi7y6DzCd+4zH3c90GFVVVfB4PKcNdrv9RVtb218TtHe9wNFr77H49ACSrP3I8YWxwduFwsY+HUZHRwesVmvEUFRU9D0cDv+RgNqdvPEOJk8USSeiWF/1BJ7WmwiG6oRwTcJY11osFhj4NZrPz7a8xcbqCIwln7DB9wzHrt9TQSW4fKY63+D8ndc6rN8SNHS8xJbzESQe/4K1zlcouPoAzQ8DowJLApLTQq2yKkEgEEBnZyeW2Aew0B7FNlsNPE1+FdR9wSrW/isOIRKUa/mbs8aGKbtbUXmpAcSjmM3mYRelpaUhKysLhiLgYMluKMmFZalLBZDdU4zkubNQd9Mj9uQ+wbkv37lOmDFP3E1JSRFiMpmGCQhOEhJk52SKixQS7Mzbqq61BFzzzLV7NapFl+83YeK0Bcjfu1+4SnWRkkmCkQS8mLFxnar1GtMqVUtJIH+X7tEGfNL0+cjcUaAnoL9ommHXAwEs3cInQWkFQaTWPBurvSSZljwHyZlH9AQ0R1iQfkDnDukuEkkCgtMqEtCS2HTlfmLGYTAbdWkqYpC4aITvZYC1FnCtdaOWhOdXbMpDzsWPegKRRYp2UitqLV0hAbRBZlb9zoqZc2YjddMerC77rCdgoAmYb94pzJYAMg2lBdp3KsM7pWUloiBZzcyilVsKwUY4opIZZK25zBISaQtLW2jW5ttIt1zB1EPDLYWtQhatLk1leTNNY4MW+159uxmb/U9F01vj7hdNMLZVS7yRFoxCwALaF3go2kjKqW8obOgD2/ZYg0kQKL7/0d3dLQ7HWnCk6b5oeGx8bIBMvbFARzQ7ZVS+b29vVwlcLS2i3xuL+5Dh/QS27H8BlWc5PktLSwcMyuw84/f7BUhCST+WO76KifUo/HxcwJLA5/PB6XQGxVx2OByR2tpajDXZ/sYSYhBcGcWD9fX1U9R/Fl6vt5Hjk4H5HyGG8ifirjLwZxD8JzKAKKzuzS8LAAAAAElFTkSuQmCC';
2151
+ static pointIconBase64 = 'data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAYAAADgdz34AAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAAgY0hSTQAAeiYAAICEAAD6AAAAgOgAAHUwAADqYAAAOpgAABdwnLpRPAAAA0JJREFUSEullmtIU2EYxxdRSSgFi4SCbkTYl8oP4YduQvlhRpaXlILMpStF0jLCwua28rqOm7iba8dtppWiNlnacCleUpcxraikRKgMrPUh6UNliTz5vHQObmd2Nhu8e7edc/6/97m8/3dLBH9fZrM55dvXj7Lp3zMbp38tXcn8HswcsmL2R8jyZR9CV63TSiQSPfus1WJoo6gcePxgD4z2RsDE0/WLGvgsatzS5YDRSL0hAJPJlKqfE1+M6EBPFOTWq+CQrgvGXFu8NOq0GUDT+kqBWql4P9geFTDA3bcLipvyYVvFOKwp90Ca5RWI6GGQNiq8NJ517gClUjolkMulM+MDm/8JwNVRLRfgoKEbhKUeiLE+B7qvE3petJCBnxHomwWZTAYCfFsoPSb7GUikbRBa/BlE5tdQ5HCxoow4M0dqxqDRkeSl5RfgeBQDJ833QFjigf2at3DF7gbnSOuCwgwA4Rjh/MVyABEVY7BVNQl5rSNwf6idFdWayyDlxPG5kUzm8ioZB4iLwJpgjRgIByCQA+fBi/nZcPRYHBRRBdDUQZMZQeln0zj3YsGxqwIGqAw3iJhvvvF7WvopuCrL87qGUa8t+8S2LG8EKM6ko65VB1nnMwBnBBjrKYiNFXHgWDdsDoyCFxAdfQCanTQREWekQlzcETIzEcXHx3MAlV19sLtqODAA5h4LjIK4chRnIrhjN0BCYoLf9GGjYDfyRnC5INdvMRGIxZdkiv0CxJYREFut/AAUwjqcy04He28tEcOZ6ayOoQYOoMHlIPaxV+sODICiuZeyAPPNDFw5A8TrbW472ZC4m8PLJyGz1gBohLwp8tee839TOvuJhQive4il8FqFv43mC7nd74SkulFievu0LmKCvlYd8EZjxHEDoX1gd2y6OQGFjYVelrCQWZIUyeWnZ9892UD61jeCwvYhYnhofGiA2HrBHEwEQJVJv7idkSxA391N/D5MMQmHqx+yuzIYYbwXj8/SkmvfBUajpuquPpUAwoo8sLNylJxYLwe2B7Va3wVYLCLQapQ95FzWqEunmquTge9kCyQK1EBxtUrx02azrWb/WdTU6Nrw+MS8/c9ADb2OGqRpOhzF/wDMPgEKuYUfcgAAAABJRU5ErkJggg==';
2152
+ static polygonIconBase64 = 'data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAYAAADgdz34AAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAAgY0hSTQAAeiYAAICEAAD6AAAAgOgAAHUwAADqYAAAOpgAABdwnLpRPAAAAyRJREFUSEulll9IU1Ecx69t/gkMiuoloSAIsr9gRM4yeujJ6q1egoIehDJqD2EQPexOt0nOoA2XEbFJlEqmKVbmXybDNGbTpTQbbNawUNycM50Np9/OOXrXrppzOjj3jnPP+X5+v+859/xuArf4UygUmcnJyZq5ubnD4XB4h9Afz10qlXolEkl/KBQqViqVHyJzNRrNvaKiIr/ZbIbdbofL5Vpz07WOIPVgGCknQ7BY+0E1DAaDn2hWMgCJ/Ixer/fHK5quC2IT70YS70La2Ukkyny4WumPBGY0GicKCwtzOULqslgsMSOmkUaLnnoyDH2bGWZ7DWs5xiHsLpmJ6FitVqjVajfNIOhwOFYExBIVxOm9qus9OIVbpEO0SR+5CPZknQ7ikGxm1UijRZf+T1W5cb9hLKInApSWjkCSNYMEmR/7c72i9FcTjX5GbaM2CgEvy6Cx3YMjN0Yjvq5VWBhH14Qu/IqAKxUT4HhgV/FvGNrb1w2RKl141vGLQUQZyGt9OFE2BfmLXhzQedFke7MuyFHdZxw3TC0HCGk5nAO4XOFA7ivy0ixuwXju+XU92Fyw8D6IMnjdPYyXnT/x1enGl8E+sqcDqPzYuC4I3a7vejxiAH0L6Rq09n5jdF3bJ2RoPXjbWR03ZM9DNy6YAmLAxecBtgbdA98ZwGYbxLb0euzNiA/Al3QjPceLRHI2Ldum0edRL8kkO7sO3L4Wltmam2IenIyMl82LAdR/ug7xHHrCWG3zCK5VjbO5d9RecJeAYzenxYBzpkmkaf8dVrFALTYPE+yw/2DZbVFPsw1C+wSbRRZRwPnyQMwMqEhSwTgTFYQeNI0y0NKgVl2D6MF368eQ+XiKbWPaf7tmnFkiAP6XLQPwPD/rdDrZ5ObFtPscQ5DXevGI1AA6+Xq1j1lAI41lXfRzBiAFx6HROLEz0wUurQH0VM2v8zELBMtiRboSlJZeUtHGOHK5lZfXEeS2l4HjyhmACtJohUWLJ2phrMlkmlWpVE9ZXaZlUy7v/KPWLpyCG2m0OlJxoukkFqVEvixI/eRp+aS+bbAFaeREYysV/wuqNrioSoYgAwAAAABJRU5ErkJggg==';
2153
+ static lineStringIconBase64 = 'data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAYAAADgdz34AAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAAgY0hSTQAAeiYAAICEAAD6AAAAgOgAAHUwAADqYAAAOpgAABdwnLpRPAAAA79JREFUSEulVv1PU2cULtOsopjshxl/MdFk+00TM5P5k38BkqjZFKYEP3Hg2HQzaoyxvUAg0CDdoNTUlpZKGK6AFSmi6GahqDVVoIlZXSN+RuMHSMpsazH6+J63vZd7WyAlNjn9uu/7PPd5znnPuRmqxMtqteaGQiFtNBpdHovFFor/z+VTrVZHMjMzH2VlZRkKCwuN0t6mpiZXTU0N3G43/H4/RkZGUqLl2lNk2yamvSaup72EYTKZKO5yArPZXGA0Gmfc6L3zENmNr/GN4TlUAmYlkN+Y3W6HxWL5XaXX6x96PJ5pNx48N4oVJ8LQdN+EcME7JwKfzwedTjeuEgThXSAQUBCQHStORJDbEoTr1nm4/R0Jgg9YUvUWa40RHOt6hX7/o1kVabVaqOhNlCa34/RALwcWgyvQAuU9dznB4ooY+z2JeaWTM5IqCOR2yIHlBPNLo7g67ET/0FR0+wZQ5BibIhU+IEOI8ZuWCFb98QabrfckO2YiyCyflBQd0RxQKFQoTRSDRPBVbQS/nB1K2SAHEZP8p+skaoylyMnJwZHjB5iiKRunchWvNolgPavvJRUhBcFfPaewfVc+zK21KNMdRfHPezjonqId0FQc5t873Xb8M+RIzVWyAkruPOEtLH1X+OLahgpsK/gBGzdtwP5Dxaiu0+I38xlepqIVW/Pz2N23s98UScWQTEByvm14g9V1z6XFBEx3r/Q2MKuNM1pEBN23HuMzpsLli9f9zsICXPS2ygi6mAJ3CgFZlZYCIllWHUG29UFiQzuuyuTHk3yDXyPvDbYqUBEQAVl6uqNBdiCTkiwetOpLL6Aui+DSoBOaysPoudHKSQiwpNaE1dv1IO8pCJxI5qSAiNTlURS3DfPNW/I247vvN0mAuw2nOJloCSV5a35u+hYRQX7LGBYJ//MKKfl1Lyxn9ArpIvjfg/HypHNAQT2LmmK2PcjaSFh5DuRttnfwMV/wU/swujx2Xvfy6pAnVNc7gG1N/+FrfQhZzFpq62UXXqIv0QRTmp1ItLI+hC+rwjwXyS1gb9sdrDn5jJ+JdaYJHDo3hi7fk2m7Kidg7fp9MBhULKBkL6saxT6mQmwFVEUZrIx/bBuDtf9ZWoOHE7BR+dLr9So2/Bu8j4WaMBaUR9B9+yxXoe30zGng0PisrKwMq9jsrGtublYQ+ANemPsuc0B5fF4Wb8PphM1mg8FgcPO5XF9fP+5wOJA82dIBSl5DGATORnHU6XR+IT1ZNDY2umh8km+fEoTBHiKus4G/lMA/AjvmjLaem6aqAAAAAElFTkSuQmCC';
2154
+ static printBase64 = 'data:image/png;base64,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';
2155
+ static featureSearchIconBase64 = 'data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAYAAADgdz34AAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAAgY0hSTQAAeiYAAICEAAD6AAAAgOgAAHUwAADqYAAAOpgAABdwnLpRPAAAA3hJREFUSEu1VmtIU2EYPgVlxozoYn+CfnRRDKKS+lMRdBEsCKIf9aekyCi72U2U0lk0y7U41k5Lc3POaYrpNLPbNFxN3aaSjaLJ0ppdyco5S4dFPJ33qy21smY1eHZensP3PN/7Xd73jOC+/XJyctZ7PB6p1+ud1tfXN9bHB/IMCgrqDQ4ObpdIJEJsbKzKPzY3N7dSoVDAZDLBbrejra1tWKCxpJGVlUVoYQbZ2dmbVCrVsARv29uxu/Qtll3owkPn4wEaOp0OarU6g+N53mU2m//YwPrAhWPXOjArowcT5d2I0ToQrXmAw5VvBmg0NjZCLpe7udTU1E8Oh2NIA5pd+s3XWKb2YOJJD1bqWqC+Uw2TvZSBYjIcvLRSqRQc/f1qzc/XvMLaPDcksk5Eax/j+HWLX9Qn7nvOE16ioO7FAK2fGlxpfIYNBW5MOPEeS4TnSKxogvFu+S+FfQZkThn2n+wPBmF8D2bwHuwvvwuD7epvRftnQZOYJH8P2iOfyQ8GXCoCEh28TLThdKr+mwFlHSrv8R/Zf54BZUT7RoeDshi2gbHpIoTKeCQURmFP4VLs0y9G4qXlyDTGgzdWI1J493cGR0tWi7NbBbVtDbIbvoJiqXE2DulWICLdhIqGp4FnUNVUCMWVLThdHgXBsgDSW5Ph6DAyUHzOuhAZ5dHYmLkNMUXvAjeouXcJKSWLkVE3F0eqg5BwYwxcbhsDxcQp6yNxsCgKizK7Ajeobi7CPkMEeEsYatsFNDzXo+PDIwaKieMt4dhjmAMqhAFvMhnsKp6AM7YZcHWZ0el14ePnXgaKiTtjm4n9+ZOGt8lksL0wBDLzKCgsU6GoD8OL7nsMFBMnqx2FuKJxgRnQBaLyMZPvxNaz4Tgi5XDSwkFWNwaOt5cZKCYuRXx3QDv/u4FYrj87nU5GDC4VKVdt7OJQ4aMCaKh3QmVIRlx+qLi+HOS2kci9H8lAMXFxBaE4V5L03UBslR1Wq9VvoKqpYfVecvQNVmk6/beyf5VM1+/A3pzpSMgfjeQqjoFi4k4V7GRa1D7T0tJ6OLF3ntXr9YwMkXVjjvID61jNjidDNqG8UgHHNJuRlLWOgWLifBPRarUQBMHE+rJSqXQXFxfjd52NBre2tg5pTBokLrZib1lZ2Xj/l4VGo6mk9kln929AGuJHRL3Y8KeQ+BceKZouVHN+8AAAAABJRU5ErkJggg==';
2156
+ static zoomIconBase64 = 'data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABQAAAAUCAYAAACNiR0NAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAO1JREFUeNqsk+ERwiAMhdtOwAiOwAg4gYzACI7gJp4ToBPoBu0GukG7gYZeehcjgZxt7t4fCB8JvLSNHA5kQQY0gQbQo/kjAugJemeU1o9aUKokCiCuO+YXI2YOBWw9CPvFNpfEESHSu44kV2yfvpmrdOLYm/6E1bZB4iwV0LGFixJ4YxV/AelvvZTASdromo2jY+4/KM/RvCFnaGoZoxgAah1T+7W+ADXohCU3am9N/vIsx+NlfAyDBLUMSiuuzXYRWgP0wsUztBXAHn9yxzyaDH1FM+emar/GciFT5WmtjznUbTEcDiubYR8BBgD2fnjD/AKVHwAAAABJRU5ErkJggg==';
2157
+ static cutIconBase64 = 'data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAYAAADgdz34AAAABmJLR0QA/wD/AP+gvaeTAAAACXBIWXMAAAsTAAALEwEAmpwYAAAAB3RJTUUH3gYDDB8MtOM2YAAAAdBJREFUSMfl1T2MTFEUB/DfjOcjviq7DRsRRCKiY+kVmleKwkchKgmrZWhEVqFhswqVRLIFiShOfBSi0C2xUSgVxGKzIxIJdmVHRnMneXmZtxijcpp33jnn/v/3no97+cdS62VRnuftsi0ian0hKIC/xzRWYGcVSb1H8DFsx14cwFTVyeo9ZGgatzGHDG9xpiq4F4IPeIcF/EAb+/pJsAuBw9iGdRjpSw0KADswiocpRcv6eYKT6bsBQ31t0zzPB9BIKRmMiGae57uxCQOpFpciYvK3CfI8X5XUlQmos3gYe3C1EN5Ohb+GRkR8zRYB3pgKebEiZLKgz+IxnuBKSuMzTGQV4Edws2SeT1MrFbaT/1c4iudo4TXu4SAmaiXg9WmQivIZH3ELZ5OtERGjaXK/YDO+4Xvyz2EGQ/VFwGdxB1sjYktENJL9DR4V4lbjFJZgKcaT/gnLswrwkYgYq7iHXhZbM9kbiaSNtcn9IiLms8L90pFjEXGjBH45qTO4EBFPu5CsSaZmRAx2/OUin+sC/gD70++JIvivhqxMMFxeXLp+D0XE3T8d+6zbDkrATRzH/b9+Mrs8GKdxHa2IaPVCkBXA62m3UzifumDBfy8/ARhwrGEODAGpAAAAAElFTkSuQmCC';
2158
+ static copyIconBase64 = 'data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAYAAADgdz34AAAABmJLR0QA/wD/AP+gvaeTAAAACXBIWXMAAAsTAAALEwEAmpwYAAAAB3RJTUUH3gYDDCItkmJugAAAAHBJREFUSMftlEEOgDAIBIvp93jtPtCevBhT10m10bjXEmAWSilvV7iBmbk6cZICdeIUOIqppJCk2CfDnQ8lOEuyvWMC2uXlGTg+/wTzCVzV3nfvJXSLYwKXBhO4Wu4+18gi93QPX9MpFj0/A+zvZ9UAaFN03sNpI7gAAAAASUVORK5CYII=';
2159
+ static copyWithBufferBase64 = 'data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAYAAADgdz34AAAABmJLR0QA/wD/AP+gvaeTAAAACXBIWXMAAAsTAAALEwEAmpwYAAAAB3RJTUUH3gYDDCQhzY6FLQAAAIJJREFUSMftVW0KwCAIreH1PK0HrF9BuOVHErIxIQqrl74nVsrbrXIHIjYiqisfIjYL8Dh/A9IuPQVgCVJ8ZPaN9TzPw5OlOQDpDOwASXsafduRujPggnGwVVX9GbgzuE63CogCaBSFNdA4B2vTMovHLF8Db5kea2ppFOVqEPo4PmMdpg1975VbWTEAAAAASUVORK5CYII=';
2160
+ static fremhaevBase64 = 'data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAYAAADgdz34AAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAAgY0hSTQAAeiYAAICEAAD6AAAAgOgAAHUwAADqYAAAOpgAABdwnLpRPAAAA1BJREFUSEutVmtIk2EYXb/EWBDZ7UdQP6L+WZkQEfVDCNR/gWAQqCAKQhJJUSK0KV7nZdbWdLk5pyjeFbcpzsuWSzfRTQfS5ty8X0rNOW0OiTh970cbbqYu5+Dd923wnfOe5znveb5TjL+fysrKWIfDwXK5XFd3d3dPu///n2tQUNBOcHDwHJPJ5CclJQk8z1ZVVcmLioqgVqthNBphs9mOtcizBEMoFJJlpgkqKiriBALBsQA/G+eQ2rKOiE+b+GqZ9sKQSqUQiUSlDC6XO6vRaPwm0E3MIqtzFTdKnQjhbCFeYkKUeAIZ8jUvjJGREXA4HDuDzWb/MplMhxKQ3RV0f0eEyIGQfAceS80QDfRCbWyhF7knhL6lZbFYYJCvg2peplrBk2o7mDkbiJJMI7tL6wF1g7uvd/jLqB1c8sL6J4FsZAFPa+04l7eNh/xFvO0YhdLQfiCwm4CQE4V7N7uP4CbXietcB9LaDWgdVhwJulcF2cR5zjZIj9wk+wgYbPgN2mtsRbWuD2WaAYgGVegZa6MbTlx1IgQyvQzPOhcQLt3E/fJvKJB8RPOQDBc5To9lA1KgMMiQLLPg3vtFhL/WIvHVS/SMNtB9I+YgKgIiICUpUXYjJrsS0WkFyOZloc/QhNK+AYQLtgIn8LXp3t/EKMSNASmQUyWKU8zRPXgknkdJnRD9Y020SRIkRsTX/wiMoMMgR2znMm619CMscwXJ6eno1TegXttFu+lB+ebJEVxhLyIyhY3bpbO0i5Ib1kGCMKASEQWR7esIbVbhMmsJ9xOLIVXPHH6S/Tlo1V+UiKmx4kLhFsLqdhHaogJRkJqeB9/Q9FsBiQ0SH8Qd14p3kCFbQ/f4PBKU21QPjiCg4vq3xWKhpfkqeKcYpg8OCT4SgMR67hjQT874R0CNylWdTuchEKhUdN4zM9cQLd7wnErfSDeYZ5CitONu7QZVIiqD3uR4lYiMz9zcXCeDmp0fampqaIIzOVsI5f2kJ9aYybthvgSTUzbIhifxnNOM2BeFyMkvgtls9iiUSCTg8/lqei7zeDx7Y2PjviYdNfynpqwwGMah1eqg1+thtVppDAJOjWJXW1vbWc+bhVgslpPxSTofyCIY1EvEEDXwLxHwP1I4uvOad9ZNAAAAAElFTkSuQmCC';
2161
+ static fremhaevSelectedBase64 = 'data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAYAAADgdz34AAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAAgY0hSTQAAeiYAAICEAAD6AAAAgOgAAHUwAADqYAAAOpgAABdwnLpRPAAAA2hJREFUSEutlmtIU2EYxxdRSSgFVkaJVkRUkJoZ0s2gErK+lRQVWVZ2+6Am3YR0W3lda1pz0+Vxs4vW8DJxm6O5OdPmtObMTCmx8pY3KutDZYn823toy81ayzV4d3YOnP/v/T/P8z7PpjB+fsRi8d5PH3qYI99HfUe+TZ1pef4vV7cZY1/cpk/rcp+1ICsqKkpofTdfkq3gcqNRK9+AtofL0f144aQWeZdo3BREQyTivqABubm5EUKz+GRE9dXBiLnLwzaBFu2GJTYad7KOgaKEmYwMDruzThnsNMBYE4DkogtYdq0Dc9IHcVjyHGFUIxKkbBuNJo0fOJyEYQaLlTDaoV/sEEB2xy2JxdZsHTxTBxGa/xRUjQbVzSX0Ir8J0D4KTCYTDPL1p/Dklh/BbkoG9+QBhIlbkaQyWEUt4pbran47pKpwG63fAlSVodgvvgfPlEGE8F/iYrkRalPZH4UtAAInDsdvdgJg+bV2LOX1Ia7MhNIG5V9Fx7sgmyA5ITmyQCYAGCw4LappLsXtei2ya2tA6XWobJLRCSdV9V8A8kY5DlT0IOjWR6zLGUC6RIDiOjnmpfVbS9YlB0qTHMfl7Qi+3ougcwYcPXsGlUYpnTdSHMSFSwASEp76AcKTxNgRl44k/mVoTUXI1NZg7Y1G1wH2ZTr+nhQKqUaXHCjMIYpQdtE5CMnrBq9QhKqmIrpIIiUmRObnuwYoNymwt6IP/iVVCGT343h8PDSNUtw3qOhq2phl/H8Ab1Yvtp9iISCjFV7pfTh5KxukEboUIuJge9k7+BXrMJ/5Fusjz6OgfJfjk+zMQbv9SI3wO22YyxlCYMF7+JlD5M3qQkzcZnTobeeI0w5I2yDtg1THoqvdSJQmQlu9BZEKjTkHWscAFuvQ2Jt6H9qavYNEZQN9cEjjIw2QlJ6lDTQb/J0DcNMShozq1VaAUKej+70Huw87cyqsp9K+pbcYVuG0ogRrCgbMDloQE7vJJkRkfKamXPrMEIn4NwqFETTAI2kQ/plt9MRq0a9wOIReN/hCpQ5F9JUT2Hf6INISV+JV3a8cSCRhyOJzqum5zM9IHS7O2WPegePJZu+is94bLVofPKnwwTONN7oaFtAaRDyDx/4qk8lmW/9Z5OUJFGR8ksy7soiGUMCtoyjKi4j/AJuVGiaL/SZsAAAAAElFTkSuQmCC';
2162
+ static infoBase64 = 'data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAYAAADgdz34AAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAALEwAACxMBAJqcGAAAAl1JREFUSInVVc9PE0EYfd9sFyiLYBtDijebeihyIhy8GE8mxIsepEjsxYsRErT/QfUuUZSU6AUPJiKEcBM9eiORqxBpUxNDRCkU2tof2+7OeMDdlm132yZ48J3mm5nvvffNNzsL/O8gp8WrC9+6cqo+TuA3BMQIwAaOV/gugTaI06ridi1/unuh1J6AEDT8Mj4BgRlG5HO0yLFLhMjnyYtLLQmMLQkpeRCPEdE9R2KrJyDm9wYeLIdIr51nVufJdHy+XfK/TqcSB4kXDearGH61fYdxemNH8uF2PwBgdHHPXkhgvPa4zAouz3x3k87n2vNdD02I+cDsdqcRu4xBubsYZiSddUq+8mwdAKD4/LZ7JEZej5tPAHgN1FQg9Mr9Zu4Un9+R3ICu6lPG2KwATAraJYSHFISHFDN26gEACKJLJq0xkJjLbZewsL5jHk8rkBgzuVxOGw3IPR7IPZ6WBUBk3s7aHrRO0ARc10SdQKVcKZyWgNCrXNUvWStsnpZApVz4UifAS4UY53rjjDYguAYtn40ZsdnknMbe9mVSTzo8Pq81yXgirHGj66oepfc1j75oxCfeomB0LdTR1/9O7u49kZT/mWzo1vrRaYUMirn9W1+joysNBQBg8PHHmHzm3KRVpBm0fBZqLj239ejadO08s27cDGamy9lUTD3aQys9EVyDevgLpVzq+dbgYcS6bvvLDEbXQiA8dbl7z0tdCiS5A0THLeNch6io0NQ8ysXfOyARqT2WlgQAIDD7vlNOS2MAbnJgBIQBAGDADwG+IQSt6l6+knh4XW1a6r/CH/oT3HyJavllAAAAAElFTkSuQmCC';
2163
+ static downloadFileBase64 = 'data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAYAAADgdz34AAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAAgY0hSTQAAeiYAAICEAAD6AAAAgOgAAHUwAADqYAAAOpgAABdwnLpRPAAAAn1JREFUSEutVt9rUnEUtycxfOitx/6eHloPUVIwI8I9RTWcVE8KAyOTjDSZ6L3Xm3NDIXS1ftEi06m33XTd20yzhHrtZfhQIhGn7zmmbIOrX3XCUZTv+XzO+XzO/R6PmP6/RFG0tdttd6fTOdHtdo/2fx/n02w2/7ZYLD+sVmvI4XCEB7nxeHzd7/dDLpcDTdOg1WpNFJiLGJFIBKNBBNFo1B4Oh0cCblS/gP+VTpHc/Ayv2fdhhciyDLFY7L4pEAh8LxQKQw870yqcExQKm1BiUQabqBCREYmqquDz+XZNHo/nT71eNzzof6kTsDP7Ca6tNQbhympwVngP4Tc7hrlutxtM+GZUBSafipRgPluDuZUtWHxSpbNzj8pwkxFcTG7D1dTWdAQnH+aJ4KDm11fL1BV2YeQHVwenlzYJ6CDIvefbRDw1wcxSkYBuPa7sk+Lusyr9fj5WnLwDrHqGeYAdXE6qIL/VYDWvw/I7HeZTKlxZUcAuFSf3AA21iyWaHCRBU/vhzO7QdC2u7e9s78CM9AAPv/jQgDOiCgtZnUhcLFCaS8kKXBCMq8dcLgKUaVbqjSrO/g0WLkaG5qIPw55mLgIEwInpd9Ej0OhpThX0wyFAmbBi9GKBSYTaz4rD5eGWqC/BnacVMhh9QILlQm3kBcktEZLENj4SAUpzm5HxXOljESCgnK9R9XLe+BYde0z3JjS+fqNretQu6OdQB+y6/ttsNrla7nXBV/3AZLYqfyqKwk3Aoz2ewfXp9Xp/mdjufJBIJA6dQJIkCIVCOdrLwWBwN51Ow7DNxls5YiA4W8WdTCZzbPDPQhCEdVyfaMw0gRjsT0SJLfzjCP4PSlocJ9PLStIAAAAASUVORK5CYII=';
2164
+ static openCowiPageBase64 = 'data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABkAAAAZCAYAAADE6YVjAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAAJcEhZcwAAFiUAABYlAUlSJPAAAARyaVRYdFhNTDpjb20uYWRvYmUueG1wAAAAAAA8P3hwYWNrZXQgYmVnaW49J++7vycgaWQ9J1c1TTBNcENlaGlIenJlU3pOVGN6a2M5ZCc/Pgo8eDp4bXBtZXRhIHhtbG5zOng9J2Fkb2JlOm5zOm1ldGEvJz4KPHJkZjpSREYgeG1sbnM6cmRmPSdodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjJz4KCiA8cmRmOkRlc2NyaXB0aW9uIHJkZjphYm91dD0nJwogIHhtbG5zOkF0dHJpYj0naHR0cDovL25zLmF0dHJpYnV0aW9uLmNvbS9hZHMvMS4wLyc+CiAgPEF0dHJpYjpBZHM+CiAgIDxyZGY6U2VxPgogICAgPHJkZjpsaSByZGY6cGFyc2VUeXBlPSdSZXNvdXJjZSc+CiAgICAgPEF0dHJpYjpDcmVhdGVkPjIwMjItMTItMDk8L0F0dHJpYjpDcmVhdGVkPgogICAgIDxBdHRyaWI6RXh0SWQ+MzQzZGQzNWUtMWRiYi00YTg0LTk3NjUtNWE2NTEwNTk1N2NjPC9BdHRyaWI6RXh0SWQ+CiAgICAgPEF0dHJpYjpGYklkPjUyNTI2NTkxNDE3OTU4MDwvQXR0cmliOkZiSWQ+CiAgICAgPEF0dHJpYjpUb3VjaFR5cGU+MjwvQXR0cmliOlRvdWNoVHlwZT4KICAgIDwvcmRmOmxpPgogICA8L3JkZjpTZXE+CiAgPC9BdHRyaWI6QWRzPgogPC9yZGY6RGVzY3JpcHRpb24+CgogPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9JycKICB4bWxuczpkYz0naHR0cDovL3B1cmwub3JnL2RjL2VsZW1lbnRzLzEuMS8nPgogIDxkYzp0aXRsZT4KICAgPHJkZjpBbHQ+CiAgICA8cmRmOmxpIHhtbDpsYW5nPSd4LWRlZmF1bHQnPkRlc2lnbiB1ZGVuIG5hdm4gLSAxPC9yZGY6bGk+CiAgIDwvcmRmOkFsdD4KICA8L2RjOnRpdGxlPgogPC9yZGY6RGVzY3JpcHRpb24+CgogPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9JycKICB4bWxuczpwZGY9J2h0dHA6Ly9ucy5hZG9iZS5jb20vcGRmLzEuMy8nPgogIDxwZGY6QXV0aG9yPkVtaWwgU2FoaW48L3BkZjpBdXRob3I+CiA8L3JkZjpEZXNjcmlwdGlvbj4KCiA8cmRmOkRlc2NyaXB0aW9uIHJkZjphYm91dD0nJwogIHhtbG5zOnhtcD0naHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wLyc+CiAgPHhtcDpDcmVhdG9yVG9vbD5DYW52YTwveG1wOkNyZWF0b3JUb29sPgogPC9yZGY6RGVzY3JpcHRpb24+CjwvcmRmOlJERj4KPC94OnhtcG1ldGE+Cjw/eHBhY2tldCBlbmQ9J3InPz7wO0RJAAAD/ElEQVRIS61WX2xTZRT/3Xv7d3Vdt9bFAGp4gkDodCIZkW1qFNAIHQusjSEKzrFl8dlA9gBKwIT4PGecPhiNJEswhifdHPBA0Jc9sDES1m2ZD8SsS2Rrt66394/nfO3tbmkv8LBf8uVLv++c75zzO39upZ6eHnNychIejxumiU2DJAGqqmLPniiklpYW8+rVX7C6muGrgsQmIRAIIJFIQGprazUHBwexsrJSvKqESSFK5BrvFqzfvDshGAyiv78fsiX4+LKDZR6Xsxu0YL+3y8nFe0f4a/xobGxEJBJBXV0IdaEQQvX14qyedllRhFw1oxZcxb0Mltc+nw+jv/+B8dExPJhJIru2BsMw4fV6EW5owBttBxA71oEQGc7n80XtSlQ1wmADP//4E74fHkZzczNOdHWhJuCHLMnIZrNILS7i12vXcOvGTXz7w7BwygnOdJFSLpeDrmlQXC7s3LkD4XAY42NjeP/IB1AUFxlUsEbRUehPLExHI7n1dZzqPo2LX10SpXhvehoL8wuYm53Dvw8f4v79aZz86CS++W6IeswDk2h0QlUjHLphGKKZDh46hF27d+HW+A2MjIwgncng8qXLJCMj8WGCCuJ5kY8nJb6qEVbgxR5OTEzg6ytX0NTUhM7jnfj49Cm0t7+J2WQSF89/CUl+er9UJN4ywEq1tbW4c/s20fUcPh84Rx6rghaf3w/d0HD9t+tUcVnKjyIidzLmSJfiUrCw8A/GRv+k6noVqdQi5pKzmJ+bR3LmAV7bu1fk5u87fz11GEmtrQfMoaGh0lhhj7gPkskZ9H5yhhouBJOMquu5Mi9lRYbb7Uaa9Nrffgvnv7iAdDoNWd7wm8dKX19fZST8EK+8mofLrYiOVkixJlAjut9aXq9HyDN1KpU6h8N0VUNVuhgsz3wXIEHT8shQZWXSGWSpvPmevdaostScc7czyoxYieOS3PbiVhyJxegRDbquEW0NONrRgVhnDK/v20eRqkLuhS1bcIyqTs2pZVTZUTq1qopzwisYrENP7xkxQtIry3h5+3acpQo7OzCAeCIu+H/06D80vRLF4fcOi+ngRFcp8cvLy+KAvfEQ35QZUZqp1BI1ZU6MFNHZ/BDxv7S4BMM0EAlHRCXyua7pUKnMGcyIlfhSn7CQXKyez3r72Zr47aK5xQr8AD/KYDF2gM81XRe9w5F0xbvwzsF3RfR2lEXCShzJvckp0cnCZdgpKDixgeId6RnkxNaXtiFE3xym2x5JBV0MpkW4+8xgYxwtF4kuTuxGiJGNT6m1c+g8hZ99FeTZgP0tXvy+tH9/4d9KJrMqLjcPpph58Tj9W+nu/tScmrpLHewrebEZ4AjWKbpoNIr/ATlQBdZNXXvBAAAAAElFTkSuQmCC';
2165
+ static sogPunktBase64 = 'data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAYAAADgdz34AAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAAgY0hSTQAAeiYAAICEAAD6AAAAgOgAAHUwAADqYAAAOpgAABdwnLpRPAAAA5dJREFUSEudll1MUmEYx+nK2Whr1eqym1Z3bbXuXFtza61uygtnF5Vu4fdHZlZWm9KHZCc2nBD5wYfgCrSERlIzKCkpbJpEMfFjWlnZUhKh0Glr/85zCiYiFpzt5Zxx3vf/e5/nfT7OKt7fS6VSZfj9/qq5ubnN8/Pzq0P/x3NPSkqaTU5O/sDn82XZ2dny8Nrm5uYOsVgMm80Gl8uF0dHRhAatJY2GhgYagxygqanpmFwuT0jwqesDitu9SG2cwcDwWISGRqOBQqGo5Ukkkvfd3d3/Dehxv8elB5PYWhvEeiaATLUH+5VuXOiYitDo7e0FwzA+nlAo/OnxeFYE0O6udX5FqsKP9TV+7NUMQvHMCpurnRv0TMClrq2qqgKPfmL5/GbXF6RpfeBXT2O/egxXHjrCoiHx0H2HbAK3nn+O0FoWcL/3Iw7f8mHd1e/YLfuEClMfHvXfiykcAhCcLFy82SjANkkQWyR+lN3rh+GlOUL0ifPOihDaxAbmO+iMQpAoAE+ImCKXxUK0W1Sw9LXGnEMHTlGVECCv5AQqzp9Fk64OT5x3l4WQ1RuZYDhk47KAAEZTB8rPnUfj7dqYEDo3Cg6yIm5AZ2cnjEYjys5WoF4rweP+tihLah8/wy55IDHA0NAQgsEgdDodiooKIdOIl7WEAoWiMW4LCECXPxCASq1G4ckyyJuvw/oq0pIstQuZ+m/xA8bHxznA5NQUZmb80OnvoKC0FHWqa2F36R0PufKRUj+TOIAsWFhYwOzsLBoalchl3ZXHNGKn9BMXRTmtXlAhjNtFIQu8Xi+mp33Q6/VgiyUEeYXIyC2C0jK4ciavlGgUpvbndrDNCAR489aNnIJCpOw7BEFOPmoYBm63OzEAJRABbE/tUGm0yCsqZc/gj4+PsxCz2QyHwwEKgqhaxJbrX8PDw9yLpRZUml9yBY8Kn6DkFPakHsSRo5k4np+PdoMRr1+/4cAqtrmMjIwsX67ZVjnZ09MTBsi7urh6z784hQPK6XBWWiwWiEQ1MBgMkN64gbLTZzAxMYGsrCwUl5dH7Z7ap0gkCvLY3lnX0tLCAdZUB7Bd+oPrWE7Pu4gdDQwMgLoU+dlut0MgKEZ6ejrS0tKh1WqjAGo2T2QymY3ry1Kp1NfW1oZ/dbaQf2me1WoFrTGZTHA6nWEX0TsSZ6Nrji0ra8NfFkqlsoPaJx3c/4zKykqExuL5pMF+RLxgG/4mEv8NDua1LGBTTb0AAAAASUVORK5CYII=';
2166
+ static sogPolygonBase64 = 'data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAYAAADgdz34AAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAAgY0hSTQAAeiYAAICEAAD6AAAAgOgAAHUwAADqYAAAOpgAABdwnLpRPAAAA59JREFUSEullm9MU1cYxi+fCNolRhQ+jkSjCRoTk0Y+NDMEMLEmbiMRNXMRTYDSCWE4smCMtPUPuoZYsjbFri0FUYONDqIwIm6jShw0ZULR9rYNLeg2zUTFoigJMc/ue/BWKi0U1+TJbU/vfX7nPe97z3uSuHefxsbGPeFwWDU9Pf2poGXieFJSEgdA/LngNTk5+XVKSsoDiURiKC4uNkZubmpq6qirq4PD4YDb7UYwGPwo0bPkYTKZSD4GMJvN+41G40cZ3nI/QPnVp8j56QW8gVCUR3NzMywWSz2n0+nGent7Ewb03x/D8V+eYF39FFK1kyi08ZBb7+Nox3iUh8vlglarneA0Gs0Mz/MLAmh2P9z4FzmWMFLPhLGt2QfL7V/hcF9lou8E/HBpVSoVOLVaHde8oecx8s9PQHLqOeS2EE529UVMRXPxutnwCBfv/BPlFRNw3fUX9l6cwMrTL/GZ4W9UXxtA9932uMYigOAU4dwo5gHW66awVhfG4fa7+NnZuajp3ChoEqu0L0E5EiHzAJwa80y7B+w4UaeBUqmEorQUikMV76Usg0KhYP+dPHsChY1eVlVRAKKIA7EANMsiRQlCYw+ZgqPRGhXG/hz24OvKKtjvXEOadipSsiyCRAD7lJW40vU7yo4ch+J7dZQqa2rRfvMW8ovL0D1wmeWNioMmnTAg0QgIUP/bbUiNk0sD7D/03aIR0BIRgJaUCoWqMeEICOAPhuD2+DHo4aM07A3AOXiP5UAEHLC5Udj6bAmA8uqYEZRU1UDMwVcVh3HD1YrWvi62fcjOvVgaIFYV5eXlIXt7NnJ25WJjbi4yVQ6sPjOJkstPQRth4ksUJwICpF1Pw4ZjG5D1RRa27v4SnV0d8Pv9S0yyAIgXAQG4cQ7L3cshPSiFLF+GBlMDvF7vbARzN7t4L9qebypi5kCMgAAkgmWqMpEtz4bT6YwA3gYCARbSh4CaTid7cQ4UlcSsormA9PZ0rDm7hi2VWqOGx+OZBQit8kl/f38EYOzpYfu9RDOOHdbn7K3UN5hQVPotisqroiQCMswZ2LJvC6Q7pTCZTcx8aGgItbW1U5zQO39saWlhgE9OTWKT/hXrWIP8KBsbGRkBz/vA++aLALICGbI+z4K8QI4Lly7AJ9wXCoVgs9lgMBgcrC/r9foJu90uGC3c2RY7DFD1UHKFQwSEVvymra1tReRkYbVaO4SEz9C6/R+Rh3CI+ENo+Olk/h8veXXcPn9a8AAAAABJRU5ErkJggg==';
2167
+ static skrafotoBase64 = 'data:image/png;base64,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';
2168
+ static streetViewBase64 = 'data:image/png;base64,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';
2169
+ static downloadMatriklerBase64 = 'data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAYAAADgdz34AAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAAAsQAAALEBxi1JjQAAABl0RVh0U29mdHdhcmUAd3d3Lmlua3NjYXBlLm9yZ5vuPBoAAAGoSURBVEiJvVTLTsJAFD0zpUCnBQP4QEyURKOujBsNP8BnuPJH3PEvrlxr4s6g0YVBF5poYmLQ8ihVKC0oVDd0oNEExlDPZm5Oeu+Z29NTIGCQ/cPnZKku39Ysd9F1v8Y2SPH42GcSEbe/PtO73Ez186GSId9Umv3FadzWg9ml0kU1nIPbPaG1lpuZ5vBR3L3Lu3SS1/JXvH9SSgObPkDgAqGd9IdQQ3bOFhPYW34RaljJLIgJeMVaZp6TpmXDaFpIxTUkNMb5h5cqACA9m+ScZTuwbAcaU6AxhfN6veEXYGFpKBtTYTQtJGIqmPzTpnQqMRw0ENGY4ucHAoGbTI5Oz4SCIOpB8J+pV2xlh78j+9PFQ7mCtaUFnwelp1cAwPbGKud0w4RebyA9m/R5cH3/COA/N3B6LiffLJufJMZ+NOmGyWvLdvip/yIQuMl8g9WRoDVabZittlDQVCUKVYlyvtp48wuoI0EjcQ1mqy0UtJjKfLwnQCWJ9gfF5HuPQdvpeGWZHBevirbTzU3aLOQBIQUqd5Q8UyLn3iZTQhmEFMK9zsEUZ/6Obz/toX8kkesVAAAAAElFTkSuQmCC';
2170
+ static VaelgLokaliteterBase64 = 'data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAYAAADgdz34AAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAAgY0hSTQAAeiYAAICEAAD6AAAAgOgAAHUwAADqYAAAOpgAABdwnLpRPAAAA+JJREFUSEulVl1Mm1UYriaTYYjxYm43JrvwZyZqYlz01mSJWzajN8bolYsXkIhOt7rMsFFal0ClbfqV9lsn6S9rxxgCLa6uZLQCa8vXjsSsP9D/rduKF2BEjK5Bszx+72EFm3YUkOTJ9+Y957wP7895Th+TPPyzWq0fLi8vy0ul0t6VlZUny/6tfBsaGu43NjbeaWpq4pubm41rZ+12u0ej0WBychLRaBT5fH5boLMUo7e3l5BiBCaT6WOj0fjIgH6/D3K5nK23nzm94ddsNiGTybA9fX19MJvNOgnHcYVAIFCTwOu9CrvVCq/Xy9b9fn/VN5vNMn8sFsPlS5fgGh5ie2ZmZqBSqZYkCoXin2QyWZPgG4UCiURi0+Wi/14mO8OCEwllLimnv926b3SuLgHVXBCETWdQ7tOWMig3bTsZ1s3AaOQx6nYhl8sglY1XZELNLZPmcrmHzfdBo1FvvgfxeBz9TmfVeEpPHK85rl1dXWyaysQbZtDf3w/75e9x5Ycf2RgmslF4PB52uN63LgFdksIv8+ANekxNle/IahkIsbmf8d3Vr9E28A6kA2/jpPMA2ocOo+8nBZKpWaTSqdpjSveBSuL3jWNxcRGcVoNQcLpqipQjH4gzfgTmyHsw3VgF2Yprr+C04134BbfYt1zlPfCNT0Ct6hYXsigWi7hXnIeqW4lQaJ1gNhnDee9JaN2HwAtvQO5/BsmFawxknwu/iR73EfBXPq/OQK8/jxPHvxAJ8rh79x5y+dvQqLsR+A8BkSuG34Iu9BrafQ04NbYThaUIA9nkM0zvR+fowWoCISzgo6NHcfDQYQy73EhnsmIPdAgGQ2slSmXmIB15GZywD8E7PG4UHVj4M8tANvk44SVI3a8y0evo6KiUCqVSiVwmDYPejJaWFmi5Hly/vi6ERHBscBd6Is+j8HsAv5UK+PvBfQayydcTeQFS5y5QPysILjgcuH3rFrtUJN9anRZyhQwTE1MVGbQOPIXOwA5ohGehmd6H+T9uMpBNvs7gDtCeKrFTcxyiN3Ow2W2k42uynE6tjhwhk83gmPFFyOQSfCtI0BnaieSvowxkk69DXPvK9vo6gSjXD6he3rEx6DidGNyCVCpdU+Bm5xIwjsjQ6twtjqAEqsjjsMf3M5BNvtaLu3FuqG2dQHwqF8Lh8JYUs9vxKb60PodTzicgG5cwkE0+9cXPWCx6PkXp+Esivp16h1j/rarlhWEeZy2foK33fQayyVeOY7PZwPP8JHuXDQbD0uDgIOt8PaKycj5qH8Wg4OJTXHK5XE+v/bKwWCweej5JAf8PKIY4hdPioOyh4P8CJH3KPKVQai4AAAAASUVORK5CYII=';
2171
+ static searchDocumentByPolygonBase64 = 'data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACgAAAAoCAYAAACM/rhtAAAACXBIWXMAAAsTAAALEwEAmpwYAAACcElEQVR4nO3V3W4SQRgGYK7LeOwdeAMm3kBjhLD9sdYT+VuwrYkRZoElqKULlRpJIfiDIKWUApHAyWJiTXtAgiG4xBPd18wYEk+kS7o7XRPeZDIHbMKT75tvxuFYxKK4vGGYtVZEcmwJ0Iy4vGF4nr7QV4JSzbZAbfIDXooUpYYtgTSmI80Gmo60Amgq0iqgaUgrgaYgrQZeGmkm0GVgXRnQSBbAy2YB/C+Buq6j2VVBlDw2tpMQ/ITtkpJHq6ey368MOByNEYxmICZeYb/ex+HXCZqDX2zP1vsQ5X0EYxn2HY03ovADDkdjPHichFLpoT3EP5dS7rLvvo3GyJYafIC6rrPKXYT7GxmK7aH8qc8H2OyqrK1GcNNF271TqPIBkt0DdubmAb48UhGMZ/kAN7aTbBDmAdLv17cSfIDuAGHTOg/wZPATgl+ybwWrpxq/CkpKnt1zc59BmdMZbPVUNpVGca0hEIhlkeI1xTq9B2MZdr8ZAaY+dLAaiiP3sX0FL0l5NjJV6uDepgyy9xZroTju+p5c4wKkoc8XfSFou7N1lQ0CnW660zNH20orF0kX8brWRfKgCiFANJcnfIMLcNruVq/PBodWVAgQtkfTBbR7fZwPhri/JSORqzDk88IRhICkCf7wTS5AIzk9H2B9U8az/CFD7r45hiBGJ4Jfum0LII365Yy1e6dYZ8j0+xOshmKa20+ctgDSKMUalsXoRHnXYMhMqYW1R7Lm8pAlWwArnc9wPiS3loOxCcX9qWSTPp1jWwClTJHdg4KP3KGVozg5V6FDczYTyHM5pv/rIUtuH/lOcU5f5PqFw7KIY3Z+A5DMa52GW2qJAAAAAElFTkSuQmCC';
2172
+ static searchDocumentByPointBase64 = 'data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACgAAAAoCAYAAACM/rhtAAAACXBIWXMAAAsTAAALEwEAmpwYAAACTElEQVR4nO2W7W/SUBTG8Z/UfwVH5gvoTFZHAWVihFJeVhHCcAVNHGrc7DJ5GzAnzbKSGP22BLMsLPOD9jHnJpgNmatbb+0HnuTkfrj98MtzznNuPZ6pOMkrxGFXzYpSkwugHfIKccw/eWbOhpI11wIOj44hEKSYbLkSkGQ7pN2AtkPyALQVkhegbZA8AW2B5A14aUg7Ab0W6r8BWtEU8LKaAo5kmibaPQNScRWBqALfgsTOZHEVHd1g99wB0+ufJ1a8qsP/KA8hVUa50ceHr0do7/9kp9roQ8yUEUqVMDg45As4SYODQ9xZVFDc0NEd4Mwqaj323bcxSK6ApmkiJJfOhTsJGU49P9VuroDtngExW8HNlT6uRppn1klIandH7/MBHJ+9ewkVT7U9XPsL3DjgSt1gwXHEwUBUYUGw0t5R0fc0i44AzgQlltZ/Adza/wFfMOleBze/DPk5+McMSiqUi8zgctUZBzu6wVJpNcUdSnG6jC6vFE/cg6kS229W2ltY34EQLzi3B0+9JOdAEtyNcBq3Ixk0tnfh6FucqOoIxAqYl1WoDYMFgdJNJ80ctZWcuxXJIP1Cg/9hFlpz5/cm4OrgSNQ2eiFoCZOjvqDETnm5ymaO7luf9hic8mqT3a3Vu5DL7931P9jY3oU/uoTc6xrmYjmEsxV3AZK05kfmYP5tEwHmtix6gCuuASRVN1qYe5xDcW0L/qgy9AUl0VWApMq7Gu7Gcsi/qeP6/fix6wBJNINeIfF9ZkEKuhLwwdLLi4XEyfJM5eGjX1+91N9zQgjNAAAAAElFTkSuQmCC';
2173
+ static clipHoleBase64 = 'data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAIAAABvFaqvAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAAL9SURBVDhPlVVdSJNhFP6giyAUYvbfRV6EEkIQLTXNSrFIg0AoiIysIOkmoSALlGor07aFytxqa2PMIbnhhjhN+phsOtdmM2Xkms22rEwxf7flLrxZz/w+xufc3Ho4g53znvPsvO/5GRFag9frVSqVfD7/cdKAM0KcTifFECYyGAwCgcBkMjkcDk/SgDNCJBKJWq0OE7ndbrFYTB8mQr/jxx3tfJF0+YvbS5s8HuRltVoJuVxuNptpWxzYxia57/5kNK2k8fwVCleJfKyme44+83jsdntzczPB5XJdLhdtWw/87Iv3s0UyX1qD74xyXDZgMDm0EHwBKe20BjwZgQ+tMfDKOFPWupRSt1gsHq/tMFPxTDnSMt1m+U17byTS239dblti1QcKWqYedg3r+juO5giO5fGjWCDPeq3IlA6LIspsXDnY6LvXOaIb6qG89WYNO5dXzLrlqSq39MkiLBBypHMHL4C3o2LXERFPQkxXSibu35i+UDh5syyQtn3mXL5DVNtj0UBwhFdHBanYBERmc6svfX8kF2fD3Ykcdu62q9Rlkfgu3grVBwmIfpafR0ZMy4f6B6dZt3MLBJSKp0RZEhAhkcC+nf0f3zKNC+ysURknojb1DbDF/gREs4XZnxurmRa7WrCcmc60QFAf1DouUcyYqUtnv9ZURhmvKxwV7QuxiVCUyaxDn1T1EW8IqX8ztWd31E3brb2oXf7r5RhE6J3sjFq8KDMAxrwD1Sf3VlFq93AX2hXNjapVqucxybGJTqVWlhJXQgQRkSVia/GWa8dznvPIwRKFl/U0gAGKOyJRj82U1kHyouobRveExI8xZu4QCgmI0HKYGNQl/WWwRj8XGYiNCBNxOBzsNihMokc9Q2g2TC9mGNWlvDdBmEgkEtlsNiggEhuN2DspnLlS+SLVsskAOxf7m7BYLCqVCnpqnf+w8C824ajrO+WRJBQKhU6nCy9/qVSq0Wji7clNgBCwCIXC1dVV+u+IJEnsXFz1v4AQrVYbDAZDodA/IjLEyK0wXBIAAAAASUVORK5CYII=';
2174
+ static splitBase64 = 'data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAIAAABvFaqvAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAAPnSURBVDhPY/z//z8DA8P9+/cPHz786tWrL1++ALnEAB4eHjExMRMTEy0tLSAXZNDevXsvXLgAFBIUFARKQ9QRBEAr379/f/PmTQEBgbCwMMZbt27t2bPH3d0dKo8XPPnCsuYO99W3LFMc3rEzg7wCBEeOHFFTU2M2MDAAuo2XlxciihW8/s684R5P+XGhBbfY5Vle/GT8+OankKHoT4gs0BMnTpxgefr0qZWVFUQIDfz8y7j5PvfOxxwX3zAYST4vM7qkwv8RKH7nI3/XOcUkzU8QZUJCQu/evWP5+/cvGxsbRAgOdj3i2vWYY/fj/7ZSH5yk79WZPoNKgAHQOG6WjydecFhI/IAKMTCwQGkwuPaObektnl2PWLR5P1rL3c3UecLG/BcqhwqClR/Ova6FxaDt27e3HGNjEVUKcxSa4/RciAOhAiswE3854bIOMOxEOaE2MUGo8+fPvzgwi3t3+pN1DbhMmTlhcXpk2YHdx4FsoEu9RZ8svYlIK1CDTp06xZB2eubyrotnrkKUIgOgSGFq/Y2rdyKTAh1cLSGC/lr3Vt7lBEYIhAv12sePoOiAGLF83nogCdEAFNm5+cCNy7fj0kMDIzyBInAAdLg61/uDTznd5L4BucwODg76+vri4uLb5rT8fHYlIMLzyvkbxw+e4eHl7m6YBmQ8uv906qJ2cxsjiH5kIMT9a+ENuVCVbxcvXoR6zdPTkyFqU/ukyoYv3UD3P3vP0N6x6uYHQWtHs6+eC2UVpBzWB/39zxC4FeQoIBtI1p80MxB5/eHnf2BcA7lQg4CxxrDMrzKvvYGnFOg1dXmeyoowNRmOS2evNSTIABWEKd9iZmRwlX0MYQNJcU6Qj2wEHqy5ywVkMNbX18fFxaWmpu6z23sgcF2UdxYvHw8w1IFyBMGLb1zbbyjc+Snp8rwf6qLXr18DSWDQyivLAr0GEcQFvvxm3fFQvvCwZd5hO3Yu0TZLUERBYy09PT2nzXS5wHvkCMYEp16K738qdfKJqL38nxLDbxYSL6AScINAgf0me2bgOggXDTz6zLvpvtL+p6Kagoy+Ct97rV/DyxA4QMlraODdD44jzyU33Vf+8481Wu1rieF7eIbABCxMTEzAAoCZmRkqAAb7nsjsvy999TO/m9yffptPWkK/oBK4AYuIiAiwNBEVFQVyrr0TWv9I8vgDYTsZ5ijtn25yryCK8ANgmQss2xiPHj167949YNlmsEJUkY8pRPmbr+JXPrZ/UFVEgEOHDvHz84MK/9mzZwMLcF1dXcwSDj/49esXsJAFuggY6dDqaPfu3UAhYGBBVBAJgCGrra0NjHFOTk4Ahi6b0E76oikAAAAASUVORK5CYII=';
2175
+ static changeTypeBase64 = 'data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAIAAABvFaqvAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAAOmSURBVDhPjZVbTFN3HMfPzZZTir3QnhZSpOUytB1DGjYnOgmjKaIjpsMQE5+IMyQ+7Glx2cMelsWZuHh56sOQLD6QeNtMZvZgus7IRRs0oToQy6UVKYitnNOWQ1uKh+5Xzl+hjGE/adrz+/V7fuf3+5//+R48nU5jGBYIBPr6+kKhEM/zEOaCXC5nGKaurs5sNkOYKeR2u71eL6RUKhX8LerWU3bqlN/pRMFb4JIcx/l8PqVS2d7eToyPj4+NjTkcjpKSkg1V7t4funPPMxvmUIxhQZ665FWcdBcuCTiI4RSbzZZMJj0eDwETVVdXI+E6/u4fkiuVlRVVvpEJCK8M0y239V/eUcViYSkZ7BkrEGUAjDY4OEjMzMxoNBqUe4u7f0ggKFpCKxQqfZEeMj84O05bH/zW7OqwPm2rnLsxIROVgFqtZlmWEARBIpGg3Cp/9Q2lt0l1jIaS5i3GF6W07IKj42LbVyfO/LwsZAQVimg+FfXM5a3KEQT6XeUpKzl/658VnGJUKqZQW0DnB2dD4Xkuj8TZYGDkeJPtu19EZVv5VPdo1oKuFTr0h/5bV8ogjxsNRTqGEVaEeY5dSiT9L4J8Ir7Axy6PTCEphn2ie/WEJcIJEsXrC/miMudhLy2LLmMUwHJRluVYdj4a4XyT08adyq+L85EUwySkcFgb7PGtNZU1GlBbw0y/ejQ8MRWLxmAJX8+z4QhvKCuo3WNK8ikkWuWI2X9tkoZ9IIYbCwEWi2Yh/iww+xL6CXERvVHe2FACeXJbllidl6yScfdmaDHcpBBQ8xEjUyy8jCV0pQX2RiOOZy5LUhvFbbv83aNo3s0LAR9bi60fyu2flxIEaj7YtFc8eMduTTiylIZ7Dcf/Wwiori0iiTWB7vHwu28RYnl5v/L5zcnM5qTElEjDabRNtmBnz334oADDuo9dmoiQxq072oLRKoO19Vdd0+9SmfanvVHIZHWUC2f2nbyANzeUvvmmPP6pfg5lcy90/rMTZ6nmXSq81ZjoN4EBZOxwPe8Zbbq4sPLgdZP9FlfT+OcX3BVb+GgF/98qAEUQGQMgybWnRuR7u8OZOm7f8ebiBzGzOmtPbwoFZgSPglarFeMf93ecW2k6YCBby5Ye7giJya0BzwW3xAcGBvx+f319/e6rWtN24mh5vNW0uF2yglQ50Nvbq1AoMubf1dUFBg6Gu8Hh3ksqlQK3ho46OzvR68jlckEKFktU5AisrMViaWlpoWn6XwtDaLFzWSTkAAAAAElFTkSuQmCC';
2176
+ static setCenterBase64 = 'data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAIAAABvFaqvAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAAOsSURBVDhPjZVfTFN3FMdv20v/0Xrb0gsFFayYOlqqpcM/INNJFMIcuAXCki0Z+/NAfPCBhKhPJr74YGL0QV8GRqPRzcSow0UDLRChlbIJg6mwdtArbS+0hbUUarFIraf93RWR0vF5OPf7O+fk3N+/ey4rGo1iGEZRVG9vr9frDQaDMFwPIpEoMzOzuLhYrVbDMFaos7NzaGgIXFKpFMIo73+BV/r9fqvVKpFI6uvrWTabzWg0VlZWMvGUuIL4nbH0F//ilz718TixpQAmk0mlUnF0Oh3MTSwWI29Sphc49+2ik32yazZeHu4OswIzYVkRGUZRWITFYsFpmi4tLUWuDwhHWA+o9HYnf3gG02dPndD/tY0IgH8sQJwbVP5QMIfSZDKZz+fDI5EIl8tFrgQdDmGHk29wRj/JmS3faD+9a5IJxIFy6XjA4ubvVbxmXBiGM884Iz7uTZuow4FrxIF9uePHCl1cToSJraQ2f+LKqDp5oc/aFBFsqUY53lo+JePHMp4P/NNrGICTxbCovkS958AOlAnszvJcfFYIe0cKmDex0QOwBoSt5cYaJYWq/Hqry9D2RPuxqu67CrCDfaM3Lj9AmQDM9AjpumldvivLhd5n8MnIpGO66UxD2WE9qZCCPXbqK9jN9rtmJgPDjqrtt8cFcCBomLxQf88zfUkBCCflvt36CCzokoM7h/8YjcdjwMS3C/2PaQEaJi/kmfLkf7QZRNdv/fSEByzo7Volj8ePxxlqC+xXRtORTl6IkBBu1wyI8s/3ZGRKwYKmJ7wsNrMQhE4+PRuOwlmDTl5IpVH+afkbxGalouH4UbCgn5qfZ5BEPL5MmeTlnXEhiOSFjtTvD86Hfv7p4dxsrBmAhUO0W51136/4JN0hYRTjjs1yQK+4kO8Dx3TvuvHqxftoKM+S/NhUy+OngQ6+STNN5rQ7cugQ8UXewll9oOvu2oWAL789xKj/+N2T1U3n9LvIA3lLzUWhvYrYaSJSFUrgmBe3UVu7abJAyqresnB+33SihyRIVcj3mm+aym6j8pfepn2jetVc5E98EKvB2Ww2XFkOJ7ZhCbpcm7qpjS/miYrcpQtlc2rZIhNYG1wul0M3IUkSBiM+2T1Hdt/LjP2bOF9rwhW5XpSUGui50NtYZrPZbrdDb9P9Qio3sOvyQ9XKVxu4b5msddDT00MQRKz5t7S0QAPXarWrO1xqFhcXocnCjBobG5nfkcFgABdsFspYJ7CzGo2mqqpKIBC8A/jTdMM1f3ILAAAAAElFTkSuQmCC';
2177
+ static editBase64 = 'data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAIAAABvFaqvAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAANwSURBVDhPjZVtSFNRGMfvvdvd5rbu3Nzabb1IssKXLFe0sjBCTJAKsTcWUVR+iUiNIggK6kNfMoISCoMQFYoIKSihmkW1VTohWqa9Tke5am665dya2/V2e+7OZQ3N6e/Dvf/znPM855znnvNcnOM4DMM8Ho/NZvN6vaFQCJqzgaIomqbNZrPRaIQmH6izs9PhcJhMJrVarVQq0bjpaHcrTtVpJzLZjkuf2ciIy+XSarWVlZW42+22Wq1lZWXCwGkA/8Y+6lPQK8Y43QudL8LsriXOmAPQBevIz8/HW1pacnJyDAYDcphEqr+Zlu5a4lquHQF7/euVvQH6adUP0IFAoLu7Wzw4OAj7THj9I8U/YqYnLpV8Q/5J9uV9sDzkkwtoNBqfzydmGEYikUB774F5IQZnLVwa/yS0PKoksab31MF84eMQ6PXggcIxgfdh41zvb/C3VjnPFTumi4Io0kruDCiERjJQRUWk/Zy/sCjeeOR5ev8kkC9Yu9BIBjrryKqwLRxeLO8bUSPLjMB8BM499WSgphBII2PX6CM7Da4r75bHWME4IwWZv671UkgLPrUrft0sHzpkJot0/jYXf1JnQ3k21zvCIC0EeuOXdnllHCY/uTL26NuinxE5sqdn8+KvUTb4MUiCFgLdcyv2dBh+RBgFOee46eOFlwXh8B/UlZ5sCmt8pwIhBPrNEJAjJSkFXaJWuZve1NagnnQ865gvf0I9vC4DLUam8+uHkQBwHF+m5ezezI13Z7iAGFSOIA4vkEIgSJBUxJl0MdAUJW5uLkyYBxLPydzpV7wPSE6vDl69pbq4IGvV3CgYha3d/Dynzp6F9HQMjPJJ9YTFJ17p2/qlMRY/bBntOvP19jH+WAqBAJMuLqgpgE/eDfWmewv9UdEC5cT5Yl/7lmHYAXTpMlg0RthawwY/EqnAYbN9z6hZMbqWHj9UgI0xQWTfYQwjkQohEolYloUc9SdWPhYnGt6q7rv52xiKE31BHPYCuq4oCElJzj8VQq/Xt7VhR4+Pl299CzXgxifqck/W48QN2p835rR4/zt/KuFwGOo3AaV6aGjI/8WKfecv/XbjGKSgfh2v08yfitPpzM3N5Yt/a2trT89SDZ1t2cZ/yNkTj8ehyEaj0erqauF3ZLfb4XcE1RKNmCUkScKGSktLZTLZX9Msdr7+YiVbAAAAAElFTkSuQmCC';
2178
+ static drawBase64 = 'data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAIAAABvFaqvAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAAOUSURBVDhPnVVbTBNpFJ52/l6GFqaMTNEtFrpgjS0NBdkbXrLhgYtmNdl1SfTJGBNC4rO+7cM+bFYTEx982YDGFza7iZvduFkvtKjLRXDXC17AdBba0hZaWyiUtpS5WU+ZichKaPXLSeac83/55sxp5xtFNpvFMMzn8w0ODkaj0VQqBWUh0Ov1RqOxsbHRZrNBmRPq7+8fGxuDVmlpKRxLvLyAWy4sLHg8HoPB0NHRoWAYxu12t7a2yuebIpRCVyd14/Po4pdxDZ57FMDQ0JDVasWdTifMVlxcLHU3RCyD/+HVnxmhrjCaShRhFYk5lqqnWekUHmJ0dBTNzMw0NTVJrf+BFRV/+nS3gtonc1jDtvDphqc1ZAL6kwny3CPLiV1LEo2iqHg8jkRRVKvVUusN+gJFfUGtK5jd99Fis8n73Sez8sEqQE6HEqMR7edbV+QWhiH5uoqJuLqX0fcFkL04scc81VUbUuOifLYe31RPX3ph21jowLWtIiYcskz1NIcp7RpjQ3xa/vLCs1rYHU3Id1JKF4AnUdTT7D5k8eVVAcCkB+lQr2ftv7Im9L44bPP+OkXADyKVHy4Eg+8sWvh7hpDKdcveBBzPMpF/AsmJFYzFBVGj1VSRjq+tZM94fYt5GQiFTjTi7439y1g/1jqqSdtOqsasC2Ou2fCPmfSz8XkVEPIL8Tz3IPCXHvF0WyyYGtlbdQoCEmOJzkSqdpM//+bVAS2/EEJoiWVwOhpJP83wSUJFQkASTj3BjdFyg39yEQdafiExKyaV8awy07bj/JHa7iIVBQEJlIIizakjP3yRe28K2hEvRJRKsYKsq9myz0CYICCBEppoebZCLwCnICFB5FPc9NUXRy8/bo2lGQhIoEzx/hXESZzNhOIr2ms+S9fdFiFmyrh5AQux2eklLheQ5EoXT2RqJDJSwnyiiOO5hb3B7VDFHZ9pPEm2mIWzn8UikW+fUz/hN6O6A9z98PdAUCEufR2bsxrtGtkRUVlZGbgJTdNQTMSp3wPbRvxb9lfgx+xsizm6ysHryo8n783NVvZl/gsmyx9Ci32pZiu3W7C2tvqT4LngbYrh4WGv1wve5vyFtpQoj1Qvf2VJl6hfrUqsw/DYDf/iw4yQ8zMClVQZdu9xtkM+MDBAkmTO/Lu7u8HAHQ7Huw4nATgKhfxyvg2O48BkYaLOzk75c+RyuaAFy5IYBQI2a7fb29vbCYJ4DWjmkeQms4G/AAAAAElFTkSuQmCC';
2179
+ static mergeBase64 = 'data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAIAAABvFaqvAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAAQbSURBVDhPjZVdTFt1FMDvvaUtNyv9klIqo7Ed61gLmyOdICNrsnVpGoFFszUYt/mEaDJ9Ut80yxJf9MHozB4EZzTRZdnQKZ0NgbJJi+ma2oGwFUpp51Zmv2w7+sX6dT239xYoYMIvaXu+/uf+z/9/7ilKEASCID6fz2KxhEKhZDIJ6k7gcDh1dXVqtVqpVIJKJjKbzdPT02ASCATgpuIobIHqH9w1l46GaX0D8MhYLLawsMDn8w0GA+p2u8fHx3U6He0vE84wLt7l/pPJ3ouIl856aet2WK1WhUKBQUWtra20rczlWV7fqEhdv3hS/pA2/T9Qmt1ux5aXl2tra2lbqZbjNyX+VPQrjfnYbn/JRnRcb3h9VHLlAXc5WVWyVCAUCqPRaFWhUGCxWKCv1XKx3SqtSVBBJAT63sGHIz7pl39xP3HwGBgiZBdl3OKJxpROmm7g5Kko+glQy/ASfq55rryLdaqw1S6JS1PvotREXjTi2++M4GTeP59DkZznLLkEg89Jo/hRNL6hlgqYGANFi0WseOvn3+F7FyvYt+/Op0dMI93GCy/ZCYSsBiATZQqYhJ/gMHOUCTANW2iJ9DKfPA45pubuOz2mG5ZS220DmahZkL/qklM6EHzyb8AfWXzw9+SoI2ga6nb0TBjvrsRS4Oo8foggClTYJshEHx2ORnNsT5wHstM6/+vV209jiTnnIruahR/QGtUjZ97pOdbdzuVzuPxdGEYu2QppFeGFNlH+0kwLyG1dzbVi/isGzatntO2aA9yGFxBkvhSJvPXBaRRFTcNWSt0Enf5Ce3Q2yk9mmSCvxFONMgllh66AWmmxBJwULVVCJ2oW5J7Hi5dnyRZ/83wvGyczlhAhCBt+nsaSUCx1CVD+I0+g5F1nveB3X0yY/eJnBWziln01nSMQAhZH5mcO+mxff3b92pDpsS/QKKuHSChf2kQKG1lv+VNNyY/t3JtLMpVk4dsvfirk8+xqdqO8Xn1Y2dui5wnIqQCj4g/zPSp+ExVXcFqe/v7+HtWhpjqJQH/qKJwu3tH3TaSfygIvExx2//sGaKVkjjnh320PC2uYaWptRaJz+1MYE7vhadK9dsR2Z4a2lmEwGPageGi6pf+2tu83rSOwt0PEN3ZHKG/F27yHl5Ny89c8e3vlPugd2oogP7r3OSJCZ1DSJUm8LM59rlpRCrO0rwz0FwZ7pjXYlGK1Gsn84pWtvQoo8gxFJOdVCIy377Tht1vjW7MAGAwjmCa0hiA9slQ0jV9xKdIFFFQiB9fH/rAtrmnIUAFbgZkLAxqdmpryer2dnZ20NRu2hxJwCpQKsLCs641tpsIak5OTPB6PHP6Dg4MwwGHgUhNu52SzWZvNBjsaGBig/47GxsbAtPGwdgLco0ql0uv1OI7/B1EuvKrM1DRLAAAAAElFTkSuQmCC';
2180
+ static drawPrintBase64 = 'data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABkAAAAaCAYAAABCfffNAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAAJcEhZcwAADsIAAA7CARUoSoAAAAUQSURBVEhLjZbrM1VvFMfXOUcuyRhySW6FklJCkepFSi7jUpMuIzW55A/oVW/9I2YYipohphqKjCi3ZqSJbjRjXCsqt6Qkv/NZ7Eaifmtmz977PM9e37W+a63vc0yfPn1akH+Y2WyWL1++yIMHD6SxsVEcHR3FwcFBPn/+LElJSXLgwAFZv369/PjxY+mL3+2vICaTSQEmJibkzp07UlVVJd3d3fL9+3e93N3d5cqVK+Lh4SFbtmwRPz8/sbW1lZ8/fy55WDTz0v0PA4Drw4cPUl5eLpWVlbJx40bZtWuXfPv2Tebm5jSA1tZWKSgokM7OTgU2vl1ulqtXr+YvPf8yNlksFnn37p0C3Lp1S3bs2CEXLlxQx9Cyfft26evrk0ePHsnk5KQEBweLlRWllQxtbGxkYWGRpD9AjCiGhoakoqJCbt++LXv27JHs7Gy9u7q6yr59+2TDhg3y9OlTrY2Tk5MCNTU1aXAhISEKQkDYb3QBwMLg4KCUlpYqRREREXL58mWNlPWtW7fqM8Vn7cyZM/p7Q0ODfP36Vevx5MkTefXq1S+fvzLhhfTI4ObNm1JdXa0R5+TkKDWs44BIiXLz5s2ye/dumZqaUqfz8/Nib28vL1++lK6uLnF2dpZt27aJnZ3dYiY4wAYGBqSoqEju3bsn0dHRmsFyABxRdIKhCQICAiQwMFBOnDghFy9e1Oxev36tvqgb2RGE2QCAopKSErl//77SkJubqwAYXfP+/XvlvLm5WUZHR9UJWe3du1cp43l6elrBx8fHlW4ahr02OOnv75fi4mJ5+PChDpZBEVHDLR1Ei/b29srx48dl586dCo5jFxcXpYTWhq4XL17owPJtWFiYNoiZCK9duyY1NTUaFRThhDl49uyZXL9+XXmGBi4yxzF3aINCBhDwY8eO6TNrZMQ6l8XakvnUwKAoNDRUZmdnFYDuwlJTUzVqHMTGxmrUfGwYTlmbmZnRDNatW6czw/3o0aNi+fjxYz4AeXl5CkCB6Q74JJvz588rHR0dHVroI0eOaCYrDSDkhUGEfuoSHx+v9JvRGyYZAIoJp1AHDRQUIACJ8NChQ6pR2MpMmK+RkRHN/vnz5xIXFyenT5/WjjMznd7e3rrpzZs36pChOnfunDpCVuias2fPLkZl3bdcAAGAyrGxMblx44bU19dr+8MAWWlNrLKQzxTjGJUlg7S0NL3zTnbp6ekSGRmpHK8EABQABpijICoqSgEYViNbk7UjFtAf2o+CJiQkaAEBwMmpU6d0sol2tQxQ6bKyMqmrq1M6YcDX11f3GCBmehm19fT0lOTkZM2AmmAnT57UXkdGVgOg/cmgtrZW9u/frzVcrWZmDiSc0b4U+e7du+oQipgbHAK83ABF45gvFCImJkYp8vf3173LATAzIgYlcItuUThqtFYNADBUGoDw8HDJyMjQ9sZWAmBmWo3uoavgl/rQgpwVxulnGM9v376VwsJCFT9qkJWVpTUgmNUAMIu1hfPb29v10ElMTJSgoCBpa2tTKXFzc5NNmzbpMJIF2kW2ABw+fFgBmDNsLQDMYt2UjwOk4+DBgwpCNgDzp4FnLiMDAkBaLl26JD4+PurkbwCYqaenZ4FOQS3RH4wWbmlpUXFEgzgJOc+Hh4clJSVFMjMzxcvLS7P7FwBmstbDum9RTY0iA8oZgoZxzj9+/FjfaRAm/181WGlr/u8CiGmnk5Abio4EkQH2fwFERP4DZxLcmtGNPaEAAAAASUVORK5CYII=';
2181
+ static documentSearchBase64 = 'data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAIAAABvFaqvAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAAKsSURBVDhPlZXda1JxGMfPmx6d56wzPW5pbC6EXIYkZF04E6PCddHV6qoXooL+gS6jboOgiyAWjaiugqC6HeV2MTaWmQilhVALas61TZ35Nl+Op2c7P7d55kH34YHj8zzH7+/5vT0HT6fTGIYlEolQKLS6ulooFMDtBJ1Ox/O8w+GwWq3gbggFg8FYLOZyuXp6ehiGkd5rSz6fz2Qy8XicZdmRkRE8EonMzc35/X6U74yygNOkKP2emZmxWCz4+Pj40NCQ2WyWoq9/sPfDBi1Vl9wtBBHHMezFmaSNq6BQA5jT7OwslUwmPR4PimHYvU/8bWf6bH9RphRZoe98NF7+YHp5esmuL6PoJnq9HuZICIKgVqtRDMMqAn6Iqwyw1cFm69UKBo1w0569OGH+nVOht3dAoGcHFGv4rSNr1w5nRyfM8bXtsSU6FYIa6yJ+NWD69U+VXicvvTehRINOhfqZ2iv/4rCpdMy4fvd4KlMmUaLBHqYG+wVTu2HPjlpzjEq+rYpCX1L00xj37Nu+nfZunq3V4Ri0QFFoIU+FljWfV5osmlLX0DGUQ6HnLk70rfdpBaJ5eDiocKBbFqUoFPije/69W928pgNM9cHwMnKaURQ6P5h39ZZkQ2spsYsS89W9VPRmnnkS5dTE1pLgdRE72F0d8y2hQDOKQhesOZ+5tHFTN1ERIhiJK1akuGtvf7JXAqbrk/slG4tyHF0HQ+ldKAqdsxQenfz70LMsGVxXKAflWkEA0ACQt0lN3Kgc7vpRvuwwIOtnqlIWAD1oT8hpQBkMBuhMRqNR8k8dKD7+yk0udInKw5dqBK/ZHht6LvRvfGpqCjq/2+1G4b0zPT0NQoTT6SwWi+FwuFKR99C2wF9AJZfL+Xw+9DmC/g9assVqC0mSNpvN6/XSNP0f/kMg5XZvKf4AAAAASUVORK5CYII=';
2182
+ static showInfoObjBase64 = 'data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAIAAABvFaqvAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAAD6SURBVDhP1ZWxCoMwEIbzBn3kokMXXUQUFETESUEfQBwEEQUnBysE4mM4CCW9NDeVDiYg2I8TzjP/z+nwS/iHdV2TJLEs634YOAySeZ6lgzCq69q27aZppmlih4HDIAmCIMsyYUQp9X0fHx7mSVfsGIO9+r4nURS1bYszLcZxdByHmKa5LAvOdIFPRuDCO8Zuj5dqSeEPI+wU+78wUi0pPHMj7C5kpFpSeOZG2F3ISLWk8NtIG2FkGAZkGw50EUae5w3DgAMtIHMhv0nXdWma4kyLOI7LshThH4ZhnucaOQkScHFdd993/B1VVQWZC6+qBEiKoti2jXP+BtBOC1S23cCGAAAAAElFTkSuQmCC';
2183
+ static tooltipObjBase64 = 'data:image/png;base64,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';
2184
+ }
2185
+
2186
+ class PrintDrawLayerSourceService {
2187
+ _current = inject(CurrentItemsService);
2188
+ source = new VectorSource();
2189
+ layer = new VectorLayer({
2190
+ source: this.source,
2191
+ zIndex: 999
2192
+ });
2193
+ constructor() {
2194
+ this.layer.set('PRINTDRAWLAYER', 'true');
2195
+ this._initListener();
2196
+ }
2197
+ _initListener() {
2198
+ this._current.map$.subscribe({
2199
+ next: map => {
2200
+ map.addLayer(this.layer);
2201
+ }
2202
+ });
2203
+ }
2204
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.15", ngImport: i0, type: PrintDrawLayerSourceService, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
2205
+ static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "19.2.15", ngImport: i0, type: PrintDrawLayerSourceService });
2206
+ }
2207
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.15", ngImport: i0, type: PrintDrawLayerSourceService, decorators: [{
2208
+ type: Injectable
2209
+ }], ctorParameters: () => [] });
2210
+
2211
+ class CenterPointService {
2212
+ _centerPointProperty = '_centerpoint';
2213
+ _settingsHelper = inject(KomponentSettingsHelperService);
2214
+ _current = inject(CurrentItemsService);
2215
+ _drawLayerService = inject(DrawLayerSourceService);
2216
+ _interactionHelper = inject(InteractionHelperService);
2217
+ _geoJson = new GeoJSON$1();
2218
+ _featureHelper = inject(FeatureHelperService);
2219
+ _confirmDialog = inject(ConfirmDialogService);
2220
+ handleFeatureDeleted(featureId) {
2221
+ const centerFeature = this._drawLayerService.source.getFeatures().find(f => f.get('_parentPolyId') == featureId);
2222
+ if (centerFeature) {
2223
+ this._drawLayerService.remove(centerFeature.getId());
2224
+ }
2225
+ }
2226
+ checkAfterUpdate() {
2227
+ if (!this._current.gisKomponentSettings.centerPoint || !this._current.gisKomponentSettings.centerPoint.withinPolygon) {
2228
+ return;
2229
+ }
2230
+ const currentCenter = this._drawLayerService.source.getFeatures().filter(f => this.isCenterpoint(f));
2231
+ if (currentCenter && currentCenter.length === 1) {
2232
+ const polygonFeatures = this._drawLayerService.source.getFeatures().filter(f => f.getGeometry()?.getType() === 'Polygon');
2233
+ const centerFeatureObject = this._geoJson.writeFeatureObject(currentCenter[0]);
2234
+ const isInSomePoly = polygonFeatures.map(pf => this._geoJson.writeFeatureObject(pf)).some(pf => booleanPointInPolygon(centerFeatureObject, pf));
2235
+ if (!isInSomePoly) {
2236
+ this._drawLayerService.source.removeFeature(currentCenter[0]);
2237
+ }
2238
+ }
2239
+ }
2240
+ isCenterpoint(feature) {
2241
+ return feature.get(this._centerPointProperty) === true;
2242
+ }
2243
+ setCenterPoint(style, withinPolygon, callBack) {
2244
+ const style$ = this._settingsHelper.getStyle(style, this._current.profile.styleRepositoryWorkspace, this._current.profile.styleRepositoryGeoserver, 'Point');
2245
+ combineLatest([style$, this._current.map$]).subscribe({
2246
+ next: ([loadedStyle, map]) => {
2247
+ // let parentPolyId: number | string | undefined;
2248
+ const centerDraw = new Draw({
2249
+ type: 'Point',
2250
+ source: this._drawLayerService.source,
2251
+ condition: evt => {
2252
+ if (!withinPolygon) {
2253
+ return true;
2254
+ }
2255
+ // The center needs to be inside a feature, so since turf is great for figuring out if something is in something, move the click and features to EPSG:4326
2256
+ const lonlat = transform(evt.coordinate, 'EPSG:25832', 'EPSG:4326');
2257
+ const pt = point(lonlat);
2258
+ const polygons = this._drawLayerService.source.getFeatures().filter(f => f.getGeometry() && f.getGeometry().getType() === 'Polygon'); // No point in checking linestrings and points
2259
+ const features = this._geoJson.writeFeaturesObject(polygons, { dataProjection: 'EPSG:4326', featureProjection: 'EPSG:25832' });
2260
+ const parentPoly = features.features.find(f => booleanPointInPolygon(pt, f));
2261
+ if (!parentPoly) {
2262
+ this._confirmDialog.open({ message: 'Centerpunktet skal være inde i en flade', primaryText: 'OK', title: 'Advarsel' }).subscribe({
2263
+ next: () => { return false; }
2264
+ });
2265
+ return false;
2266
+ }
2267
+ // Save the parent polygon's id on the center. If the parent is deleted, the point will be deleted too
2268
+ // parentPolyId = parentPoly.id;
2269
+ return !!parentPoly;
2270
+ },
2271
+ style: loadedStyle
2272
+ });
2273
+ this._interactionHelper.setAsTemp(centerDraw);
2274
+ map.addInteraction(centerDraw);
2275
+ centerDraw.on('drawend', evt => {
2276
+ const existing = this._drawLayerService.source.getFeatures().filter(f => f.get(this._centerPointProperty) === true);
2277
+ // There can only be ONE centerpoint, so remove previous if exists
2278
+ if (existing) {
2279
+ this._drawLayerService.source.removeFeatures(existing);
2280
+ }
2281
+ // Mark feature as centerpoint - this is to find it again an remove
2282
+ evt.feature.set(this._centerPointProperty, true);
2283
+ // evt.feature.set('_parentPolyId', parentPolyId);
2284
+ this._featureHelper.setId(evt.feature);
2285
+ callBack();
2286
+ });
2287
+ }
2288
+ });
2289
+ }
2290
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.15", ngImport: i0, type: CenterPointService, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
2291
+ static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "19.2.15", ngImport: i0, type: CenterPointService });
2292
+ }
2293
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.15", ngImport: i0, type: CenterPointService, decorators: [{
2294
+ type: Injectable
2295
+ }] });
2296
+
2288
2297
  class SearchProviderBase {
2289
2298
  _http = inject(HttpClient);
2290
2299
  wfsFormat = new WFS();
@@ -4580,11 +4589,11 @@ class ToolboxComponent {
4580
4589
  }));
4581
4590
  }
4582
4591
  static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.15", ngImport: i0, type: ToolboxComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
4583
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "19.2.15", type: ToolboxComponent, isStandalone: true, selector: "map-toolbox", inputs: { map: "map", showMeasureDistance: "showMeasureDistance", showMeasureArea: "showMeasureArea", collapsed: "collapsed", settings: "settings", profile: "profile", WKTInputEnabled: "WKTInputEnabled", deleteEnabled: "deleteEnabled" }, usesOnChanges: true, ngImport: i0, template: "<div class=\"toolbox-wrapper global-wrapper-container\" \n cdkDrag \n cdkDragBoundary=\".map-container\"\n [cdkDragFreeDragPosition]=\"dragPosition\"\n (cdkDragEnded)=\"onDragEnded($event)\"\n [class.collapsed]=\"collapsed\">\n <div class=\"drag-handle-toolbox\" cdkDragHandle>\n <mat-icon \n class=\"icon-left\" \n matTooltip=\"V\u00E6rkt\u00F8jskasse\" \n [matTooltipShowDelay]=\"500\"\n [matTooltipHideDelay]=\"100\" \n matTooltipPosition=\"above\">\n handyman\n </mat-icon> \n <div class=\"right-icons\"> \n <mat-icon class=\"toggle-icon\" (click)=\"toggleCollapsed($event)\">\n {{ collapsed ? 'flip_to_front' : 'remove' }}\n </mat-icon>\n </div>\n </div>\n \n <div class=\"toolbox-container\">\n @if (!collapsed) {\n <div class=\"toolbox-content\">\n <div class=\"all-tools-container\">\n <div class=\"main-tools\">\n @if (!settings?.undoDisabled) {\n <img \n [src]=\"undoIconBase64\" \n class=\"compact-icon custom-image-icon\"\n (click)=\"undo()\" \n matTooltip=\"Fortryd\" \n [matTooltipShowDelay]=\"200\"\n [matTooltipHideDelay]=\"300\" \n matTooltipClass=\"custom-tooltip\"\n matTooltipPosition=\"below\"\n alt=\"Undo\">\n\n <img \n [src]=\"redoIconBase64\" \n class=\"compact-icon custom-image-icon\"\n (click)=\"redo()\" \n matTooltip=\"Gendan\" \n [matTooltipShowDelay]=\"200\"\n [matTooltipHideDelay]=\"300\" \n matTooltipClass=\"custom-tooltip\"\n matTooltipPosition=\"below\"\n alt=\"Redo\">\n }\n @if (settings.externalHelpUrl) {\n <img \n [src]=\"infoBase64\" \n class=\"compact-icon custom-image-icon\"\n (click)=\"openUrl(settings.externalHelpUrl, $event)\"\n matTooltip=\"Vejledning til anvendelse af systemet\" \n [matTooltipShowDelay]=\"200\"\n [matTooltipHideDelay]=\"300\" \n matTooltipClass=\"custom-tooltip\"\n matTooltipPosition=\"below\"\n alt=\"Vejledning til anvendelse af systemet\">\n } \n @if (showInfo){ <img \n [src]=\"showInfoObjBase64\" \n class=\"compact-icon custom-image-icon\"\n (click)=\"toggleShowInfo()\" \n [class.active]=\"activeMode === 'show-info'\"\n matTooltip=\"V\u00E6lg og vis objektdata i tr\u00E6struktur\" \n [matTooltipShowDelay]=\"200\"\n [matTooltipHideDelay]=\"300\" \n matTooltipClass=\"custom-tooltip\"\n matTooltipPosition=\"below\"\n alt=\"V\u00E6lg og vis objektdata i tr\u00E6 struktur\">\n }\n @if (showDownloadAddresses) {\n <img \n [src]=\"downloadFileBase64\" \n class=\"compact-icon custom-image-icon\"\n (click)=\"startDownloadAddresses()\" \n [class.active]=\"activeMode === 'download-addresses'\"\n matTooltip=\"Download adresser\" \n [matTooltipShowDelay]=\"200\"\n [matTooltipHideDelay]=\"300\" \n matTooltipClass=\"custom-tooltip\"\n matTooltipPosition=\"below\"\n alt=\"Download adresser\">\n }\n @if (showDownloadCadastres) {\n <img \n [src]=\"downloadMatriklerBase64\" \n class=\"compact-icon custom-image-icon\"\n (click)=\"startDownloadCasdatres()\" \n [class.active]=\"activeMode === 'download-cadastres'\"\n matTooltip=\"Download matrikler\" \n [matTooltipShowDelay]=\"200\"\n [matTooltipHideDelay]=\"300\" \n matTooltipClass=\"custom-tooltip\"\n matTooltipPosition=\"below\"\n alt=\"Download matrikler\">\n }\n @if (showChooseLocations) {\n <img \n [src]=\"splitIconBase64\" \n class=\"compact-icon custom-image-icon\"\n (click)=\"togglePointPolygonSearch()\"\n [class.active]=\"activeMode === 'search-point' || activeMode === 'search-polygon'\"\n matTooltip=\"V\u00E6lg Lokaliteter ved udpegning i kortet\" \n [matTooltipShowDelay]=\"200\"\n [matTooltipHideDelay]=\"300\" \n matTooltipClass=\"custom-tooltip\"\n matTooltipPosition=\"below\"\n alt=\"V\u00E6lg Lokaliteter ved udpegning i kortet\">\n }\n @if (showDocumentSearch) {\n <img \n [src]=\"documentSearchBase64\" \n class=\"compact-icon custom-image-icon\"\n (click)=\"toggleDocumentPointSearch()\"\n [class.active]=\"activeMode === 'document-search-by-point'\"\n matTooltip=\"Dokument fra punkt\" \n [matTooltipShowDelay]=\"200\"\n [matTooltipHideDelay]=\"300\" \n matTooltipClass=\"custom-tooltip\"\n matTooltipPosition=\"below\"\n alt=\"Dokument fra punkt\">\n\n <img \n [src]=\"documentSearchBase64\" \n class=\"compact-icon custom-image-icon\"\n (click)=\"toggleDocumentPolygonSearch()\"\n [class.active]=\"activeMode === 'document-search-by-polygon'\"\n matTooltip=\"Dokumenter fra polygon\" \n [matTooltipShowDelay]=\"200\"\n [matTooltipHideDelay]=\"300\" \n matTooltipClass=\"custom-tooltip\"\n matTooltipPosition=\"below\"\n alt=\"Dokumenter fra polygon\">\n }\n @if (settings.cowiUrlTemplate) {\n <img \n [src]=\"openCowiPageBase64\" \n class=\"compact-icon custom-image-icon\"\n [class.active]=\"activeMode === 'cowi'\"\n (click)=\"toggleCowiPage()\" \n matTooltip=\"COWI\u00B4s Gadefoto\" \n [matTooltipShowDelay]=\"200\"\n [matTooltipHideDelay]=\"300\" \n matTooltipClass=\"custom-tooltip\"\n matTooltipPosition=\"below\"\n alt=\"COWI\u00B4s Gadefoto\">\n }\n @if (settings.skraaFotoUrlTemplate) {\n <img \n [src]=\"skrafotoBase64\" \n class=\"compact-icon custom-image-icon\"\n [class.active]=\"activeMode === 'skrafoto'\"\n (click)=\"toggleSkraafotoPage()\" \n matTooltip=\"Opslag p\u00E5 Skr\u00E5fotos\" \n [matTooltipShowDelay]=\"200\"\n [matTooltipHideDelay]=\"300\" \n matTooltipClass=\"custom-tooltip\"\n matTooltipPosition=\"below\"\n alt=\"Skr\u00E5foto\">\n }\n @if (settings.googleStreetUrlTemplate) {\n <img \n [src]=\"streetViewBase64\" \n class=\"compact-icon custom-image-icon\"\n [class.active]=\"activeMode === 'streetview'\"\n (click)=\"toggleGoogleStreetviewPage()\" \n matTooltip=\"Google Streetview\" \n [matTooltipShowDelay]=\"200\"\n [matTooltipHideDelay]=\"300\" \n matTooltipClass=\"custom-tooltip\"\n matTooltipPosition=\"below\"\n alt=\"Google Streetview\">\n }\n @if (showFeatureHighlight) {\n <img \n [src]=\"fremhaevBase64\" \n class=\"compact-icon custom-image-icon\"\n [class.active]=\"activeMode === 'select-highlight'\"\n (click)=\"startSelectFeatureHighlight()\" \n matTooltip=\"Fremh\u00E6v aktivt objekt i listen\" \n [matTooltipShowDelay]=\"200\"\n [matTooltipHideDelay]=\"300\" \n matTooltipClass=\"custom-tooltip\"\n matTooltipPosition=\"below\"\n alt=\"Fremh\u00E6v\">\n }\n @if (activeMode === 'draw' || activeMode === 'edit' || activeMode === 'edit-remove' || activeMode === 'search-feature' ||\n activeMode === 'clip-hole' || activeMode === 'split' || activeMode === 'merge-features') {\n <label class=\"snap-toggle\">\n <input type=\"checkbox\" [checked]=\"snap\" (change)=\"onSnapChange($event)\">\n Snap\n </label> \n } \n @if (settings.editEnabled) {\n <img \n [src]=\"editBase64\" \n [class.active]=\"activeMode === 'edit'\" \n class=\"compact-icon custom-image-icon\"\n (click)=\"startEdit()\" \n matTooltip=\"Inds\u00E6t eller flyt punkter i flade/linje\" \n [matTooltipShowDelay]=\"200\"\n [matTooltipHideDelay]=\"300\" \n matTooltipClass=\"custom-tooltip\"\n matTooltipPosition=\"below\"\n alt=\"Inds\u00E6t eller flyt punkter i flade/linje\">\n <img \n [src]=\"deleteIconBase64\" \n [class.active]=\"activeMode === 'edit-remove'\" \n class=\"compact-icon custom-image-icon\"\n (click)=\"startEditRemovePoints()\" \n matTooltip=\"Slet punkter i flade/linje\" \n [matTooltipShowDelay]=\"200\"\n [matTooltipHideDelay]=\"300\" \n matTooltipClass=\"custom-tooltip\"\n matTooltipPosition=\"below\"\n alt=\"Slet punkter i flade/linje\">\n }\n @if (settings.cutHoleEnabled) {\n <img \n [src]=\"clipHoleBase64\" \n class=\"compact-icon custom-image-icon\"\n [class.active]=\"activeMode === 'clip-hole'\" \n (click)=\"clipHole()\" \n matTooltip=\"Klip hul i flade\" \n [matTooltipShowDelay]=\"200\"\n [matTooltipHideDelay]=\"300\" \n matTooltipClass=\"custom-tooltip\"\n matTooltipPosition=\"below\"\n alt=\"Klip hul i flade\">\n }\n @if (settings.splitEnabled) {\n <img \n [src]=\"splitBase64\" \n class=\"compact-icon custom-image-icon\"\n [class.active]=\"activeMode === 'split'\"\n (click)=\"split()\" \n matTooltip=\"Del et element\" \n [matTooltipShowDelay]=\"200\"\n [matTooltipHideDelay]=\"300\" \n matTooltipClass=\"custom-tooltip\"\n matTooltipPosition=\"below\"\n alt=\"Del et element\">\n }\n @if (settings.changeTypeEnabled) {\n <img \n [src]=\"changeTypeBase64\" \n class=\"compact-icon custom-image-icon\" \n [class.active]=\"activeMode === 'change-type'\" \n (click)=\"startChangeType()\"\n [matTooltipShowDelay]=\"200\"\n matTooltipClass=\"custom-tooltip\"\n [matTooltipHideDelay]=\"300\" \n matTooltip=\"Skift status p\u00E5 element\" \n alt=\"Skift status p\u00E5 element\" \n matTooltipPosition=\"below\">\n }\n @if (settings.mergeEnabled) {\n <img \n [src]=\"mergeBase64\"\n class=\"compact-icon custom-image-icon\" \n (click)=\"startMergeFeatures()\" \n matTooltipPosition=\"below\"\n [matTooltipShowDelay]=\"200\"\n matTooltipClass=\"custom-tooltip\"\n [matTooltipHideDelay]=\"300\" \n matTooltip=\"Saml flader\" \n [class.active]=\"activeMode === 'merge-features'\">\n }\n @if (settings.centerPoint) {\n <img \n [src]=\"setCenterBase64\" \n [class.active]=\"activeMode === 'center-point'\" \n class=\"compact-icon custom-image-icon\"\n (click)=\"setCenterPoint()\" \n matTooltip=\"S\u00E6t centerpunkt\" \n [matTooltipShowDelay]=\"200\"\n [matTooltipHideDelay]=\"300\" \n matTooltipClass=\"custom-tooltip\"\n matTooltipPosition=\"below\"\n alt=\"S\u00E6t centerpunkt\">\n }\n </div>\n <div class=\"geometry-tools\">\n @if (showPickAndShowInList) {\n <img \n [src]=\"sogPolygonBase64\" \n [class.active]=\"activeMode === 'search-feature'\"\n class=\"compact-icon custom-image-icon\"\n (click)=\"toggleFeatureSearch()\" \n matTooltip=\"V\u00E6lg og vis emner i listen\" \n [matTooltipShowDelay]=\"200\"\n [matTooltipHideDelay]=\"300\" \n matTooltipClass=\"custom-tooltip\"\n matTooltipPosition=\"below\"\n alt=\"V\u00E6lg og vis emner i listen\">\n @if (showDrawElement) {\n <img \n [src]=\"drawBase64\" \n [class.active]=\"activeMode === 'draw'\"\n class=\"compact-icon custom-image-icon\"\n (click)=\"startDraw()\"\n matTooltip=\"Tegn element\" \n [matTooltipShowDelay]=\"200\"\n [matTooltipHideDelay]=\"300\" \n matTooltipClass=\"custom-tooltip\"\n matTooltipPosition=\"below\"\n alt=\"Tegn element\">\n }\n @if (settings.WKTInputEnabled) {\n <img \n [src]=\"wktIconBase64\" \n class=\"compact-icon custom-image-icon\"\n [class.active]=\"activeMode === 'wkt-input'\"\n (click)=\"activateShowInputWKT()\" \n matTooltip=\"Inds\u00E6t WKT streng for at importere elementet\" \n [matTooltipShowDelay]=\"200\"\n [matTooltipHideDelay]=\"300\" \n matTooltipClass=\"custom-tooltip\"\n matTooltipPosition=\"below\"\n alt=\"Inds\u00E6t WKT streng for at importere elementet\">\n }\n }\n </div>\n <div class=\"tool-separator\" *ngIf=\"deleteEnabled || showMeasureDistance || showMeasureArea || profile.showPrint\"></div>\n <div class=\"measurement-print-tools\">\n <div class=\"measurement-tools\">\n @if (deleteEnabled) {\n <img \n [src]=\"deleteIconBase64\" \n class=\"compact-icon custom-image-icon\"\n [class.active]=\"activeMode === 'delete'\"\n (click)=\"startDelete()\" \n matTooltip=\"Slet element\" \n [matTooltipShowDelay]=\"200\"\n [matTooltipHideDelay]=\"300\" \n matTooltipClass=\"custom-tooltip\"\n matTooltipPosition=\"below\"\n alt=\"Slet element\">\n }\n @if (showMeasureArea || showMeasureDistance) {\n <img \n [src]=\"measureDistanceIconBase64\" \n class=\"compact-icon custom-image-icon\"\n (click)=\"toggleMeasure()\"\n [class.active]=\"activeMode === 'measure-distance' || activeMode === 'measure-area'\"\n matTooltip=\"M\u00E5l afstand / areal\" \n [matTooltipShowDelay]=\"200\"\n [matTooltipHideDelay]=\"300\" \n matTooltipClass=\"custom-tooltip\"\n matTooltipPosition=\"below\"\n alt=\"M\u00E5l\">\n }\n </div>\n @if (profile.showPrint) {\n <div class=\"tool-separator print-separator\"></div>\n <div class=\"print-tools\">\n <img \n [src]=\"printBase64\" \n class=\"compact-icon custom-image-icon\"\n [class.active]=\"active === 'Print'\"\n (click)=\"startPrintMode()\" \n matTooltip=\"Sk\u00E6rmprint af kortet\" \n [matTooltipShowDelay]=\"200\"\n [matTooltipHideDelay]=\"300\" \n matTooltipClass=\"custom-tooltip\"\n matTooltipPosition=\"below\"\n alt=\"Sk\u00E6rmprint af kortet\">\n <img \n [src]=\"drawPrintBase64\" \n class=\"compact-icon custom-image-icon\"\n [class.active]=\"active === 'PrintDraw'\"\n (click)=\"startDrawMode()\" \n matTooltip=\"Tegnev\u00E6rkt\u00F8j til print\" \n [matTooltipShowDelay]=\"200\"\n [matTooltipHideDelay]=\"300\" \n matTooltipClass=\"custom-tooltip\"\n matTooltipPosition=\"below\"\n alt=\"Tegnev\u00E6rkt\u00F8j til print\">\n </div>\n }\n </div>\n </div>\n @if (activeMode === 'draw' || activeMode === 'search-feature' || activeMode === 'wkt-input'\n || activeMode === 'change-type' || activeMode === 'merge-features') {\n <mat-select class=\"geometry-selector\" (selectionChange)=\"drawItemChanged($event)\" [(ngModel)]=\"selectedDrawItem\"> \n @for (drawItem of drawItems; track drawItem) {\n @if (activeMode !== 'merge-features' || drawItem.geomType === 'Polygon') {\n <mat-option [value]=\"drawItem\">{{drawItem.name}} <img *ngIf=\"drawItem.iconUrl\" class=\"compact-icon custom-image-icon\" [src]=\"drawItem.iconUrl\"></mat-option>\n }\n }\n </mat-select> \n }\n @if (showInputWKT && activeMode === 'wkt-input') {\n <div class=\"wkt-section\">\n <input matInput class=\"compact-input\" placeholder=\"Inds\u00E6t WKT-streng\" [(ngModel)]=\"WKTString\">\n <div class=\"wkt-actions\">\n <button class=\"compact-button primary\" (click)=\"ReadWKT()\">Indl\u00E6s WKT</button>\n <button class=\"compact-button\" (click)=\"cancelWKT()\">Annuller</button>\n </div>\n </div>\n }\n @if (profile.showPrint) {\n @if (active === \"Print\") {\n <div class=\"print-config\">\n <img \n matTooltip=\"Sk\u00E6rmprint af kortet\" \n [matTooltipShowDelay]=\"200\"\n [matTooltipHideDelay]=\"300\" \n [src]=\"printBase64\" \n class=\"compact-icon custom-image-icon\"\n (click)=\"doPrint()\" \n alt=\"Udskriv\"> \n <span class=\"icon-separator\">i</span>\n <select id=\"formatSelector\" [(ngModel)]=\"format\">\n <option value=\"image/png\" selected>.PNG</option>\n <option value=\"image/jpeg\">.JPG</option>\n </select>\n <select id=\"dimensionSelector\" [(ngModel)]=\"dimId\" (change)=\"handleDimensionSelected()\">\n <option value=\"99\" selected></option>\n <option value=\"0\">1920 X 1080</option>\n <option value=\"1\">1680 X 1050</option>\n <option value=\"2\">1280 X 800</option>\n <option value=\"3\">800 X 600</option>\n </select>\n <input type=\"text\" [(ngModel)]=\"mapWidth\"/> \n <span class=\"icon-separator\">x</span>\n <input type=\"text\" [(ngModel)]=\"mapHeight\"/>\n <button (click)=\"setNewMapDimensions()\">V\u00E6lg</button>\n </div>\n }\n @if (active === \"PrintDraw\") {\n <div class=\"print-draw-config\">\n <span class=\"icon-separator\">Label</span>\n <input type=\"text\" [(ngModel)]=\"printDrawLabel\"/>\n <select id=\"drawToolSelector\" [(ngModel)]=\"printDrawTool\" (change)=\"handlePrintDrawToolChanged()\">\n <option value=\"Arrow\" selected>Pil</option>\n <option value=\"Point\">Punkt</option>\n <option value=\"LineString\">Linje</option>\n <option value=\"Polygon\">Polygon</option>\n <option value=\"Circle\">Cirkel</option>\n <option value=\"Square\">Kvadrat</option>\n <option value=\"Rectangle\">Firkant</option>\n </select>\n <button class=\"compact-button\" (click)=\"handleClearPrintDrawFeatures()\">Ryd</button>\n </div>\n }\n }\n </div>\n @if (activeMode === 'search-point' || activeMode === 'search-polygon') {\n <mat-select \n class=\"search-point-polygon-selector\" \n [(ngModel)]=\"selectedSearchMode\"\n (selectionChange)=\"onSearchModeChanged($event)\">\n <mat-option value=\"search-point\">S\u00F8g med punkt</mat-option>\n <mat-option value=\"search-polygon\">S\u00F8g med polygon</mat-option>\n </mat-select>\n }\n \n @if (activeMode === 'measure-distance' || activeMode === 'measure-area') {\n <mat-select \n class=\"geometry-selector\"\n [(ngModel)]=\"selectedMeasureMode\"\n (selectionChange)=\"onMeasureModeChanged($event)\">\n @if (showMeasureDistance){\n <mat-option value=\"measure-distance\">M\u00E5l afstand</mat-option>\n }\n @if (showMeasureArea){\n <mat-option value=\"measure-area\">M\u00E5l areal</mat-option>\n } \n </mat-select>\n }\n }\n </div>\n @if (!collapsed && activeMode === 'search-feature' && filteredResults.length > 0) {\n <div class=\"geometry-search-panel\">\n <div class=\"buffer-item\">\n <mat-label>Buffer</mat-label>\n <input matInput type=\"number\" name=\"buffer\" [(ngModel)]=\"bufferInMeters\">\n <mat-label>m</mat-label>\n </div>\n <mat-option *ngFor=\"let result of filteredResults\" [value]=\"result\" class=\"search-result-option\">\n <span class=\"result-title\">\n {{ result.title }} ({{result.items.length}} af {{ result.total }})\n </span>\n <div (click)=\"highlight(item.wkt, $event)\" *ngFor=\"let item of result.items\" class=\"search-result-item\">\n <div class=\"item-left\">\n <span class=\"item-header\"> {{item.header}} </span> \n </div>\n <div class=\"item-right\">\n <img \n [src]=\"objectSearchCopyIconBase64\" \n class=\"compact-icon custom-image-icon\"\n (click)=\"addToActiveObjectsList(item, $event)\" \n matTooltip=\"Kopier\" \n [matTooltipShowDelay]=\"200\"\n [matTooltipHideDelay]=\"300\" \n matTooltipClass=\"custom-tooltip\"\n matTooltipPosition=\"below\"\n alt=\"Kopier\">\n <img \n [src]=\"deleteIconBase64\" \n class=\"compact-icon custom-image-icon\"\n (click)=\"cutBySearchedObject(item, $event)\" \n matTooltip=\"Fjern\" \n [matTooltipShowDelay]=\"200\"\n [matTooltipHideDelay]=\"300\" \n matTooltipClass=\"custom-tooltip\"\n matTooltipPosition=\"below\"\n alt=\"Fjern\">\n <img \n [src]=\"objectSearchCutIconBase64\" \n class=\"compact-icon custom-image-icon\"\n (click)=\"splitBySearchedObject(item, $event)\" \n matTooltip=\"Opsk\u00E6r\" \n [matTooltipShowDelay]=\"200\"\n [matTooltipHideDelay]=\"300\" \n matTooltipClass=\"custom-tooltip\"\n matTooltipPosition=\"below\"\n alt=\"Opsk\u00E6r\">\n <img \n [src]=\"objectSearchCopyWithBufferIconBase64\" \n class=\"compact-icon custom-image-icon\"\n (click)=\"addToActiveObjectsList(item, $event, true)\" \n matTooltip=\"Kopier med buffer\" \n [matTooltipShowDelay]=\"200\"\n [matTooltipHideDelay]=\"300\" \n matTooltipClass=\"custom-tooltip\"\n matTooltipPosition=\"below\"\n alt=\"Kopier med buffer\">\n <img \n [src]=\"objectSearchZoomIconBase64\" \n class=\"compact-icon custom-image-icon\"\n (click)=\"zoomSearchedObject(item, $event)\" \n matTooltip=\"Zoom\" \n [matTooltipShowDelay]=\"200\"\n [matTooltipHideDelay]=\"300\" \n matTooltipClass=\"custom-tooltip\"\n matTooltipPosition=\"below\"\n alt=\"Zoom\">\n <img \n [src]=\"infoBase64\" \n class=\"compact-icon custom-image-icon\"\n (click)=\"toggleItemInfo(item, $event)\" \n matTooltip=\"Info\" \n [matTooltipShowDelay]=\"200\"\n [matTooltipHideDelay]=\"300\" \n matTooltipClass=\"custom-tooltip\"\n matTooltipPosition=\"below\"\n alt=\"Info\">\n </div> \n @if (item.showMetadata) {\n <div class=\"metadata-panel\">\n @for(feature of item.metadata; track feature) {\n <div class=\"feature-item\">\n <div *ngFor=\"let kv of (feature | keyvalue)\" class=\"feature-title\">\n {{ kv.value.name }}:\n <ng-container [ngSwitch]=\"kv.value.kind\">\n <img *ngSwitchCase=\"'img'\" [src]=\"kv.value.data\" alt=\"{{ kv.key }}\" style=\"max-width:240px;\" />\n <a *ngSwitchCase=\"'url'\" [href]=\"kv.value.data\" target=\"_blank\" rel=\"noopener noreferrer\">\n {{ kv.key }}\n <mat-icon class=\"link-icon\">open_in_new</mat-icon>\n </a>\n <span *ngSwitchDefault class=\"secondary-item\">{{ kv.value.data }}</span>\n </ng-container>\n </div>\n </div>\n }\n </div>\n }\n </div>\n </mat-option>\n </div>\n }\n @if (!collapsed && activeMode === \"show-info\") {\n <selected-feature-info class=\"info-search-panel\"></selected-feature-info>\n }\n @if (!collapsed && (activeMode === \"search-point\" || activeMode === \"search-polygon\") && geometrySearchResult.length > 0) {\n <div class=\"geometry-search-panel\">\n <mat-icon (click)=\"deleteAllGeometrySearchItem()\" class=\"delete-all-icon\" matTooltip=\"Ryd\">delete</mat-icon>\n <mat-option *ngFor=\"let result of geometrySearchResult\" [value]=\"result\" class=\"search-result-option\">\n <span class=\"result-title\">\n {{ result.title }} ({{result.items.length}} af {{ result.total }})\n </span>\n <div (click)=\"highlight(item.wkt, $event)\" *ngFor=\"let item of result.items\" class=\"geometry-search-result-item\">\n <div class=\"item-left\">\n <span class=\"item-header\"> {{item.header}} </span> \n </div>\n <div class=\"item-right\">\n @if (item.url) {\n <mat-icon \n class=\"search-item-external\"\n matTooltip=\"\u00C5bn i ny tab\"\n [matTooltipShowDelay]=\"200\"\n [matTooltipHideDelay]=\"300\" \n (click)=\"openUrl(item.url, $event)\"\n matTooltipPosition=\"above\"\n >info</mat-icon>\n }\n <mat-icon (click)=\"deleteGeometrySearchItem(result, item.id, $event)\" >delete</mat-icon>\n </div>\n </div>\n </mat-option>\n </div>\n }\n</div>\n", styles: [".toolbox-wrapper{position:absolute;top:0!important;left:0!important;margin:0!important;z-index:10;max-width:95vw;box-shadow:0 2px 10px #0000001a;border-radius:5px;transition:width .3s ease,max-width .3s ease}.toolbox-wrapper.cdk-drag-dragging{opacity:.8;z-index:1001}.search-item-external{cursor:pointer}.drag-handle-toolbox mat-icon{font-size:18px}.drag-handle-toolbox mat-icon:first-child{display:flex;align-items:center;justify-content:center}.drag-handle-toolbox .icon-left{cursor:default!important}.right-icons{display:flex;align-items:center;gap:6px}.toggle-icon{cursor:pointer!important;transition:all .2s ease;-webkit-user-select:none;user-select:none;font-size:18px!important;display:flex;align-items:center;justify-content:center;flex-shrink:0}.toggle-icon:hover{color:#d3d3d3}:host{position:relative;display:flex;justify-content:center}:host.expanded{width:auto;min-width:320px;padding:12px}.toolbox-container{display:flex;flex-direction:column;align-items:center;width:100%;min-width:32px;transition:all .3s ease;cursor:default;border-radius:0 0 5px 5px}.toolbox-content{display:flex;flex-direction:column;width:100%;gap:3px;animation:slideDown .3s cubic-bezier(.4,0,.2,1)}.all-tools-container{display:flex;flex-direction:row;align-items:center;flex-wrap:nowrap;width:100%;justify-content:flex-start;overflow-x:hidden;padding:2px 8px}.all-tools-container::-webkit-scrollbar{height:4px}.all-tools-container::-webkit-scrollbar-thumb{background:#ccc;border-radius:2px}.main-tools{display:flex;flex-direction:row;align-items:center;flex-wrap:nowrap}.main-tools .snap-toggle{display:flex;align-items:center;gap:5px;color:#fff;font-size:12px;font-weight:500;cursor:pointer;-webkit-user-select:none;user-select:none}.main-tools .snap-toggle input[type=checkbox]{appearance:none;width:18px;height:18px;border:1.5px solid rgba(255,255,255,.6);border-radius:3px;background:transparent;cursor:pointer;position:relative;flex-shrink:0}.main-tools .snap-toggle input[type=checkbox]:checked{background:#f7b528;border-color:#f7b528}.main-tools .snap-toggle input[type=checkbox]:checked:after{content:\"\";position:absolute;left:4px;top:0;width:5px;height:9px;border:2px solid #fff;border-top:none;border-left:none;transform:rotate(45deg)}.geometry-tools{display:flex;flex-direction:row;align-items:center;flex-wrap:nowrap}.measurement-print-tools{display:flex;flex-direction:row;align-items:center;flex-wrap:nowrap;background:none;border-radius:8px;padding:3px 0}.measurement-tools,.print-tools{display:flex;flex-direction:row;align-items:center;flex-wrap:nowrap}.measurement-tools .compact-icon,.print-tools .compact-icon{transition:all .3s cubic-bezier(.4,0,.2,1)}.print-tools .compact-icon{background:none;color:#fff}.print-tools .compact-icon.active{background:#f7b528!important;border-color:transparent}.print-tools .compact-icon.active:hover{background:#ffffff1a}.print-tools .compact-icon:hover:not(.active){box-shadow:0 4px 12px #0000004d;opacity:.9}.tool-separator{width:1px;height:24px;background:linear-gradient(to bottom,transparent,rgba(255,255,255,.3),transparent)}.tool-separator.print-separator{height:28px;background:linear-gradient(to bottom,transparent,rgba(255,255,255,.5),transparent)}.compact-icon{cursor:pointer;color:#fff;transition:all .3s cubic-bezier(.4,0,.2,1);width:26px;height:26px;display:flex;align-items:center;justify-content:center;border-radius:6px;flex-shrink:0}.compact-icon.active{color:#fff;background:#f7b528!important;border-color:transparent;box-shadow:0 8px 25px #667eea4d}.compact-icon.active:hover{box-shadow:0 12px 35px #667eea66}.compact-icon:hover:not(.active){color:#fff;box-shadow:0 4px 12px #0003}.compact-icon.custom-image-icon{padding:2px;background:none;border:none}.compact-icon.custom-image-icon img{width:100%;height:100%;object-fit:contain;transition:filter .2s ease,transform .2s ease}.compact-icon.custom-image-icon.active{background:#ffffff1a;border-color:none;box-shadow:none}.compact-icon.custom-image-icon.active img{filter:brightness(0) invert(1)}.compact-icon.custom-image-icon.active:hover{box-shadow:0 12px 35px #667eea66}.compact-icon.custom-image-icon:hover:not(.active){box-shadow:0 4px 12px #0003}.compact-icon.custom-image-icon:hover:not(.active) img{filter:brightness(0) invert(.8)}.search-point-polygon-selector{width:170px;margin-right:auto;padding:6px}.search-point-polygon-selector ::ng-deep .mat-mdc-select{font-size:14px;line-height:1.4;border-radius:5px}.search-point-polygon-selector ::ng-deep .mat-mdc-select-trigger{height:32px;min-height:32px;padding:0 10px;border:none;border-radius:6px;background:#6d6f73;transition:all .2s ease}.search-point-polygon-selector ::ng-deep .mat-mdc-select-trigger:hover{background:#6d6f73}.search-point-polygon-selector ::ng-deep .mat-mdc-select-value{font-size:14px;font-weight:500;color:#fff}.search-point-polygon-selector ::ng-deep .mat-mdc-select-arrow-wrapper{height:16px}.search-point-polygon-selector ::ng-deep .mat-mdc-form-field-infix{min-height:32px;padding:6px 0}.search-point-polygon-selector ::ng-deep .mat-mdc-form-field-subscript-wrapper{display:none}.geometry-selector{width:34%;margin-left:15em;padding:6px}.geometry-selector ::ng-deep .mat-mdc-select{font-size:14px;line-height:1.4;border-radius:5px}.geometry-selector ::ng-deep .mat-mdc-select-trigger{height:32px;min-height:32px;padding:0 10px;border:none;border-radius:6px;background:#6d6f73;transition:all .2s ease}.geometry-selector ::ng-deep .mat-mdc-select-trigger:hover{background:#6d6f73}.geometry-selector ::ng-deep .mat-mdc-select-value{font-size:14px;font-weight:500;color:#fff}.geometry-selector ::ng-deep .mat-mdc-select-arrow-wrapper{height:16px}.geometry-selector ::ng-deep .mat-mdc-form-field-infix{min-height:32px;padding:6px 0}.geometry-selector ::ng-deep .mat-mdc-form-field-subscript-wrapper{display:none}::ng-deep .mat-mdc-select-panel{min-width:fit-content!important;max-width:320px!important;background:#4c4d51!important;border:none!important;border-radius:8px!important;box-shadow:0 8px 24px #0000001f,0 2px 6px #00000014!important;margin-top:6px!important;padding:4px 0!important}::ng-deep .mat-mdc-select-panel .mat-mdc-option{font-size:14px!important;min-height:30px!important;padding:0 14px!important;transition:all .15s ease!important}::ng-deep .mat-mdc-select-panel .mat-mdc-option:hover:not(.mat-mdc-option-disabled){background:#444849!important}::ng-deep .mat-mdc-select-panel .mat-mdc-option.mat-active{background:color-mix(in srgb,#000 60%,transparent)!important;color:#fff!important}::ng-deep .mat-mdc-select-panel .mat-mdc-option .mdc-list-item__primary-text{font-weight:500!important;color:#fff!important}::ng-deep .cdk-overlay-pane{z-index:1001}::ng-deep .cdk-overlay-backdrop{z-index:1000}.wkt-section{display:flex;flex-direction:column;gap:8px;border-top:1px solid rgba(255,255,255,.1);animation:fadeIn .2s ease;padding:10px 8px}.wkt-actions{display:flex;gap:6px;justify-content:space-between}.compact-button{padding:6px 10px;border:none;border-radius:5px;background:#6d6f73;color:#fff;font-size:12px;font-weight:600;cursor:pointer;transition:all .2s cubic-bezier(.4,0,.2,1);text-transform:uppercase;min-height:32px;display:flex;align-items:center;justify-content:center;flex:1;box-shadow:0 1px 2px #0000000d;font-family:Avenir Next W01,Lato,-apple-system,system-ui,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,sans-serif!important}.compact-button.primary.active{background:#f7b528;box-shadow:0 8px 25px #667eea4d;color:#fff}.compact-button.primary.active:hover{box-shadow:0 12px 35px #667eea66}.compact-button.secondary{background:color-mix(in srgb,#000 20%,transparent);color:#fff}.compact-button.secondary:hover{background:color-mix(in srgb,#5a6268 60%,transparent)}.compact-input{padding:8px 10px;border-radius:5px;font-size:13px;transition:all .2s ease;background:#6d6f73;border:none;color:#fff;font-family:Avenir Next W01,Lato,-apple-system,system-ui,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,sans-serif!important}.compact-input::placeholder{color:#ffffffb3}.compact-input:focus{outline:none;background:#6d6f73;border:1px solid #97989b}.print-config,.print-draw-config{display:flex;align-items:center;gap:8px;padding:5px;background:transparent;border:none;border-radius:8px;animation:slideDown .3s ease}.print-config select,.print-config input,.print-draw-config select,.print-draw-config input{background:#6d6f73;border:none;color:#fff;border-radius:6px;font-size:12px;height:32px;min-height:32px;padding:0 10px}.print-config select:focus,.print-config input:focus,.print-draw-config select:focus,.print-draw-config input:focus{outline:none}.print-config select,.print-draw-config select{cursor:pointer}.print-config option,.print-draw-config option{background:#6d6f73!important;border:none!important}.print-config input,.print-draw-config input{width:60px;text-align:center}.print-config button,.print-draw-config button{background:#6ccb78;color:#fff;border:none;padding:6px 12px;border-radius:4px;font-size:12px;cursor:pointer;transition:all .2s ease}.print-config button:hover,.print-draw-config button:hover{box-shadow:0 4px 12px #10b9814d}.print-config .icon-separator,.print-draw-config .icon-separator{color:#fff}.info-search-panel{position:absolute;right:0;z-index:1000;width:380px;max-height:360px!important;max-width:430px;background:#4c4d51!important;border:1px solid rgba(255,255,255,.07);border-bottom-right-radius:5px;border-bottom-left-radius:5px;box-shadow:0 8px 24px #00000026!important}.geometry-search-panel{position:absolute;right:0;z-index:1000;width:380px}.geometry-search-panel .delete-all-icon{color:#bdc1c3cc;float:right;padding-top:5px;font-size:18px;cursor:pointer}.geometry-search-panel .delete-all-icon:hover{color:#d3d3d3}.geometry-search-panel::-webkit-scrollbar{width:12px}.geometry-search-panel::-webkit-scrollbar-track{background:#757474;border-radius:8px}.geometry-search-panel::-webkit-scrollbar-thumb{background:#1a1c1f;border-radius:8px;border:2px solid #2a2c30}.geometry-search-panel::-webkit-scrollbar-thumb:hover{background:#0f1012}.search-result-option{display:block!important;padding:0!important;margin:0!important;background:transparent!important}.search-result-option:last-child{border-bottom:none}.search-result-option .mdc-list-item__primary-text{width:100%!important;margin:0!important;padding:0!important}.result-title{display:block;top:0;z-index:1;font-weight:600;color:#bdc1c3cc}.search-result-item{display:flex;align-items:center;padding:4px 14px;cursor:pointer;transition:background-color .15s ease;border-radius:5px}.item-left{flex:1;width:100%}.item-header{color:#fff;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;text-overflow:ellipsis}.search-empty-state{padding:32px 16px;text-align:center;color:#757575}.search-empty-state .empty-icon{font-size:40px;width:40px;height:40px;color:#bdbdbd;margin-bottom:12px}.search-empty-state .empty-title{font-size:14px;font-weight:500;margin-bottom:4px}.search-empty-state .empty-subtitle{font-size:12px;color:#9e9e9e}::ng-deep .metadata-panel{margin-top:5px;margin-bottom:5px}::ng-deep .metadata-panel .feature-item{padding:8px 12px;margin:4px 0;background:#ffffff0d;border-radius:5px;transition:all .2s ease}::ng-deep .metadata-panel .feature-item:hover{background:#ffffff1a;box-shadow:0 2px 8px #00000026}::ng-deep .metadata-panel .feature-item:first-child{margin-top:0}::ng-deep .metadata-panel .feature-item:last-child{margin-bottom:0}::ng-deep .metadata-panel .feature-title{color:#bdc1c3cc;font-size:13px;line-height:1.6;display:flex;align-items:center;gap:6px;letter-spacing:.2px}::ng-deep .metadata-panel .feature-title:first-child{margin-top:0}::ng-deep .metadata-panel .feature-title:last-child{margin-bottom:0}::ng-deep .metadata-panel .feature-title img{border-radius:4px;margin-top:4px;box-shadow:0 2px 6px #0003}::ng-deep .metadata-panel .feature-title a{color:#6ccb78;text-decoration:none;display:inline-flex;align-items:center;gap:4px;transition:color .2s ease}::ng-deep .metadata-panel .feature-title a:hover{color:#85d990;text-decoration:underline}::ng-deep .metadata-panel .feature-title a .link-icon{font-size:16px;width:16px;height:16px}::ng-deep .metadata-panel .secondary-item{color:#fff;font-weight:400}::ng-deep .geometry-search-panel{max-height:360px!important;overflow-y:auto!important;max-width:430px;background:#4c4d51!important;border:1px solid rgba(255,255,255,.07);border-bottom-right-radius:5px;border-bottom-left-radius:5px;box-shadow:0 8px 24px #00000026!important}::ng-deep .geometry-search-panel::-webkit-scrollbar{width:4px}::ng-deep .geometry-search-panel::-webkit-scrollbar-track{background:transparent}::ng-deep .geometry-search-panel::-webkit-scrollbar-thumb{background:#ffffff1a;border-radius:10px}::ng-deep .geometry-search-panel::-webkit-scrollbar-thumb:hover{background:#fff3}::ng-deep .geometry-search-panel .buffer-item{display:flex;align-items:center;gap:8px;padding:10px 14px 8px;background:#0003;border-bottom:1px solid rgba(255,255,255,.06)}::ng-deep .geometry-search-panel .buffer-item mat-label{color:#9ca3af;font-size:12px;font-weight:500;letter-spacing:.3px}::ng-deep .geometry-search-panel .buffer-item input{width:52px;margin:0;background:#3a3d42;border:1px solid rgba(255,255,255,.1);border-radius:5px;color:#fff;font-size:12px;padding:4px 8px;text-align:center;outline:none;transition:border-color .15s ease}::ng-deep .geometry-search-panel .buffer-item input:focus{border-color:#f7b528}::ng-deep .geometry-search-panel .result-title{display:flex;align-items:center;gap:8px;padding:8px 14px 4px;font-size:14px;font-weight:600;color:#bdc1c3cc;position:sticky;top:0;z-index:1}::ng-deep .geometry-search-panel .search-result-item{display:flex;flex-direction:column;gap:5px;padding:8px 14px;cursor:pointer;border-left:2px solid transparent;transition:background .12s ease,border-color .12s ease}::ng-deep .geometry-search-panel .search-result-item+.search-result-item{border-top:1px solid rgba(255,255,255,.04)}::ng-deep .geometry-search-panel .search-result-item:hover{background:#ffffff09}::ng-deep .geometry-search-panel .search-result-item:hover .item-header{color:#fff}::ng-deep .geometry-search-panel .search-result-item:last-child{border-radius:0 0 10px 10px}::ng-deep .geometry-search-panel .item-header{color:#d1d5db;font-size:14px;font-weight:500;line-height:1.4;display:block;word-wrap:break-word;overflow-wrap:break-word;transition:color .12s ease}::ng-deep .geometry-search-panel .item-right{display:flex;align-items:center;gap:3px;flex-wrap:wrap;width:100%}::ng-deep .geometry-search-panel .item-right .custom-image-icon{width:26px;height:26px;flex-shrink:0;display:flex;align-items:center;justify-content:center;background:#fff!important;border:1px solid rgba(255,255,255,0);border-radius:5px;transition:background .15s ease,border-color .15s ease,box-shadow .15s ease!important}::ng-deep .geometry-search-panel .item-right .custom-image-icon:hover{background:#ffffff0d!important;box-shadow:0 0 0 1px #f7b5282e}::ng-deep .geometry-search-panel .item-right mat-icon{font-size:18px!important;color:#bdc1c3cc}::ng-deep .geometry-search-panel .item-right mat-icon:hover{color:#d3d3d3!important}::ng-deep .geometry-search-panel .mat-mdc-option{min-height:30px!important;border-radius:5px!important;transition:all .2s cubic-bezier(.4,0,.2,1);position:relative;overflow:auto;padding:4px 0!important}::ng-deep .geometry-search-panel .mat-mdc-option .mdc-list-item__primary-text{color:#fff}::ng-deep .geometry-search-panel mat-label{color:#fff}::ng-deep .mat-mdc-simple-snack-bar{background-color:#fff!important}@media (max-width: 768px){.toolbox-wrapper{left:.5em;top:8em;max-width:calc(100vw - 2.5em)}.drag-handle-toolbox{padding:3px 6px;gap:6px}.drag-handle-toolbox mat-icon{font-size:16px;width:16px;height:16px}.toggle-icon{font-size:16px!important;width:16px!important;height:16px!important}.toolbox-container{min-width:28px;max-width:calc(100vw - 3em)}:host{padding:8px;min-width:32px}:host.expanded{min-width:280px;padding:10px}.all-tools-container{flex-wrap:wrap;gap:6px;max-height:50vh;overflow-y:auto;padding:0;-ms-overflow-style:none;scrollbar-width:none}.all-tools-container::-webkit-scrollbar{display:none}.main-tools,.geometry-tools,.measurement-print-tools,.print-tools{display:flex;flex-wrap:wrap;justify-content:center;gap:4px}.compact-icon{width:28px;height:28px;flex-shrink:0}.measurement-print-tools{padding:3px 0}.geometry-selector{width:30%;margin-bottom:8px}.geometry-selector ::ng-deep .mat-mdc-select-trigger{height:28px;min-height:28px;padding:0 8px;font-size:12px}.geometry-selector ::ng-deep .mat-mdc-select-value{font-size:12px}::ng-deep .mat-mdc-select-panel{max-width:calc(100vw - 2em)!important}::ng-deep .mat-mdc-select-panel .mat-mdc-option{font-size:13px!important;min-height:32px!important;padding:6px 12px!important}.print-config,.print-draw-config{flex-direction:column;align-items:stretch;gap:6px}.print-config select,.print-config input,.print-draw-config select,.print-draw-config input{font-size:11px;padding:4px 8px;height:28px;min-height:28px}.print-config input,.print-draw-config input{width:50px}.print-config button,.print-draw-config button{padding:4px 8px;font-size:11px;height:28px}.wkt-section .compact-input{font-size:12px;padding:6px 8px}.wkt-section .compact-button{font-size:11px;padding:5px 8px;min-height:28px}::ng-deep .mat-mdc-slide-toggle .mdc-label{font-size:11px!important}.geometry-search-panel{width:calc(100vw - 40px);max-width:400px;left:50%;max-height:70vh}.search-result-item{padding:8px 12px}.item-header{font-size:13px}.result-title{padding:10px 12px;font-size:13px}}.geometry-search-result-item{display:flex;padding:4px 14px;cursor:pointer;transition:background-color .15s ease;border-radius:5px}.geometry-search-result-item .item-header{width:260px}@media (max-width: 480px){.toolbox-wrapper{left:.25em;top:6em;transform-origin:left top;max-width:calc(100vw - .5em)}.drag-handle-toolbox{padding:2px 4px;gap:4px}.drag-handle-toolbox mat-icon{font-size:14px;width:14px;height:14px}.toggle-icon{font-size:14px!important;width:14px!important;height:14px!important}.toolbox-container{padding:2px;min-width:24px}.all-tools-container{flex-direction:row;align-items:center;max-height:60vh}.main-tools,.geometry-tools{gap:3px;flex-wrap:wrap;justify-content:center}.measurement-print-tools{gap:3px;flex-wrap:wrap;padding:2px 4px;width:100%;justify-content:center}.measurement-tools,.print-tools{gap:3px}.compact-icon{width:26px;height:26px}.tool-separator{display:none}.geometry-selector ::ng-deep .mat-mdc-select-trigger{height:26px;min-height:26px;padding:0 6px;font-size:11px}.geometry-selector ::ng-deep .mat-mdc-select-value{font-size:11px}.compact-button{font-size:10px;padding:4px 6px;min-height:26px}.compact-input{font-size:11px;padding:4px 6px}.print-config,.print-draw-config{gap:4px;padding:6px}.print-config select,.print-config input,.print-draw-config select,.print-draw-config input{font-size:10px;height:26px;min-height:26px;padding:2px 6px}.print-config input,.print-draw-config input{width:45px}.print-config button,.print-draw-config button{flex:1;min-width:60px;font-size:10px;padding:3px 6px;height:26px}.print-config .icon-separator,.print-draw-config .icon-separator{font-size:10px}.wkt-section{gap:6px;padding-top:8px}::ng-deep .mat-mdc-slide-toggle .mdc-label{font-size:10px!important}::ng-deep .mat-mdc-select-panel{max-width:calc(100vw - 1em)!important}::ng-deep .mat-mdc-select-panel .mat-mdc-option{font-size:12px!important;min-height:28px!important;padding:4px 10px!important}.geometry-search-panel{width:calc(100vw - 32px);max-height:60vh}.search-result-item{padding:6px 10px}.item-header{font-size:12px;-webkit-line-clamp:1}}\n"], dependencies: [{ kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i1$3.NgSelectOption, selector: "option", inputs: ["ngValue", "value"] }, { kind: "directive", type: i1$3.ɵNgSelectMultipleOption, selector: "option", inputs: ["ngValue", "value"] }, { kind: "directive", type: i1$3.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i1$3.NumberValueAccessor, selector: "input[type=number][formControlName],input[type=number][formControl],input[type=number][ngModel]" }, { kind: "directive", type: i1$3.SelectControlValueAccessor, selector: "select:not([multiple])[formControlName],select:not([multiple])[formControl],select:not([multiple])[ngModel]", inputs: ["compareWith"] }, { kind: "directive", type: i1$3.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1$3.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1$2.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1$2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1$2.NgSwitch, selector: "[ngSwitch]", inputs: ["ngSwitch"] }, { kind: "directive", type: i1$2.NgSwitchCase, selector: "[ngSwitchCase]", inputs: ["ngSwitchCase"] }, { kind: "directive", type: i1$2.NgSwitchDefault, selector: "[ngSwitchDefault]" }, { kind: "pipe", type: i1$2.KeyValuePipe, name: "keyvalue" }, { kind: "ngmodule", type: MatIconModule }, { kind: "component", type: i2.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "ngmodule", type: MatOptionModule }, { kind: "component", type: i4.MatOption, selector: "mat-option", inputs: ["value", "id", "disabled"], outputs: ["onSelectionChange"], exportAs: ["matOption"] }, { kind: "ngmodule", type: MatSelectModule }, { kind: "directive", type: i1$1.MatLabel, selector: "mat-label" }, { kind: "component", type: i6$1.MatSelect, selector: "mat-select", inputs: ["aria-describedby", "panelClass", "disabled", "disableRipple", "tabIndex", "hideSingleSelectionIndicator", "placeholder", "required", "multiple", "disableOptionCentering", "compareWith", "value", "aria-label", "aria-labelledby", "errorStateMatcher", "typeaheadDebounceInterval", "sortComparator", "id", "panelWidth", "canSelectNullableOptions"], outputs: ["openedChange", "opened", "closed", "selectionChange", "valueChange"], exportAs: ["matSelect"] }, { kind: "ngmodule", type: DragDropModule }, { kind: "directive", type: i5.CdkDrag, selector: "[cdkDrag]", inputs: ["cdkDragData", "cdkDragLockAxis", "cdkDragRootElement", "cdkDragBoundary", "cdkDragStartDelay", "cdkDragFreeDragPosition", "cdkDragDisabled", "cdkDragConstrainPosition", "cdkDragPreviewClass", "cdkDragPreviewContainer", "cdkDragScale"], outputs: ["cdkDragStarted", "cdkDragReleased", "cdkDragEnded", "cdkDragEntered", "cdkDragExited", "cdkDragDropped", "cdkDragMoved"], exportAs: ["cdkDrag"] }, { kind: "directive", type: i5.CdkDragHandle, selector: "[cdkDragHandle]", inputs: ["cdkDragHandleDisabled"] }, { kind: "ngmodule", type: MatTooltipModule }, { kind: "directive", type: i8.MatTooltip, selector: "[matTooltip]", inputs: ["matTooltipPosition", "matTooltipPositionAtOrigin", "matTooltipDisabled", "matTooltipShowDelay", "matTooltipHideDelay", "matTooltipTouchGestures", "matTooltip", "matTooltipClass"], exportAs: ["matTooltip"] }, { kind: "component", type: SelectedFeatureInfoComponent, selector: "selected-feature-info" }] });
4592
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "19.2.15", type: ToolboxComponent, isStandalone: true, selector: "map-toolbox", inputs: { map: "map", showMeasureDistance: "showMeasureDistance", showMeasureArea: "showMeasureArea", collapsed: "collapsed", settings: "settings", profile: "profile", WKTInputEnabled: "WKTInputEnabled", deleteEnabled: "deleteEnabled" }, usesOnChanges: true, ngImport: i0, template: "<div class=\"toolbox-wrapper global-wrapper-container\" \n cdkDrag \n cdkDragBoundary=\".map-container\"\n [cdkDragFreeDragPosition]=\"dragPosition\"\n (cdkDragEnded)=\"onDragEnded($event)\"\n [class.collapsed]=\"collapsed\">\n <div class=\"drag-handle-toolbox\" cdkDragHandle>\n <mat-icon \n class=\"icon-left\" \n matTooltip=\"V\u00E6rkt\u00F8jskasse\" \n [matTooltipShowDelay]=\"500\"\n [matTooltipHideDelay]=\"100\" \n matTooltipPosition=\"above\">\n handyman\n </mat-icon> \n <div class=\"right-icons\"> \n <mat-icon class=\"toggle-icon\" (click)=\"toggleCollapsed($event)\">\n {{ collapsed ? 'flip_to_front' : 'remove' }}\n </mat-icon>\n </div>\n </div>\n \n <div class=\"toolbox-container\">\n @if (!collapsed) {\n <div class=\"toolbox-content\">\n <div class=\"all-tools-container\">\n <div class=\"main-tools\">\n @if (!settings?.undoDisabled) {\n <img \n [src]=\"undoIconBase64\" \n class=\"compact-icon custom-image-icon\"\n (click)=\"undo()\" \n matTooltip=\"Fortryd\" \n [matTooltipShowDelay]=\"200\"\n [matTooltipHideDelay]=\"300\" \n matTooltipClass=\"custom-tooltip\"\n matTooltipPosition=\"below\"\n alt=\"Undo\">\n\n <img \n [src]=\"redoIconBase64\" \n class=\"compact-icon custom-image-icon\"\n (click)=\"redo()\" \n matTooltip=\"Gendan\" \n [matTooltipShowDelay]=\"200\"\n [matTooltipHideDelay]=\"300\" \n matTooltipClass=\"custom-tooltip\"\n matTooltipPosition=\"below\"\n alt=\"Redo\">\n }\n @if (settings.externalHelpUrl) {\n <img \n [src]=\"infoBase64\" \n class=\"compact-icon custom-image-icon\"\n (click)=\"openUrl(settings.externalHelpUrl, $event)\"\n matTooltip=\"Vejledning til anvendelse af systemet\" \n [matTooltipShowDelay]=\"200\"\n [matTooltipHideDelay]=\"300\" \n matTooltipClass=\"custom-tooltip\"\n matTooltipPosition=\"below\"\n alt=\"Vejledning til anvendelse af systemet\">\n } \n @if (showInfo){ <img \n [src]=\"showInfoObjBase64\" \n class=\"compact-icon custom-image-icon\"\n (click)=\"toggleShowInfo()\" \n [class.active]=\"activeMode === 'show-info'\"\n matTooltip=\"V\u00E6lg og vis objektdata i tr\u00E6struktur\" \n [matTooltipShowDelay]=\"200\"\n [matTooltipHideDelay]=\"300\" \n matTooltipClass=\"custom-tooltip\"\n matTooltipPosition=\"below\"\n alt=\"V\u00E6lg og vis objektdata i tr\u00E6 struktur\">\n }\n @if (showDownloadAddresses) {\n <img \n [src]=\"downloadFileBase64\" \n class=\"compact-icon custom-image-icon\"\n (click)=\"startDownloadAddresses()\" \n [class.active]=\"activeMode === 'download-addresses'\"\n matTooltip=\"Download adresser\" \n [matTooltipShowDelay]=\"200\"\n [matTooltipHideDelay]=\"300\" \n matTooltipClass=\"custom-tooltip\"\n matTooltipPosition=\"below\"\n alt=\"Download adresser\">\n }\n @if (showDownloadCadastres) {\n <img \n [src]=\"downloadMatriklerBase64\" \n class=\"compact-icon custom-image-icon\"\n (click)=\"startDownloadCasdatres()\" \n [class.active]=\"activeMode === 'download-cadastres'\"\n matTooltip=\"Download matrikler\" \n [matTooltipShowDelay]=\"200\"\n [matTooltipHideDelay]=\"300\" \n matTooltipClass=\"custom-tooltip\"\n matTooltipPosition=\"below\"\n alt=\"Download matrikler\">\n }\n @if (showChooseLocations) {\n <img \n [src]=\"splitIconBase64\" \n class=\"compact-icon custom-image-icon\"\n (click)=\"togglePointPolygonSearch()\"\n [class.active]=\"activeMode === 'search-point' || activeMode === 'search-polygon'\"\n matTooltip=\"V\u00E6lg Lokaliteter ved udpegning i kortet\" \n [matTooltipShowDelay]=\"200\"\n [matTooltipHideDelay]=\"300\" \n matTooltipClass=\"custom-tooltip\"\n matTooltipPosition=\"below\"\n alt=\"V\u00E6lg Lokaliteter ved udpegning i kortet\">\n }\n @if (showDocumentSearch) {\n <img \n [src]=\"documentSearchBase64\" \n class=\"compact-icon custom-image-icon\"\n (click)=\"toggleDocumentPointSearch()\"\n [class.active]=\"activeMode === 'document-search-by-point'\"\n matTooltip=\"Dokument fra punkt\" \n [matTooltipShowDelay]=\"200\"\n [matTooltipHideDelay]=\"300\" \n matTooltipClass=\"custom-tooltip\"\n matTooltipPosition=\"below\"\n alt=\"Dokument fra punkt\">\n\n <img \n [src]=\"documentSearchBase64\" \n class=\"compact-icon custom-image-icon\"\n (click)=\"toggleDocumentPolygonSearch()\"\n [class.active]=\"activeMode === 'document-search-by-polygon'\"\n matTooltip=\"Dokumenter fra polygon\" \n [matTooltipShowDelay]=\"200\"\n [matTooltipHideDelay]=\"300\" \n matTooltipClass=\"custom-tooltip\"\n matTooltipPosition=\"below\"\n alt=\"Dokumenter fra polygon\">\n }\n @if (settings.cowiUrlTemplate) {\n <img \n [src]=\"openCowiPageBase64\" \n class=\"compact-icon custom-image-icon\"\n [class.active]=\"activeMode === 'cowi'\"\n (click)=\"toggleCowiPage()\" \n matTooltip=\"COWI\u00B4s Gadefoto\" \n [matTooltipShowDelay]=\"200\"\n [matTooltipHideDelay]=\"300\" \n matTooltipClass=\"custom-tooltip\"\n matTooltipPosition=\"below\"\n alt=\"COWI\u00B4s Gadefoto\">\n }\n @if (settings.skraaFotoUrlTemplate) {\n <img \n [src]=\"skrafotoBase64\" \n class=\"compact-icon custom-image-icon\"\n [class.active]=\"activeMode === 'skrafoto'\"\n (click)=\"toggleSkraafotoPage()\" \n matTooltip=\"Opslag p\u00E5 Skr\u00E5fotos\" \n [matTooltipShowDelay]=\"200\"\n [matTooltipHideDelay]=\"300\" \n matTooltipClass=\"custom-tooltip\"\n matTooltipPosition=\"below\"\n alt=\"Skr\u00E5foto\">\n }\n @if (settings.googleStreetUrlTemplate) {\n <img \n [src]=\"streetViewBase64\" \n class=\"compact-icon custom-image-icon\"\n [class.active]=\"activeMode === 'streetview'\"\n (click)=\"toggleGoogleStreetviewPage()\" \n matTooltip=\"Google Streetview\" \n [matTooltipShowDelay]=\"200\"\n [matTooltipHideDelay]=\"300\" \n matTooltipClass=\"custom-tooltip\"\n matTooltipPosition=\"below\"\n alt=\"Google Streetview\">\n }\n @if (showFeatureHighlight) {\n <img \n [src]=\"fremhaevBase64\" \n class=\"compact-icon custom-image-icon\"\n [class.active]=\"activeMode === 'select-highlight'\"\n (click)=\"startSelectFeatureHighlight()\" \n matTooltip=\"Fremh\u00E6v aktivt objekt i listen\" \n [matTooltipShowDelay]=\"200\"\n [matTooltipHideDelay]=\"300\" \n matTooltipClass=\"custom-tooltip\"\n matTooltipPosition=\"below\"\n alt=\"Fremh\u00E6v\">\n }\n @if (activeMode === 'draw' || activeMode === 'edit' || activeMode === 'edit-remove' || activeMode === 'search-feature' ||\n activeMode === 'clip-hole' || activeMode === 'split' || activeMode === 'merge-features') {\n <label class=\"snap-toggle\">\n <input type=\"checkbox\" [checked]=\"snap\" (change)=\"onSnapChange($event)\">\n Snap\n </label> \n } \n @if (settings.editEnabled) {\n <img \n [src]=\"editBase64\" \n [class.active]=\"activeMode === 'edit'\" \n class=\"compact-icon custom-image-icon\"\n (click)=\"startEdit()\" \n matTooltip=\"Inds\u00E6t eller flyt punkter i flade/linje\" \n [matTooltipShowDelay]=\"200\"\n [matTooltipHideDelay]=\"300\" \n matTooltipClass=\"custom-tooltip\"\n matTooltipPosition=\"below\"\n alt=\"Inds\u00E6t eller flyt punkter i flade/linje\">\n <img \n [src]=\"deleteIconBase64\" \n [class.active]=\"activeMode === 'edit-remove'\" \n class=\"compact-icon custom-image-icon\"\n (click)=\"startEditRemovePoints()\" \n matTooltip=\"Slet punkter i flade/linje\" \n [matTooltipShowDelay]=\"200\"\n [matTooltipHideDelay]=\"300\" \n matTooltipClass=\"custom-tooltip\"\n matTooltipPosition=\"below\"\n alt=\"Slet punkter i flade/linje\">\n }\n @if (settings.cutHoleEnabled) {\n <img \n [src]=\"clipHoleBase64\" \n class=\"compact-icon custom-image-icon\"\n [class.active]=\"activeMode === 'clip-hole'\" \n (click)=\"clipHole()\" \n matTooltip=\"Klip hul i flade\" \n [matTooltipShowDelay]=\"200\"\n [matTooltipHideDelay]=\"300\" \n matTooltipClass=\"custom-tooltip\"\n matTooltipPosition=\"below\"\n alt=\"Klip hul i flade\">\n }\n @if (settings.splitEnabled) {\n <img \n [src]=\"splitBase64\" \n class=\"compact-icon custom-image-icon\"\n [class.active]=\"activeMode === 'split'\"\n (click)=\"split()\" \n matTooltip=\"Del et element\" \n [matTooltipShowDelay]=\"200\"\n [matTooltipHideDelay]=\"300\" \n matTooltipClass=\"custom-tooltip\"\n matTooltipPosition=\"below\"\n alt=\"Del et element\">\n }\n @if (settings.changeTypeEnabled) {\n <img \n [src]=\"changeTypeBase64\" \n class=\"compact-icon custom-image-icon\" \n [class.active]=\"activeMode === 'change-type'\" \n (click)=\"startChangeType()\"\n [matTooltipShowDelay]=\"200\"\n matTooltipClass=\"custom-tooltip\"\n [matTooltipHideDelay]=\"300\" \n matTooltip=\"Skift status p\u00E5 element\" \n alt=\"Skift status p\u00E5 element\" \n matTooltipPosition=\"below\">\n }\n @if (settings.mergeEnabled) {\n <img \n [src]=\"mergeBase64\"\n class=\"compact-icon custom-image-icon\" \n (click)=\"startMergeFeatures()\" \n matTooltipPosition=\"below\"\n [matTooltipShowDelay]=\"200\"\n matTooltipClass=\"custom-tooltip\"\n [matTooltipHideDelay]=\"300\" \n matTooltip=\"Saml flader\" \n [class.active]=\"activeMode === 'merge-features'\">\n }\n @if (settings.centerPoint) {\n <img \n [src]=\"setCenterBase64\" \n [class.active]=\"activeMode === 'center-point'\" \n class=\"compact-icon custom-image-icon\"\n (click)=\"setCenterPoint()\" \n matTooltip=\"S\u00E6t centerpunkt\" \n [matTooltipShowDelay]=\"200\"\n [matTooltipHideDelay]=\"300\" \n matTooltipClass=\"custom-tooltip\"\n matTooltipPosition=\"below\"\n alt=\"S\u00E6t centerpunkt\">\n }\n </div>\n <div class=\"geometry-tools\">\n @if (showPickAndShowInList) {\n <img \n [src]=\"sogPolygonBase64\" \n [class.active]=\"activeMode === 'search-feature'\"\n class=\"compact-icon custom-image-icon\"\n (click)=\"toggleFeatureSearch()\" \n matTooltip=\"V\u00E6lg og vis emner i listen\" \n [matTooltipShowDelay]=\"200\"\n [matTooltipHideDelay]=\"300\" \n matTooltipClass=\"custom-tooltip\"\n matTooltipPosition=\"below\"\n alt=\"V\u00E6lg og vis emner i listen\">\n @if (showDrawElement) {\n <img \n [src]=\"drawBase64\" \n [class.active]=\"activeMode === 'draw'\"\n class=\"compact-icon custom-image-icon\"\n (click)=\"startDraw()\"\n matTooltip=\"Tegn element\" \n [matTooltipShowDelay]=\"200\"\n [matTooltipHideDelay]=\"300\" \n matTooltipClass=\"custom-tooltip\"\n matTooltipPosition=\"below\"\n alt=\"Tegn element\">\n }\n @if (settings.WKTInputEnabled) {\n <img \n [src]=\"wktIconBase64\" \n class=\"compact-icon custom-image-icon\"\n [class.active]=\"activeMode === 'wkt-input'\"\n (click)=\"activateShowInputWKT()\" \n matTooltip=\"Inds\u00E6t WKT streng for at importere elementet\" \n [matTooltipShowDelay]=\"200\"\n [matTooltipHideDelay]=\"300\" \n matTooltipClass=\"custom-tooltip\"\n matTooltipPosition=\"below\"\n alt=\"Inds\u00E6t WKT streng for at importere elementet\">\n }\n }\n </div>\n <div class=\"tool-separator\" *ngIf=\"deleteEnabled || showMeasureDistance || showMeasureArea || profile.showPrint\"></div>\n <div class=\"measurement-print-tools\">\n <div class=\"measurement-tools\">\n @if (deleteEnabled) {\n <img \n [src]=\"deleteIconBase64\" \n class=\"compact-icon custom-image-icon\"\n [class.active]=\"activeMode === 'delete'\"\n (click)=\"startDelete()\" \n matTooltip=\"Slet element\" \n [matTooltipShowDelay]=\"200\"\n [matTooltipHideDelay]=\"300\" \n matTooltipClass=\"custom-tooltip\"\n matTooltipPosition=\"below\"\n alt=\"Slet element\">\n }\n @if (showMeasureArea || showMeasureDistance) {\n <img \n [src]=\"measureDistanceIconBase64\" \n class=\"compact-icon custom-image-icon\"\n (click)=\"toggleMeasure()\"\n [class.active]=\"activeMode === 'measure-distance' || activeMode === 'measure-area'\"\n matTooltip=\"M\u00E5l afstand / areal\" \n [matTooltipShowDelay]=\"200\"\n [matTooltipHideDelay]=\"300\" \n matTooltipClass=\"custom-tooltip\"\n matTooltipPosition=\"below\"\n alt=\"M\u00E5l\">\n }\n </div>\n @if (profile.showPrint) {\n <div class=\"tool-separator print-separator\"></div>\n <div class=\"print-tools\">\n <img \n [src]=\"printBase64\" \n class=\"compact-icon custom-image-icon\"\n [class.active]=\"active === 'Print'\"\n (click)=\"startPrintMode()\" \n matTooltip=\"Sk\u00E6rmprint af kortet\" \n [matTooltipShowDelay]=\"200\"\n [matTooltipHideDelay]=\"300\" \n matTooltipClass=\"custom-tooltip\"\n matTooltipPosition=\"below\"\n alt=\"Sk\u00E6rmprint af kortet\">\n <img \n [src]=\"drawPrintBase64\" \n class=\"compact-icon custom-image-icon\"\n [class.active]=\"active === 'PrintDraw'\"\n (click)=\"startDrawMode()\" \n matTooltip=\"Tegnev\u00E6rkt\u00F8j til print\" \n [matTooltipShowDelay]=\"200\"\n [matTooltipHideDelay]=\"300\" \n matTooltipClass=\"custom-tooltip\"\n matTooltipPosition=\"below\"\n alt=\"Tegnev\u00E6rkt\u00F8j til print\">\n </div>\n }\n </div>\n </div>\n @if (activeMode === 'draw' || activeMode === 'search-feature' || activeMode === 'wkt-input'\n || activeMode === 'change-type' || activeMode === 'merge-features') {\n <mat-select class=\"geometry-selector\" (selectionChange)=\"drawItemChanged($event)\" [(ngModel)]=\"selectedDrawItem\"> \n @for (drawItem of drawItems; track drawItem) {\n @if (activeMode !== 'merge-features' || drawItem.geomType === 'Polygon') {\n <mat-option [value]=\"drawItem\">{{drawItem.name}} <img *ngIf=\"drawItem.iconUrl\" class=\"compact-icon custom-image-icon\" [src]=\"drawItem.iconUrl\"></mat-option>\n }\n }\n </mat-select> \n }\n @if (showInputWKT && activeMode === 'wkt-input') {\n <div class=\"wkt-section\">\n <input matInput class=\"compact-input\" placeholder=\"Inds\u00E6t WKT-streng\" [(ngModel)]=\"WKTString\">\n <div class=\"wkt-actions\">\n <button class=\"compact-button primary\" (click)=\"ReadWKT()\">Indl\u00E6s WKT</button>\n <button class=\"compact-button\" (click)=\"cancelWKT()\">Annuller</button>\n </div>\n </div>\n }\n @if (profile.showPrint) {\n @if (active === \"Print\") {\n <div class=\"print-config\">\n <img \n matTooltip=\"Sk\u00E6rmprint af kortet\" \n [matTooltipShowDelay]=\"200\"\n [matTooltipHideDelay]=\"300\" \n [src]=\"printBase64\" \n class=\"compact-icon custom-image-icon\"\n (click)=\"doPrint()\" \n alt=\"Udskriv\"> \n <span class=\"icon-separator\">i</span>\n <select id=\"formatSelector\" [(ngModel)]=\"format\">\n <option value=\"image/png\" selected>.PNG</option>\n <option value=\"image/jpeg\">.JPG</option>\n </select>\n <select id=\"dimensionSelector\" [(ngModel)]=\"dimId\" (change)=\"handleDimensionSelected()\">\n <option value=\"99\" selected></option>\n <option value=\"0\">1920 X 1080</option>\n <option value=\"1\">1680 X 1050</option>\n <option value=\"2\">1280 X 800</option>\n <option value=\"3\">800 X 600</option>\n </select>\n <input type=\"text\" [(ngModel)]=\"mapWidth\"/> \n <span class=\"icon-separator\">x</span>\n <input type=\"text\" [(ngModel)]=\"mapHeight\"/>\n <button (click)=\"setNewMapDimensions()\">V\u00E6lg</button>\n </div>\n }\n @if (active === \"PrintDraw\") {\n <div class=\"print-draw-config\">\n <span class=\"icon-separator\">Label</span>\n <input type=\"text\" [(ngModel)]=\"printDrawLabel\"/>\n <select id=\"drawToolSelector\" [(ngModel)]=\"printDrawTool\" (change)=\"handlePrintDrawToolChanged()\">\n <option value=\"Arrow\" selected>Pil</option>\n <option value=\"Point\">Punkt</option>\n <option value=\"LineString\">Linje</option>\n <option value=\"Polygon\">Polygon</option>\n <option value=\"Circle\">Cirkel</option>\n <option value=\"Square\">Kvadrat</option>\n <option value=\"Rectangle\">Firkant</option>\n </select>\n <button class=\"compact-button\" (click)=\"handleClearPrintDrawFeatures()\">Ryd</button>\n </div>\n }\n }\n </div>\n @if (activeMode === 'search-point' || activeMode === 'search-polygon') {\n <mat-select \n class=\"search-point-polygon-selector\" \n [(ngModel)]=\"selectedSearchMode\"\n (selectionChange)=\"onSearchModeChanged($event)\">\n <mat-option value=\"search-point\">S\u00F8g med punkt</mat-option>\n <mat-option value=\"search-polygon\">S\u00F8g med polygon</mat-option>\n </mat-select>\n }\n \n @if (activeMode === 'measure-distance' || activeMode === 'measure-area') {\n <mat-select \n class=\"geometry-selector\"\n [(ngModel)]=\"selectedMeasureMode\"\n (selectionChange)=\"onMeasureModeChanged($event)\">\n @if (showMeasureDistance){\n <mat-option value=\"measure-distance\">M\u00E5l afstand</mat-option>\n }\n @if (showMeasureArea){\n <mat-option value=\"measure-area\">M\u00E5l areal</mat-option>\n } \n </mat-select>\n }\n }\n </div>\n @if (!collapsed && activeMode === 'search-feature' && filteredResults.length > 0) {\n <div class=\"geometry-search-panel\">\n <div class=\"buffer-item\">\n <mat-label>Buffer</mat-label>\n <input matInput type=\"number\" name=\"buffer\" [(ngModel)]=\"bufferInMeters\">\n <mat-label>m</mat-label>\n </div>\n <mat-option *ngFor=\"let result of filteredResults\" [value]=\"result\" class=\"search-result-option\">\n <span class=\"result-title\">\n {{ result.title }} ({{result.items.length}} af {{ result.total }})\n </span>\n <div (click)=\"highlight(item.wkt, $event)\" *ngFor=\"let item of result.items\" class=\"search-result-item\">\n <div class=\"item-left\">\n <span class=\"item-header\"> {{item.header}} </span> \n </div>\n <div class=\"item-right\">\n <img \n [src]=\"objectSearchCopyIconBase64\" \n class=\"compact-icon custom-image-icon\"\n (click)=\"addToActiveObjectsList(item, $event)\" \n matTooltip=\"Kopier\" \n [matTooltipShowDelay]=\"200\"\n [matTooltipHideDelay]=\"300\" \n matTooltipClass=\"custom-tooltip\"\n matTooltipPosition=\"below\"\n alt=\"Kopier\">\n <img \n [src]=\"deleteIconBase64\" \n class=\"compact-icon custom-image-icon\"\n (click)=\"cutBySearchedObject(item, $event)\" \n matTooltip=\"Fjern\" \n [matTooltipShowDelay]=\"200\"\n [matTooltipHideDelay]=\"300\" \n matTooltipClass=\"custom-tooltip\"\n matTooltipPosition=\"below\"\n alt=\"Fjern\">\n <img \n [src]=\"objectSearchCutIconBase64\" \n class=\"compact-icon custom-image-icon\"\n (click)=\"splitBySearchedObject(item, $event)\" \n matTooltip=\"Opsk\u00E6r\" \n [matTooltipShowDelay]=\"200\"\n [matTooltipHideDelay]=\"300\" \n matTooltipClass=\"custom-tooltip\"\n matTooltipPosition=\"below\"\n alt=\"Opsk\u00E6r\">\n <img \n [src]=\"objectSearchCopyWithBufferIconBase64\" \n class=\"compact-icon custom-image-icon\"\n (click)=\"addToActiveObjectsList(item, $event, true)\" \n matTooltip=\"Kopier med buffer\" \n [matTooltipShowDelay]=\"200\"\n [matTooltipHideDelay]=\"300\" \n matTooltipClass=\"custom-tooltip\"\n matTooltipPosition=\"below\"\n alt=\"Kopier med buffer\">\n <img \n [src]=\"objectSearchZoomIconBase64\" \n class=\"compact-icon custom-image-icon\"\n (click)=\"zoomSearchedObject(item, $event)\" \n matTooltip=\"Zoom\" \n [matTooltipShowDelay]=\"200\"\n [matTooltipHideDelay]=\"300\" \n matTooltipClass=\"custom-tooltip\"\n matTooltipPosition=\"below\"\n alt=\"Zoom\">\n <img \n [src]=\"infoBase64\" \n class=\"compact-icon custom-image-icon\"\n (click)=\"toggleItemInfo(item, $event)\" \n matTooltip=\"Info\" \n [matTooltipShowDelay]=\"200\"\n [matTooltipHideDelay]=\"300\" \n matTooltipClass=\"custom-tooltip\"\n matTooltipPosition=\"below\"\n alt=\"Info\">\n </div> \n @if (item.showMetadata) {\n <div class=\"metadata-panel\">\n @for(feature of item.metadata; track feature) {\n <div class=\"feature-item\">\n <div *ngFor=\"let kv of (feature | keyvalue)\" class=\"feature-title\">\n {{ kv.value.name }}:\n <ng-container [ngSwitch]=\"kv.value.kind\">\n <img *ngSwitchCase=\"'img'\" [src]=\"kv.value.data\" alt=\"{{ kv.key }}\" style=\"max-width:240px;\" />\n <a *ngSwitchCase=\"'url'\" [href]=\"kv.value.data\" target=\"_blank\" rel=\"noopener noreferrer\">\n {{ kv.key }}\n <mat-icon class=\"link-icon\">open_in_new</mat-icon>\n </a>\n <span *ngSwitchDefault class=\"secondary-item\">{{ kv.value.data }}</span>\n </ng-container>\n </div>\n </div>\n }\n </div>\n }\n </div>\n </mat-option>\n </div>\n }\n @if (!collapsed && activeMode === \"show-info\") {\n <selected-feature-info class=\"info-search-panel\"></selected-feature-info>\n }\n @if (!collapsed && (activeMode === \"search-point\" || activeMode === \"search-polygon\") && geometrySearchResult.length > 0) {\n <div class=\"geometry-search-panel\">\n <mat-option *ngFor=\"let result of geometrySearchResult\" [value]=\"result\" class=\"search-result-option\">\n <span class=\"result-title\">\n {{ result.title }} ({{result.items.length}} af {{ result.total }})\n <mat-icon (click)=\"deleteAllGeometrySearchItem()\" class=\"delete-all-icon\" matTooltip=\"Ryd\">delete</mat-icon>\n </span>\n <div (click)=\"highlight(item.wkt, $event)\" *ngFor=\"let item of result.items\" class=\"geometry-search-result-item\">\n <div class=\"item-left\">\n <span class=\"item-header\"> {{item.header}} </span> \n </div>\n <div class=\"item-right\">\n @if (item.url) {\n <mat-icon \n class=\"search-item-external\"\n matTooltip=\"\u00C5bn i ny tab\"\n [matTooltipShowDelay]=\"200\"\n [matTooltipHideDelay]=\"300\" \n (click)=\"openUrl(item.url, $event)\"\n matTooltipPosition=\"above\"\n >info</mat-icon>\n }\n <mat-icon (click)=\"deleteGeometrySearchItem(result, item.id, $event)\" >delete</mat-icon>\n </div>\n </div>\n </mat-option>\n </div>\n }\n</div>\n", styles: [".toolbox-wrapper{position:absolute;top:0!important;left:0!important;margin:0!important;z-index:10;max-width:95vw;box-shadow:0 2px 10px #0000001a;border-radius:5px;transition:width .3s ease,max-width .3s ease}.toolbox-wrapper.cdk-drag-dragging{opacity:.8;z-index:1001}.search-item-external{cursor:pointer}.drag-handle-toolbox mat-icon{font-size:18px}.drag-handle-toolbox mat-icon:first-child{display:flex;align-items:center;justify-content:center}.drag-handle-toolbox .icon-left{cursor:default!important}.right-icons{display:flex;align-items:center;gap:6px}.toggle-icon{cursor:pointer!important;transition:all .2s ease;-webkit-user-select:none;user-select:none;font-size:18px!important;display:flex;align-items:center;justify-content:center;flex-shrink:0}.toggle-icon:hover{color:#d3d3d3}:host{position:relative;display:flex;justify-content:center}:host.expanded{width:auto;min-width:320px;padding:12px}.toolbox-container{display:flex;flex-direction:column;align-items:center;width:100%;min-width:32px;transition:all .3s ease;cursor:default;border-radius:0 0 5px 5px}.toolbox-content{display:flex;flex-direction:column;width:100%;gap:3px;animation:slideDown .3s cubic-bezier(.4,0,.2,1)}.all-tools-container{display:flex;flex-direction:row;align-items:center;flex-wrap:nowrap;width:100%;justify-content:flex-start;overflow-x:hidden;padding:2px 8px}.all-tools-container::-webkit-scrollbar{height:4px}.all-tools-container::-webkit-scrollbar-thumb{background:#ccc;border-radius:2px}.main-tools{display:flex;flex-direction:row;align-items:center;flex-wrap:nowrap}.main-tools .snap-toggle{display:flex;align-items:center;gap:5px;color:#fff;font-size:12px;font-weight:500;cursor:pointer;-webkit-user-select:none;user-select:none}.main-tools .snap-toggle input[type=checkbox]{appearance:none;width:18px;height:18px;border:1.5px solid rgba(255,255,255,.6);border-radius:3px;background:transparent;cursor:pointer;position:relative;flex-shrink:0}.main-tools .snap-toggle input[type=checkbox]:checked{background:#f7b528;border-color:#f7b528}.main-tools .snap-toggle input[type=checkbox]:checked:after{content:\"\";position:absolute;left:4px;top:0;width:5px;height:9px;border:2px solid #fff;border-top:none;border-left:none;transform:rotate(45deg)}.geometry-tools{display:flex;flex-direction:row;align-items:center;flex-wrap:nowrap}.measurement-print-tools{display:flex;flex-direction:row;align-items:center;flex-wrap:nowrap;background:none;border-radius:8px;padding:3px 0}.measurement-tools,.print-tools{display:flex;flex-direction:row;align-items:center;flex-wrap:nowrap}.measurement-tools .compact-icon,.print-tools .compact-icon{transition:all .3s cubic-bezier(.4,0,.2,1)}.print-tools .compact-icon{background:none;color:#fff}.print-tools .compact-icon.active{background:#f7b528!important;border-color:transparent}.print-tools .compact-icon.active:hover{background:#ffffff1a}.print-tools .compact-icon:hover:not(.active){box-shadow:0 4px 12px #0000004d;opacity:.9}.tool-separator{width:1px;height:24px;background:linear-gradient(to bottom,transparent,rgba(255,255,255,.3),transparent)}.tool-separator.print-separator{height:28px;background:linear-gradient(to bottom,transparent,rgba(255,255,255,.5),transparent)}.compact-icon{cursor:pointer;color:#fff;transition:all .3s cubic-bezier(.4,0,.2,1);width:26px;height:26px;display:flex;align-items:center;justify-content:center;border-radius:6px;flex-shrink:0}.compact-icon.active{color:#fff;background:#f7b528!important;border-color:transparent;box-shadow:0 8px 25px #667eea4d}.compact-icon.active:hover{box-shadow:0 12px 35px #667eea66}.compact-icon:hover:not(.active){color:#fff;box-shadow:0 4px 12px #0003}.compact-icon.custom-image-icon{padding:2px;background:none;border:none}.compact-icon.custom-image-icon img{width:100%;height:100%;object-fit:contain;transition:filter .2s ease,transform .2s ease}.compact-icon.custom-image-icon.active{background:#ffffff1a;border-color:none;box-shadow:none}.compact-icon.custom-image-icon.active img{filter:brightness(0) invert(1)}.compact-icon.custom-image-icon.active:hover{box-shadow:0 12px 35px #667eea66}.compact-icon.custom-image-icon:hover:not(.active){box-shadow:0 4px 12px #0003}.compact-icon.custom-image-icon:hover:not(.active) img{filter:brightness(0) invert(.8)}.search-point-polygon-selector{width:170px;margin-right:auto;padding:6px}.search-point-polygon-selector ::ng-deep .mat-mdc-select{font-size:14px;line-height:1.4;border-radius:5px}.search-point-polygon-selector ::ng-deep .mat-mdc-select-trigger{height:32px;min-height:32px;padding:0 10px;border:none;border-radius:6px;background:#6d6f73;transition:all .2s ease}.search-point-polygon-selector ::ng-deep .mat-mdc-select-trigger:hover{background:#6d6f73}.search-point-polygon-selector ::ng-deep .mat-mdc-select-value{font-size:14px;font-weight:500;color:#fff}.search-point-polygon-selector ::ng-deep .mat-mdc-select-arrow-wrapper{height:16px}.search-point-polygon-selector ::ng-deep .mat-mdc-form-field-infix{min-height:32px;padding:6px 0}.search-point-polygon-selector ::ng-deep .mat-mdc-form-field-subscript-wrapper{display:none}.geometry-selector{width:34%;margin-left:15em;padding:6px}.geometry-selector ::ng-deep .mat-mdc-select{font-size:14px;line-height:1.4;border-radius:5px}.geometry-selector ::ng-deep .mat-mdc-select-trigger{height:32px;min-height:32px;padding:0 10px;border:none;border-radius:6px;background:#6d6f73;transition:all .2s ease}.geometry-selector ::ng-deep .mat-mdc-select-trigger:hover{background:#6d6f73}.geometry-selector ::ng-deep .mat-mdc-select-value{font-size:14px;font-weight:500;color:#fff}.geometry-selector ::ng-deep .mat-mdc-select-arrow-wrapper{height:16px}.geometry-selector ::ng-deep .mat-mdc-form-field-infix{min-height:32px;padding:6px 0}.geometry-selector ::ng-deep .mat-mdc-form-field-subscript-wrapper{display:none}::ng-deep .mat-mdc-select-panel{min-width:fit-content!important;max-width:320px!important;background:#4c4d51!important;border:none!important;border-radius:8px!important;box-shadow:0 8px 24px #0000001f,0 2px 6px #00000014!important;margin-top:6px!important;padding:4px 0!important}::ng-deep .mat-mdc-select-panel .mat-mdc-option{font-size:14px!important;min-height:30px!important;padding:0 14px!important;transition:all .15s ease!important}::ng-deep .mat-mdc-select-panel .mat-mdc-option:hover:not(.mat-mdc-option-disabled){background:#444849!important}::ng-deep .mat-mdc-select-panel .mat-mdc-option.mat-active{background:color-mix(in srgb,#000 60%,transparent)!important;color:#fff!important}::ng-deep .mat-mdc-select-panel .mat-mdc-option .mdc-list-item__primary-text{font-weight:500!important;color:#fff!important}::ng-deep .cdk-overlay-pane{z-index:1001}::ng-deep .cdk-overlay-backdrop{z-index:1000}.wkt-section{display:flex;flex-direction:column;gap:8px;border-top:1px solid rgba(255,255,255,.1);animation:fadeIn .2s ease;padding:10px 8px}.wkt-actions{display:flex;gap:6px;justify-content:space-between}.compact-button{padding:6px 10px;border:none;border-radius:5px;background:#6d6f73;color:#fff;font-size:12px;font-weight:600;cursor:pointer;transition:all .2s cubic-bezier(.4,0,.2,1);text-transform:uppercase;min-height:32px;display:flex;align-items:center;justify-content:center;flex:1;box-shadow:0 1px 2px #0000000d;font-family:Avenir Next W01,Lato,-apple-system,system-ui,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,sans-serif!important}.compact-button.primary.active{background:#f7b528;box-shadow:0 8px 25px #667eea4d;color:#fff}.compact-button.primary.active:hover{box-shadow:0 12px 35px #667eea66}.compact-button.secondary{background:color-mix(in srgb,#000 20%,transparent);color:#fff}.compact-button.secondary:hover{background:color-mix(in srgb,#5a6268 60%,transparent)}.compact-input{padding:8px 10px;border-radius:5px;font-size:13px;transition:all .2s ease;background:#6d6f73;border:none;color:#fff;font-family:Avenir Next W01,Lato,-apple-system,system-ui,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,sans-serif!important}.compact-input::placeholder{color:#ffffffb3}.compact-input:focus{outline:none;background:#6d6f73;border:1px solid #97989b}.print-config,.print-draw-config{display:flex;align-items:center;gap:8px;padding:5px;background:transparent;border:none;border-radius:8px;animation:slideDown .3s ease}.print-config select,.print-config input,.print-draw-config select,.print-draw-config input{background:#6d6f73;border:none;color:#fff;border-radius:6px;font-size:12px;height:32px;min-height:32px;padding:0 10px}.print-config select:focus,.print-config input:focus,.print-draw-config select:focus,.print-draw-config input:focus{outline:none}.print-config select,.print-draw-config select{cursor:pointer}.print-config option,.print-draw-config option{background:#6d6f73!important;border:none!important}.print-config input,.print-draw-config input{width:60px;text-align:center}.print-config button,.print-draw-config button{background:#6ccb78;color:#fff;border:none;padding:6px 12px;border-radius:4px;font-size:12px;cursor:pointer;transition:all .2s ease}.print-config button:hover,.print-draw-config button:hover{box-shadow:0 4px 12px #10b9814d}.print-config .icon-separator,.print-draw-config .icon-separator{color:#fff}.info-search-panel{position:absolute;right:0;z-index:1000;width:380px;max-height:360px!important;max-width:430px;background:#4c4d51!important;border:1px solid rgba(255,255,255,.07);border-bottom-right-radius:5px;border-bottom-left-radius:5px;box-shadow:0 8px 24px #00000026!important}.geometry-search-panel{position:absolute;right:0;z-index:1000;width:380px;padding:5px}.geometry-search-panel::-webkit-scrollbar{width:12px}.geometry-search-panel::-webkit-scrollbar-track{background:#757474;border-radius:8px}.geometry-search-panel::-webkit-scrollbar-thumb{background:#1a1c1f;border-radius:8px;border:2px solid #2a2c30}.geometry-search-panel::-webkit-scrollbar-thumb:hover{background:#0f1012}.search-result-option{display:block!important;padding:0!important;margin:0!important;background:transparent!important}.search-result-option:last-child{border-bottom:none}.search-result-option .mdc-list-item__primary-text{width:100%!important;margin:0!important;padding:0!important}.result-title{display:flex;align-items:center;justify-content:space-between;width:100%;font-weight:600;color:#bdc1c3cc}.result-title .delete-all-icon{float:none;padding-top:0;font-size:18px;cursor:pointer;color:#bdc1c3cc}.result-title .delete-all-icon:hover{color:#d3d3d3}.search-result-item{display:flex;align-items:center;padding:4px 14px;cursor:pointer;transition:background-color .15s ease;border-radius:5px}.item-left{flex:1;width:100%}.item-header{color:#fff;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;text-overflow:ellipsis}.search-empty-state{padding:32px 16px;text-align:center;color:#757575}.search-empty-state .empty-icon{font-size:40px;width:40px;height:40px;color:#bdbdbd;margin-bottom:12px}.search-empty-state .empty-title{font-size:14px;font-weight:500;margin-bottom:4px}.search-empty-state .empty-subtitle{font-size:12px;color:#9e9e9e}::ng-deep .metadata-panel{margin-top:5px;margin-bottom:5px}::ng-deep .metadata-panel .feature-item{padding:8px 12px;margin:4px 0;background:#ffffff0d;border-radius:5px;transition:all .2s ease}::ng-deep .metadata-panel .feature-item:hover{background:#ffffff1a;box-shadow:0 2px 8px #00000026}::ng-deep .metadata-panel .feature-item:first-child{margin-top:0}::ng-deep .metadata-panel .feature-item:last-child{margin-bottom:0}::ng-deep .metadata-panel .feature-title{color:#bdc1c3cc;font-size:13px;line-height:1.6;display:flex;align-items:center;gap:6px;letter-spacing:.2px}::ng-deep .metadata-panel .feature-title:first-child{margin-top:0}::ng-deep .metadata-panel .feature-title:last-child{margin-bottom:0}::ng-deep .metadata-panel .feature-title img{border-radius:4px;margin-top:4px;box-shadow:0 2px 6px #0003}::ng-deep .metadata-panel .feature-title a{color:#6ccb78;text-decoration:none;display:inline-flex;align-items:center;gap:4px;transition:color .2s ease}::ng-deep .metadata-panel .feature-title a:hover{color:#85d990;text-decoration:underline}::ng-deep .metadata-panel .feature-title a .link-icon{font-size:16px;width:16px;height:16px}::ng-deep .metadata-panel .secondary-item{color:#fff;font-weight:400}::ng-deep .geometry-search-panel{max-height:360px!important;overflow-y:auto!important;max-width:430px;background:#4c4d51!important;border:1px solid rgba(255,255,255,.07);border-bottom-right-radius:5px;border-bottom-left-radius:5px;box-shadow:0 8px 24px #00000026!important}::ng-deep .geometry-search-panel::-webkit-scrollbar{width:4px}::ng-deep .geometry-search-panel::-webkit-scrollbar-track{background:transparent}::ng-deep .geometry-search-panel::-webkit-scrollbar-thumb{background:#ffffff1a;border-radius:10px}::ng-deep .geometry-search-panel::-webkit-scrollbar-thumb:hover{background:#fff3}::ng-deep .geometry-search-panel .buffer-item{display:flex;align-items:center;gap:8px;padding:10px 14px 8px;background:#0003;border-bottom:1px solid rgba(255,255,255,.06)}::ng-deep .geometry-search-panel .buffer-item mat-label{color:#9ca3af;font-size:12px;font-weight:500;letter-spacing:.3px}::ng-deep .geometry-search-panel .buffer-item input{width:52px;margin:0;background:#3a3d42;border:1px solid rgba(255,255,255,.1);border-radius:5px;color:#fff;font-size:12px;padding:4px 8px;text-align:center;outline:none;transition:border-color .15s ease}::ng-deep .geometry-search-panel .buffer-item input:focus{border-color:#f7b528}::ng-deep .geometry-search-panel .result-title{display:flex;align-items:center;justify-content:space-between;font-size:14px;font-weight:600;color:#bdc1c3cc;position:sticky;top:0;z-index:1}::ng-deep .geometry-search-panel .result-title .delete-all-icon{float:none;padding-top:0;font-size:18px;cursor:pointer;color:#bdc1c3cc}::ng-deep .geometry-search-panel .result-title .delete-all-icon:hover{color:#d3d3d3}::ng-deep .geometry-search-panel .search-result-item{display:flex;flex-direction:column;gap:5px;padding:8px 14px;cursor:pointer;border-left:2px solid transparent;transition:background .12s ease,border-color .12s ease}::ng-deep .geometry-search-panel .search-result-item+.search-result-item{border-top:1px solid rgba(255,255,255,.04)}::ng-deep .geometry-search-panel .search-result-item:hover{background:#ffffff09}::ng-deep .geometry-search-panel .search-result-item:hover .item-header{color:#fff}::ng-deep .geometry-search-panel .search-result-item:last-child{border-radius:0 0 10px 10px}::ng-deep .geometry-search-panel .item-header{color:#d1d5db;font-size:14px;font-weight:500;line-height:1.4;display:block;word-wrap:break-word;overflow-wrap:break-word;transition:color .12s ease}::ng-deep .geometry-search-panel .item-right{display:flex;align-items:center;gap:3px;flex-wrap:wrap;width:100%}::ng-deep .geometry-search-panel .item-right .custom-image-icon{width:26px;height:26px;flex-shrink:0;display:flex;align-items:center;justify-content:center;background:#fff!important;border:1px solid rgba(255,255,255,0);border-radius:5px;transition:background .15s ease,border-color .15s ease,box-shadow .15s ease!important}::ng-deep .geometry-search-panel .item-right .custom-image-icon:hover{background:#ffffff0d!important;box-shadow:0 0 0 1px #f7b5282e}::ng-deep .geometry-search-panel .item-right mat-icon{font-size:18px!important;color:#bdc1c3cc}::ng-deep .geometry-search-panel .item-right mat-icon:hover{color:#d3d3d3!important}::ng-deep .geometry-search-panel .mat-mdc-option{min-height:30px!important;border-radius:5px!important;transition:all .2s cubic-bezier(.4,0,.2,1);position:relative;overflow:auto}::ng-deep .geometry-search-panel .mat-mdc-option .mdc-list-item__primary-text{color:#fff}::ng-deep .geometry-search-panel mat-label{color:#fff}::ng-deep .mat-mdc-simple-snack-bar{background-color:#fff!important}@media (max-width: 768px){.toolbox-wrapper{left:.5em;top:8em;max-width:calc(100vw - 2.5em)}.drag-handle-toolbox{padding:3px 6px;gap:6px}.drag-handle-toolbox mat-icon{font-size:16px;width:16px;height:16px}.toggle-icon{font-size:16px!important;width:16px!important;height:16px!important}.toolbox-container{min-width:28px;max-width:calc(100vw - 3em)}:host{padding:8px;min-width:32px}:host.expanded{min-width:280px;padding:10px}.all-tools-container{flex-wrap:wrap;gap:6px;max-height:50vh;overflow-y:auto;padding:0;-ms-overflow-style:none;scrollbar-width:none}.all-tools-container::-webkit-scrollbar{display:none}.main-tools,.geometry-tools,.measurement-print-tools,.print-tools{display:flex;flex-wrap:wrap;justify-content:center;gap:4px}.compact-icon{width:28px;height:28px;flex-shrink:0}.measurement-print-tools{padding:3px 0}.geometry-selector{width:30%;margin-bottom:8px}.geometry-selector ::ng-deep .mat-mdc-select-trigger{height:28px;min-height:28px;padding:0 8px;font-size:12px}.geometry-selector ::ng-deep .mat-mdc-select-value{font-size:12px}::ng-deep .mat-mdc-select-panel{max-width:calc(100vw - 2em)!important}::ng-deep .mat-mdc-select-panel .mat-mdc-option{font-size:13px!important;min-height:32px!important;padding:6px 12px!important}.print-config,.print-draw-config{flex-direction:column;align-items:stretch;gap:6px}.print-config select,.print-config input,.print-draw-config select,.print-draw-config input{font-size:11px;padding:4px 8px;height:28px;min-height:28px}.print-config input,.print-draw-config input{width:50px}.print-config button,.print-draw-config button{padding:4px 8px;font-size:11px;height:28px}.wkt-section .compact-input{font-size:12px;padding:6px 8px}.wkt-section .compact-button{font-size:11px;padding:5px 8px;min-height:28px}::ng-deep .mat-mdc-slide-toggle .mdc-label{font-size:11px!important}.geometry-search-panel{width:calc(100vw - 40px);max-width:400px;left:50%;max-height:70vh}.search-result-item{padding:8px 12px}.item-header{font-size:13px}.result-title{padding:10px 12px;font-size:13px}}.geometry-search-result-item{display:flex;padding:4px 0;cursor:pointer;transition:background-color .15s ease;border-radius:5px}.geometry-search-result-item .item-header{width:260px}.geometry-search-result-item .item-right{display:flex;flex-direction:row;align-items:center;justify-content:flex-end}@media (max-width: 480px){.toolbox-wrapper{left:.25em;top:6em;transform-origin:left top;max-width:calc(100vw - .5em)}.drag-handle-toolbox{padding:2px 4px;gap:4px}.drag-handle-toolbox mat-icon{font-size:14px;width:14px;height:14px}.toggle-icon{font-size:14px!important;width:14px!important;height:14px!important}.toolbox-container{padding:2px;min-width:24px}.all-tools-container{flex-direction:row;align-items:center;max-height:60vh}.main-tools,.geometry-tools{gap:3px;flex-wrap:wrap;justify-content:center}.measurement-print-tools{gap:3px;flex-wrap:wrap;padding:2px 4px;width:100%;justify-content:center}.measurement-tools,.print-tools{gap:3px}.compact-icon{width:26px;height:26px}.tool-separator{display:none}.geometry-selector ::ng-deep .mat-mdc-select-trigger{height:26px;min-height:26px;padding:0 6px;font-size:11px}.geometry-selector ::ng-deep .mat-mdc-select-value{font-size:11px}.compact-button{font-size:10px;padding:4px 6px;min-height:26px}.compact-input{font-size:11px;padding:4px 6px}.print-config,.print-draw-config{gap:4px;padding:6px}.print-config select,.print-config input,.print-draw-config select,.print-draw-config input{font-size:10px;height:26px;min-height:26px;padding:2px 6px}.print-config input,.print-draw-config input{width:45px}.print-config button,.print-draw-config button{flex:1;min-width:60px;font-size:10px;padding:3px 6px;height:26px}.print-config .icon-separator,.print-draw-config .icon-separator{font-size:10px}.wkt-section{gap:6px;padding-top:8px}::ng-deep .mat-mdc-slide-toggle .mdc-label{font-size:10px!important}::ng-deep .mat-mdc-select-panel{max-width:calc(100vw - 1em)!important}::ng-deep .mat-mdc-select-panel .mat-mdc-option{font-size:12px!important;min-height:28px!important;padding:4px 10px!important}.geometry-search-panel{width:calc(100vw - 32px);max-height:60vh}.search-result-item{padding:6px 10px}.item-header{font-size:12px;-webkit-line-clamp:1}}\n"], dependencies: [{ kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i1$3.NgSelectOption, selector: "option", inputs: ["ngValue", "value"] }, { kind: "directive", type: i1$3.ɵNgSelectMultipleOption, selector: "option", inputs: ["ngValue", "value"] }, { kind: "directive", type: i1$3.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i1$3.NumberValueAccessor, selector: "input[type=number][formControlName],input[type=number][formControl],input[type=number][ngModel]" }, { kind: "directive", type: i1$3.SelectControlValueAccessor, selector: "select:not([multiple])[formControlName],select:not([multiple])[formControl],select:not([multiple])[ngModel]", inputs: ["compareWith"] }, { kind: "directive", type: i1$3.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1$3.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1$2.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1$2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1$2.NgSwitch, selector: "[ngSwitch]", inputs: ["ngSwitch"] }, { kind: "directive", type: i1$2.NgSwitchCase, selector: "[ngSwitchCase]", inputs: ["ngSwitchCase"] }, { kind: "directive", type: i1$2.NgSwitchDefault, selector: "[ngSwitchDefault]" }, { kind: "pipe", type: i1$2.KeyValuePipe, name: "keyvalue" }, { kind: "ngmodule", type: MatIconModule }, { kind: "component", type: i2.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "ngmodule", type: MatOptionModule }, { kind: "component", type: i4.MatOption, selector: "mat-option", inputs: ["value", "id", "disabled"], outputs: ["onSelectionChange"], exportAs: ["matOption"] }, { kind: "ngmodule", type: MatSelectModule }, { kind: "directive", type: i1$1.MatLabel, selector: "mat-label" }, { kind: "component", type: i6$1.MatSelect, selector: "mat-select", inputs: ["aria-describedby", "panelClass", "disabled", "disableRipple", "tabIndex", "hideSingleSelectionIndicator", "placeholder", "required", "multiple", "disableOptionCentering", "compareWith", "value", "aria-label", "aria-labelledby", "errorStateMatcher", "typeaheadDebounceInterval", "sortComparator", "id", "panelWidth", "canSelectNullableOptions"], outputs: ["openedChange", "opened", "closed", "selectionChange", "valueChange"], exportAs: ["matSelect"] }, { kind: "ngmodule", type: DragDropModule }, { kind: "directive", type: i5.CdkDrag, selector: "[cdkDrag]", inputs: ["cdkDragData", "cdkDragLockAxis", "cdkDragRootElement", "cdkDragBoundary", "cdkDragStartDelay", "cdkDragFreeDragPosition", "cdkDragDisabled", "cdkDragConstrainPosition", "cdkDragPreviewClass", "cdkDragPreviewContainer", "cdkDragScale"], outputs: ["cdkDragStarted", "cdkDragReleased", "cdkDragEnded", "cdkDragEntered", "cdkDragExited", "cdkDragDropped", "cdkDragMoved"], exportAs: ["cdkDrag"] }, { kind: "directive", type: i5.CdkDragHandle, selector: "[cdkDragHandle]", inputs: ["cdkDragHandleDisabled"] }, { kind: "ngmodule", type: MatTooltipModule }, { kind: "directive", type: i8.MatTooltip, selector: "[matTooltip]", inputs: ["matTooltipPosition", "matTooltipPositionAtOrigin", "matTooltipDisabled", "matTooltipShowDelay", "matTooltipHideDelay", "matTooltipTouchGestures", "matTooltip", "matTooltipClass"], exportAs: ["matTooltip"] }, { kind: "component", type: SelectedFeatureInfoComponent, selector: "selected-feature-info" }] });
4584
4593
  }
4585
4594
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.15", ngImport: i0, type: ToolboxComponent, decorators: [{
4586
4595
  type: Component,
4587
- args: [{ selector: 'map-toolbox', imports: [FormsModule, CommonModule, MatIconModule, MatOptionModule, MatSelectModule, DragDropModule, MatTooltipModule, SelectedFeatureInfoComponent], template: "<div class=\"toolbox-wrapper global-wrapper-container\" \n cdkDrag \n cdkDragBoundary=\".map-container\"\n [cdkDragFreeDragPosition]=\"dragPosition\"\n (cdkDragEnded)=\"onDragEnded($event)\"\n [class.collapsed]=\"collapsed\">\n <div class=\"drag-handle-toolbox\" cdkDragHandle>\n <mat-icon \n class=\"icon-left\" \n matTooltip=\"V\u00E6rkt\u00F8jskasse\" \n [matTooltipShowDelay]=\"500\"\n [matTooltipHideDelay]=\"100\" \n matTooltipPosition=\"above\">\n handyman\n </mat-icon> \n <div class=\"right-icons\"> \n <mat-icon class=\"toggle-icon\" (click)=\"toggleCollapsed($event)\">\n {{ collapsed ? 'flip_to_front' : 'remove' }}\n </mat-icon>\n </div>\n </div>\n \n <div class=\"toolbox-container\">\n @if (!collapsed) {\n <div class=\"toolbox-content\">\n <div class=\"all-tools-container\">\n <div class=\"main-tools\">\n @if (!settings?.undoDisabled) {\n <img \n [src]=\"undoIconBase64\" \n class=\"compact-icon custom-image-icon\"\n (click)=\"undo()\" \n matTooltip=\"Fortryd\" \n [matTooltipShowDelay]=\"200\"\n [matTooltipHideDelay]=\"300\" \n matTooltipClass=\"custom-tooltip\"\n matTooltipPosition=\"below\"\n alt=\"Undo\">\n\n <img \n [src]=\"redoIconBase64\" \n class=\"compact-icon custom-image-icon\"\n (click)=\"redo()\" \n matTooltip=\"Gendan\" \n [matTooltipShowDelay]=\"200\"\n [matTooltipHideDelay]=\"300\" \n matTooltipClass=\"custom-tooltip\"\n matTooltipPosition=\"below\"\n alt=\"Redo\">\n }\n @if (settings.externalHelpUrl) {\n <img \n [src]=\"infoBase64\" \n class=\"compact-icon custom-image-icon\"\n (click)=\"openUrl(settings.externalHelpUrl, $event)\"\n matTooltip=\"Vejledning til anvendelse af systemet\" \n [matTooltipShowDelay]=\"200\"\n [matTooltipHideDelay]=\"300\" \n matTooltipClass=\"custom-tooltip\"\n matTooltipPosition=\"below\"\n alt=\"Vejledning til anvendelse af systemet\">\n } \n @if (showInfo){ <img \n [src]=\"showInfoObjBase64\" \n class=\"compact-icon custom-image-icon\"\n (click)=\"toggleShowInfo()\" \n [class.active]=\"activeMode === 'show-info'\"\n matTooltip=\"V\u00E6lg og vis objektdata i tr\u00E6struktur\" \n [matTooltipShowDelay]=\"200\"\n [matTooltipHideDelay]=\"300\" \n matTooltipClass=\"custom-tooltip\"\n matTooltipPosition=\"below\"\n alt=\"V\u00E6lg og vis objektdata i tr\u00E6 struktur\">\n }\n @if (showDownloadAddresses) {\n <img \n [src]=\"downloadFileBase64\" \n class=\"compact-icon custom-image-icon\"\n (click)=\"startDownloadAddresses()\" \n [class.active]=\"activeMode === 'download-addresses'\"\n matTooltip=\"Download adresser\" \n [matTooltipShowDelay]=\"200\"\n [matTooltipHideDelay]=\"300\" \n matTooltipClass=\"custom-tooltip\"\n matTooltipPosition=\"below\"\n alt=\"Download adresser\">\n }\n @if (showDownloadCadastres) {\n <img \n [src]=\"downloadMatriklerBase64\" \n class=\"compact-icon custom-image-icon\"\n (click)=\"startDownloadCasdatres()\" \n [class.active]=\"activeMode === 'download-cadastres'\"\n matTooltip=\"Download matrikler\" \n [matTooltipShowDelay]=\"200\"\n [matTooltipHideDelay]=\"300\" \n matTooltipClass=\"custom-tooltip\"\n matTooltipPosition=\"below\"\n alt=\"Download matrikler\">\n }\n @if (showChooseLocations) {\n <img \n [src]=\"splitIconBase64\" \n class=\"compact-icon custom-image-icon\"\n (click)=\"togglePointPolygonSearch()\"\n [class.active]=\"activeMode === 'search-point' || activeMode === 'search-polygon'\"\n matTooltip=\"V\u00E6lg Lokaliteter ved udpegning i kortet\" \n [matTooltipShowDelay]=\"200\"\n [matTooltipHideDelay]=\"300\" \n matTooltipClass=\"custom-tooltip\"\n matTooltipPosition=\"below\"\n alt=\"V\u00E6lg Lokaliteter ved udpegning i kortet\">\n }\n @if (showDocumentSearch) {\n <img \n [src]=\"documentSearchBase64\" \n class=\"compact-icon custom-image-icon\"\n (click)=\"toggleDocumentPointSearch()\"\n [class.active]=\"activeMode === 'document-search-by-point'\"\n matTooltip=\"Dokument fra punkt\" \n [matTooltipShowDelay]=\"200\"\n [matTooltipHideDelay]=\"300\" \n matTooltipClass=\"custom-tooltip\"\n matTooltipPosition=\"below\"\n alt=\"Dokument fra punkt\">\n\n <img \n [src]=\"documentSearchBase64\" \n class=\"compact-icon custom-image-icon\"\n (click)=\"toggleDocumentPolygonSearch()\"\n [class.active]=\"activeMode === 'document-search-by-polygon'\"\n matTooltip=\"Dokumenter fra polygon\" \n [matTooltipShowDelay]=\"200\"\n [matTooltipHideDelay]=\"300\" \n matTooltipClass=\"custom-tooltip\"\n matTooltipPosition=\"below\"\n alt=\"Dokumenter fra polygon\">\n }\n @if (settings.cowiUrlTemplate) {\n <img \n [src]=\"openCowiPageBase64\" \n class=\"compact-icon custom-image-icon\"\n [class.active]=\"activeMode === 'cowi'\"\n (click)=\"toggleCowiPage()\" \n matTooltip=\"COWI\u00B4s Gadefoto\" \n [matTooltipShowDelay]=\"200\"\n [matTooltipHideDelay]=\"300\" \n matTooltipClass=\"custom-tooltip\"\n matTooltipPosition=\"below\"\n alt=\"COWI\u00B4s Gadefoto\">\n }\n @if (settings.skraaFotoUrlTemplate) {\n <img \n [src]=\"skrafotoBase64\" \n class=\"compact-icon custom-image-icon\"\n [class.active]=\"activeMode === 'skrafoto'\"\n (click)=\"toggleSkraafotoPage()\" \n matTooltip=\"Opslag p\u00E5 Skr\u00E5fotos\" \n [matTooltipShowDelay]=\"200\"\n [matTooltipHideDelay]=\"300\" \n matTooltipClass=\"custom-tooltip\"\n matTooltipPosition=\"below\"\n alt=\"Skr\u00E5foto\">\n }\n @if (settings.googleStreetUrlTemplate) {\n <img \n [src]=\"streetViewBase64\" \n class=\"compact-icon custom-image-icon\"\n [class.active]=\"activeMode === 'streetview'\"\n (click)=\"toggleGoogleStreetviewPage()\" \n matTooltip=\"Google Streetview\" \n [matTooltipShowDelay]=\"200\"\n [matTooltipHideDelay]=\"300\" \n matTooltipClass=\"custom-tooltip\"\n matTooltipPosition=\"below\"\n alt=\"Google Streetview\">\n }\n @if (showFeatureHighlight) {\n <img \n [src]=\"fremhaevBase64\" \n class=\"compact-icon custom-image-icon\"\n [class.active]=\"activeMode === 'select-highlight'\"\n (click)=\"startSelectFeatureHighlight()\" \n matTooltip=\"Fremh\u00E6v aktivt objekt i listen\" \n [matTooltipShowDelay]=\"200\"\n [matTooltipHideDelay]=\"300\" \n matTooltipClass=\"custom-tooltip\"\n matTooltipPosition=\"below\"\n alt=\"Fremh\u00E6v\">\n }\n @if (activeMode === 'draw' || activeMode === 'edit' || activeMode === 'edit-remove' || activeMode === 'search-feature' ||\n activeMode === 'clip-hole' || activeMode === 'split' || activeMode === 'merge-features') {\n <label class=\"snap-toggle\">\n <input type=\"checkbox\" [checked]=\"snap\" (change)=\"onSnapChange($event)\">\n Snap\n </label> \n } \n @if (settings.editEnabled) {\n <img \n [src]=\"editBase64\" \n [class.active]=\"activeMode === 'edit'\" \n class=\"compact-icon custom-image-icon\"\n (click)=\"startEdit()\" \n matTooltip=\"Inds\u00E6t eller flyt punkter i flade/linje\" \n [matTooltipShowDelay]=\"200\"\n [matTooltipHideDelay]=\"300\" \n matTooltipClass=\"custom-tooltip\"\n matTooltipPosition=\"below\"\n alt=\"Inds\u00E6t eller flyt punkter i flade/linje\">\n <img \n [src]=\"deleteIconBase64\" \n [class.active]=\"activeMode === 'edit-remove'\" \n class=\"compact-icon custom-image-icon\"\n (click)=\"startEditRemovePoints()\" \n matTooltip=\"Slet punkter i flade/linje\" \n [matTooltipShowDelay]=\"200\"\n [matTooltipHideDelay]=\"300\" \n matTooltipClass=\"custom-tooltip\"\n matTooltipPosition=\"below\"\n alt=\"Slet punkter i flade/linje\">\n }\n @if (settings.cutHoleEnabled) {\n <img \n [src]=\"clipHoleBase64\" \n class=\"compact-icon custom-image-icon\"\n [class.active]=\"activeMode === 'clip-hole'\" \n (click)=\"clipHole()\" \n matTooltip=\"Klip hul i flade\" \n [matTooltipShowDelay]=\"200\"\n [matTooltipHideDelay]=\"300\" \n matTooltipClass=\"custom-tooltip\"\n matTooltipPosition=\"below\"\n alt=\"Klip hul i flade\">\n }\n @if (settings.splitEnabled) {\n <img \n [src]=\"splitBase64\" \n class=\"compact-icon custom-image-icon\"\n [class.active]=\"activeMode === 'split'\"\n (click)=\"split()\" \n matTooltip=\"Del et element\" \n [matTooltipShowDelay]=\"200\"\n [matTooltipHideDelay]=\"300\" \n matTooltipClass=\"custom-tooltip\"\n matTooltipPosition=\"below\"\n alt=\"Del et element\">\n }\n @if (settings.changeTypeEnabled) {\n <img \n [src]=\"changeTypeBase64\" \n class=\"compact-icon custom-image-icon\" \n [class.active]=\"activeMode === 'change-type'\" \n (click)=\"startChangeType()\"\n [matTooltipShowDelay]=\"200\"\n matTooltipClass=\"custom-tooltip\"\n [matTooltipHideDelay]=\"300\" \n matTooltip=\"Skift status p\u00E5 element\" \n alt=\"Skift status p\u00E5 element\" \n matTooltipPosition=\"below\">\n }\n @if (settings.mergeEnabled) {\n <img \n [src]=\"mergeBase64\"\n class=\"compact-icon custom-image-icon\" \n (click)=\"startMergeFeatures()\" \n matTooltipPosition=\"below\"\n [matTooltipShowDelay]=\"200\"\n matTooltipClass=\"custom-tooltip\"\n [matTooltipHideDelay]=\"300\" \n matTooltip=\"Saml flader\" \n [class.active]=\"activeMode === 'merge-features'\">\n }\n @if (settings.centerPoint) {\n <img \n [src]=\"setCenterBase64\" \n [class.active]=\"activeMode === 'center-point'\" \n class=\"compact-icon custom-image-icon\"\n (click)=\"setCenterPoint()\" \n matTooltip=\"S\u00E6t centerpunkt\" \n [matTooltipShowDelay]=\"200\"\n [matTooltipHideDelay]=\"300\" \n matTooltipClass=\"custom-tooltip\"\n matTooltipPosition=\"below\"\n alt=\"S\u00E6t centerpunkt\">\n }\n </div>\n <div class=\"geometry-tools\">\n @if (showPickAndShowInList) {\n <img \n [src]=\"sogPolygonBase64\" \n [class.active]=\"activeMode === 'search-feature'\"\n class=\"compact-icon custom-image-icon\"\n (click)=\"toggleFeatureSearch()\" \n matTooltip=\"V\u00E6lg og vis emner i listen\" \n [matTooltipShowDelay]=\"200\"\n [matTooltipHideDelay]=\"300\" \n matTooltipClass=\"custom-tooltip\"\n matTooltipPosition=\"below\"\n alt=\"V\u00E6lg og vis emner i listen\">\n @if (showDrawElement) {\n <img \n [src]=\"drawBase64\" \n [class.active]=\"activeMode === 'draw'\"\n class=\"compact-icon custom-image-icon\"\n (click)=\"startDraw()\"\n matTooltip=\"Tegn element\" \n [matTooltipShowDelay]=\"200\"\n [matTooltipHideDelay]=\"300\" \n matTooltipClass=\"custom-tooltip\"\n matTooltipPosition=\"below\"\n alt=\"Tegn element\">\n }\n @if (settings.WKTInputEnabled) {\n <img \n [src]=\"wktIconBase64\" \n class=\"compact-icon custom-image-icon\"\n [class.active]=\"activeMode === 'wkt-input'\"\n (click)=\"activateShowInputWKT()\" \n matTooltip=\"Inds\u00E6t WKT streng for at importere elementet\" \n [matTooltipShowDelay]=\"200\"\n [matTooltipHideDelay]=\"300\" \n matTooltipClass=\"custom-tooltip\"\n matTooltipPosition=\"below\"\n alt=\"Inds\u00E6t WKT streng for at importere elementet\">\n }\n }\n </div>\n <div class=\"tool-separator\" *ngIf=\"deleteEnabled || showMeasureDistance || showMeasureArea || profile.showPrint\"></div>\n <div class=\"measurement-print-tools\">\n <div class=\"measurement-tools\">\n @if (deleteEnabled) {\n <img \n [src]=\"deleteIconBase64\" \n class=\"compact-icon custom-image-icon\"\n [class.active]=\"activeMode === 'delete'\"\n (click)=\"startDelete()\" \n matTooltip=\"Slet element\" \n [matTooltipShowDelay]=\"200\"\n [matTooltipHideDelay]=\"300\" \n matTooltipClass=\"custom-tooltip\"\n matTooltipPosition=\"below\"\n alt=\"Slet element\">\n }\n @if (showMeasureArea || showMeasureDistance) {\n <img \n [src]=\"measureDistanceIconBase64\" \n class=\"compact-icon custom-image-icon\"\n (click)=\"toggleMeasure()\"\n [class.active]=\"activeMode === 'measure-distance' || activeMode === 'measure-area'\"\n matTooltip=\"M\u00E5l afstand / areal\" \n [matTooltipShowDelay]=\"200\"\n [matTooltipHideDelay]=\"300\" \n matTooltipClass=\"custom-tooltip\"\n matTooltipPosition=\"below\"\n alt=\"M\u00E5l\">\n }\n </div>\n @if (profile.showPrint) {\n <div class=\"tool-separator print-separator\"></div>\n <div class=\"print-tools\">\n <img \n [src]=\"printBase64\" \n class=\"compact-icon custom-image-icon\"\n [class.active]=\"active === 'Print'\"\n (click)=\"startPrintMode()\" \n matTooltip=\"Sk\u00E6rmprint af kortet\" \n [matTooltipShowDelay]=\"200\"\n [matTooltipHideDelay]=\"300\" \n matTooltipClass=\"custom-tooltip\"\n matTooltipPosition=\"below\"\n alt=\"Sk\u00E6rmprint af kortet\">\n <img \n [src]=\"drawPrintBase64\" \n class=\"compact-icon custom-image-icon\"\n [class.active]=\"active === 'PrintDraw'\"\n (click)=\"startDrawMode()\" \n matTooltip=\"Tegnev\u00E6rkt\u00F8j til print\" \n [matTooltipShowDelay]=\"200\"\n [matTooltipHideDelay]=\"300\" \n matTooltipClass=\"custom-tooltip\"\n matTooltipPosition=\"below\"\n alt=\"Tegnev\u00E6rkt\u00F8j til print\">\n </div>\n }\n </div>\n </div>\n @if (activeMode === 'draw' || activeMode === 'search-feature' || activeMode === 'wkt-input'\n || activeMode === 'change-type' || activeMode === 'merge-features') {\n <mat-select class=\"geometry-selector\" (selectionChange)=\"drawItemChanged($event)\" [(ngModel)]=\"selectedDrawItem\"> \n @for (drawItem of drawItems; track drawItem) {\n @if (activeMode !== 'merge-features' || drawItem.geomType === 'Polygon') {\n <mat-option [value]=\"drawItem\">{{drawItem.name}} <img *ngIf=\"drawItem.iconUrl\" class=\"compact-icon custom-image-icon\" [src]=\"drawItem.iconUrl\"></mat-option>\n }\n }\n </mat-select> \n }\n @if (showInputWKT && activeMode === 'wkt-input') {\n <div class=\"wkt-section\">\n <input matInput class=\"compact-input\" placeholder=\"Inds\u00E6t WKT-streng\" [(ngModel)]=\"WKTString\">\n <div class=\"wkt-actions\">\n <button class=\"compact-button primary\" (click)=\"ReadWKT()\">Indl\u00E6s WKT</button>\n <button class=\"compact-button\" (click)=\"cancelWKT()\">Annuller</button>\n </div>\n </div>\n }\n @if (profile.showPrint) {\n @if (active === \"Print\") {\n <div class=\"print-config\">\n <img \n matTooltip=\"Sk\u00E6rmprint af kortet\" \n [matTooltipShowDelay]=\"200\"\n [matTooltipHideDelay]=\"300\" \n [src]=\"printBase64\" \n class=\"compact-icon custom-image-icon\"\n (click)=\"doPrint()\" \n alt=\"Udskriv\"> \n <span class=\"icon-separator\">i</span>\n <select id=\"formatSelector\" [(ngModel)]=\"format\">\n <option value=\"image/png\" selected>.PNG</option>\n <option value=\"image/jpeg\">.JPG</option>\n </select>\n <select id=\"dimensionSelector\" [(ngModel)]=\"dimId\" (change)=\"handleDimensionSelected()\">\n <option value=\"99\" selected></option>\n <option value=\"0\">1920 X 1080</option>\n <option value=\"1\">1680 X 1050</option>\n <option value=\"2\">1280 X 800</option>\n <option value=\"3\">800 X 600</option>\n </select>\n <input type=\"text\" [(ngModel)]=\"mapWidth\"/> \n <span class=\"icon-separator\">x</span>\n <input type=\"text\" [(ngModel)]=\"mapHeight\"/>\n <button (click)=\"setNewMapDimensions()\">V\u00E6lg</button>\n </div>\n }\n @if (active === \"PrintDraw\") {\n <div class=\"print-draw-config\">\n <span class=\"icon-separator\">Label</span>\n <input type=\"text\" [(ngModel)]=\"printDrawLabel\"/>\n <select id=\"drawToolSelector\" [(ngModel)]=\"printDrawTool\" (change)=\"handlePrintDrawToolChanged()\">\n <option value=\"Arrow\" selected>Pil</option>\n <option value=\"Point\">Punkt</option>\n <option value=\"LineString\">Linje</option>\n <option value=\"Polygon\">Polygon</option>\n <option value=\"Circle\">Cirkel</option>\n <option value=\"Square\">Kvadrat</option>\n <option value=\"Rectangle\">Firkant</option>\n </select>\n <button class=\"compact-button\" (click)=\"handleClearPrintDrawFeatures()\">Ryd</button>\n </div>\n }\n }\n </div>\n @if (activeMode === 'search-point' || activeMode === 'search-polygon') {\n <mat-select \n class=\"search-point-polygon-selector\" \n [(ngModel)]=\"selectedSearchMode\"\n (selectionChange)=\"onSearchModeChanged($event)\">\n <mat-option value=\"search-point\">S\u00F8g med punkt</mat-option>\n <mat-option value=\"search-polygon\">S\u00F8g med polygon</mat-option>\n </mat-select>\n }\n \n @if (activeMode === 'measure-distance' || activeMode === 'measure-area') {\n <mat-select \n class=\"geometry-selector\"\n [(ngModel)]=\"selectedMeasureMode\"\n (selectionChange)=\"onMeasureModeChanged($event)\">\n @if (showMeasureDistance){\n <mat-option value=\"measure-distance\">M\u00E5l afstand</mat-option>\n }\n @if (showMeasureArea){\n <mat-option value=\"measure-area\">M\u00E5l areal</mat-option>\n } \n </mat-select>\n }\n }\n </div>\n @if (!collapsed && activeMode === 'search-feature' && filteredResults.length > 0) {\n <div class=\"geometry-search-panel\">\n <div class=\"buffer-item\">\n <mat-label>Buffer</mat-label>\n <input matInput type=\"number\" name=\"buffer\" [(ngModel)]=\"bufferInMeters\">\n <mat-label>m</mat-label>\n </div>\n <mat-option *ngFor=\"let result of filteredResults\" [value]=\"result\" class=\"search-result-option\">\n <span class=\"result-title\">\n {{ result.title }} ({{result.items.length}} af {{ result.total }})\n </span>\n <div (click)=\"highlight(item.wkt, $event)\" *ngFor=\"let item of result.items\" class=\"search-result-item\">\n <div class=\"item-left\">\n <span class=\"item-header\"> {{item.header}} </span> \n </div>\n <div class=\"item-right\">\n <img \n [src]=\"objectSearchCopyIconBase64\" \n class=\"compact-icon custom-image-icon\"\n (click)=\"addToActiveObjectsList(item, $event)\" \n matTooltip=\"Kopier\" \n [matTooltipShowDelay]=\"200\"\n [matTooltipHideDelay]=\"300\" \n matTooltipClass=\"custom-tooltip\"\n matTooltipPosition=\"below\"\n alt=\"Kopier\">\n <img \n [src]=\"deleteIconBase64\" \n class=\"compact-icon custom-image-icon\"\n (click)=\"cutBySearchedObject(item, $event)\" \n matTooltip=\"Fjern\" \n [matTooltipShowDelay]=\"200\"\n [matTooltipHideDelay]=\"300\" \n matTooltipClass=\"custom-tooltip\"\n matTooltipPosition=\"below\"\n alt=\"Fjern\">\n <img \n [src]=\"objectSearchCutIconBase64\" \n class=\"compact-icon custom-image-icon\"\n (click)=\"splitBySearchedObject(item, $event)\" \n matTooltip=\"Opsk\u00E6r\" \n [matTooltipShowDelay]=\"200\"\n [matTooltipHideDelay]=\"300\" \n matTooltipClass=\"custom-tooltip\"\n matTooltipPosition=\"below\"\n alt=\"Opsk\u00E6r\">\n <img \n [src]=\"objectSearchCopyWithBufferIconBase64\" \n class=\"compact-icon custom-image-icon\"\n (click)=\"addToActiveObjectsList(item, $event, true)\" \n matTooltip=\"Kopier med buffer\" \n [matTooltipShowDelay]=\"200\"\n [matTooltipHideDelay]=\"300\" \n matTooltipClass=\"custom-tooltip\"\n matTooltipPosition=\"below\"\n alt=\"Kopier med buffer\">\n <img \n [src]=\"objectSearchZoomIconBase64\" \n class=\"compact-icon custom-image-icon\"\n (click)=\"zoomSearchedObject(item, $event)\" \n matTooltip=\"Zoom\" \n [matTooltipShowDelay]=\"200\"\n [matTooltipHideDelay]=\"300\" \n matTooltipClass=\"custom-tooltip\"\n matTooltipPosition=\"below\"\n alt=\"Zoom\">\n <img \n [src]=\"infoBase64\" \n class=\"compact-icon custom-image-icon\"\n (click)=\"toggleItemInfo(item, $event)\" \n matTooltip=\"Info\" \n [matTooltipShowDelay]=\"200\"\n [matTooltipHideDelay]=\"300\" \n matTooltipClass=\"custom-tooltip\"\n matTooltipPosition=\"below\"\n alt=\"Info\">\n </div> \n @if (item.showMetadata) {\n <div class=\"metadata-panel\">\n @for(feature of item.metadata; track feature) {\n <div class=\"feature-item\">\n <div *ngFor=\"let kv of (feature | keyvalue)\" class=\"feature-title\">\n {{ kv.value.name }}:\n <ng-container [ngSwitch]=\"kv.value.kind\">\n <img *ngSwitchCase=\"'img'\" [src]=\"kv.value.data\" alt=\"{{ kv.key }}\" style=\"max-width:240px;\" />\n <a *ngSwitchCase=\"'url'\" [href]=\"kv.value.data\" target=\"_blank\" rel=\"noopener noreferrer\">\n {{ kv.key }}\n <mat-icon class=\"link-icon\">open_in_new</mat-icon>\n </a>\n <span *ngSwitchDefault class=\"secondary-item\">{{ kv.value.data }}</span>\n </ng-container>\n </div>\n </div>\n }\n </div>\n }\n </div>\n </mat-option>\n </div>\n }\n @if (!collapsed && activeMode === \"show-info\") {\n <selected-feature-info class=\"info-search-panel\"></selected-feature-info>\n }\n @if (!collapsed && (activeMode === \"search-point\" || activeMode === \"search-polygon\") && geometrySearchResult.length > 0) {\n <div class=\"geometry-search-panel\">\n <mat-icon (click)=\"deleteAllGeometrySearchItem()\" class=\"delete-all-icon\" matTooltip=\"Ryd\">delete</mat-icon>\n <mat-option *ngFor=\"let result of geometrySearchResult\" [value]=\"result\" class=\"search-result-option\">\n <span class=\"result-title\">\n {{ result.title }} ({{result.items.length}} af {{ result.total }})\n </span>\n <div (click)=\"highlight(item.wkt, $event)\" *ngFor=\"let item of result.items\" class=\"geometry-search-result-item\">\n <div class=\"item-left\">\n <span class=\"item-header\"> {{item.header}} </span> \n </div>\n <div class=\"item-right\">\n @if (item.url) {\n <mat-icon \n class=\"search-item-external\"\n matTooltip=\"\u00C5bn i ny tab\"\n [matTooltipShowDelay]=\"200\"\n [matTooltipHideDelay]=\"300\" \n (click)=\"openUrl(item.url, $event)\"\n matTooltipPosition=\"above\"\n >info</mat-icon>\n }\n <mat-icon (click)=\"deleteGeometrySearchItem(result, item.id, $event)\" >delete</mat-icon>\n </div>\n </div>\n </mat-option>\n </div>\n }\n</div>\n", styles: [".toolbox-wrapper{position:absolute;top:0!important;left:0!important;margin:0!important;z-index:10;max-width:95vw;box-shadow:0 2px 10px #0000001a;border-radius:5px;transition:width .3s ease,max-width .3s ease}.toolbox-wrapper.cdk-drag-dragging{opacity:.8;z-index:1001}.search-item-external{cursor:pointer}.drag-handle-toolbox mat-icon{font-size:18px}.drag-handle-toolbox mat-icon:first-child{display:flex;align-items:center;justify-content:center}.drag-handle-toolbox .icon-left{cursor:default!important}.right-icons{display:flex;align-items:center;gap:6px}.toggle-icon{cursor:pointer!important;transition:all .2s ease;-webkit-user-select:none;user-select:none;font-size:18px!important;display:flex;align-items:center;justify-content:center;flex-shrink:0}.toggle-icon:hover{color:#d3d3d3}:host{position:relative;display:flex;justify-content:center}:host.expanded{width:auto;min-width:320px;padding:12px}.toolbox-container{display:flex;flex-direction:column;align-items:center;width:100%;min-width:32px;transition:all .3s ease;cursor:default;border-radius:0 0 5px 5px}.toolbox-content{display:flex;flex-direction:column;width:100%;gap:3px;animation:slideDown .3s cubic-bezier(.4,0,.2,1)}.all-tools-container{display:flex;flex-direction:row;align-items:center;flex-wrap:nowrap;width:100%;justify-content:flex-start;overflow-x:hidden;padding:2px 8px}.all-tools-container::-webkit-scrollbar{height:4px}.all-tools-container::-webkit-scrollbar-thumb{background:#ccc;border-radius:2px}.main-tools{display:flex;flex-direction:row;align-items:center;flex-wrap:nowrap}.main-tools .snap-toggle{display:flex;align-items:center;gap:5px;color:#fff;font-size:12px;font-weight:500;cursor:pointer;-webkit-user-select:none;user-select:none}.main-tools .snap-toggle input[type=checkbox]{appearance:none;width:18px;height:18px;border:1.5px solid rgba(255,255,255,.6);border-radius:3px;background:transparent;cursor:pointer;position:relative;flex-shrink:0}.main-tools .snap-toggle input[type=checkbox]:checked{background:#f7b528;border-color:#f7b528}.main-tools .snap-toggle input[type=checkbox]:checked:after{content:\"\";position:absolute;left:4px;top:0;width:5px;height:9px;border:2px solid #fff;border-top:none;border-left:none;transform:rotate(45deg)}.geometry-tools{display:flex;flex-direction:row;align-items:center;flex-wrap:nowrap}.measurement-print-tools{display:flex;flex-direction:row;align-items:center;flex-wrap:nowrap;background:none;border-radius:8px;padding:3px 0}.measurement-tools,.print-tools{display:flex;flex-direction:row;align-items:center;flex-wrap:nowrap}.measurement-tools .compact-icon,.print-tools .compact-icon{transition:all .3s cubic-bezier(.4,0,.2,1)}.print-tools .compact-icon{background:none;color:#fff}.print-tools .compact-icon.active{background:#f7b528!important;border-color:transparent}.print-tools .compact-icon.active:hover{background:#ffffff1a}.print-tools .compact-icon:hover:not(.active){box-shadow:0 4px 12px #0000004d;opacity:.9}.tool-separator{width:1px;height:24px;background:linear-gradient(to bottom,transparent,rgba(255,255,255,.3),transparent)}.tool-separator.print-separator{height:28px;background:linear-gradient(to bottom,transparent,rgba(255,255,255,.5),transparent)}.compact-icon{cursor:pointer;color:#fff;transition:all .3s cubic-bezier(.4,0,.2,1);width:26px;height:26px;display:flex;align-items:center;justify-content:center;border-radius:6px;flex-shrink:0}.compact-icon.active{color:#fff;background:#f7b528!important;border-color:transparent;box-shadow:0 8px 25px #667eea4d}.compact-icon.active:hover{box-shadow:0 12px 35px #667eea66}.compact-icon:hover:not(.active){color:#fff;box-shadow:0 4px 12px #0003}.compact-icon.custom-image-icon{padding:2px;background:none;border:none}.compact-icon.custom-image-icon img{width:100%;height:100%;object-fit:contain;transition:filter .2s ease,transform .2s ease}.compact-icon.custom-image-icon.active{background:#ffffff1a;border-color:none;box-shadow:none}.compact-icon.custom-image-icon.active img{filter:brightness(0) invert(1)}.compact-icon.custom-image-icon.active:hover{box-shadow:0 12px 35px #667eea66}.compact-icon.custom-image-icon:hover:not(.active){box-shadow:0 4px 12px #0003}.compact-icon.custom-image-icon:hover:not(.active) img{filter:brightness(0) invert(.8)}.search-point-polygon-selector{width:170px;margin-right:auto;padding:6px}.search-point-polygon-selector ::ng-deep .mat-mdc-select{font-size:14px;line-height:1.4;border-radius:5px}.search-point-polygon-selector ::ng-deep .mat-mdc-select-trigger{height:32px;min-height:32px;padding:0 10px;border:none;border-radius:6px;background:#6d6f73;transition:all .2s ease}.search-point-polygon-selector ::ng-deep .mat-mdc-select-trigger:hover{background:#6d6f73}.search-point-polygon-selector ::ng-deep .mat-mdc-select-value{font-size:14px;font-weight:500;color:#fff}.search-point-polygon-selector ::ng-deep .mat-mdc-select-arrow-wrapper{height:16px}.search-point-polygon-selector ::ng-deep .mat-mdc-form-field-infix{min-height:32px;padding:6px 0}.search-point-polygon-selector ::ng-deep .mat-mdc-form-field-subscript-wrapper{display:none}.geometry-selector{width:34%;margin-left:15em;padding:6px}.geometry-selector ::ng-deep .mat-mdc-select{font-size:14px;line-height:1.4;border-radius:5px}.geometry-selector ::ng-deep .mat-mdc-select-trigger{height:32px;min-height:32px;padding:0 10px;border:none;border-radius:6px;background:#6d6f73;transition:all .2s ease}.geometry-selector ::ng-deep .mat-mdc-select-trigger:hover{background:#6d6f73}.geometry-selector ::ng-deep .mat-mdc-select-value{font-size:14px;font-weight:500;color:#fff}.geometry-selector ::ng-deep .mat-mdc-select-arrow-wrapper{height:16px}.geometry-selector ::ng-deep .mat-mdc-form-field-infix{min-height:32px;padding:6px 0}.geometry-selector ::ng-deep .mat-mdc-form-field-subscript-wrapper{display:none}::ng-deep .mat-mdc-select-panel{min-width:fit-content!important;max-width:320px!important;background:#4c4d51!important;border:none!important;border-radius:8px!important;box-shadow:0 8px 24px #0000001f,0 2px 6px #00000014!important;margin-top:6px!important;padding:4px 0!important}::ng-deep .mat-mdc-select-panel .mat-mdc-option{font-size:14px!important;min-height:30px!important;padding:0 14px!important;transition:all .15s ease!important}::ng-deep .mat-mdc-select-panel .mat-mdc-option:hover:not(.mat-mdc-option-disabled){background:#444849!important}::ng-deep .mat-mdc-select-panel .mat-mdc-option.mat-active{background:color-mix(in srgb,#000 60%,transparent)!important;color:#fff!important}::ng-deep .mat-mdc-select-panel .mat-mdc-option .mdc-list-item__primary-text{font-weight:500!important;color:#fff!important}::ng-deep .cdk-overlay-pane{z-index:1001}::ng-deep .cdk-overlay-backdrop{z-index:1000}.wkt-section{display:flex;flex-direction:column;gap:8px;border-top:1px solid rgba(255,255,255,.1);animation:fadeIn .2s ease;padding:10px 8px}.wkt-actions{display:flex;gap:6px;justify-content:space-between}.compact-button{padding:6px 10px;border:none;border-radius:5px;background:#6d6f73;color:#fff;font-size:12px;font-weight:600;cursor:pointer;transition:all .2s cubic-bezier(.4,0,.2,1);text-transform:uppercase;min-height:32px;display:flex;align-items:center;justify-content:center;flex:1;box-shadow:0 1px 2px #0000000d;font-family:Avenir Next W01,Lato,-apple-system,system-ui,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,sans-serif!important}.compact-button.primary.active{background:#f7b528;box-shadow:0 8px 25px #667eea4d;color:#fff}.compact-button.primary.active:hover{box-shadow:0 12px 35px #667eea66}.compact-button.secondary{background:color-mix(in srgb,#000 20%,transparent);color:#fff}.compact-button.secondary:hover{background:color-mix(in srgb,#5a6268 60%,transparent)}.compact-input{padding:8px 10px;border-radius:5px;font-size:13px;transition:all .2s ease;background:#6d6f73;border:none;color:#fff;font-family:Avenir Next W01,Lato,-apple-system,system-ui,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,sans-serif!important}.compact-input::placeholder{color:#ffffffb3}.compact-input:focus{outline:none;background:#6d6f73;border:1px solid #97989b}.print-config,.print-draw-config{display:flex;align-items:center;gap:8px;padding:5px;background:transparent;border:none;border-radius:8px;animation:slideDown .3s ease}.print-config select,.print-config input,.print-draw-config select,.print-draw-config input{background:#6d6f73;border:none;color:#fff;border-radius:6px;font-size:12px;height:32px;min-height:32px;padding:0 10px}.print-config select:focus,.print-config input:focus,.print-draw-config select:focus,.print-draw-config input:focus{outline:none}.print-config select,.print-draw-config select{cursor:pointer}.print-config option,.print-draw-config option{background:#6d6f73!important;border:none!important}.print-config input,.print-draw-config input{width:60px;text-align:center}.print-config button,.print-draw-config button{background:#6ccb78;color:#fff;border:none;padding:6px 12px;border-radius:4px;font-size:12px;cursor:pointer;transition:all .2s ease}.print-config button:hover,.print-draw-config button:hover{box-shadow:0 4px 12px #10b9814d}.print-config .icon-separator,.print-draw-config .icon-separator{color:#fff}.info-search-panel{position:absolute;right:0;z-index:1000;width:380px;max-height:360px!important;max-width:430px;background:#4c4d51!important;border:1px solid rgba(255,255,255,.07);border-bottom-right-radius:5px;border-bottom-left-radius:5px;box-shadow:0 8px 24px #00000026!important}.geometry-search-panel{position:absolute;right:0;z-index:1000;width:380px}.geometry-search-panel .delete-all-icon{color:#bdc1c3cc;float:right;padding-top:5px;font-size:18px;cursor:pointer}.geometry-search-panel .delete-all-icon:hover{color:#d3d3d3}.geometry-search-panel::-webkit-scrollbar{width:12px}.geometry-search-panel::-webkit-scrollbar-track{background:#757474;border-radius:8px}.geometry-search-panel::-webkit-scrollbar-thumb{background:#1a1c1f;border-radius:8px;border:2px solid #2a2c30}.geometry-search-panel::-webkit-scrollbar-thumb:hover{background:#0f1012}.search-result-option{display:block!important;padding:0!important;margin:0!important;background:transparent!important}.search-result-option:last-child{border-bottom:none}.search-result-option .mdc-list-item__primary-text{width:100%!important;margin:0!important;padding:0!important}.result-title{display:block;top:0;z-index:1;font-weight:600;color:#bdc1c3cc}.search-result-item{display:flex;align-items:center;padding:4px 14px;cursor:pointer;transition:background-color .15s ease;border-radius:5px}.item-left{flex:1;width:100%}.item-header{color:#fff;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;text-overflow:ellipsis}.search-empty-state{padding:32px 16px;text-align:center;color:#757575}.search-empty-state .empty-icon{font-size:40px;width:40px;height:40px;color:#bdbdbd;margin-bottom:12px}.search-empty-state .empty-title{font-size:14px;font-weight:500;margin-bottom:4px}.search-empty-state .empty-subtitle{font-size:12px;color:#9e9e9e}::ng-deep .metadata-panel{margin-top:5px;margin-bottom:5px}::ng-deep .metadata-panel .feature-item{padding:8px 12px;margin:4px 0;background:#ffffff0d;border-radius:5px;transition:all .2s ease}::ng-deep .metadata-panel .feature-item:hover{background:#ffffff1a;box-shadow:0 2px 8px #00000026}::ng-deep .metadata-panel .feature-item:first-child{margin-top:0}::ng-deep .metadata-panel .feature-item:last-child{margin-bottom:0}::ng-deep .metadata-panel .feature-title{color:#bdc1c3cc;font-size:13px;line-height:1.6;display:flex;align-items:center;gap:6px;letter-spacing:.2px}::ng-deep .metadata-panel .feature-title:first-child{margin-top:0}::ng-deep .metadata-panel .feature-title:last-child{margin-bottom:0}::ng-deep .metadata-panel .feature-title img{border-radius:4px;margin-top:4px;box-shadow:0 2px 6px #0003}::ng-deep .metadata-panel .feature-title a{color:#6ccb78;text-decoration:none;display:inline-flex;align-items:center;gap:4px;transition:color .2s ease}::ng-deep .metadata-panel .feature-title a:hover{color:#85d990;text-decoration:underline}::ng-deep .metadata-panel .feature-title a .link-icon{font-size:16px;width:16px;height:16px}::ng-deep .metadata-panel .secondary-item{color:#fff;font-weight:400}::ng-deep .geometry-search-panel{max-height:360px!important;overflow-y:auto!important;max-width:430px;background:#4c4d51!important;border:1px solid rgba(255,255,255,.07);border-bottom-right-radius:5px;border-bottom-left-radius:5px;box-shadow:0 8px 24px #00000026!important}::ng-deep .geometry-search-panel::-webkit-scrollbar{width:4px}::ng-deep .geometry-search-panel::-webkit-scrollbar-track{background:transparent}::ng-deep .geometry-search-panel::-webkit-scrollbar-thumb{background:#ffffff1a;border-radius:10px}::ng-deep .geometry-search-panel::-webkit-scrollbar-thumb:hover{background:#fff3}::ng-deep .geometry-search-panel .buffer-item{display:flex;align-items:center;gap:8px;padding:10px 14px 8px;background:#0003;border-bottom:1px solid rgba(255,255,255,.06)}::ng-deep .geometry-search-panel .buffer-item mat-label{color:#9ca3af;font-size:12px;font-weight:500;letter-spacing:.3px}::ng-deep .geometry-search-panel .buffer-item input{width:52px;margin:0;background:#3a3d42;border:1px solid rgba(255,255,255,.1);border-radius:5px;color:#fff;font-size:12px;padding:4px 8px;text-align:center;outline:none;transition:border-color .15s ease}::ng-deep .geometry-search-panel .buffer-item input:focus{border-color:#f7b528}::ng-deep .geometry-search-panel .result-title{display:flex;align-items:center;gap:8px;padding:8px 14px 4px;font-size:14px;font-weight:600;color:#bdc1c3cc;position:sticky;top:0;z-index:1}::ng-deep .geometry-search-panel .search-result-item{display:flex;flex-direction:column;gap:5px;padding:8px 14px;cursor:pointer;border-left:2px solid transparent;transition:background .12s ease,border-color .12s ease}::ng-deep .geometry-search-panel .search-result-item+.search-result-item{border-top:1px solid rgba(255,255,255,.04)}::ng-deep .geometry-search-panel .search-result-item:hover{background:#ffffff09}::ng-deep .geometry-search-panel .search-result-item:hover .item-header{color:#fff}::ng-deep .geometry-search-panel .search-result-item:last-child{border-radius:0 0 10px 10px}::ng-deep .geometry-search-panel .item-header{color:#d1d5db;font-size:14px;font-weight:500;line-height:1.4;display:block;word-wrap:break-word;overflow-wrap:break-word;transition:color .12s ease}::ng-deep .geometry-search-panel .item-right{display:flex;align-items:center;gap:3px;flex-wrap:wrap;width:100%}::ng-deep .geometry-search-panel .item-right .custom-image-icon{width:26px;height:26px;flex-shrink:0;display:flex;align-items:center;justify-content:center;background:#fff!important;border:1px solid rgba(255,255,255,0);border-radius:5px;transition:background .15s ease,border-color .15s ease,box-shadow .15s ease!important}::ng-deep .geometry-search-panel .item-right .custom-image-icon:hover{background:#ffffff0d!important;box-shadow:0 0 0 1px #f7b5282e}::ng-deep .geometry-search-panel .item-right mat-icon{font-size:18px!important;color:#bdc1c3cc}::ng-deep .geometry-search-panel .item-right mat-icon:hover{color:#d3d3d3!important}::ng-deep .geometry-search-panel .mat-mdc-option{min-height:30px!important;border-radius:5px!important;transition:all .2s cubic-bezier(.4,0,.2,1);position:relative;overflow:auto;padding:4px 0!important}::ng-deep .geometry-search-panel .mat-mdc-option .mdc-list-item__primary-text{color:#fff}::ng-deep .geometry-search-panel mat-label{color:#fff}::ng-deep .mat-mdc-simple-snack-bar{background-color:#fff!important}@media (max-width: 768px){.toolbox-wrapper{left:.5em;top:8em;max-width:calc(100vw - 2.5em)}.drag-handle-toolbox{padding:3px 6px;gap:6px}.drag-handle-toolbox mat-icon{font-size:16px;width:16px;height:16px}.toggle-icon{font-size:16px!important;width:16px!important;height:16px!important}.toolbox-container{min-width:28px;max-width:calc(100vw - 3em)}:host{padding:8px;min-width:32px}:host.expanded{min-width:280px;padding:10px}.all-tools-container{flex-wrap:wrap;gap:6px;max-height:50vh;overflow-y:auto;padding:0;-ms-overflow-style:none;scrollbar-width:none}.all-tools-container::-webkit-scrollbar{display:none}.main-tools,.geometry-tools,.measurement-print-tools,.print-tools{display:flex;flex-wrap:wrap;justify-content:center;gap:4px}.compact-icon{width:28px;height:28px;flex-shrink:0}.measurement-print-tools{padding:3px 0}.geometry-selector{width:30%;margin-bottom:8px}.geometry-selector ::ng-deep .mat-mdc-select-trigger{height:28px;min-height:28px;padding:0 8px;font-size:12px}.geometry-selector ::ng-deep .mat-mdc-select-value{font-size:12px}::ng-deep .mat-mdc-select-panel{max-width:calc(100vw - 2em)!important}::ng-deep .mat-mdc-select-panel .mat-mdc-option{font-size:13px!important;min-height:32px!important;padding:6px 12px!important}.print-config,.print-draw-config{flex-direction:column;align-items:stretch;gap:6px}.print-config select,.print-config input,.print-draw-config select,.print-draw-config input{font-size:11px;padding:4px 8px;height:28px;min-height:28px}.print-config input,.print-draw-config input{width:50px}.print-config button,.print-draw-config button{padding:4px 8px;font-size:11px;height:28px}.wkt-section .compact-input{font-size:12px;padding:6px 8px}.wkt-section .compact-button{font-size:11px;padding:5px 8px;min-height:28px}::ng-deep .mat-mdc-slide-toggle .mdc-label{font-size:11px!important}.geometry-search-panel{width:calc(100vw - 40px);max-width:400px;left:50%;max-height:70vh}.search-result-item{padding:8px 12px}.item-header{font-size:13px}.result-title{padding:10px 12px;font-size:13px}}.geometry-search-result-item{display:flex;padding:4px 14px;cursor:pointer;transition:background-color .15s ease;border-radius:5px}.geometry-search-result-item .item-header{width:260px}@media (max-width: 480px){.toolbox-wrapper{left:.25em;top:6em;transform-origin:left top;max-width:calc(100vw - .5em)}.drag-handle-toolbox{padding:2px 4px;gap:4px}.drag-handle-toolbox mat-icon{font-size:14px;width:14px;height:14px}.toggle-icon{font-size:14px!important;width:14px!important;height:14px!important}.toolbox-container{padding:2px;min-width:24px}.all-tools-container{flex-direction:row;align-items:center;max-height:60vh}.main-tools,.geometry-tools{gap:3px;flex-wrap:wrap;justify-content:center}.measurement-print-tools{gap:3px;flex-wrap:wrap;padding:2px 4px;width:100%;justify-content:center}.measurement-tools,.print-tools{gap:3px}.compact-icon{width:26px;height:26px}.tool-separator{display:none}.geometry-selector ::ng-deep .mat-mdc-select-trigger{height:26px;min-height:26px;padding:0 6px;font-size:11px}.geometry-selector ::ng-deep .mat-mdc-select-value{font-size:11px}.compact-button{font-size:10px;padding:4px 6px;min-height:26px}.compact-input{font-size:11px;padding:4px 6px}.print-config,.print-draw-config{gap:4px;padding:6px}.print-config select,.print-config input,.print-draw-config select,.print-draw-config input{font-size:10px;height:26px;min-height:26px;padding:2px 6px}.print-config input,.print-draw-config input{width:45px}.print-config button,.print-draw-config button{flex:1;min-width:60px;font-size:10px;padding:3px 6px;height:26px}.print-config .icon-separator,.print-draw-config .icon-separator{font-size:10px}.wkt-section{gap:6px;padding-top:8px}::ng-deep .mat-mdc-slide-toggle .mdc-label{font-size:10px!important}::ng-deep .mat-mdc-select-panel{max-width:calc(100vw - 1em)!important}::ng-deep .mat-mdc-select-panel .mat-mdc-option{font-size:12px!important;min-height:28px!important;padding:4px 10px!important}.geometry-search-panel{width:calc(100vw - 32px);max-height:60vh}.search-result-item{padding:6px 10px}.item-header{font-size:12px;-webkit-line-clamp:1}}\n"] }]
4596
+ args: [{ selector: 'map-toolbox', imports: [FormsModule, CommonModule, MatIconModule, MatOptionModule, MatSelectModule, DragDropModule, MatTooltipModule, SelectedFeatureInfoComponent], template: "<div class=\"toolbox-wrapper global-wrapper-container\" \n cdkDrag \n cdkDragBoundary=\".map-container\"\n [cdkDragFreeDragPosition]=\"dragPosition\"\n (cdkDragEnded)=\"onDragEnded($event)\"\n [class.collapsed]=\"collapsed\">\n <div class=\"drag-handle-toolbox\" cdkDragHandle>\n <mat-icon \n class=\"icon-left\" \n matTooltip=\"V\u00E6rkt\u00F8jskasse\" \n [matTooltipShowDelay]=\"500\"\n [matTooltipHideDelay]=\"100\" \n matTooltipPosition=\"above\">\n handyman\n </mat-icon> \n <div class=\"right-icons\"> \n <mat-icon class=\"toggle-icon\" (click)=\"toggleCollapsed($event)\">\n {{ collapsed ? 'flip_to_front' : 'remove' }}\n </mat-icon>\n </div>\n </div>\n \n <div class=\"toolbox-container\">\n @if (!collapsed) {\n <div class=\"toolbox-content\">\n <div class=\"all-tools-container\">\n <div class=\"main-tools\">\n @if (!settings?.undoDisabled) {\n <img \n [src]=\"undoIconBase64\" \n class=\"compact-icon custom-image-icon\"\n (click)=\"undo()\" \n matTooltip=\"Fortryd\" \n [matTooltipShowDelay]=\"200\"\n [matTooltipHideDelay]=\"300\" \n matTooltipClass=\"custom-tooltip\"\n matTooltipPosition=\"below\"\n alt=\"Undo\">\n\n <img \n [src]=\"redoIconBase64\" \n class=\"compact-icon custom-image-icon\"\n (click)=\"redo()\" \n matTooltip=\"Gendan\" \n [matTooltipShowDelay]=\"200\"\n [matTooltipHideDelay]=\"300\" \n matTooltipClass=\"custom-tooltip\"\n matTooltipPosition=\"below\"\n alt=\"Redo\">\n }\n @if (settings.externalHelpUrl) {\n <img \n [src]=\"infoBase64\" \n class=\"compact-icon custom-image-icon\"\n (click)=\"openUrl(settings.externalHelpUrl, $event)\"\n matTooltip=\"Vejledning til anvendelse af systemet\" \n [matTooltipShowDelay]=\"200\"\n [matTooltipHideDelay]=\"300\" \n matTooltipClass=\"custom-tooltip\"\n matTooltipPosition=\"below\"\n alt=\"Vejledning til anvendelse af systemet\">\n } \n @if (showInfo){ <img \n [src]=\"showInfoObjBase64\" \n class=\"compact-icon custom-image-icon\"\n (click)=\"toggleShowInfo()\" \n [class.active]=\"activeMode === 'show-info'\"\n matTooltip=\"V\u00E6lg og vis objektdata i tr\u00E6struktur\" \n [matTooltipShowDelay]=\"200\"\n [matTooltipHideDelay]=\"300\" \n matTooltipClass=\"custom-tooltip\"\n matTooltipPosition=\"below\"\n alt=\"V\u00E6lg og vis objektdata i tr\u00E6 struktur\">\n }\n @if (showDownloadAddresses) {\n <img \n [src]=\"downloadFileBase64\" \n class=\"compact-icon custom-image-icon\"\n (click)=\"startDownloadAddresses()\" \n [class.active]=\"activeMode === 'download-addresses'\"\n matTooltip=\"Download adresser\" \n [matTooltipShowDelay]=\"200\"\n [matTooltipHideDelay]=\"300\" \n matTooltipClass=\"custom-tooltip\"\n matTooltipPosition=\"below\"\n alt=\"Download adresser\">\n }\n @if (showDownloadCadastres) {\n <img \n [src]=\"downloadMatriklerBase64\" \n class=\"compact-icon custom-image-icon\"\n (click)=\"startDownloadCasdatres()\" \n [class.active]=\"activeMode === 'download-cadastres'\"\n matTooltip=\"Download matrikler\" \n [matTooltipShowDelay]=\"200\"\n [matTooltipHideDelay]=\"300\" \n matTooltipClass=\"custom-tooltip\"\n matTooltipPosition=\"below\"\n alt=\"Download matrikler\">\n }\n @if (showChooseLocations) {\n <img \n [src]=\"splitIconBase64\" \n class=\"compact-icon custom-image-icon\"\n (click)=\"togglePointPolygonSearch()\"\n [class.active]=\"activeMode === 'search-point' || activeMode === 'search-polygon'\"\n matTooltip=\"V\u00E6lg Lokaliteter ved udpegning i kortet\" \n [matTooltipShowDelay]=\"200\"\n [matTooltipHideDelay]=\"300\" \n matTooltipClass=\"custom-tooltip\"\n matTooltipPosition=\"below\"\n alt=\"V\u00E6lg Lokaliteter ved udpegning i kortet\">\n }\n @if (showDocumentSearch) {\n <img \n [src]=\"documentSearchBase64\" \n class=\"compact-icon custom-image-icon\"\n (click)=\"toggleDocumentPointSearch()\"\n [class.active]=\"activeMode === 'document-search-by-point'\"\n matTooltip=\"Dokument fra punkt\" \n [matTooltipShowDelay]=\"200\"\n [matTooltipHideDelay]=\"300\" \n matTooltipClass=\"custom-tooltip\"\n matTooltipPosition=\"below\"\n alt=\"Dokument fra punkt\">\n\n <img \n [src]=\"documentSearchBase64\" \n class=\"compact-icon custom-image-icon\"\n (click)=\"toggleDocumentPolygonSearch()\"\n [class.active]=\"activeMode === 'document-search-by-polygon'\"\n matTooltip=\"Dokumenter fra polygon\" \n [matTooltipShowDelay]=\"200\"\n [matTooltipHideDelay]=\"300\" \n matTooltipClass=\"custom-tooltip\"\n matTooltipPosition=\"below\"\n alt=\"Dokumenter fra polygon\">\n }\n @if (settings.cowiUrlTemplate) {\n <img \n [src]=\"openCowiPageBase64\" \n class=\"compact-icon custom-image-icon\"\n [class.active]=\"activeMode === 'cowi'\"\n (click)=\"toggleCowiPage()\" \n matTooltip=\"COWI\u00B4s Gadefoto\" \n [matTooltipShowDelay]=\"200\"\n [matTooltipHideDelay]=\"300\" \n matTooltipClass=\"custom-tooltip\"\n matTooltipPosition=\"below\"\n alt=\"COWI\u00B4s Gadefoto\">\n }\n @if (settings.skraaFotoUrlTemplate) {\n <img \n [src]=\"skrafotoBase64\" \n class=\"compact-icon custom-image-icon\"\n [class.active]=\"activeMode === 'skrafoto'\"\n (click)=\"toggleSkraafotoPage()\" \n matTooltip=\"Opslag p\u00E5 Skr\u00E5fotos\" \n [matTooltipShowDelay]=\"200\"\n [matTooltipHideDelay]=\"300\" \n matTooltipClass=\"custom-tooltip\"\n matTooltipPosition=\"below\"\n alt=\"Skr\u00E5foto\">\n }\n @if (settings.googleStreetUrlTemplate) {\n <img \n [src]=\"streetViewBase64\" \n class=\"compact-icon custom-image-icon\"\n [class.active]=\"activeMode === 'streetview'\"\n (click)=\"toggleGoogleStreetviewPage()\" \n matTooltip=\"Google Streetview\" \n [matTooltipShowDelay]=\"200\"\n [matTooltipHideDelay]=\"300\" \n matTooltipClass=\"custom-tooltip\"\n matTooltipPosition=\"below\"\n alt=\"Google Streetview\">\n }\n @if (showFeatureHighlight) {\n <img \n [src]=\"fremhaevBase64\" \n class=\"compact-icon custom-image-icon\"\n [class.active]=\"activeMode === 'select-highlight'\"\n (click)=\"startSelectFeatureHighlight()\" \n matTooltip=\"Fremh\u00E6v aktivt objekt i listen\" \n [matTooltipShowDelay]=\"200\"\n [matTooltipHideDelay]=\"300\" \n matTooltipClass=\"custom-tooltip\"\n matTooltipPosition=\"below\"\n alt=\"Fremh\u00E6v\">\n }\n @if (activeMode === 'draw' || activeMode === 'edit' || activeMode === 'edit-remove' || activeMode === 'search-feature' ||\n activeMode === 'clip-hole' || activeMode === 'split' || activeMode === 'merge-features') {\n <label class=\"snap-toggle\">\n <input type=\"checkbox\" [checked]=\"snap\" (change)=\"onSnapChange($event)\">\n Snap\n </label> \n } \n @if (settings.editEnabled) {\n <img \n [src]=\"editBase64\" \n [class.active]=\"activeMode === 'edit'\" \n class=\"compact-icon custom-image-icon\"\n (click)=\"startEdit()\" \n matTooltip=\"Inds\u00E6t eller flyt punkter i flade/linje\" \n [matTooltipShowDelay]=\"200\"\n [matTooltipHideDelay]=\"300\" \n matTooltipClass=\"custom-tooltip\"\n matTooltipPosition=\"below\"\n alt=\"Inds\u00E6t eller flyt punkter i flade/linje\">\n <img \n [src]=\"deleteIconBase64\" \n [class.active]=\"activeMode === 'edit-remove'\" \n class=\"compact-icon custom-image-icon\"\n (click)=\"startEditRemovePoints()\" \n matTooltip=\"Slet punkter i flade/linje\" \n [matTooltipShowDelay]=\"200\"\n [matTooltipHideDelay]=\"300\" \n matTooltipClass=\"custom-tooltip\"\n matTooltipPosition=\"below\"\n alt=\"Slet punkter i flade/linje\">\n }\n @if (settings.cutHoleEnabled) {\n <img \n [src]=\"clipHoleBase64\" \n class=\"compact-icon custom-image-icon\"\n [class.active]=\"activeMode === 'clip-hole'\" \n (click)=\"clipHole()\" \n matTooltip=\"Klip hul i flade\" \n [matTooltipShowDelay]=\"200\"\n [matTooltipHideDelay]=\"300\" \n matTooltipClass=\"custom-tooltip\"\n matTooltipPosition=\"below\"\n alt=\"Klip hul i flade\">\n }\n @if (settings.splitEnabled) {\n <img \n [src]=\"splitBase64\" \n class=\"compact-icon custom-image-icon\"\n [class.active]=\"activeMode === 'split'\"\n (click)=\"split()\" \n matTooltip=\"Del et element\" \n [matTooltipShowDelay]=\"200\"\n [matTooltipHideDelay]=\"300\" \n matTooltipClass=\"custom-tooltip\"\n matTooltipPosition=\"below\"\n alt=\"Del et element\">\n }\n @if (settings.changeTypeEnabled) {\n <img \n [src]=\"changeTypeBase64\" \n class=\"compact-icon custom-image-icon\" \n [class.active]=\"activeMode === 'change-type'\" \n (click)=\"startChangeType()\"\n [matTooltipShowDelay]=\"200\"\n matTooltipClass=\"custom-tooltip\"\n [matTooltipHideDelay]=\"300\" \n matTooltip=\"Skift status p\u00E5 element\" \n alt=\"Skift status p\u00E5 element\" \n matTooltipPosition=\"below\">\n }\n @if (settings.mergeEnabled) {\n <img \n [src]=\"mergeBase64\"\n class=\"compact-icon custom-image-icon\" \n (click)=\"startMergeFeatures()\" \n matTooltipPosition=\"below\"\n [matTooltipShowDelay]=\"200\"\n matTooltipClass=\"custom-tooltip\"\n [matTooltipHideDelay]=\"300\" \n matTooltip=\"Saml flader\" \n [class.active]=\"activeMode === 'merge-features'\">\n }\n @if (settings.centerPoint) {\n <img \n [src]=\"setCenterBase64\" \n [class.active]=\"activeMode === 'center-point'\" \n class=\"compact-icon custom-image-icon\"\n (click)=\"setCenterPoint()\" \n matTooltip=\"S\u00E6t centerpunkt\" \n [matTooltipShowDelay]=\"200\"\n [matTooltipHideDelay]=\"300\" \n matTooltipClass=\"custom-tooltip\"\n matTooltipPosition=\"below\"\n alt=\"S\u00E6t centerpunkt\">\n }\n </div>\n <div class=\"geometry-tools\">\n @if (showPickAndShowInList) {\n <img \n [src]=\"sogPolygonBase64\" \n [class.active]=\"activeMode === 'search-feature'\"\n class=\"compact-icon custom-image-icon\"\n (click)=\"toggleFeatureSearch()\" \n matTooltip=\"V\u00E6lg og vis emner i listen\" \n [matTooltipShowDelay]=\"200\"\n [matTooltipHideDelay]=\"300\" \n matTooltipClass=\"custom-tooltip\"\n matTooltipPosition=\"below\"\n alt=\"V\u00E6lg og vis emner i listen\">\n @if (showDrawElement) {\n <img \n [src]=\"drawBase64\" \n [class.active]=\"activeMode === 'draw'\"\n class=\"compact-icon custom-image-icon\"\n (click)=\"startDraw()\"\n matTooltip=\"Tegn element\" \n [matTooltipShowDelay]=\"200\"\n [matTooltipHideDelay]=\"300\" \n matTooltipClass=\"custom-tooltip\"\n matTooltipPosition=\"below\"\n alt=\"Tegn element\">\n }\n @if (settings.WKTInputEnabled) {\n <img \n [src]=\"wktIconBase64\" \n class=\"compact-icon custom-image-icon\"\n [class.active]=\"activeMode === 'wkt-input'\"\n (click)=\"activateShowInputWKT()\" \n matTooltip=\"Inds\u00E6t WKT streng for at importere elementet\" \n [matTooltipShowDelay]=\"200\"\n [matTooltipHideDelay]=\"300\" \n matTooltipClass=\"custom-tooltip\"\n matTooltipPosition=\"below\"\n alt=\"Inds\u00E6t WKT streng for at importere elementet\">\n }\n }\n </div>\n <div class=\"tool-separator\" *ngIf=\"deleteEnabled || showMeasureDistance || showMeasureArea || profile.showPrint\"></div>\n <div class=\"measurement-print-tools\">\n <div class=\"measurement-tools\">\n @if (deleteEnabled) {\n <img \n [src]=\"deleteIconBase64\" \n class=\"compact-icon custom-image-icon\"\n [class.active]=\"activeMode === 'delete'\"\n (click)=\"startDelete()\" \n matTooltip=\"Slet element\" \n [matTooltipShowDelay]=\"200\"\n [matTooltipHideDelay]=\"300\" \n matTooltipClass=\"custom-tooltip\"\n matTooltipPosition=\"below\"\n alt=\"Slet element\">\n }\n @if (showMeasureArea || showMeasureDistance) {\n <img \n [src]=\"measureDistanceIconBase64\" \n class=\"compact-icon custom-image-icon\"\n (click)=\"toggleMeasure()\"\n [class.active]=\"activeMode === 'measure-distance' || activeMode === 'measure-area'\"\n matTooltip=\"M\u00E5l afstand / areal\" \n [matTooltipShowDelay]=\"200\"\n [matTooltipHideDelay]=\"300\" \n matTooltipClass=\"custom-tooltip\"\n matTooltipPosition=\"below\"\n alt=\"M\u00E5l\">\n }\n </div>\n @if (profile.showPrint) {\n <div class=\"tool-separator print-separator\"></div>\n <div class=\"print-tools\">\n <img \n [src]=\"printBase64\" \n class=\"compact-icon custom-image-icon\"\n [class.active]=\"active === 'Print'\"\n (click)=\"startPrintMode()\" \n matTooltip=\"Sk\u00E6rmprint af kortet\" \n [matTooltipShowDelay]=\"200\"\n [matTooltipHideDelay]=\"300\" \n matTooltipClass=\"custom-tooltip\"\n matTooltipPosition=\"below\"\n alt=\"Sk\u00E6rmprint af kortet\">\n <img \n [src]=\"drawPrintBase64\" \n class=\"compact-icon custom-image-icon\"\n [class.active]=\"active === 'PrintDraw'\"\n (click)=\"startDrawMode()\" \n matTooltip=\"Tegnev\u00E6rkt\u00F8j til print\" \n [matTooltipShowDelay]=\"200\"\n [matTooltipHideDelay]=\"300\" \n matTooltipClass=\"custom-tooltip\"\n matTooltipPosition=\"below\"\n alt=\"Tegnev\u00E6rkt\u00F8j til print\">\n </div>\n }\n </div>\n </div>\n @if (activeMode === 'draw' || activeMode === 'search-feature' || activeMode === 'wkt-input'\n || activeMode === 'change-type' || activeMode === 'merge-features') {\n <mat-select class=\"geometry-selector\" (selectionChange)=\"drawItemChanged($event)\" [(ngModel)]=\"selectedDrawItem\"> \n @for (drawItem of drawItems; track drawItem) {\n @if (activeMode !== 'merge-features' || drawItem.geomType === 'Polygon') {\n <mat-option [value]=\"drawItem\">{{drawItem.name}} <img *ngIf=\"drawItem.iconUrl\" class=\"compact-icon custom-image-icon\" [src]=\"drawItem.iconUrl\"></mat-option>\n }\n }\n </mat-select> \n }\n @if (showInputWKT && activeMode === 'wkt-input') {\n <div class=\"wkt-section\">\n <input matInput class=\"compact-input\" placeholder=\"Inds\u00E6t WKT-streng\" [(ngModel)]=\"WKTString\">\n <div class=\"wkt-actions\">\n <button class=\"compact-button primary\" (click)=\"ReadWKT()\">Indl\u00E6s WKT</button>\n <button class=\"compact-button\" (click)=\"cancelWKT()\">Annuller</button>\n </div>\n </div>\n }\n @if (profile.showPrint) {\n @if (active === \"Print\") {\n <div class=\"print-config\">\n <img \n matTooltip=\"Sk\u00E6rmprint af kortet\" \n [matTooltipShowDelay]=\"200\"\n [matTooltipHideDelay]=\"300\" \n [src]=\"printBase64\" \n class=\"compact-icon custom-image-icon\"\n (click)=\"doPrint()\" \n alt=\"Udskriv\"> \n <span class=\"icon-separator\">i</span>\n <select id=\"formatSelector\" [(ngModel)]=\"format\">\n <option value=\"image/png\" selected>.PNG</option>\n <option value=\"image/jpeg\">.JPG</option>\n </select>\n <select id=\"dimensionSelector\" [(ngModel)]=\"dimId\" (change)=\"handleDimensionSelected()\">\n <option value=\"99\" selected></option>\n <option value=\"0\">1920 X 1080</option>\n <option value=\"1\">1680 X 1050</option>\n <option value=\"2\">1280 X 800</option>\n <option value=\"3\">800 X 600</option>\n </select>\n <input type=\"text\" [(ngModel)]=\"mapWidth\"/> \n <span class=\"icon-separator\">x</span>\n <input type=\"text\" [(ngModel)]=\"mapHeight\"/>\n <button (click)=\"setNewMapDimensions()\">V\u00E6lg</button>\n </div>\n }\n @if (active === \"PrintDraw\") {\n <div class=\"print-draw-config\">\n <span class=\"icon-separator\">Label</span>\n <input type=\"text\" [(ngModel)]=\"printDrawLabel\"/>\n <select id=\"drawToolSelector\" [(ngModel)]=\"printDrawTool\" (change)=\"handlePrintDrawToolChanged()\">\n <option value=\"Arrow\" selected>Pil</option>\n <option value=\"Point\">Punkt</option>\n <option value=\"LineString\">Linje</option>\n <option value=\"Polygon\">Polygon</option>\n <option value=\"Circle\">Cirkel</option>\n <option value=\"Square\">Kvadrat</option>\n <option value=\"Rectangle\">Firkant</option>\n </select>\n <button class=\"compact-button\" (click)=\"handleClearPrintDrawFeatures()\">Ryd</button>\n </div>\n }\n }\n </div>\n @if (activeMode === 'search-point' || activeMode === 'search-polygon') {\n <mat-select \n class=\"search-point-polygon-selector\" \n [(ngModel)]=\"selectedSearchMode\"\n (selectionChange)=\"onSearchModeChanged($event)\">\n <mat-option value=\"search-point\">S\u00F8g med punkt</mat-option>\n <mat-option value=\"search-polygon\">S\u00F8g med polygon</mat-option>\n </mat-select>\n }\n \n @if (activeMode === 'measure-distance' || activeMode === 'measure-area') {\n <mat-select \n class=\"geometry-selector\"\n [(ngModel)]=\"selectedMeasureMode\"\n (selectionChange)=\"onMeasureModeChanged($event)\">\n @if (showMeasureDistance){\n <mat-option value=\"measure-distance\">M\u00E5l afstand</mat-option>\n }\n @if (showMeasureArea){\n <mat-option value=\"measure-area\">M\u00E5l areal</mat-option>\n } \n </mat-select>\n }\n }\n </div>\n @if (!collapsed && activeMode === 'search-feature' && filteredResults.length > 0) {\n <div class=\"geometry-search-panel\">\n <div class=\"buffer-item\">\n <mat-label>Buffer</mat-label>\n <input matInput type=\"number\" name=\"buffer\" [(ngModel)]=\"bufferInMeters\">\n <mat-label>m</mat-label>\n </div>\n <mat-option *ngFor=\"let result of filteredResults\" [value]=\"result\" class=\"search-result-option\">\n <span class=\"result-title\">\n {{ result.title }} ({{result.items.length}} af {{ result.total }})\n </span>\n <div (click)=\"highlight(item.wkt, $event)\" *ngFor=\"let item of result.items\" class=\"search-result-item\">\n <div class=\"item-left\">\n <span class=\"item-header\"> {{item.header}} </span> \n </div>\n <div class=\"item-right\">\n <img \n [src]=\"objectSearchCopyIconBase64\" \n class=\"compact-icon custom-image-icon\"\n (click)=\"addToActiveObjectsList(item, $event)\" \n matTooltip=\"Kopier\" \n [matTooltipShowDelay]=\"200\"\n [matTooltipHideDelay]=\"300\" \n matTooltipClass=\"custom-tooltip\"\n matTooltipPosition=\"below\"\n alt=\"Kopier\">\n <img \n [src]=\"deleteIconBase64\" \n class=\"compact-icon custom-image-icon\"\n (click)=\"cutBySearchedObject(item, $event)\" \n matTooltip=\"Fjern\" \n [matTooltipShowDelay]=\"200\"\n [matTooltipHideDelay]=\"300\" \n matTooltipClass=\"custom-tooltip\"\n matTooltipPosition=\"below\"\n alt=\"Fjern\">\n <img \n [src]=\"objectSearchCutIconBase64\" \n class=\"compact-icon custom-image-icon\"\n (click)=\"splitBySearchedObject(item, $event)\" \n matTooltip=\"Opsk\u00E6r\" \n [matTooltipShowDelay]=\"200\"\n [matTooltipHideDelay]=\"300\" \n matTooltipClass=\"custom-tooltip\"\n matTooltipPosition=\"below\"\n alt=\"Opsk\u00E6r\">\n <img \n [src]=\"objectSearchCopyWithBufferIconBase64\" \n class=\"compact-icon custom-image-icon\"\n (click)=\"addToActiveObjectsList(item, $event, true)\" \n matTooltip=\"Kopier med buffer\" \n [matTooltipShowDelay]=\"200\"\n [matTooltipHideDelay]=\"300\" \n matTooltipClass=\"custom-tooltip\"\n matTooltipPosition=\"below\"\n alt=\"Kopier med buffer\">\n <img \n [src]=\"objectSearchZoomIconBase64\" \n class=\"compact-icon custom-image-icon\"\n (click)=\"zoomSearchedObject(item, $event)\" \n matTooltip=\"Zoom\" \n [matTooltipShowDelay]=\"200\"\n [matTooltipHideDelay]=\"300\" \n matTooltipClass=\"custom-tooltip\"\n matTooltipPosition=\"below\"\n alt=\"Zoom\">\n <img \n [src]=\"infoBase64\" \n class=\"compact-icon custom-image-icon\"\n (click)=\"toggleItemInfo(item, $event)\" \n matTooltip=\"Info\" \n [matTooltipShowDelay]=\"200\"\n [matTooltipHideDelay]=\"300\" \n matTooltipClass=\"custom-tooltip\"\n matTooltipPosition=\"below\"\n alt=\"Info\">\n </div> \n @if (item.showMetadata) {\n <div class=\"metadata-panel\">\n @for(feature of item.metadata; track feature) {\n <div class=\"feature-item\">\n <div *ngFor=\"let kv of (feature | keyvalue)\" class=\"feature-title\">\n {{ kv.value.name }}:\n <ng-container [ngSwitch]=\"kv.value.kind\">\n <img *ngSwitchCase=\"'img'\" [src]=\"kv.value.data\" alt=\"{{ kv.key }}\" style=\"max-width:240px;\" />\n <a *ngSwitchCase=\"'url'\" [href]=\"kv.value.data\" target=\"_blank\" rel=\"noopener noreferrer\">\n {{ kv.key }}\n <mat-icon class=\"link-icon\">open_in_new</mat-icon>\n </a>\n <span *ngSwitchDefault class=\"secondary-item\">{{ kv.value.data }}</span>\n </ng-container>\n </div>\n </div>\n }\n </div>\n }\n </div>\n </mat-option>\n </div>\n }\n @if (!collapsed && activeMode === \"show-info\") {\n <selected-feature-info class=\"info-search-panel\"></selected-feature-info>\n }\n @if (!collapsed && (activeMode === \"search-point\" || activeMode === \"search-polygon\") && geometrySearchResult.length > 0) {\n <div class=\"geometry-search-panel\">\n <mat-option *ngFor=\"let result of geometrySearchResult\" [value]=\"result\" class=\"search-result-option\">\n <span class=\"result-title\">\n {{ result.title }} ({{result.items.length}} af {{ result.total }})\n <mat-icon (click)=\"deleteAllGeometrySearchItem()\" class=\"delete-all-icon\" matTooltip=\"Ryd\">delete</mat-icon>\n </span>\n <div (click)=\"highlight(item.wkt, $event)\" *ngFor=\"let item of result.items\" class=\"geometry-search-result-item\">\n <div class=\"item-left\">\n <span class=\"item-header\"> {{item.header}} </span> \n </div>\n <div class=\"item-right\">\n @if (item.url) {\n <mat-icon \n class=\"search-item-external\"\n matTooltip=\"\u00C5bn i ny tab\"\n [matTooltipShowDelay]=\"200\"\n [matTooltipHideDelay]=\"300\" \n (click)=\"openUrl(item.url, $event)\"\n matTooltipPosition=\"above\"\n >info</mat-icon>\n }\n <mat-icon (click)=\"deleteGeometrySearchItem(result, item.id, $event)\" >delete</mat-icon>\n </div>\n </div>\n </mat-option>\n </div>\n }\n</div>\n", styles: [".toolbox-wrapper{position:absolute;top:0!important;left:0!important;margin:0!important;z-index:10;max-width:95vw;box-shadow:0 2px 10px #0000001a;border-radius:5px;transition:width .3s ease,max-width .3s ease}.toolbox-wrapper.cdk-drag-dragging{opacity:.8;z-index:1001}.search-item-external{cursor:pointer}.drag-handle-toolbox mat-icon{font-size:18px}.drag-handle-toolbox mat-icon:first-child{display:flex;align-items:center;justify-content:center}.drag-handle-toolbox .icon-left{cursor:default!important}.right-icons{display:flex;align-items:center;gap:6px}.toggle-icon{cursor:pointer!important;transition:all .2s ease;-webkit-user-select:none;user-select:none;font-size:18px!important;display:flex;align-items:center;justify-content:center;flex-shrink:0}.toggle-icon:hover{color:#d3d3d3}:host{position:relative;display:flex;justify-content:center}:host.expanded{width:auto;min-width:320px;padding:12px}.toolbox-container{display:flex;flex-direction:column;align-items:center;width:100%;min-width:32px;transition:all .3s ease;cursor:default;border-radius:0 0 5px 5px}.toolbox-content{display:flex;flex-direction:column;width:100%;gap:3px;animation:slideDown .3s cubic-bezier(.4,0,.2,1)}.all-tools-container{display:flex;flex-direction:row;align-items:center;flex-wrap:nowrap;width:100%;justify-content:flex-start;overflow-x:hidden;padding:2px 8px}.all-tools-container::-webkit-scrollbar{height:4px}.all-tools-container::-webkit-scrollbar-thumb{background:#ccc;border-radius:2px}.main-tools{display:flex;flex-direction:row;align-items:center;flex-wrap:nowrap}.main-tools .snap-toggle{display:flex;align-items:center;gap:5px;color:#fff;font-size:12px;font-weight:500;cursor:pointer;-webkit-user-select:none;user-select:none}.main-tools .snap-toggle input[type=checkbox]{appearance:none;width:18px;height:18px;border:1.5px solid rgba(255,255,255,.6);border-radius:3px;background:transparent;cursor:pointer;position:relative;flex-shrink:0}.main-tools .snap-toggle input[type=checkbox]:checked{background:#f7b528;border-color:#f7b528}.main-tools .snap-toggle input[type=checkbox]:checked:after{content:\"\";position:absolute;left:4px;top:0;width:5px;height:9px;border:2px solid #fff;border-top:none;border-left:none;transform:rotate(45deg)}.geometry-tools{display:flex;flex-direction:row;align-items:center;flex-wrap:nowrap}.measurement-print-tools{display:flex;flex-direction:row;align-items:center;flex-wrap:nowrap;background:none;border-radius:8px;padding:3px 0}.measurement-tools,.print-tools{display:flex;flex-direction:row;align-items:center;flex-wrap:nowrap}.measurement-tools .compact-icon,.print-tools .compact-icon{transition:all .3s cubic-bezier(.4,0,.2,1)}.print-tools .compact-icon{background:none;color:#fff}.print-tools .compact-icon.active{background:#f7b528!important;border-color:transparent}.print-tools .compact-icon.active:hover{background:#ffffff1a}.print-tools .compact-icon:hover:not(.active){box-shadow:0 4px 12px #0000004d;opacity:.9}.tool-separator{width:1px;height:24px;background:linear-gradient(to bottom,transparent,rgba(255,255,255,.3),transparent)}.tool-separator.print-separator{height:28px;background:linear-gradient(to bottom,transparent,rgba(255,255,255,.5),transparent)}.compact-icon{cursor:pointer;color:#fff;transition:all .3s cubic-bezier(.4,0,.2,1);width:26px;height:26px;display:flex;align-items:center;justify-content:center;border-radius:6px;flex-shrink:0}.compact-icon.active{color:#fff;background:#f7b528!important;border-color:transparent;box-shadow:0 8px 25px #667eea4d}.compact-icon.active:hover{box-shadow:0 12px 35px #667eea66}.compact-icon:hover:not(.active){color:#fff;box-shadow:0 4px 12px #0003}.compact-icon.custom-image-icon{padding:2px;background:none;border:none}.compact-icon.custom-image-icon img{width:100%;height:100%;object-fit:contain;transition:filter .2s ease,transform .2s ease}.compact-icon.custom-image-icon.active{background:#ffffff1a;border-color:none;box-shadow:none}.compact-icon.custom-image-icon.active img{filter:brightness(0) invert(1)}.compact-icon.custom-image-icon.active:hover{box-shadow:0 12px 35px #667eea66}.compact-icon.custom-image-icon:hover:not(.active){box-shadow:0 4px 12px #0003}.compact-icon.custom-image-icon:hover:not(.active) img{filter:brightness(0) invert(.8)}.search-point-polygon-selector{width:170px;margin-right:auto;padding:6px}.search-point-polygon-selector ::ng-deep .mat-mdc-select{font-size:14px;line-height:1.4;border-radius:5px}.search-point-polygon-selector ::ng-deep .mat-mdc-select-trigger{height:32px;min-height:32px;padding:0 10px;border:none;border-radius:6px;background:#6d6f73;transition:all .2s ease}.search-point-polygon-selector ::ng-deep .mat-mdc-select-trigger:hover{background:#6d6f73}.search-point-polygon-selector ::ng-deep .mat-mdc-select-value{font-size:14px;font-weight:500;color:#fff}.search-point-polygon-selector ::ng-deep .mat-mdc-select-arrow-wrapper{height:16px}.search-point-polygon-selector ::ng-deep .mat-mdc-form-field-infix{min-height:32px;padding:6px 0}.search-point-polygon-selector ::ng-deep .mat-mdc-form-field-subscript-wrapper{display:none}.geometry-selector{width:34%;margin-left:15em;padding:6px}.geometry-selector ::ng-deep .mat-mdc-select{font-size:14px;line-height:1.4;border-radius:5px}.geometry-selector ::ng-deep .mat-mdc-select-trigger{height:32px;min-height:32px;padding:0 10px;border:none;border-radius:6px;background:#6d6f73;transition:all .2s ease}.geometry-selector ::ng-deep .mat-mdc-select-trigger:hover{background:#6d6f73}.geometry-selector ::ng-deep .mat-mdc-select-value{font-size:14px;font-weight:500;color:#fff}.geometry-selector ::ng-deep .mat-mdc-select-arrow-wrapper{height:16px}.geometry-selector ::ng-deep .mat-mdc-form-field-infix{min-height:32px;padding:6px 0}.geometry-selector ::ng-deep .mat-mdc-form-field-subscript-wrapper{display:none}::ng-deep .mat-mdc-select-panel{min-width:fit-content!important;max-width:320px!important;background:#4c4d51!important;border:none!important;border-radius:8px!important;box-shadow:0 8px 24px #0000001f,0 2px 6px #00000014!important;margin-top:6px!important;padding:4px 0!important}::ng-deep .mat-mdc-select-panel .mat-mdc-option{font-size:14px!important;min-height:30px!important;padding:0 14px!important;transition:all .15s ease!important}::ng-deep .mat-mdc-select-panel .mat-mdc-option:hover:not(.mat-mdc-option-disabled){background:#444849!important}::ng-deep .mat-mdc-select-panel .mat-mdc-option.mat-active{background:color-mix(in srgb,#000 60%,transparent)!important;color:#fff!important}::ng-deep .mat-mdc-select-panel .mat-mdc-option .mdc-list-item__primary-text{font-weight:500!important;color:#fff!important}::ng-deep .cdk-overlay-pane{z-index:1001}::ng-deep .cdk-overlay-backdrop{z-index:1000}.wkt-section{display:flex;flex-direction:column;gap:8px;border-top:1px solid rgba(255,255,255,.1);animation:fadeIn .2s ease;padding:10px 8px}.wkt-actions{display:flex;gap:6px;justify-content:space-between}.compact-button{padding:6px 10px;border:none;border-radius:5px;background:#6d6f73;color:#fff;font-size:12px;font-weight:600;cursor:pointer;transition:all .2s cubic-bezier(.4,0,.2,1);text-transform:uppercase;min-height:32px;display:flex;align-items:center;justify-content:center;flex:1;box-shadow:0 1px 2px #0000000d;font-family:Avenir Next W01,Lato,-apple-system,system-ui,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,sans-serif!important}.compact-button.primary.active{background:#f7b528;box-shadow:0 8px 25px #667eea4d;color:#fff}.compact-button.primary.active:hover{box-shadow:0 12px 35px #667eea66}.compact-button.secondary{background:color-mix(in srgb,#000 20%,transparent);color:#fff}.compact-button.secondary:hover{background:color-mix(in srgb,#5a6268 60%,transparent)}.compact-input{padding:8px 10px;border-radius:5px;font-size:13px;transition:all .2s ease;background:#6d6f73;border:none;color:#fff;font-family:Avenir Next W01,Lato,-apple-system,system-ui,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,sans-serif!important}.compact-input::placeholder{color:#ffffffb3}.compact-input:focus{outline:none;background:#6d6f73;border:1px solid #97989b}.print-config,.print-draw-config{display:flex;align-items:center;gap:8px;padding:5px;background:transparent;border:none;border-radius:8px;animation:slideDown .3s ease}.print-config select,.print-config input,.print-draw-config select,.print-draw-config input{background:#6d6f73;border:none;color:#fff;border-radius:6px;font-size:12px;height:32px;min-height:32px;padding:0 10px}.print-config select:focus,.print-config input:focus,.print-draw-config select:focus,.print-draw-config input:focus{outline:none}.print-config select,.print-draw-config select{cursor:pointer}.print-config option,.print-draw-config option{background:#6d6f73!important;border:none!important}.print-config input,.print-draw-config input{width:60px;text-align:center}.print-config button,.print-draw-config button{background:#6ccb78;color:#fff;border:none;padding:6px 12px;border-radius:4px;font-size:12px;cursor:pointer;transition:all .2s ease}.print-config button:hover,.print-draw-config button:hover{box-shadow:0 4px 12px #10b9814d}.print-config .icon-separator,.print-draw-config .icon-separator{color:#fff}.info-search-panel{position:absolute;right:0;z-index:1000;width:380px;max-height:360px!important;max-width:430px;background:#4c4d51!important;border:1px solid rgba(255,255,255,.07);border-bottom-right-radius:5px;border-bottom-left-radius:5px;box-shadow:0 8px 24px #00000026!important}.geometry-search-panel{position:absolute;right:0;z-index:1000;width:380px;padding:5px}.geometry-search-panel::-webkit-scrollbar{width:12px}.geometry-search-panel::-webkit-scrollbar-track{background:#757474;border-radius:8px}.geometry-search-panel::-webkit-scrollbar-thumb{background:#1a1c1f;border-radius:8px;border:2px solid #2a2c30}.geometry-search-panel::-webkit-scrollbar-thumb:hover{background:#0f1012}.search-result-option{display:block!important;padding:0!important;margin:0!important;background:transparent!important}.search-result-option:last-child{border-bottom:none}.search-result-option .mdc-list-item__primary-text{width:100%!important;margin:0!important;padding:0!important}.result-title{display:flex;align-items:center;justify-content:space-between;width:100%;font-weight:600;color:#bdc1c3cc}.result-title .delete-all-icon{float:none;padding-top:0;font-size:18px;cursor:pointer;color:#bdc1c3cc}.result-title .delete-all-icon:hover{color:#d3d3d3}.search-result-item{display:flex;align-items:center;padding:4px 14px;cursor:pointer;transition:background-color .15s ease;border-radius:5px}.item-left{flex:1;width:100%}.item-header{color:#fff;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;text-overflow:ellipsis}.search-empty-state{padding:32px 16px;text-align:center;color:#757575}.search-empty-state .empty-icon{font-size:40px;width:40px;height:40px;color:#bdbdbd;margin-bottom:12px}.search-empty-state .empty-title{font-size:14px;font-weight:500;margin-bottom:4px}.search-empty-state .empty-subtitle{font-size:12px;color:#9e9e9e}::ng-deep .metadata-panel{margin-top:5px;margin-bottom:5px}::ng-deep .metadata-panel .feature-item{padding:8px 12px;margin:4px 0;background:#ffffff0d;border-radius:5px;transition:all .2s ease}::ng-deep .metadata-panel .feature-item:hover{background:#ffffff1a;box-shadow:0 2px 8px #00000026}::ng-deep .metadata-panel .feature-item:first-child{margin-top:0}::ng-deep .metadata-panel .feature-item:last-child{margin-bottom:0}::ng-deep .metadata-panel .feature-title{color:#bdc1c3cc;font-size:13px;line-height:1.6;display:flex;align-items:center;gap:6px;letter-spacing:.2px}::ng-deep .metadata-panel .feature-title:first-child{margin-top:0}::ng-deep .metadata-panel .feature-title:last-child{margin-bottom:0}::ng-deep .metadata-panel .feature-title img{border-radius:4px;margin-top:4px;box-shadow:0 2px 6px #0003}::ng-deep .metadata-panel .feature-title a{color:#6ccb78;text-decoration:none;display:inline-flex;align-items:center;gap:4px;transition:color .2s ease}::ng-deep .metadata-panel .feature-title a:hover{color:#85d990;text-decoration:underline}::ng-deep .metadata-panel .feature-title a .link-icon{font-size:16px;width:16px;height:16px}::ng-deep .metadata-panel .secondary-item{color:#fff;font-weight:400}::ng-deep .geometry-search-panel{max-height:360px!important;overflow-y:auto!important;max-width:430px;background:#4c4d51!important;border:1px solid rgba(255,255,255,.07);border-bottom-right-radius:5px;border-bottom-left-radius:5px;box-shadow:0 8px 24px #00000026!important}::ng-deep .geometry-search-panel::-webkit-scrollbar{width:4px}::ng-deep .geometry-search-panel::-webkit-scrollbar-track{background:transparent}::ng-deep .geometry-search-panel::-webkit-scrollbar-thumb{background:#ffffff1a;border-radius:10px}::ng-deep .geometry-search-panel::-webkit-scrollbar-thumb:hover{background:#fff3}::ng-deep .geometry-search-panel .buffer-item{display:flex;align-items:center;gap:8px;padding:10px 14px 8px;background:#0003;border-bottom:1px solid rgba(255,255,255,.06)}::ng-deep .geometry-search-panel .buffer-item mat-label{color:#9ca3af;font-size:12px;font-weight:500;letter-spacing:.3px}::ng-deep .geometry-search-panel .buffer-item input{width:52px;margin:0;background:#3a3d42;border:1px solid rgba(255,255,255,.1);border-radius:5px;color:#fff;font-size:12px;padding:4px 8px;text-align:center;outline:none;transition:border-color .15s ease}::ng-deep .geometry-search-panel .buffer-item input:focus{border-color:#f7b528}::ng-deep .geometry-search-panel .result-title{display:flex;align-items:center;justify-content:space-between;font-size:14px;font-weight:600;color:#bdc1c3cc;position:sticky;top:0;z-index:1}::ng-deep .geometry-search-panel .result-title .delete-all-icon{float:none;padding-top:0;font-size:18px;cursor:pointer;color:#bdc1c3cc}::ng-deep .geometry-search-panel .result-title .delete-all-icon:hover{color:#d3d3d3}::ng-deep .geometry-search-panel .search-result-item{display:flex;flex-direction:column;gap:5px;padding:8px 14px;cursor:pointer;border-left:2px solid transparent;transition:background .12s ease,border-color .12s ease}::ng-deep .geometry-search-panel .search-result-item+.search-result-item{border-top:1px solid rgba(255,255,255,.04)}::ng-deep .geometry-search-panel .search-result-item:hover{background:#ffffff09}::ng-deep .geometry-search-panel .search-result-item:hover .item-header{color:#fff}::ng-deep .geometry-search-panel .search-result-item:last-child{border-radius:0 0 10px 10px}::ng-deep .geometry-search-panel .item-header{color:#d1d5db;font-size:14px;font-weight:500;line-height:1.4;display:block;word-wrap:break-word;overflow-wrap:break-word;transition:color .12s ease}::ng-deep .geometry-search-panel .item-right{display:flex;align-items:center;gap:3px;flex-wrap:wrap;width:100%}::ng-deep .geometry-search-panel .item-right .custom-image-icon{width:26px;height:26px;flex-shrink:0;display:flex;align-items:center;justify-content:center;background:#fff!important;border:1px solid rgba(255,255,255,0);border-radius:5px;transition:background .15s ease,border-color .15s ease,box-shadow .15s ease!important}::ng-deep .geometry-search-panel .item-right .custom-image-icon:hover{background:#ffffff0d!important;box-shadow:0 0 0 1px #f7b5282e}::ng-deep .geometry-search-panel .item-right mat-icon{font-size:18px!important;color:#bdc1c3cc}::ng-deep .geometry-search-panel .item-right mat-icon:hover{color:#d3d3d3!important}::ng-deep .geometry-search-panel .mat-mdc-option{min-height:30px!important;border-radius:5px!important;transition:all .2s cubic-bezier(.4,0,.2,1);position:relative;overflow:auto}::ng-deep .geometry-search-panel .mat-mdc-option .mdc-list-item__primary-text{color:#fff}::ng-deep .geometry-search-panel mat-label{color:#fff}::ng-deep .mat-mdc-simple-snack-bar{background-color:#fff!important}@media (max-width: 768px){.toolbox-wrapper{left:.5em;top:8em;max-width:calc(100vw - 2.5em)}.drag-handle-toolbox{padding:3px 6px;gap:6px}.drag-handle-toolbox mat-icon{font-size:16px;width:16px;height:16px}.toggle-icon{font-size:16px!important;width:16px!important;height:16px!important}.toolbox-container{min-width:28px;max-width:calc(100vw - 3em)}:host{padding:8px;min-width:32px}:host.expanded{min-width:280px;padding:10px}.all-tools-container{flex-wrap:wrap;gap:6px;max-height:50vh;overflow-y:auto;padding:0;-ms-overflow-style:none;scrollbar-width:none}.all-tools-container::-webkit-scrollbar{display:none}.main-tools,.geometry-tools,.measurement-print-tools,.print-tools{display:flex;flex-wrap:wrap;justify-content:center;gap:4px}.compact-icon{width:28px;height:28px;flex-shrink:0}.measurement-print-tools{padding:3px 0}.geometry-selector{width:30%;margin-bottom:8px}.geometry-selector ::ng-deep .mat-mdc-select-trigger{height:28px;min-height:28px;padding:0 8px;font-size:12px}.geometry-selector ::ng-deep .mat-mdc-select-value{font-size:12px}::ng-deep .mat-mdc-select-panel{max-width:calc(100vw - 2em)!important}::ng-deep .mat-mdc-select-panel .mat-mdc-option{font-size:13px!important;min-height:32px!important;padding:6px 12px!important}.print-config,.print-draw-config{flex-direction:column;align-items:stretch;gap:6px}.print-config select,.print-config input,.print-draw-config select,.print-draw-config input{font-size:11px;padding:4px 8px;height:28px;min-height:28px}.print-config input,.print-draw-config input{width:50px}.print-config button,.print-draw-config button{padding:4px 8px;font-size:11px;height:28px}.wkt-section .compact-input{font-size:12px;padding:6px 8px}.wkt-section .compact-button{font-size:11px;padding:5px 8px;min-height:28px}::ng-deep .mat-mdc-slide-toggle .mdc-label{font-size:11px!important}.geometry-search-panel{width:calc(100vw - 40px);max-width:400px;left:50%;max-height:70vh}.search-result-item{padding:8px 12px}.item-header{font-size:13px}.result-title{padding:10px 12px;font-size:13px}}.geometry-search-result-item{display:flex;padding:4px 0;cursor:pointer;transition:background-color .15s ease;border-radius:5px}.geometry-search-result-item .item-header{width:260px}.geometry-search-result-item .item-right{display:flex;flex-direction:row;align-items:center;justify-content:flex-end}@media (max-width: 480px){.toolbox-wrapper{left:.25em;top:6em;transform-origin:left top;max-width:calc(100vw - .5em)}.drag-handle-toolbox{padding:2px 4px;gap:4px}.drag-handle-toolbox mat-icon{font-size:14px;width:14px;height:14px}.toggle-icon{font-size:14px!important;width:14px!important;height:14px!important}.toolbox-container{padding:2px;min-width:24px}.all-tools-container{flex-direction:row;align-items:center;max-height:60vh}.main-tools,.geometry-tools{gap:3px;flex-wrap:wrap;justify-content:center}.measurement-print-tools{gap:3px;flex-wrap:wrap;padding:2px 4px;width:100%;justify-content:center}.measurement-tools,.print-tools{gap:3px}.compact-icon{width:26px;height:26px}.tool-separator{display:none}.geometry-selector ::ng-deep .mat-mdc-select-trigger{height:26px;min-height:26px;padding:0 6px;font-size:11px}.geometry-selector ::ng-deep .mat-mdc-select-value{font-size:11px}.compact-button{font-size:10px;padding:4px 6px;min-height:26px}.compact-input{font-size:11px;padding:4px 6px}.print-config,.print-draw-config{gap:4px;padding:6px}.print-config select,.print-config input,.print-draw-config select,.print-draw-config input{font-size:10px;height:26px;min-height:26px;padding:2px 6px}.print-config input,.print-draw-config input{width:45px}.print-config button,.print-draw-config button{flex:1;min-width:60px;font-size:10px;padding:3px 6px;height:26px}.print-config .icon-separator,.print-draw-config .icon-separator{font-size:10px}.wkt-section{gap:6px;padding-top:8px}::ng-deep .mat-mdc-slide-toggle .mdc-label{font-size:10px!important}::ng-deep .mat-mdc-select-panel{max-width:calc(100vw - 1em)!important}::ng-deep .mat-mdc-select-panel .mat-mdc-option{font-size:12px!important;min-height:28px!important;padding:4px 10px!important}.geometry-search-panel{width:calc(100vw - 32px);max-height:60vh}.search-result-item{padding:6px 10px}.item-header{font-size:12px;-webkit-line-clamp:1}}\n"] }]
4588
4597
  }], ctorParameters: () => [], propDecorators: { map: [{
4589
4598
  type: Input,
4590
4599
  args: [{ required: true }]
@@ -5288,12 +5297,12 @@ class LegendsListComponent {
5288
5297
  }));
5289
5298
  }
5290
5299
  static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.15", ngImport: i0, type: LegendsListComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
5291
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "19.2.15", type: LegendsListComponent, isStandalone: true, selector: "lib-legends-list", inputs: { map: "map", profile: "profile" }, usesOnChanges: true, ngImport: i0, template: "<div class=\"legends-list-body-wrapper global-wrapper-container\" \n cdkDrag \n cdkDragBoundary=\".map-container\" \n [cdkDragFreeDragPosition]=\"dragPosition\"\n (cdkDragEnded)=\"onDragEnded($event)\"\n [class.collapsed]=\"collapsed\">\n\n <div class=\"drag-handle-legends\" cdkDragHandle>\n <mat-icon \n class=\"legend-icon\" \n matTooltip=\"Signaturforklaring\" \n (click)=\"toggleLegendsList()\"\n [matTooltipShowDelay]=\"500\"\n [matTooltipHideDelay]=\"100\" \n matTooltipPosition=\"above\">\n area_chart\n </mat-icon>\n <div class=\"right-icons\">\n <mat-icon class=\"toggle-icon\" (click)=\"toggleLegendsList()\">\n {{ collapsed ? 'flip_to_front' : 'remove' }}\n </mat-icon>\n </div>\n</div>\n\n<div class=\"legends-list-container\">\n @if(!collapsed) {\n <div class=\"ol-unselectable ol-control legends-list-body\">\n <div class=\"item-list\">\n @for (layer of filteredLayersDetailed; track layer.id; let i = $index) {\n @if (layer.imageUrl) {\n <mat-expansion-panel [expanded]=\"i === 0\"> \n <mat-expansion-panel-header>\n <span class=\"panel-title\">\n {{ layer.name }}\n </span>\n </mat-expansion-panel-header>\n <div class=\"legend\">\n <img [src]=\"layer.imageUrl\" class=\"legend-thumbnail\"/>\n </div>\n </mat-expansion-panel>\n }\n }\n </div>\n </div>\n}\n</div>\n</div>", styles: [".legends-list-body-wrapper{position:absolute;top:0!important;left:0!important;margin:0!important;z-index:1000;box-shadow:0 2px 10px #0000001a;width:350px;box-sizing:border-box;transition:width .3s ease,max-width .3s ease;border-radius:5px}.legends-list-body-wrapper.collapsed .drag-handle-legends{box-sizing:border-box}.legends-list-body-wrapper.collapsed .drag-handle-legends .legend-icon{margin-right:0}.legends-list-body-wrapper.cdk-drag-dragging{opacity:.8;cursor:grabbing;z-index:1001}@media (max-width: 1024px){.legends-list-body-wrapper{width:240px;max-width:240px;min-width:240px}.legends-list-body-wrapper.collapsed{width:90px!important;max-width:90px!important;min-width:90px!important}}@media (max-width: 768px){.legends-list-body-wrapper{right:1em;width:calc(100% - 2em);max-width:350px;min-width:unset}.legends-list-body-wrapper.collapsed{width:90px!important;max-width:90px!important;min-width:90px!important;left:auto;right:1em}}@media (max-width: 480px){.legends-list-body-wrapper.collapsed{width:90px!important;max-width:90px!important;min-width:90px!important}}.drag-handle-legends .legend-icon{font-size:18px;cursor:default!important;transition:all .2s ease;display:flex;align-items:center;justify-content:center}.drag-handle-legends .toggle-icon{cursor:pointer!important;transition:all .2s ease;-webkit-user-select:none;user-select:none;font-size:18px!important;display:flex;align-items:center;justify-content:center;flex-shrink:0}.drag-handle-legends .toggle-icon:hover{color:#d3d3d3}.right-icons{display:flex;align-items:center;gap:10px}.legends-list-container{display:flex;flex-direction:column;align-items:center;width:100%;transition:all .3s ease;cursor:default;box-sizing:border-box}.panel-title{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:100%}::ng-deep .legends-list-body{position:relative;left:auto;right:auto;bottom:auto;z-index:auto;width:100%;max-height:610px;min-height:80px;overflow:hidden;display:flex;flex-direction:column}@media (max-width: 1024px){::ng-deep .legends-list-body{max-height:450px;min-height:70px}}@media (max-width: 768px){::ng-deep .legends-list-body{max-height:60vh;max-height:calc(var(--vh, 1vh) * 60);min-height:100px}}@media (max-width: 480px){::ng-deep .legends-list-body{max-height:70vh;max-height:calc(var(--vh, 1vh) * 70);min-height:90px}}::ng-deep .legends-list-body .item-list{flex:1 1 auto;overflow-y:auto}@media (max-width: 768px){::ng-deep .legends-list-body .item-list{padding:6px;max-height:400px}}::ng-deep .legends-list-body .item-list mat-expansion-panel{border-radius:0!important;box-shadow:none!important;width:100%;background:transparent}::ng-deep .legends-list-body .item-list mat-expansion-panel.mat-expansion-panel{background:transparent}::ng-deep .legends-list-body .item-list mat-expansion-panel .mat-expansion-panel-header{box-sizing:border-box;width:100%;overflow:hidden}::ng-deep .legends-list-body .item-list mat-expansion-panel .mat-expansion-panel-header .mat-content{overflow:hidden;min-width:0}::ng-deep .legends-list-body .item-list mat-expansion-panel .mat-expansion-panel-body{padding:12px 16px;background:#0003}::ng-deep .legends-list-body .item-list .legend{overflow:hidden}::ng-deep .legends-list-body .item-list .legend span{color:#fff}.legend-thumbnail{width:100%;max-width:100%;height:auto;border:1px solid #dee2e6;display:block;border-radius:5px;box-sizing:border-box}@media (max-width: 768px){.legend-thumbnail{padding:3px}}::ng-deep .legends-list-body .item-list::-webkit-scrollbar{width:12px}::ng-deep .legends-list-body .item-list::-webkit-scrollbar-track{background:#757474;border-radius:8px}::ng-deep .legends-list-body .item-list::-webkit-scrollbar-thumb{background:#1a1c1f;border-radius:8px;border:2px solid #2a2c30}::ng-deep .legends-list-body .item-list::-webkit-scrollbar-thumb:hover{background:#0f1012}::ng-deep .legends-list-body .item-list::-webkit-scrollbar-button{width:12px;height:16px;background:#2a2c30;border:1px solid #1a1c1f}::ng-deep .legends-list-body .item-list::-webkit-scrollbar-button:vertical:decrement{background:#2a2c30 url(\"data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 12 12'%3E%3Cpath fill='%23ffffff' d='M6 4l-4 4h8z'/%3E%3C/svg%3E\") no-repeat center;border-radius:8px 8px 0 0}::ng-deep .legends-list-body .item-list::-webkit-scrollbar-button:vertical:decrement:hover{background-color:#1a1c1f}::ng-deep .legends-list-body .item-list::-webkit-scrollbar-button:vertical:increment{background:#2a2c30 url(\"data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 12 12'%3E%3Cpath fill='%23ffffff' d='M6 8l4-4H2z'/%3E%3C/svg%3E\") no-repeat center;border-radius:0 0 8px 8px}::ng-deep .legends-list-body .item-list::-webkit-scrollbar-button:vertical:increment:hover{background-color:#1a1c1f}::ng-deep .mat-expansion-indicator:after{color:#bdc1c3cc!important}::ng-deep .mat-expansion-panel-header.mat-expanded .mat-expansion-indicator:after{color:#fff!important}@media (max-width: 768px){.legends-list-body-wrapper{right:.5em;max-width:350px}}@media (max-width: 480px){.legends-list-body-wrapper{right:.5em;left:.5em;max-width:calc(100vw - 1em);width:auto}.legends-list-body-wrapper.collapsed{width:90px;left:auto}::ng-deep .legends-list-body .item-list{max-height:300px}}\n"], dependencies: [{ kind: "ngmodule", type: MatFormFieldModule }, { kind: "ngmodule", type: CommonModule }, { kind: "ngmodule", type: MatIconModule }, { kind: "component", type: i2.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "ngmodule", type: FormsModule }, { kind: "ngmodule", type: DragDropModule }, { kind: "directive", type: i5.CdkDrag, selector: "[cdkDrag]", inputs: ["cdkDragData", "cdkDragLockAxis", "cdkDragRootElement", "cdkDragBoundary", "cdkDragStartDelay", "cdkDragFreeDragPosition", "cdkDragDisabled", "cdkDragConstrainPosition", "cdkDragPreviewClass", "cdkDragPreviewContainer", "cdkDragScale"], outputs: ["cdkDragStarted", "cdkDragReleased", "cdkDragEnded", "cdkDragEntered", "cdkDragExited", "cdkDragDropped", "cdkDragMoved"], exportAs: ["cdkDrag"] }, { kind: "directive", type: i5.CdkDragHandle, selector: "[cdkDragHandle]", inputs: ["cdkDragHandleDisabled"] }, { kind: "ngmodule", type: MatExpansionModule }, { kind: "component", type: i6.MatExpansionPanel, selector: "mat-expansion-panel", inputs: ["hideToggle", "togglePosition"], outputs: ["afterExpand", "afterCollapse"], exportAs: ["matExpansionPanel"] }, { kind: "component", type: i6.MatExpansionPanelHeader, selector: "mat-expansion-panel-header", inputs: ["expandedHeight", "collapsedHeight", "tabIndex"] }, { kind: "ngmodule", type: MatInputModule }, { kind: "ngmodule", type: MatTooltipModule }, { kind: "directive", type: i8.MatTooltip, selector: "[matTooltip]", inputs: ["matTooltipPosition", "matTooltipPositionAtOrigin", "matTooltipDisabled", "matTooltipShowDelay", "matTooltipHideDelay", "matTooltipTouchGestures", "matTooltip", "matTooltipClass"], exportAs: ["matTooltip"] }] });
5300
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "19.2.15", type: LegendsListComponent, isStandalone: true, selector: "lib-legends-list", inputs: { map: "map", profile: "profile" }, usesOnChanges: true, ngImport: i0, template: "<div class=\"legends-list-body-wrapper global-wrapper-container\" \n cdkDrag \n cdkDragBoundary=\".map-container\" \n [cdkDragFreeDragPosition]=\"dragPosition\"\n (cdkDragEnded)=\"onDragEnded($event)\"\n [class.collapsed]=\"collapsed\">\n\n <div class=\"drag-handle-legends\" cdkDragHandle>\n <mat-icon \n class=\"legend-icon\" \n matTooltip=\"Signaturforklaring\" \n (click)=\"toggleLegendsList()\"\n [matTooltipShowDelay]=\"500\"\n [matTooltipHideDelay]=\"100\" \n matTooltipPosition=\"above\">\n area_chart\n </mat-icon>\n <div class=\"right-icons\">\n <mat-icon class=\"toggle-icon\" (click)=\"toggleLegendsList()\">\n {{ collapsed ? 'flip_to_front' : 'remove' }}\n </mat-icon>\n </div>\n</div>\n\n<div class=\"legends-list-container\">\n @if(!collapsed) {\n <div class=\"ol-unselectable ol-control legends-list-body\">\n <div class=\"item-list\">\n @for (layer of filteredLayersDetailed; track layer.id; let i = $index) {\n @if (layer.imageUrl) {\n <mat-expansion-panel [expanded]=\"i === 0\"> \n <mat-expansion-panel-header>\n <span class=\"panel-title\">\n {{ layer.name }}\n </span>\n </mat-expansion-panel-header>\n <div class=\"legend\">\n <img [src]=\"layer.imageUrl\" class=\"legend-thumbnail\"/>\n </div>\n </mat-expansion-panel>\n }\n }\n </div>\n </div>\n}\n</div>\n</div>", styles: [".legends-list-body-wrapper{position:absolute;top:0!important;left:0!important;margin:0!important;z-index:1000;box-shadow:0 2px 10px #0000001a;width:350px;box-sizing:border-box;transition:width .3s ease,max-width .3s ease;border-radius:5px}.legends-list-body-wrapper.collapsed .drag-handle-legends{box-sizing:border-box}.legends-list-body-wrapper.collapsed .drag-handle-legends .legend-icon{margin-right:0}.legends-list-body-wrapper.cdk-drag-dragging{opacity:.8;cursor:grabbing;z-index:1001}@media (max-width: 1024px){.legends-list-body-wrapper{width:240px;max-width:240px;min-width:240px}.legends-list-body-wrapper.collapsed{width:90px!important;max-width:90px!important;min-width:90px!important}}@media (max-width: 768px){.legends-list-body-wrapper{right:1em;width:calc(100% - 2em);max-width:350px;min-width:unset}.legends-list-body-wrapper.collapsed{width:90px!important;max-width:90px!important;min-width:90px!important;left:auto;right:1em}}@media (max-width: 480px){.legends-list-body-wrapper.collapsed{width:90px!important;max-width:90px!important;min-width:90px!important}}.drag-handle-legends .legend-icon{font-size:18px;cursor:default!important;transition:all .2s ease;display:flex;align-items:center;justify-content:center}.drag-handle-legends .toggle-icon{cursor:pointer!important;transition:all .2s ease;-webkit-user-select:none;user-select:none;font-size:18px!important;display:flex;align-items:center;justify-content:center;flex-shrink:0}.drag-handle-legends .toggle-icon:hover{color:#d3d3d3}.right-icons{display:flex;align-items:center;gap:10px}.legends-list-container{display:flex;flex-direction:column;align-items:center;width:100%;transition:all .3s ease;cursor:default;box-sizing:border-box}.panel-title{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:100%}::ng-deep .legends-list-body{position:relative;left:auto;right:auto;bottom:auto;z-index:auto;width:100%;max-height:610px;min-height:80px;overflow:hidden;display:flex;flex-direction:column}@media (max-width: 1024px){::ng-deep .legends-list-body{max-height:450px;min-height:70px}}@media (max-width: 768px){::ng-deep .legends-list-body{max-height:60vh;max-height:calc(var(--vh, 1vh) * 60);min-height:100px}}@media (max-width: 480px){::ng-deep .legends-list-body{max-height:70vh;max-height:calc(var(--vh, 1vh) * 70);min-height:90px}}::ng-deep .legends-list-body .item-list{flex:1 1 auto;overflow-y:auto}@media (max-width: 768px){::ng-deep .legends-list-body .item-list{padding:6px;max-height:400px}}::ng-deep .legends-list-body .item-list mat-expansion-panel{border-radius:0!important;box-shadow:none!important;width:100%;background:transparent}::ng-deep .legends-list-body .item-list mat-expansion-panel.mat-expansion-panel{background:transparent}::ng-deep .legends-list-body .item-list mat-expansion-panel .mat-expansion-panel-header{box-sizing:border-box;width:100%;overflow:hidden}::ng-deep .legends-list-body .item-list mat-expansion-panel .mat-expansion-panel-header .mat-content{overflow:hidden;min-width:0}::ng-deep .legends-list-body .item-list mat-expansion-panel .mat-expansion-panel-body{padding:12px 16px;background:#0003}::ng-deep .legends-list-body .item-list .legend{overflow:hidden}::ng-deep .legends-list-body .item-list .legend span{color:#fff}.legend-thumbnail{max-width:100%;height:auto;border:1px solid #dee2e6;display:block;border-radius:5px;box-sizing:border-box}@media (max-width: 768px){.legend-thumbnail{padding:3px}}::ng-deep .legends-list-body .item-list::-webkit-scrollbar{width:12px}::ng-deep .legends-list-body .item-list::-webkit-scrollbar-track{background:#757474;border-radius:8px}::ng-deep .legends-list-body .item-list::-webkit-scrollbar-thumb{background:#1a1c1f;border-radius:8px;border:2px solid #2a2c30}::ng-deep .legends-list-body .item-list::-webkit-scrollbar-thumb:hover{background:#0f1012}::ng-deep .legends-list-body .item-list::-webkit-scrollbar-button{width:12px;height:16px;background:#2a2c30;border:1px solid #1a1c1f}::ng-deep .legends-list-body .item-list::-webkit-scrollbar-button:vertical:decrement{background:#2a2c30 url(\"data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 12 12'%3E%3Cpath fill='%23ffffff' d='M6 4l-4 4h8z'/%3E%3C/svg%3E\") no-repeat center;border-radius:8px 8px 0 0}::ng-deep .legends-list-body .item-list::-webkit-scrollbar-button:vertical:decrement:hover{background-color:#1a1c1f}::ng-deep .legends-list-body .item-list::-webkit-scrollbar-button:vertical:increment{background:#2a2c30 url(\"data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 12 12'%3E%3Cpath fill='%23ffffff' d='M6 8l4-4H2z'/%3E%3C/svg%3E\") no-repeat center;border-radius:0 0 8px 8px}::ng-deep .legends-list-body .item-list::-webkit-scrollbar-button:vertical:increment:hover{background-color:#1a1c1f}::ng-deep .mat-expansion-indicator:after{color:#bdc1c3cc!important}::ng-deep .mat-expansion-panel-header.mat-expanded .mat-expansion-indicator:after{color:#fff!important}@media (max-width: 768px){.legends-list-body-wrapper{right:.5em;max-width:350px}}@media (max-width: 480px){.legends-list-body-wrapper{right:.5em;left:.5em;max-width:calc(100vw - 1em);width:auto}.legends-list-body-wrapper.collapsed{width:90px;left:auto}::ng-deep .legends-list-body .item-list{max-height:300px}}\n"], dependencies: [{ kind: "ngmodule", type: MatFormFieldModule }, { kind: "ngmodule", type: CommonModule }, { kind: "ngmodule", type: MatIconModule }, { kind: "component", type: i2.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "ngmodule", type: FormsModule }, { kind: "ngmodule", type: DragDropModule }, { kind: "directive", type: i5.CdkDrag, selector: "[cdkDrag]", inputs: ["cdkDragData", "cdkDragLockAxis", "cdkDragRootElement", "cdkDragBoundary", "cdkDragStartDelay", "cdkDragFreeDragPosition", "cdkDragDisabled", "cdkDragConstrainPosition", "cdkDragPreviewClass", "cdkDragPreviewContainer", "cdkDragScale"], outputs: ["cdkDragStarted", "cdkDragReleased", "cdkDragEnded", "cdkDragEntered", "cdkDragExited", "cdkDragDropped", "cdkDragMoved"], exportAs: ["cdkDrag"] }, { kind: "directive", type: i5.CdkDragHandle, selector: "[cdkDragHandle]", inputs: ["cdkDragHandleDisabled"] }, { kind: "ngmodule", type: MatExpansionModule }, { kind: "component", type: i6.MatExpansionPanel, selector: "mat-expansion-panel", inputs: ["hideToggle", "togglePosition"], outputs: ["afterExpand", "afterCollapse"], exportAs: ["matExpansionPanel"] }, { kind: "component", type: i6.MatExpansionPanelHeader, selector: "mat-expansion-panel-header", inputs: ["expandedHeight", "collapsedHeight", "tabIndex"] }, { kind: "ngmodule", type: MatInputModule }, { kind: "ngmodule", type: MatTooltipModule }, { kind: "directive", type: i8.MatTooltip, selector: "[matTooltip]", inputs: ["matTooltipPosition", "matTooltipPositionAtOrigin", "matTooltipDisabled", "matTooltipShowDelay", "matTooltipHideDelay", "matTooltipTouchGestures", "matTooltip", "matTooltipClass"], exportAs: ["matTooltip"] }] });
5292
5301
  }
5293
5302
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.15", ngImport: i0, type: LegendsListComponent, decorators: [{
5294
5303
  type: Component,
5295
5304
  args: [{ selector: 'lib-legends-list', imports: [MatFormFieldModule, CommonModule, MatIconModule, FormsModule, DragDropModule,
5296
- MatExpansionModule, MatInputModule, MatTooltipModule], template: "<div class=\"legends-list-body-wrapper global-wrapper-container\" \n cdkDrag \n cdkDragBoundary=\".map-container\" \n [cdkDragFreeDragPosition]=\"dragPosition\"\n (cdkDragEnded)=\"onDragEnded($event)\"\n [class.collapsed]=\"collapsed\">\n\n <div class=\"drag-handle-legends\" cdkDragHandle>\n <mat-icon \n class=\"legend-icon\" \n matTooltip=\"Signaturforklaring\" \n (click)=\"toggleLegendsList()\"\n [matTooltipShowDelay]=\"500\"\n [matTooltipHideDelay]=\"100\" \n matTooltipPosition=\"above\">\n area_chart\n </mat-icon>\n <div class=\"right-icons\">\n <mat-icon class=\"toggle-icon\" (click)=\"toggleLegendsList()\">\n {{ collapsed ? 'flip_to_front' : 'remove' }}\n </mat-icon>\n </div>\n</div>\n\n<div class=\"legends-list-container\">\n @if(!collapsed) {\n <div class=\"ol-unselectable ol-control legends-list-body\">\n <div class=\"item-list\">\n @for (layer of filteredLayersDetailed; track layer.id; let i = $index) {\n @if (layer.imageUrl) {\n <mat-expansion-panel [expanded]=\"i === 0\"> \n <mat-expansion-panel-header>\n <span class=\"panel-title\">\n {{ layer.name }}\n </span>\n </mat-expansion-panel-header>\n <div class=\"legend\">\n <img [src]=\"layer.imageUrl\" class=\"legend-thumbnail\"/>\n </div>\n </mat-expansion-panel>\n }\n }\n </div>\n </div>\n}\n</div>\n</div>", styles: [".legends-list-body-wrapper{position:absolute;top:0!important;left:0!important;margin:0!important;z-index:1000;box-shadow:0 2px 10px #0000001a;width:350px;box-sizing:border-box;transition:width .3s ease,max-width .3s ease;border-radius:5px}.legends-list-body-wrapper.collapsed .drag-handle-legends{box-sizing:border-box}.legends-list-body-wrapper.collapsed .drag-handle-legends .legend-icon{margin-right:0}.legends-list-body-wrapper.cdk-drag-dragging{opacity:.8;cursor:grabbing;z-index:1001}@media (max-width: 1024px){.legends-list-body-wrapper{width:240px;max-width:240px;min-width:240px}.legends-list-body-wrapper.collapsed{width:90px!important;max-width:90px!important;min-width:90px!important}}@media (max-width: 768px){.legends-list-body-wrapper{right:1em;width:calc(100% - 2em);max-width:350px;min-width:unset}.legends-list-body-wrapper.collapsed{width:90px!important;max-width:90px!important;min-width:90px!important;left:auto;right:1em}}@media (max-width: 480px){.legends-list-body-wrapper.collapsed{width:90px!important;max-width:90px!important;min-width:90px!important}}.drag-handle-legends .legend-icon{font-size:18px;cursor:default!important;transition:all .2s ease;display:flex;align-items:center;justify-content:center}.drag-handle-legends .toggle-icon{cursor:pointer!important;transition:all .2s ease;-webkit-user-select:none;user-select:none;font-size:18px!important;display:flex;align-items:center;justify-content:center;flex-shrink:0}.drag-handle-legends .toggle-icon:hover{color:#d3d3d3}.right-icons{display:flex;align-items:center;gap:10px}.legends-list-container{display:flex;flex-direction:column;align-items:center;width:100%;transition:all .3s ease;cursor:default;box-sizing:border-box}.panel-title{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:100%}::ng-deep .legends-list-body{position:relative;left:auto;right:auto;bottom:auto;z-index:auto;width:100%;max-height:610px;min-height:80px;overflow:hidden;display:flex;flex-direction:column}@media (max-width: 1024px){::ng-deep .legends-list-body{max-height:450px;min-height:70px}}@media (max-width: 768px){::ng-deep .legends-list-body{max-height:60vh;max-height:calc(var(--vh, 1vh) * 60);min-height:100px}}@media (max-width: 480px){::ng-deep .legends-list-body{max-height:70vh;max-height:calc(var(--vh, 1vh) * 70);min-height:90px}}::ng-deep .legends-list-body .item-list{flex:1 1 auto;overflow-y:auto}@media (max-width: 768px){::ng-deep .legends-list-body .item-list{padding:6px;max-height:400px}}::ng-deep .legends-list-body .item-list mat-expansion-panel{border-radius:0!important;box-shadow:none!important;width:100%;background:transparent}::ng-deep .legends-list-body .item-list mat-expansion-panel.mat-expansion-panel{background:transparent}::ng-deep .legends-list-body .item-list mat-expansion-panel .mat-expansion-panel-header{box-sizing:border-box;width:100%;overflow:hidden}::ng-deep .legends-list-body .item-list mat-expansion-panel .mat-expansion-panel-header .mat-content{overflow:hidden;min-width:0}::ng-deep .legends-list-body .item-list mat-expansion-panel .mat-expansion-panel-body{padding:12px 16px;background:#0003}::ng-deep .legends-list-body .item-list .legend{overflow:hidden}::ng-deep .legends-list-body .item-list .legend span{color:#fff}.legend-thumbnail{width:100%;max-width:100%;height:auto;border:1px solid #dee2e6;display:block;border-radius:5px;box-sizing:border-box}@media (max-width: 768px){.legend-thumbnail{padding:3px}}::ng-deep .legends-list-body .item-list::-webkit-scrollbar{width:12px}::ng-deep .legends-list-body .item-list::-webkit-scrollbar-track{background:#757474;border-radius:8px}::ng-deep .legends-list-body .item-list::-webkit-scrollbar-thumb{background:#1a1c1f;border-radius:8px;border:2px solid #2a2c30}::ng-deep .legends-list-body .item-list::-webkit-scrollbar-thumb:hover{background:#0f1012}::ng-deep .legends-list-body .item-list::-webkit-scrollbar-button{width:12px;height:16px;background:#2a2c30;border:1px solid #1a1c1f}::ng-deep .legends-list-body .item-list::-webkit-scrollbar-button:vertical:decrement{background:#2a2c30 url(\"data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 12 12'%3E%3Cpath fill='%23ffffff' d='M6 4l-4 4h8z'/%3E%3C/svg%3E\") no-repeat center;border-radius:8px 8px 0 0}::ng-deep .legends-list-body .item-list::-webkit-scrollbar-button:vertical:decrement:hover{background-color:#1a1c1f}::ng-deep .legends-list-body .item-list::-webkit-scrollbar-button:vertical:increment{background:#2a2c30 url(\"data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 12 12'%3E%3Cpath fill='%23ffffff' d='M6 8l4-4H2z'/%3E%3C/svg%3E\") no-repeat center;border-radius:0 0 8px 8px}::ng-deep .legends-list-body .item-list::-webkit-scrollbar-button:vertical:increment:hover{background-color:#1a1c1f}::ng-deep .mat-expansion-indicator:after{color:#bdc1c3cc!important}::ng-deep .mat-expansion-panel-header.mat-expanded .mat-expansion-indicator:after{color:#fff!important}@media (max-width: 768px){.legends-list-body-wrapper{right:.5em;max-width:350px}}@media (max-width: 480px){.legends-list-body-wrapper{right:.5em;left:.5em;max-width:calc(100vw - 1em);width:auto}.legends-list-body-wrapper.collapsed{width:90px;left:auto}::ng-deep .legends-list-body .item-list{max-height:300px}}\n"] }]
5305
+ MatExpansionModule, MatInputModule, MatTooltipModule], template: "<div class=\"legends-list-body-wrapper global-wrapper-container\" \n cdkDrag \n cdkDragBoundary=\".map-container\" \n [cdkDragFreeDragPosition]=\"dragPosition\"\n (cdkDragEnded)=\"onDragEnded($event)\"\n [class.collapsed]=\"collapsed\">\n\n <div class=\"drag-handle-legends\" cdkDragHandle>\n <mat-icon \n class=\"legend-icon\" \n matTooltip=\"Signaturforklaring\" \n (click)=\"toggleLegendsList()\"\n [matTooltipShowDelay]=\"500\"\n [matTooltipHideDelay]=\"100\" \n matTooltipPosition=\"above\">\n area_chart\n </mat-icon>\n <div class=\"right-icons\">\n <mat-icon class=\"toggle-icon\" (click)=\"toggleLegendsList()\">\n {{ collapsed ? 'flip_to_front' : 'remove' }}\n </mat-icon>\n </div>\n</div>\n\n<div class=\"legends-list-container\">\n @if(!collapsed) {\n <div class=\"ol-unselectable ol-control legends-list-body\">\n <div class=\"item-list\">\n @for (layer of filteredLayersDetailed; track layer.id; let i = $index) {\n @if (layer.imageUrl) {\n <mat-expansion-panel [expanded]=\"i === 0\"> \n <mat-expansion-panel-header>\n <span class=\"panel-title\">\n {{ layer.name }}\n </span>\n </mat-expansion-panel-header>\n <div class=\"legend\">\n <img [src]=\"layer.imageUrl\" class=\"legend-thumbnail\"/>\n </div>\n </mat-expansion-panel>\n }\n }\n </div>\n </div>\n}\n</div>\n</div>", styles: [".legends-list-body-wrapper{position:absolute;top:0!important;left:0!important;margin:0!important;z-index:1000;box-shadow:0 2px 10px #0000001a;width:350px;box-sizing:border-box;transition:width .3s ease,max-width .3s ease;border-radius:5px}.legends-list-body-wrapper.collapsed .drag-handle-legends{box-sizing:border-box}.legends-list-body-wrapper.collapsed .drag-handle-legends .legend-icon{margin-right:0}.legends-list-body-wrapper.cdk-drag-dragging{opacity:.8;cursor:grabbing;z-index:1001}@media (max-width: 1024px){.legends-list-body-wrapper{width:240px;max-width:240px;min-width:240px}.legends-list-body-wrapper.collapsed{width:90px!important;max-width:90px!important;min-width:90px!important}}@media (max-width: 768px){.legends-list-body-wrapper{right:1em;width:calc(100% - 2em);max-width:350px;min-width:unset}.legends-list-body-wrapper.collapsed{width:90px!important;max-width:90px!important;min-width:90px!important;left:auto;right:1em}}@media (max-width: 480px){.legends-list-body-wrapper.collapsed{width:90px!important;max-width:90px!important;min-width:90px!important}}.drag-handle-legends .legend-icon{font-size:18px;cursor:default!important;transition:all .2s ease;display:flex;align-items:center;justify-content:center}.drag-handle-legends .toggle-icon{cursor:pointer!important;transition:all .2s ease;-webkit-user-select:none;user-select:none;font-size:18px!important;display:flex;align-items:center;justify-content:center;flex-shrink:0}.drag-handle-legends .toggle-icon:hover{color:#d3d3d3}.right-icons{display:flex;align-items:center;gap:10px}.legends-list-container{display:flex;flex-direction:column;align-items:center;width:100%;transition:all .3s ease;cursor:default;box-sizing:border-box}.panel-title{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:100%}::ng-deep .legends-list-body{position:relative;left:auto;right:auto;bottom:auto;z-index:auto;width:100%;max-height:610px;min-height:80px;overflow:hidden;display:flex;flex-direction:column}@media (max-width: 1024px){::ng-deep .legends-list-body{max-height:450px;min-height:70px}}@media (max-width: 768px){::ng-deep .legends-list-body{max-height:60vh;max-height:calc(var(--vh, 1vh) * 60);min-height:100px}}@media (max-width: 480px){::ng-deep .legends-list-body{max-height:70vh;max-height:calc(var(--vh, 1vh) * 70);min-height:90px}}::ng-deep .legends-list-body .item-list{flex:1 1 auto;overflow-y:auto}@media (max-width: 768px){::ng-deep .legends-list-body .item-list{padding:6px;max-height:400px}}::ng-deep .legends-list-body .item-list mat-expansion-panel{border-radius:0!important;box-shadow:none!important;width:100%;background:transparent}::ng-deep .legends-list-body .item-list mat-expansion-panel.mat-expansion-panel{background:transparent}::ng-deep .legends-list-body .item-list mat-expansion-panel .mat-expansion-panel-header{box-sizing:border-box;width:100%;overflow:hidden}::ng-deep .legends-list-body .item-list mat-expansion-panel .mat-expansion-panel-header .mat-content{overflow:hidden;min-width:0}::ng-deep .legends-list-body .item-list mat-expansion-panel .mat-expansion-panel-body{padding:12px 16px;background:#0003}::ng-deep .legends-list-body .item-list .legend{overflow:hidden}::ng-deep .legends-list-body .item-list .legend span{color:#fff}.legend-thumbnail{max-width:100%;height:auto;border:1px solid #dee2e6;display:block;border-radius:5px;box-sizing:border-box}@media (max-width: 768px){.legend-thumbnail{padding:3px}}::ng-deep .legends-list-body .item-list::-webkit-scrollbar{width:12px}::ng-deep .legends-list-body .item-list::-webkit-scrollbar-track{background:#757474;border-radius:8px}::ng-deep .legends-list-body .item-list::-webkit-scrollbar-thumb{background:#1a1c1f;border-radius:8px;border:2px solid #2a2c30}::ng-deep .legends-list-body .item-list::-webkit-scrollbar-thumb:hover{background:#0f1012}::ng-deep .legends-list-body .item-list::-webkit-scrollbar-button{width:12px;height:16px;background:#2a2c30;border:1px solid #1a1c1f}::ng-deep .legends-list-body .item-list::-webkit-scrollbar-button:vertical:decrement{background:#2a2c30 url(\"data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 12 12'%3E%3Cpath fill='%23ffffff' d='M6 4l-4 4h8z'/%3E%3C/svg%3E\") no-repeat center;border-radius:8px 8px 0 0}::ng-deep .legends-list-body .item-list::-webkit-scrollbar-button:vertical:decrement:hover{background-color:#1a1c1f}::ng-deep .legends-list-body .item-list::-webkit-scrollbar-button:vertical:increment{background:#2a2c30 url(\"data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 12 12'%3E%3Cpath fill='%23ffffff' d='M6 8l4-4H2z'/%3E%3C/svg%3E\") no-repeat center;border-radius:0 0 8px 8px}::ng-deep .legends-list-body .item-list::-webkit-scrollbar-button:vertical:increment:hover{background-color:#1a1c1f}::ng-deep .mat-expansion-indicator:after{color:#bdc1c3cc!important}::ng-deep .mat-expansion-panel-header.mat-expanded .mat-expansion-indicator:after{color:#fff!important}@media (max-width: 768px){.legends-list-body-wrapper{right:.5em;max-width:350px}}@media (max-width: 480px){.legends-list-body-wrapper{right:.5em;left:.5em;max-width:calc(100vw - 1em);width:auto}.legends-list-body-wrapper.collapsed{width:90px;left:auto}::ng-deep .legends-list-body .item-list{max-height:300px}}\n"] }]
5297
5306
  }], propDecorators: { map: [{
5298
5307
  type: Input
5299
5308
  }], profile: [{
@@ -5528,6 +5537,7 @@ class GisKomponentComponent {
5528
5537
  _drawLayerService = inject(DrawLayerSourceService);
5529
5538
  _showHoverInfoService = inject(ShowInfoHoverService);
5530
5539
  _printHelper = inject(PrintHelperService);
5540
+ tooltipObjBase64 = IconsConstants.tooltipObjBase64;
5531
5541
  identifier;
5532
5542
  settings;
5533
5543
  toolbarRef;
@@ -5804,17 +5814,16 @@ class GisKomponentComponent {
5804
5814
  target: 'map',
5805
5815
  });
5806
5816
  this._addRotateControl();
5817
+ setTimeout(() => this._applyCustomTooltips(), 0);
5807
5818
  }
5808
5819
  // Added custom north-arrow with a compass one
5809
5820
  _addRotateControl() {
5810
5821
  const iconElement = document.createElement('span');
5811
- iconElement.innerHTML = `
5812
- <svg width="20" height="20" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg">
5813
- <path d="M12 3 L16 10 L12 8 L8 10 Z" fill="currentColor"/>
5814
- <path d="M12 21 L8 14 L12 16 L16 14 Z" fill="currentColor"/>
5815
- <circle cx="12" cy="12" r="1.5" fill="currentColor"/>
5816
- </svg>
5817
- `;
5822
+ const img = document.createElement('img');
5823
+ img.src = IconsConstants.tooltipObjBase64;
5824
+ img.width = 22;
5825
+ img.height = 22;
5826
+ iconElement.appendChild(img);
5818
5827
  const rotateControl = new Rotate$1({
5819
5828
  label: iconElement,
5820
5829
  tipLabel: 'Nulstil mod Nord',
@@ -5822,6 +5831,25 @@ class GisKomponentComponent {
5822
5831
  });
5823
5832
  this.map.addControl(rotateControl);
5824
5833
  }
5834
+ _applyCustomTooltips() {
5835
+ const targets = [
5836
+ {
5837
+ selector: '.ol-zoom-in',
5838
+ label: 'Zoom in'
5839
+ },
5840
+ {
5841
+ selector: '.ol-zoom-out',
5842
+ label: 'Zoom out'
5843
+ }
5844
+ ];
5845
+ targets.forEach(({ selector, label }) => {
5846
+ const el = document.querySelector(selector);
5847
+ if (el) {
5848
+ el.removeAttribute('title');
5849
+ el.setAttribute('data-tooltip', label);
5850
+ }
5851
+ });
5852
+ }
5825
5853
  toggleToolbar() {
5826
5854
  this.toolbarCollapsed = !this.toolbarCollapsed;
5827
5855
  }
@@ -5835,7 +5863,7 @@ class GisKomponentComponent {
5835
5863
  static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "19.2.15", type: GisKomponentComponent, isStandalone: true, selector: "gis-komponent", inputs: { identifier: "identifier", settings: "settings" }, outputs: { sessionDone: "sessionDone", featuresChanged: "featuresChanged" }, providers: [CurrentItemsService, FeatureLoaderService, DrawLayerSourceService, ZoomService, UndoRedoService, ShowInfoHoverService, HoverInfoSearchService, CenterPointService, PrintDrawLayerSourceService,
5836
5864
  HighlightService, ShowInfoService, InfoSearchProvider, InteractionHelperService, ConflictAnalysisSearchProvider,
5837
5865
  MergeFeaturesService, OverlapService, CowiService, SearchProviderService, AddressSearchService, CadastreSearchService, ShowDocumentInfoService, DocumentSearchService,
5838
- DmpCatalogService, OlCapabilitiesService, DmpLayerMapperService, GeometrySearchService, GeometrySplitService, PolygonCleanupService], viewQueries: [{ propertyName: "toolbarRef", first: true, predicate: ["toolbarRef"], descendants: true, static: true }, { propertyName: "legendsListRef", first: true, predicate: ["legendsListRef"], descendants: true, static: true }, { propertyName: "layerSelectorRef", first: true, predicate: ["layerSelectorRef"], descendants: true, static: true }, { propertyName: "activeObjectsRef", first: true, predicate: ["activeObjectsRef"], descendants: true, static: true }, { propertyName: "documentInfoRef", first: true, predicate: ["documentInfoRef"], descendants: true, static: true }], ngImport: i0, template: "<div #layerSelectorRef class=\"layer-selector-container\">\n @if (selectedProfile && selectedProfile.showLayerSelector) {\n <lib-layer-selector [map]=\"map\" [profile]=\"selectedProfile\" [currentZoomLevel]=\"currentZoomLevel\"></lib-layer-selector>\n }\n</div>\n\n<div #legendsListRef class=\"legends-list-container\">\n @if (selectedProfile && selectedProfile.showLegends) {\n <lib-legends-list [map]=\"map\" [profile]=\"selectedProfile\"></lib-legends-list>\n }\n</div>\n\n<div #documentInfoRef class=\"documents-features-wrapper\">\n <document-search-info></document-search-info>\n</div>\n\n<div #activeObjectsRef class=\"active-objects-container\">\n @if(showActiveObjects && settings && selectedProfile) {\n <activeObjects [settings]=\"settings\" [profile]=\"selectedProfile\" (sessionDone)=\"sessionDoneFromActiveObject()\"></activeObjects>\n }\n</div>\n\n<div #toolbarRef class=\"map-toolbar-container\">\n @if (settings) {\n <map-toolbox [map]=\"map\" \n [profile]=\"selectedProfile\"\n [settings]=\"settings\"\n [class.toolbox-hidden]=\"!profileShowToolbox\"\n [collapsed]=\"toolbarCollapsed\" [WKTInputEnabled]=\"settings?.WKTInputEnabled\" [deleteEnabled]=\"settings?.deleteEnabled\" [showMeasureArea]=\"selectedProfile?.showAreaMeasurement || false\" [showMeasureDistance]=\"selectedProfile?.showDistanceMeasurement || false\"></map-toolbox>\n }\n</div>\n\n<div class=\"map-container\">\n <lib-map-search *ngIf=\"showSearch\" [profile]=\"selectedProfile\"></lib-map-search>\n\n <!-- Kort -->\n <div id=\"map\" class=\"map\"></div>\n</div>\n", styles: ["::ng-deep .global-wrapper-container{background:#4c4d51}::ng-deep .dmp-dialog-content mat-dialog-content{background:#4c4d51!important}::ng-deep .dmp-dialog-content mat-dialog-content .search-section mat-form-field input{color:#fff!important;font-family:Avenir Next W01,Lato,-apple-system,system-ui,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,sans-serif}::ng-deep .dmp-dialog-content mat-dialog-content .search-section mat-form-field input .search-icon{color:#fff!important}::ng-deep button.ol-zoom-in,::ng-deep button.ol-zoom-out,::ng-deep button.ol-rotate-reset{background:#4c4d51;color:#fff;border-radius:5px!important}::ng-deep button.ol-zoom-in:hover,::ng-deep button.ol-zoom-out:hover,::ng-deep button.ol-rotate-reset:hover{color:#e9e3e3;outline:none}::ng-deep mat-expansion-panel .mat-expansion-panel-header{height:40px!important;min-height:40px!important;background:#ffffff0d;transition:background .2s ease;border-top-left-radius:4px!important;border-top-right-radius:4px!important;padding:0 16px;margin-bottom:2px}::ng-deep mat-expansion-panel .mat-expansion-panel-header:hover{background:#ffffff14!important}::ng-deep mat-expansion-panel .mat-expansion-panel-header .panel-title{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:320px;margin-right:10px;color:#fff;font-weight:600;font-family:Avenir Next W01,Lato,-apple-system,system-ui,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,sans-serif;font-size:15px}::ng-deep mat-expansion-panel .mat-expansion-panel-header-title{color:#fff}::ng-deep .custom-image-icon,.compact-icon{background:none}::ng-deep .custom-image-icon img,.compact-icon img{width:100%;height:100%;object-fit:contain;transition:filter .2s ease}::ng-deep .custom-image-icon.active,.compact-icon.active{background:#f7b528!important;border-color:transparent;box-shadow:0 4px 12px #0ea5e966}::ng-deep .custom-image-icon.active img,.compact-icon.active img{filter:brightness(0) invert(1)}::ng-deep .custom-image-icon.active:hover,.compact-icon.active:hover{box-shadow:0 6px 20px #0ea5e980}::ng-deep .custom-image-icon:hover:not(.active),.compact-icon:hover:not(.active){background:#ffffff1a!important;border-color:none;box-shadow:none}::ng-deep .custom-image-icon:hover:not(.active) img,.compact-icon:hover:not(.active) img{filter:brightness(0) invert(.8)}::ng-deep .layer-selector-body .search-section mat-form-field input{color:#fff!important}::ng-deep .search-field .mat-mdc-input-element{color:#fff!important}::ng-deep .mat-mdc-text-field-wrapper{background:#878787!important}::ng-deep .mat-mdc-select-panel{font-family:Avenir Next W01,Lato,-apple-system,system-ui,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,sans-serif}::ng-deep .active-objects-wrapper.collapsed,::ng-deep .layer-selector-body-wrapper.collapsed,::ng-deep .legends-list-body-wrapper.collapsed,::ng-deep .search-container.collapsed,::ng-deep .toolbox-wrapper.collapsed{width:90px;max-width:90px;min-width:90px}::ng-deep .drag-handle-active-objects,::ng-deep .drag-handle-legends,::ng-deep .drag-handle,::ng-deep .drag-handle-selector,::ng-deep .drag-handle-toolbox{display:flex;align-items:center;justify-content:space-between;padding:0 2px;cursor:move;color:#fff;border-radius:5px;width:100%;box-sizing:border-box}:host{font-family:Avenir Next W01,Lato,-apple-system,system-ui,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,sans-serif}:host ::ng-deep .mdc-notched-outline .mdc-notched-outline__leading,:host ::ng-deep .mdc-notched-outline .mdc-notched-outline__notch,:host ::ng-deep .mdc-notched-outline .mdc-notched-outline__trailing{border-color:#dee2e6!important;border-width:1px!important}:host.mat-focused ::ng-deep .mdc-notched-outline .mdc-notched-outline__leading,:host.mat-focused ::ng-deep .mdc-notched-outline .mdc-notched-outline__notch,:host.mat-focused ::ng-deep .mdc-notched-outline .mdc-notched-outline__trailing{border-color:#d1d5db!important;border-width:1px!important;box-shadow:0 0 0 3px #d1d5db40!important}::ng-deep .mat-mdc-form-field-flex{height:40px!important;display:flex!important;align-items:center!important}::ng-deep .mat-expansion-indicator svg{fill:#fff!important}::ng-deep .ol-control{background-color:transparent!important}::ng-deep .search-result-option{font-family:Avenir Next W01,Lato,-apple-system,system-ui,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,sans-serif}::ng-deep .mat-mdc-autocomplete-panel .mat-pseudo-checkbox{display:none!important}::ng-deep .mat-mdc-autocomplete-panel .mdc-list-item__end{display:none!important}::ng-deep .mat-mdc-tooltip{--mdc-plain-tooltip-container-color: #050505 !important;--mdc-plain-tooltip-supporting-text-color: white !important;border-radius:6px;font-family:Avenir Next W01,Lato,-apple-system,system-ui,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,sans-serif!important;font-weight:500}::ng-deep .mat-mdc-tooltip .mdc-tooltip__surface{background-color:#050505!important;color:#fff!important;border-radius:6px;font-family:Avenir Next W01,Lato,-apple-system,system-ui,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,sans-serif!important;font-weight:500}::ng-deep .mat-mdc-tooltip-surface{font-family:Avenir Next W01,Lato,-apple-system,system-ui,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,sans-serif!important;font-weight:500}::ng-deep .mdc-tooltip .mdc-tooltip__surface{font-family:Avenir Next W01,Lato,-apple-system,system-ui,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,sans-serif!important;font-weight:500}:host{display:block;width:100%;height:100%;overflow:hidden}::ng-deep .lib-error-snackbar{background-color:#d32f2f;color:#fff;font-weight:500}::ng-deep .map-container{position:relative;height:81vh;width:100%;overflow:hidden}::ng-deep .toolbox-hidden{visibility:hidden!important}::ng-deep #map{width:100%;height:100%;position:absolute;inset:0;overflow:hidden}::ng-deep .ol-viewport{overflow:hidden!important}::ng-deep ::ng-deep .ol-logo{position:absolute;left:auto;right:3em;top:6.25em}::ng-deep ::ng-deep .ol-copyright{background-color:transparent;position:absolute;bottom:10px;width:250px;display:flex;justify-content:end;right:5px}::ng-deep ::ng-deep .toolbar{position:absolute;top:10px;left:10px;background:#fff;padding:4px;border-radius:4px;display:flex;flex-direction:column;transition:width .3s;z-index:1000;overflow:hidden}::ng-deep ::ng-deep .toolbar.collapsed{width:40px;overflow:hidden}::ng-deep .object-panel{position:absolute;bottom:10px;left:10px;background:#fff;padding:8px;border-radius:4px;z-index:1000;max-height:calc(85vh - 20px);overflow-y:auto}::ng-deep .object-panel .header{display:flex;justify-content:space-between;padding:8px;cursor:pointer;background:#f0f0f0}::ng-deep .conflict-panel{position:absolute;bottom:10px;right:10px;background:#fff;padding:8px;border-radius:4px;z-index:1000;max-height:calc(85vh - 20px);overflow-y:auto}::ng-deep .conflict-panel .header{display:flex;justify-content:space-between;padding:8px;cursor:pointer;background:#f0f0f0}::ng-deep ::ng-deep .ol-zoom.ol-unselectable.ol-control{display:flex;flex-direction:column;position:absolute}::ng-deep ::ng-deep .ol-scale-text{display:flex}::ng-deep .ol-scale-bar.ol-unselectable{position:absolute;bottom:3rem}::ng-deep .ol-mouse-position{position:absolute;bottom:10px;left:6px;top:auto;background:#0000004d;color:#fffcfc;width:189px;height:30px;padding:2px;border-radius:5px;text-align:center;display:flex;align-items:center;justify-content:flex-start;z-index:1000}::ng-deep .documents-features-wrapper{position:absolute!important}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1$2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "ngmodule", type: MatIconModule }, { kind: "ngmodule", type: MatListModule }, { kind: "ngmodule", type: MatSelectModule }, { kind: "component", type: LayerSelectorComponent, selector: "lib-layer-selector", inputs: ["map", "profile", "currentZoomLevel"] }, { kind: "component", type: MapSearchComponent, selector: "lib-map-search", inputs: ["profile"] }, { kind: "component", type: ToolboxComponent, selector: "map-toolbox", inputs: ["map", "showMeasureDistance", "showMeasureArea", "collapsed", "settings", "profile", "WKTInputEnabled", "deleteEnabled"] }, { kind: "component", type: ActiveObjectsComponent, selector: "activeObjects", inputs: ["settings", "profile"], outputs: ["sessionDone"] }, { kind: "component", type: LegendsListComponent, selector: "lib-legends-list", inputs: ["map", "profile"] }, { kind: "component", type: DocumentSearchInfoComponent, selector: "document-search-info" }] });
5866
+ DmpCatalogService, OlCapabilitiesService, DmpLayerMapperService, GeometrySearchService, GeometrySplitService, PolygonCleanupService], viewQueries: [{ propertyName: "toolbarRef", first: true, predicate: ["toolbarRef"], descendants: true, static: true }, { propertyName: "legendsListRef", first: true, predicate: ["legendsListRef"], descendants: true, static: true }, { propertyName: "layerSelectorRef", first: true, predicate: ["layerSelectorRef"], descendants: true, static: true }, { propertyName: "activeObjectsRef", first: true, predicate: ["activeObjectsRef"], descendants: true, static: true }, { propertyName: "documentInfoRef", first: true, predicate: ["documentInfoRef"], descendants: true, static: true }], ngImport: i0, template: "<div #layerSelectorRef class=\"layer-selector-container\">\n @if (selectedProfile && selectedProfile.showLayerSelector) {\n <lib-layer-selector [map]=\"map\" [profile]=\"selectedProfile\" [currentZoomLevel]=\"currentZoomLevel\"></lib-layer-selector>\n }\n</div>\n\n<div #legendsListRef class=\"legends-list-container\">\n @if (selectedProfile && selectedProfile.showLegends) {\n <lib-legends-list [map]=\"map\" [profile]=\"selectedProfile\"></lib-legends-list>\n }\n</div>\n\n<div #documentInfoRef class=\"documents-features-wrapper\">\n <document-search-info></document-search-info>\n</div>\n\n<div #activeObjectsRef class=\"active-objects-container\">\n @if(showActiveObjects && settings && selectedProfile) {\n <activeObjects [settings]=\"settings\" [profile]=\"selectedProfile\" (sessionDone)=\"sessionDoneFromActiveObject()\"></activeObjects>\n }\n</div>\n\n<div #toolbarRef class=\"map-toolbar-container\">\n @if (settings) {\n <map-toolbox [map]=\"map\" \n [profile]=\"selectedProfile\"\n [settings]=\"settings\"\n [class.toolbox-hidden]=\"!profileShowToolbox\"\n [collapsed]=\"toolbarCollapsed\" [WKTInputEnabled]=\"settings?.WKTInputEnabled\" [deleteEnabled]=\"settings?.deleteEnabled\" [showMeasureArea]=\"selectedProfile?.showAreaMeasurement || false\" [showMeasureDistance]=\"selectedProfile?.showDistanceMeasurement || false\"></map-toolbox>\n }\n</div>\n\n<div class=\"map-container\">\n <lib-map-search *ngIf=\"showSearch\" [profile]=\"selectedProfile\"></lib-map-search>\n\n <!-- Kort -->\n <div id=\"map\" class=\"map\"></div>\n</div>\n", styles: ["::ng-deep .global-wrapper-container{background:#4c4d51}::ng-deep .dmp-dialog-content mat-dialog-content{background:#4c4d51!important}::ng-deep .dmp-dialog-content mat-dialog-content .search-section mat-form-field input{color:#fff!important;font-family:Avenir Next W01,Lato,-apple-system,system-ui,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,sans-serif}::ng-deep .dmp-dialog-content mat-dialog-content .search-section mat-form-field input .search-icon{color:#fff!important}::ng-deep button.ol-zoom-in,::ng-deep button.ol-zoom-out{background:#4c4d51!important;color:#fff;border-radius:5px!important}::ng-deep button.ol-zoom-in:hover,::ng-deep button.ol-zoom-out:hover{color:#e9e3e3;outline:none}::ng-deep button.ol-rotate-reset{border:none}::ng-deep button.ol-rotate-reset:hover{outline:none}::ng-deep [data-tooltip]{position:relative}::ng-deep [data-tooltip]:after{content:attr(data-tooltip);position:absolute;left:calc(100% + 8px);top:50%;transform:translateY(-50%);background:#4c4d51;color:#fff;padding:8px;border-radius:5px;white-space:nowrap;font-family:Avenir Next W01,Lato,-apple-system,system-ui,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,sans-serif!important;font-size:12px;pointer-events:none;opacity:0;transition:opacity .2s}::ng-deep [data-tooltip]:hover:after{opacity:1}::ng-deep mat-expansion-panel .mat-expansion-panel-header{height:40px!important;min-height:40px!important;background:#ffffff0d;transition:background .2s ease;border-top-left-radius:4px!important;border-top-right-radius:4px!important;padding:0 16px;margin-bottom:2px}::ng-deep mat-expansion-panel .mat-expansion-panel-header:hover{background:#ffffff14!important}::ng-deep mat-expansion-panel .mat-expansion-panel-header .panel-title{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:320px;margin-right:10px;color:#fff;font-weight:600;font-family:Avenir Next W01,Lato,-apple-system,system-ui,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,sans-serif;font-size:15px}::ng-deep mat-expansion-panel .mat-expansion-panel-header-title{color:#fff}::ng-deep .custom-image-icon,.compact-icon{background:none}::ng-deep .custom-image-icon img,.compact-icon img{width:100%;height:100%;object-fit:contain;transition:filter .2s ease}::ng-deep .custom-image-icon.active,.compact-icon.active{background:#f7b528!important;border-color:transparent;box-shadow:0 4px 12px #0ea5e966}::ng-deep .custom-image-icon.active img,.compact-icon.active img{filter:brightness(0) invert(1)}::ng-deep .custom-image-icon.active:hover,.compact-icon.active:hover{box-shadow:0 6px 20px #0ea5e980}::ng-deep .custom-image-icon:hover:not(.active),.compact-icon:hover:not(.active){background:#ffffff1a!important;border-color:none;box-shadow:none}::ng-deep .custom-image-icon:hover:not(.active) img,.compact-icon:hover:not(.active) img{filter:brightness(0) invert(.8)}::ng-deep .layer-selector-body .search-section mat-form-field input{color:#fff!important}::ng-deep .search-field .mat-mdc-input-element{color:#fff!important}::ng-deep .mat-mdc-text-field-wrapper{background:#878787!important}::ng-deep .mat-mdc-select-panel{font-family:Avenir Next W01,Lato,-apple-system,system-ui,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,sans-serif}::ng-deep .active-objects-wrapper.collapsed,::ng-deep .layer-selector-body-wrapper.collapsed,::ng-deep .legends-list-body-wrapper.collapsed,::ng-deep .search-container.collapsed,::ng-deep .toolbox-wrapper.collapsed{width:90px;max-width:90px;min-width:90px}::ng-deep .drag-handle-active-objects,::ng-deep .drag-handle-legends,::ng-deep .drag-handle,::ng-deep .drag-handle-selector,::ng-deep .drag-handle-toolbox{display:flex;align-items:center;justify-content:space-between;padding:0 2px;cursor:move;color:#fff;border-radius:5px;width:100%;box-sizing:border-box}:host{font-family:Avenir Next W01,Lato,-apple-system,system-ui,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,sans-serif}:host ::ng-deep .mdc-notched-outline .mdc-notched-outline__leading,:host ::ng-deep .mdc-notched-outline .mdc-notched-outline__notch,:host ::ng-deep .mdc-notched-outline .mdc-notched-outline__trailing{border-color:#dee2e6!important;border-width:1px!important}:host.mat-focused ::ng-deep .mdc-notched-outline .mdc-notched-outline__leading,:host.mat-focused ::ng-deep .mdc-notched-outline .mdc-notched-outline__notch,:host.mat-focused ::ng-deep .mdc-notched-outline .mdc-notched-outline__trailing{border-color:#d1d5db!important;border-width:1px!important;box-shadow:0 0 0 3px #d1d5db40!important}::ng-deep .mat-mdc-form-field-flex{height:40px!important;display:flex!important;align-items:center!important}::ng-deep .mat-expansion-indicator svg{fill:#fff!important}::ng-deep .ol-control{background-color:transparent!important}::ng-deep .search-result-option{font-family:Avenir Next W01,Lato,-apple-system,system-ui,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,sans-serif}::ng-deep .mat-mdc-autocomplete-panel .mat-pseudo-checkbox{display:none!important}::ng-deep .mat-mdc-autocomplete-panel .mdc-list-item__end{display:none!important}::ng-deep .mat-mdc-tooltip{--mdc-plain-tooltip-container-color: #050505 !important;--mdc-plain-tooltip-supporting-text-color: white !important;border-radius:6px;font-family:Avenir Next W01,Lato,-apple-system,system-ui,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,sans-serif!important;font-weight:500}::ng-deep .mat-mdc-tooltip .mdc-tooltip__surface{background-color:#050505!important;color:#fff!important;border-radius:6px;font-family:Avenir Next W01,Lato,-apple-system,system-ui,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,sans-serif!important;font-weight:500}::ng-deep .mat-mdc-tooltip-surface{font-family:Avenir Next W01,Lato,-apple-system,system-ui,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,sans-serif!important;font-weight:500}::ng-deep .mdc-tooltip .mdc-tooltip__surface{font-family:Avenir Next W01,Lato,-apple-system,system-ui,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,sans-serif!important;font-weight:500}:host{display:block;width:100%;height:100%;overflow:hidden}::ng-deep .lib-error-snackbar{background-color:#d32f2f;color:#fff;font-weight:500}::ng-deep .map-container{position:relative;height:81vh;width:100%;overflow:hidden}::ng-deep .toolbox-hidden{visibility:hidden!important}::ng-deep #map{width:100%;height:100%;position:absolute;inset:0;overflow:hidden}::ng-deep .ol-viewport{overflow:hidden!important}::ng-deep ::ng-deep .ol-logo{position:absolute;left:auto;right:3em;top:6.25em}::ng-deep ::ng-deep .ol-copyright{background-color:transparent;position:absolute;bottom:10px;width:250px;display:flex;justify-content:end;right:5px}::ng-deep ::ng-deep .toolbar{position:absolute;top:10px;left:10px;background:#fff;padding:4px;border-radius:4px;display:flex;flex-direction:column;transition:width .3s;z-index:1000;overflow:hidden}::ng-deep ::ng-deep .toolbar.collapsed{width:40px;overflow:hidden}::ng-deep .object-panel{position:absolute;bottom:10px;left:10px;background:#fff;padding:8px;border-radius:4px;z-index:1000;max-height:calc(85vh - 20px);overflow-y:auto}::ng-deep .object-panel .header{display:flex;justify-content:space-between;padding:8px;cursor:pointer;background:#f0f0f0}::ng-deep .conflict-panel{position:absolute;bottom:10px;right:10px;background:#fff;padding:8px;border-radius:4px;z-index:1000;max-height:calc(85vh - 20px);overflow-y:auto}::ng-deep .conflict-panel .header{display:flex;justify-content:space-between;padding:8px;cursor:pointer;background:#f0f0f0}::ng-deep ::ng-deep .ol-zoom.ol-unselectable.ol-control{display:flex;flex-direction:column;position:absolute}::ng-deep ::ng-deep .ol-scale-text{display:flex}::ng-deep .ol-scale-bar.ol-unselectable{position:absolute;bottom:3rem}::ng-deep .ol-mouse-position{position:absolute;bottom:10px;left:6px;top:auto;background:#0000004d;color:#fffcfc;width:189px;height:30px;padding:2px;border-radius:5px;text-align:center;display:flex;align-items:center;justify-content:flex-start;z-index:1000}::ng-deep .documents-features-wrapper{position:absolute!important}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1$2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "ngmodule", type: MatIconModule }, { kind: "ngmodule", type: MatListModule }, { kind: "ngmodule", type: MatSelectModule }, { kind: "component", type: LayerSelectorComponent, selector: "lib-layer-selector", inputs: ["map", "profile", "currentZoomLevel"] }, { kind: "component", type: MapSearchComponent, selector: "lib-map-search", inputs: ["profile"] }, { kind: "component", type: ToolboxComponent, selector: "map-toolbox", inputs: ["map", "showMeasureDistance", "showMeasureArea", "collapsed", "settings", "profile", "WKTInputEnabled", "deleteEnabled"] }, { kind: "component", type: ActiveObjectsComponent, selector: "activeObjects", inputs: ["settings", "profile"], outputs: ["sessionDone"] }, { kind: "component", type: LegendsListComponent, selector: "lib-legends-list", inputs: ["map", "profile"] }, { kind: "component", type: DocumentSearchInfoComponent, selector: "document-search-info" }] });
5839
5867
  }
5840
5868
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.15", ngImport: i0, type: GisKomponentComponent, decorators: [{
5841
5869
  type: Component,
@@ -5843,7 +5871,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.15", ngImpo
5843
5871
  LegendsListComponent, DocumentSearchInfoComponent], providers: [CurrentItemsService, FeatureLoaderService, DrawLayerSourceService, ZoomService, UndoRedoService, ShowInfoHoverService, HoverInfoSearchService, CenterPointService, PrintDrawLayerSourceService,
5844
5872
  HighlightService, ShowInfoService, InfoSearchProvider, InteractionHelperService, ConflictAnalysisSearchProvider,
5845
5873
  MergeFeaturesService, OverlapService, CowiService, SearchProviderService, AddressSearchService, CadastreSearchService, ShowDocumentInfoService, DocumentSearchService,
5846
- DmpCatalogService, OlCapabilitiesService, DmpLayerMapperService, GeometrySearchService, GeometrySplitService, PolygonCleanupService], template: "<div #layerSelectorRef class=\"layer-selector-container\">\n @if (selectedProfile && selectedProfile.showLayerSelector) {\n <lib-layer-selector [map]=\"map\" [profile]=\"selectedProfile\" [currentZoomLevel]=\"currentZoomLevel\"></lib-layer-selector>\n }\n</div>\n\n<div #legendsListRef class=\"legends-list-container\">\n @if (selectedProfile && selectedProfile.showLegends) {\n <lib-legends-list [map]=\"map\" [profile]=\"selectedProfile\"></lib-legends-list>\n }\n</div>\n\n<div #documentInfoRef class=\"documents-features-wrapper\">\n <document-search-info></document-search-info>\n</div>\n\n<div #activeObjectsRef class=\"active-objects-container\">\n @if(showActiveObjects && settings && selectedProfile) {\n <activeObjects [settings]=\"settings\" [profile]=\"selectedProfile\" (sessionDone)=\"sessionDoneFromActiveObject()\"></activeObjects>\n }\n</div>\n\n<div #toolbarRef class=\"map-toolbar-container\">\n @if (settings) {\n <map-toolbox [map]=\"map\" \n [profile]=\"selectedProfile\"\n [settings]=\"settings\"\n [class.toolbox-hidden]=\"!profileShowToolbox\"\n [collapsed]=\"toolbarCollapsed\" [WKTInputEnabled]=\"settings?.WKTInputEnabled\" [deleteEnabled]=\"settings?.deleteEnabled\" [showMeasureArea]=\"selectedProfile?.showAreaMeasurement || false\" [showMeasureDistance]=\"selectedProfile?.showDistanceMeasurement || false\"></map-toolbox>\n }\n</div>\n\n<div class=\"map-container\">\n <lib-map-search *ngIf=\"showSearch\" [profile]=\"selectedProfile\"></lib-map-search>\n\n <!-- Kort -->\n <div id=\"map\" class=\"map\"></div>\n</div>\n", styles: ["::ng-deep .global-wrapper-container{background:#4c4d51}::ng-deep .dmp-dialog-content mat-dialog-content{background:#4c4d51!important}::ng-deep .dmp-dialog-content mat-dialog-content .search-section mat-form-field input{color:#fff!important;font-family:Avenir Next W01,Lato,-apple-system,system-ui,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,sans-serif}::ng-deep .dmp-dialog-content mat-dialog-content .search-section mat-form-field input .search-icon{color:#fff!important}::ng-deep button.ol-zoom-in,::ng-deep button.ol-zoom-out,::ng-deep button.ol-rotate-reset{background:#4c4d51;color:#fff;border-radius:5px!important}::ng-deep button.ol-zoom-in:hover,::ng-deep button.ol-zoom-out:hover,::ng-deep button.ol-rotate-reset:hover{color:#e9e3e3;outline:none}::ng-deep mat-expansion-panel .mat-expansion-panel-header{height:40px!important;min-height:40px!important;background:#ffffff0d;transition:background .2s ease;border-top-left-radius:4px!important;border-top-right-radius:4px!important;padding:0 16px;margin-bottom:2px}::ng-deep mat-expansion-panel .mat-expansion-panel-header:hover{background:#ffffff14!important}::ng-deep mat-expansion-panel .mat-expansion-panel-header .panel-title{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:320px;margin-right:10px;color:#fff;font-weight:600;font-family:Avenir Next W01,Lato,-apple-system,system-ui,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,sans-serif;font-size:15px}::ng-deep mat-expansion-panel .mat-expansion-panel-header-title{color:#fff}::ng-deep .custom-image-icon,.compact-icon{background:none}::ng-deep .custom-image-icon img,.compact-icon img{width:100%;height:100%;object-fit:contain;transition:filter .2s ease}::ng-deep .custom-image-icon.active,.compact-icon.active{background:#f7b528!important;border-color:transparent;box-shadow:0 4px 12px #0ea5e966}::ng-deep .custom-image-icon.active img,.compact-icon.active img{filter:brightness(0) invert(1)}::ng-deep .custom-image-icon.active:hover,.compact-icon.active:hover{box-shadow:0 6px 20px #0ea5e980}::ng-deep .custom-image-icon:hover:not(.active),.compact-icon:hover:not(.active){background:#ffffff1a!important;border-color:none;box-shadow:none}::ng-deep .custom-image-icon:hover:not(.active) img,.compact-icon:hover:not(.active) img{filter:brightness(0) invert(.8)}::ng-deep .layer-selector-body .search-section mat-form-field input{color:#fff!important}::ng-deep .search-field .mat-mdc-input-element{color:#fff!important}::ng-deep .mat-mdc-text-field-wrapper{background:#878787!important}::ng-deep .mat-mdc-select-panel{font-family:Avenir Next W01,Lato,-apple-system,system-ui,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,sans-serif}::ng-deep .active-objects-wrapper.collapsed,::ng-deep .layer-selector-body-wrapper.collapsed,::ng-deep .legends-list-body-wrapper.collapsed,::ng-deep .search-container.collapsed,::ng-deep .toolbox-wrapper.collapsed{width:90px;max-width:90px;min-width:90px}::ng-deep .drag-handle-active-objects,::ng-deep .drag-handle-legends,::ng-deep .drag-handle,::ng-deep .drag-handle-selector,::ng-deep .drag-handle-toolbox{display:flex;align-items:center;justify-content:space-between;padding:0 2px;cursor:move;color:#fff;border-radius:5px;width:100%;box-sizing:border-box}:host{font-family:Avenir Next W01,Lato,-apple-system,system-ui,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,sans-serif}:host ::ng-deep .mdc-notched-outline .mdc-notched-outline__leading,:host ::ng-deep .mdc-notched-outline .mdc-notched-outline__notch,:host ::ng-deep .mdc-notched-outline .mdc-notched-outline__trailing{border-color:#dee2e6!important;border-width:1px!important}:host.mat-focused ::ng-deep .mdc-notched-outline .mdc-notched-outline__leading,:host.mat-focused ::ng-deep .mdc-notched-outline .mdc-notched-outline__notch,:host.mat-focused ::ng-deep .mdc-notched-outline .mdc-notched-outline__trailing{border-color:#d1d5db!important;border-width:1px!important;box-shadow:0 0 0 3px #d1d5db40!important}::ng-deep .mat-mdc-form-field-flex{height:40px!important;display:flex!important;align-items:center!important}::ng-deep .mat-expansion-indicator svg{fill:#fff!important}::ng-deep .ol-control{background-color:transparent!important}::ng-deep .search-result-option{font-family:Avenir Next W01,Lato,-apple-system,system-ui,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,sans-serif}::ng-deep .mat-mdc-autocomplete-panel .mat-pseudo-checkbox{display:none!important}::ng-deep .mat-mdc-autocomplete-panel .mdc-list-item__end{display:none!important}::ng-deep .mat-mdc-tooltip{--mdc-plain-tooltip-container-color: #050505 !important;--mdc-plain-tooltip-supporting-text-color: white !important;border-radius:6px;font-family:Avenir Next W01,Lato,-apple-system,system-ui,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,sans-serif!important;font-weight:500}::ng-deep .mat-mdc-tooltip .mdc-tooltip__surface{background-color:#050505!important;color:#fff!important;border-radius:6px;font-family:Avenir Next W01,Lato,-apple-system,system-ui,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,sans-serif!important;font-weight:500}::ng-deep .mat-mdc-tooltip-surface{font-family:Avenir Next W01,Lato,-apple-system,system-ui,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,sans-serif!important;font-weight:500}::ng-deep .mdc-tooltip .mdc-tooltip__surface{font-family:Avenir Next W01,Lato,-apple-system,system-ui,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,sans-serif!important;font-weight:500}:host{display:block;width:100%;height:100%;overflow:hidden}::ng-deep .lib-error-snackbar{background-color:#d32f2f;color:#fff;font-weight:500}::ng-deep .map-container{position:relative;height:81vh;width:100%;overflow:hidden}::ng-deep .toolbox-hidden{visibility:hidden!important}::ng-deep #map{width:100%;height:100%;position:absolute;inset:0;overflow:hidden}::ng-deep .ol-viewport{overflow:hidden!important}::ng-deep ::ng-deep .ol-logo{position:absolute;left:auto;right:3em;top:6.25em}::ng-deep ::ng-deep .ol-copyright{background-color:transparent;position:absolute;bottom:10px;width:250px;display:flex;justify-content:end;right:5px}::ng-deep ::ng-deep .toolbar{position:absolute;top:10px;left:10px;background:#fff;padding:4px;border-radius:4px;display:flex;flex-direction:column;transition:width .3s;z-index:1000;overflow:hidden}::ng-deep ::ng-deep .toolbar.collapsed{width:40px;overflow:hidden}::ng-deep .object-panel{position:absolute;bottom:10px;left:10px;background:#fff;padding:8px;border-radius:4px;z-index:1000;max-height:calc(85vh - 20px);overflow-y:auto}::ng-deep .object-panel .header{display:flex;justify-content:space-between;padding:8px;cursor:pointer;background:#f0f0f0}::ng-deep .conflict-panel{position:absolute;bottom:10px;right:10px;background:#fff;padding:8px;border-radius:4px;z-index:1000;max-height:calc(85vh - 20px);overflow-y:auto}::ng-deep .conflict-panel .header{display:flex;justify-content:space-between;padding:8px;cursor:pointer;background:#f0f0f0}::ng-deep ::ng-deep .ol-zoom.ol-unselectable.ol-control{display:flex;flex-direction:column;position:absolute}::ng-deep ::ng-deep .ol-scale-text{display:flex}::ng-deep .ol-scale-bar.ol-unselectable{position:absolute;bottom:3rem}::ng-deep .ol-mouse-position{position:absolute;bottom:10px;left:6px;top:auto;background:#0000004d;color:#fffcfc;width:189px;height:30px;padding:2px;border-radius:5px;text-align:center;display:flex;align-items:center;justify-content:flex-start;z-index:1000}::ng-deep .documents-features-wrapper{position:absolute!important}\n"] }]
5874
+ DmpCatalogService, OlCapabilitiesService, DmpLayerMapperService, GeometrySearchService, GeometrySplitService, PolygonCleanupService], template: "<div #layerSelectorRef class=\"layer-selector-container\">\n @if (selectedProfile && selectedProfile.showLayerSelector) {\n <lib-layer-selector [map]=\"map\" [profile]=\"selectedProfile\" [currentZoomLevel]=\"currentZoomLevel\"></lib-layer-selector>\n }\n</div>\n\n<div #legendsListRef class=\"legends-list-container\">\n @if (selectedProfile && selectedProfile.showLegends) {\n <lib-legends-list [map]=\"map\" [profile]=\"selectedProfile\"></lib-legends-list>\n }\n</div>\n\n<div #documentInfoRef class=\"documents-features-wrapper\">\n <document-search-info></document-search-info>\n</div>\n\n<div #activeObjectsRef class=\"active-objects-container\">\n @if(showActiveObjects && settings && selectedProfile) {\n <activeObjects [settings]=\"settings\" [profile]=\"selectedProfile\" (sessionDone)=\"sessionDoneFromActiveObject()\"></activeObjects>\n }\n</div>\n\n<div #toolbarRef class=\"map-toolbar-container\">\n @if (settings) {\n <map-toolbox [map]=\"map\" \n [profile]=\"selectedProfile\"\n [settings]=\"settings\"\n [class.toolbox-hidden]=\"!profileShowToolbox\"\n [collapsed]=\"toolbarCollapsed\" [WKTInputEnabled]=\"settings?.WKTInputEnabled\" [deleteEnabled]=\"settings?.deleteEnabled\" [showMeasureArea]=\"selectedProfile?.showAreaMeasurement || false\" [showMeasureDistance]=\"selectedProfile?.showDistanceMeasurement || false\"></map-toolbox>\n }\n</div>\n\n<div class=\"map-container\">\n <lib-map-search *ngIf=\"showSearch\" [profile]=\"selectedProfile\"></lib-map-search>\n\n <!-- Kort -->\n <div id=\"map\" class=\"map\"></div>\n</div>\n", styles: ["::ng-deep .global-wrapper-container{background:#4c4d51}::ng-deep .dmp-dialog-content mat-dialog-content{background:#4c4d51!important}::ng-deep .dmp-dialog-content mat-dialog-content .search-section mat-form-field input{color:#fff!important;font-family:Avenir Next W01,Lato,-apple-system,system-ui,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,sans-serif}::ng-deep .dmp-dialog-content mat-dialog-content .search-section mat-form-field input .search-icon{color:#fff!important}::ng-deep button.ol-zoom-in,::ng-deep button.ol-zoom-out{background:#4c4d51!important;color:#fff;border-radius:5px!important}::ng-deep button.ol-zoom-in:hover,::ng-deep button.ol-zoom-out:hover{color:#e9e3e3;outline:none}::ng-deep button.ol-rotate-reset{border:none}::ng-deep button.ol-rotate-reset:hover{outline:none}::ng-deep [data-tooltip]{position:relative}::ng-deep [data-tooltip]:after{content:attr(data-tooltip);position:absolute;left:calc(100% + 8px);top:50%;transform:translateY(-50%);background:#4c4d51;color:#fff;padding:8px;border-radius:5px;white-space:nowrap;font-family:Avenir Next W01,Lato,-apple-system,system-ui,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,sans-serif!important;font-size:12px;pointer-events:none;opacity:0;transition:opacity .2s}::ng-deep [data-tooltip]:hover:after{opacity:1}::ng-deep mat-expansion-panel .mat-expansion-panel-header{height:40px!important;min-height:40px!important;background:#ffffff0d;transition:background .2s ease;border-top-left-radius:4px!important;border-top-right-radius:4px!important;padding:0 16px;margin-bottom:2px}::ng-deep mat-expansion-panel .mat-expansion-panel-header:hover{background:#ffffff14!important}::ng-deep mat-expansion-panel .mat-expansion-panel-header .panel-title{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:320px;margin-right:10px;color:#fff;font-weight:600;font-family:Avenir Next W01,Lato,-apple-system,system-ui,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,sans-serif;font-size:15px}::ng-deep mat-expansion-panel .mat-expansion-panel-header-title{color:#fff}::ng-deep .custom-image-icon,.compact-icon{background:none}::ng-deep .custom-image-icon img,.compact-icon img{width:100%;height:100%;object-fit:contain;transition:filter .2s ease}::ng-deep .custom-image-icon.active,.compact-icon.active{background:#f7b528!important;border-color:transparent;box-shadow:0 4px 12px #0ea5e966}::ng-deep .custom-image-icon.active img,.compact-icon.active img{filter:brightness(0) invert(1)}::ng-deep .custom-image-icon.active:hover,.compact-icon.active:hover{box-shadow:0 6px 20px #0ea5e980}::ng-deep .custom-image-icon:hover:not(.active),.compact-icon:hover:not(.active){background:#ffffff1a!important;border-color:none;box-shadow:none}::ng-deep .custom-image-icon:hover:not(.active) img,.compact-icon:hover:not(.active) img{filter:brightness(0) invert(.8)}::ng-deep .layer-selector-body .search-section mat-form-field input{color:#fff!important}::ng-deep .search-field .mat-mdc-input-element{color:#fff!important}::ng-deep .mat-mdc-text-field-wrapper{background:#878787!important}::ng-deep .mat-mdc-select-panel{font-family:Avenir Next W01,Lato,-apple-system,system-ui,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,sans-serif}::ng-deep .active-objects-wrapper.collapsed,::ng-deep .layer-selector-body-wrapper.collapsed,::ng-deep .legends-list-body-wrapper.collapsed,::ng-deep .search-container.collapsed,::ng-deep .toolbox-wrapper.collapsed{width:90px;max-width:90px;min-width:90px}::ng-deep .drag-handle-active-objects,::ng-deep .drag-handle-legends,::ng-deep .drag-handle,::ng-deep .drag-handle-selector,::ng-deep .drag-handle-toolbox{display:flex;align-items:center;justify-content:space-between;padding:0 2px;cursor:move;color:#fff;border-radius:5px;width:100%;box-sizing:border-box}:host{font-family:Avenir Next W01,Lato,-apple-system,system-ui,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,sans-serif}:host ::ng-deep .mdc-notched-outline .mdc-notched-outline__leading,:host ::ng-deep .mdc-notched-outline .mdc-notched-outline__notch,:host ::ng-deep .mdc-notched-outline .mdc-notched-outline__trailing{border-color:#dee2e6!important;border-width:1px!important}:host.mat-focused ::ng-deep .mdc-notched-outline .mdc-notched-outline__leading,:host.mat-focused ::ng-deep .mdc-notched-outline .mdc-notched-outline__notch,:host.mat-focused ::ng-deep .mdc-notched-outline .mdc-notched-outline__trailing{border-color:#d1d5db!important;border-width:1px!important;box-shadow:0 0 0 3px #d1d5db40!important}::ng-deep .mat-mdc-form-field-flex{height:40px!important;display:flex!important;align-items:center!important}::ng-deep .mat-expansion-indicator svg{fill:#fff!important}::ng-deep .ol-control{background-color:transparent!important}::ng-deep .search-result-option{font-family:Avenir Next W01,Lato,-apple-system,system-ui,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,sans-serif}::ng-deep .mat-mdc-autocomplete-panel .mat-pseudo-checkbox{display:none!important}::ng-deep .mat-mdc-autocomplete-panel .mdc-list-item__end{display:none!important}::ng-deep .mat-mdc-tooltip{--mdc-plain-tooltip-container-color: #050505 !important;--mdc-plain-tooltip-supporting-text-color: white !important;border-radius:6px;font-family:Avenir Next W01,Lato,-apple-system,system-ui,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,sans-serif!important;font-weight:500}::ng-deep .mat-mdc-tooltip .mdc-tooltip__surface{background-color:#050505!important;color:#fff!important;border-radius:6px;font-family:Avenir Next W01,Lato,-apple-system,system-ui,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,sans-serif!important;font-weight:500}::ng-deep .mat-mdc-tooltip-surface{font-family:Avenir Next W01,Lato,-apple-system,system-ui,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,sans-serif!important;font-weight:500}::ng-deep .mdc-tooltip .mdc-tooltip__surface{font-family:Avenir Next W01,Lato,-apple-system,system-ui,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,sans-serif!important;font-weight:500}:host{display:block;width:100%;height:100%;overflow:hidden}::ng-deep .lib-error-snackbar{background-color:#d32f2f;color:#fff;font-weight:500}::ng-deep .map-container{position:relative;height:81vh;width:100%;overflow:hidden}::ng-deep .toolbox-hidden{visibility:hidden!important}::ng-deep #map{width:100%;height:100%;position:absolute;inset:0;overflow:hidden}::ng-deep .ol-viewport{overflow:hidden!important}::ng-deep ::ng-deep .ol-logo{position:absolute;left:auto;right:3em;top:6.25em}::ng-deep ::ng-deep .ol-copyright{background-color:transparent;position:absolute;bottom:10px;width:250px;display:flex;justify-content:end;right:5px}::ng-deep ::ng-deep .toolbar{position:absolute;top:10px;left:10px;background:#fff;padding:4px;border-radius:4px;display:flex;flex-direction:column;transition:width .3s;z-index:1000;overflow:hidden}::ng-deep ::ng-deep .toolbar.collapsed{width:40px;overflow:hidden}::ng-deep .object-panel{position:absolute;bottom:10px;left:10px;background:#fff;padding:8px;border-radius:4px;z-index:1000;max-height:calc(85vh - 20px);overflow-y:auto}::ng-deep .object-panel .header{display:flex;justify-content:space-between;padding:8px;cursor:pointer;background:#f0f0f0}::ng-deep .conflict-panel{position:absolute;bottom:10px;right:10px;background:#fff;padding:8px;border-radius:4px;z-index:1000;max-height:calc(85vh - 20px);overflow-y:auto}::ng-deep .conflict-panel .header{display:flex;justify-content:space-between;padding:8px;cursor:pointer;background:#f0f0f0}::ng-deep ::ng-deep .ol-zoom.ol-unselectable.ol-control{display:flex;flex-direction:column;position:absolute}::ng-deep ::ng-deep .ol-scale-text{display:flex}::ng-deep .ol-scale-bar.ol-unselectable{position:absolute;bottom:3rem}::ng-deep .ol-mouse-position{position:absolute;bottom:10px;left:6px;top:auto;background:#0000004d;color:#fffcfc;width:189px;height:30px;padding:2px;border-radius:5px;text-align:center;display:flex;align-items:center;justify-content:flex-start;z-index:1000}::ng-deep .documents-features-wrapper{position:absolute!important}\n"] }]
5847
5875
  }], ctorParameters: () => [], propDecorators: { identifier: [{
5848
5876
  type: Input,
5849
5877
  args: [{ required: true }]