From 36a5e4858f313f145e905e23994200340abf79b1 Mon Sep 17 00:00:00 2001 From: "github-actions[bot]" <41898282+github-actions[bot]@users.noreply.github.com> Date: Tue, 10 Dec 2024 18:00:52 +0000 Subject: [PATCH] =?UTF-8?q?Deploying=20to=20gh-pages=20from=20@=20open-pio?= =?UTF-8?q?neer/trails-openlayers-base-packages@4d6dc0932420c37d25e2fa544f?= =?UTF-8?q?68c56c4c29e9b5=20=F0=9F=9A=80?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../{FXTRM4va3l8p.js => 7c9jQVsMNNMu.js} | 2 +- .../{CRwo40aqVbK_.js => BvcS9PvOJ4ji.js} | 2 +- .../{DQmU-8v0CX9o.js => C0X7TBLW2Kn4.js} | 2 +- .../{CVqDISZMEQ4Z.js => ClfEYqi3hD19.js} | 2 +- .../{Plectjl_ycB_.js => CqYMxA-o8r_D.js} | 2 +- .../{CT66yHYiEqYR.js => D0_HYA9Daa30.js} | 2 +- .../assets/DW8DcLzWV1Z-.js | 4 -- .../{DiOrj1F0r-Jt.js => Dx9locigDKA2.js} | 2 +- .../assets/OM1YzF7yjem8.js | 4 ++ .../{Crpk8JACbf_-.js => htduZY73xN9H.js} | 2 +- ...neer_basemap_switcher.BasemapSwitcher.html | 2 +- ...eer_coordinate_search.CoordinateInput.html | 2 +- ...er_coordinate_search.CoordinateSearch.html | 2 +- ...er_coordinate_viewer.CoordinateViewer.html | 2 +- ..._open_pioneer_geolocation.Geolocation.html | 2 +- .../_open_pioneer_legend.Legend.html | 2 +- .../_open_pioneer_map.DefaultMapProvider.html | 2 +- .../_open_pioneer_map.MapAnchor.html | 2 +- .../_open_pioneer_map.MapContainer.html | 2 +- ...n_pioneer_map.calculateBufferedExtent.html | 2 +- .../_open_pioneer_map.getProjection.html | 2 +- .../functions/_open_pioneer_map.isLayer.html | 2 +- .../_open_pioneer_map.isSublayer.html | 2 +- ..._open_pioneer_map.registerProjections.html | 2 +- .../_open_pioneer_map.useCenter.html | 2 +- .../_open_pioneer_map.useMapModel.html | 6 +-- .../_open_pioneer_map.useProjection.html | 2 +- .../_open_pioneer_map.useResolution.html | 2 +- .../functions/_open_pioneer_map.useScale.html | 2 +- .../functions/_open_pioneer_map.useView.html | 2 +- .../_open_pioneer_map_navigation.History.html | 2 +- ...ioneer_map_navigation.HistoryBackward.html | 2 +- ...pioneer_map_navigation.HistoryForward.html | 2 +- ..._pioneer_map_navigation.InitialExtent.html | 2 +- .../_open_pioneer_map_navigation.Zoom.html | 2 +- .../_open_pioneer_map_navigation.ZoomIn.html | 2 +- .../_open_pioneer_map_navigation.ZoomOut.html | 2 +- ...r_map_test_utils.createServiceOptions.html | 2 +- ..._open_pioneer_map_test_utils.setupMap.html | 2 +- ...r_map_test_utils.waitForInitialExtent.html | 2 +- ...ioneer_map_test_utils.waitForMapMount.html | 2 +- ..._pioneer_map_ui_components.ToolButton.html | 2 +- ..._open_pioneer_measurement.Measurement.html | 2 +- ...open_pioneer_overview_map.OverviewMap.html | 2 +- .../_open_pioneer_printing.Printing.html | 2 +- .../_open_pioneer_result_list.ResultList.html | 2 +- .../_open_pioneer_scale_bar.ScaleBar.html | 2 +- ...open_pioneer_scale_setter.ScaleSetter.html | 2 +- ...open_pioneer_scale_viewer.ScaleViewer.html | 2 +- .../_open_pioneer_search.Search.html | 2 +- .../_open_pioneer_selection.Selection.html | 2 +- ...er_spatial_bookmarks.SpatialBookmarks.html | 2 +- .../docs/functions/_open_pioneer_toc.Toc.html | 2 +- ...basemap_switcher.BasemapSwitcherProps.html | 14 +++--- ...oordinate_search.CoordinateInputProps.html | 16 +++---- ...ordinate_search.CoordinateSearchProps.html | 12 ++--- ...rdinate_search.CoordinatesSelectEvent.html | 6 +-- ...eer_coordinate_search.ProjectionInput.html | 8 ++-- ...ordinate_viewer.CoordinateViewerProps.html | 12 ++--- .../_open_pioneer_editing.EditingService.html | 10 ++-- ..._open_pioneer_editing.EditingWorkflow.html | 12 ++--- ..._pioneer_geolocation.GeolocationProps.html | 14 +++--- ...n_pioneer_legend.LegendItemAttributes.html | 6 +-- ...oneer_legend.LegendItemComponentProps.html | 4 +- .../_open_pioneer_legend.LegendProps.html | 8 ++-- .../_open_pioneer_map.AnyLayerBaseType.html | 36 +++++++------- .../_open_pioneer_map.BaseFeature.html | 12 ++--- .../_open_pioneer_map.ChildrenCollection.html | 4 +- .../_open_pioneer_map.CoordinateConfig.html | 4 +- .../_open_pioneer_map.ExtentConfig.html | 4 +- .../_open_pioneer_map.GroupLayer.html | 42 ++++++++-------- ...open_pioneer_map.GroupLayerCollection.html | 6 +-- .../_open_pioneer_map.GroupLayerConfig.html | 18 +++---- ...pen_pioneer_map.GroupLayerConstructor.html | 4 +- .../_open_pioneer_map.Highlight.html | 4 +- .../_open_pioneer_map.HighlightOptions.html | 4 +- ...open_pioneer_map.HighlightZoomOptions.html | 10 ++-- ..._open_pioneer_map.InitialExtentConfig.html | 4 +- ...pen_pioneer_map.InitialPositionConfig.html | 4 +- .../_open_pioneer_map.LayerBaseConfig.html | 12 ++--- .../_open_pioneer_map.LayerBaseEvents.html | 4 +- .../_open_pioneer_map.LayerBaseType.html | 42 ++++++++-------- .../_open_pioneer_map.LayerCollection.html | 20 ++++---- .../_open_pioneer_map.LayerConfig.html | 16 +++---- ...pen_pioneer_map.LayerRetrievalOptions.html | 4 +- .../_open_pioneer_map.MapAnchorProps.html | 10 ++-- .../_open_pioneer_map.MapConfig.html | 10 ++-- .../_open_pioneer_map.MapConfigProvider.html | 6 +-- .../_open_pioneer_map.MapContainerProps.html | 16 +++---- .../_open_pioneer_map.MapModel.html | 36 +++++++------- .../_open_pioneer_map.MapModelEvents.html | 4 +- .../_open_pioneer_map.MapModelProps.html | 6 +-- .../_open_pioneer_map.MapPadding.html | 4 +- .../_open_pioneer_map.MapRegistry.html | 8 ++-- .../_open_pioneer_map.OlMapOptions.html | 4 +- .../_open_pioneer_map.SimpleLayer.html | 42 ++++++++-------- .../_open_pioneer_map.SimpleLayerConfig.html | 18 +++---- ...en_pioneer_map.SimpleLayerConstructor.html | 4 +- .../_open_pioneer_map.SublayerBaseType.html | 38 +++++++-------- ..._open_pioneer_map.SublayersCollection.html | 6 +-- .../_open_pioneer_map.UseMapModelLoading.html | 4 +- ..._open_pioneer_map.UseMapModelRejected.html | 4 +- ..._open_pioneer_map.UseMapModelResolved.html | 4 +- .../_open_pioneer_map.WMSLayer.html | 44 ++++++++--------- .../_open_pioneer_map.WMSLayerConfig.html | 22 ++++----- ..._open_pioneer_map.WMSLayerConstructor.html | 4 +- .../_open_pioneer_map.WMSSublayer.html | 40 ++++++++-------- .../_open_pioneer_map.WMSSublayerConfig.html | 16 +++---- .../_open_pioneer_map.WMTSLayer.html | 48 +++++++++---------- .../_open_pioneer_map.WMTSLayerConfig.html | 24 +++++----- ...open_pioneer_map.WMTSLayerConstructor.html | 4 +- .../_open_pioneer_map.ZoomOptions.html | 8 ++-- ...n_pioneer_map_navigation.HistoryProps.html | 8 ++-- ...eer_map_navigation.InitialExtentProps.html | 6 +-- ...open_pioneer_map_navigation.ZoomProps.html | 8 ++-- ...oneer_map_test_utils.SimpleMapOptions.html | 20 ++++---- ...eer_map_ui_components.ToolButtonProps.html | 18 +++---- ..._pioneer_measurement.MeasurementProps.html | 14 +++--- ...neer_measurement.MeasurementsAddEvent.html | 4 +- ...r_measurement.MeasurementsRemoveEvent.html | 4 +- ..._pioneer_ogc_features.FeatureResponse.html | 10 ++-- ...eatures.OgcFeatureSearchSourceOptions.html | 16 +++---- ...eatures.OgcFeatureVectorSourceOptions.html | 20 ++++---- ...atures.OgcFeaturesSearchSourceFactory.html | 4 +- ...atures.OgcFeaturesVectorSourceFactory.html | 4 +- ...pioneer_overview_map.OverviewMapProps.html | 12 ++--- .../_open_pioneer_printing.PrintResult.html | 6 +-- ...open_pioneer_printing.PrintingOptions.html | 8 ++-- .../_open_pioneer_printing.PrintingProps.html | 8 ++-- ...open_pioneer_printing.PrintingService.html | 4 +- ...pen_pioneer_result_list.FormatOptions.html | 6 +-- ...pioneer_result_list.RenderCellContext.html | 6 +-- ...open_pioneer_result_list.ResultColumn.html | 14 +++--- ...n_pioneer_result_list.ResultListInput.html | 8 ++-- ...n_pioneer_result_list.ResultListProps.html | 24 +++++----- ...t_list.ResultListSelectionChangeEvent.html | 4 +- ..._open_pioneer_scale_bar.ScaleBarProps.html | 8 ++-- ...pioneer_scale_setter.ScaleSetterProps.html | 8 ++-- ...pioneer_scale_viewer.ScaleViewerProps.html | 6 +-- .../_open_pioneer_search.SearchOptions.html | 8 ++-- .../_open_pioneer_search.SearchProps.html | 18 +++---- .../_open_pioneer_search.SearchResult.html | 14 +++--- ...open_pioneer_search.SearchSelectEvent.html | 6 +-- .../_open_pioneer_search.SearchSource.html | 6 +-- ...pen_pioneer_selection.ExtentSelection.html | 4 +- ...neer_selection.SelectionCompleteEvent.html | 6 +-- ...en_pioneer_selection.SelectionOptions.html | 8 ++-- ...open_pioneer_selection.SelectionProps.html | 12 ++--- ...pen_pioneer_selection.SelectionResult.html | 12 ++--- ...pen_pioneer_selection.SelectionSource.html | 8 ++-- ...selection.SelectionSourceChangedEvent.html | 4 +- ..._selection.VectorLayerSelectionSource.html | 8 ++-- ...ion.VectorLayerSelectionSourceFactory.html | 4 +- ...ion.VectorLayerSelectionSourceOptions.html | 4 +- ...atial_bookmarks.SpatialBookmarksProps.html | 6 +-- .../_open_pioneer_toc.TocProps.html | 16 +++---- .../_open_pioneer_toc.ToolsConfig.html | 4 +- ..._pioneer_editing.EditingWorkflowState.html | 2 +- .../types/_open_pioneer_map.AnyLayer.html | 2 +- .../_open_pioneer_map.AnyLayerTypes.html | 2 +- .../_open_pioneer_map.DisplayTarget.html | 2 +- ..._open_pioneer_map.HealthCheckFunction.html | 2 +- .../_open_pioneer_map.HighlightStyle.html | 2 +- .../_open_pioneer_map.InitialViewConfig.html | 2 +- .../docs/types/_open_pioneer_map.Layer.html | 2 +- .../_open_pioneer_map.LayerLoadState.html | 2 +- .../types/_open_pioneer_map.LayerTypes.html | 2 +- .../_open_pioneer_map.MapAnchorPosition.html | 2 +- ...open_pioneer_map.ProjectionDefinition.html | 2 +- .../types/_open_pioneer_map.Sublayer.html | 2 +- .../_open_pioneer_map.SublayerTypes.html | 2 +- .../_open_pioneer_map.UseMapModelResult.html | 2 +- ...r_map_navigation.HistoryBackwardProps.html | 2 +- ...er_map_navigation.HistoryForwardProps.html | 2 +- ...en_pioneer_map_navigation.ZoomInProps.html | 2 +- ...n_pioneer_map_navigation.ZoomOutProps.html | 2 +- ...oneer_measurement.MeasurementGeometry.html | 2 +- ...r_measurement.MeasurementsChangeEvent.html | 2 +- ...pioneer_ogc_features.OgcFetchStrategy.html | 2 +- ..._pioneer_printing.ViewPaddingBehavior.html | 2 +- ...pen_pioneer_result_list.SelectionMode.html | 2 +- ..._open_pioneer_selection.SelectionKind.html | 2 +- ...oneer_selection.SelectionSourceStatus.html | 2 +- ...selection.SelectionSourceStatusObject.html | 2 +- .../_open_pioneer_map.GroupLayer-1.html | 2 +- .../_open_pioneer_map.SimpleLayer-1.html | 2 +- .../_open_pioneer_map.WMSLayer-1.html | 2 +- .../_open_pioneer_map.WMTSLayer-1.html | 2 +- .../variables/_open_pioneer_theme.theme.html | 2 +- .../samples/experimental-sidebar/index.html | 2 +- .../samples/map-sample/index.html | 6 +-- .../samples/ogc-api-sample/index.html | 2 +- .../samples/showcase/index.html | 6 +-- .../samples/test-printing-api/index.html | 4 +- .../samples/test-result-list/index.html | 2 +- .../samples/test-toc/index.html | 2 +- 196 files changed, 709 insertions(+), 709 deletions(-) rename openlayers-base-packages/assets/{FXTRM4va3l8p.js => 7c9jQVsMNNMu.js} (86%) rename openlayers-base-packages/assets/{CRwo40aqVbK_.js => BvcS9PvOJ4ji.js} (79%) rename openlayers-base-packages/assets/{DQmU-8v0CX9o.js => C0X7TBLW2Kn4.js} (88%) rename openlayers-base-packages/assets/{CVqDISZMEQ4Z.js => ClfEYqi3hD19.js} (90%) rename openlayers-base-packages/assets/{Plectjl_ycB_.js => CqYMxA-o8r_D.js} (99%) rename openlayers-base-packages/assets/{CT66yHYiEqYR.js => D0_HYA9Daa30.js} (91%) delete mode 100644 openlayers-base-packages/assets/DW8DcLzWV1Z-.js rename openlayers-base-packages/assets/{DiOrj1F0r-Jt.js => Dx9locigDKA2.js} (78%) create mode 100644 openlayers-base-packages/assets/OM1YzF7yjem8.js rename openlayers-base-packages/assets/{Crpk8JACbf_-.js => htduZY73xN9H.js} (82%) diff --git a/openlayers-base-packages/assets/FXTRM4va3l8p.js b/openlayers-base-packages/assets/7c9jQVsMNNMu.js similarity index 86% rename from openlayers-base-packages/assets/FXTRM4va3l8p.js rename to openlayers-base-packages/assets/7c9jQVsMNNMu.js index 15437d396..ec7e91296 100644 --- a/openlayers-base-packages/assets/FXTRM4va3l8p.js +++ b/openlayers-base-packages/assets/7c9jQVsMNNMu.js @@ -1 +1 @@ -import{j as e,a as P,K as k,r as p,b as C,q as y,B as u,D as B,f as R}from"./Mxtq6FG0Aq1_.js";import{t as T}from"./hZvUQIaW6FE0.js";import{S as O,T as N,O as q,M as F,H,u as D,k as m,i as Z,g as $,h as V,l as W,m as G}from"./5C5XmiCGgLmB.js";import{_ as K}from"./CmsKOCeNyeyo.js";import{c as A}from"./DUaeWVZO0JNZ.js";import{I as z}from"./J2n92hO6xhYn.js";import{S as j}from"./B3HqXXx_wjjB.js";import{g as U}from"./IfrtfJ9Ep93o.js";const J=A({displayName:"ArrowRightIcon",path:e.jsxs("g",{fill:"currentColor",children:[e.jsx("path",{d:"M13.584,12a2.643,2.643,0,0,1-.775,1.875L3.268,23.416a1.768,1.768,0,0,1-2.5-2.5l8.739-8.739a.25.25,0,0,0,0-.354L.768,3.084a1.768,1.768,0,0,1,2.5-2.5l9.541,9.541A2.643,2.643,0,0,1,13.584,12Z"}),e.jsx("path",{d:"M23.75,12a2.643,2.643,0,0,1-.775,1.875l-9.541,9.541a1.768,1.768,0,0,1-2.5-2.5l8.739-8.739a.25.25,0,0,0,0-.354L10.934,3.084a1.768,1.768,0,0,1,2.5-2.5l9.541,9.541A2.643,2.643,0,0,1,23.75,12Z"})]})}),Q=A({displayName:"ArrowLeftIcon",path:e.jsxs("g",{fill:"currentColor",children:[e.jsx("path",{d:"M10.416,12a2.643,2.643,0,0,1,.775-1.875L20.732.584a1.768,1.768,0,0,1,2.5,2.5l-8.739,8.739a.25.25,0,0,0,0,.354l8.739,8.739a1.768,1.768,0,0,1-2.5,2.5l-9.541-9.541A2.643,2.643,0,0,1,10.416,12Z"}),e.jsx("path",{d:"M.25,12a2.643,2.643,0,0,1,.775-1.875L10.566.584a1.768,1.768,0,0,1,2.5,2.5L4.327,11.823a.25.25,0,0,0,0,.354l8.739,8.739a1.768,1.768,0,0,1-2.5,2.5L1.025,13.875A2.643,2.643,0,0,1,.25,12Z"})]})}),h="main";class X{mapId=h;async getMapConfig(){return{initialView:{kind:"position",center:{x:404747,y:5757920},zoom:14},layers:[new O({title:"OSM",isBaseLayer:!0,olLayer:new N({source:new q})})]}}}const Y={"sidebar-app":{name:"sidebar-app",services:{MapConfigProviderImpl:{name:"MapConfigProviderImpl",clazz:X,provides:[{name:"map.MapConfigProvider",qualifier:void 0}],references:{}}},ui:{references:[]},properties:{}},"@open-pioneer/basemap-switcher":{name:"@open-pioneer/basemap-switcher",services:{},ui:{references:[]},properties:{}},"@open-pioneer/chakra-integration":{name:"@open-pioneer/chakra-integration",services:{},ui:{references:[]},properties:{}},"@open-pioneer/map":{name:"@open-pioneer/map",services:{MapRegistryImpl:{name:"MapRegistryImpl",clazz:F,provides:[{name:"map.MapRegistry",qualifier:void 0}],references:{providers:{name:"map.MapConfigProvider",qualifier:void 0,all:!0},httpService:{name:"http.HttpService",qualifier:void 0,all:!1}}}},ui:{references:[{name:"map.MapRegistry",qualifier:void 0,all:!1}]},properties:{}},"@open-pioneer/react-utils":{name:"@open-pioneer/react-utils",services:{},ui:{references:[]},properties:{}},"@open-pioneer/runtime":{name:"@open-pioneer/runtime",services:{},ui:{references:[]},properties:{}},"@open-pioneer/theme":{name:"@open-pioneer/theme",services:{},ui:{references:[]},properties:{}},"@open-pioneer/reactivity":{name:"@open-pioneer/reactivity",services:{},ui:{references:[]},properties:{}},"@open-pioneer/core":{name:"@open-pioneer/core",services:{},ui:{references:[]},properties:{}},"@open-pioneer/http":{name:"@open-pioneer/http",services:{HttpServiceImpl:{name:"HttpServiceImpl",clazz:H,provides:[{name:"http.HttpService",qualifier:"http.HttpService"}],references:{interceptors:{name:"http.Interceptor",qualifier:void 0,all:!0}}}},ui:{references:[]},properties:{}},"@open-pioneer/base-theme":{name:"@open-pioneer/base-theme",services:{},ui:{references:[]},properties:{}},"@open-pioneer/runtime-react-support":{name:"@open-pioneer/runtime-react-support",services:{},ui:{references:[]},properties:{}},"@open-pioneer/experimental-layout-sidebar":{name:"@open-pioneer/experimental-layout-sidebar",services:{},ui:{references:[]},properties:{}}},ee='.layout-sidebar{z-index:99}:root,:host{--ol-background-color: white;--ol-accent-background-color: #F5F5F5;--ol-subtle-background-color: rgba(128, 128, 128, .25);--ol-partial-background-color: rgba(255, 255, 255, .75);--ol-foreground-color: #333333;--ol-subtle-foreground-color: #666666;--ol-brand-color: #00AAFF}.ol-box{box-sizing:border-box;border-radius:2px;border:1.5px solid var(--ol-background-color);background-color:var(--ol-partial-background-color)}.ol-mouse-position{top:8px;right:8px;position:absolute}.ol-scale-line{background:var(--ol-partial-background-color);border-radius:4px;bottom:8px;left:8px;padding:2px;position:absolute}.ol-scale-line-inner{border:1px solid var(--ol-subtle-foreground-color);border-top:none;color:var(--ol-foreground-color);font-size:10px;text-align:center;margin:1px;will-change:contents,width;transition:all .25s}.ol-scale-bar{position:absolute;bottom:8px;left:8px}.ol-scale-bar-inner{display:flex}.ol-scale-step-marker{width:1px;height:15px;background-color:var(--ol-foreground-color);float:right;z-index:10}.ol-scale-step-text{position:absolute;bottom:-5px;font-size:10px;z-index:11;color:var(--ol-foreground-color);text-shadow:-1.5px 0 var(--ol-partial-background-color),0 1.5px var(--ol-partial-background-color),1.5px 0 var(--ol-partial-background-color),0 -1.5px var(--ol-partial-background-color)}.ol-scale-text{position:absolute;font-size:12px;text-align:center;bottom:25px;color:var(--ol-foreground-color);text-shadow:-1.5px 0 var(--ol-partial-background-color),0 1.5px var(--ol-partial-background-color),1.5px 0 var(--ol-partial-background-color),0 -1.5px var(--ol-partial-background-color)}.ol-scale-singlebar{position:relative;height:10px;z-index:9;box-sizing:border-box;border:1px solid var(--ol-foreground-color)}.ol-scale-singlebar-even{background-color:var(--ol-subtle-foreground-color)}.ol-scale-singlebar-odd{background-color:var(--ol-background-color)}.ol-unsupported{display:none}.ol-viewport,.ol-unselectable{-webkit-touch-callout:none;-webkit-user-select:none;-moz-user-select:none;user-select:none;-webkit-tap-highlight-color:transparent}.ol-viewport canvas{all:unset;overflow:hidden}.ol-viewport{touch-action:pan-x pan-y}.ol-selectable{-webkit-touch-callout:default;-webkit-user-select:text;-moz-user-select:text;user-select:text}.ol-grabbing{cursor:-webkit-grabbing;cursor:-moz-grabbing;cursor:grabbing}.ol-grab{cursor:move;cursor:-webkit-grab;cursor:-moz-grab;cursor:grab}.ol-control{position:absolute;background-color:var(--ol-subtle-background-color);border-radius:4px}.ol-zoom{top:.5em;left:.5em}.ol-rotate{top:.5em;right:.5em;transition:opacity .25s linear,visibility 0s linear}.ol-rotate.ol-hidden{opacity:0;visibility:hidden;transition:opacity .25s linear,visibility 0s linear .25s}.ol-zoom-extent{top:4.643em;left:.5em}.ol-full-screen{right:.5em;top:.5em}.ol-control button{display:block;margin:1px;padding:0;color:var(--ol-subtle-foreground-color);font-weight:700;text-decoration:none;font-size:inherit;text-align:center;height:1.375em;width:1.375em;line-height:.4em;background-color:var(--ol-background-color);border:none;border-radius:2px}.ol-control button::-moz-focus-inner{border:none;padding:0}.ol-zoom-extent button{line-height:1.4em}.ol-compass{display:block;font-weight:400;will-change:transform}.ol-touch .ol-control button{font-size:1.5em}.ol-touch .ol-zoom-extent{top:5.5em}.ol-control button:hover,.ol-control button:focus{text-decoration:none;outline:1px solid var(--ol-subtle-foreground-color);color:var(--ol-foreground-color)}.ol-zoom .ol-zoom-in{border-radius:2px 2px 0 0}.ol-zoom .ol-zoom-out{border-radius:0 0 2px 2px}.ol-attribution{text-align:right;bottom:.5em;right:.5em;max-width:calc(100% - 1.3em);display:flex;flex-flow:row-reverse;align-items:center}.ol-attribution a{color:var(--ol-subtle-foreground-color);text-decoration:none}.ol-attribution ul{margin:0;padding:1px .5em;color:var(--ol-foreground-color);text-shadow:0 0 2px var(--ol-background-color);font-size:12px}.ol-attribution li{display:inline;list-style:none}.ol-attribution li:not(:last-child):after{content:" "}.ol-attribution img{max-height:2em;max-width:inherit;vertical-align:middle}.ol-attribution button{flex-shrink:0}.ol-attribution.ol-collapsed ul{display:none}.ol-attribution:not(.ol-collapsed){background:var(--ol-partial-background-color)}.ol-attribution.ol-uncollapsible{bottom:0;right:0;border-radius:4px 0 0}.ol-attribution.ol-uncollapsible img{margin-top:-.2em;max-height:1.6em}.ol-attribution.ol-uncollapsible button{display:none}.ol-zoomslider{top:4.5em;left:.5em;height:200px}.ol-zoomslider button{position:relative;height:10px}.ol-touch .ol-zoomslider{top:5.5em}.ol-overviewmap{left:.5em;bottom:.5em}.ol-overviewmap.ol-uncollapsible{bottom:0;left:0;border-radius:0 4px 0 0}.ol-overviewmap .ol-overviewmap-map,.ol-overviewmap button{display:block}.ol-overviewmap .ol-overviewmap-map{border:1px solid var(--ol-subtle-foreground-color);height:150px;width:150px}.ol-overviewmap:not(.ol-collapsed) button{bottom:0;left:0;position:absolute}.ol-overviewmap.ol-collapsed .ol-overviewmap-map,.ol-overviewmap.ol-uncollapsible button{display:none}.ol-overviewmap:not(.ol-collapsed){background:var(--ol-subtle-background-color)}.ol-overviewmap-box{border:1.5px dotted var(--ol-subtle-foreground-color)}.ol-overviewmap .ol-overviewmap-box:hover{cursor:move}.ol-overviewmap .ol-viewport:hover{cursor:pointer}.map-container .ol-viewport .ol-attribution{bottom:var(--map-padding-bottom);right:var(--map-padding-right)}.layout-sidebar{height:100%;position:absolute;top:0}.layout-sidebar[data-theme=light]{background-color:var(--chakra-colors-whiteAlpha-700)}.layout-sidebar[data-theme=dark]{background-color:var(--chakra-colors-blackAlpha-700)}.layout-sidebar .layout-sidebar-main{transition:width .3s ease-out 0s;border-right:1px solid var(--chakra-colors-chakra-border-color)}.layout-sidebar .layout-sidebar-content{overflow:auto;transition:width .3s ease-out 0s}.layout-sidebar .layout-sidebar-content .content-section .content-header{font-size:1.5em;background-color:var(--chakra-colors-blackAlpha-500);padding:.5rem 1rem}.layout-sidebar .layout-sidebar-content .content-section .content-body{padding:1rem}',oe=["en"];function re(i){switch(i){case"en":return K(()=>import("./BIbDu0DJPL_e.js"),[],import.meta.url).then(s=>s.default)}throw new Error(`Unsupported locale: '${i}'`)}const te=P(ee),ae=Object.freeze(Object.defineProperty({__proto__:null,loadMessages:re,locales:oe,packages:Y,styles:te},Symbol.toStringTag,{value:"Module"})),ie="@open-pioneer/experimental-layout-sidebar",le=D.bind(void 0,ie),S=60,I=180,M=300;function ne({defaultExpanded:i,expandedChanged:s,sidebarWidthChanged:n,items:c}){const l=le(),[a,{toggle:t}]=se(c),{isOpen:r,onToggle:b}=k({defaultIsOpen:i,onOpen(){s?.(!0)},onClose(){s?.(!1)}}),{isOpen:d,onToggle:x}=k(),g=a.size>0;p.useEffect(()=>{g&&!d&&x(),!g&&d&&x()},[g]),p.useEffect(()=>{if(n){let o=S;r&&(o=I),d&&(o+=M),n(o)}},[r,d]);const E=c?.map((o,_)=>{const f="white",w=a.has(o.id)?"outline":"ghost";return e.jsx("div",{children:r?e.jsx(C,{leftIcon:o.icon,variant:w,colorScheme:f,onClick:()=>t(o),children:o.label},o.id):e.jsx(y,{hasArrow:!0,label:o.label,placement:"right",children:e.jsx(z,{"aria-label":o.label,variant:w,colorScheme:f,icon:o.icon,onClick:()=>t(o)})},o.id)},_)}),L=c?.filter(o=>a.has(o.id)).map(o=>e.jsxs("div",{className:"content-section",children:[e.jsxs(m,{className:"content-header",alignItems:"center",children:[e.jsx(u,{children:o.label}),e.jsx(j,{}),e.jsx(B,{onClick:()=>t(o)})]}),e.jsx("div",{className:"content-body",children:o.content})]},o.id)),v=l.formatMessage({id:r?"toggle.collapse":"toggle.expand"});return e.jsxs(m,{className:"layout-sidebar",children:[e.jsxs(u,{className:"layout-sidebar-main",display:"flex",flexDirection:"column",width:r?`${I}px`:`${S}px`,padding:"10px",gap:"10px",children:[E,e.jsx(j,{}),e.jsx(y,{label:v,hasArrow:!0,placement:"right",children:e.jsx(z,{"aria-label":v,variant:"ghost",icon:r?e.jsx(Q,{}):e.jsx(J,{}),onClick:b})})]}),e.jsx(u,{className:"layout-sidebar-content",width:d?`${M}px`:"0px",children:L})]})}function se(i){const[s,n]=p.useReducer((l,a)=>{switch(a.type){case"toggle":{const t=new Set(l);return t.has(a.id)?t.delete(a.id):t.add(a.id),t}case"retain":{const t=new Set(a.ids),r=new Set(l);for(const b of r)t.has(b)||r.delete(b);return r}}},void 0,()=>new Set),c=p.useCallback(l=>{n({type:"toggle",id:l.id})},[n]);return p.useEffect(()=>{n({type:"retain",ids:i?.map(l=>l.id)??[]})},[i,n]),[s,{toggle:c}]}const ce=[796987,5827477,796987,5827477];function pe(){const[i,s]=p.useState(),[n,c]=p.useState(!0),l=Z(h),a=()=>{const r=l.map?.olMap;r&&r?.getView().fit(ce,{maxZoom:13})},t=[{id:"sandbox",icon:e.jsx(U,{}),label:"Sandbox",content:e.jsx(C,{onClick:a,children:"Center Berlin"})}];return e.jsx(m,{height:"100%",direction:"column",overflow:"hidden",children:e.jsx($,{title:e.jsx(u,{textAlign:"center",py:1,px:1,children:e.jsx(V,{size:"md",children:"Sidebar sample"})}),children:e.jsxs(m,{flex:"1",direction:"column",position:"relative",children:[e.jsx(ne,{defaultExpanded:n,expandedChanged:r=>c(r),sidebarWidthChanged:r=>s({left:r}),items:t}),e.jsx(W,{mapId:h,viewPadding:i,viewPaddingChangeBehavior:"preserve-extent",children:e.jsx(G,{position:"top-left",horizontalGap:10,verticalGap:10,children:e.jsx(u,{backgroundColor:"whiteAlpha.800",borderWidth:"1px",borderRadius:"lg",padding:2,boxShadow:"lg",children:"This is a sample for a sidebar component."})})})]})})})}const de=R({component:pe,theme:T,appMetadata:ae});customElements.define("sidebar-app",de); +import{j as e,a as P,K as k,r as p,b as C,q as y,B as u,D as B,f as R}from"./Mxtq6FG0Aq1_.js";import{t as T}from"./hZvUQIaW6FE0.js";import{S as O,T as N,O as q,M as F,H,u as D,k as m,i as Z,g as $,h as V,l as W,m as G}from"./5C5XmiCGgLmB.js";import{_ as K}from"./CmsKOCeNyeyo.js";import{c as A}from"./DUaeWVZO0JNZ.js";import{I as z}from"./J2n92hO6xhYn.js";import{S as j}from"./B3HqXXx_wjjB.js";import{g as U}from"./IfrtfJ9Ep93o.js";const J=A({displayName:"ArrowRightIcon",path:e.jsxs("g",{fill:"currentColor",children:[e.jsx("path",{d:"M13.584,12a2.643,2.643,0,0,1-.775,1.875L3.268,23.416a1.768,1.768,0,0,1-2.5-2.5l8.739-8.739a.25.25,0,0,0,0-.354L.768,3.084a1.768,1.768,0,0,1,2.5-2.5l9.541,9.541A2.643,2.643,0,0,1,13.584,12Z"}),e.jsx("path",{d:"M23.75,12a2.643,2.643,0,0,1-.775,1.875l-9.541,9.541a1.768,1.768,0,0,1-2.5-2.5l8.739-8.739a.25.25,0,0,0,0-.354L10.934,3.084a1.768,1.768,0,0,1,2.5-2.5l9.541,9.541A2.643,2.643,0,0,1,23.75,12Z"})]})}),Q=A({displayName:"ArrowLeftIcon",path:e.jsxs("g",{fill:"currentColor",children:[e.jsx("path",{d:"M10.416,12a2.643,2.643,0,0,1,.775-1.875L20.732.584a1.768,1.768,0,0,1,2.5,2.5l-8.739,8.739a.25.25,0,0,0,0,.354l8.739,8.739a1.768,1.768,0,0,1-2.5,2.5l-9.541-9.541A2.643,2.643,0,0,1,10.416,12Z"}),e.jsx("path",{d:"M.25,12a2.643,2.643,0,0,1,.775-1.875L10.566.584a1.768,1.768,0,0,1,2.5,2.5L4.327,11.823a.25.25,0,0,0,0,.354l8.739,8.739a1.768,1.768,0,0,1-2.5,2.5L1.025,13.875A2.643,2.643,0,0,1,.25,12Z"})]})}),h="main";class X{mapId=h;async getMapConfig(){return{initialView:{kind:"position",center:{x:404747,y:5757920},zoom:14},layers:[new O({title:"OSM",isBaseLayer:!0,olLayer:new N({source:new q})})]}}}const Y={"sidebar-app":{name:"sidebar-app",services:{MapConfigProviderImpl:{name:"MapConfigProviderImpl",clazz:X,provides:[{name:"map.MapConfigProvider",qualifier:void 0}],references:{}}},ui:{references:[]},properties:{}},"@open-pioneer/chakra-integration":{name:"@open-pioneer/chakra-integration",services:{},ui:{references:[]},properties:{}},"@open-pioneer/runtime":{name:"@open-pioneer/runtime",services:{},ui:{references:[]},properties:{}},"@open-pioneer/react-utils":{name:"@open-pioneer/react-utils",services:{},ui:{references:[]},properties:{}},"@open-pioneer/map":{name:"@open-pioneer/map",services:{MapRegistryImpl:{name:"MapRegistryImpl",clazz:F,provides:[{name:"map.MapRegistry",qualifier:void 0}],references:{providers:{name:"map.MapConfigProvider",qualifier:void 0,all:!0},httpService:{name:"http.HttpService",qualifier:void 0,all:!1}}}},ui:{references:[{name:"map.MapRegistry",qualifier:void 0,all:!1}]},properties:{}},"@open-pioneer/theme":{name:"@open-pioneer/theme",services:{},ui:{references:[]},properties:{}},"@open-pioneer/basemap-switcher":{name:"@open-pioneer/basemap-switcher",services:{},ui:{references:[]},properties:{}},"@open-pioneer/http":{name:"@open-pioneer/http",services:{HttpServiceImpl:{name:"HttpServiceImpl",clazz:H,provides:[{name:"http.HttpService",qualifier:"http.HttpService"}],references:{interceptors:{name:"http.Interceptor",qualifier:void 0,all:!0}}}},ui:{references:[]},properties:{}},"@open-pioneer/experimental-layout-sidebar":{name:"@open-pioneer/experimental-layout-sidebar",services:{},ui:{references:[]},properties:{}},"@open-pioneer/base-theme":{name:"@open-pioneer/base-theme",services:{},ui:{references:[]},properties:{}},"@open-pioneer/core":{name:"@open-pioneer/core",services:{},ui:{references:[]},properties:{}},"@open-pioneer/runtime-react-support":{name:"@open-pioneer/runtime-react-support",services:{},ui:{references:[]},properties:{}},"@open-pioneer/reactivity":{name:"@open-pioneer/reactivity",services:{},ui:{references:[]},properties:{}}},ee='.layout-sidebar{z-index:99}:root,:host{--ol-background-color: white;--ol-accent-background-color: #F5F5F5;--ol-subtle-background-color: rgba(128, 128, 128, .25);--ol-partial-background-color: rgba(255, 255, 255, .75);--ol-foreground-color: #333333;--ol-subtle-foreground-color: #666666;--ol-brand-color: #00AAFF}.ol-box{box-sizing:border-box;border-radius:2px;border:1.5px solid var(--ol-background-color);background-color:var(--ol-partial-background-color)}.ol-mouse-position{top:8px;right:8px;position:absolute}.ol-scale-line{background:var(--ol-partial-background-color);border-radius:4px;bottom:8px;left:8px;padding:2px;position:absolute}.ol-scale-line-inner{border:1px solid var(--ol-subtle-foreground-color);border-top:none;color:var(--ol-foreground-color);font-size:10px;text-align:center;margin:1px;will-change:contents,width;transition:all .25s}.ol-scale-bar{position:absolute;bottom:8px;left:8px}.ol-scale-bar-inner{display:flex}.ol-scale-step-marker{width:1px;height:15px;background-color:var(--ol-foreground-color);float:right;z-index:10}.ol-scale-step-text{position:absolute;bottom:-5px;font-size:10px;z-index:11;color:var(--ol-foreground-color);text-shadow:-1.5px 0 var(--ol-partial-background-color),0 1.5px var(--ol-partial-background-color),1.5px 0 var(--ol-partial-background-color),0 -1.5px var(--ol-partial-background-color)}.ol-scale-text{position:absolute;font-size:12px;text-align:center;bottom:25px;color:var(--ol-foreground-color);text-shadow:-1.5px 0 var(--ol-partial-background-color),0 1.5px var(--ol-partial-background-color),1.5px 0 var(--ol-partial-background-color),0 -1.5px var(--ol-partial-background-color)}.ol-scale-singlebar{position:relative;height:10px;z-index:9;box-sizing:border-box;border:1px solid var(--ol-foreground-color)}.ol-scale-singlebar-even{background-color:var(--ol-subtle-foreground-color)}.ol-scale-singlebar-odd{background-color:var(--ol-background-color)}.ol-unsupported{display:none}.ol-viewport,.ol-unselectable{-webkit-touch-callout:none;-webkit-user-select:none;-moz-user-select:none;user-select:none;-webkit-tap-highlight-color:transparent}.ol-viewport canvas{all:unset;overflow:hidden}.ol-viewport{touch-action:pan-x pan-y}.ol-selectable{-webkit-touch-callout:default;-webkit-user-select:text;-moz-user-select:text;user-select:text}.ol-grabbing{cursor:-webkit-grabbing;cursor:-moz-grabbing;cursor:grabbing}.ol-grab{cursor:move;cursor:-webkit-grab;cursor:-moz-grab;cursor:grab}.ol-control{position:absolute;background-color:var(--ol-subtle-background-color);border-radius:4px}.ol-zoom{top:.5em;left:.5em}.ol-rotate{top:.5em;right:.5em;transition:opacity .25s linear,visibility 0s linear}.ol-rotate.ol-hidden{opacity:0;visibility:hidden;transition:opacity .25s linear,visibility 0s linear .25s}.ol-zoom-extent{top:4.643em;left:.5em}.ol-full-screen{right:.5em;top:.5em}.ol-control button{display:block;margin:1px;padding:0;color:var(--ol-subtle-foreground-color);font-weight:700;text-decoration:none;font-size:inherit;text-align:center;height:1.375em;width:1.375em;line-height:.4em;background-color:var(--ol-background-color);border:none;border-radius:2px}.ol-control button::-moz-focus-inner{border:none;padding:0}.ol-zoom-extent button{line-height:1.4em}.ol-compass{display:block;font-weight:400;will-change:transform}.ol-touch .ol-control button{font-size:1.5em}.ol-touch .ol-zoom-extent{top:5.5em}.ol-control button:hover,.ol-control button:focus{text-decoration:none;outline:1px solid var(--ol-subtle-foreground-color);color:var(--ol-foreground-color)}.ol-zoom .ol-zoom-in{border-radius:2px 2px 0 0}.ol-zoom .ol-zoom-out{border-radius:0 0 2px 2px}.ol-attribution{text-align:right;bottom:.5em;right:.5em;max-width:calc(100% - 1.3em);display:flex;flex-flow:row-reverse;align-items:center}.ol-attribution a{color:var(--ol-subtle-foreground-color);text-decoration:none}.ol-attribution ul{margin:0;padding:1px .5em;color:var(--ol-foreground-color);text-shadow:0 0 2px var(--ol-background-color);font-size:12px}.ol-attribution li{display:inline;list-style:none}.ol-attribution li:not(:last-child):after{content:" "}.ol-attribution img{max-height:2em;max-width:inherit;vertical-align:middle}.ol-attribution button{flex-shrink:0}.ol-attribution.ol-collapsed ul{display:none}.ol-attribution:not(.ol-collapsed){background:var(--ol-partial-background-color)}.ol-attribution.ol-uncollapsible{bottom:0;right:0;border-radius:4px 0 0}.ol-attribution.ol-uncollapsible img{margin-top:-.2em;max-height:1.6em}.ol-attribution.ol-uncollapsible button{display:none}.ol-zoomslider{top:4.5em;left:.5em;height:200px}.ol-zoomslider button{position:relative;height:10px}.ol-touch .ol-zoomslider{top:5.5em}.ol-overviewmap{left:.5em;bottom:.5em}.ol-overviewmap.ol-uncollapsible{bottom:0;left:0;border-radius:0 4px 0 0}.ol-overviewmap .ol-overviewmap-map,.ol-overviewmap button{display:block}.ol-overviewmap .ol-overviewmap-map{border:1px solid var(--ol-subtle-foreground-color);height:150px;width:150px}.ol-overviewmap:not(.ol-collapsed) button{bottom:0;left:0;position:absolute}.ol-overviewmap.ol-collapsed .ol-overviewmap-map,.ol-overviewmap.ol-uncollapsible button{display:none}.ol-overviewmap:not(.ol-collapsed){background:var(--ol-subtle-background-color)}.ol-overviewmap-box{border:1.5px dotted var(--ol-subtle-foreground-color)}.ol-overviewmap .ol-overviewmap-box:hover{cursor:move}.ol-overviewmap .ol-viewport:hover{cursor:pointer}.map-container .ol-viewport .ol-attribution{bottom:var(--map-padding-bottom);right:var(--map-padding-right)}.layout-sidebar{height:100%;position:absolute;top:0}.layout-sidebar[data-theme=light]{background-color:var(--chakra-colors-whiteAlpha-700)}.layout-sidebar[data-theme=dark]{background-color:var(--chakra-colors-blackAlpha-700)}.layout-sidebar .layout-sidebar-main{transition:width .3s ease-out 0s;border-right:1px solid var(--chakra-colors-chakra-border-color)}.layout-sidebar .layout-sidebar-content{overflow:auto;transition:width .3s ease-out 0s}.layout-sidebar .layout-sidebar-content .content-section .content-header{font-size:1.5em;background-color:var(--chakra-colors-blackAlpha-500);padding:.5rem 1rem}.layout-sidebar .layout-sidebar-content .content-section .content-body{padding:1rem}',oe=["en"];function re(i){switch(i){case"en":return K(()=>import("./BIbDu0DJPL_e.js"),[],import.meta.url).then(s=>s.default)}throw new Error(`Unsupported locale: '${i}'`)}const te=P(ee),ae=Object.freeze(Object.defineProperty({__proto__:null,loadMessages:re,locales:oe,packages:Y,styles:te},Symbol.toStringTag,{value:"Module"})),ie="@open-pioneer/experimental-layout-sidebar",le=D.bind(void 0,ie),S=60,I=180,M=300;function ne({defaultExpanded:i,expandedChanged:s,sidebarWidthChanged:n,items:c}){const l=le(),[a,{toggle:t}]=se(c),{isOpen:r,onToggle:b}=k({defaultIsOpen:i,onOpen(){s?.(!0)},onClose(){s?.(!1)}}),{isOpen:d,onToggle:x}=k(),g=a.size>0;p.useEffect(()=>{g&&!d&&x(),!g&&d&&x()},[g]),p.useEffect(()=>{if(n){let o=S;r&&(o=I),d&&(o+=M),n(o)}},[r,d]);const E=c?.map((o,_)=>{const f="white",w=a.has(o.id)?"outline":"ghost";return e.jsx("div",{children:r?e.jsx(C,{leftIcon:o.icon,variant:w,colorScheme:f,onClick:()=>t(o),children:o.label},o.id):e.jsx(y,{hasArrow:!0,label:o.label,placement:"right",children:e.jsx(z,{"aria-label":o.label,variant:w,colorScheme:f,icon:o.icon,onClick:()=>t(o)})},o.id)},_)}),L=c?.filter(o=>a.has(o.id)).map(o=>e.jsxs("div",{className:"content-section",children:[e.jsxs(m,{className:"content-header",alignItems:"center",children:[e.jsx(u,{children:o.label}),e.jsx(j,{}),e.jsx(B,{onClick:()=>t(o)})]}),e.jsx("div",{className:"content-body",children:o.content})]},o.id)),v=l.formatMessage({id:r?"toggle.collapse":"toggle.expand"});return e.jsxs(m,{className:"layout-sidebar",children:[e.jsxs(u,{className:"layout-sidebar-main",display:"flex",flexDirection:"column",width:r?`${I}px`:`${S}px`,padding:"10px",gap:"10px",children:[E,e.jsx(j,{}),e.jsx(y,{label:v,hasArrow:!0,placement:"right",children:e.jsx(z,{"aria-label":v,variant:"ghost",icon:r?e.jsx(Q,{}):e.jsx(J,{}),onClick:b})})]}),e.jsx(u,{className:"layout-sidebar-content",width:d?`${M}px`:"0px",children:L})]})}function se(i){const[s,n]=p.useReducer((l,a)=>{switch(a.type){case"toggle":{const t=new Set(l);return t.has(a.id)?t.delete(a.id):t.add(a.id),t}case"retain":{const t=new Set(a.ids),r=new Set(l);for(const b of r)t.has(b)||r.delete(b);return r}}},void 0,()=>new Set),c=p.useCallback(l=>{n({type:"toggle",id:l.id})},[n]);return p.useEffect(()=>{n({type:"retain",ids:i?.map(l=>l.id)??[]})},[i,n]),[s,{toggle:c}]}const ce=[796987,5827477,796987,5827477];function pe(){const[i,s]=p.useState(),[n,c]=p.useState(!0),l=Z(h),a=()=>{const r=l.map?.olMap;r&&r?.getView().fit(ce,{maxZoom:13})},t=[{id:"sandbox",icon:e.jsx(U,{}),label:"Sandbox",content:e.jsx(C,{onClick:a,children:"Center Berlin"})}];return e.jsx(m,{height:"100%",direction:"column",overflow:"hidden",children:e.jsx($,{title:e.jsx(u,{textAlign:"center",py:1,px:1,children:e.jsx(V,{size:"md",children:"Sidebar sample"})}),children:e.jsxs(m,{flex:"1",direction:"column",position:"relative",children:[e.jsx(ne,{defaultExpanded:n,expandedChanged:r=>c(r),sidebarWidthChanged:r=>s({left:r}),items:t}),e.jsx(W,{mapId:h,viewPadding:i,viewPaddingChangeBehavior:"preserve-extent",children:e.jsx(G,{position:"top-left",horizontalGap:10,verticalGap:10,children:e.jsx(u,{backgroundColor:"whiteAlpha.800",borderWidth:"1px",borderRadius:"lg",padding:2,boxShadow:"lg",children:"This is a sample for a sidebar component."})})})]})})})}const de=R({component:pe,theme:T,appMetadata:ae});customElements.define("sidebar-app",de); diff --git a/openlayers-base-packages/assets/CRwo40aqVbK_.js b/openlayers-base-packages/assets/BvcS9PvOJ4ji.js similarity index 79% rename from openlayers-base-packages/assets/CRwo40aqVbK_.js rename to openlayers-base-packages/assets/BvcS9PvOJ4ji.js index 64e3d3e8c..6bd3d28c4 100644 --- a/openlayers-base-packages/assets/CRwo40aqVbK_.js +++ b/openlayers-base-packages/assets/BvcS9PvOJ4ji.js @@ -1 +1 @@ -import{j as t,B as d,c as q,a as U,r as p,b as I,i as K,d as $,e as A,F as Z,f as Y}from"./Mxtq6FG0Aq1_.js";import{V as J,S as j,T as X,O as Q,a as C,b as N,c as ee,C as te,F as oe,r as T,d as D,e as re,w as ie,H as ne,M as ae,u as se,f as le,g as v,h as x,i as L,j as M,k as y,D as ce,l as pe,m as de}from"./5C5XmiCGgLmB.js";import{W as V,P as ue,a as me,b as ge,c as he,d as fe,e as be,f as ve,g as xe,h as we}from"./D-pImulTtahV.js";import{W as R,E as Se,V as ye,S as ke,O as Me,C as je,a as Ce,b as Le,L as ze,M as _e,c as Pe,d as Ie,P as Ae,N as Te}from"./DiOrj1F0r-Jt.js";import{G as O,u as De,T as h,P as Re,a as Ee,b as Fe,c as qe,d as Ne,e as Ve}from"./CXqamDLCwhxM.js";import{T as z}from"./BOwySe0UXVY3.js";import{N as Oe,P as He}from"./DW8DcLzWV1Z-.js";import{V as Ge,S as We,I as Be,Z as Ue,a as Ke}from"./Sxw4XIxlvpiS.js";import{_ as E}from"./CmsKOCeNyeyo.js";import{u as b,D as $e}from"./Cxncs0atKtOb.js";import{H}from"./BXf6RRVNKbev.js";import{G}from"./IfrtfJ9Ep93o.js";import{R as Ze}from"./DgabVoUpizSB.js";import{C as Ye}from"./D2hiNYfqsv5D.js";import"./DWkb3PmnrxhS.js";import"./D69t4K7RmA6W.js";import"./_eg2EQ1Gs0ak.js";import"./DUaeWVZO0JNZ.js";import"./CRkdw9XP0Imr.js";import"./CYrCIuevaD6U.js";import"./B3HqXXx_wjjB.js";import"./CK6i-0dKNtLx.js";import"./BbT9q31oQhIX.js";import"./CrqedT83Nq6G.js";const Je={height:"25px",width:"25px",borderColor:"#4cb3ff",borderWidth:"3px",borderRadius:"50%",display:"inline-block "};function Xe(r){return t.jsxs(d,{children:[t.jsx(z,{children:r.layer.title}),t.jsx(d,{style:Je})]})}const _="main";class Qe{mapId=_;vectorSourceFactory;constructor(e){this.vectorSourceFactory=e.references.vectorSourceFactory}async getMapConfig(){return{advanced:{view:new J({center:[404747,5757920],zoom:13,constrainResolution:!0,projection:"EPSG:25832"})},layers:[...et(),rt(),tt(this.vectorSourceFactory),ot(),it()]}}}function et(){return[new R({isBaseLayer:!0,title:"Topplus grau",url:"https://www.wmts.nrw.de/topplus_open/1.0.0/WMTSCapabilities.xml",name:"topplus_grau",matrixSet:"EPSG_25832_14",visible:!1,sourceOptions:{attributions:`Kartendarstellung und Präsentationsgraphiken: © Bundesamt für Kartographie und Geodäsie ${new Date().getFullYear()}, Datenquellen`}}),new R({isBaseLayer:!0,title:"Topplus farbig",url:"https://www.wmts.nrw.de/topplus_open/1.0.0/WMTSCapabilities.xml",name:"topplus_col",matrixSet:"EPSG_25832_14",visible:!0,sourceOptions:{attributions:`Kartendarstellung und Präsentationsgraphiken: © Bundesamt für Kartographie und Geodäsie ${new Date().getFullYear()}, Datenquellen`}}),new j({title:"OpenStreetMaps",visible:!1,isBaseLayer:!0,olLayer:new X({source:new Q})})]}function tt(r){const e="https://ogc-api-test.nrw.de/inspire-us-krankenhaus/v1",o="governmentalservice",i=r.createVectorSource({strategy:"next",baseUrl:e,collectionId:o,limit:1e3,crs:"http://www.opengis.net/def/crs/EPSG/0/25832",attributions:`Land NRW (${new Date().getFullYear()}), Datenlizenz Deutschland - Namensnennung - Version 2.0, Datenquelle`}),n=new C({source:i});return new j({id:"krankenhaus",title:"Krankenhäuser",visible:!1,olLayer:n,attributes:{collectionURL:e+"/collections/"+o}})}function ot(){return new V({title:"Schulstandorte",description:"Der vorliegende Datenbestand / Dienst zu den Schulstandorten in NRW stammt aus der Schuldatenbank. Die Informationen werden von den Schulträgern bzw. Schulen selbst eingetragen und aktuell gehalten. Die Daten werden tagesaktuell bereitgestellt und enthalten alle grundlegenden Informationen zu Schulen wie Schulnummer, Schulbezeichnung und Adresse.Der vorliegende Datenbestand / Dienst zu den Schulstandorten in NRW stammt aus der Schuldatenbank. Die Informationen werden von den Schulträgern bzw. Schulen selbst eingetragen und aktuell gehalten. Die Daten werden tagesaktuell bereitgestellt und enthalten alle grundlegenden Informationen zu Schulen wie Schulnummer, Schulbezeichnung und Adresse.Der vorliegende Datenbestand / Dienst zu den Schulstandorten in NRW stammt aus der Schuldatenbank. Die Informationen werden von den Schulträgern bzw. Schulen selbst eingetragen und aktuell gehalten. Die Daten werden tagesaktuell bereitgestellt und enthalten alle grundlegenden Informationen zu Schulen wie Schulnummer, Schulbezeichnung und Adresse.Der vorliegende Datenbestand / Dienst zu den Schulstandorten in NRW stammt aus der Schuldatenbank. Die Informationen werden von den Schulträgern bzw. Schulen selbst eingetragen und aktuell gehalten. Die Daten werden tagesaktuell bereitgestellt und enthalten alle grundlegenden Informationen zu Schulen wie Schulnummer, Schulbezeichnung und Adresse.",visible:!0,url:"https://www.wms.nrw.de/wms/wms_nw_inspire-schulen",sublayers:[{name:"US.education",title:"INSPIRE - WMS Schulstandorte NRW",attributes:{legend:{}}}],sourceOptions:{ratio:1}})}function rt(){return new V({title:"Straßennetz Landesbetrieb Straßenbau NRW",url:"https://www.wms.nrw.de/wms/strassen_nrw_wms",visible:!0,sublayers:[{name:"1",title:"Verwaltungen",attributes:{legend:{imageUrl:"https://www.wms.nrw.de/legends/wms/strassen_nrw_wms/1.png"}}},{name:"4",title:"Abschnitte und Äste"},{name:"6",title:"Unfälle"}]})}function it(){const r={Component:Xe},e=new N({url:"https://ogc-api.nrw.de/inspire-us-kindergarten/v1/collections/governmentalservice/items?f=json&limit=10000",format:new O,attributions:'© Bundesamt für Kartographie und Geodäsie 2017, Datenquellen'}),o=new C({source:e,style:new ee({image:new te({fill:new oe({color:"blue"}),radius:4})})});return new j({id:"ogc_kitas",title:"Kindertagesstätten",visible:!0,olLayer:o,attributes:{legend:r,resultListMetadata:[{id:"id",displayName:"ID",width:100,getPropertyValue(i){return i.id}},{propertyName:"pointOfContact.address.postCode",displayName:"PLZ",width:120},{propertyName:"name",displayName:"Name"},{propertyName:"inspireId",displayName:"inspireID"},{displayName:"Gefördert",width:160,getPropertyValue(i){switch(i.properties?.gefoerdert){case"ja":return!0;case"nein":return!1;default:return i.properties?.gefoerdert}}}]}})}class nt{label;filteredTypes;httpService;constructor(e,o,i){this.label=e,this.filteredTypes=o,this.httpService=i}async search(e,{mapProjection:o,signal:i}){const n=await this.request(e,100,i),a=new O({dataProjection:"EPSG:4326",featureProjection:o});return n.features.filter(s=>this.filteredTypes.includes(s.properties.type)).map((s,l)=>{const c=a.readGeometry(s.geometry);return{id:s.properties.osm_id||l,label:this.createLabel(s),geometry:c,properties:s.properties}})}async request(e,o,i){const n=new URL("https://photon.komoot.io/api?");n.searchParams.set("q",e),n.searchParams.set("lang","de"),n.searchParams.set("lat","51.961563"),n.searchParams.set("lon","7.628202"),n.searchParams.set("limit",o.toString());const a=await this.httpService.fetch(n,{signal:i});if(!a.ok)throw new Error("Request failed: "+a.status);return await a.json()}createLabel(e){return`${e.properties.name} (${e.properties.osm_value?e.properties.osm_value+", ":""}${e.properties.postcode?e.properties.postcode+", ":""}${e.properties.city?e.properties.city+", ":""}${e.properties.country?e.properties.country+")":")"}`}}const at=q("ol-app:AppModel");function k(r){return r==="selection"||r==="measurement"||r.startsWith("editing-")}class st{_mapRegistry;_vectorSelectionSourceFactory;_httpService;_resources=[];_featureHighlight=void 0;_mainContent=T(["toc"]);_searchSources=D();_selectionSources=D();_sourceMetadata=re();_resultListState=T({key:0,open:!1,input:void 0});constructor({references:e}){this._mapRegistry=e.mapRegistry,this._vectorSelectionSourceFactory=e.vectorSelectionSourceFactory,this._httpService=e.httpService,this.initSearchSources(),this.initSelectionSources().catch(o=>{at.error("Failed to initialize selection sources",o)})}destroy(){this.clearHighlight(),this._resources.forEach(e=>e.destroy())}get mainContent(){return this._mainContent.value}get searchSources(){return this._searchSources}get selectionSources(){return this._selectionSources}get sourceMetadata(){return this._sourceMetadata}get resultListState(){return this._resultListState.value}toggleMainContent(e){const o=this._mainContent.value;if(o.includes(e)){this._mainContent.value=o.filter(n=>n!==e);return}let i;k(e)?(i=[e],this.clearHighlight()):(i=o.filter(n=>!k(n)),i.push(e)),this._mainContent.value=i}hideContent(e){this._mainContent.value=this._mainContent.value.filter(o=>o!==e)}clearInteractions(){this._mainContent.value=this._mainContent.value.filter(e=>!k(e))}setResultListInput(e){const o=this._resultListState.value;this._resultListState.value={open:!0,key:o.key+1,input:e}}setResultListVisibility(e){this._resultListState.value={...this._resultListState.value,open:e}}highlightAndZoom(e,o){const i=e.olMap.getViewport();this.clearHighlight(),this._featureHighlight=e.highlightAndZoom(o,{viewPadding:i&&i.offsetWidth<1e3?{top:150,right:75,bottom:50,left:75}:{top:150,right:400,bottom:50,left:400}})}zoom(e,o){const i=e.olMap.getViewport();e.zoom(o,{viewPadding:i&&i.offsetWidth<1e3?{top:150,right:75,bottom:50,left:75}:{top:150,right:400,bottom:50,left:400}})}clearHighlight(){this._featureHighlight&&(this._featureHighlight.destroy(),this._featureHighlight=void 0)}initSearchSources(){const e=new nt("Photon Geocoder",["city","street"],this._httpService);this._searchSources.push(e)}async initSelectionSources(){const e=["ogc_kitas","ogc_kataster"],i=(await this._mapRegistry.expectMapModel(_)).layers.getOperationalLayers({sortByDisplayOrder:!0});for(const n of i){if(!e.includes(n.id)||!lt(n.olLayer))continue;const a=this._vectorSelectionSourceFactory.createSelectionSource({vectorLayer:n.olLayer,label:n.title}),s=ie(()=>[a.status],([l])=>{l!=="available"&&(l==="unavailable"||l?.kind==="unavailable")&&this.clearHighlight()});this._resources.push(s,a),this._selectionSources.unshift(a),this._sourceMetadata.set(a,n.attributes.resultListMetadata)}}}function lt(r){return r instanceof C&&r.getSource()instanceof N}const ct={"ol-map":{name:"ol-map",services:{MapConfigProviderImpl:{name:"MapConfigProviderImpl",clazz:Qe,provides:[{name:"map.MapConfigProvider",qualifier:void 0}],references:{vectorSourceFactory:{name:"ogc-features.VectorSourceFactory",qualifier:void 0,all:!1}}},AppModel:{name:"AppModel",clazz:st,provides:[{name:"ol-app.AppModel",qualifier:void 0}],references:{vectorSelectionSourceFactory:{name:"selection.VectorSelectionSourceFactory",qualifier:void 0,all:!1},httpService:{name:"http.HttpService",qualifier:void 0,all:!1},mapRegistry:{name:"map.MapRegistry",qualifier:void 0,all:!1}}}},ui:{references:[{name:"map.MapRegistry",qualifier:void 0,all:!1},{name:"ol-app.AppModel",qualifier:void 0,all:!1},{name:"notifier.NotificationService",qualifier:void 0,all:!1},{name:"editing.EditingService",qualifier:void 0,all:!1}]},properties:{}},"@open-pioneer/chakra-integration":{name:"@open-pioneer/chakra-integration",services:{},ui:{references:[]},properties:{}},"@open-pioneer/http":{name:"@open-pioneer/http",services:{HttpServiceImpl:{name:"HttpServiceImpl",clazz:ne,provides:[{name:"http.HttpService",qualifier:"http.HttpService"}],references:{interceptors:{name:"http.Interceptor",qualifier:void 0,all:!0}}}},ui:{references:[]},properties:{}},"@open-pioneer/map":{name:"@open-pioneer/map",services:{MapRegistryImpl:{name:"MapRegistryImpl",clazz:ae,provides:[{name:"map.MapRegistry",qualifier:void 0}],references:{providers:{name:"map.MapConfigProvider",qualifier:void 0,all:!0},httpService:{name:"http.HttpService",qualifier:void 0,all:!1}}}},ui:{references:[{name:"map.MapRegistry",qualifier:void 0,all:!1}]},properties:{}},"@open-pioneer/map-navigation":{name:"@open-pioneer/map-navigation",services:{},ui:{references:[]},properties:{}},"@open-pioneer/map-ui-components":{name:"@open-pioneer/map-ui-components",services:{},ui:{references:[]},properties:{}},"@open-pioneer/notifier":{name:"@open-pioneer/notifier",services:{NotificationServiceImpl:{name:"NotificationServiceImpl",clazz:Oe,provides:[{name:"notifier.NotificationService",qualifier:"notifier.NotificationService"}],references:{}}},ui:{references:[{name:"notifier.NotificationService",qualifier:void 0,all:!1}]},properties:{}},"@open-pioneer/ogc-features":{name:"@open-pioneer/ogc-features",services:{VectorSourceFactory:{name:"VectorSourceFactory",clazz:Ge,provides:[{name:"ogc-features.VectorSourceFactory",qualifier:void 0}],references:{httpService:{name:"http.HttpService",qualifier:void 0,all:!1}}},SearchSourceFactory:{name:"SearchSourceFactory",clazz:We,provides:[{name:"ogc-features.SearchSourceFactory",qualifier:void 0}],references:{httpService:{name:"http.HttpService",qualifier:void 0,all:!1}}}},ui:{references:[]},properties:{}},"@open-pioneer/printing":{name:"@open-pioneer/printing",services:{PrintingServiceImpl:{name:"PrintingServiceImpl",clazz:He,provides:[{name:"printing.PrintingService",qualifier:void 0}],references:{}}},ui:{references:[{name:"notifier.NotificationService",qualifier:void 0,all:!1},{name:"printing.PrintingService",qualifier:void 0,all:!1}]},properties:{}},"@open-pioneer/react-utils":{name:"@open-pioneer/react-utils",services:{},ui:{references:[]},properties:{}},"@open-pioneer/reactivity":{name:"@open-pioneer/reactivity",services:{},ui:{references:[]},properties:{}},"@open-pioneer/result-list":{name:"@open-pioneer/result-list",services:{},ui:{references:[]},properties:{}},"@open-pioneer/runtime":{name:"@open-pioneer/runtime",services:{},ui:{references:[]},properties:{}},"@open-pioneer/theme":{name:"@open-pioneer/theme",services:{},ui:{references:[]},properties:{}},"@open-pioneer/toc":{name:"@open-pioneer/toc",services:{},ui:{references:[]},properties:{}},"@open-pioneer/core":{name:"@open-pioneer/core",services:{},ui:{references:[]},properties:{}},"@open-pioneer/base-theme":{name:"@open-pioneer/base-theme",services:{},ui:{references:[]},properties:{}},"@open-pioneer/basemap-switcher":{name:"@open-pioneer/basemap-switcher",services:{},ui:{references:[]},properties:{}},"@open-pioneer/runtime-react-support":{name:"@open-pioneer/runtime-react-support",services:{},ui:{references:[]},properties:{}},"@open-pioneer/coordinate-viewer":{name:"@open-pioneer/coordinate-viewer",services:{},ui:{references:[]},properties:{}},"@open-pioneer/scale-bar":{name:"@open-pioneer/scale-bar",services:{},ui:{references:[]},properties:{}},"@open-pioneer/scale-viewer":{name:"@open-pioneer/scale-viewer",services:{},ui:{references:[]},properties:{}},"@open-pioneer/editing":{name:"@open-pioneer/editing",services:{EditingServiceImpl:{name:"EditingServiceImpl",clazz:Se,provides:[{name:"editing.EditingService",qualifier:void 0}],references:{mapRegistry:{name:"map.MapRegistry",qualifier:void 0,all:!1},httpService:{name:"http.HttpService",qualifier:void 0,all:!1}}}},ui:{references:[]},properties:{polygonStyle:{value:{"fill-color":"rgba(255,255,255,0.4)","stroke-color":"red","stroke-width":1.25,"circle-radius":3,"circle-fill-color":"red","circle-stroke-width":1.25,"circle-stroke-color":"red"},required:!1},vertexStyle:{value:{"circle-radius":3,"circle-fill-color":"red","circle-stroke-width":1.25,"circle-stroke-color":"red"},required:!1}}},"@open-pioneer/legend":{name:"@open-pioneer/legend",services:{},ui:{references:[]},properties:{}},"@open-pioneer/measurement":{name:"@open-pioneer/measurement",services:{},ui:{references:[]},properties:{}},"@open-pioneer/search":{name:"@open-pioneer/search",services:{},ui:{references:[]},properties:{}},"@open-pioneer/selection":{name:"@open-pioneer/selection",services:{VectorSelectionSourceFactory:{name:"VectorSelectionSourceFactory",clazz:ye,provides:[{name:"selection.VectorSelectionSourceFactory",qualifier:void 0}],references:{}}},ui:{references:[{name:"notifier.NotificationService",qualifier:void 0,all:!1}]},properties:{}}},pt='.search-box{position:absolute;width:500px;max-width:100%;z-index:1}:root,:host{--ol-background-color: white;--ol-accent-background-color: #F5F5F5;--ol-subtle-background-color: rgba(128, 128, 128, .25);--ol-partial-background-color: rgba(255, 255, 255, .75);--ol-foreground-color: #333333;--ol-subtle-foreground-color: #666666;--ol-brand-color: #00AAFF}.ol-box{box-sizing:border-box;border-radius:2px;border:1.5px solid var(--ol-background-color);background-color:var(--ol-partial-background-color)}.ol-mouse-position{top:8px;right:8px;position:absolute}.ol-scale-line{background:var(--ol-partial-background-color);border-radius:4px;bottom:8px;left:8px;padding:2px;position:absolute}.ol-scale-line-inner{border:1px solid var(--ol-subtle-foreground-color);border-top:none;color:var(--ol-foreground-color);font-size:10px;text-align:center;margin:1px;will-change:contents,width;transition:all .25s}.ol-scale-bar{position:absolute;bottom:8px;left:8px}.ol-scale-bar-inner{display:flex}.ol-scale-step-marker{width:1px;height:15px;background-color:var(--ol-foreground-color);float:right;z-index:10}.ol-scale-step-text{position:absolute;bottom:-5px;font-size:10px;z-index:11;color:var(--ol-foreground-color);text-shadow:-1.5px 0 var(--ol-partial-background-color),0 1.5px var(--ol-partial-background-color),1.5px 0 var(--ol-partial-background-color),0 -1.5px var(--ol-partial-background-color)}.ol-scale-text{position:absolute;font-size:12px;text-align:center;bottom:25px;color:var(--ol-foreground-color);text-shadow:-1.5px 0 var(--ol-partial-background-color),0 1.5px var(--ol-partial-background-color),1.5px 0 var(--ol-partial-background-color),0 -1.5px var(--ol-partial-background-color)}.ol-scale-singlebar{position:relative;height:10px;z-index:9;box-sizing:border-box;border:1px solid var(--ol-foreground-color)}.ol-scale-singlebar-even{background-color:var(--ol-subtle-foreground-color)}.ol-scale-singlebar-odd{background-color:var(--ol-background-color)}.ol-unsupported{display:none}.ol-viewport,.ol-unselectable{-webkit-touch-callout:none;-webkit-user-select:none;-moz-user-select:none;user-select:none;-webkit-tap-highlight-color:transparent}.ol-viewport canvas{all:unset;overflow:hidden}.ol-viewport{touch-action:pan-x pan-y}.ol-selectable{-webkit-touch-callout:default;-webkit-user-select:text;-moz-user-select:text;user-select:text}.ol-grabbing{cursor:-webkit-grabbing;cursor:-moz-grabbing;cursor:grabbing}.ol-grab{cursor:move;cursor:-webkit-grab;cursor:-moz-grab;cursor:grab}.ol-control{position:absolute;background-color:var(--ol-subtle-background-color);border-radius:4px}.ol-zoom{top:.5em;left:.5em}.ol-rotate{top:.5em;right:.5em;transition:opacity .25s linear,visibility 0s linear}.ol-rotate.ol-hidden{opacity:0;visibility:hidden;transition:opacity .25s linear,visibility 0s linear .25s}.ol-zoom-extent{top:4.643em;left:.5em}.ol-full-screen{right:.5em;top:.5em}.ol-control button{display:block;margin:1px;padding:0;color:var(--ol-subtle-foreground-color);font-weight:700;text-decoration:none;font-size:inherit;text-align:center;height:1.375em;width:1.375em;line-height:.4em;background-color:var(--ol-background-color);border:none;border-radius:2px}.ol-control button::-moz-focus-inner{border:none;padding:0}.ol-zoom-extent button{line-height:1.4em}.ol-compass{display:block;font-weight:400;will-change:transform}.ol-touch .ol-control button{font-size:1.5em}.ol-touch .ol-zoom-extent{top:5.5em}.ol-control button:hover,.ol-control button:focus{text-decoration:none;outline:1px solid var(--ol-subtle-foreground-color);color:var(--ol-foreground-color)}.ol-zoom .ol-zoom-in{border-radius:2px 2px 0 0}.ol-zoom .ol-zoom-out{border-radius:0 0 2px 2px}.ol-attribution{text-align:right;bottom:.5em;right:.5em;max-width:calc(100% - 1.3em);display:flex;flex-flow:row-reverse;align-items:center}.ol-attribution a{color:var(--ol-subtle-foreground-color);text-decoration:none}.ol-attribution ul{margin:0;padding:1px .5em;color:var(--ol-foreground-color);text-shadow:0 0 2px var(--ol-background-color);font-size:12px}.ol-attribution li{display:inline;list-style:none}.ol-attribution li:not(:last-child):after{content:" "}.ol-attribution img{max-height:2em;max-width:inherit;vertical-align:middle}.ol-attribution button{flex-shrink:0}.ol-attribution.ol-collapsed ul{display:none}.ol-attribution:not(.ol-collapsed){background:var(--ol-partial-background-color)}.ol-attribution.ol-uncollapsible{bottom:0;right:0;border-radius:4px 0 0}.ol-attribution.ol-uncollapsible img{margin-top:-.2em;max-height:1.6em}.ol-attribution.ol-uncollapsible button{display:none}.ol-zoomslider{top:4.5em;left:.5em;height:200px}.ol-zoomslider button{position:relative;height:10px}.ol-touch .ol-zoomslider{top:5.5em}.ol-overviewmap{left:.5em;bottom:.5em}.ol-overviewmap.ol-uncollapsible{bottom:0;left:0;border-radius:0 4px 0 0}.ol-overviewmap .ol-overviewmap-map,.ol-overviewmap button{display:block}.ol-overviewmap .ol-overviewmap-map{border:1px solid var(--ol-subtle-foreground-color);height:150px;width:150px}.ol-overviewmap:not(.ol-collapsed) button{bottom:0;left:0;position:absolute}.ol-overviewmap.ol-collapsed .ol-overviewmap-map,.ol-overviewmap.ol-uncollapsible button{display:none}.ol-overviewmap:not(.ol-collapsed){background:var(--ol-subtle-background-color)}.ol-overviewmap-box{border:1.5px dotted var(--ol-subtle-foreground-color)}.ol-overviewmap .ol-overviewmap-box:hover{cursor:move}.ol-overviewmap .ol-viewport:hover{cursor:pointer}.map-container .ol-viewport .ol-attribution{bottom:var(--map-padding-bottom);right:var(--map-padding-right)}.printing-overlay{position:absolute;top:0;right:0;bottom:0;left:0;z-index:10000;-webkit-user-select:none;user-select:none;pointer-events:all;cursor:wait;display:flex;flex-direction:row;align-items:center;justify-content:center;background-color:#b4b4b4cc}.printing-overlay-status{flex:1 1 auto;font-size:1.5em;text-align:center}.printing-scale-bar.ol-scale-bar{left:var(--printing-scale-bar-left);bottom:var(--printing-scale-bar-bottom)}.editing-tooltip{position:relative;background:#fffc;border-radius:4px;color:#000;padding:4px 8px;opacity:1;white-space:nowrap;font-size:12px;cursor:default;-webkit-user-select:none;user-select:none;font-weight:700}.editing-tooltip-hidden{visibility:hidden}.measurement-tooltip{position:relative;background:#fffc;border-radius:4px;color:#000;padding:4px 8px;opacity:1;white-space:nowrap;font-size:12px;cursor:default;-webkit-user-select:none;user-select:none;font-weight:700}.measurement-active-tooltip{background:#000000e6;border-radius:4px;border-color:#000000e6;opacity:.9;color:#fff}.measurement-finished-tooltip{background-color:#4cb3ffe6;color:#000;border:1px solid white}.measurement-active-tooltip:before,.measurement-finished-tooltip:before{border-top:6px solid rgba(0,0,0,.9);border-right:6px solid transparent;border-left:6px solid transparent;content:"";position:absolute;bottom:-6px;margin-left:-7px;left:50%}.measurement-finished-tooltip:before{border-top-color:#4cb3ff}.search-component .chakra-divider{display:none}.search-component .search-highlighted-match{font-weight:700}.search-component .search-value-container{cursor:text;padding-left:30px!important}.search-component .search-invisible{display:none}.selection-drag-box{background-color:#ffffff4d!important;border:3px solid var(--chakra-colors-background_primary)!important}.selection-tooltip{position:relative;background:#fffc;border-radius:4px;color:#000;padding:4px 8px;opacity:1;white-space:nowrap;font-size:12px;cursor:default;-webkit-user-select:none;user-select:none;font-weight:700}.selection .react-select{cursor:default}.map-container .selection-active{cursor:crosshair}.map-container .selection-inactive{cursor:no-drop}.selection-source-value.selection-source-value--disabled{opacity:.4}.selection-source-value.selection-source-value--disabled span{margin:0 6px 0 0}.result-list-no-data-message{text-align:center;margin-top:50px;font-weight:700;font-size:larger}.result-list-table th,.result-list-table td{overflow-wrap:break-word}.result-list-table.result-list-table--is-resizing *{cursor:col-resize}.result-list-table thead{position:sticky;top:0;z-index:1;background:var(--chakra-colors-background_body)}.result-list-table th{position:relative;border-right-width:thin}.result-list-table tbody tr:hover{background:var(--chakra-colors-background_light)}.result-list-table .result-list-resizer{position:absolute;top:0;height:100%;right:0;width:8px;background:var(--chakra-colors-trails-100);transform:scaleX(.25);cursor:col-resize;-webkit-user-select:none;user-select:none;touch-action:none;padding-left:0}.result-list-table th:last-child .result-list-resizer{width:8px;transform:translate(50%) scaleX(.25)}.result-list-table th .result-list-resizer.result-list-resizer--is-resizing{background:var(--chakra-colors-trails-500);transform:scale(1)}.result-list-table th .result-list-resizer:hover{transform:scale(1)}.scale-bar .ol-scale-bar{margin-bottom:8px;margin-right:8px}.scale-bar .ol-scale-bar,.scale-bar .ol-scale-line{position:relative;bottom:0;left:0;background:none}.scale-bar .ol-scale-bar .ol-scale-bar-inner,.scale-bar .ol-scale-bar .ol-scale-line-inner,.scale-bar .ol-scale-line .ol-scale-bar-inner,.scale-bar .ol-scale-line .ol-scale-line-inner{color:var(--chakra-white);border-color:var(--chakra-white)}',dt=["en","de"];function ut(r){switch(r){case"en":return E(()=>import("./BYGrfKr5WBJ9.js"),[],import.meta.url).then(e=>e.default);case"de":return E(()=>import("./C-s9YzO5rJEK.js"),[],import.meta.url).then(e=>e.default)}throw new Error(`Unsupported locale: '${r}'`)}const mt=U(pt),gt=Object.freeze(Object.defineProperty({__proto__:null,loadMessages:ut,locales:dt,packages:ct,styles:mt},Symbol.toStringTag,{value:"Module"})),W="ol-map",g=le.bind(void 0,W),u=se.bind(void 0,W),ht=q("ol-app:Editing");function F(r){const e=ft(r.kind),o=p.useId(),i=u();return t.jsx(d,{role:"dialog","aria-labelledby":o,children:t.jsx(v,{title:t.jsx(x,{id:o,size:"md",mb:2,children:i.formatMessage({id:"editing.title"})}),children:t.jsxs(d,{overflowY:"auto",maxHeight:300,children:[t.jsx(z,{textAlign:"center",children:i.formatMessage({id:"editing.active"})}),t.jsxs(H,{mt:4,align:"center",justify:"center",children:[t.jsx(I,{onClick:()=>{e?.reset()},children:i.formatMessage({id:"editing.resetGeometry"})}),t.jsx(I,{onClick:()=>{e?.destroy()},children:i.formatMessage({id:"editing.abort"})})]})]})})})}function ft(r){const e=g("notifier.NotificationService"),o=g("editing.EditingService"),i=u(),n=g("ol-app.AppModel"),{map:a}=L(),[s,l]=p.useState();return p.useEffect(()=>{if(!a)return;const c=new bt(e,o,a,i,n,r);return l(c),()=>{c.destroy(),l(void 0)}},[n,o,i,a,e,r]),s}class bt{notificationService;editingService;map;intl;appModel;kind;job;constructor(e,o,i,n,a,s){this.notificationService=e,this.editingService=o,this.map=i,this.intl=n,this.appModel=a,this.kind=s;let l;switch(s){case"create":l=this.createJob();break;case"update":l=this.updateJob();break}this.job=l,this.job.run().catch(c=>{K(c)||(ht.error("Edit operation failed",c),this.notificationService.notify({level:"error",message:this.intl.formatMessage({id:"editing.error"})}))}).finally(()=>{this.destroy()})}destroy(){this.job?.destroy(),this.job=void 0,this.appModel.hideContent(`editing-${this.kind}`)}reset(){this.job?.reset()}createJob(){let e;return{destroy(){e?.stop(),e=void 0},reset(){e?.reset()},run:async()=>{const o=this.findLayer(),i=new URL(o.attributes.collectionURL+"/items");e=this.editingService.createFeature(this.map,i);const n=await e.whenComplete();if(e=void 0,!n)return;this.notificationService.notify({level:"info",message:this.intl.formatMessage({id:"editing.create.featureCreated"},{featureId:n.featureId})}),(o?.olLayer).getSource()?.refresh()}}}updateJob(){const e=this.map,o=new AbortController,i=o.signal;let n,a,s;function l(){a&&e.olMap.removeInteraction(a),a&&a.dispose(),n&&n.destroy(),o.abort(),a=void 0,n=void 0}return{destroy(){l(),s?.stop(),s=void 0},reset(){s?.reset()},run:async()=>{const c=this.findLayer(),m=c.olLayer,w=new URL(c.attributes.collectionURL+"/items");a=new ke({layers:[m]}),e.olMap.addInteraction(a),n=vt(this.intl,e.olMap),n.element.classList.remove("editing-tooltip-hidden");let f;for(;;){const{selected:P,deselected:B}=await xt(a,i);if(P.length===1&&B.length===0){l(),f=P[0];break}}if(!f)throw Error("Feature is undefined");s=this.editingService.updateFeature(e,w,f);const S=await s.whenComplete();S&&(this.notificationService.notify({level:"info",message:this.intl.formatMessage({id:"editing.update.featureModified"},{featureId:S.featureId})}),m.getSource()?.refresh())}}}findLayer(){const e=this.map.layers.getLayerById("krankenhaus");if(!e)throw new Error("Layer not found");return e}}function vt(r,e){const o=document.createElement("div");o.className="editing-tooltip editing-tooltip-hidden",o.textContent=r.formatMessage({id:"editing.update.tooltip.select"});const i=new Me({element:o,offset:[15,0],positioning:"center-left"}),n=e.on("pointermove",a=>{a.dragging||i.setPosition(a.coordinate)});return e.addOverlay(i),{overlay:i,element:o,destroy(){M(n),e.removeOverlay(i)}}}function xt(r,e){let o;const{promise:i,resolve:n,reject:a}=$();if(e.aborted)return a(A()),i;const s=()=>{o&&M(o),o=void 0,a(A())};return e.addEventListener("abort",s),o=r.on("select",l=>{e.removeEventListener("abort",s),o&&M(o),o=void 0,n(l)}),i}function wt(){const r=u();return t.jsxs(y,{role:"region","aria-label":r.formatMessage({id:"ariaLabel.footer"}),gap:3,alignItems:"center",justifyContent:"center",children:[t.jsx(je,{precision:2,displayProjectionCode:"EPSG:4326"}),t.jsx(Ce,{}),t.jsx(Le,{})]})}function St(){const r=p.useId(),e=u();return t.jsx(d,{role:"dialog","aria-labelledby":r,children:t.jsx(v,{title:t.jsx(x,{id:r,size:"md",mb:2,children:e.formatMessage({id:"legendTitle"})}),children:t.jsx(d,{overflowY:"auto",maxHeight:300,children:t.jsx(ze,{showBaseLayers:!0})})})})}function yt(r){return G({tag:"svg",attr:{viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round"},child:[{tag:"path",attr:{d:"M12 5m-2 0a2 2 0 1 0 4 0a2 2 0 1 0 -4 0"},child:[]},{tag:"path",attr:{d:"M19 8m-2 0a2 2 0 1 0 4 0a2 2 0 1 0 -4 0"},child:[]},{tag:"path",attr:{d:"M5 11m-2 0a2 2 0 1 0 4 0a2 2 0 1 0 -4 0"},child:[]},{tag:"path",attr:{d:"M15 19m-2 0a2 2 0 1 0 4 0a2 2 0 1 0 -4 0"},child:[]},{tag:"path",attr:{d:"M6.5 9.5l1.546 -1.311"},child:[]},{tag:"path",attr:{d:"M14 5.5l3 1.5"},child:[]},{tag:"path",attr:{d:"M18.5 10l-1.185 3.318m-1.062 2.972l-.253 .71"},child:[]},{tag:"path",attr:{d:"M13.5 17.5l-7 -5"},child:[]},{tag:"path",attr:{d:"M3 3l18 18"},child:[]}]})(r)}function kt(r){return G({tag:"svg",attr:{viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round"},child:[{tag:"path",attr:{d:"M12 5m-2 0a2 2 0 1 0 4 0a2 2 0 1 0 -4 0"},child:[]},{tag:"path",attr:{d:"M19 8m-2 0a2 2 0 1 0 4 0a2 2 0 1 0 -4 0"},child:[]},{tag:"path",attr:{d:"M5 11m-2 0a2 2 0 1 0 4 0a2 2 0 1 0 -4 0"},child:[]},{tag:"path",attr:{d:"M15 19m-2 0a2 2 0 1 0 4 0a2 2 0 1 0 -4 0"},child:[]},{tag:"path",attr:{d:"M6.5 9.5l3.5 -3"},child:[]},{tag:"path",attr:{d:"M14 5.5l3 1.5"},child:[]},{tag:"path",attr:{d:"M18.5 10l-2.5 7"},child:[]},{tag:"path",attr:{d:"M13.5 17.5l-7 -5"},child:[]}]})(r)}function Mt(){const r=u(),e=g("ol-app.AppModel"),o=b(()=>e.resultListState,[e]),i=o.open,{isTocActive:n,isLegendActive:a,isPrintingActive:s}=b(()=>({isTocActive:e.mainContent.includes("toc"),isLegendActive:e.mainContent.includes("legend"),isPrintingActive:e.mainContent.includes("printing")}),[e]);return t.jsxs(y,{role:"toolbar","aria-label":r.formatMessage({id:"ariaLabel.toolbar"}),direction:"column",gap:1,padding:1,children:[t.jsx(jt,{}),o.input&&t.jsx(h,{label:r.formatMessage({id:"resultListTitle"}),icon:t.jsx(me,{}),isActive:o.open,onClick:()=>e.setResultListVisibility(!i)}),t.jsx(h,{label:r.formatMessage({id:"tocTitle"}),icon:t.jsx(ge,{}),isActive:n,onClick:()=>e.toggleMainContent("toc")}),t.jsx(h,{label:r.formatMessage({id:"legendTitle"}),icon:t.jsx(he,{}),isActive:a,onClick:()=>e.toggleMainContent("legend")}),t.jsx(h,{label:r.formatMessage({id:"printingTitle"}),icon:t.jsx(fe,{}),isActive:s,onClick:()=>e.toggleMainContent("printing")}),t.jsx(Be,{}),t.jsx(Ue,{}),t.jsx(Ke,{})]})}function jt(){const r=u(),e=g("ol-app.AppModel"),[o,i]=p.useState(!1),{isSelectionActive:n,isMeasurementActive:a,isEditingCreateActive:s,isEditingUpdateActive:l}=b(()=>({isSelectionActive:e.mainContent.includes("selection"),isMeasurementActive:e.mainContent.includes("measurement"),isEditingCreateActive:e.mainContent.includes("editing-create"),isEditingUpdateActive:e.mainContent.includes("editing-update")}),[e]),c=f=>()=>{f(),i(!1)},m={placement:"top"},w=t.jsxs(t.Fragment,{children:[t.jsx(h,{label:s?r.formatMessage({id:"editing.stopTitle"}):r.formatMessage({id:"editing.create.startTitle"}),icon:s?t.jsx(yt,{}):t.jsx(kt,{}),isActive:s,onClick:c(()=>e.toggleMainContent("editing-create")),tooltipProps:m}),t.jsx(h,{label:l?r.formatMessage({id:"editing.stopTitle"}):r.formatMessage({id:"editing.update.startTitle"}),icon:l?t.jsx(be,{}):t.jsx(ve,{}),isActive:l,onClick:c(()=>e.toggleMainContent("editing-update")),tooltipProps:m}),t.jsx(h,{label:r.formatMessage({id:"measurementTitle"}),icon:t.jsx(xe,{}),isActive:a,onClick:c(()=>e.toggleMainContent("measurement")),tooltipProps:m}),t.jsx(h,{label:r.formatMessage({id:"selectionTitle"}),icon:t.jsx(we,{}),isActive:n,onClick:c(()=>e.toggleMainContent("selection")),tooltipProps:m})]});return t.jsxs(Re,{placement:"left",isLazy:!0,onOpen:()=>i(!0),onClose:()=>i(!1),isOpen:o,children:[t.jsx(Ee,{children:t.jsx(Ct,{})}),t.jsx(Z,{children:t.jsxs(Fe,{width:"auto",children:[t.jsx(qe,{}),t.jsx(Ne,{children:t.jsx(H,{spacing:2,children:w})})]})})]})}const Ct=p.forwardRef(function(e,o){const i=u(),n=De(),{onClick:a,...s}=n.getTriggerProps();return t.jsx(h,{ref:o,label:i.formatMessage({id:"mapInteractions.title"}),icon:t.jsx(ue,{}),onClick:a,buttonProps:s})});function Lt(){const r=p.useId(),e=u();return t.jsx(d,{role:"dialog","aria-labelledby":r,children:t.jsx(v,{title:t.jsx(x,{id:r,size:"md",mb:2,children:e.formatMessage({id:"measurementTitle"})}),children:t.jsx(_e,{})})})}function zt(){const r=g("ol-app.AppModel"),e=b(()=>r.resultListState,[r]),[o,i]=p.useState([]),[n,a]=p.useState([]),s=p.useCallback(l=>{i(l.features),a(l.getFeatureIds())},[]);return p.useEffect(()=>{console.log("Anzahl Features: "+o.length),console.log("SelectedIds: "+n.toString())},[o,n]),e.input&&t.jsx(d,{className:"result-list-container",position:"absolute",visibility:e.open?"visible":"hidden",bottom:"0",backgroundColor:"white",width:"100%",height:"400px",zIndex:1,borderTop:"2px solid",borderBottom:"2px solid",borderColor:"trails.100",children:t.jsx(Ze,{input:e.input,onSelectionChange:s},e.key)})}function _t(){const{map:r}=L(),e=g("ol-app.AppModel"),o=b(()=>e.searchSources.getItems(),[e]);function i(a){if(console.debug("The user selected the following item: ",a.result),!r)return;const s=a.result.geometry;s&&e.highlightAndZoom(r,[s])}function n(){console.debug("The user cleared the search"),e.clearHighlight()}return t.jsx(d,{backgroundColor:"white",borderWidth:"1px",borderRadius:"lg",padding:2,boxShadow:"lg",mt:5,className:"search-box",children:t.jsx(Pe,{sources:o,maxResultsPerGroup:10,onSelect:i,onClear:n})})}function Pt(){const r=u(),e=g("notifier.NotificationService"),o=p.useId(),{map:i}=L(),n=g("ol-app.AppModel"),a=b(()=>n.selectionSources.getItems(),[n]),s={numberOptions:{maximumFractionDigits:3},dateOptions:{dateStyle:"medium",timeStyle:"medium",timeZone:"UTC"}};function l(m){const{source:w,results:f}=m;if(!i){console.debug("Map not ready");return}const S=n.sourceMetadata.get(w);if(!S){console.warn("Can not show results because no metadata could be found");return}n.setResultListInput({columns:S,data:f,formatOptions:s}),e.notify({level:"info",message:r.formatMessage({id:"foundResults"},{resultsCount:f.length}),displayDuration:4e3})}function c(m){n.clearHighlight()}return t.jsx(d,{role:"dialog","aria-labelledby":o,children:t.jsx(v,{title:t.jsx(x,{id:o,size:"md",mb:2,children:r.formatMessage({id:"selectionTitle"})}),children:t.jsx(Ie,{sources:a,onSelectionComplete:l,onSelectionSourceChanged:c})})})}function It(){const r=p.useId(),e=u();return t.jsx(d,{role:"dialog","aria-labelledby":r,children:t.jsx(v,{title:t.jsx(x,{id:r,size:"md",mb:2,children:t.jsx(z,{children:e.formatMessage({id:"tocTitle"})})}),children:t.jsx(d,{overflowY:"auto",maxHeight:300,children:t.jsx(Ve,{showTools:!0,basemapSwitcherProps:{allowSelectingEmptyBasemap:!0}})})})})}function At(){const r=p.useId(),e=u();return t.jsx(d,{role:"dialog","aria-labelledby":r,children:t.jsx(v,{title:t.jsx(x,{id:r,size:"md",mb:2,children:e.formatMessage({id:"printingTitle"})}),children:t.jsx(Ae,{})})})}function Tt(){const r=u(),e=g("ol-app.AppModel"),{resultListState:o,mainContent:i}=b(()=>({resultListState:e.resultListState,mainContent:e.mainContent}),[e]),n=o.input&&o.open;return t.jsx(ce,{mapId:_,children:t.jsxs(y,{height:"100%",direction:"column",overflow:"hidden",children:[t.jsx(Te,{position:"top-right"}),t.jsxs(v,{title:t.jsx(d,{role:"region","aria-label":r.formatMessage({id:"ariaLabel.header"}),textAlign:"center",py:1,children:t.jsx(x,{size:"md",children:"Sample Application"})}),children:[t.jsx(y,{flex:"1",direction:"column",position:"relative",children:t.jsxs(pe,{role:"main","aria-label":r.formatMessage({id:"ariaLabel.map"}),viewPadding:n?{bottom:400}:void 0,children:[t.jsx(Ye,{centerContent:!0,children:t.jsx(_t,{})}),t.jsx(Dt,{mainContent:i}),t.jsx(de,{position:"bottom-right",horizontalGap:10,verticalGap:45,children:t.jsx(Mt,{})}),t.jsx(zt,{})]})}),t.jsx(wt,{})]})]})})}function Dt(r){const{mainContent:e}=r,o=p.useMemo(()=>{const i=n=>{switch(n){case"toc":return t.jsx(It,{},n);case"legend":return t.jsx(St,{},n);case"printing":return t.jsx(At,{},n);case"selection":return t.jsx(Pt,{},n);case"measurement":return t.jsx(Lt,{},n);case"editing-create":return t.jsx(F,{kind:"create"},n);case"editing-update":return t.jsx(F,{kind:"update"},n)}};return e.map(n=>i(n))},[e]);return t.jsx(Rt,{children:o})}function Rt(r){const e=r.children,o=[];for(const i of e)i&&(o.length&&o.push(t.jsx($e,{mt:4,mb:4},o.length)),o.push(i));if(o.length!==0)return t.jsx(d,{position:"absolute",top:"100px",left:4,maxHeight:"calc(100% - 140px)",width:350,maxWidth:350,zIndex:1,backgroundColor:"white",borderWidth:"1px",borderRadius:"lg",padding:2,boxShadow:"lg",overflow:"auto",children:o})}const Et=new URLSearchParams(window.location.search),Ft=Et.get("lang")||void 0,qt=Y({component:Tt,appMetadata:gt,config:{locale:Ft,properties:{"@open-pioneer/local-storage":{storageId:"ol-app-state"}}}});customElements.define("ol-map-app",qt); +import{j as t,B as d,c as q,a as U,r as p,b as I,i as K,d as $,e as A,F as Z,f as Y}from"./Mxtq6FG0Aq1_.js";import{V as J,S as j,T as X,O as Q,a as C,b as N,c as ee,C as te,F as oe,r as T,d as D,e as re,w as ie,H as ne,M as ae,u as se,f as le,g as v,h as x,i as L,j as M,k as y,D as ce,l as pe,m as de}from"./5C5XmiCGgLmB.js";import{W as V,P as ue,a as me,b as ge,c as he,d as fe,e as be,f as ve,g as xe,h as we}from"./D-pImulTtahV.js";import{W as R,E as Se,V as ye,S as ke,O as Me,C as je,a as Ce,b as Le,L as ze,M as _e,c as Pe,d as Ie,P as Ae,N as Te}from"./Dx9locigDKA2.js";import{G as O,u as De,T as h,P as Re,a as Ee,b as Fe,c as qe,d as Ne,e as Ve}from"./CXqamDLCwhxM.js";import{T as z}from"./BOwySe0UXVY3.js";import{N as Oe,P as He}from"./OM1YzF7yjem8.js";import{V as Ge,S as We,I as Be,Z as Ue,a as Ke}from"./Sxw4XIxlvpiS.js";import{_ as E}from"./CmsKOCeNyeyo.js";import{u as b,D as $e}from"./Cxncs0atKtOb.js";import{H}from"./BXf6RRVNKbev.js";import{G}from"./IfrtfJ9Ep93o.js";import{R as Ze}from"./DgabVoUpizSB.js";import{C as Ye}from"./D2hiNYfqsv5D.js";import"./DWkb3PmnrxhS.js";import"./D69t4K7RmA6W.js";import"./_eg2EQ1Gs0ak.js";import"./DUaeWVZO0JNZ.js";import"./CRkdw9XP0Imr.js";import"./CYrCIuevaD6U.js";import"./B3HqXXx_wjjB.js";import"./CK6i-0dKNtLx.js";import"./BbT9q31oQhIX.js";import"./CrqedT83Nq6G.js";const Je={height:"25px",width:"25px",borderColor:"#4cb3ff",borderWidth:"3px",borderRadius:"50%",display:"inline-block "};function Xe(r){return t.jsxs(d,{children:[t.jsx(z,{children:r.layer.title}),t.jsx(d,{style:Je})]})}const _="main";class Qe{mapId=_;vectorSourceFactory;constructor(e){this.vectorSourceFactory=e.references.vectorSourceFactory}async getMapConfig(){return{advanced:{view:new J({center:[404747,5757920],zoom:13,constrainResolution:!0,projection:"EPSG:25832"})},layers:[...et(),rt(),tt(this.vectorSourceFactory),ot(),it()]}}}function et(){return[new R({isBaseLayer:!0,title:"Topplus grau",url:"https://www.wmts.nrw.de/topplus_open/1.0.0/WMTSCapabilities.xml",name:"topplus_grau",matrixSet:"EPSG_25832_14",visible:!1,sourceOptions:{attributions:`Kartendarstellung und Präsentationsgraphiken: © Bundesamt für Kartographie und Geodäsie ${new Date().getFullYear()}, Datenquellen`}}),new R({isBaseLayer:!0,title:"Topplus farbig",url:"https://www.wmts.nrw.de/topplus_open/1.0.0/WMTSCapabilities.xml",name:"topplus_col",matrixSet:"EPSG_25832_14",visible:!0,sourceOptions:{attributions:`Kartendarstellung und Präsentationsgraphiken: © Bundesamt für Kartographie und Geodäsie ${new Date().getFullYear()}, Datenquellen`}}),new j({title:"OpenStreetMaps",visible:!1,isBaseLayer:!0,olLayer:new X({source:new Q})})]}function tt(r){const e="https://ogc-api-test.nrw.de/inspire-us-krankenhaus/v1",o="governmentalservice",i=r.createVectorSource({strategy:"next",baseUrl:e,collectionId:o,limit:1e3,crs:"http://www.opengis.net/def/crs/EPSG/0/25832",attributions:`Land NRW (${new Date().getFullYear()}), Datenlizenz Deutschland - Namensnennung - Version 2.0, Datenquelle`}),n=new C({source:i});return new j({id:"krankenhaus",title:"Krankenhäuser",visible:!1,olLayer:n,attributes:{collectionURL:e+"/collections/"+o}})}function ot(){return new V({title:"Schulstandorte",description:"Der vorliegende Datenbestand / Dienst zu den Schulstandorten in NRW stammt aus der Schuldatenbank. Die Informationen werden von den Schulträgern bzw. Schulen selbst eingetragen und aktuell gehalten. Die Daten werden tagesaktuell bereitgestellt und enthalten alle grundlegenden Informationen zu Schulen wie Schulnummer, Schulbezeichnung und Adresse.Der vorliegende Datenbestand / Dienst zu den Schulstandorten in NRW stammt aus der Schuldatenbank. Die Informationen werden von den Schulträgern bzw. Schulen selbst eingetragen und aktuell gehalten. Die Daten werden tagesaktuell bereitgestellt und enthalten alle grundlegenden Informationen zu Schulen wie Schulnummer, Schulbezeichnung und Adresse.Der vorliegende Datenbestand / Dienst zu den Schulstandorten in NRW stammt aus der Schuldatenbank. Die Informationen werden von den Schulträgern bzw. Schulen selbst eingetragen und aktuell gehalten. Die Daten werden tagesaktuell bereitgestellt und enthalten alle grundlegenden Informationen zu Schulen wie Schulnummer, Schulbezeichnung und Adresse.Der vorliegende Datenbestand / Dienst zu den Schulstandorten in NRW stammt aus der Schuldatenbank. Die Informationen werden von den Schulträgern bzw. Schulen selbst eingetragen und aktuell gehalten. Die Daten werden tagesaktuell bereitgestellt und enthalten alle grundlegenden Informationen zu Schulen wie Schulnummer, Schulbezeichnung und Adresse.",visible:!0,url:"https://www.wms.nrw.de/wms/wms_nw_inspire-schulen",sublayers:[{name:"US.education",title:"INSPIRE - WMS Schulstandorte NRW",attributes:{legend:{}}}],sourceOptions:{ratio:1}})}function rt(){return new V({title:"Straßennetz Landesbetrieb Straßenbau NRW",url:"https://www.wms.nrw.de/wms/strassen_nrw_wms",visible:!0,sublayers:[{name:"1",title:"Verwaltungen",attributes:{legend:{imageUrl:"https://www.wms.nrw.de/legends/wms/strassen_nrw_wms/1.png"}}},{name:"4",title:"Abschnitte und Äste"},{name:"6",title:"Unfälle"}]})}function it(){const r={Component:Xe},e=new N({url:"https://ogc-api.nrw.de/inspire-us-kindergarten/v1/collections/governmentalservice/items?f=json&limit=10000",format:new O,attributions:'© Bundesamt für Kartographie und Geodäsie 2017, Datenquellen'}),o=new C({source:e,style:new ee({image:new te({fill:new oe({color:"blue"}),radius:4})})});return new j({id:"ogc_kitas",title:"Kindertagesstätten",visible:!0,olLayer:o,attributes:{legend:r,resultListMetadata:[{id:"id",displayName:"ID",width:100,getPropertyValue(i){return i.id}},{propertyName:"pointOfContact.address.postCode",displayName:"PLZ",width:120},{propertyName:"name",displayName:"Name"},{propertyName:"inspireId",displayName:"inspireID"},{displayName:"Gefördert",width:160,getPropertyValue(i){switch(i.properties?.gefoerdert){case"ja":return!0;case"nein":return!1;default:return i.properties?.gefoerdert}}}]}})}class nt{label;filteredTypes;httpService;constructor(e,o,i){this.label=e,this.filteredTypes=o,this.httpService=i}async search(e,{mapProjection:o,signal:i}){const n=await this.request(e,100,i),a=new O({dataProjection:"EPSG:4326",featureProjection:o});return n.features.filter(s=>this.filteredTypes.includes(s.properties.type)).map((s,l)=>{const c=a.readGeometry(s.geometry);return{id:s.properties.osm_id||l,label:this.createLabel(s),geometry:c,properties:s.properties}})}async request(e,o,i){const n=new URL("https://photon.komoot.io/api?");n.searchParams.set("q",e),n.searchParams.set("lang","de"),n.searchParams.set("lat","51.961563"),n.searchParams.set("lon","7.628202"),n.searchParams.set("limit",o.toString());const a=await this.httpService.fetch(n,{signal:i});if(!a.ok)throw new Error("Request failed: "+a.status);return await a.json()}createLabel(e){return`${e.properties.name} (${e.properties.osm_value?e.properties.osm_value+", ":""}${e.properties.postcode?e.properties.postcode+", ":""}${e.properties.city?e.properties.city+", ":""}${e.properties.country?e.properties.country+")":")"}`}}const at=q("ol-app:AppModel");function k(r){return r==="selection"||r==="measurement"||r.startsWith("editing-")}class st{_mapRegistry;_vectorSelectionSourceFactory;_httpService;_resources=[];_featureHighlight=void 0;_mainContent=T(["toc"]);_searchSources=D();_selectionSources=D();_sourceMetadata=re();_resultListState=T({key:0,open:!1,input:void 0});constructor({references:e}){this._mapRegistry=e.mapRegistry,this._vectorSelectionSourceFactory=e.vectorSelectionSourceFactory,this._httpService=e.httpService,this.initSearchSources(),this.initSelectionSources().catch(o=>{at.error("Failed to initialize selection sources",o)})}destroy(){this.clearHighlight(),this._resources.forEach(e=>e.destroy())}get mainContent(){return this._mainContent.value}get searchSources(){return this._searchSources}get selectionSources(){return this._selectionSources}get sourceMetadata(){return this._sourceMetadata}get resultListState(){return this._resultListState.value}toggleMainContent(e){const o=this._mainContent.value;if(o.includes(e)){this._mainContent.value=o.filter(n=>n!==e);return}let i;k(e)?(i=[e],this.clearHighlight()):(i=o.filter(n=>!k(n)),i.push(e)),this._mainContent.value=i}hideContent(e){this._mainContent.value=this._mainContent.value.filter(o=>o!==e)}clearInteractions(){this._mainContent.value=this._mainContent.value.filter(e=>!k(e))}setResultListInput(e){const o=this._resultListState.value;this._resultListState.value={open:!0,key:o.key+1,input:e}}setResultListVisibility(e){this._resultListState.value={...this._resultListState.value,open:e}}highlightAndZoom(e,o){const i=e.olMap.getViewport();this.clearHighlight(),this._featureHighlight=e.highlightAndZoom(o,{viewPadding:i&&i.offsetWidth<1e3?{top:150,right:75,bottom:50,left:75}:{top:150,right:400,bottom:50,left:400}})}zoom(e,o){const i=e.olMap.getViewport();e.zoom(o,{viewPadding:i&&i.offsetWidth<1e3?{top:150,right:75,bottom:50,left:75}:{top:150,right:400,bottom:50,left:400}})}clearHighlight(){this._featureHighlight&&(this._featureHighlight.destroy(),this._featureHighlight=void 0)}initSearchSources(){const e=new nt("Photon Geocoder",["city","street"],this._httpService);this._searchSources.push(e)}async initSelectionSources(){const e=["ogc_kitas","ogc_kataster"],i=(await this._mapRegistry.expectMapModel(_)).layers.getOperationalLayers({sortByDisplayOrder:!0});for(const n of i){if(!e.includes(n.id)||!lt(n.olLayer))continue;const a=this._vectorSelectionSourceFactory.createSelectionSource({vectorLayer:n.olLayer,label:n.title}),s=ie(()=>[a.status],([l])=>{l!=="available"&&(l==="unavailable"||l?.kind==="unavailable")&&this.clearHighlight()});this._resources.push(s,a),this._selectionSources.unshift(a),this._sourceMetadata.set(a,n.attributes.resultListMetadata)}}}function lt(r){return r instanceof C&&r.getSource()instanceof N}const ct={"ol-map":{name:"ol-map",services:{MapConfigProviderImpl:{name:"MapConfigProviderImpl",clazz:Qe,provides:[{name:"map.MapConfigProvider",qualifier:void 0}],references:{vectorSourceFactory:{name:"ogc-features.VectorSourceFactory",qualifier:void 0,all:!1}}},AppModel:{name:"AppModel",clazz:st,provides:[{name:"ol-app.AppModel",qualifier:void 0}],references:{vectorSelectionSourceFactory:{name:"selection.VectorSelectionSourceFactory",qualifier:void 0,all:!1},httpService:{name:"http.HttpService",qualifier:void 0,all:!1},mapRegistry:{name:"map.MapRegistry",qualifier:void 0,all:!1}}}},ui:{references:[{name:"map.MapRegistry",qualifier:void 0,all:!1},{name:"ol-app.AppModel",qualifier:void 0,all:!1},{name:"notifier.NotificationService",qualifier:void 0,all:!1},{name:"editing.EditingService",qualifier:void 0,all:!1}]},properties:{}},"@open-pioneer/chakra-integration":{name:"@open-pioneer/chakra-integration",services:{},ui:{references:[]},properties:{}},"@open-pioneer/runtime":{name:"@open-pioneer/runtime",services:{},ui:{references:[]},properties:{}},"@open-pioneer/react-utils":{name:"@open-pioneer/react-utils",services:{},ui:{references:[]},properties:{}},"@open-pioneer/http":{name:"@open-pioneer/http",services:{HttpServiceImpl:{name:"HttpServiceImpl",clazz:ne,provides:[{name:"http.HttpService",qualifier:"http.HttpService"}],references:{interceptors:{name:"http.Interceptor",qualifier:void 0,all:!0}}}},ui:{references:[]},properties:{}},"@open-pioneer/notifier":{name:"@open-pioneer/notifier",services:{NotificationServiceImpl:{name:"NotificationServiceImpl",clazz:Oe,provides:[{name:"notifier.NotificationService",qualifier:"notifier.NotificationService"}],references:{}}},ui:{references:[{name:"notifier.NotificationService",qualifier:void 0,all:!1}]},properties:{}},"@open-pioneer/reactivity":{name:"@open-pioneer/reactivity",services:{},ui:{references:[]},properties:{}},"@open-pioneer/map":{name:"@open-pioneer/map",services:{MapRegistryImpl:{name:"MapRegistryImpl",clazz:ae,provides:[{name:"map.MapRegistry",qualifier:void 0}],references:{providers:{name:"map.MapConfigProvider",qualifier:void 0,all:!0},httpService:{name:"http.HttpService",qualifier:void 0,all:!1}}}},ui:{references:[{name:"map.MapRegistry",qualifier:void 0,all:!1}]},properties:{}},"@open-pioneer/theme":{name:"@open-pioneer/theme",services:{},ui:{references:[]},properties:{}},"@open-pioneer/ogc-features":{name:"@open-pioneer/ogc-features",services:{VectorSourceFactory:{name:"VectorSourceFactory",clazz:Ge,provides:[{name:"ogc-features.VectorSourceFactory",qualifier:void 0}],references:{httpService:{name:"http.HttpService",qualifier:void 0,all:!1}}},SearchSourceFactory:{name:"SearchSourceFactory",clazz:We,provides:[{name:"ogc-features.SearchSourceFactory",qualifier:void 0}],references:{httpService:{name:"http.HttpService",qualifier:void 0,all:!1}}}},ui:{references:[]},properties:{}},"@open-pioneer/coordinate-viewer":{name:"@open-pioneer/coordinate-viewer",services:{},ui:{references:[]},properties:{}},"@open-pioneer/map-ui-components":{name:"@open-pioneer/map-ui-components",services:{},ui:{references:[]},properties:{}},"@open-pioneer/scale-bar":{name:"@open-pioneer/scale-bar",services:{},ui:{references:[]},properties:{}},"@open-pioneer/scale-viewer":{name:"@open-pioneer/scale-viewer",services:{},ui:{references:[]},properties:{}},"@open-pioneer/map-navigation":{name:"@open-pioneer/map-navigation",services:{},ui:{references:[]},properties:{}},"@open-pioneer/toc":{name:"@open-pioneer/toc",services:{},ui:{references:[]},properties:{}},"@open-pioneer/editing":{name:"@open-pioneer/editing",services:{EditingServiceImpl:{name:"EditingServiceImpl",clazz:Se,provides:[{name:"editing.EditingService",qualifier:void 0}],references:{mapRegistry:{name:"map.MapRegistry",qualifier:void 0,all:!1},httpService:{name:"http.HttpService",qualifier:void 0,all:!1}}}},ui:{references:[]},properties:{polygonStyle:{value:{"fill-color":"rgba(255,255,255,0.4)","stroke-color":"red","stroke-width":1.25,"circle-radius":3,"circle-fill-color":"red","circle-stroke-width":1.25,"circle-stroke-color":"red"},required:!1},vertexStyle:{value:{"circle-radius":3,"circle-fill-color":"red","circle-stroke-width":1.25,"circle-stroke-color":"red"},required:!1}}},"@open-pioneer/legend":{name:"@open-pioneer/legend",services:{},ui:{references:[]},properties:{}},"@open-pioneer/measurement":{name:"@open-pioneer/measurement",services:{},ui:{references:[]},properties:{}},"@open-pioneer/printing":{name:"@open-pioneer/printing",services:{PrintingServiceImpl:{name:"PrintingServiceImpl",clazz:He,provides:[{name:"printing.PrintingService",qualifier:void 0}],references:{}}},ui:{references:[{name:"notifier.NotificationService",qualifier:void 0,all:!1},{name:"printing.PrintingService",qualifier:void 0,all:!1}]},properties:{}},"@open-pioneer/result-list":{name:"@open-pioneer/result-list",services:{},ui:{references:[]},properties:{}},"@open-pioneer/search":{name:"@open-pioneer/search",services:{},ui:{references:[]},properties:{}},"@open-pioneer/selection":{name:"@open-pioneer/selection",services:{VectorSelectionSourceFactory:{name:"VectorSelectionSourceFactory",clazz:ye,provides:[{name:"selection.VectorSelectionSourceFactory",qualifier:void 0}],references:{}}},ui:{references:[{name:"notifier.NotificationService",qualifier:void 0,all:!1}]},properties:{}},"@open-pioneer/base-theme":{name:"@open-pioneer/base-theme",services:{},ui:{references:[]},properties:{}},"@open-pioneer/core":{name:"@open-pioneer/core",services:{},ui:{references:[]},properties:{}},"@open-pioneer/runtime-react-support":{name:"@open-pioneer/runtime-react-support",services:{},ui:{references:[]},properties:{}},"@open-pioneer/basemap-switcher":{name:"@open-pioneer/basemap-switcher",services:{},ui:{references:[]},properties:{}}},pt='.search-box{position:absolute;width:500px;max-width:100%;z-index:1}:root,:host{--ol-background-color: white;--ol-accent-background-color: #F5F5F5;--ol-subtle-background-color: rgba(128, 128, 128, .25);--ol-partial-background-color: rgba(255, 255, 255, .75);--ol-foreground-color: #333333;--ol-subtle-foreground-color: #666666;--ol-brand-color: #00AAFF}.ol-box{box-sizing:border-box;border-radius:2px;border:1.5px solid var(--ol-background-color);background-color:var(--ol-partial-background-color)}.ol-mouse-position{top:8px;right:8px;position:absolute}.ol-scale-line{background:var(--ol-partial-background-color);border-radius:4px;bottom:8px;left:8px;padding:2px;position:absolute}.ol-scale-line-inner{border:1px solid var(--ol-subtle-foreground-color);border-top:none;color:var(--ol-foreground-color);font-size:10px;text-align:center;margin:1px;will-change:contents,width;transition:all .25s}.ol-scale-bar{position:absolute;bottom:8px;left:8px}.ol-scale-bar-inner{display:flex}.ol-scale-step-marker{width:1px;height:15px;background-color:var(--ol-foreground-color);float:right;z-index:10}.ol-scale-step-text{position:absolute;bottom:-5px;font-size:10px;z-index:11;color:var(--ol-foreground-color);text-shadow:-1.5px 0 var(--ol-partial-background-color),0 1.5px var(--ol-partial-background-color),1.5px 0 var(--ol-partial-background-color),0 -1.5px var(--ol-partial-background-color)}.ol-scale-text{position:absolute;font-size:12px;text-align:center;bottom:25px;color:var(--ol-foreground-color);text-shadow:-1.5px 0 var(--ol-partial-background-color),0 1.5px var(--ol-partial-background-color),1.5px 0 var(--ol-partial-background-color),0 -1.5px var(--ol-partial-background-color)}.ol-scale-singlebar{position:relative;height:10px;z-index:9;box-sizing:border-box;border:1px solid var(--ol-foreground-color)}.ol-scale-singlebar-even{background-color:var(--ol-subtle-foreground-color)}.ol-scale-singlebar-odd{background-color:var(--ol-background-color)}.ol-unsupported{display:none}.ol-viewport,.ol-unselectable{-webkit-touch-callout:none;-webkit-user-select:none;-moz-user-select:none;user-select:none;-webkit-tap-highlight-color:transparent}.ol-viewport canvas{all:unset;overflow:hidden}.ol-viewport{touch-action:pan-x pan-y}.ol-selectable{-webkit-touch-callout:default;-webkit-user-select:text;-moz-user-select:text;user-select:text}.ol-grabbing{cursor:-webkit-grabbing;cursor:-moz-grabbing;cursor:grabbing}.ol-grab{cursor:move;cursor:-webkit-grab;cursor:-moz-grab;cursor:grab}.ol-control{position:absolute;background-color:var(--ol-subtle-background-color);border-radius:4px}.ol-zoom{top:.5em;left:.5em}.ol-rotate{top:.5em;right:.5em;transition:opacity .25s linear,visibility 0s linear}.ol-rotate.ol-hidden{opacity:0;visibility:hidden;transition:opacity .25s linear,visibility 0s linear .25s}.ol-zoom-extent{top:4.643em;left:.5em}.ol-full-screen{right:.5em;top:.5em}.ol-control button{display:block;margin:1px;padding:0;color:var(--ol-subtle-foreground-color);font-weight:700;text-decoration:none;font-size:inherit;text-align:center;height:1.375em;width:1.375em;line-height:.4em;background-color:var(--ol-background-color);border:none;border-radius:2px}.ol-control button::-moz-focus-inner{border:none;padding:0}.ol-zoom-extent button{line-height:1.4em}.ol-compass{display:block;font-weight:400;will-change:transform}.ol-touch .ol-control button{font-size:1.5em}.ol-touch .ol-zoom-extent{top:5.5em}.ol-control button:hover,.ol-control button:focus{text-decoration:none;outline:1px solid var(--ol-subtle-foreground-color);color:var(--ol-foreground-color)}.ol-zoom .ol-zoom-in{border-radius:2px 2px 0 0}.ol-zoom .ol-zoom-out{border-radius:0 0 2px 2px}.ol-attribution{text-align:right;bottom:.5em;right:.5em;max-width:calc(100% - 1.3em);display:flex;flex-flow:row-reverse;align-items:center}.ol-attribution a{color:var(--ol-subtle-foreground-color);text-decoration:none}.ol-attribution ul{margin:0;padding:1px .5em;color:var(--ol-foreground-color);text-shadow:0 0 2px var(--ol-background-color);font-size:12px}.ol-attribution li{display:inline;list-style:none}.ol-attribution li:not(:last-child):after{content:" "}.ol-attribution img{max-height:2em;max-width:inherit;vertical-align:middle}.ol-attribution button{flex-shrink:0}.ol-attribution.ol-collapsed ul{display:none}.ol-attribution:not(.ol-collapsed){background:var(--ol-partial-background-color)}.ol-attribution.ol-uncollapsible{bottom:0;right:0;border-radius:4px 0 0}.ol-attribution.ol-uncollapsible img{margin-top:-.2em;max-height:1.6em}.ol-attribution.ol-uncollapsible button{display:none}.ol-zoomslider{top:4.5em;left:.5em;height:200px}.ol-zoomslider button{position:relative;height:10px}.ol-touch .ol-zoomslider{top:5.5em}.ol-overviewmap{left:.5em;bottom:.5em}.ol-overviewmap.ol-uncollapsible{bottom:0;left:0;border-radius:0 4px 0 0}.ol-overviewmap .ol-overviewmap-map,.ol-overviewmap button{display:block}.ol-overviewmap .ol-overviewmap-map{border:1px solid var(--ol-subtle-foreground-color);height:150px;width:150px}.ol-overviewmap:not(.ol-collapsed) button{bottom:0;left:0;position:absolute}.ol-overviewmap.ol-collapsed .ol-overviewmap-map,.ol-overviewmap.ol-uncollapsible button{display:none}.ol-overviewmap:not(.ol-collapsed){background:var(--ol-subtle-background-color)}.ol-overviewmap-box{border:1.5px dotted var(--ol-subtle-foreground-color)}.ol-overviewmap .ol-overviewmap-box:hover{cursor:move}.ol-overviewmap .ol-viewport:hover{cursor:pointer}.map-container .ol-viewport .ol-attribution{bottom:var(--map-padding-bottom);right:var(--map-padding-right)}.editing-tooltip{position:relative;background:#fffc;border-radius:4px;color:#000;padding:4px 8px;opacity:1;white-space:nowrap;font-size:12px;cursor:default;-webkit-user-select:none;user-select:none;font-weight:700}.editing-tooltip-hidden{visibility:hidden}.measurement-tooltip{position:relative;background:#fffc;border-radius:4px;color:#000;padding:4px 8px;opacity:1;white-space:nowrap;font-size:12px;cursor:default;-webkit-user-select:none;user-select:none;font-weight:700}.measurement-active-tooltip{background:#000000e6;border-radius:4px;border-color:#000000e6;opacity:.9;color:#fff}.measurement-finished-tooltip{background-color:#4cb3ffe6;color:#000;border:1px solid white}.measurement-active-tooltip:before,.measurement-finished-tooltip:before{border-top:6px solid rgba(0,0,0,.9);border-right:6px solid transparent;border-left:6px solid transparent;content:"";position:absolute;bottom:-6px;margin-left:-7px;left:50%}.measurement-finished-tooltip:before{border-top-color:#4cb3ff}.printing-overlay{position:absolute;top:0;right:0;bottom:0;left:0;z-index:10000;-webkit-user-select:none;user-select:none;pointer-events:all;cursor:wait;display:flex;flex-direction:row;align-items:center;justify-content:center;background-color:#b4b4b4cc}.printing-overlay-status{flex:1 1 auto;font-size:1.5em;text-align:center}.printing-scale-bar.ol-scale-bar{left:var(--printing-scale-bar-left);bottom:var(--printing-scale-bar-bottom)}.search-component .chakra-divider{display:none}.search-component .search-highlighted-match{font-weight:700}.search-component .search-value-container{cursor:text;padding-left:30px!important}.search-component .search-invisible{display:none}.selection-drag-box{background-color:#ffffff4d!important;border:3px solid var(--chakra-colors-background_primary)!important}.selection-tooltip{position:relative;background:#fffc;border-radius:4px;color:#000;padding:4px 8px;opacity:1;white-space:nowrap;font-size:12px;cursor:default;-webkit-user-select:none;user-select:none;font-weight:700}.selection .react-select{cursor:default}.map-container .selection-active{cursor:crosshair}.map-container .selection-inactive{cursor:no-drop}.selection-source-value.selection-source-value--disabled{opacity:.4}.selection-source-value.selection-source-value--disabled span{margin:0 6px 0 0}.scale-bar .ol-scale-bar{margin-bottom:8px;margin-right:8px}.scale-bar .ol-scale-bar,.scale-bar .ol-scale-line{position:relative;bottom:0;left:0;background:none}.scale-bar .ol-scale-bar .ol-scale-bar-inner,.scale-bar .ol-scale-bar .ol-scale-line-inner,.scale-bar .ol-scale-line .ol-scale-bar-inner,.scale-bar .ol-scale-line .ol-scale-line-inner{color:var(--chakra-white);border-color:var(--chakra-white)}.result-list-no-data-message{text-align:center;margin-top:50px;font-weight:700;font-size:larger}.result-list-table th,.result-list-table td{overflow-wrap:break-word}.result-list-table.result-list-table--is-resizing *{cursor:col-resize}.result-list-table thead{position:sticky;top:0;z-index:1;background:var(--chakra-colors-background_body)}.result-list-table th{position:relative;border-right-width:thin}.result-list-table tbody tr:hover{background:var(--chakra-colors-background_light)}.result-list-table .result-list-resizer{position:absolute;top:0;height:100%;right:0;width:8px;background:var(--chakra-colors-trails-100);transform:scaleX(.25);cursor:col-resize;-webkit-user-select:none;user-select:none;touch-action:none;padding-left:0}.result-list-table th:last-child .result-list-resizer{width:8px;transform:translate(50%) scaleX(.25)}.result-list-table th .result-list-resizer.result-list-resizer--is-resizing{background:var(--chakra-colors-trails-500);transform:scale(1)}.result-list-table th .result-list-resizer:hover{transform:scale(1)}',dt=["en","de"];function ut(r){switch(r){case"en":return E(()=>import("./BYGrfKr5WBJ9.js"),[],import.meta.url).then(e=>e.default);case"de":return E(()=>import("./C-s9YzO5rJEK.js"),[],import.meta.url).then(e=>e.default)}throw new Error(`Unsupported locale: '${r}'`)}const mt=U(pt),gt=Object.freeze(Object.defineProperty({__proto__:null,loadMessages:ut,locales:dt,packages:ct,styles:mt},Symbol.toStringTag,{value:"Module"})),W="ol-map",g=le.bind(void 0,W),u=se.bind(void 0,W),ht=q("ol-app:Editing");function F(r){const e=ft(r.kind),o=p.useId(),i=u();return t.jsx(d,{role:"dialog","aria-labelledby":o,children:t.jsx(v,{title:t.jsx(x,{id:o,size:"md",mb:2,children:i.formatMessage({id:"editing.title"})}),children:t.jsxs(d,{overflowY:"auto",maxHeight:300,children:[t.jsx(z,{textAlign:"center",children:i.formatMessage({id:"editing.active"})}),t.jsxs(H,{mt:4,align:"center",justify:"center",children:[t.jsx(I,{onClick:()=>{e?.reset()},children:i.formatMessage({id:"editing.resetGeometry"})}),t.jsx(I,{onClick:()=>{e?.destroy()},children:i.formatMessage({id:"editing.abort"})})]})]})})})}function ft(r){const e=g("notifier.NotificationService"),o=g("editing.EditingService"),i=u(),n=g("ol-app.AppModel"),{map:a}=L(),[s,l]=p.useState();return p.useEffect(()=>{if(!a)return;const c=new bt(e,o,a,i,n,r);return l(c),()=>{c.destroy(),l(void 0)}},[n,o,i,a,e,r]),s}class bt{notificationService;editingService;map;intl;appModel;kind;job;constructor(e,o,i,n,a,s){this.notificationService=e,this.editingService=o,this.map=i,this.intl=n,this.appModel=a,this.kind=s;let l;switch(s){case"create":l=this.createJob();break;case"update":l=this.updateJob();break}this.job=l,this.job.run().catch(c=>{K(c)||(ht.error("Edit operation failed",c),this.notificationService.notify({level:"error",message:this.intl.formatMessage({id:"editing.error"})}))}).finally(()=>{this.destroy()})}destroy(){this.job?.destroy(),this.job=void 0,this.appModel.hideContent(`editing-${this.kind}`)}reset(){this.job?.reset()}createJob(){let e;return{destroy(){e?.stop(),e=void 0},reset(){e?.reset()},run:async()=>{const o=this.findLayer(),i=new URL(o.attributes.collectionURL+"/items");e=this.editingService.createFeature(this.map,i);const n=await e.whenComplete();if(e=void 0,!n)return;this.notificationService.notify({level:"info",message:this.intl.formatMessage({id:"editing.create.featureCreated"},{featureId:n.featureId})}),(o?.olLayer).getSource()?.refresh()}}}updateJob(){const e=this.map,o=new AbortController,i=o.signal;let n,a,s;function l(){a&&e.olMap.removeInteraction(a),a&&a.dispose(),n&&n.destroy(),o.abort(),a=void 0,n=void 0}return{destroy(){l(),s?.stop(),s=void 0},reset(){s?.reset()},run:async()=>{const c=this.findLayer(),m=c.olLayer,w=new URL(c.attributes.collectionURL+"/items");a=new ke({layers:[m]}),e.olMap.addInteraction(a),n=vt(this.intl,e.olMap),n.element.classList.remove("editing-tooltip-hidden");let f;for(;;){const{selected:P,deselected:B}=await xt(a,i);if(P.length===1&&B.length===0){l(),f=P[0];break}}if(!f)throw Error("Feature is undefined");s=this.editingService.updateFeature(e,w,f);const S=await s.whenComplete();S&&(this.notificationService.notify({level:"info",message:this.intl.formatMessage({id:"editing.update.featureModified"},{featureId:S.featureId})}),m.getSource()?.refresh())}}}findLayer(){const e=this.map.layers.getLayerById("krankenhaus");if(!e)throw new Error("Layer not found");return e}}function vt(r,e){const o=document.createElement("div");o.className="editing-tooltip editing-tooltip-hidden",o.textContent=r.formatMessage({id:"editing.update.tooltip.select"});const i=new Me({element:o,offset:[15,0],positioning:"center-left"}),n=e.on("pointermove",a=>{a.dragging||i.setPosition(a.coordinate)});return e.addOverlay(i),{overlay:i,element:o,destroy(){M(n),e.removeOverlay(i)}}}function xt(r,e){let o;const{promise:i,resolve:n,reject:a}=$();if(e.aborted)return a(A()),i;const s=()=>{o&&M(o),o=void 0,a(A())};return e.addEventListener("abort",s),o=r.on("select",l=>{e.removeEventListener("abort",s),o&&M(o),o=void 0,n(l)}),i}function wt(){const r=u();return t.jsxs(y,{role:"region","aria-label":r.formatMessage({id:"ariaLabel.footer"}),gap:3,alignItems:"center",justifyContent:"center",children:[t.jsx(je,{precision:2,displayProjectionCode:"EPSG:4326"}),t.jsx(Ce,{}),t.jsx(Le,{})]})}function St(){const r=p.useId(),e=u();return t.jsx(d,{role:"dialog","aria-labelledby":r,children:t.jsx(v,{title:t.jsx(x,{id:r,size:"md",mb:2,children:e.formatMessage({id:"legendTitle"})}),children:t.jsx(d,{overflowY:"auto",maxHeight:300,children:t.jsx(ze,{showBaseLayers:!0})})})})}function yt(r){return G({tag:"svg",attr:{viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round"},child:[{tag:"path",attr:{d:"M12 5m-2 0a2 2 0 1 0 4 0a2 2 0 1 0 -4 0"},child:[]},{tag:"path",attr:{d:"M19 8m-2 0a2 2 0 1 0 4 0a2 2 0 1 0 -4 0"},child:[]},{tag:"path",attr:{d:"M5 11m-2 0a2 2 0 1 0 4 0a2 2 0 1 0 -4 0"},child:[]},{tag:"path",attr:{d:"M15 19m-2 0a2 2 0 1 0 4 0a2 2 0 1 0 -4 0"},child:[]},{tag:"path",attr:{d:"M6.5 9.5l1.546 -1.311"},child:[]},{tag:"path",attr:{d:"M14 5.5l3 1.5"},child:[]},{tag:"path",attr:{d:"M18.5 10l-1.185 3.318m-1.062 2.972l-.253 .71"},child:[]},{tag:"path",attr:{d:"M13.5 17.5l-7 -5"},child:[]},{tag:"path",attr:{d:"M3 3l18 18"},child:[]}]})(r)}function kt(r){return G({tag:"svg",attr:{viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round"},child:[{tag:"path",attr:{d:"M12 5m-2 0a2 2 0 1 0 4 0a2 2 0 1 0 -4 0"},child:[]},{tag:"path",attr:{d:"M19 8m-2 0a2 2 0 1 0 4 0a2 2 0 1 0 -4 0"},child:[]},{tag:"path",attr:{d:"M5 11m-2 0a2 2 0 1 0 4 0a2 2 0 1 0 -4 0"},child:[]},{tag:"path",attr:{d:"M15 19m-2 0a2 2 0 1 0 4 0a2 2 0 1 0 -4 0"},child:[]},{tag:"path",attr:{d:"M6.5 9.5l3.5 -3"},child:[]},{tag:"path",attr:{d:"M14 5.5l3 1.5"},child:[]},{tag:"path",attr:{d:"M18.5 10l-2.5 7"},child:[]},{tag:"path",attr:{d:"M13.5 17.5l-7 -5"},child:[]}]})(r)}function Mt(){const r=u(),e=g("ol-app.AppModel"),o=b(()=>e.resultListState,[e]),i=o.open,{isTocActive:n,isLegendActive:a,isPrintingActive:s}=b(()=>({isTocActive:e.mainContent.includes("toc"),isLegendActive:e.mainContent.includes("legend"),isPrintingActive:e.mainContent.includes("printing")}),[e]);return t.jsxs(y,{role:"toolbar","aria-label":r.formatMessage({id:"ariaLabel.toolbar"}),direction:"column",gap:1,padding:1,children:[t.jsx(jt,{}),o.input&&t.jsx(h,{label:r.formatMessage({id:"resultListTitle"}),icon:t.jsx(me,{}),isActive:o.open,onClick:()=>e.setResultListVisibility(!i)}),t.jsx(h,{label:r.formatMessage({id:"tocTitle"}),icon:t.jsx(ge,{}),isActive:n,onClick:()=>e.toggleMainContent("toc")}),t.jsx(h,{label:r.formatMessage({id:"legendTitle"}),icon:t.jsx(he,{}),isActive:a,onClick:()=>e.toggleMainContent("legend")}),t.jsx(h,{label:r.formatMessage({id:"printingTitle"}),icon:t.jsx(fe,{}),isActive:s,onClick:()=>e.toggleMainContent("printing")}),t.jsx(Be,{}),t.jsx(Ue,{}),t.jsx(Ke,{})]})}function jt(){const r=u(),e=g("ol-app.AppModel"),[o,i]=p.useState(!1),{isSelectionActive:n,isMeasurementActive:a,isEditingCreateActive:s,isEditingUpdateActive:l}=b(()=>({isSelectionActive:e.mainContent.includes("selection"),isMeasurementActive:e.mainContent.includes("measurement"),isEditingCreateActive:e.mainContent.includes("editing-create"),isEditingUpdateActive:e.mainContent.includes("editing-update")}),[e]),c=f=>()=>{f(),i(!1)},m={placement:"top"},w=t.jsxs(t.Fragment,{children:[t.jsx(h,{label:s?r.formatMessage({id:"editing.stopTitle"}):r.formatMessage({id:"editing.create.startTitle"}),icon:s?t.jsx(yt,{}):t.jsx(kt,{}),isActive:s,onClick:c(()=>e.toggleMainContent("editing-create")),tooltipProps:m}),t.jsx(h,{label:l?r.formatMessage({id:"editing.stopTitle"}):r.formatMessage({id:"editing.update.startTitle"}),icon:l?t.jsx(be,{}):t.jsx(ve,{}),isActive:l,onClick:c(()=>e.toggleMainContent("editing-update")),tooltipProps:m}),t.jsx(h,{label:r.formatMessage({id:"measurementTitle"}),icon:t.jsx(xe,{}),isActive:a,onClick:c(()=>e.toggleMainContent("measurement")),tooltipProps:m}),t.jsx(h,{label:r.formatMessage({id:"selectionTitle"}),icon:t.jsx(we,{}),isActive:n,onClick:c(()=>e.toggleMainContent("selection")),tooltipProps:m})]});return t.jsxs(Re,{placement:"left",isLazy:!0,onOpen:()=>i(!0),onClose:()=>i(!1),isOpen:o,children:[t.jsx(Ee,{children:t.jsx(Ct,{})}),t.jsx(Z,{children:t.jsxs(Fe,{width:"auto",children:[t.jsx(qe,{}),t.jsx(Ne,{children:t.jsx(H,{spacing:2,children:w})})]})})]})}const Ct=p.forwardRef(function(e,o){const i=u(),n=De(),{onClick:a,...s}=n.getTriggerProps();return t.jsx(h,{ref:o,label:i.formatMessage({id:"mapInteractions.title"}),icon:t.jsx(ue,{}),onClick:a,buttonProps:s})});function Lt(){const r=p.useId(),e=u();return t.jsx(d,{role:"dialog","aria-labelledby":r,children:t.jsx(v,{title:t.jsx(x,{id:r,size:"md",mb:2,children:e.formatMessage({id:"measurementTitle"})}),children:t.jsx(_e,{})})})}function zt(){const r=g("ol-app.AppModel"),e=b(()=>r.resultListState,[r]),[o,i]=p.useState([]),[n,a]=p.useState([]),s=p.useCallback(l=>{i(l.features),a(l.getFeatureIds())},[]);return p.useEffect(()=>{console.log("Anzahl Features: "+o.length),console.log("SelectedIds: "+n.toString())},[o,n]),e.input&&t.jsx(d,{className:"result-list-container",position:"absolute",visibility:e.open?"visible":"hidden",bottom:"0",backgroundColor:"white",width:"100%",height:"400px",zIndex:1,borderTop:"2px solid",borderBottom:"2px solid",borderColor:"trails.100",children:t.jsx(Ze,{input:e.input,onSelectionChange:s},e.key)})}function _t(){const{map:r}=L(),e=g("ol-app.AppModel"),o=b(()=>e.searchSources.getItems(),[e]);function i(a){if(console.debug("The user selected the following item: ",a.result),!r)return;const s=a.result.geometry;s&&e.highlightAndZoom(r,[s])}function n(){console.debug("The user cleared the search"),e.clearHighlight()}return t.jsx(d,{backgroundColor:"white",borderWidth:"1px",borderRadius:"lg",padding:2,boxShadow:"lg",mt:5,className:"search-box",children:t.jsx(Pe,{sources:o,maxResultsPerGroup:10,onSelect:i,onClear:n})})}function Pt(){const r=u(),e=g("notifier.NotificationService"),o=p.useId(),{map:i}=L(),n=g("ol-app.AppModel"),a=b(()=>n.selectionSources.getItems(),[n]),s={numberOptions:{maximumFractionDigits:3},dateOptions:{dateStyle:"medium",timeStyle:"medium",timeZone:"UTC"}};function l(m){const{source:w,results:f}=m;if(!i){console.debug("Map not ready");return}const S=n.sourceMetadata.get(w);if(!S){console.warn("Can not show results because no metadata could be found");return}n.setResultListInput({columns:S,data:f,formatOptions:s}),e.notify({level:"info",message:r.formatMessage({id:"foundResults"},{resultsCount:f.length}),displayDuration:4e3})}function c(m){n.clearHighlight()}return t.jsx(d,{role:"dialog","aria-labelledby":o,children:t.jsx(v,{title:t.jsx(x,{id:o,size:"md",mb:2,children:r.formatMessage({id:"selectionTitle"})}),children:t.jsx(Ie,{sources:a,onSelectionComplete:l,onSelectionSourceChanged:c})})})}function It(){const r=p.useId(),e=u();return t.jsx(d,{role:"dialog","aria-labelledby":r,children:t.jsx(v,{title:t.jsx(x,{id:r,size:"md",mb:2,children:t.jsx(z,{children:e.formatMessage({id:"tocTitle"})})}),children:t.jsx(d,{overflowY:"auto",maxHeight:300,children:t.jsx(Ve,{showTools:!0,basemapSwitcherProps:{allowSelectingEmptyBasemap:!0}})})})})}function At(){const r=p.useId(),e=u();return t.jsx(d,{role:"dialog","aria-labelledby":r,children:t.jsx(v,{title:t.jsx(x,{id:r,size:"md",mb:2,children:e.formatMessage({id:"printingTitle"})}),children:t.jsx(Ae,{})})})}function Tt(){const r=u(),e=g("ol-app.AppModel"),{resultListState:o,mainContent:i}=b(()=>({resultListState:e.resultListState,mainContent:e.mainContent}),[e]),n=o.input&&o.open;return t.jsx(ce,{mapId:_,children:t.jsxs(y,{height:"100%",direction:"column",overflow:"hidden",children:[t.jsx(Te,{position:"top-right"}),t.jsxs(v,{title:t.jsx(d,{role:"region","aria-label":r.formatMessage({id:"ariaLabel.header"}),textAlign:"center",py:1,children:t.jsx(x,{size:"md",children:"Sample Application"})}),children:[t.jsx(y,{flex:"1",direction:"column",position:"relative",children:t.jsxs(pe,{role:"main","aria-label":r.formatMessage({id:"ariaLabel.map"}),viewPadding:n?{bottom:400}:void 0,children:[t.jsx(Ye,{centerContent:!0,children:t.jsx(_t,{})}),t.jsx(Dt,{mainContent:i}),t.jsx(de,{position:"bottom-right",horizontalGap:10,verticalGap:45,children:t.jsx(Mt,{})}),t.jsx(zt,{})]})}),t.jsx(wt,{})]})]})})}function Dt(r){const{mainContent:e}=r,o=p.useMemo(()=>{const i=n=>{switch(n){case"toc":return t.jsx(It,{},n);case"legend":return t.jsx(St,{},n);case"printing":return t.jsx(At,{},n);case"selection":return t.jsx(Pt,{},n);case"measurement":return t.jsx(Lt,{},n);case"editing-create":return t.jsx(F,{kind:"create"},n);case"editing-update":return t.jsx(F,{kind:"update"},n)}};return e.map(n=>i(n))},[e]);return t.jsx(Rt,{children:o})}function Rt(r){const e=r.children,o=[];for(const i of e)i&&(o.length&&o.push(t.jsx($e,{mt:4,mb:4},o.length)),o.push(i));if(o.length!==0)return t.jsx(d,{position:"absolute",top:"100px",left:4,maxHeight:"calc(100% - 140px)",width:350,maxWidth:350,zIndex:1,backgroundColor:"white",borderWidth:"1px",borderRadius:"lg",padding:2,boxShadow:"lg",overflow:"auto",children:o})}const Et=new URLSearchParams(window.location.search),Ft=Et.get("lang")||void 0,qt=Y({component:Tt,appMetadata:gt,config:{locale:Ft,properties:{"@open-pioneer/local-storage":{storageId:"ol-app-state"}}}});customElements.define("ol-map-app",qt); diff --git a/openlayers-base-packages/assets/DQmU-8v0CX9o.js b/openlayers-base-packages/assets/C0X7TBLW2Kn4.js similarity index 88% rename from openlayers-base-packages/assets/DQmU-8v0CX9o.js rename to openlayers-base-packages/assets/C0X7TBLW2Kn4.js index 6d54b5d0c..acda5e63c 100644 --- a/openlayers-base-packages/assets/DQmU-8v0CX9o.js +++ b/openlayers-base-packages/assets/C0X7TBLW2Kn4.js @@ -1 +1 @@ -var So=Object.defineProperty;var St=o=>{throw TypeError(o)};var ko=(o,e,t)=>e in o?So(o,e,{enumerable:!0,configurable:!0,writable:!0,value:t}):o[e]=t;var w=(o,e,t)=>ko(o,typeof e!="symbol"?e+"":e,t),it=(o,e,t)=>e.has(o)||St("Cannot "+t);var l=(o,e,t)=>(it(o,e,"read from private field"),t?t.call(o):e.get(o)),h=(o,e,t)=>e.has(o)?St("Cannot add the same private member more than once"):e instanceof WeakSet?e.add(o):e.set(o,t),g=(o,e,t,i)=>(it(o,e,"write to private field"),i?i.call(o,t):e.set(o,t),t),y=(o,e,t)=>(it(o,e,"access private method"),t);import{g as De,h as q,j as r,k as Io,u as Mo,o as Eo,l as Oe,m as _o,n as Co,r as v,B as T,c as ye,b as ee,F as Bt,V as lt,A as rt,p as nt,q as pt,E as N,a as jo,f as Lo}from"./Mxtq6FG0Aq1_.js";import{aE as Po,aF as Ao,ag as No,af as oe,aG as Ro,aH as To,ao as Do,aI as Oo,aJ as Vo,aK as Go,a9 as Fo,as as zo,aL as kt,aM as Bo,aN as Ho,aO as It,aP as Uo,aQ as Wo,aR as at,V as qo,aS as Mt,A as $o,L as Ko,aT as Yo,J as Zo,aU as Xo,aV as Jo,aW as Qo,aX as ei,aY as Et,S as ut,T as Ht,O as Ut,a as ht,b as Wt,aZ as xe,i as Se,f as Je,u as Ve,r as E,a_ as _t,a$ as ti,an as oi,j as Be,c as qt,C as ii,F as $t,ax as Kt,d as ri,w as mt,b0 as ni,b1 as ai,b2 as si,k as j,b3 as li,b4 as Qe,b5 as Yt,g as He,h as ct,b6 as ci,H as di,M as pi,D as ui,l as hi,m as Ct}from"./5C5XmiCGgLmB.js";import{W as mi,i as gi,j as Zt}from"./D-pImulTtahV.js";import{O as Xt,W as fi,c as vi,I as Jt,C as bi,b as wi,a as yi,M as xi,P as Si,L as ki,d as Ii,S as Mi,E as Ei,V as _i,e as Qt,N as Ci}from"./DiOrj1F0r-Jt.js";import{G as eo,T as ji,e as Li}from"./CXqamDLCwhxM.js";import{T as et,L as Pi}from"./BOwySe0UXVY3.js";import{u as D,s as Ai}from"./Cxncs0atKtOb.js";import{G as Ni}from"./IfrtfJ9Ep93o.js";import{Z as Ri,a as Ti,H as Di,b as Oi,I as Vi,V as Gi,S as Fi}from"./Sxw4XIxlvpiS.js";import{c as gt}from"./DUaeWVZO0JNZ.js";import{M as zi,a as Bi,b as Hi}from"./CrqedT83Nq6G.js";import{M as Ui}from"./BbT9q31oQhIX.js";import{S as Wi}from"./B3HqXXx_wjjB.js";import{u as dt}from"./_eg2EQ1Gs0ak.js";import{I as qi}from"./J2n92hO6xhYn.js";import{R as $i}from"./DgabVoUpizSB.js";import{N as Ki,P as Yi}from"./DW8DcLzWV1Z-.js";import{_ as jt}from"./CmsKOCeNyeyo.js";import{F as Zi}from"./CRkdw9XP0Imr.js";import{H as Xi}from"./BXf6RRVNKbev.js";import{F as Ji}from"./CYrCIuevaD6U.js";import"./DWkb3PmnrxhS.js";import"./D69t4K7RmA6W.js";import"./CK6i-0dKNtLx.js";const to=De("div",{baseStyle:{display:"flex",alignItems:"center",justifyContent:"center"}});to.displayName="Center";const Qi={horizontal:{insetStart:"50%",transform:"translateX(-50%)"},vertical:{top:"50%",transform:"translateY(-50%)"},both:{insetStart:"50%",top:"50%",transform:"translate(-50%, -50%)"}};q(function(e,t){const{axis:i="both",...n}=e;return r.jsx(De.div,{ref:t,__css:Qi[i],...n,position:"absolute"})});const[er,oo]=Io({name:"InputGroupStylesContext",errorMessage:`useInputGroupStyles returned is 'undefined'. Seems you forgot to wrap the components in "" `}),ft=q(function(e,t){const i=Mo("Input",e),{children:n,className:a,...s}=Eo(e),c=Oe("chakra-input__group",a),d={},p=_o(n),f=i.field;p.forEach(m=>{i&&(f&&m.type.id==="InputLeftElement"&&(d.paddingStart=f.height??f.h),f&&m.type.id==="InputRightElement"&&(d.paddingEnd=f.height??f.h),m.type.id==="InputRightAddon"&&(d.borderEndRadius=0),m.type.id==="InputLeftAddon"&&(d.borderStartRadius=0))});const u=p.map(m=>{const S=Co({size:m.props?.size||e.size,variant:m.props?.variant||e.variant});return m.type.id!=="Input"?v.cloneElement(m,S):v.cloneElement(m,Object.assign(S,d,m.props))});return r.jsx(De.div,{className:c,ref:t,__css:{width:"100%",display:"flex",position:"relative",isolation:"isolate",...i.group},"data-group":!0,...s,children:r.jsx(er,{value:i,children:u})})});ft.displayName="InputGroup";const tr={left:{marginEnd:"-1px",borderEndRadius:0,borderEndColor:"transparent"},right:{marginStart:"-1px",borderStartRadius:0,borderStartColor:"transparent"}},or=De("div",{baseStyle:{flex:"0 0 auto",width:"auto",display:"flex",alignItems:"center",whiteSpace:"nowrap"}}),vt=q(function(e,t){const{placement:i="left",...n}=e,a=tr[i]??{},s=oo();return r.jsx(or,{ref:t,...n,__css:{...s.addon,...a}})});vt.displayName="InputAddon";const io=q(function(e,t){return r.jsx(vt,{ref:t,placement:"left",...e,className:Oe("chakra-input__left-addon",e.className)})});io.displayName="InputLeftAddon";io.id="InputLeftAddon";const bt=q(function(e,t){return r.jsx(vt,{ref:t,placement:"right",...e,className:Oe("chakra-input__right-addon",e.className)})});bt.displayName="InputRightAddon";bt.id="InputRightAddon";const ir=De("div",{baseStyle:{display:"flex",alignItems:"center",justifyContent:"center",position:"absolute",top:"0",zIndex:2}}),tt=q(function(e,t){const{placement:i="left",...n}=e,a=oo(),s=a.field,d={[i==="left"?"insetStart":"insetEnd"]:"0",width:s?.height??s?.h,height:s?.height??s?.h,fontSize:s?.fontSize,...a.element};return r.jsx(ir,{ref:t,__css:d,...n})});tt.id="InputElement";tt.displayName="InputElement";const ro=q(function(e,t){const{className:i,...n}=e,a=Oe("chakra-input__left-element",i);return r.jsx(tt,{ref:t,placement:"left",className:a,...n})});ro.id="InputLeftElement";ro.displayName="InputLeftElement";const wt=q(function(e,t){const{className:i,...n}=e,a=Oe("chakra-input__right-element",i);return r.jsx(tt,{ref:t,placement:"right",className:a,...n})});wt.id="InputRightElement";wt.displayName="InputRightElement";const b={ACCURACY:"accuracy",ACCURACY_GEOMETRY:"accuracyGeometry",ALTITUDE:"altitude",ALTITUDE_ACCURACY:"altitudeAccuracy",HEADING:"heading",POSITION:"position",PROJECTION:"projection",SPEED:"speed",TRACKING:"tracking",TRACKING_OPTIONS:"trackingOptions"},rr={ERROR:"error"};class nr extends Do{constructor(e){super(rr.ERROR),this.code=e.code,this.message=e.message}}let ar=class extends Po{constructor(e){super(),this.on,this.once,this.un,e=e||{},this.position_=null,this.transform_=Ao,this.watchId_=void 0,this.addChangeListener(b.PROJECTION,this.handleProjectionChanged_),this.addChangeListener(b.TRACKING,this.handleTrackingChanged_),e.projection!==void 0&&this.setProjection(e.projection),e.trackingOptions!==void 0&&this.setTrackingOptions(e.trackingOptions),this.setTracking(e.tracking!==void 0?e.tracking:!1)}disposeInternal(){this.setTracking(!1),super.disposeInternal()}handleProjectionChanged_(){const e=this.getProjection();e&&(this.transform_=No(oe("EPSG:4326"),e),this.position_&&this.set(b.POSITION,this.transform_(this.position_)))}handleTrackingChanged_(){if("geolocation"in navigator){const e=this.getTracking();e&&this.watchId_===void 0?this.watchId_=navigator.geolocation.watchPosition(this.positionChange_.bind(this),this.positionError_.bind(this),this.getTrackingOptions()):!e&&this.watchId_!==void 0&&(navigator.geolocation.clearWatch(this.watchId_),this.watchId_=void 0)}}positionChange_(e){const t=e.coords;this.set(b.ACCURACY,t.accuracy),this.set(b.ALTITUDE,t.altitude===null?void 0:t.altitude),this.set(b.ALTITUDE_ACCURACY,t.altitudeAccuracy===null?void 0:t.altitudeAccuracy),this.set(b.HEADING,t.heading===null?void 0:Ro(t.heading)),this.position_?(this.position_[0]=t.longitude,this.position_[1]=t.latitude):this.position_=[t.longitude,t.latitude];const i=this.transform_(this.position_);this.set(b.POSITION,i.slice()),this.set(b.SPEED,t.speed===null?void 0:t.speed);const n=To(this.position_,t.accuracy);n.applyTransform(this.transform_),this.set(b.ACCURACY_GEOMETRY,n),this.changed()}positionError_(e){this.dispatchEvent(new nr(e))}getAccuracy(){return this.get(b.ACCURACY)}getAccuracyGeometry(){return this.get(b.ACCURACY_GEOMETRY)||null}getAltitude(){return this.get(b.ALTITUDE)}getAltitudeAccuracy(){return this.get(b.ALTITUDE_ACCURACY)}getHeading(){return this.get(b.HEADING)}getPosition(){return this.get(b.POSITION)}getProjection(){return this.get(b.PROJECTION)}getSpeed(){return this.get(b.SPEED)}getTracking(){return this.get(b.TRACKING)}getTrackingOptions(){return this.get(b.TRACKING_OPTIONS)}setProjection(e){this.set(b.PROJECTION,oe(e))}setTracking(e){this.set(b.TRACKING,e)}setTrackingOptions(e){this.set(b.TRACKING_OPTIONS,e)}};const sr=1.2;function lr(o,e=sr){cr(o);const t=Oo(o),i=Vo(o),n=t*e,a=i*e;return[o[0]-(n-t)/2,o[1]-(a-i)/2,o[2]+(n-t)/2,o[3]+(a-i)/2]}function cr(o){if(o.length!==4)throw new Error(`Invalid extent (expected length 4, but got length ${o.length}).`)}const st=.75,Fe=.1;let dr=class extends Go{constructor(e){e=e||{},super({element:document.createElement("div"),render:e.render,target:e.target}),this.boundHandleRotationChanged_=this.handleRotationChanged_.bind(this),this.collapsed_=e.collapsed!==void 0?e.collapsed:!0,this.collapsible_=e.collapsible!==void 0?e.collapsible:!0,this.collapsible_||(this.collapsed_=!1),this.rotateWithView_=e.rotateWithView!==void 0?e.rotateWithView:!1,this.viewExtent_=void 0;const t=e.className!==void 0?e.className:"ol-overviewmap",i=e.tipLabel!==void 0?e.tipLabel:"Overview map",n=e.collapseLabel!==void 0?e.collapseLabel:"‹";typeof n=="string"?(this.collapseLabel_=document.createElement("span"),this.collapseLabel_.textContent=n):this.collapseLabel_=n;const a=e.label!==void 0?e.label:"›";typeof a=="string"?(this.label_=document.createElement("span"),this.label_.textContent=a):this.label_=a;const s=this.collapsible_&&!this.collapsed_?this.collapseLabel_:this.label_,c=document.createElement("button");c.setAttribute("type","button"),c.title=i,c.appendChild(s),c.addEventListener(Fo.CLICK,this.handleClick_.bind(this),!1),this.ovmapDiv_=document.createElement("div"),this.ovmapDiv_.className="ol-overviewmap-map",this.view_=e.view;const d=new zo({view:e.view,controls:new kt,interactions:new kt});this.ovmap_=d,e.layers&&e.layers.forEach(function(k){d.addLayer(k)});const p=document.createElement("div");p.className="ol-overviewmap-box",p.style.boxSizing="border-box",this.boxOverlay_=new Xt({position:[0,0],positioning:"center-center",element:p}),this.ovmap_.addOverlay(this.boxOverlay_);const f=t+" "+Bo+" "+Ho+(this.collapsed_&&this.collapsible_?" "+It:"")+(this.collapsible_?"":" ol-uncollapsible"),u=this.element;u.className=f,u.appendChild(this.ovmapDiv_),u.appendChild(c);const m=this,S=this.boxOverlay_,_=this.boxOverlay_.getElement(),Me=function(k){return{clientX:k.clientX,clientY:k.clientY}},O=function(k){const M=Me(k),Ee=d.getEventCoordinate(M);S.setPosition(Ee)},ie=function(k){const M=d.getEventCoordinateInternal(k);m.getMap().getView().setCenterInternal(M),window.removeEventListener("pointermove",O),window.removeEventListener("pointerup",ie)};this.ovmapDiv_.addEventListener("pointerdown",function(){event.target===_&&window.addEventListener("pointermove",O),window.addEventListener("pointerup",ie)})}setMap(e){const t=this.getMap();if(e!==t){if(t){const i=t.getView();i&&this.unbindView_(i),this.ovmap_.setTarget(null)}if(super.setMap(e),e){this.ovmap_.setTarget(this.ovmapDiv_),this.listenerKeys.push(Uo(e,Wo.PROPERTYCHANGE,this.handleMapPropertyChange_,this));const i=e.getView();i&&this.bindView_(i),this.ovmap_.isRendered()||this.updateBoxAfterOvmapIsRendered_()}}}handleMapPropertyChange_(e){if(e.key===at.VIEW){const t=e.oldValue;t&&this.unbindView_(t);const i=this.getMap().getView();this.bindView_(i)}else!this.ovmap_.isRendered()&&(e.key===at.TARGET||e.key===at.SIZE)&&this.ovmap_.updateSize()}bindView_(e){if(!this.view_){const t=new qo({projection:e.getProjection()});this.ovmap_.setView(t)}e.addChangeListener(Mt.ROTATION,this.boundHandleRotationChanged_),this.handleRotationChanged_(),e.isDef()&&(this.ovmap_.updateSize(),this.resetExtent_())}unbindView_(e){e.removeChangeListener(Mt.ROTATION,this.boundHandleRotationChanged_)}handleRotationChanged_(){this.rotateWithView_&&this.ovmap_.getView().setRotation(this.getMap().getView().getRotation())}validateExtent_(){const e=this.getMap(),t=this.ovmap_;if(!e.isRendered()||!t.isRendered())return;const i=e.getSize(),a=e.getView().calculateExtentInternal(i);if(this.viewExtent_&&$o(a,this.viewExtent_))return;this.viewExtent_=a;const s=t.getSize(),d=t.getView().calculateExtentInternal(s),p=t.getPixelFromCoordinateInternal(Ko(a)),f=t.getPixelFromCoordinateInternal(Yo(a)),u=Math.abs(p[0]-f[0]),m=Math.abs(p[1]-f[1]),S=s[0],_=s[1];uS*st||m>_*st?this.resetExtent_():Zo(d,a)||this.recenter_()}resetExtent_(){const e=this.getMap(),t=this.ovmap_,i=e.getSize(),a=e.getView().calculateExtentInternal(i),s=t.getView(),c=Math.log(st/Fe)/Math.LN2,d=1/(Math.pow(2,c/2)*Fe);Xo(a,d),s.fitInternal(Jo(a))}recenter_(){const e=this.getMap(),t=this.ovmap_,i=e.getView();t.getView().setCenterInternal(i.getCenterInternal())}updateBox_(){const e=this.getMap(),t=this.ovmap_;if(!e.isRendered()||!t.isRendered())return;const i=e.getSize(),n=e.getView(),a=t.getView(),s=this.rotateWithView_?0:-n.getRotation(),c=this.boxOverlay_,d=this.boxOverlay_.getElement(),p=n.getCenter(),f=n.getResolution(),u=a.getResolution(),m=i[0]*f/u,S=i[1]*f/u;if(c.setPosition(p),d){d.style.width=m+"px",d.style.height=S+"px";const _="rotate("+s+"rad)";d.style.transform=_}}updateBoxAfterOvmapIsRendered_(){this.ovmapPostrenderKey_||(this.ovmapPostrenderKey_=Qo(this.ovmap_,ei.POSTRENDER,e=>{delete this.ovmapPostrenderKey_,this.updateBox_()}))}handleClick_(e){e.preventDefault(),this.handleToggle_()}handleToggle_(){this.element.classList.toggle(It),this.collapsed_?Et(this.collapseLabel_,this.label_):Et(this.label_,this.collapseLabel_),this.collapsed_=!this.collapsed_;const e=this.ovmap_;if(!this.collapsed_){if(e.isRendered()){this.viewExtent_=void 0,e.render();return}e.updateSize(),this.resetExtent_(),this.updateBoxAfterOvmapIsRendered_()}}getCollapsible(){return this.collapsible_}setCollapsible(e){this.collapsible_!==e&&(this.collapsible_=e,this.element.classList.toggle("ol-uncollapsible"),!e&&this.collapsed_&&this.handleToggle_())}setCollapsed(e){!this.collapsible_||this.collapsed_===e||this.handleToggle_()}getCollapsed(){return this.collapsed_}getRotateWithView(){return this.rotateWithView_}setRotateWithView(e){this.rotateWithView_!==e&&(this.rotateWithView_=e,this.getMap().getView().getRotation()!==0&&(this.rotateWithView_?this.handleRotationChanged_():this.ovmap_.getView().setRotation(0),this.viewExtent_=void 0,this.validateExtent_(),this.updateBox_()))}getOverviewMap(){return this.ovmap_}render(e){this.validateExtent_(),this.updateBox_()}};const pr=gt({d:"M16 1H4c-1.1 0-2 .9-2 2v14h2V3h12V1zm3 4H8c-1.1 0-2 .9-2 2v14c0 1.1.9 2 2 2h11c1.1 0 2-.9 2-2V7c0-1.1-.9-2-2-2zm0 16H8V7h11v14z",displayName:"CopyIcon"}),ur=gt({d:"M12 8l-6 6 1.41 1.41L12 10.83l4.59 4.58L18 14z",displayName:"ChevronUpIcon"}),hr=gt({displayName:"CloseIcon",d:"M.439,21.44a1.5,1.5,0,0,0,2.122,2.121L11.823,14.3a.25.25,0,0,1,.354,0l9.262,9.263a1.5,1.5,0,1,0,2.122-2.121L14.3,12.177a.25.25,0,0,1,0-.354l9.263-9.262A1.5,1.5,0,0,0,21.439.44L12.177,9.7a.25.25,0,0,1-.354,0L2.561.44A1.5,1.5,0,0,0,.439,2.561L9.7,11.823a.25.25,0,0,1,0,.354Z"}),mr={height:"25px",width:"25px",borderColor:"#4cb3ff",borderWidth:"3px",borderRadius:"50%",display:"inline-block "};function gr(o){return r.jsxs(T,{children:[r.jsx(et,{children:o.layer.title}),r.jsx(T,{style:mr})]})}const ke="main";class fr{mapId=ke;vectorSourceFactory;constructor(e){this.vectorSourceFactory=e.references.vectorSourceFactory}async getMapConfig(){return{initialView:{kind:"position",center:{x:823091,y:6724521},zoom:8},layers:[new ut({title:"OSM",id:"osm",isBaseLayer:!0,olLayer:new Ht({source:new Ut})}),new fi({isBaseLayer:!0,title:"Orthofotos NRW",url:"https://www.wmts.nrw.de/geobasis/wmts_nw_dop/1.0.0/WMTSCapabilities.xml",name:"nw_dop",matrixSet:"EPSG_3857_16",sourceOptions:{attributions:'Die Geobasisdaten des amtlichen Vermessungswesens werden als öffentliche Aufgabe gem. VermKatG NRW und gebührenfrei nach Open Data-Prinzipien über online-Verfahren bereitgestellt. Nutzungsbedingungen: siehe '}}),wr(),br(),vr(this.vectorSourceFactory)]}}}function vr(o){const e="https://ogc-api-test.nrw.de/inspire-us-krankenhaus/v1",t="governmentalservice",i=o.createVectorSource({baseUrl:e,collectionId:t,limit:1e3,crs:"http://www.opengis.net/def/crs/EPSG/0/3857",attributions:`Land NRW (${new Date().getFullYear()}), Datenlizenz Deutschland - Namensnennung - Version 2.0, Datenquelle`}),n=new ht({source:i});return new ut({id:"krankenhaus",title:"Krankenhäuser-Demo-Dienst",visible:!1,olLayer:n,attributes:{collectionURL:e+"/collections/"+t}})}function br(){const o=new Wt({url:"https://ogc-api.nrw.de/inspire-us-kindergarten/v1/collections/governmentalservice/items?f=json&limit=10000",format:new eo,attributions:'© Bundesamt für Kartographie und Geodäsie 2017, Datenquellen'}),e=new ht({source:o}),t={Component:gr};return new ut({id:"ogc_kitas",title:"Kindertagesstätten",visible:!0,olLayer:e,attributes:{legend:t}})}function wr(){return new mi({title:"Verwaltungsgebiete",id:"verwaltungsgebiete",visible:!1,url:"https://www.wms.nrw.de/geobasis/wms_nw_dvg",sublayers:[{name:"nw_dvg_krs",title:"Kreise und kreisfreie Städte"}]})}const yr="200px",xr="300px",Sr=o=>{const{olLayer:e,height:t=yr,width:i=xr}=o,{containerProps:n}=xe("overview-map",o),a=v.useRef(null),{map:s}=Se(o);return v.useEffect(()=>{if(a.current&&s&&e){const c=s.olMap,d=new dr({className:"ol-overviewmap",layers:[e],collapsible:!1,collapsed:!1,target:a.current});return c.addControl(d),()=>{c.removeControl(d)}}},[s,e]),r.jsx(T,{height:t,width:i,ref:a,...n})};function kr({intl:o}){return{id:"overviewMap",title:o.formatMessage({id:"demos.overviewMap.title"}),createModel(){const e=new Ht({source:new Ut});return{description:o.formatMessage({id:"demos.overviewMap.description"}),mainWidget:r.jsx(Sr,{olLayer:e}),destroy(){e.dispose()}}}}}class Ir{label;filteredTypes;httpService;constructor(e,t,i){this.label=e,this.filteredTypes=t,this.httpService=i}async search(e,{mapProjection:t,signal:i}){const n=await this.request(e,100,i),a=new eo({dataProjection:"EPSG:4326",featureProjection:t});return n.features.filter(s=>this.filteredTypes.includes(s.properties.type)).map((s,c)=>{const d=a.readGeometry(s.geometry);return{id:s.properties.osm_id||c,label:this.createLabel(s),geometry:d,properties:s.properties}})}async request(e,t,i){const n=new URL("https://photon.komoot.io/api?");n.searchParams.set("q",e),n.searchParams.set("lang","de"),n.searchParams.set("lat","51.961563"),n.searchParams.set("lon","7.628202"),n.searchParams.set("limit",t.toString());const a=await this.httpService.fetch(n,{signal:i});if(!a.ok)throw new Error("Request failed: "+a.status);return await a.json()}createLabel(e){return`${e.properties.name} (${e.properties.osm_value?e.properties.osm_value+", ":""}${e.properties.postcode?e.properties.postcode+", ":""}${e.properties.city?e.properties.city+", ":""}${e.properties.country?e.properties.country+")":")"}`}}function Mr({intl:o,httpService:e,mapModel:t}){return{id:"searchAndHighlight",title:o.formatMessage({id:"demos.searchAndHighlight.title"}),createModel(){return new Er(o,t,e)}}}var Ce,je,ne,Ue,ae,Ft;let Er=(Ft=class{constructor(e,t,i){h(this,Ce);h(this,je);h(this,ne);w(this,"description");w(this,"mainWidget");h(this,Ue,e=>{const t=e.result.geometry;t&&(l(this,ae).call(this),g(this,ne,_r(l(this,je),[t])))});h(this,ae,()=>{l(this,ne)?.destroy(),g(this,ne,void 0)});g(this,Ce,new Ir("Photon Geocoder",["city","street"],i)),g(this,je,t),this.description=e.formatMessage({id:"demos.searchAndHighlight.description"}),this.mainWidget=r.jsx(vi,{sources:[l(this,Ce)],onSelect:l(this,Ue),onClear:l(this,ae)})}destroy(){l(this,ae).call(this)}},Ce=new WeakMap,je=new WeakMap,ne=new WeakMap,Ue=new WeakMap,ae=new WeakMap,Ft);function _r(o,e){const t=o.olMap.getViewport();return o.highlightAndZoom(e,{viewPadding:t&&t.offsetWidth<1e3?{top:150,right:75,bottom:50,left:75}:{top:150,right:400,bottom:50,left:400}})}const no="@open-pioneer/geolocation",Cr=Je.bind(void 0,no),ao=Ve.bind(void 0,no);function jr(o){return Ni({tag:"svg",attr:{viewBox:"0 0 24 24"},child:[{tag:"path",attr:{fill:"none",d:"M0 0h24v24H0z"},child:[]},{tag:"path",attr:{d:"M12 8c-2.21 0-4 1.79-4 4s1.79 4 4 4 4-1.79 4-4-1.79-4-4-4zm8.94 3A8.994 8.994 0 0 0 13 3.06V1h-2v2.06A8.994 8.994 0 0 0 3.06 11H1v2h2.06A8.994 8.994 0 0 0 11 20.94V23h2v-2.06A8.994 8.994 0 0 0 20.94 13H23v-2h-2.06zM12 19c-3.87 0-7-3.13-7-7s3.13-7 7-7 7 3.13 7 7-3.13 7-7 7z"},child:[]}]})(o)}const Lt=ye("geolocation:GeolocationController"),Pt=17;var $,K;class Lr{constructor(e,t,i){w(this,"supported",!!navigator.geolocation);w(this,"map");w(this,"positionHighlightLayer");w(this,"geolocation");w(this,"onError");w(this,"maxZoom",Pt);w(this,"accuracyFeature");w(this,"positionFeature");w(this,"changeHandlers",[]);w(this,"setMapToPosition",!0);w(this,"trackingOptions",{});w(this,"isInitialZoom",!0);h(this,$,E(!1));h(this,K,E(!1));this.map=e,this.onError=t,this.isInitialZoom=!0,this.accuracyFeature=new _t,this.accuracyFeature.setStyle(Nt()),this.positionFeature=new _t,this.positionFeature.setStyle(At()),this.positionHighlightLayer=new ht({source:new Wt({features:[this.accuracyFeature,this.positionFeature]})}),this.positionHighlightLayer.setZIndex(ti);const n=i||Pr();this.geolocation=new ar({tracking:!1,trackingOptions:n,projection:e.olView?.getProjection()}),this.trackingOptions=n,this.geolocation.on("error",a=>this.handleGeolocationError(a))}destroy(){this.stopGeolocation(),this.geolocation?.setTracking(!1),this.geolocation.dispose(),this.accuracyFeature=void 0,this.positionFeature=void 0,this.positionHighlightLayer.dispose()}startGeolocation(){if(l(this,K).value)return;new Promise(t=>{l(this,K).value=!0,l(this,$).value=!0,this.geolocation?.setProjection(this.map.olView?.getProjection()),this.geolocation?.setTracking(!0);const i=this.geolocation.on("change:accuracyGeometry",()=>{const c=this.geolocation.getAccuracyGeometry()||void 0;if(this.accuracyFeature?.setGeometry(c),this.accuracyFeature?.getGeometry()!==void 0&&t(),this.isInitialZoom){const d=this?.accuracyFeature?.getGeometry()?.getExtent();if(d){const p=lr(d);if(!p)return;this.map.olView.fit(p,{maxZoom:this.maxZoom}),this.isInitialZoom=!1}}}),n=this.geolocation.on("change:position",()=>{const c=this.geolocation.getPosition();c&&(c[0]||c[1])!==void 0&&(this.positionFeature?.setGeometry(new oi(c)),this.setMapToPosition&&this.map.olView.setCenter(c),this.positionFeature?.getGeometry()!==void 0&&t())}),a=this.map.olView.on("change:resolution",()=>{this.setMapToPosition=this.isInitialZoom}),s=this.map.olMap.on("pointermove",c=>{c.dragging&&(this.setMapToPosition=!1)});this.changeHandlers.push(i,n,a,s),this.map.olMap.addLayer(this.positionHighlightLayer)}).then(()=>{l(this,$).value=!1}).catch(t=>{Lt.error("Failed to determine location",t)})}stopGeolocation(){this.geolocation?.setTracking(!1),l(this,K).value=!1,l(this,$).value=!1,this.trackingOptions={},this.setMapToPosition=!0,this.isInitialZoom=!0,this.changeHandlers.forEach(e=>{Be(e)}),this.changeHandlers=[],this.accuracyFeature?.setGeometry(void 0),this.positionFeature?.setGeometry(void 0),this.map.olMap.removeLayer(this.positionHighlightLayer)}get active(){return l(this,K).value}get loading(){return l(this,$).value}setPositionFeatureStyle(e){this.positionFeature?.setStyle(e??At())}setAccuracyFeatureStyle(e){this.accuracyFeature?.setStyle(e??Nt())}setMaxZoom(e){this.maxZoom=e??Pt}getMaxZoom(){return this.maxZoom}getPositionFeature(){return this.positionFeature}getAccuracyFeature(){return this.accuracyFeature}getTrackingOptions(){return this.trackingOptions}getGeolocation(){return this.geolocation}handleGeolocationError(e){Lt.error("Error from geolocation API:",e.message),this.stopGeolocation();const t=(()=>{switch(e.code){case 1:return"permission-denied";case 2:return"position-unavailable";case 3:return"timeout";default:return"unknown"}})();this.onError(t)}}$=new WeakMap,K=new WeakMap;const At=()=>new qt({image:new ii({radius:6,fill:new $t({color:"#3399CC"}),stroke:new Kt({color:"#fff",width:2})})}),Nt=()=>new qt({stroke:new Kt({color:"#3399CC",width:3}),fill:new $t({color:"rgba(0, 0, 255, 0.05)"})}),Pr=()=>({enableHighAccuracy:!0,timeout:6e4,maximumAge:6e5}),Ar=v.forwardRef(function(e,t){const{maxZoom:i,positionFeatureStyle:n,accuracyFeatureStyle:a,trackingOptions:s}=e,{map:c}=Se(e),d=Rr(c,i,s,n,a);return d&&r.jsx(Nr,{...e,controller:d,ref:t})}),Nr=v.forwardRef(function(e,t){const{controller:i}=e,{containerProps:n}=xe("geolocation",e),{isLoading:a,isActive:s}=D(()=>({isLoading:i.loading,isActive:i.active}),[i]),c=ao(),d=i.supported?s?c.formatMessage({id:"locateMeEnd"}):c.formatMessage({id:"locateMeStart"}):c.formatMessage({id:"locateNotSupported"}),p=()=>{i.active?i.stopGeolocation():i.startGeolocation()};return r.jsx(ji,{ref:t,label:d,icon:r.jsx(jr,{}),onClick:()=>p(),isActive:s,isLoading:a,isDisabled:!i.supported,...n})});function Rr(o,e,t,i,n){const a=ao(),s=Cr("notifier.NotificationService"),[c,d]=v.useState();return v.useEffect(()=>{if(!o)return;const p=u=>{const m=a.formatMessage({id:"error"}),S=(()=>{switch(u){case"permission-denied":return a.formatMessage({id:"permissionDenied"});case"position-unavailable":return a.formatMessage({id:"positionUnavailable"});case"timeout":return a.formatMessage({id:"timeout"});case"unknown":return a.formatMessage({id:"unknownError"})}})();s.notify({level:"error",title:m,message:S})},f=new Lr(o,p,t);return d(f),()=>{f.destroy(),d(void 0)}},[o,t,a,s]),v.useEffect(()=>{c?.setPositionFeatureStyle(i)},[c,i]),v.useEffect(()=>{c?.setAccuracyFeatureStyle(n)},[c,n]),v.useEffect(()=>{c?.setMaxZoom(e)},[c,e]),c}const Tr="@open-pioneer/scale-setter",Dr=Ve.bind(void 0,Tr),Or=[17471320,8735660,4367830,2183915,1091957,545978,272989,136494,68247,34123,17061,8530,4265,2132],Vr=o=>{const{scales:e=Or}=o,{containerProps:t}=xe("scale-setter",o),{map:i}=Se(o),n=Dr(),a=D(()=>i?.scale??1,[i]),s=e.map(d=>r.jsx(zi,{value:d,onClick:()=>i?.setScale(d),onFocus:p=>{p.target?.scrollIntoView?.({block:"nearest"})},className:"scale-setter-option",children:Rt(n,d)},d)),c=Rt(n,a);return r.jsx(T,{...t,children:r.jsxs(Ui,{isLazy:!0,children:[r.jsx(Bi,{as:ee,rightIcon:r.jsx(ur,{}),className:"scale-setter-menubutton","aria-label":n.formatMessage({id:"button.ariaLabel"},{scale:c}),"aria-description":n.formatMessage({id:"button.ariaDescription"}),children:c}),r.jsx(Bt,{children:r.jsx(Hi,{className:"scale-setter-menuoptions",maxHeight:"20em",overflowY:"auto",children:s})})]})})};function Rt(o,e){return"1 : "+o.formatNumber(e)}const so="@open-pioneer/spatial-bookmarks",Gr=Je.bind(void 0,so),Fr=Ve.bind(void 0,so),F=ye("spatial-bookmark:SpatialBookmarkViewModel");class zr{map;packageNamespace;writableBookmarks=ri([]);watchBookmarksHandle;get bookmarks(){return this.writableBookmarks.getItems()}constructor(e,t){this.map=e,this.packageNamespace=t.getNamespace("spatial-bookmarks"),this.loadState(),this.watchBookmarksHandle=mt(()=>[this.writableBookmarks.getItems()],([i])=>this.saveState(i),{immediate:!1})}destroy(){this.watchBookmarksHandle.destroy()}createBookmark(e){const t=this.map.olView.calculateExtent(),i=this.map.projection.getCode(),n={minX:t[0],minY:t[1],maxX:t[2],maxY:t[3]},a={id:ni(),title:e,extent:n,projection:i};F.debug("Created a new bookmark",a),this.writableBookmarks.push(a)}activateBookmark(e){F.debug("Activating bookmark",e);const t=this.getBookmarkExtent(e);F.debug("Attempting to apply extent",t),this.applyExtent(t)}deleteBookmark(e){F.debug("Deleting bookmark",e);const t=this.writableBookmarks.findIndex(i=>i.id===e);t>-1&&this.writableBookmarks.splice(t,1)}deleteAllBookmarks(){F.debug("Deleting all bookmarks"),this.writableBookmarks.splice(0)}loadState(){F.debug("Restoring bookmarks from local storage");const e=this.packageNamespace.get("bookmarks")??[];try{Br(e),this.writableBookmarks.push(...e)}catch(t){F.error("Bookmarks data in local storage is invalid, resetting to default value.",t),this.writableBookmarks.splice(0),this.saveState([])}}saveState(e){F.debug("Saving bookmarks to local storage"),this.packageNamespace.set("bookmarks",e)}getBookmarkExtent(e){const t=this.map.olView,i=e.extent,n=[i.minX,i.minY,i.maxX,i.maxY],a=t.getProjection(),s=e.projection;return ai(n,s,a)}applyExtent(e){const t=this.map.olView,i=si(e),n=t.getResolutionForExtent(e);t.setCenter(i),t.setResolution(n)}}function Br(o){if(!Array.isArray(o))throw new Error("Expected bookmarks from local storage to be an array.");for(const e of o)Hr(e)}function Hr(o){if(!o||typeof o!="object")throw new Error("Expected bookmark from local storage to be an object.");const e=o;if(typeof e.id!="string")throw new Error("Bookmark does not have a valid id.");if(typeof e.title!="string")throw new Error("Bookmark does not have a valid title.");if(Ur(e.extent),typeof e.projection!="string")throw new Error("Bookmark does not have a valid projection value.")}function Ur(o){if(!o||typeof o!="object")throw new Error("Expected bookmark extent from local storage to be an object.");const e=o;if(typeof e.minX!="number"||typeof e.minY!="number"||typeof e.maxX!="number"||typeof e.maxY!="number")throw new Error("Expected bookmark extent from local storage to have valid coordinates.")}const Wr=o=>{const{map:e}=Se(o),t=Gr("local-storage.LocalStorageService"),i=Jr(e,t);return i&&r.jsx(qr,{...o,viewModel:i})};function qr(o){const{viewModel:e}=o,t=Fr(),i=v.useRef([]),[n,a]=v.useState(!1),s=D(()=>e.bookmarks,[e]),[c,d]=v.useState(""),p=c.trim().length>0,{containerProps:f}=xe("spatial-bookmarks",o),[u,m]=v.useState("list"),S=()=>{e.deleteAllBookmarks(),m("list")},_=()=>{p&&(e.createBookmark(c),m("list"),d(""),a(!0))};v.useEffect(()=>{if(n){const M=i.current;M&&M[s.length-1]?.scrollIntoView?.(),a(!1)}},[s,n]);const Me=()=>r.jsxs(lt,{children:[r.jsxs(rt,{rounded:"md",status:"warning",children:[r.jsx(nt,{}),t.formatMessage({id:"bookmark.alert.delete"})]}),r.jsx(Zr,{intl:t,onClear:S,onCancel:()=>m("list")})]}),O=()=>r.jsxs(lt,{children:[r.jsxs(rt,{rounded:"md",status:"info",children:[r.jsx(nt,{}),t.formatMessage({id:"bookmark.alert.create"})]}),r.jsx(Jt,{"aria-label":t.formatMessage({id:"bookmark.input.label"}),placeholder:t.formatMessage({id:"bookmark.input.placeholder"}),value:c,onChange:M=>{d(M.target.value)},onKeyDown:M=>{M.key==="Enter"&&_()},isRequired:!0,isInvalid:!p,autoFocus:!0}),r.jsx(Xr,{intl:t,isInvalid:!p,onCancel:()=>{d(""),m("list")},onSave:_})]}),ie=()=>r.jsxs(r.Fragment,{children:[s.length?$r(s,e,t,i):r.jsxs(rt,{rounded:"md",status:"info",children:[r.jsx(nt,{}),t.formatMessage({id:"bookmark.alert.noSaved"})]}),r.jsx(Yr,{intl:t,bookmarks:s,showCreate:()=>m("create"),showDelete:()=>m("delete")})]}),k=r.jsxs(r.Fragment,{children:[u==="list"&&ie(),u==="create"&&O(),u==="delete"&&Me()]});return r.jsx(j,{flexDirection:"column",...f,children:k})}function $r(o,e,t,i){const n=t.formatMessage({id:"bookmark.button.deleteOne"}),a=o.map((s,c)=>r.jsx(Kr,{index:c,listItemNodes:i,bookmark:s,onActivate:()=>e.activateBookmark(s),onDelete:()=>e.deleteBookmark(s.id),deleteBtnLabel:n},s.id));return r.jsx(Pi,{as:"ul",className:"spatial-bookmark-list",role:"listbox","aria-label":t.formatMessage({id:"bookmark.list.label"}),flexShrink:1,flexGrow:1,p:1,spacing:1,overflowY:"auto",listStyleType:"none",children:a})}const Tt={ArrowDown:1,ArrowUp:-1};function Kr(o){const{index:e,listItemNodes:t,bookmark:i,onDelete:n,onActivate:a,deleteBtnLabel:s}=o,c=i.title,d=p=>{const f=p.key;if(f==="Enter"){p.target===p.currentTarget&&a();return}if(Tt[f]!=null){const u=t.current?.length;if(!u)return;let m=(e+Tt[f])%u;m<0&&(m=u-1),t.current[m]?.focus()}};return r.jsx(T,{as:"li",p:1,ref:p=>{if(!p){t.current.splice(e,1);return}t.current[e]=p},className:li("spatial-bookmarks-item"),tabIndex:0,rounded:"md",role:"option",cursor:"pointer",outline:0,_hover:{background:"trails.50"},_focusVisible:{boxShadow:"outline"},onKeyDown:d,onClick:a,children:r.jsxs(j,{width:"100%",flexDirection:"row",align:"center",gap:1,children:[r.jsx(to,{children:r.jsx(gi,{})}),r.jsx(et,{ps:2,noOfLines:1,children:c}),r.jsx(Wi,{}),r.jsx(pt,{hasArrow:!0,label:s,placement:"right",children:r.jsx(ee,{className:"spatial-bookmarks-item-delete","aria-label":s,borderRadius:"full",iconSpacing:0,padding:0,colorScheme:"red",variant:"ghost",leftIcon:r.jsx(Zt,{}),onClick:p=>{n(),p.stopPropagation()}})},e)]})})}function Yr(o){const{intl:e,bookmarks:t,showCreate:i,showDelete:n}=o;return r.jsxs(yt,{children:[r.jsx(ve,{isDisabled:t.length===0,colorScheme:"red",width:void 0,iconSpacing:0,leftIcon:r.jsx(Zt,{}),onClick:n,"aria-label":e.formatMessage({id:"bookmark.button.deleteAll"}),variant:"outline"}),r.jsx(ve,{onClick:i,width:"100%",children:e.formatMessage({id:"bookmark.button.create"})})]})}function Zr(o){const{intl:e,onCancel:t,onClear:i}=o;return r.jsxs(yt,{children:[r.jsx(ve,{variant:"outline",onClick:t,children:e.formatMessage({id:"bookmark.button.cancelDelete"})}),r.jsx(ve,{onClick:i,children:e.formatMessage({id:"bookmark.button.confirmDelete"})})]})}function Xr(o){const{intl:e,onCancel:t,onSave:i,isInvalid:n}=o;return r.jsxs(yt,{children:[r.jsx(ve,{variant:"outline",onClick:()=>t(),children:e.formatMessage({id:"bookmark.button.cancel"})}),r.jsx(ve,{isDisabled:n,onClick:()=>i(),children:e.formatMessage({id:"bookmark.button.save"})})]})}function yt(o){return r.jsx(j,{width:"100%",flexDirection:"row",mt:2,gap:1,flexGrow:0,flexShrink:0,children:o.children})}function ve(o){return r.jsx(ee,{width:"100%",...o})}function Jr(o,e){const[t,i]=v.useState();return v.useEffect(()=>{let n;return o?n=new zr(o,e):n=void 0,i(n),()=>n?.destroy()},[o,e]),t}const lo="@open-pioneer/coordinate-search",Qr=Je.bind(void 0,lo),Ge=Ve.bind(void 0,lo);function en(o){const{isInputValid:e,coordinateSearchInput:t,setCoordinateSearchInput:i,placeholder:n,placeholderString:a,onClear:s,onEnter:c}=o,d=Ge(),p=r.jsx(Jt,{type:"text",value:t,onChange:u=>{i(u.target.value)},isInvalid:!e,backgroundColor:e?"undefined":"red.100",placeholder:a,errorBorderColor:"red.500","aria-label":d.formatMessage({id:"coordinateInput.ariaLabel"}),borderRightRadius:0,onKeyDown:u=>{u.key=="Enter"&&c()}});let f=null;return t!==""?f=r.jsx(Dt,{className:"coordinate-input-clear-button",label:d.formatMessage({id:"coordinateInput.clearPlaceholder"}),onClick:()=>{i(""),s?.()},icon:r.jsx(hr,{})}):typeof n=="object"&&(f=r.jsx(Dt,{className:"coordinate-input-copy-button",label:d.formatMessage({id:"coordinateInput.copyPlaceholder"}),onClick:()=>{navigator.clipboard.writeText(a)},icon:r.jsx(pr,{})})),r.jsxs(ft,{className:"coordinate-input-field-group",children:[p,f]})}function Dt(o){const{className:e,label:t,onClick:i,icon:n}=o;return r.jsx(wt,{children:r.jsx(pt,{label:t,children:r.jsx(qi,{className:e,size:"sm",onClick:i,padding:0,icon:n,"aria-label":t})})})}const tn=ye("coordinate-search");function on(o,e,t){if(o=="")return z("empty");if(!o.includes(" "))return z("tooltip.space");if(o.indexOf(" ")!=o.lastIndexOf(" "))return z("tooltip.spaceOne");const i=o.split(" ");if(i.length!=2||i[0]==""||i[1]=="")return z("tooltip.2coords");const n=e.parseNumber(i[0]),a=e.parseNumber(i[1]),s=[n,a];if(s.some(c=>Number.isNaN(c)))return z("tooltip.invalidNumbers");try{if(!Ot(t,s)||!Ot(oe("EPSG:4326"),Qe(s,t,"EPSG:4326")))return z("tooltip.extent")}catch(c){return tn.warn("Failed to check if coordinates are in projection extent",c),z("tooltip.projection")}return{kind:"success",projection:t,coordinates:s}}function z(o){return{kind:o}}function Ot(o,e){const t=o.getExtent();if(!t||t.length!==4)return!0;if(!e||e.length!==2)throw new Error(`Internal error: invalid coordinates ${e}.`);return t[0]<=e[0]&&t[1]<=e[1]&&t[2]>=e[0]&&t[3]>=e[1]}function co(o,e,t){if(o[0]==null||o[1]==null)return"";const[i,n]=o,a=t.formatNumber(i,{maximumFractionDigits:e,minimumFractionDigits:e}),s=t.formatNumber(n,{maximumFractionDigits:e,minimumFractionDigits:e});return a+" "+s}const rn=v.memo(function(e){const{currentProjection:t,projections:i,portalElement:n,onProjectionChange:a}=e,s=Ge(),c=nn(s),[d,p]=v.useState(!1),f=dt(u=>{!d&&u.key==="Enter"&&p(!0)});return r.jsx(Ai,{value:t,defaultValue:t,options:i,menuPlacement:"auto",menuPortalTarget:n.current,"aria-label":s.formatMessage({id:"coordinateInput.ariaLabel"}),classNamePrefix:"coordinate-input-select",isSearchable:!1,chakraStyles:{menu:u=>({...u,width:"max-content",minWidth:"100%"}),control:(u,{selectProps:{menuIsOpen:m}})=>({...u,width:"max-content",minWidth:"100%",color:"white",borderLeftStyle:"none",borderLeftRadius:0,padding:0,backgroundColor:`${m?"rgb(27, 75, 95)":"var(--chakra-colors-background_primary)"}`,_focus:{boxShadow:"var(--chakra-shadows-outline)"}}),valueContainer:u=>({...u,paddingEnd:0,cursor:"pointer"}),dropdownIndicator:(u,{selectProps:{menuIsOpen:m}})=>({...u,paddingStart:0,backgroundColor:`${m?"rgb(27, 75, 95)":"var(--chakra-colors-background_primary)"}`}),option:u=>({...u,_focus:{background:"var(--chakra-colors-trails-300)"}}),indicatorSeparator:(u,{selectProps:{menuIsOpen:m}})=>({...u,backgroundColor:`${m?"rgb(27, 75, 95)":"var(--chakra-colors-background_primary)"}`,borderColor:`${m?"rgb(27, 75, 95)":"var(--chakra-colors-background_primary)"}`})},ariaLiveMessages:c,onChange:u=>{u?.value!==void 0&&a(u)},onKeyDown:f,menuIsOpen:d,onMenuOpen:()=>p(!0),onMenuClose:()=>p(!1)})});function nn(o){return v.useMemo(()=>({onFocus:()=>"",onChange:a=>a.action=="select-option"||a.action=="initial-input-focus"?a.label+" "+o.formatMessage({id:"selected"}):"",guidance:()=>"",onFilter:()=>""}),[o])}function an(o,e,t){const i=Ge();return v.useMemo(()=>{let n;if(typeof o=="string")n=o;else if(!e)n="";else{const a=Qe(o,e,t.value);n=co(a,t.precision,i)}return n},[o,e,t,i])}const sn=3,ln=[{label:"WGS 84",value:oe("EPSG:4326"),precision:3},{label:"Web Mercator",value:oe("EPSG:3857"),precision:2}],po=o=>{const{onSelect:e,onClear:t,projections:i=ln,input:n,placeholder:a=""}=o,{containerProps:s}=xe("coordinate-input",o),{map:c}=Se(o),d=Ge(),p=D(()=>c?.projection,[c]),f=pn(i),[u,m]=v.useState(f[0]),S=dt(ot=>{if(!e||ot.kind!=="success"||p==null)return;const xo=Qe(ot.coordinates,ot.projection,p);e({coords:xo,projection:p})}),[_,Me,O]=cn(n,p,u,S),ie=an(a,p,u),k=O.kind==="success"||O.kind==="empty",M=dt(()=>{S(O)}),Ee=v.useRef(null);return r.jsxs(T,{...s,children:[r.jsx(Bt,{children:r.jsx("div",{ref:Ee})}),r.jsx(j,{flexDirection:"row",flexDir:"row",children:r.jsx(pt,{label:k?void 0:d.formatMessage({id:O.kind}),hasArrow:!0,placement:"auto",isOpen:!k,className:"coordinate-input-tooltip",children:r.jsxs(ft,{className:"coordinate-input-group",children:[r.jsx(en,{coordinateSearchInput:_,setCoordinateSearchInput:Me,placeholder:a,placeholderString:ie,onClear:t,isInputValid:k,onEnter:M}),r.jsx(bt,{padding:"0px",borderLeft:"0px",children:r.jsx(rn,{portalElement:Ee,currentProjection:u,projections:f,onProjectionChange:m})})]})})})]})};function cn(o,e,t,i){const n=Ge(),a=Qr("runtime.NumberParserService"),[s]=v.useState(()=>new dn(n,t,a));v.useEffect(()=>{const f=o!==s.inputProp||t!==s.selectedProjection;if(s.setI18n(n,a),s.setInputProp(o),s.setSelectedProjection(t),s.setMapProjection(e),f){const u=s.validationResult;i(u)}},[s,n,a,o,t,e,i]);const{rawInput:c,validationResult:d}=D(()=>({rawInput:s.rawInput,validationResult:s.validationResult}),[s]),p=v.useCallback(f=>{s.setText(f)},[s]);return[c,p,d]}var se,V,le,Y,ce,Z,We,de,ze;class dn{constructor(e,t,i){h(this,de);h(this,se);h(this,V);h(this,le,E());h(this,Y,E());h(this,ce);h(this,Z,E(""));h(this,We,Yt(()=>on(l(this,Z).value,l(this,ce).value,l(this,V).value.value)));g(this,se,E(e)),g(this,V,E(t)),g(this,ce,E(i))}get inputProp(){return l(this,Y).value}get rawInput(){return l(this,Z).value}get validationResult(){return l(this,We).value}get selectedProjection(){return l(this,V).value}setI18n(e,t){l(this,se).value=e,l(this,ce).value=t}setText(e){l(this,Z).value=e}setSelectedProjection(e){e!==l(this,V).value&&(l(this,V).value=e,y(this,de,ze).call(this))}setInputProp(e){e!==l(this,Y).value&&(l(this,Y).value=e,y(this,de,ze).call(this))}setMapProjection(e){e!==l(this,le).value&&(l(this,le).value=e,y(this,de,ze).call(this))}}se=new WeakMap,V=new WeakMap,le=new WeakMap,Y=new WeakMap,ce=new WeakMap,Z=new WeakMap,We=new WeakMap,de=new WeakSet,ze=function(){const e=l(this,Y).value,t=l(this,le).value,i=l(this,V).value,n=l(this,se).value;if(t&&e){const a=Qe(e,t,i.value),s=co(a,i.precision,n);l(this,Z).value=s}};function pn(o){return v.useMemo(()=>o.flatMap(t=>oe(t.value)!=null?{label:t.label,value:oe(t.value),precision:t.precision??sn}:[]),[o])}const un=o=>{const{onSelect:e,onClear:t,projections:i}=o,{containerProps:n}=xe("coordinate-search",o),{map:a}=Se(o),s=a?.olMap,{coordinates:c}=hn(s);return r.jsx(po,{...n,mapId:o.mapId,onSelect:d=>{a&&(s?.getView().setCenter(d.coords),e?.(d))},onClear:t,placeholder:c||"",projections:i})};function hn(o){const[e,t]=v.useState();return v.useEffect(()=>{if(!o)return;const i=o.on("pointermove",n=>{t(n.coordinate)});return()=>Be(i)},[o]),{coordinates:e}}function mn({intl:o}){return{id:"coordinateViewer",title:o.formatMessage({id:"demos.coordinateViewer.title"}),createModel(){return{description:o.formatMessage({id:"demos.coordinateViewer.description"}),mainWidget:r.jsx(bi,{})}}}}function gn({intl:o,notificationService:e}){return{id:"coordinateInput",title:o.formatMessage({id:"demos.coordinateInput.title"}),createModel(){return{description:o.formatMessage({id:"demos.coordinateInput.description"}),mainWidget:r.jsx(fn,{notificationService:e,intl:o})}}}}function fn(o){const{notificationService:e,intl:t}=o,[i,n]=v.useState();function a(c,d){e.notify({level:"info",message:t.formatMessage({id:"demos.coordinateInput.entered"},{coordinates:c.toString(),projection:d.getCode()}),displayDuration:4e3})}function s(){e.notify({level:"info",message:t.formatMessage({id:"demos.coordinateSearch.cleared"}),displayDuration:4e3}),n(void 0)}return r.jsxs(j,{direction:"column",gap:10,children:[r.jsx(po,{mapId:ke,input:i,placeholder:t.formatMessage({id:"demos.coordinateInput.placeholder"}),onSelect:({coords:c,projection:d})=>a(c,d),onClear:s,projections:[{label:"EPSG:25832",value:"EPSG:25832"},{label:"WGS 84",value:"EPSG:4326"},{label:"Web Mercator",value:"EPSG:3857"},{label:"EPSG:25833",value:"EPSG:25833"},{label:"EPSG:31466",value:"EPSG:31466"},{label:"EPSG:31467",value:"EPSG:31467"},{label:"EPSG:3035",value:"EPSG:3035"}]}),r.jsx(ee,{onClick:()=>{n([761166,6692084])},children:t.formatMessage({id:"demos.coordinateInput.setInput"})})]})}function vn({intl:o,notificationService:e}){return{id:"coordinateSearch",title:o.formatMessage({id:"demos.coordinateSearch.title"}),createModel(){return{description:o.formatMessage({id:"demos.coordinateSearch.description"}),mainWidget:r.jsx(bn,{notificationService:e,intl:o})}}}}function bn(o){const{notificationService:e,intl:t}=o;function i(a,s){e.notify({level:"info",message:t.formatMessage({id:"demos.coordinateSearch.entered"},{coordinates:a.toString(),projection:s.getCode()}),displayDuration:4e3})}function n(){e.notify({level:"info",message:t.formatMessage({id:"demos.coordinateSearch.cleared"}),displayDuration:4e3})}return r.jsx(j,{direction:"column",gap:10,children:r.jsx(un,{mapId:ke,onSelect:({coords:a,projection:s})=>i(a,s),onClear:n,projections:[{label:"EPSG:25832",value:"EPSG:25832"},{label:"WGS 84",value:"EPSG:4326"},{label:"Web Mercator",value:"EPSG:3857"},{label:"EPSG:25833",value:"EPSG:25833"},{label:"EPSG:31466",value:"EPSG:31466"},{label:"EPSG:31467",value:"EPSG:31467"},{label:"EPSG:3035",value:"EPSG:3035"}]})})}function wn({intl:o}){return{id:"scaleViewer",title:o.formatMessage({id:"demos.scaleViewer.title"}),createModel(){return{description:o.formatMessage({id:"demos.scaleViewer.description"}),mainWidget:r.jsx(wi,{})}}}}function yn({intl:o}){return{id:"scaleSetter",title:o.formatMessage({id:"demos.scaleSetter.title"}),createModel(){return{description:o.formatMessage({id:"demos.scaleSetter.description"}),mainWidget:r.jsx(Vr,{})}}}}function xn({intl:o}){return{id:"scaleBar",title:o.formatMessage({id:"demos.scaleBar.title"}),createModel(){return{description:o.formatMessage({id:"demos.scaleBar.description"}),tools:r.jsx(yi,{})}}}}function Sn({intl:o}){return{id:"measurement",title:o.formatMessage({id:"demos.measurement.title"}),createModel(){return{description:o.formatMessage({id:"demos.measurement.description"}),mainWidget:r.jsx(xi,{})}}}}function kn({intl:o}){return{id:"mapNavigation",title:o.formatMessage({id:"demos.mapNavigation.title"}),createModel(){return{description:o.formatMessage({id:"demos.mapNavigation.description"}),tools:r.jsxs(r.Fragment,{children:[r.jsx(Ri,{}),r.jsx(Ti,{}),r.jsx(Di,{}),r.jsx(Oi,{}),r.jsx(Vi,{})]})}}}}function In({intl:o}){return{id:"geolocation",title:o.formatMessage({id:"demos.geolocation.title"}),createModel(){return{description:o.formatMessage({id:"demos.geolocation.description"}),tools:r.jsx(Ar,{})}}}}function Mn({intl:o}){return{id:"spatialBookmarks",title:o.formatMessage({id:"demos.spatialBookmarks.title"}),createModel(){return{description:o.formatMessage({id:"demos.spatialBookmarks.description"}),mainWidget:r.jsx(Wr,{})}}}}function En({intl:o}){return{id:"printing",title:o.formatMessage({id:"demos.printing.title"}),createModel(){return{description:o.formatMessage({id:"demos.printing.description"}),mainWidget:r.jsx(Si,{})}}}}const uo="showcase-app",ho=Je.bind(void 0,uo),Ie=Ve.bind(void 0,uo);function _n({intl:o,mapModel:e}){return{id:"tocLegend",title:o.formatMessage({id:"demos.tocLegend.title"}),createModel(){function t(n=!0){e.layers.getLayerById("verwaltungsgebiete").setVisible(n),e.layers.getLayerById("krankenhaus").setVisible(n),e.layers.getLayerById("ogc_kitas").setVisible(n)}function i(){t(!1),e?.layers.activateBaseLayer("osm")}return{description:o.formatMessage({id:"demos.tocLegend.description"}),mainWidget:r.jsx(Cn,{}),destroy:i}}}}function Cn(){const o=v.useId(),e=v.useId(),t=Ie();return r.jsxs(r.Fragment,{children:[r.jsx(T,{role:"dialog","aria-labelledby":o,children:r.jsx(He,{title:r.jsx(ct,{id:o,size:"md",mb:2,children:r.jsx(et,{children:t.formatMessage({id:"demos.tocLegend.tocTitle"})})}),children:r.jsx(Li,{showTools:!0,basemapSwitcherProps:{allowSelectingEmptyBasemap:!0}})})}),r.jsx(T,{pt:2,role:"dialog","aria-labelledby":e,children:r.jsx(He,{title:r.jsx(ct,{id:e,size:"md",mb:2,children:t.formatMessage({id:"demos.tocLegend.legendTitle"})}),children:r.jsx(ki,{showBaseLayers:!0})})})]})}function jn(o){return{id:"selectionResultList",title:o.intl.formatMessage({id:"demos.selectionResultList.title"}),createModel(){return new Ln(o)}}}var Le,pe,ue,qe,$e,zt;let Ln=(zt=class{constructor(e){h(this,Le);h(this,pe);h(this,ue,E({key:0,input:void 0,open:!1}));w(this,"description");w(this,"mainWidget");h(this,qe,e=>{const{results:t}=e,a={columns:[{id:"id",displayName:"ID",width:100,getPropertyValue(c){return c.id}},{propertyName:"pointOfContact.address.postCode",displayName:"PLZ",width:120},{propertyName:"name",displayName:"Name"},{propertyName:"inspireId",displayName:"inspireID"},{displayName:"Gefördert",width:160,getPropertyValue(c){switch(c.properties?.gefoerdert){case"ja":return!0;case"nein":return!1;default:return c.properties?.gefoerdert}}}],data:t,formatOptions:{numberOptions:{maximumFractionDigits:3},dateOptions:{dateStyle:"medium",timeStyle:"medium",timeZone:"UTC"}}},s=l(this,ue).value.key;l(this,ue).value={open:!0,key:s+1,input:a}});h(this,$e,e=>{console.log("Selected features: ",e.features)});const{mapModel:t,vectorSelectionSourceFactory:i,intl:n}=e;g(this,Le,t),g(this,pe,Pn(t,i)),this.description=n.formatMessage({id:"demos.selectionResultList.description"}),this.mainWidget=r.jsx(Ii,{sources:[l(this,pe)],onSelectionComplete:l(this,qe)}),t.layers.getLayerById("ogc_kitas").setVisible(!0)}destroy(){l(this,pe).destroy(),l(this,Le).layers.getLayerById("ogc_kitas").setVisible(!1)}get listContainer(){const e=l(this,ue).value;if(!(!e.open||!e.input))return r.jsx($i,{input:e.input,onSelectionChange:l(this,$e)},e.key)}},Le=new WeakMap,pe=new WeakMap,ue=new WeakMap,qe=new WeakMap,$e=new WeakMap,zt);function Pn(o,e){const t=o.layers.getLayerById("ogc_kitas");return e.createSelectionSource({vectorLayer:t.olLayer,label:t.title})}const An="krankenhaus";function Nn(o){return{id:"editing",title:o.intl.formatMessage({id:"demos.editing.title"}),createModel(){return new Rn(o)}}}var Pe,he;class Rn{constructor(e){w(this,"description");w(this,"mainWidget");h(this,Pe);h(this,he);const{mapModel:t,intl:i,editingService:n,notificationService:a}=e;g(this,Pe,t),this.description=i.formatMessage({id:"demos.editing.description"}),g(this,he,new Tn(t,n,a,i)),this.mainWidget=r.jsx(Dn,{editingController:l(this,he)}),this._setEditLayerVisible(!0)}destroy(){this._setEditLayerVisible(!1),l(this,he).stopEditing()}_setEditLayerVisible(e=!0){l(this,Pe).layers.getLayerById(An).setVisible(e)}}Pe=new WeakMap,he=new WeakMap;var I,C,X,J,B,G,Q,H;class Tn{constructor(e,t,i,n){h(this,I);h(this,C);h(this,X);h(this,J);h(this,B);h(this,G);h(this,Q);h(this,H);g(this,I,E(!1)),g(this,C,e),g(this,X,t),g(this,J,i),g(this,B,n)}editingActive(){return l(this,I).value}startCreateWorkflow(){if(!l(this,I).value)try{l(this,I).value=!0;const e=l(this,C).layers.getLayerById("krankenhaus"),t=new URL(e.attributes.collectionURL+"/items"),i=l(this,X).createFeature(l(this,C),t);this._watchState(i),i.whenComplete().then(n=>{if(!n)return;l(this,J).notify({level:"info",message:l(this,B).formatMessage({id:"demos.editing.create.featureCreated"},{featureId:n.featureId})}),(e?.olLayer).getSource()?.refresh()}).catch(n=>{console.error(n)}).finally(()=>{l(this,I).value=!1})}catch(e){l(this,I).value=!1,console.error(e)}}startUpdateWorkflow(){if(!l(this,I).value)try{l(this,I).value=!0,g(this,H,this._createEditingSelectTooltip());const e=l(this,C).layers.getLayerById("krankenhaus"),t=e?.olLayer;g(this,G,new Mi({layers:[t]})),l(this,C).olMap.addInteraction(l(this,G)),l(this,H).element.classList.remove("editing-tooltip-hidden"),g(this,Q,l(this,G).on("select",i=>{const n=i.selected,a=i.deselected;if(n.length!==1||a.length!==0)return;this._stopUpdateSelection();const s=n[0];if(!s)throw Error("feature is undefined");const c=new URL(e.attributes.collectionURL+"/items"),d=l(this,X).updateFeature(l(this,C),c,s);this._watchState(d),d.whenComplete().then(p=>{p&&(l(this,J).notify({level:"info",message:l(this,B).formatMessage({id:"demos.editing.update.featureModified"},{featureId:p.featureId})}),t.getSource()?.refresh())}).catch(p=>{console.error(p)}).finally(()=>{l(this,I).value=!1})}))}catch(e){l(this,I).value=!1,console.error(e)}}_watchState(e){const t=mt(()=>[e.getState()],i=>{i[0]==="active:saving"&&l(this,J).notify({level:"info",message:l(this,B).formatMessage({id:"demos.editing.update.savingStared"})}),i[0]==="destroyed"&&(t.destroy(),console.log("destroyed"))})}_createEditingSelectTooltip(){const e=document.createElement("div");e.className="editing-tooltip editing-tooltip-hidden",e.textContent=l(this,B).formatMessage({id:"demos.editing.update.tooltip.select"});const t=new Xt({element:e,offset:[15,0],positioning:"center-left"}),i=l(this,C).olMap,n=i.on("pointermove",a=>{a.dragging||t.setPosition(a.coordinate)});return i.addOverlay(t),{overlay:t,element:e,destroy(){Be(n),i.removeOverlay(t)}}}_stopUpdateSelection(){l(this,G)&&l(this,C).olMap.removeInteraction(l(this,G)),l(this,Q)&&Be(l(this,Q)),l(this,H)&&l(this,H).destroy(),g(this,G,void 0),g(this,Q,void 0),g(this,H,void 0)}stopEditing(){l(this,X).stop(ke),this._stopUpdateSelection(),l(this,I).value=!1}}I=new WeakMap,C=new WeakMap,X=new WeakMap,J=new WeakMap,B=new WeakMap,G=new WeakMap,Q=new WeakMap,H=new WeakMap;function Dn({editingController:o}){const e=Ie(),t=D(()=>o.editingActive(),[o]),i=t?e.formatMessage({id:"demos.editing.activeInfo"}):e.formatMessage({id:"demos.editing.inactiveInfo"});return r.jsxs(r.Fragment,{children:[r.jsxs(j,{px:1,py:1,children:[r.jsx(ee,{mr:2,isDisabled:t,onClick:()=>{o.startCreateWorkflow()},children:e.formatMessage({id:"demos.editing.startCreateButton"})}),r.jsx(ee,{mr:2,isDisabled:t,onClick:()=>{o.startUpdateWorkflow()},children:e.formatMessage({id:"demos.editing.startUpdateButton"})}),r.jsx(ee,{isDisabled:!t,onClick:()=>{o.stopEditing()},children:e.formatMessage({id:"demos.editing.stopButton"})})]}),r.jsx(j,{px:1,py:1,children:i})]})}function On(o){return[_n(o),mn(o),gn(o),vn(o),wn(o),yn(o),xn(o),Sn(o),Nn(o),kn(o),In(o),Mn(o),kr(o),En(o),jn(o),Mr(o)]}const Vn=ye("app::AppModel");var Ke,Ae,Ne,U,L,Ye,Ze,we,mo,go;class Gn{constructor(e,t,i,n){h(this,we);h(this,Ke);h(this,Ae);h(this,Ne);h(this,U);h(this,L);h(this,Ye,Yt(()=>Array.from(l(this,U).values())));h(this,Ze,[]);if(g(this,Ke,e),g(this,Ae,t),g(this,Ne,i),g(this,U,new Map(n.map(s=>[s.id,s]))),l(this,U).size===0)throw new Error("No demos defined.");const a=n[0];g(this,L,E([a,a.createModel()])),y(this,we,mo).call(this),l(this,Ze).push(y(this,we,go).call(this))}destroy(){l(this,L).value[1].destroy?.()}get currentDemo(){return l(this,L).value[0]}get currentDemoModel(){return l(this,L).value[1]}get allDemoInfos(){return l(this,Ye).value}selectDemo(e){const t=l(this,U).get(e);if(!t)throw new Error(`Demo '${e}' does not exist.`);ci(()=>{const[,i]=l(this,L).value;i.destroy?.(),l(this,L).value=[t,t.createModel()]})}}Ke=new WeakMap,Ae=new WeakMap,Ne=new WeakMap,U=new WeakMap,L=new WeakMap,Ye=new WeakMap,Ze=new WeakMap,we=new WeakSet,mo=function(){const t=new URL(window.location.href).searchParams.get("demo");if(t){if(!l(this,U).has(t)){l(this,Ae).notify({title:l(this,Ne).formatMessage({id:"demoSelection.notFound"},{demoId:t})});return}try{this.selectDemo(t)}catch(i){Vn.error("Failed to select demo from URL",i)}}},go=function(){return mt(()=>[l(this,L).value[0].id],([e])=>{const t=new URL(window.location.href);t.searchParams.set("demo",e),window.history.replaceState(null,"",t.toString())},{immediate:!0})};var me,Re,Te,Xe,fo;class Fn{constructor(e){h(this,Xe);h(this,me,E({kind:"loading"}));h(this,Re,[]);h(this,Te,!1);const{mapRegistry:t,httpService:i,notifier:n,vectorSelectionSourceFactory:a,editingService:s,notificationService:c}=e.references,d=e.intl;y(this,Xe,fo).call(this,{mapRegistry:t,httpService:i,notifier:n,vectorSelectionSourceFactory:a,editingService:s,intl:d,notificationService:c}).catch(p=>{l(this,me).value={kind:"error",message:p.message||"Unknown error"}})}destroy(){g(this,Te,!0);for(const e of l(this,Re))e.destroy()}get appState(){return l(this,me).value}}me=new WeakMap,Re=new WeakMap,Te=new WeakMap,Xe=new WeakSet,fo=async function(e){const{mapRegistry:t,httpService:i,notifier:n,vectorSelectionSourceFactory:a,editingService:s,intl:c,notificationService:d}=e,p=await t.getMapModel(ke);if(!p)throw new Error("No mapModel found.");const f=On({intl:c,httpService:i,mapModel:p,vectorSelectionSourceFactory:a,editingService:s,notificationService:d}),u={kind:"ready",appModel:new Gn(p,n,c,f),destroy(){this.appModel.destroy()}};if(l(this,Te)){u.destroy();return}l(this,me).value=u,l(this,Re).push(u)};const te=ye("local-storage"),zn=0,R={CORRUPTED_DATA:"local-storage:corrupted-data",INVALID_PATH:"local-storage:invalid-path",INVALID_VALUE:"local-storage:invalid-value",NOT_SUPPORTED:"local-storage:not-supported",INTERNAL:"local-storage:internal-error"};var ge,P,W,fe,A,x,vo,bo,_e,re,wo;class Bn{constructor(e){h(this,x);h(this,ge);h(this,P,{});h(this,W);h(this,fe);h(this,A);g(this,ge,qn(e.properties)),g(this,W,$n()),l(this,W)&&(y(this,x,bo).call(this),g(this,fe,y(this,x,wo).call(this)))}destroy(){l(this,A)&&(clearTimeout(l(this,A)),g(this,A,void 0)),l(this,W)&&y(this,x,_e).call(this)}get isSupported(){return!!l(this,fe)}get(e){return y(this,x,re).call(this).get(e)}set(e,t){return y(this,x,re).call(this).set(e,t)}remove(e){return y(this,x,re).call(this).remove(e)}removeAll(){return y(this,x,re).call(this).removeAll()}getNamespace(e){return y(this,x,re).call(this).getNamespace(e)}}ge=new WeakMap,P=new WeakMap,W=new WeakMap,fe=new WeakMap,A=new WeakMap,x=new WeakSet,vo=function(){l(this,A)&&clearTimeout(l(this,A)),g(this,A,setTimeout(()=>{g(this,A,void 0),y(this,x,_e).call(this)},zn))},bo=function(){try{const e=l(this,W);if(!e)throw new N(R.INTERNAL,"Local storage is not available.");const t=e.getItem(l(this,ge));if(t==null){g(this,P,{}),y(this,x,_e).call(this);return}try{const i=JSON.parse(t);if(!be(i))throw new N(R.CORRUPTED_DATA,"Persisted value should be an object.");g(this,P,i)}catch(i){te.warn("Invalid persisted data, reverting to default.",i),g(this,P,{}),y(this,x,_e).call(this)}}catch(e){te.error("Failed to load from local storage",e)}},_e=function(){try{const e=l(this,W);if(!e)throw new N(R.INTERNAL,"Local storage is not available.");const t=JSON.stringify(l(this,P));e.setItem(l(this,ge),t)}catch(e){te.error("Failed to save to local storage",e)}},re=function(){const e=l(this,fe);if(!e)throw new N(R.NOT_SUPPORTED,"Local storage is not supported by this browser.");return e},wo=function(){const e={getByPath:t=>Gt(Hn(l(this,P),t)),setByPath:(t,i)=>{if(!Wn(i))throw new N(R.INVALID_VALUE,"The value is not supported by local storage.");if(i=Gt(i),t.length===0){if(!be(i))throw new N(R.INVALID_VALUE,"The root value must be a plain object.");g(this,P,i)}else Un(l(this,P),t,i);y(this,x,vo).call(this)}};return new xt([],e)};class xt{path;access;constructor(e,t){this.path=e,this.access=t}get(e){return this.access.getByPath([...this.path,e])}set(e,t){this.access.setByPath([...this.path,e],t)}remove(e){this.access.setByPath([...this.path,e],void 0)}removeAll(){this.access.setByPath(this.path,{})}getNamespace(e){const t=this.get(e);if(t===void 0)this.set(e,{});else if(!be(t))throw new N(R.INVALID_PATH,`Cannot use '${e}' as a namespace because it is not associated with an object.`);return new xt(this.path.concat([e]),this.access)}}const Vt="trails-state";function Hn(o,e){let t=o;for(const i of e){if(!be(t))throw new N(R.INVALID_PATH,`Cannot get nested property '${i}' because the parent is no object.`);t=t[i]}return t}function Un(o,e,t){if(!e.length)throw new N(R.INTERNAL,"Path must not be empty.");let i=o;for(let a=0,s=e.length-1;a"u"){te.warn("Local storage is not supported by this browser.");return}try{const o=globalThis.localStorage;if(!o){te.warn("Local storage is not supported by this browser.");return}return o}catch(o){te.warn("Local storage is not supported by this browser.",o);return}}function Gt(o){return o!=null&&(o=JSON.parse(JSON.stringify(o))),o}const Kn={"showcase-app":{name:"showcase-app",services:{MapConfigProviderImpl:{name:"MapConfigProviderImpl",clazz:fr,provides:[{name:"map.MapConfigProvider",qualifier:void 0}],references:{vectorSourceFactory:{name:"ogc-features.VectorSourceFactory",qualifier:void 0,all:!1}}},AppInitModel:{name:"AppInitModel",clazz:Fn,provides:[{name:"app.AppInitModel",qualifier:void 0}],references:{httpService:{name:"http.HttpService",qualifier:void 0,all:!1},mapRegistry:{name:"map.MapRegistry",qualifier:void 0,all:!1},notifier:{name:"notifier.NotificationService",qualifier:void 0,all:!1},vectorSelectionSourceFactory:{name:"selection.VectorSelectionSourceFactory",qualifier:void 0,all:!1},editingService:{name:"editing.EditingService",qualifier:void 0,all:!1},notificationService:{name:"notifier.NotificationService",qualifier:void 0,all:!1}}}},ui:{references:[{name:"app.AppInitModel",qualifier:void 0,all:!1},{name:"runtime.ApplicationContext",qualifier:void 0,all:!1}]},properties:{}},"@open-pioneer/chakra-integration":{name:"@open-pioneer/chakra-integration",services:{},ui:{references:[]},properties:{}},"@open-pioneer/http":{name:"@open-pioneer/http",services:{HttpServiceImpl:{name:"HttpServiceImpl",clazz:di,provides:[{name:"http.HttpService",qualifier:"http.HttpService"}],references:{interceptors:{name:"http.Interceptor",qualifier:void 0,all:!0}}}},ui:{references:[]},properties:{}},"@open-pioneer/map":{name:"@open-pioneer/map",services:{MapRegistryImpl:{name:"MapRegistryImpl",clazz:pi,provides:[{name:"map.MapRegistry",qualifier:void 0}],references:{providers:{name:"map.MapConfigProvider",qualifier:void 0,all:!0},httpService:{name:"http.HttpService",qualifier:void 0,all:!1}}}},ui:{references:[{name:"map.MapRegistry",qualifier:void 0,all:!1}]},properties:{}},"@open-pioneer/map-navigation":{name:"@open-pioneer/map-navigation",services:{},ui:{references:[]},properties:{}},"@open-pioneer/notifier":{name:"@open-pioneer/notifier",services:{NotificationServiceImpl:{name:"NotificationServiceImpl",clazz:Ki,provides:[{name:"notifier.NotificationService",qualifier:"notifier.NotificationService"}],references:{}}},ui:{references:[{name:"notifier.NotificationService",qualifier:void 0,all:!1}]},properties:{}},"@open-pioneer/ogc-features":{name:"@open-pioneer/ogc-features",services:{VectorSourceFactory:{name:"VectorSourceFactory",clazz:Gi,provides:[{name:"ogc-features.VectorSourceFactory",qualifier:void 0}],references:{httpService:{name:"http.HttpService",qualifier:void 0,all:!1}}},SearchSourceFactory:{name:"SearchSourceFactory",clazz:Fi,provides:[{name:"ogc-features.SearchSourceFactory",qualifier:void 0}],references:{httpService:{name:"http.HttpService",qualifier:void 0,all:!1}}}},ui:{references:[]},properties:{}},"@open-pioneer/printing":{name:"@open-pioneer/printing",services:{PrintingServiceImpl:{name:"PrintingServiceImpl",clazz:Yi,provides:[{name:"printing.PrintingService",qualifier:void 0}],references:{}}},ui:{references:[{name:"notifier.NotificationService",qualifier:void 0,all:!1},{name:"printing.PrintingService",qualifier:void 0,all:!1}]},properties:{}},"@open-pioneer/react-utils":{name:"@open-pioneer/react-utils",services:{},ui:{references:[]},properties:{}},"@open-pioneer/reactivity":{name:"@open-pioneer/reactivity",services:{},ui:{references:[]},properties:{}},"@open-pioneer/result-list":{name:"@open-pioneer/result-list",services:{},ui:{references:[]},properties:{}},"@open-pioneer/runtime":{name:"@open-pioneer/runtime",services:{},ui:{references:[]},properties:{}},"@open-pioneer/toc":{name:"@open-pioneer/toc",services:{},ui:{references:[]},properties:{}},"@open-pioneer/core":{name:"@open-pioneer/core",services:{},ui:{references:[]},properties:{}},"@open-pioneer/map-ui-components":{name:"@open-pioneer/map-ui-components",services:{},ui:{references:[]},properties:{}},"@open-pioneer/basemap-switcher":{name:"@open-pioneer/basemap-switcher",services:{},ui:{references:[]},properties:{}},"@open-pioneer/base-theme":{name:"@open-pioneer/base-theme",services:{},ui:{references:[]},properties:{}},"@open-pioneer/runtime-react-support":{name:"@open-pioneer/runtime-react-support",services:{},ui:{references:[]},properties:{}},"@open-pioneer/coordinate-viewer":{name:"@open-pioneer/coordinate-viewer",services:{},ui:{references:[]},properties:{}},"@open-pioneer/scale-bar":{name:"@open-pioneer/scale-bar",services:{},ui:{references:[]},properties:{}},"@open-pioneer/scale-viewer":{name:"@open-pioneer/scale-viewer",services:{},ui:{references:[]},properties:{}},"@open-pioneer/overview-map":{name:"@open-pioneer/overview-map",services:{},ui:{references:[]},properties:{}},"@open-pioneer/editing":{name:"@open-pioneer/editing",services:{EditingServiceImpl:{name:"EditingServiceImpl",clazz:Ei,provides:[{name:"editing.EditingService",qualifier:void 0}],references:{mapRegistry:{name:"map.MapRegistry",qualifier:void 0,all:!1},httpService:{name:"http.HttpService",qualifier:void 0,all:!1}}}},ui:{references:[]},properties:{polygonStyle:{value:{"fill-color":"rgba(255,255,255,0.4)","stroke-color":"red","stroke-width":1.25,"circle-radius":3,"circle-fill-color":"red","circle-stroke-width":1.25,"circle-stroke-color":"red"},required:!1},vertexStyle:{value:{"circle-radius":3,"circle-fill-color":"red","circle-stroke-width":1.25,"circle-stroke-color":"red"},required:!1}}},"@open-pioneer/legend":{name:"@open-pioneer/legend",services:{},ui:{references:[]},properties:{}},"@open-pioneer/measurement":{name:"@open-pioneer/measurement",services:{},ui:{references:[]},properties:{}},"@open-pioneer/search":{name:"@open-pioneer/search",services:{},ui:{references:[]},properties:{}},"@open-pioneer/selection":{name:"@open-pioneer/selection",services:{VectorSelectionSourceFactory:{name:"VectorSelectionSourceFactory",clazz:_i,provides:[{name:"selection.VectorSelectionSourceFactory",qualifier:void 0}],references:{}}},ui:{references:[{name:"notifier.NotificationService",qualifier:void 0,all:!1}]},properties:{}},"@open-pioneer/coordinate-search":{name:"@open-pioneer/coordinate-search",services:{},ui:{references:[{name:"runtime.NumberParserService",qualifier:void 0,all:!1}]},properties:{}},"@open-pioneer/geolocation":{name:"@open-pioneer/geolocation",services:{},ui:{references:[{name:"notifier.NotificationService",qualifier:void 0,all:!1}]},properties:{}},"@open-pioneer/scale-setter":{name:"@open-pioneer/scale-setter",services:{},ui:{references:[]},properties:{}},"@open-pioneer/spatial-bookmarks":{name:"@open-pioneer/spatial-bookmarks",services:{},ui:{references:[{name:"local-storage.LocalStorageService",qualifier:void 0,all:!1}]},properties:{}},"@open-pioneer/local-storage":{name:"@open-pioneer/local-storage",services:{LocalStorageServiceImpl:{name:"LocalStorageServiceImpl",clazz:Bn,provides:[{name:"local-storage.LocalStorageService",qualifier:"local-storage.LocalStorageService"}],references:{}}},ui:{references:[]},properties:{storageId:{value:null,required:!1}}}},Yn=':root,:host{--ol-background-color: white;--ol-accent-background-color: #F5F5F5;--ol-subtle-background-color: rgba(128, 128, 128, .25);--ol-partial-background-color: rgba(255, 255, 255, .75);--ol-foreground-color: #333333;--ol-subtle-foreground-color: #666666;--ol-brand-color: #00AAFF}.ol-box{box-sizing:border-box;border-radius:2px;border:1.5px solid var(--ol-background-color);background-color:var(--ol-partial-background-color)}.ol-mouse-position{top:8px;right:8px;position:absolute}.ol-scale-line{background:var(--ol-partial-background-color);border-radius:4px;bottom:8px;left:8px;padding:2px;position:absolute}.ol-scale-line-inner{border:1px solid var(--ol-subtle-foreground-color);border-top:none;color:var(--ol-foreground-color);font-size:10px;text-align:center;margin:1px;will-change:contents,width;transition:all .25s}.ol-scale-bar{position:absolute;bottom:8px;left:8px}.ol-scale-bar-inner{display:flex}.ol-scale-step-marker{width:1px;height:15px;background-color:var(--ol-foreground-color);float:right;z-index:10}.ol-scale-step-text{position:absolute;bottom:-5px;font-size:10px;z-index:11;color:var(--ol-foreground-color);text-shadow:-1.5px 0 var(--ol-partial-background-color),0 1.5px var(--ol-partial-background-color),1.5px 0 var(--ol-partial-background-color),0 -1.5px var(--ol-partial-background-color)}.ol-scale-text{position:absolute;font-size:12px;text-align:center;bottom:25px;color:var(--ol-foreground-color);text-shadow:-1.5px 0 var(--ol-partial-background-color),0 1.5px var(--ol-partial-background-color),1.5px 0 var(--ol-partial-background-color),0 -1.5px var(--ol-partial-background-color)}.ol-scale-singlebar{position:relative;height:10px;z-index:9;box-sizing:border-box;border:1px solid var(--ol-foreground-color)}.ol-scale-singlebar-even{background-color:var(--ol-subtle-foreground-color)}.ol-scale-singlebar-odd{background-color:var(--ol-background-color)}.ol-unsupported{display:none}.ol-viewport,.ol-unselectable{-webkit-touch-callout:none;-webkit-user-select:none;-moz-user-select:none;user-select:none;-webkit-tap-highlight-color:transparent}.ol-viewport canvas{all:unset;overflow:hidden}.ol-viewport{touch-action:pan-x pan-y}.ol-selectable{-webkit-touch-callout:default;-webkit-user-select:text;-moz-user-select:text;user-select:text}.ol-grabbing{cursor:-webkit-grabbing;cursor:-moz-grabbing;cursor:grabbing}.ol-grab{cursor:move;cursor:-webkit-grab;cursor:-moz-grab;cursor:grab}.ol-control{position:absolute;background-color:var(--ol-subtle-background-color);border-radius:4px}.ol-zoom{top:.5em;left:.5em}.ol-rotate{top:.5em;right:.5em;transition:opacity .25s linear,visibility 0s linear}.ol-rotate.ol-hidden{opacity:0;visibility:hidden;transition:opacity .25s linear,visibility 0s linear .25s}.ol-zoom-extent{top:4.643em;left:.5em}.ol-full-screen{right:.5em;top:.5em}.ol-control button{display:block;margin:1px;padding:0;color:var(--ol-subtle-foreground-color);font-weight:700;text-decoration:none;font-size:inherit;text-align:center;height:1.375em;width:1.375em;line-height:.4em;background-color:var(--ol-background-color);border:none;border-radius:2px}.ol-control button::-moz-focus-inner{border:none;padding:0}.ol-zoom-extent button{line-height:1.4em}.ol-compass{display:block;font-weight:400;will-change:transform}.ol-touch .ol-control button{font-size:1.5em}.ol-touch .ol-zoom-extent{top:5.5em}.ol-control button:hover,.ol-control button:focus{text-decoration:none;outline:1px solid var(--ol-subtle-foreground-color);color:var(--ol-foreground-color)}.ol-zoom .ol-zoom-in{border-radius:2px 2px 0 0}.ol-zoom .ol-zoom-out{border-radius:0 0 2px 2px}.ol-attribution{text-align:right;bottom:.5em;right:.5em;max-width:calc(100% - 1.3em);display:flex;flex-flow:row-reverse;align-items:center}.ol-attribution a{color:var(--ol-subtle-foreground-color);text-decoration:none}.ol-attribution ul{margin:0;padding:1px .5em;color:var(--ol-foreground-color);text-shadow:0 0 2px var(--ol-background-color);font-size:12px}.ol-attribution li{display:inline;list-style:none}.ol-attribution li:not(:last-child):after{content:" "}.ol-attribution img{max-height:2em;max-width:inherit;vertical-align:middle}.ol-attribution button{flex-shrink:0}.ol-attribution.ol-collapsed ul{display:none}.ol-attribution:not(.ol-collapsed){background:var(--ol-partial-background-color)}.ol-attribution.ol-uncollapsible{bottom:0;right:0;border-radius:4px 0 0}.ol-attribution.ol-uncollapsible img{margin-top:-.2em;max-height:1.6em}.ol-attribution.ol-uncollapsible button{display:none}.ol-zoomslider{top:4.5em;left:.5em;height:200px}.ol-zoomslider button{position:relative;height:10px}.ol-touch .ol-zoomslider{top:5.5em}.ol-overviewmap{left:.5em;bottom:.5em}.ol-overviewmap.ol-uncollapsible{bottom:0;left:0;border-radius:0 4px 0 0}.ol-overviewmap .ol-overviewmap-map,.ol-overviewmap button{display:block}.ol-overviewmap .ol-overviewmap-map{border:1px solid var(--ol-subtle-foreground-color);height:150px;width:150px}.ol-overviewmap:not(.ol-collapsed) button{bottom:0;left:0;position:absolute}.ol-overviewmap.ol-collapsed .ol-overviewmap-map,.ol-overviewmap.ol-uncollapsible button{display:none}.ol-overviewmap:not(.ol-collapsed){background:var(--ol-subtle-background-color)}.ol-overviewmap-box{border:1.5px dotted var(--ol-subtle-foreground-color)}.ol-overviewmap .ol-overviewmap-box:hover{cursor:move}.ol-overviewmap .ol-viewport:hover{cursor:pointer}.map-container .ol-viewport .ol-attribution{bottom:var(--map-padding-bottom);right:var(--map-padding-right)}.printing-overlay{position:absolute;top:0;right:0;bottom:0;left:0;z-index:10000;-webkit-user-select:none;user-select:none;pointer-events:all;cursor:wait;display:flex;flex-direction:row;align-items:center;justify-content:center;background-color:#b4b4b4cc}.printing-overlay-status{flex:1 1 auto;font-size:1.5em;text-align:center}.printing-scale-bar.ol-scale-bar{left:var(--printing-scale-bar-left);bottom:var(--printing-scale-bar-bottom)}.editing-tooltip{position:relative;background:#fffc;border-radius:4px;color:#000;padding:4px 8px;opacity:1;white-space:nowrap;font-size:12px;cursor:default;-webkit-user-select:none;user-select:none;font-weight:700}.editing-tooltip-hidden{visibility:hidden}.measurement-tooltip{position:relative;background:#fffc;border-radius:4px;color:#000;padding:4px 8px;opacity:1;white-space:nowrap;font-size:12px;cursor:default;-webkit-user-select:none;user-select:none;font-weight:700}.measurement-active-tooltip{background:#000000e6;border-radius:4px;border-color:#000000e6;opacity:.9;color:#fff}.measurement-finished-tooltip{background-color:#4cb3ffe6;color:#000;border:1px solid white}.measurement-active-tooltip:before,.measurement-finished-tooltip:before{border-top:6px solid rgba(0,0,0,.9);border-right:6px solid transparent;border-left:6px solid transparent;content:"";position:absolute;bottom:-6px;margin-left:-7px;left:50%}.measurement-finished-tooltip:before{border-top-color:#4cb3ff}.search-component .chakra-divider{display:none}.search-component .search-highlighted-match{font-weight:700}.search-component .search-value-container{cursor:text;padding-left:30px!important}.search-component .search-invisible{display:none}.selection-drag-box{background-color:#ffffff4d!important;border:3px solid var(--chakra-colors-background_primary)!important}.selection-tooltip{position:relative;background:#fffc;border-radius:4px;color:#000;padding:4px 8px;opacity:1;white-space:nowrap;font-size:12px;cursor:default;-webkit-user-select:none;user-select:none;font-weight:700}.selection .react-select{cursor:default}.map-container .selection-active{cursor:crosshair}.map-container .selection-inactive{cursor:no-drop}.selection-source-value.selection-source-value--disabled{opacity:.4}.selection-source-value.selection-source-value--disabled span{margin:0 6px 0 0}.map-anchor.main-map-anchor{overflow-x:hidden;overflow-y:auto}.map-container:focus-visible{outline:none}.map-container:focus-visible:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none;border:3px solid var(--chakra-colors-trails-500)}@media screen and (max-width: 48em){.map-anchor.main-map-anchor{max-height:45%}}.result-list-no-data-message{text-align:center;margin-top:50px;font-weight:700;font-size:larger}.result-list-table th,.result-list-table td{overflow-wrap:break-word}.result-list-table.result-list-table--is-resizing *{cursor:col-resize}.result-list-table thead{position:sticky;top:0;z-index:1;background:var(--chakra-colors-background_body)}.result-list-table th{position:relative;border-right-width:thin}.result-list-table tbody tr:hover{background:var(--chakra-colors-background_light)}.result-list-table .result-list-resizer{position:absolute;top:0;height:100%;right:0;width:8px;background:var(--chakra-colors-trails-100);transform:scaleX(.25);cursor:col-resize;-webkit-user-select:none;user-select:none;touch-action:none;padding-left:0}.result-list-table th:last-child .result-list-resizer{width:8px;transform:translate(50%) scaleX(.25)}.result-list-table th .result-list-resizer.result-list-resizer--is-resizing{background:var(--chakra-colors-trails-500);transform:scale(1)}.result-list-table th .result-list-resizer:hover{transform:scale(1)}.scale-bar .ol-scale-bar{margin-bottom:8px;margin-right:8px}.scale-bar .ol-scale-bar,.scale-bar .ol-scale-line{position:relative;bottom:0;left:0;background:none}.scale-bar .ol-scale-bar .ol-scale-bar-inner,.scale-bar .ol-scale-bar .ol-scale-line-inner,.scale-bar .ol-scale-line .ol-scale-bar-inner,.scale-bar .ol-scale-line .ol-scale-line-inner{color:var(--chakra-white);border-color:var(--chakra-white)}.overview-map .ol-overviewmap{position:relative;height:100%;width:100%}.overview-map .ol-overviewmap:not(.ol-collapsed){border:1px solid black}.overview-map .ol-overviewmap .ol-overviewmap-map{border:none;width:100%;height:100%}.overview-map .ol-overviewmap .ol-overviewmap-box{border:2px solid red}',Zn=["en","de"];function Xn(o){switch(o){case"en":return jt(()=>import("./plvQ0gKHN-VX.js"),[],import.meta.url).then(e=>e.default);case"de":return jt(()=>import("./VgDMcEsZHOuk.js"),[],import.meta.url).then(e=>e.default)}throw new Error(`Unsupported locale: '${o}'`)}const Jn=jo(Yn),Qn=Object.freeze(Object.defineProperty({__proto__:null,loadMessages:Xn,locales:Zn,packages:Kn,styles:Jn},Symbol.toStringTag,{value:"Module"}));function yo({label:o,children:e}){return r.jsxs(Zi,{as:Xi,maxWidth:{base:"none",md:"20em"},width:{base:"100%",sm:"47%",md:void 0},children:[r.jsx(Ji,{flexBasis:{base:"8em",sm:"auto"},m:0,children:o}),e]})}const ea=ye("app::DemoSelection");function ta({appModel:o}){const e=Ie(),{allDemos:t,currentDemo:i}=D(()=>({allDemos:o.allDemoInfos,currentDemo:o.currentDemo}),[o]),n=v.useMemo(()=>t.map(a=>r.jsx("option",{value:a.id,children:a.title},a.id)),[t]);return r.jsx(yo,{label:e.formatMessage({id:"demoSelection.label"}),children:r.jsx(Qt,{value:i.id,onChange:a=>{const s=a.target.value;try{o.selectDemo(s)}catch(c){ea.error("Failed to select demo",c)}},children:n})})}function oa(){const o=Ie(),e=ho("runtime.ApplicationContext"),t=ia(e.getLocale()),i=n=>{switch(n){case"en":e.setLocale("en-GB");break;case"de":e.setLocale("de-DE");break}};return r.jsx(yo,{label:o.formatMessage({id:"localeSwitcher.label"}),children:r.jsxs(Qt,{value:t,onChange:n=>i(n.target.value),children:[r.jsx("option",{value:"de",children:o.formatMessage({id:"localeSwitcher.locale.de"})}),r.jsx("option",{value:"en",children:o.formatMessage({id:"localeSwitcher.locale.en"})})]})})}function ia(o){const e=o.match(/^[a-z]+/i)?.[0];if(e==="en"||e=="de")return e;throw new Error("unexpected locale prefix: "+e)}function ra({appModel:o}){const e=Ie();return r.jsxs(j,{as:"header",px:2,py:3,flexWrap:{base:"wrap",md:"nowrap"},alignItems:"baseline",gap:2,boxShadow:"1px 0px 3px rgba(0, 0, 0, 0.5)",bgColor:"white",zIndex:100,children:[r.jsx(ct,{size:"md",flexShrink:0,flexGrow:1,textAlign:{base:"center",md:"left"},width:{base:"100%",md:"auto"},mb:{base:2,md:0},children:e.formatMessage({id:"header.title"})}),r.jsx(ta,{appModel:o}),r.jsx(oa,{})]})}function na(){const o=ho("app.AppInitModel"),e=D(()=>o.appState,[o]);let t;switch(e.kind){case"loading":t="Loading...";break;case"error":t="Error: "+e.message;break;case"ready":t=r.jsx(aa,{state:e})}return t}function aa(o){const e=Ie(),t=o.state.appModel,{currentDemo:i,currentDemoModel:n}=D(()=>({currentDemo:t.currentDemo,currentDemoModel:t.currentDemoModel}),[t]),a=D(()=>n.listContainer,[n]),s=v.useMemo(()=>({left:0,right:0,bottom:a!=null?400:0,top:0}),[a]);return r.jsxs(r.Fragment,{children:[r.jsx(Ci,{position:"top-right"}),r.jsx(j,{height:"100%",direction:"column",children:r.jsx(He,{title:r.jsx(ra,{appModel:t}),children:r.jsx(j,{flex:"1",direction:"column",position:"relative",children:r.jsx(ui,{mapId:ke,children:r.jsxs(hi,{viewPadding:s,role:"main","aria-label":e.formatMessage({id:"ariaLabels.map"}),children:[r.jsx(Ct,{className:"main-map-anchor",position:"top-left",horizontalGap:10,verticalGap:10,children:r.jsx(T,{bgColor:"white",borderRadius:10,p:2,maxW:"500px",children:r.jsxs(He,{title:i.title,sectionHeadingProps:{size:"lg"},children:[r.jsx(et,{py:4,dangerouslySetInnerHTML:{__html:n.description}}),n.mainWidget]})})}),r.jsx(Ct,{position:"bottom-right",horizontalGap:6,children:r.jsx(lt,{p:1,children:n.tools})}),a&&r.jsx(T,{className:"list-container",position:"absolute",bottom:"0",backgroundColor:"white",width:"100%",height:"400px",zIndex:1,borderTop:"2px solid",borderColor:"trails.100",children:a})]})})})})})]})}const sa=new URLSearchParams(window.location.search),la=sa.get("lang")||void 0,ca=Lo({component:na,appMetadata:Qn,config:{properties:{"@open-pioneer/local-storage":{storageId:"ol-showcase-state"}},locale:la}});customElements.define("showcase-app",ca); +var So=Object.defineProperty;var St=o=>{throw TypeError(o)};var ko=(o,e,t)=>e in o?So(o,e,{enumerable:!0,configurable:!0,writable:!0,value:t}):o[e]=t;var w=(o,e,t)=>ko(o,typeof e!="symbol"?e+"":e,t),it=(o,e,t)=>e.has(o)||St("Cannot "+t);var l=(o,e,t)=>(it(o,e,"read from private field"),t?t.call(o):e.get(o)),h=(o,e,t)=>e.has(o)?St("Cannot add the same private member more than once"):e instanceof WeakSet?e.add(o):e.set(o,t),g=(o,e,t,i)=>(it(o,e,"write to private field"),i?i.call(o,t):e.set(o,t),t),y=(o,e,t)=>(it(o,e,"access private method"),t);import{g as De,h as q,j as r,k as Io,u as Mo,o as Eo,l as Oe,m as _o,n as Co,r as v,B as T,c as ye,b as ee,F as Bt,V as lt,A as rt,p as nt,q as pt,E as N,a as jo,f as Lo}from"./Mxtq6FG0Aq1_.js";import{aE as Po,aF as Ao,ag as No,af as oe,aG as Ro,aH as To,ao as Do,aI as Oo,aJ as Vo,aK as Go,a9 as Fo,as as zo,aL as kt,aM as Bo,aN as Ho,aO as It,aP as Uo,aQ as Wo,aR as at,V as qo,aS as Mt,A as $o,L as Ko,aT as Yo,J as Zo,aU as Xo,aV as Jo,aW as Qo,aX as ei,aY as Et,S as ut,T as Ht,O as Ut,a as ht,b as Wt,aZ as xe,i as Se,f as Je,u as Ve,r as E,a_ as _t,a$ as ti,an as oi,j as Be,c as qt,C as ii,F as $t,ax as Kt,d as ri,w as mt,b0 as ni,b1 as ai,b2 as si,k as j,b3 as li,b4 as Qe,b5 as Yt,g as He,h as ct,b6 as ci,H as di,M as pi,D as ui,l as hi,m as Ct}from"./5C5XmiCGgLmB.js";import{W as mi,i as gi,j as Zt}from"./D-pImulTtahV.js";import{O as Xt,W as fi,c as vi,I as Jt,C as bi,b as wi,a as yi,M as xi,P as Si,L as ki,d as Ii,S as Mi,E as Ei,V as _i,e as Qt,N as Ci}from"./Dx9locigDKA2.js";import{G as eo,T as ji,e as Li}from"./CXqamDLCwhxM.js";import{T as et,L as Pi}from"./BOwySe0UXVY3.js";import{u as D,s as Ai}from"./Cxncs0atKtOb.js";import{G as Ni}from"./IfrtfJ9Ep93o.js";import{Z as Ri,a as Ti,H as Di,b as Oi,I as Vi,V as Gi,S as Fi}from"./Sxw4XIxlvpiS.js";import{c as gt}from"./DUaeWVZO0JNZ.js";import{M as zi,a as Bi,b as Hi}from"./CrqedT83Nq6G.js";import{M as Ui}from"./BbT9q31oQhIX.js";import{S as Wi}from"./B3HqXXx_wjjB.js";import{u as dt}from"./_eg2EQ1Gs0ak.js";import{I as qi}from"./J2n92hO6xhYn.js";import{R as $i}from"./DgabVoUpizSB.js";import{N as Ki,P as Yi}from"./OM1YzF7yjem8.js";import{_ as jt}from"./CmsKOCeNyeyo.js";import{F as Zi}from"./CRkdw9XP0Imr.js";import{H as Xi}from"./BXf6RRVNKbev.js";import{F as Ji}from"./CYrCIuevaD6U.js";import"./DWkb3PmnrxhS.js";import"./D69t4K7RmA6W.js";import"./CK6i-0dKNtLx.js";const to=De("div",{baseStyle:{display:"flex",alignItems:"center",justifyContent:"center"}});to.displayName="Center";const Qi={horizontal:{insetStart:"50%",transform:"translateX(-50%)"},vertical:{top:"50%",transform:"translateY(-50%)"},both:{insetStart:"50%",top:"50%",transform:"translate(-50%, -50%)"}};q(function(e,t){const{axis:i="both",...n}=e;return r.jsx(De.div,{ref:t,__css:Qi[i],...n,position:"absolute"})});const[er,oo]=Io({name:"InputGroupStylesContext",errorMessage:`useInputGroupStyles returned is 'undefined'. Seems you forgot to wrap the components in "" `}),ft=q(function(e,t){const i=Mo("Input",e),{children:n,className:a,...s}=Eo(e),c=Oe("chakra-input__group",a),d={},p=_o(n),f=i.field;p.forEach(m=>{i&&(f&&m.type.id==="InputLeftElement"&&(d.paddingStart=f.height??f.h),f&&m.type.id==="InputRightElement"&&(d.paddingEnd=f.height??f.h),m.type.id==="InputRightAddon"&&(d.borderEndRadius=0),m.type.id==="InputLeftAddon"&&(d.borderStartRadius=0))});const u=p.map(m=>{const S=Co({size:m.props?.size||e.size,variant:m.props?.variant||e.variant});return m.type.id!=="Input"?v.cloneElement(m,S):v.cloneElement(m,Object.assign(S,d,m.props))});return r.jsx(De.div,{className:c,ref:t,__css:{width:"100%",display:"flex",position:"relative",isolation:"isolate",...i.group},"data-group":!0,...s,children:r.jsx(er,{value:i,children:u})})});ft.displayName="InputGroup";const tr={left:{marginEnd:"-1px",borderEndRadius:0,borderEndColor:"transparent"},right:{marginStart:"-1px",borderStartRadius:0,borderStartColor:"transparent"}},or=De("div",{baseStyle:{flex:"0 0 auto",width:"auto",display:"flex",alignItems:"center",whiteSpace:"nowrap"}}),vt=q(function(e,t){const{placement:i="left",...n}=e,a=tr[i]??{},s=oo();return r.jsx(or,{ref:t,...n,__css:{...s.addon,...a}})});vt.displayName="InputAddon";const io=q(function(e,t){return r.jsx(vt,{ref:t,placement:"left",...e,className:Oe("chakra-input__left-addon",e.className)})});io.displayName="InputLeftAddon";io.id="InputLeftAddon";const bt=q(function(e,t){return r.jsx(vt,{ref:t,placement:"right",...e,className:Oe("chakra-input__right-addon",e.className)})});bt.displayName="InputRightAddon";bt.id="InputRightAddon";const ir=De("div",{baseStyle:{display:"flex",alignItems:"center",justifyContent:"center",position:"absolute",top:"0",zIndex:2}}),tt=q(function(e,t){const{placement:i="left",...n}=e,a=oo(),s=a.field,d={[i==="left"?"insetStart":"insetEnd"]:"0",width:s?.height??s?.h,height:s?.height??s?.h,fontSize:s?.fontSize,...a.element};return r.jsx(ir,{ref:t,__css:d,...n})});tt.id="InputElement";tt.displayName="InputElement";const ro=q(function(e,t){const{className:i,...n}=e,a=Oe("chakra-input__left-element",i);return r.jsx(tt,{ref:t,placement:"left",className:a,...n})});ro.id="InputLeftElement";ro.displayName="InputLeftElement";const wt=q(function(e,t){const{className:i,...n}=e,a=Oe("chakra-input__right-element",i);return r.jsx(tt,{ref:t,placement:"right",className:a,...n})});wt.id="InputRightElement";wt.displayName="InputRightElement";const b={ACCURACY:"accuracy",ACCURACY_GEOMETRY:"accuracyGeometry",ALTITUDE:"altitude",ALTITUDE_ACCURACY:"altitudeAccuracy",HEADING:"heading",POSITION:"position",PROJECTION:"projection",SPEED:"speed",TRACKING:"tracking",TRACKING_OPTIONS:"trackingOptions"},rr={ERROR:"error"};class nr extends Do{constructor(e){super(rr.ERROR),this.code=e.code,this.message=e.message}}let ar=class extends Po{constructor(e){super(),this.on,this.once,this.un,e=e||{},this.position_=null,this.transform_=Ao,this.watchId_=void 0,this.addChangeListener(b.PROJECTION,this.handleProjectionChanged_),this.addChangeListener(b.TRACKING,this.handleTrackingChanged_),e.projection!==void 0&&this.setProjection(e.projection),e.trackingOptions!==void 0&&this.setTrackingOptions(e.trackingOptions),this.setTracking(e.tracking!==void 0?e.tracking:!1)}disposeInternal(){this.setTracking(!1),super.disposeInternal()}handleProjectionChanged_(){const e=this.getProjection();e&&(this.transform_=No(oe("EPSG:4326"),e),this.position_&&this.set(b.POSITION,this.transform_(this.position_)))}handleTrackingChanged_(){if("geolocation"in navigator){const e=this.getTracking();e&&this.watchId_===void 0?this.watchId_=navigator.geolocation.watchPosition(this.positionChange_.bind(this),this.positionError_.bind(this),this.getTrackingOptions()):!e&&this.watchId_!==void 0&&(navigator.geolocation.clearWatch(this.watchId_),this.watchId_=void 0)}}positionChange_(e){const t=e.coords;this.set(b.ACCURACY,t.accuracy),this.set(b.ALTITUDE,t.altitude===null?void 0:t.altitude),this.set(b.ALTITUDE_ACCURACY,t.altitudeAccuracy===null?void 0:t.altitudeAccuracy),this.set(b.HEADING,t.heading===null?void 0:Ro(t.heading)),this.position_?(this.position_[0]=t.longitude,this.position_[1]=t.latitude):this.position_=[t.longitude,t.latitude];const i=this.transform_(this.position_);this.set(b.POSITION,i.slice()),this.set(b.SPEED,t.speed===null?void 0:t.speed);const n=To(this.position_,t.accuracy);n.applyTransform(this.transform_),this.set(b.ACCURACY_GEOMETRY,n),this.changed()}positionError_(e){this.dispatchEvent(new nr(e))}getAccuracy(){return this.get(b.ACCURACY)}getAccuracyGeometry(){return this.get(b.ACCURACY_GEOMETRY)||null}getAltitude(){return this.get(b.ALTITUDE)}getAltitudeAccuracy(){return this.get(b.ALTITUDE_ACCURACY)}getHeading(){return this.get(b.HEADING)}getPosition(){return this.get(b.POSITION)}getProjection(){return this.get(b.PROJECTION)}getSpeed(){return this.get(b.SPEED)}getTracking(){return this.get(b.TRACKING)}getTrackingOptions(){return this.get(b.TRACKING_OPTIONS)}setProjection(e){this.set(b.PROJECTION,oe(e))}setTracking(e){this.set(b.TRACKING,e)}setTrackingOptions(e){this.set(b.TRACKING_OPTIONS,e)}};const sr=1.2;function lr(o,e=sr){cr(o);const t=Oo(o),i=Vo(o),n=t*e,a=i*e;return[o[0]-(n-t)/2,o[1]-(a-i)/2,o[2]+(n-t)/2,o[3]+(a-i)/2]}function cr(o){if(o.length!==4)throw new Error(`Invalid extent (expected length 4, but got length ${o.length}).`)}const st=.75,Fe=.1;let dr=class extends Go{constructor(e){e=e||{},super({element:document.createElement("div"),render:e.render,target:e.target}),this.boundHandleRotationChanged_=this.handleRotationChanged_.bind(this),this.collapsed_=e.collapsed!==void 0?e.collapsed:!0,this.collapsible_=e.collapsible!==void 0?e.collapsible:!0,this.collapsible_||(this.collapsed_=!1),this.rotateWithView_=e.rotateWithView!==void 0?e.rotateWithView:!1,this.viewExtent_=void 0;const t=e.className!==void 0?e.className:"ol-overviewmap",i=e.tipLabel!==void 0?e.tipLabel:"Overview map",n=e.collapseLabel!==void 0?e.collapseLabel:"‹";typeof n=="string"?(this.collapseLabel_=document.createElement("span"),this.collapseLabel_.textContent=n):this.collapseLabel_=n;const a=e.label!==void 0?e.label:"›";typeof a=="string"?(this.label_=document.createElement("span"),this.label_.textContent=a):this.label_=a;const s=this.collapsible_&&!this.collapsed_?this.collapseLabel_:this.label_,c=document.createElement("button");c.setAttribute("type","button"),c.title=i,c.appendChild(s),c.addEventListener(Fo.CLICK,this.handleClick_.bind(this),!1),this.ovmapDiv_=document.createElement("div"),this.ovmapDiv_.className="ol-overviewmap-map",this.view_=e.view;const d=new zo({view:e.view,controls:new kt,interactions:new kt});this.ovmap_=d,e.layers&&e.layers.forEach(function(k){d.addLayer(k)});const p=document.createElement("div");p.className="ol-overviewmap-box",p.style.boxSizing="border-box",this.boxOverlay_=new Xt({position:[0,0],positioning:"center-center",element:p}),this.ovmap_.addOverlay(this.boxOverlay_);const f=t+" "+Bo+" "+Ho+(this.collapsed_&&this.collapsible_?" "+It:"")+(this.collapsible_?"":" ol-uncollapsible"),u=this.element;u.className=f,u.appendChild(this.ovmapDiv_),u.appendChild(c);const m=this,S=this.boxOverlay_,_=this.boxOverlay_.getElement(),Me=function(k){return{clientX:k.clientX,clientY:k.clientY}},O=function(k){const M=Me(k),Ee=d.getEventCoordinate(M);S.setPosition(Ee)},ie=function(k){const M=d.getEventCoordinateInternal(k);m.getMap().getView().setCenterInternal(M),window.removeEventListener("pointermove",O),window.removeEventListener("pointerup",ie)};this.ovmapDiv_.addEventListener("pointerdown",function(){event.target===_&&window.addEventListener("pointermove",O),window.addEventListener("pointerup",ie)})}setMap(e){const t=this.getMap();if(e!==t){if(t){const i=t.getView();i&&this.unbindView_(i),this.ovmap_.setTarget(null)}if(super.setMap(e),e){this.ovmap_.setTarget(this.ovmapDiv_),this.listenerKeys.push(Uo(e,Wo.PROPERTYCHANGE,this.handleMapPropertyChange_,this));const i=e.getView();i&&this.bindView_(i),this.ovmap_.isRendered()||this.updateBoxAfterOvmapIsRendered_()}}}handleMapPropertyChange_(e){if(e.key===at.VIEW){const t=e.oldValue;t&&this.unbindView_(t);const i=this.getMap().getView();this.bindView_(i)}else!this.ovmap_.isRendered()&&(e.key===at.TARGET||e.key===at.SIZE)&&this.ovmap_.updateSize()}bindView_(e){if(!this.view_){const t=new qo({projection:e.getProjection()});this.ovmap_.setView(t)}e.addChangeListener(Mt.ROTATION,this.boundHandleRotationChanged_),this.handleRotationChanged_(),e.isDef()&&(this.ovmap_.updateSize(),this.resetExtent_())}unbindView_(e){e.removeChangeListener(Mt.ROTATION,this.boundHandleRotationChanged_)}handleRotationChanged_(){this.rotateWithView_&&this.ovmap_.getView().setRotation(this.getMap().getView().getRotation())}validateExtent_(){const e=this.getMap(),t=this.ovmap_;if(!e.isRendered()||!t.isRendered())return;const i=e.getSize(),a=e.getView().calculateExtentInternal(i);if(this.viewExtent_&&$o(a,this.viewExtent_))return;this.viewExtent_=a;const s=t.getSize(),d=t.getView().calculateExtentInternal(s),p=t.getPixelFromCoordinateInternal(Ko(a)),f=t.getPixelFromCoordinateInternal(Yo(a)),u=Math.abs(p[0]-f[0]),m=Math.abs(p[1]-f[1]),S=s[0],_=s[1];uS*st||m>_*st?this.resetExtent_():Zo(d,a)||this.recenter_()}resetExtent_(){const e=this.getMap(),t=this.ovmap_,i=e.getSize(),a=e.getView().calculateExtentInternal(i),s=t.getView(),c=Math.log(st/Fe)/Math.LN2,d=1/(Math.pow(2,c/2)*Fe);Xo(a,d),s.fitInternal(Jo(a))}recenter_(){const e=this.getMap(),t=this.ovmap_,i=e.getView();t.getView().setCenterInternal(i.getCenterInternal())}updateBox_(){const e=this.getMap(),t=this.ovmap_;if(!e.isRendered()||!t.isRendered())return;const i=e.getSize(),n=e.getView(),a=t.getView(),s=this.rotateWithView_?0:-n.getRotation(),c=this.boxOverlay_,d=this.boxOverlay_.getElement(),p=n.getCenter(),f=n.getResolution(),u=a.getResolution(),m=i[0]*f/u,S=i[1]*f/u;if(c.setPosition(p),d){d.style.width=m+"px",d.style.height=S+"px";const _="rotate("+s+"rad)";d.style.transform=_}}updateBoxAfterOvmapIsRendered_(){this.ovmapPostrenderKey_||(this.ovmapPostrenderKey_=Qo(this.ovmap_,ei.POSTRENDER,e=>{delete this.ovmapPostrenderKey_,this.updateBox_()}))}handleClick_(e){e.preventDefault(),this.handleToggle_()}handleToggle_(){this.element.classList.toggle(It),this.collapsed_?Et(this.collapseLabel_,this.label_):Et(this.label_,this.collapseLabel_),this.collapsed_=!this.collapsed_;const e=this.ovmap_;if(!this.collapsed_){if(e.isRendered()){this.viewExtent_=void 0,e.render();return}e.updateSize(),this.resetExtent_(),this.updateBoxAfterOvmapIsRendered_()}}getCollapsible(){return this.collapsible_}setCollapsible(e){this.collapsible_!==e&&(this.collapsible_=e,this.element.classList.toggle("ol-uncollapsible"),!e&&this.collapsed_&&this.handleToggle_())}setCollapsed(e){!this.collapsible_||this.collapsed_===e||this.handleToggle_()}getCollapsed(){return this.collapsed_}getRotateWithView(){return this.rotateWithView_}setRotateWithView(e){this.rotateWithView_!==e&&(this.rotateWithView_=e,this.getMap().getView().getRotation()!==0&&(this.rotateWithView_?this.handleRotationChanged_():this.ovmap_.getView().setRotation(0),this.viewExtent_=void 0,this.validateExtent_(),this.updateBox_()))}getOverviewMap(){return this.ovmap_}render(e){this.validateExtent_(),this.updateBox_()}};const pr=gt({d:"M16 1H4c-1.1 0-2 .9-2 2v14h2V3h12V1zm3 4H8c-1.1 0-2 .9-2 2v14c0 1.1.9 2 2 2h11c1.1 0 2-.9 2-2V7c0-1.1-.9-2-2-2zm0 16H8V7h11v14z",displayName:"CopyIcon"}),ur=gt({d:"M12 8l-6 6 1.41 1.41L12 10.83l4.59 4.58L18 14z",displayName:"ChevronUpIcon"}),hr=gt({displayName:"CloseIcon",d:"M.439,21.44a1.5,1.5,0,0,0,2.122,2.121L11.823,14.3a.25.25,0,0,1,.354,0l9.262,9.263a1.5,1.5,0,1,0,2.122-2.121L14.3,12.177a.25.25,0,0,1,0-.354l9.263-9.262A1.5,1.5,0,0,0,21.439.44L12.177,9.7a.25.25,0,0,1-.354,0L2.561.44A1.5,1.5,0,0,0,.439,2.561L9.7,11.823a.25.25,0,0,1,0,.354Z"}),mr={height:"25px",width:"25px",borderColor:"#4cb3ff",borderWidth:"3px",borderRadius:"50%",display:"inline-block "};function gr(o){return r.jsxs(T,{children:[r.jsx(et,{children:o.layer.title}),r.jsx(T,{style:mr})]})}const ke="main";class fr{mapId=ke;vectorSourceFactory;constructor(e){this.vectorSourceFactory=e.references.vectorSourceFactory}async getMapConfig(){return{initialView:{kind:"position",center:{x:823091,y:6724521},zoom:8},layers:[new ut({title:"OSM",id:"osm",isBaseLayer:!0,olLayer:new Ht({source:new Ut})}),new fi({isBaseLayer:!0,title:"Orthofotos NRW",url:"https://www.wmts.nrw.de/geobasis/wmts_nw_dop/1.0.0/WMTSCapabilities.xml",name:"nw_dop",matrixSet:"EPSG_3857_16",sourceOptions:{attributions:'Die Geobasisdaten des amtlichen Vermessungswesens werden als öffentliche Aufgabe gem. VermKatG NRW und gebührenfrei nach Open Data-Prinzipien über online-Verfahren bereitgestellt. Nutzungsbedingungen: siehe '}}),wr(),br(),vr(this.vectorSourceFactory)]}}}function vr(o){const e="https://ogc-api-test.nrw.de/inspire-us-krankenhaus/v1",t="governmentalservice",i=o.createVectorSource({baseUrl:e,collectionId:t,limit:1e3,crs:"http://www.opengis.net/def/crs/EPSG/0/3857",attributions:`Land NRW (${new Date().getFullYear()}), Datenlizenz Deutschland - Namensnennung - Version 2.0, Datenquelle`}),n=new ht({source:i});return new ut({id:"krankenhaus",title:"Krankenhäuser-Demo-Dienst",visible:!1,olLayer:n,attributes:{collectionURL:e+"/collections/"+t}})}function br(){const o=new Wt({url:"https://ogc-api.nrw.de/inspire-us-kindergarten/v1/collections/governmentalservice/items?f=json&limit=10000",format:new eo,attributions:'© Bundesamt für Kartographie und Geodäsie 2017, Datenquellen'}),e=new ht({source:o}),t={Component:gr};return new ut({id:"ogc_kitas",title:"Kindertagesstätten",visible:!0,olLayer:e,attributes:{legend:t}})}function wr(){return new mi({title:"Verwaltungsgebiete",id:"verwaltungsgebiete",visible:!1,url:"https://www.wms.nrw.de/geobasis/wms_nw_dvg",sublayers:[{name:"nw_dvg_krs",title:"Kreise und kreisfreie Städte"}]})}const yr="200px",xr="300px",Sr=o=>{const{olLayer:e,height:t=yr,width:i=xr}=o,{containerProps:n}=xe("overview-map",o),a=v.useRef(null),{map:s}=Se(o);return v.useEffect(()=>{if(a.current&&s&&e){const c=s.olMap,d=new dr({className:"ol-overviewmap",layers:[e],collapsible:!1,collapsed:!1,target:a.current});return c.addControl(d),()=>{c.removeControl(d)}}},[s,e]),r.jsx(T,{height:t,width:i,ref:a,...n})};function kr({intl:o}){return{id:"overviewMap",title:o.formatMessage({id:"demos.overviewMap.title"}),createModel(){const e=new Ht({source:new Ut});return{description:o.formatMessage({id:"demos.overviewMap.description"}),mainWidget:r.jsx(Sr,{olLayer:e}),destroy(){e.dispose()}}}}}class Ir{label;filteredTypes;httpService;constructor(e,t,i){this.label=e,this.filteredTypes=t,this.httpService=i}async search(e,{mapProjection:t,signal:i}){const n=await this.request(e,100,i),a=new eo({dataProjection:"EPSG:4326",featureProjection:t});return n.features.filter(s=>this.filteredTypes.includes(s.properties.type)).map((s,c)=>{const d=a.readGeometry(s.geometry);return{id:s.properties.osm_id||c,label:this.createLabel(s),geometry:d,properties:s.properties}})}async request(e,t,i){const n=new URL("https://photon.komoot.io/api?");n.searchParams.set("q",e),n.searchParams.set("lang","de"),n.searchParams.set("lat","51.961563"),n.searchParams.set("lon","7.628202"),n.searchParams.set("limit",t.toString());const a=await this.httpService.fetch(n,{signal:i});if(!a.ok)throw new Error("Request failed: "+a.status);return await a.json()}createLabel(e){return`${e.properties.name} (${e.properties.osm_value?e.properties.osm_value+", ":""}${e.properties.postcode?e.properties.postcode+", ":""}${e.properties.city?e.properties.city+", ":""}${e.properties.country?e.properties.country+")":")"}`}}function Mr({intl:o,httpService:e,mapModel:t}){return{id:"searchAndHighlight",title:o.formatMessage({id:"demos.searchAndHighlight.title"}),createModel(){return new Er(o,t,e)}}}var Ce,je,ne,Ue,ae,Ft;let Er=(Ft=class{constructor(e,t,i){h(this,Ce);h(this,je);h(this,ne);w(this,"description");w(this,"mainWidget");h(this,Ue,e=>{const t=e.result.geometry;t&&(l(this,ae).call(this),g(this,ne,_r(l(this,je),[t])))});h(this,ae,()=>{l(this,ne)?.destroy(),g(this,ne,void 0)});g(this,Ce,new Ir("Photon Geocoder",["city","street"],i)),g(this,je,t),this.description=e.formatMessage({id:"demos.searchAndHighlight.description"}),this.mainWidget=r.jsx(vi,{sources:[l(this,Ce)],onSelect:l(this,Ue),onClear:l(this,ae)})}destroy(){l(this,ae).call(this)}},Ce=new WeakMap,je=new WeakMap,ne=new WeakMap,Ue=new WeakMap,ae=new WeakMap,Ft);function _r(o,e){const t=o.olMap.getViewport();return o.highlightAndZoom(e,{viewPadding:t&&t.offsetWidth<1e3?{top:150,right:75,bottom:50,left:75}:{top:150,right:400,bottom:50,left:400}})}const no="@open-pioneer/geolocation",Cr=Je.bind(void 0,no),ao=Ve.bind(void 0,no);function jr(o){return Ni({tag:"svg",attr:{viewBox:"0 0 24 24"},child:[{tag:"path",attr:{fill:"none",d:"M0 0h24v24H0z"},child:[]},{tag:"path",attr:{d:"M12 8c-2.21 0-4 1.79-4 4s1.79 4 4 4 4-1.79 4-4-1.79-4-4-4zm8.94 3A8.994 8.994 0 0 0 13 3.06V1h-2v2.06A8.994 8.994 0 0 0 3.06 11H1v2h2.06A8.994 8.994 0 0 0 11 20.94V23h2v-2.06A8.994 8.994 0 0 0 20.94 13H23v-2h-2.06zM12 19c-3.87 0-7-3.13-7-7s3.13-7 7-7 7 3.13 7 7-3.13 7-7 7z"},child:[]}]})(o)}const Lt=ye("geolocation:GeolocationController"),Pt=17;var $,K;class Lr{constructor(e,t,i){w(this,"supported",!!navigator.geolocation);w(this,"map");w(this,"positionHighlightLayer");w(this,"geolocation");w(this,"onError");w(this,"maxZoom",Pt);w(this,"accuracyFeature");w(this,"positionFeature");w(this,"changeHandlers",[]);w(this,"setMapToPosition",!0);w(this,"trackingOptions",{});w(this,"isInitialZoom",!0);h(this,$,E(!1));h(this,K,E(!1));this.map=e,this.onError=t,this.isInitialZoom=!0,this.accuracyFeature=new _t,this.accuracyFeature.setStyle(Nt()),this.positionFeature=new _t,this.positionFeature.setStyle(At()),this.positionHighlightLayer=new ht({source:new Wt({features:[this.accuracyFeature,this.positionFeature]})}),this.positionHighlightLayer.setZIndex(ti);const n=i||Pr();this.geolocation=new ar({tracking:!1,trackingOptions:n,projection:e.olView?.getProjection()}),this.trackingOptions=n,this.geolocation.on("error",a=>this.handleGeolocationError(a))}destroy(){this.stopGeolocation(),this.geolocation?.setTracking(!1),this.geolocation.dispose(),this.accuracyFeature=void 0,this.positionFeature=void 0,this.positionHighlightLayer.dispose()}startGeolocation(){if(l(this,K).value)return;new Promise(t=>{l(this,K).value=!0,l(this,$).value=!0,this.geolocation?.setProjection(this.map.olView?.getProjection()),this.geolocation?.setTracking(!0);const i=this.geolocation.on("change:accuracyGeometry",()=>{const c=this.geolocation.getAccuracyGeometry()||void 0;if(this.accuracyFeature?.setGeometry(c),this.accuracyFeature?.getGeometry()!==void 0&&t(),this.isInitialZoom){const d=this?.accuracyFeature?.getGeometry()?.getExtent();if(d){const p=lr(d);if(!p)return;this.map.olView.fit(p,{maxZoom:this.maxZoom}),this.isInitialZoom=!1}}}),n=this.geolocation.on("change:position",()=>{const c=this.geolocation.getPosition();c&&(c[0]||c[1])!==void 0&&(this.positionFeature?.setGeometry(new oi(c)),this.setMapToPosition&&this.map.olView.setCenter(c),this.positionFeature?.getGeometry()!==void 0&&t())}),a=this.map.olView.on("change:resolution",()=>{this.setMapToPosition=this.isInitialZoom}),s=this.map.olMap.on("pointermove",c=>{c.dragging&&(this.setMapToPosition=!1)});this.changeHandlers.push(i,n,a,s),this.map.olMap.addLayer(this.positionHighlightLayer)}).then(()=>{l(this,$).value=!1}).catch(t=>{Lt.error("Failed to determine location",t)})}stopGeolocation(){this.geolocation?.setTracking(!1),l(this,K).value=!1,l(this,$).value=!1,this.trackingOptions={},this.setMapToPosition=!0,this.isInitialZoom=!0,this.changeHandlers.forEach(e=>{Be(e)}),this.changeHandlers=[],this.accuracyFeature?.setGeometry(void 0),this.positionFeature?.setGeometry(void 0),this.map.olMap.removeLayer(this.positionHighlightLayer)}get active(){return l(this,K).value}get loading(){return l(this,$).value}setPositionFeatureStyle(e){this.positionFeature?.setStyle(e??At())}setAccuracyFeatureStyle(e){this.accuracyFeature?.setStyle(e??Nt())}setMaxZoom(e){this.maxZoom=e??Pt}getMaxZoom(){return this.maxZoom}getPositionFeature(){return this.positionFeature}getAccuracyFeature(){return this.accuracyFeature}getTrackingOptions(){return this.trackingOptions}getGeolocation(){return this.geolocation}handleGeolocationError(e){Lt.error("Error from geolocation API:",e.message),this.stopGeolocation();const t=(()=>{switch(e.code){case 1:return"permission-denied";case 2:return"position-unavailable";case 3:return"timeout";default:return"unknown"}})();this.onError(t)}}$=new WeakMap,K=new WeakMap;const At=()=>new qt({image:new ii({radius:6,fill:new $t({color:"#3399CC"}),stroke:new Kt({color:"#fff",width:2})})}),Nt=()=>new qt({stroke:new Kt({color:"#3399CC",width:3}),fill:new $t({color:"rgba(0, 0, 255, 0.05)"})}),Pr=()=>({enableHighAccuracy:!0,timeout:6e4,maximumAge:6e5}),Ar=v.forwardRef(function(e,t){const{maxZoom:i,positionFeatureStyle:n,accuracyFeatureStyle:a,trackingOptions:s}=e,{map:c}=Se(e),d=Rr(c,i,s,n,a);return d&&r.jsx(Nr,{...e,controller:d,ref:t})}),Nr=v.forwardRef(function(e,t){const{controller:i}=e,{containerProps:n}=xe("geolocation",e),{isLoading:a,isActive:s}=D(()=>({isLoading:i.loading,isActive:i.active}),[i]),c=ao(),d=i.supported?s?c.formatMessage({id:"locateMeEnd"}):c.formatMessage({id:"locateMeStart"}):c.formatMessage({id:"locateNotSupported"}),p=()=>{i.active?i.stopGeolocation():i.startGeolocation()};return r.jsx(ji,{ref:t,label:d,icon:r.jsx(jr,{}),onClick:()=>p(),isActive:s,isLoading:a,isDisabled:!i.supported,...n})});function Rr(o,e,t,i,n){const a=ao(),s=Cr("notifier.NotificationService"),[c,d]=v.useState();return v.useEffect(()=>{if(!o)return;const p=u=>{const m=a.formatMessage({id:"error"}),S=(()=>{switch(u){case"permission-denied":return a.formatMessage({id:"permissionDenied"});case"position-unavailable":return a.formatMessage({id:"positionUnavailable"});case"timeout":return a.formatMessage({id:"timeout"});case"unknown":return a.formatMessage({id:"unknownError"})}})();s.notify({level:"error",title:m,message:S})},f=new Lr(o,p,t);return d(f),()=>{f.destroy(),d(void 0)}},[o,t,a,s]),v.useEffect(()=>{c?.setPositionFeatureStyle(i)},[c,i]),v.useEffect(()=>{c?.setAccuracyFeatureStyle(n)},[c,n]),v.useEffect(()=>{c?.setMaxZoom(e)},[c,e]),c}const Tr="@open-pioneer/scale-setter",Dr=Ve.bind(void 0,Tr),Or=[17471320,8735660,4367830,2183915,1091957,545978,272989,136494,68247,34123,17061,8530,4265,2132],Vr=o=>{const{scales:e=Or}=o,{containerProps:t}=xe("scale-setter",o),{map:i}=Se(o),n=Dr(),a=D(()=>i?.scale??1,[i]),s=e.map(d=>r.jsx(zi,{value:d,onClick:()=>i?.setScale(d),onFocus:p=>{p.target?.scrollIntoView?.({block:"nearest"})},className:"scale-setter-option",children:Rt(n,d)},d)),c=Rt(n,a);return r.jsx(T,{...t,children:r.jsxs(Ui,{isLazy:!0,children:[r.jsx(Bi,{as:ee,rightIcon:r.jsx(ur,{}),className:"scale-setter-menubutton","aria-label":n.formatMessage({id:"button.ariaLabel"},{scale:c}),"aria-description":n.formatMessage({id:"button.ariaDescription"}),children:c}),r.jsx(Bt,{children:r.jsx(Hi,{className:"scale-setter-menuoptions",maxHeight:"20em",overflowY:"auto",children:s})})]})})};function Rt(o,e){return"1 : "+o.formatNumber(e)}const so="@open-pioneer/spatial-bookmarks",Gr=Je.bind(void 0,so),Fr=Ve.bind(void 0,so),F=ye("spatial-bookmark:SpatialBookmarkViewModel");class zr{map;packageNamespace;writableBookmarks=ri([]);watchBookmarksHandle;get bookmarks(){return this.writableBookmarks.getItems()}constructor(e,t){this.map=e,this.packageNamespace=t.getNamespace("spatial-bookmarks"),this.loadState(),this.watchBookmarksHandle=mt(()=>[this.writableBookmarks.getItems()],([i])=>this.saveState(i),{immediate:!1})}destroy(){this.watchBookmarksHandle.destroy()}createBookmark(e){const t=this.map.olView.calculateExtent(),i=this.map.projection.getCode(),n={minX:t[0],minY:t[1],maxX:t[2],maxY:t[3]},a={id:ni(),title:e,extent:n,projection:i};F.debug("Created a new bookmark",a),this.writableBookmarks.push(a)}activateBookmark(e){F.debug("Activating bookmark",e);const t=this.getBookmarkExtent(e);F.debug("Attempting to apply extent",t),this.applyExtent(t)}deleteBookmark(e){F.debug("Deleting bookmark",e);const t=this.writableBookmarks.findIndex(i=>i.id===e);t>-1&&this.writableBookmarks.splice(t,1)}deleteAllBookmarks(){F.debug("Deleting all bookmarks"),this.writableBookmarks.splice(0)}loadState(){F.debug("Restoring bookmarks from local storage");const e=this.packageNamespace.get("bookmarks")??[];try{Br(e),this.writableBookmarks.push(...e)}catch(t){F.error("Bookmarks data in local storage is invalid, resetting to default value.",t),this.writableBookmarks.splice(0),this.saveState([])}}saveState(e){F.debug("Saving bookmarks to local storage"),this.packageNamespace.set("bookmarks",e)}getBookmarkExtent(e){const t=this.map.olView,i=e.extent,n=[i.minX,i.minY,i.maxX,i.maxY],a=t.getProjection(),s=e.projection;return ai(n,s,a)}applyExtent(e){const t=this.map.olView,i=si(e),n=t.getResolutionForExtent(e);t.setCenter(i),t.setResolution(n)}}function Br(o){if(!Array.isArray(o))throw new Error("Expected bookmarks from local storage to be an array.");for(const e of o)Hr(e)}function Hr(o){if(!o||typeof o!="object")throw new Error("Expected bookmark from local storage to be an object.");const e=o;if(typeof e.id!="string")throw new Error("Bookmark does not have a valid id.");if(typeof e.title!="string")throw new Error("Bookmark does not have a valid title.");if(Ur(e.extent),typeof e.projection!="string")throw new Error("Bookmark does not have a valid projection value.")}function Ur(o){if(!o||typeof o!="object")throw new Error("Expected bookmark extent from local storage to be an object.");const e=o;if(typeof e.minX!="number"||typeof e.minY!="number"||typeof e.maxX!="number"||typeof e.maxY!="number")throw new Error("Expected bookmark extent from local storage to have valid coordinates.")}const Wr=o=>{const{map:e}=Se(o),t=Gr("local-storage.LocalStorageService"),i=Jr(e,t);return i&&r.jsx(qr,{...o,viewModel:i})};function qr(o){const{viewModel:e}=o,t=Fr(),i=v.useRef([]),[n,a]=v.useState(!1),s=D(()=>e.bookmarks,[e]),[c,d]=v.useState(""),p=c.trim().length>0,{containerProps:f}=xe("spatial-bookmarks",o),[u,m]=v.useState("list"),S=()=>{e.deleteAllBookmarks(),m("list")},_=()=>{p&&(e.createBookmark(c),m("list"),d(""),a(!0))};v.useEffect(()=>{if(n){const M=i.current;M&&M[s.length-1]?.scrollIntoView?.(),a(!1)}},[s,n]);const Me=()=>r.jsxs(lt,{children:[r.jsxs(rt,{rounded:"md",status:"warning",children:[r.jsx(nt,{}),t.formatMessage({id:"bookmark.alert.delete"})]}),r.jsx(Zr,{intl:t,onClear:S,onCancel:()=>m("list")})]}),O=()=>r.jsxs(lt,{children:[r.jsxs(rt,{rounded:"md",status:"info",children:[r.jsx(nt,{}),t.formatMessage({id:"bookmark.alert.create"})]}),r.jsx(Jt,{"aria-label":t.formatMessage({id:"bookmark.input.label"}),placeholder:t.formatMessage({id:"bookmark.input.placeholder"}),value:c,onChange:M=>{d(M.target.value)},onKeyDown:M=>{M.key==="Enter"&&_()},isRequired:!0,isInvalid:!p,autoFocus:!0}),r.jsx(Xr,{intl:t,isInvalid:!p,onCancel:()=>{d(""),m("list")},onSave:_})]}),ie=()=>r.jsxs(r.Fragment,{children:[s.length?$r(s,e,t,i):r.jsxs(rt,{rounded:"md",status:"info",children:[r.jsx(nt,{}),t.formatMessage({id:"bookmark.alert.noSaved"})]}),r.jsx(Yr,{intl:t,bookmarks:s,showCreate:()=>m("create"),showDelete:()=>m("delete")})]}),k=r.jsxs(r.Fragment,{children:[u==="list"&&ie(),u==="create"&&O(),u==="delete"&&Me()]});return r.jsx(j,{flexDirection:"column",...f,children:k})}function $r(o,e,t,i){const n=t.formatMessage({id:"bookmark.button.deleteOne"}),a=o.map((s,c)=>r.jsx(Kr,{index:c,listItemNodes:i,bookmark:s,onActivate:()=>e.activateBookmark(s),onDelete:()=>e.deleteBookmark(s.id),deleteBtnLabel:n},s.id));return r.jsx(Pi,{as:"ul",className:"spatial-bookmark-list",role:"listbox","aria-label":t.formatMessage({id:"bookmark.list.label"}),flexShrink:1,flexGrow:1,p:1,spacing:1,overflowY:"auto",listStyleType:"none",children:a})}const Tt={ArrowDown:1,ArrowUp:-1};function Kr(o){const{index:e,listItemNodes:t,bookmark:i,onDelete:n,onActivate:a,deleteBtnLabel:s}=o,c=i.title,d=p=>{const f=p.key;if(f==="Enter"){p.target===p.currentTarget&&a();return}if(Tt[f]!=null){const u=t.current?.length;if(!u)return;let m=(e+Tt[f])%u;m<0&&(m=u-1),t.current[m]?.focus()}};return r.jsx(T,{as:"li",p:1,ref:p=>{if(!p){t.current.splice(e,1);return}t.current[e]=p},className:li("spatial-bookmarks-item"),tabIndex:0,rounded:"md",role:"option",cursor:"pointer",outline:0,_hover:{background:"trails.50"},_focusVisible:{boxShadow:"outline"},onKeyDown:d,onClick:a,children:r.jsxs(j,{width:"100%",flexDirection:"row",align:"center",gap:1,children:[r.jsx(to,{children:r.jsx(gi,{})}),r.jsx(et,{ps:2,noOfLines:1,children:c}),r.jsx(Wi,{}),r.jsx(pt,{hasArrow:!0,label:s,placement:"right",children:r.jsx(ee,{className:"spatial-bookmarks-item-delete","aria-label":s,borderRadius:"full",iconSpacing:0,padding:0,colorScheme:"red",variant:"ghost",leftIcon:r.jsx(Zt,{}),onClick:p=>{n(),p.stopPropagation()}})},e)]})})}function Yr(o){const{intl:e,bookmarks:t,showCreate:i,showDelete:n}=o;return r.jsxs(yt,{children:[r.jsx(ve,{isDisabled:t.length===0,colorScheme:"red",width:void 0,iconSpacing:0,leftIcon:r.jsx(Zt,{}),onClick:n,"aria-label":e.formatMessage({id:"bookmark.button.deleteAll"}),variant:"outline"}),r.jsx(ve,{onClick:i,width:"100%",children:e.formatMessage({id:"bookmark.button.create"})})]})}function Zr(o){const{intl:e,onCancel:t,onClear:i}=o;return r.jsxs(yt,{children:[r.jsx(ve,{variant:"outline",onClick:t,children:e.formatMessage({id:"bookmark.button.cancelDelete"})}),r.jsx(ve,{onClick:i,children:e.formatMessage({id:"bookmark.button.confirmDelete"})})]})}function Xr(o){const{intl:e,onCancel:t,onSave:i,isInvalid:n}=o;return r.jsxs(yt,{children:[r.jsx(ve,{variant:"outline",onClick:()=>t(),children:e.formatMessage({id:"bookmark.button.cancel"})}),r.jsx(ve,{isDisabled:n,onClick:()=>i(),children:e.formatMessage({id:"bookmark.button.save"})})]})}function yt(o){return r.jsx(j,{width:"100%",flexDirection:"row",mt:2,gap:1,flexGrow:0,flexShrink:0,children:o.children})}function ve(o){return r.jsx(ee,{width:"100%",...o})}function Jr(o,e){const[t,i]=v.useState();return v.useEffect(()=>{let n;return o?n=new zr(o,e):n=void 0,i(n),()=>n?.destroy()},[o,e]),t}const lo="@open-pioneer/coordinate-search",Qr=Je.bind(void 0,lo),Ge=Ve.bind(void 0,lo);function en(o){const{isInputValid:e,coordinateSearchInput:t,setCoordinateSearchInput:i,placeholder:n,placeholderString:a,onClear:s,onEnter:c}=o,d=Ge(),p=r.jsx(Jt,{type:"text",value:t,onChange:u=>{i(u.target.value)},isInvalid:!e,backgroundColor:e?"undefined":"red.100",placeholder:a,errorBorderColor:"red.500","aria-label":d.formatMessage({id:"coordinateInput.ariaLabel"}),borderRightRadius:0,onKeyDown:u=>{u.key=="Enter"&&c()}});let f=null;return t!==""?f=r.jsx(Dt,{className:"coordinate-input-clear-button",label:d.formatMessage({id:"coordinateInput.clearPlaceholder"}),onClick:()=>{i(""),s?.()},icon:r.jsx(hr,{})}):typeof n=="object"&&(f=r.jsx(Dt,{className:"coordinate-input-copy-button",label:d.formatMessage({id:"coordinateInput.copyPlaceholder"}),onClick:()=>{navigator.clipboard.writeText(a)},icon:r.jsx(pr,{})})),r.jsxs(ft,{className:"coordinate-input-field-group",children:[p,f]})}function Dt(o){const{className:e,label:t,onClick:i,icon:n}=o;return r.jsx(wt,{children:r.jsx(pt,{label:t,children:r.jsx(qi,{className:e,size:"sm",onClick:i,padding:0,icon:n,"aria-label":t})})})}const tn=ye("coordinate-search");function on(o,e,t){if(o=="")return z("empty");if(!o.includes(" "))return z("tooltip.space");if(o.indexOf(" ")!=o.lastIndexOf(" "))return z("tooltip.spaceOne");const i=o.split(" ");if(i.length!=2||i[0]==""||i[1]=="")return z("tooltip.2coords");const n=e.parseNumber(i[0]),a=e.parseNumber(i[1]),s=[n,a];if(s.some(c=>Number.isNaN(c)))return z("tooltip.invalidNumbers");try{if(!Ot(t,s)||!Ot(oe("EPSG:4326"),Qe(s,t,"EPSG:4326")))return z("tooltip.extent")}catch(c){return tn.warn("Failed to check if coordinates are in projection extent",c),z("tooltip.projection")}return{kind:"success",projection:t,coordinates:s}}function z(o){return{kind:o}}function Ot(o,e){const t=o.getExtent();if(!t||t.length!==4)return!0;if(!e||e.length!==2)throw new Error(`Internal error: invalid coordinates ${e}.`);return t[0]<=e[0]&&t[1]<=e[1]&&t[2]>=e[0]&&t[3]>=e[1]}function co(o,e,t){if(o[0]==null||o[1]==null)return"";const[i,n]=o,a=t.formatNumber(i,{maximumFractionDigits:e,minimumFractionDigits:e}),s=t.formatNumber(n,{maximumFractionDigits:e,minimumFractionDigits:e});return a+" "+s}const rn=v.memo(function(e){const{currentProjection:t,projections:i,portalElement:n,onProjectionChange:a}=e,s=Ge(),c=nn(s),[d,p]=v.useState(!1),f=dt(u=>{!d&&u.key==="Enter"&&p(!0)});return r.jsx(Ai,{value:t,defaultValue:t,options:i,menuPlacement:"auto",menuPortalTarget:n.current,"aria-label":s.formatMessage({id:"coordinateInput.ariaLabel"}),classNamePrefix:"coordinate-input-select",isSearchable:!1,chakraStyles:{menu:u=>({...u,width:"max-content",minWidth:"100%"}),control:(u,{selectProps:{menuIsOpen:m}})=>({...u,width:"max-content",minWidth:"100%",color:"white",borderLeftStyle:"none",borderLeftRadius:0,padding:0,backgroundColor:`${m?"rgb(27, 75, 95)":"var(--chakra-colors-background_primary)"}`,_focus:{boxShadow:"var(--chakra-shadows-outline)"}}),valueContainer:u=>({...u,paddingEnd:0,cursor:"pointer"}),dropdownIndicator:(u,{selectProps:{menuIsOpen:m}})=>({...u,paddingStart:0,backgroundColor:`${m?"rgb(27, 75, 95)":"var(--chakra-colors-background_primary)"}`}),option:u=>({...u,_focus:{background:"var(--chakra-colors-trails-300)"}}),indicatorSeparator:(u,{selectProps:{menuIsOpen:m}})=>({...u,backgroundColor:`${m?"rgb(27, 75, 95)":"var(--chakra-colors-background_primary)"}`,borderColor:`${m?"rgb(27, 75, 95)":"var(--chakra-colors-background_primary)"}`})},ariaLiveMessages:c,onChange:u=>{u?.value!==void 0&&a(u)},onKeyDown:f,menuIsOpen:d,onMenuOpen:()=>p(!0),onMenuClose:()=>p(!1)})});function nn(o){return v.useMemo(()=>({onFocus:()=>"",onChange:a=>a.action=="select-option"||a.action=="initial-input-focus"?a.label+" "+o.formatMessage({id:"selected"}):"",guidance:()=>"",onFilter:()=>""}),[o])}function an(o,e,t){const i=Ge();return v.useMemo(()=>{let n;if(typeof o=="string")n=o;else if(!e)n="";else{const a=Qe(o,e,t.value);n=co(a,t.precision,i)}return n},[o,e,t,i])}const sn=3,ln=[{label:"WGS 84",value:oe("EPSG:4326"),precision:3},{label:"Web Mercator",value:oe("EPSG:3857"),precision:2}],po=o=>{const{onSelect:e,onClear:t,projections:i=ln,input:n,placeholder:a=""}=o,{containerProps:s}=xe("coordinate-input",o),{map:c}=Se(o),d=Ge(),p=D(()=>c?.projection,[c]),f=pn(i),[u,m]=v.useState(f[0]),S=dt(ot=>{if(!e||ot.kind!=="success"||p==null)return;const xo=Qe(ot.coordinates,ot.projection,p);e({coords:xo,projection:p})}),[_,Me,O]=cn(n,p,u,S),ie=an(a,p,u),k=O.kind==="success"||O.kind==="empty",M=dt(()=>{S(O)}),Ee=v.useRef(null);return r.jsxs(T,{...s,children:[r.jsx(Bt,{children:r.jsx("div",{ref:Ee})}),r.jsx(j,{flexDirection:"row",flexDir:"row",children:r.jsx(pt,{label:k?void 0:d.formatMessage({id:O.kind}),hasArrow:!0,placement:"auto",isOpen:!k,className:"coordinate-input-tooltip",children:r.jsxs(ft,{className:"coordinate-input-group",children:[r.jsx(en,{coordinateSearchInput:_,setCoordinateSearchInput:Me,placeholder:a,placeholderString:ie,onClear:t,isInputValid:k,onEnter:M}),r.jsx(bt,{padding:"0px",borderLeft:"0px",children:r.jsx(rn,{portalElement:Ee,currentProjection:u,projections:f,onProjectionChange:m})})]})})})]})};function cn(o,e,t,i){const n=Ge(),a=Qr("runtime.NumberParserService"),[s]=v.useState(()=>new dn(n,t,a));v.useEffect(()=>{const f=o!==s.inputProp||t!==s.selectedProjection;if(s.setI18n(n,a),s.setInputProp(o),s.setSelectedProjection(t),s.setMapProjection(e),f){const u=s.validationResult;i(u)}},[s,n,a,o,t,e,i]);const{rawInput:c,validationResult:d}=D(()=>({rawInput:s.rawInput,validationResult:s.validationResult}),[s]),p=v.useCallback(f=>{s.setText(f)},[s]);return[c,p,d]}var se,V,le,Y,ce,Z,We,de,ze;class dn{constructor(e,t,i){h(this,de);h(this,se);h(this,V);h(this,le,E());h(this,Y,E());h(this,ce);h(this,Z,E(""));h(this,We,Yt(()=>on(l(this,Z).value,l(this,ce).value,l(this,V).value.value)));g(this,se,E(e)),g(this,V,E(t)),g(this,ce,E(i))}get inputProp(){return l(this,Y).value}get rawInput(){return l(this,Z).value}get validationResult(){return l(this,We).value}get selectedProjection(){return l(this,V).value}setI18n(e,t){l(this,se).value=e,l(this,ce).value=t}setText(e){l(this,Z).value=e}setSelectedProjection(e){e!==l(this,V).value&&(l(this,V).value=e,y(this,de,ze).call(this))}setInputProp(e){e!==l(this,Y).value&&(l(this,Y).value=e,y(this,de,ze).call(this))}setMapProjection(e){e!==l(this,le).value&&(l(this,le).value=e,y(this,de,ze).call(this))}}se=new WeakMap,V=new WeakMap,le=new WeakMap,Y=new WeakMap,ce=new WeakMap,Z=new WeakMap,We=new WeakMap,de=new WeakSet,ze=function(){const e=l(this,Y).value,t=l(this,le).value,i=l(this,V).value,n=l(this,se).value;if(t&&e){const a=Qe(e,t,i.value),s=co(a,i.precision,n);l(this,Z).value=s}};function pn(o){return v.useMemo(()=>o.flatMap(t=>oe(t.value)!=null?{label:t.label,value:oe(t.value),precision:t.precision??sn}:[]),[o])}const un=o=>{const{onSelect:e,onClear:t,projections:i}=o,{containerProps:n}=xe("coordinate-search",o),{map:a}=Se(o),s=a?.olMap,{coordinates:c}=hn(s);return r.jsx(po,{...n,mapId:o.mapId,onSelect:d=>{a&&(s?.getView().setCenter(d.coords),e?.(d))},onClear:t,placeholder:c||"",projections:i})};function hn(o){const[e,t]=v.useState();return v.useEffect(()=>{if(!o)return;const i=o.on("pointermove",n=>{t(n.coordinate)});return()=>Be(i)},[o]),{coordinates:e}}function mn({intl:o}){return{id:"coordinateViewer",title:o.formatMessage({id:"demos.coordinateViewer.title"}),createModel(){return{description:o.formatMessage({id:"demos.coordinateViewer.description"}),mainWidget:r.jsx(bi,{})}}}}function gn({intl:o,notificationService:e}){return{id:"coordinateInput",title:o.formatMessage({id:"demos.coordinateInput.title"}),createModel(){return{description:o.formatMessage({id:"demos.coordinateInput.description"}),mainWidget:r.jsx(fn,{notificationService:e,intl:o})}}}}function fn(o){const{notificationService:e,intl:t}=o,[i,n]=v.useState();function a(c,d){e.notify({level:"info",message:t.formatMessage({id:"demos.coordinateInput.entered"},{coordinates:c.toString(),projection:d.getCode()}),displayDuration:4e3})}function s(){e.notify({level:"info",message:t.formatMessage({id:"demos.coordinateSearch.cleared"}),displayDuration:4e3}),n(void 0)}return r.jsxs(j,{direction:"column",gap:10,children:[r.jsx(po,{mapId:ke,input:i,placeholder:t.formatMessage({id:"demos.coordinateInput.placeholder"}),onSelect:({coords:c,projection:d})=>a(c,d),onClear:s,projections:[{label:"EPSG:25832",value:"EPSG:25832"},{label:"WGS 84",value:"EPSG:4326"},{label:"Web Mercator",value:"EPSG:3857"},{label:"EPSG:25833",value:"EPSG:25833"},{label:"EPSG:31466",value:"EPSG:31466"},{label:"EPSG:31467",value:"EPSG:31467"},{label:"EPSG:3035",value:"EPSG:3035"}]}),r.jsx(ee,{onClick:()=>{n([761166,6692084])},children:t.formatMessage({id:"demos.coordinateInput.setInput"})})]})}function vn({intl:o,notificationService:e}){return{id:"coordinateSearch",title:o.formatMessage({id:"demos.coordinateSearch.title"}),createModel(){return{description:o.formatMessage({id:"demos.coordinateSearch.description"}),mainWidget:r.jsx(bn,{notificationService:e,intl:o})}}}}function bn(o){const{notificationService:e,intl:t}=o;function i(a,s){e.notify({level:"info",message:t.formatMessage({id:"demos.coordinateSearch.entered"},{coordinates:a.toString(),projection:s.getCode()}),displayDuration:4e3})}function n(){e.notify({level:"info",message:t.formatMessage({id:"demos.coordinateSearch.cleared"}),displayDuration:4e3})}return r.jsx(j,{direction:"column",gap:10,children:r.jsx(un,{mapId:ke,onSelect:({coords:a,projection:s})=>i(a,s),onClear:n,projections:[{label:"EPSG:25832",value:"EPSG:25832"},{label:"WGS 84",value:"EPSG:4326"},{label:"Web Mercator",value:"EPSG:3857"},{label:"EPSG:25833",value:"EPSG:25833"},{label:"EPSG:31466",value:"EPSG:31466"},{label:"EPSG:31467",value:"EPSG:31467"},{label:"EPSG:3035",value:"EPSG:3035"}]})})}function wn({intl:o}){return{id:"scaleViewer",title:o.formatMessage({id:"demos.scaleViewer.title"}),createModel(){return{description:o.formatMessage({id:"demos.scaleViewer.description"}),mainWidget:r.jsx(wi,{})}}}}function yn({intl:o}){return{id:"scaleSetter",title:o.formatMessage({id:"demos.scaleSetter.title"}),createModel(){return{description:o.formatMessage({id:"demos.scaleSetter.description"}),mainWidget:r.jsx(Vr,{})}}}}function xn({intl:o}){return{id:"scaleBar",title:o.formatMessage({id:"demos.scaleBar.title"}),createModel(){return{description:o.formatMessage({id:"demos.scaleBar.description"}),tools:r.jsx(yi,{})}}}}function Sn({intl:o}){return{id:"measurement",title:o.formatMessage({id:"demos.measurement.title"}),createModel(){return{description:o.formatMessage({id:"demos.measurement.description"}),mainWidget:r.jsx(xi,{})}}}}function kn({intl:o}){return{id:"mapNavigation",title:o.formatMessage({id:"demos.mapNavigation.title"}),createModel(){return{description:o.formatMessage({id:"demos.mapNavigation.description"}),tools:r.jsxs(r.Fragment,{children:[r.jsx(Ri,{}),r.jsx(Ti,{}),r.jsx(Di,{}),r.jsx(Oi,{}),r.jsx(Vi,{})]})}}}}function In({intl:o}){return{id:"geolocation",title:o.formatMessage({id:"demos.geolocation.title"}),createModel(){return{description:o.formatMessage({id:"demos.geolocation.description"}),tools:r.jsx(Ar,{})}}}}function Mn({intl:o}){return{id:"spatialBookmarks",title:o.formatMessage({id:"demos.spatialBookmarks.title"}),createModel(){return{description:o.formatMessage({id:"demos.spatialBookmarks.description"}),mainWidget:r.jsx(Wr,{})}}}}function En({intl:o}){return{id:"printing",title:o.formatMessage({id:"demos.printing.title"}),createModel(){return{description:o.formatMessage({id:"demos.printing.description"}),mainWidget:r.jsx(Si,{})}}}}const uo="showcase-app",ho=Je.bind(void 0,uo),Ie=Ve.bind(void 0,uo);function _n({intl:o,mapModel:e}){return{id:"tocLegend",title:o.formatMessage({id:"demos.tocLegend.title"}),createModel(){function t(n=!0){e.layers.getLayerById("verwaltungsgebiete").setVisible(n),e.layers.getLayerById("krankenhaus").setVisible(n),e.layers.getLayerById("ogc_kitas").setVisible(n)}function i(){t(!1),e?.layers.activateBaseLayer("osm")}return{description:o.formatMessage({id:"demos.tocLegend.description"}),mainWidget:r.jsx(Cn,{}),destroy:i}}}}function Cn(){const o=v.useId(),e=v.useId(),t=Ie();return r.jsxs(r.Fragment,{children:[r.jsx(T,{role:"dialog","aria-labelledby":o,children:r.jsx(He,{title:r.jsx(ct,{id:o,size:"md",mb:2,children:r.jsx(et,{children:t.formatMessage({id:"demos.tocLegend.tocTitle"})})}),children:r.jsx(Li,{showTools:!0,basemapSwitcherProps:{allowSelectingEmptyBasemap:!0}})})}),r.jsx(T,{pt:2,role:"dialog","aria-labelledby":e,children:r.jsx(He,{title:r.jsx(ct,{id:e,size:"md",mb:2,children:t.formatMessage({id:"demos.tocLegend.legendTitle"})}),children:r.jsx(ki,{showBaseLayers:!0})})})]})}function jn(o){return{id:"selectionResultList",title:o.intl.formatMessage({id:"demos.selectionResultList.title"}),createModel(){return new Ln(o)}}}var Le,pe,ue,qe,$e,zt;let Ln=(zt=class{constructor(e){h(this,Le);h(this,pe);h(this,ue,E({key:0,input:void 0,open:!1}));w(this,"description");w(this,"mainWidget");h(this,qe,e=>{const{results:t}=e,a={columns:[{id:"id",displayName:"ID",width:100,getPropertyValue(c){return c.id}},{propertyName:"pointOfContact.address.postCode",displayName:"PLZ",width:120},{propertyName:"name",displayName:"Name"},{propertyName:"inspireId",displayName:"inspireID"},{displayName:"Gefördert",width:160,getPropertyValue(c){switch(c.properties?.gefoerdert){case"ja":return!0;case"nein":return!1;default:return c.properties?.gefoerdert}}}],data:t,formatOptions:{numberOptions:{maximumFractionDigits:3},dateOptions:{dateStyle:"medium",timeStyle:"medium",timeZone:"UTC"}}},s=l(this,ue).value.key;l(this,ue).value={open:!0,key:s+1,input:a}});h(this,$e,e=>{console.log("Selected features: ",e.features)});const{mapModel:t,vectorSelectionSourceFactory:i,intl:n}=e;g(this,Le,t),g(this,pe,Pn(t,i)),this.description=n.formatMessage({id:"demos.selectionResultList.description"}),this.mainWidget=r.jsx(Ii,{sources:[l(this,pe)],onSelectionComplete:l(this,qe)}),t.layers.getLayerById("ogc_kitas").setVisible(!0)}destroy(){l(this,pe).destroy(),l(this,Le).layers.getLayerById("ogc_kitas").setVisible(!1)}get listContainer(){const e=l(this,ue).value;if(!(!e.open||!e.input))return r.jsx($i,{input:e.input,onSelectionChange:l(this,$e)},e.key)}},Le=new WeakMap,pe=new WeakMap,ue=new WeakMap,qe=new WeakMap,$e=new WeakMap,zt);function Pn(o,e){const t=o.layers.getLayerById("ogc_kitas");return e.createSelectionSource({vectorLayer:t.olLayer,label:t.title})}const An="krankenhaus";function Nn(o){return{id:"editing",title:o.intl.formatMessage({id:"demos.editing.title"}),createModel(){return new Rn(o)}}}var Pe,he;class Rn{constructor(e){w(this,"description");w(this,"mainWidget");h(this,Pe);h(this,he);const{mapModel:t,intl:i,editingService:n,notificationService:a}=e;g(this,Pe,t),this.description=i.formatMessage({id:"demos.editing.description"}),g(this,he,new Tn(t,n,a,i)),this.mainWidget=r.jsx(Dn,{editingController:l(this,he)}),this._setEditLayerVisible(!0)}destroy(){this._setEditLayerVisible(!1),l(this,he).stopEditing()}_setEditLayerVisible(e=!0){l(this,Pe).layers.getLayerById(An).setVisible(e)}}Pe=new WeakMap,he=new WeakMap;var I,C,X,J,B,G,Q,H;class Tn{constructor(e,t,i,n){h(this,I);h(this,C);h(this,X);h(this,J);h(this,B);h(this,G);h(this,Q);h(this,H);g(this,I,E(!1)),g(this,C,e),g(this,X,t),g(this,J,i),g(this,B,n)}editingActive(){return l(this,I).value}startCreateWorkflow(){if(!l(this,I).value)try{l(this,I).value=!0;const e=l(this,C).layers.getLayerById("krankenhaus"),t=new URL(e.attributes.collectionURL+"/items"),i=l(this,X).createFeature(l(this,C),t);this._watchState(i),i.whenComplete().then(n=>{if(!n)return;l(this,J).notify({level:"info",message:l(this,B).formatMessage({id:"demos.editing.create.featureCreated"},{featureId:n.featureId})}),(e?.olLayer).getSource()?.refresh()}).catch(n=>{console.error(n)}).finally(()=>{l(this,I).value=!1})}catch(e){l(this,I).value=!1,console.error(e)}}startUpdateWorkflow(){if(!l(this,I).value)try{l(this,I).value=!0,g(this,H,this._createEditingSelectTooltip());const e=l(this,C).layers.getLayerById("krankenhaus"),t=e?.olLayer;g(this,G,new Mi({layers:[t]})),l(this,C).olMap.addInteraction(l(this,G)),l(this,H).element.classList.remove("editing-tooltip-hidden"),g(this,Q,l(this,G).on("select",i=>{const n=i.selected,a=i.deselected;if(n.length!==1||a.length!==0)return;this._stopUpdateSelection();const s=n[0];if(!s)throw Error("feature is undefined");const c=new URL(e.attributes.collectionURL+"/items"),d=l(this,X).updateFeature(l(this,C),c,s);this._watchState(d),d.whenComplete().then(p=>{p&&(l(this,J).notify({level:"info",message:l(this,B).formatMessage({id:"demos.editing.update.featureModified"},{featureId:p.featureId})}),t.getSource()?.refresh())}).catch(p=>{console.error(p)}).finally(()=>{l(this,I).value=!1})}))}catch(e){l(this,I).value=!1,console.error(e)}}_watchState(e){const t=mt(()=>[e.getState()],i=>{i[0]==="active:saving"&&l(this,J).notify({level:"info",message:l(this,B).formatMessage({id:"demos.editing.update.savingStared"})}),i[0]==="destroyed"&&(t.destroy(),console.log("destroyed"))})}_createEditingSelectTooltip(){const e=document.createElement("div");e.className="editing-tooltip editing-tooltip-hidden",e.textContent=l(this,B).formatMessage({id:"demos.editing.update.tooltip.select"});const t=new Xt({element:e,offset:[15,0],positioning:"center-left"}),i=l(this,C).olMap,n=i.on("pointermove",a=>{a.dragging||t.setPosition(a.coordinate)});return i.addOverlay(t),{overlay:t,element:e,destroy(){Be(n),i.removeOverlay(t)}}}_stopUpdateSelection(){l(this,G)&&l(this,C).olMap.removeInteraction(l(this,G)),l(this,Q)&&Be(l(this,Q)),l(this,H)&&l(this,H).destroy(),g(this,G,void 0),g(this,Q,void 0),g(this,H,void 0)}stopEditing(){l(this,X).stop(ke),this._stopUpdateSelection(),l(this,I).value=!1}}I=new WeakMap,C=new WeakMap,X=new WeakMap,J=new WeakMap,B=new WeakMap,G=new WeakMap,Q=new WeakMap,H=new WeakMap;function Dn({editingController:o}){const e=Ie(),t=D(()=>o.editingActive(),[o]),i=t?e.formatMessage({id:"demos.editing.activeInfo"}):e.formatMessage({id:"demos.editing.inactiveInfo"});return r.jsxs(r.Fragment,{children:[r.jsxs(j,{px:1,py:1,children:[r.jsx(ee,{mr:2,isDisabled:t,onClick:()=>{o.startCreateWorkflow()},children:e.formatMessage({id:"demos.editing.startCreateButton"})}),r.jsx(ee,{mr:2,isDisabled:t,onClick:()=>{o.startUpdateWorkflow()},children:e.formatMessage({id:"demos.editing.startUpdateButton"})}),r.jsx(ee,{isDisabled:!t,onClick:()=>{o.stopEditing()},children:e.formatMessage({id:"demos.editing.stopButton"})})]}),r.jsx(j,{px:1,py:1,children:i})]})}function On(o){return[_n(o),mn(o),gn(o),vn(o),wn(o),yn(o),xn(o),Sn(o),Nn(o),kn(o),In(o),Mn(o),kr(o),En(o),jn(o),Mr(o)]}const Vn=ye("app::AppModel");var Ke,Ae,Ne,U,L,Ye,Ze,we,mo,go;class Gn{constructor(e,t,i,n){h(this,we);h(this,Ke);h(this,Ae);h(this,Ne);h(this,U);h(this,L);h(this,Ye,Yt(()=>Array.from(l(this,U).values())));h(this,Ze,[]);if(g(this,Ke,e),g(this,Ae,t),g(this,Ne,i),g(this,U,new Map(n.map(s=>[s.id,s]))),l(this,U).size===0)throw new Error("No demos defined.");const a=n[0];g(this,L,E([a,a.createModel()])),y(this,we,mo).call(this),l(this,Ze).push(y(this,we,go).call(this))}destroy(){l(this,L).value[1].destroy?.()}get currentDemo(){return l(this,L).value[0]}get currentDemoModel(){return l(this,L).value[1]}get allDemoInfos(){return l(this,Ye).value}selectDemo(e){const t=l(this,U).get(e);if(!t)throw new Error(`Demo '${e}' does not exist.`);ci(()=>{const[,i]=l(this,L).value;i.destroy?.(),l(this,L).value=[t,t.createModel()]})}}Ke=new WeakMap,Ae=new WeakMap,Ne=new WeakMap,U=new WeakMap,L=new WeakMap,Ye=new WeakMap,Ze=new WeakMap,we=new WeakSet,mo=function(){const t=new URL(window.location.href).searchParams.get("demo");if(t){if(!l(this,U).has(t)){l(this,Ae).notify({title:l(this,Ne).formatMessage({id:"demoSelection.notFound"},{demoId:t})});return}try{this.selectDemo(t)}catch(i){Vn.error("Failed to select demo from URL",i)}}},go=function(){return mt(()=>[l(this,L).value[0].id],([e])=>{const t=new URL(window.location.href);t.searchParams.set("demo",e),window.history.replaceState(null,"",t.toString())},{immediate:!0})};var me,Re,Te,Xe,fo;class Fn{constructor(e){h(this,Xe);h(this,me,E({kind:"loading"}));h(this,Re,[]);h(this,Te,!1);const{mapRegistry:t,httpService:i,notifier:n,vectorSelectionSourceFactory:a,editingService:s,notificationService:c}=e.references,d=e.intl;y(this,Xe,fo).call(this,{mapRegistry:t,httpService:i,notifier:n,vectorSelectionSourceFactory:a,editingService:s,intl:d,notificationService:c}).catch(p=>{l(this,me).value={kind:"error",message:p.message||"Unknown error"}})}destroy(){g(this,Te,!0);for(const e of l(this,Re))e.destroy()}get appState(){return l(this,me).value}}me=new WeakMap,Re=new WeakMap,Te=new WeakMap,Xe=new WeakSet,fo=async function(e){const{mapRegistry:t,httpService:i,notifier:n,vectorSelectionSourceFactory:a,editingService:s,intl:c,notificationService:d}=e,p=await t.getMapModel(ke);if(!p)throw new Error("No mapModel found.");const f=On({intl:c,httpService:i,mapModel:p,vectorSelectionSourceFactory:a,editingService:s,notificationService:d}),u={kind:"ready",appModel:new Gn(p,n,c,f),destroy(){this.appModel.destroy()}};if(l(this,Te)){u.destroy();return}l(this,me).value=u,l(this,Re).push(u)};const te=ye("local-storage"),zn=0,R={CORRUPTED_DATA:"local-storage:corrupted-data",INVALID_PATH:"local-storage:invalid-path",INVALID_VALUE:"local-storage:invalid-value",NOT_SUPPORTED:"local-storage:not-supported",INTERNAL:"local-storage:internal-error"};var ge,P,W,fe,A,x,vo,bo,_e,re,wo;class Bn{constructor(e){h(this,x);h(this,ge);h(this,P,{});h(this,W);h(this,fe);h(this,A);g(this,ge,qn(e.properties)),g(this,W,$n()),l(this,W)&&(y(this,x,bo).call(this),g(this,fe,y(this,x,wo).call(this)))}destroy(){l(this,A)&&(clearTimeout(l(this,A)),g(this,A,void 0)),l(this,W)&&y(this,x,_e).call(this)}get isSupported(){return!!l(this,fe)}get(e){return y(this,x,re).call(this).get(e)}set(e,t){return y(this,x,re).call(this).set(e,t)}remove(e){return y(this,x,re).call(this).remove(e)}removeAll(){return y(this,x,re).call(this).removeAll()}getNamespace(e){return y(this,x,re).call(this).getNamespace(e)}}ge=new WeakMap,P=new WeakMap,W=new WeakMap,fe=new WeakMap,A=new WeakMap,x=new WeakSet,vo=function(){l(this,A)&&clearTimeout(l(this,A)),g(this,A,setTimeout(()=>{g(this,A,void 0),y(this,x,_e).call(this)},zn))},bo=function(){try{const e=l(this,W);if(!e)throw new N(R.INTERNAL,"Local storage is not available.");const t=e.getItem(l(this,ge));if(t==null){g(this,P,{}),y(this,x,_e).call(this);return}try{const i=JSON.parse(t);if(!be(i))throw new N(R.CORRUPTED_DATA,"Persisted value should be an object.");g(this,P,i)}catch(i){te.warn("Invalid persisted data, reverting to default.",i),g(this,P,{}),y(this,x,_e).call(this)}}catch(e){te.error("Failed to load from local storage",e)}},_e=function(){try{const e=l(this,W);if(!e)throw new N(R.INTERNAL,"Local storage is not available.");const t=JSON.stringify(l(this,P));e.setItem(l(this,ge),t)}catch(e){te.error("Failed to save to local storage",e)}},re=function(){const e=l(this,fe);if(!e)throw new N(R.NOT_SUPPORTED,"Local storage is not supported by this browser.");return e},wo=function(){const e={getByPath:t=>Gt(Hn(l(this,P),t)),setByPath:(t,i)=>{if(!Wn(i))throw new N(R.INVALID_VALUE,"The value is not supported by local storage.");if(i=Gt(i),t.length===0){if(!be(i))throw new N(R.INVALID_VALUE,"The root value must be a plain object.");g(this,P,i)}else Un(l(this,P),t,i);y(this,x,vo).call(this)}};return new xt([],e)};class xt{path;access;constructor(e,t){this.path=e,this.access=t}get(e){return this.access.getByPath([...this.path,e])}set(e,t){this.access.setByPath([...this.path,e],t)}remove(e){this.access.setByPath([...this.path,e],void 0)}removeAll(){this.access.setByPath(this.path,{})}getNamespace(e){const t=this.get(e);if(t===void 0)this.set(e,{});else if(!be(t))throw new N(R.INVALID_PATH,`Cannot use '${e}' as a namespace because it is not associated with an object.`);return new xt(this.path.concat([e]),this.access)}}const Vt="trails-state";function Hn(o,e){let t=o;for(const i of e){if(!be(t))throw new N(R.INVALID_PATH,`Cannot get nested property '${i}' because the parent is no object.`);t=t[i]}return t}function Un(o,e,t){if(!e.length)throw new N(R.INTERNAL,"Path must not be empty.");let i=o;for(let a=0,s=e.length-1;a"u"){te.warn("Local storage is not supported by this browser.");return}try{const o=globalThis.localStorage;if(!o){te.warn("Local storage is not supported by this browser.");return}return o}catch(o){te.warn("Local storage is not supported by this browser.",o);return}}function Gt(o){return o!=null&&(o=JSON.parse(JSON.stringify(o))),o}const Kn={"showcase-app":{name:"showcase-app",services:{MapConfigProviderImpl:{name:"MapConfigProviderImpl",clazz:fr,provides:[{name:"map.MapConfigProvider",qualifier:void 0}],references:{vectorSourceFactory:{name:"ogc-features.VectorSourceFactory",qualifier:void 0,all:!1}}},AppInitModel:{name:"AppInitModel",clazz:Fn,provides:[{name:"app.AppInitModel",qualifier:void 0}],references:{httpService:{name:"http.HttpService",qualifier:void 0,all:!1},mapRegistry:{name:"map.MapRegistry",qualifier:void 0,all:!1},notifier:{name:"notifier.NotificationService",qualifier:void 0,all:!1},vectorSelectionSourceFactory:{name:"selection.VectorSelectionSourceFactory",qualifier:void 0,all:!1},editingService:{name:"editing.EditingService",qualifier:void 0,all:!1},notificationService:{name:"notifier.NotificationService",qualifier:void 0,all:!1}}}},ui:{references:[{name:"app.AppInitModel",qualifier:void 0,all:!1},{name:"runtime.ApplicationContext",qualifier:void 0,all:!1}]},properties:{}},"@open-pioneer/chakra-integration":{name:"@open-pioneer/chakra-integration",services:{},ui:{references:[]},properties:{}},"@open-pioneer/runtime":{name:"@open-pioneer/runtime",services:{},ui:{references:[]},properties:{}},"@open-pioneer/react-utils":{name:"@open-pioneer/react-utils",services:{},ui:{references:[]},properties:{}},"@open-pioneer/http":{name:"@open-pioneer/http",services:{HttpServiceImpl:{name:"HttpServiceImpl",clazz:di,provides:[{name:"http.HttpService",qualifier:"http.HttpService"}],references:{interceptors:{name:"http.Interceptor",qualifier:void 0,all:!0}}}},ui:{references:[]},properties:{}},"@open-pioneer/notifier":{name:"@open-pioneer/notifier",services:{NotificationServiceImpl:{name:"NotificationServiceImpl",clazz:Ki,provides:[{name:"notifier.NotificationService",qualifier:"notifier.NotificationService"}],references:{}}},ui:{references:[{name:"notifier.NotificationService",qualifier:void 0,all:!1}]},properties:{}},"@open-pioneer/reactivity":{name:"@open-pioneer/reactivity",services:{},ui:{references:[]},properties:{}},"@open-pioneer/map":{name:"@open-pioneer/map",services:{MapRegistryImpl:{name:"MapRegistryImpl",clazz:pi,provides:[{name:"map.MapRegistry",qualifier:void 0}],references:{providers:{name:"map.MapConfigProvider",qualifier:void 0,all:!0},httpService:{name:"http.HttpService",qualifier:void 0,all:!1}}}},ui:{references:[{name:"map.MapRegistry",qualifier:void 0,all:!1}]},properties:{}},"@open-pioneer/ogc-features":{name:"@open-pioneer/ogc-features",services:{VectorSourceFactory:{name:"VectorSourceFactory",clazz:Gi,provides:[{name:"ogc-features.VectorSourceFactory",qualifier:void 0}],references:{httpService:{name:"http.HttpService",qualifier:void 0,all:!1}}},SearchSourceFactory:{name:"SearchSourceFactory",clazz:Fi,provides:[{name:"ogc-features.SearchSourceFactory",qualifier:void 0}],references:{httpService:{name:"http.HttpService",qualifier:void 0,all:!1}}}},ui:{references:[]},properties:{}},"@open-pioneer/coordinate-viewer":{name:"@open-pioneer/coordinate-viewer",services:{},ui:{references:[]},properties:{}},"@open-pioneer/scale-bar":{name:"@open-pioneer/scale-bar",services:{},ui:{references:[]},properties:{}},"@open-pioneer/scale-viewer":{name:"@open-pioneer/scale-viewer",services:{},ui:{references:[]},properties:{}},"@open-pioneer/overview-map":{name:"@open-pioneer/overview-map",services:{},ui:{references:[]},properties:{}},"@open-pioneer/map-navigation":{name:"@open-pioneer/map-navigation",services:{},ui:{references:[]},properties:{}},"@open-pioneer/toc":{name:"@open-pioneer/toc",services:{},ui:{references:[]},properties:{}},"@open-pioneer/editing":{name:"@open-pioneer/editing",services:{EditingServiceImpl:{name:"EditingServiceImpl",clazz:Ei,provides:[{name:"editing.EditingService",qualifier:void 0}],references:{mapRegistry:{name:"map.MapRegistry",qualifier:void 0,all:!1},httpService:{name:"http.HttpService",qualifier:void 0,all:!1}}}},ui:{references:[]},properties:{polygonStyle:{value:{"fill-color":"rgba(255,255,255,0.4)","stroke-color":"red","stroke-width":1.25,"circle-radius":3,"circle-fill-color":"red","circle-stroke-width":1.25,"circle-stroke-color":"red"},required:!1},vertexStyle:{value:{"circle-radius":3,"circle-fill-color":"red","circle-stroke-width":1.25,"circle-stroke-color":"red"},required:!1}}},"@open-pioneer/legend":{name:"@open-pioneer/legend",services:{},ui:{references:[]},properties:{}},"@open-pioneer/measurement":{name:"@open-pioneer/measurement",services:{},ui:{references:[]},properties:{}},"@open-pioneer/printing":{name:"@open-pioneer/printing",services:{PrintingServiceImpl:{name:"PrintingServiceImpl",clazz:Yi,provides:[{name:"printing.PrintingService",qualifier:void 0}],references:{}}},ui:{references:[{name:"notifier.NotificationService",qualifier:void 0,all:!1},{name:"printing.PrintingService",qualifier:void 0,all:!1}]},properties:{}},"@open-pioneer/result-list":{name:"@open-pioneer/result-list",services:{},ui:{references:[]},properties:{}},"@open-pioneer/search":{name:"@open-pioneer/search",services:{},ui:{references:[]},properties:{}},"@open-pioneer/selection":{name:"@open-pioneer/selection",services:{VectorSelectionSourceFactory:{name:"VectorSelectionSourceFactory",clazz:_i,provides:[{name:"selection.VectorSelectionSourceFactory",qualifier:void 0}],references:{}}},ui:{references:[{name:"notifier.NotificationService",qualifier:void 0,all:!1}]},properties:{}},"@open-pioneer/coordinate-search":{name:"@open-pioneer/coordinate-search",services:{},ui:{references:[{name:"runtime.NumberParserService",qualifier:void 0,all:!1}]},properties:{}},"@open-pioneer/geolocation":{name:"@open-pioneer/geolocation",services:{},ui:{references:[{name:"notifier.NotificationService",qualifier:void 0,all:!1}]},properties:{}},"@open-pioneer/scale-setter":{name:"@open-pioneer/scale-setter",services:{},ui:{references:[]},properties:{}},"@open-pioneer/spatial-bookmarks":{name:"@open-pioneer/spatial-bookmarks",services:{},ui:{references:[{name:"local-storage.LocalStorageService",qualifier:void 0,all:!1}]},properties:{}},"@open-pioneer/base-theme":{name:"@open-pioneer/base-theme",services:{},ui:{references:[]},properties:{}},"@open-pioneer/core":{name:"@open-pioneer/core",services:{},ui:{references:[]},properties:{}},"@open-pioneer/runtime-react-support":{name:"@open-pioneer/runtime-react-support",services:{},ui:{references:[]},properties:{}},"@open-pioneer/map-ui-components":{name:"@open-pioneer/map-ui-components",services:{},ui:{references:[]},properties:{}},"@open-pioneer/basemap-switcher":{name:"@open-pioneer/basemap-switcher",services:{},ui:{references:[]},properties:{}},"@open-pioneer/local-storage":{name:"@open-pioneer/local-storage",services:{LocalStorageServiceImpl:{name:"LocalStorageServiceImpl",clazz:Bn,provides:[{name:"local-storage.LocalStorageService",qualifier:"local-storage.LocalStorageService"}],references:{}}},ui:{references:[]},properties:{storageId:{value:null,required:!1}}}},Yn=':root,:host{--ol-background-color: white;--ol-accent-background-color: #F5F5F5;--ol-subtle-background-color: rgba(128, 128, 128, .25);--ol-partial-background-color: rgba(255, 255, 255, .75);--ol-foreground-color: #333333;--ol-subtle-foreground-color: #666666;--ol-brand-color: #00AAFF}.ol-box{box-sizing:border-box;border-radius:2px;border:1.5px solid var(--ol-background-color);background-color:var(--ol-partial-background-color)}.ol-mouse-position{top:8px;right:8px;position:absolute}.ol-scale-line{background:var(--ol-partial-background-color);border-radius:4px;bottom:8px;left:8px;padding:2px;position:absolute}.ol-scale-line-inner{border:1px solid var(--ol-subtle-foreground-color);border-top:none;color:var(--ol-foreground-color);font-size:10px;text-align:center;margin:1px;will-change:contents,width;transition:all .25s}.ol-scale-bar{position:absolute;bottom:8px;left:8px}.ol-scale-bar-inner{display:flex}.ol-scale-step-marker{width:1px;height:15px;background-color:var(--ol-foreground-color);float:right;z-index:10}.ol-scale-step-text{position:absolute;bottom:-5px;font-size:10px;z-index:11;color:var(--ol-foreground-color);text-shadow:-1.5px 0 var(--ol-partial-background-color),0 1.5px var(--ol-partial-background-color),1.5px 0 var(--ol-partial-background-color),0 -1.5px var(--ol-partial-background-color)}.ol-scale-text{position:absolute;font-size:12px;text-align:center;bottom:25px;color:var(--ol-foreground-color);text-shadow:-1.5px 0 var(--ol-partial-background-color),0 1.5px var(--ol-partial-background-color),1.5px 0 var(--ol-partial-background-color),0 -1.5px var(--ol-partial-background-color)}.ol-scale-singlebar{position:relative;height:10px;z-index:9;box-sizing:border-box;border:1px solid var(--ol-foreground-color)}.ol-scale-singlebar-even{background-color:var(--ol-subtle-foreground-color)}.ol-scale-singlebar-odd{background-color:var(--ol-background-color)}.ol-unsupported{display:none}.ol-viewport,.ol-unselectable{-webkit-touch-callout:none;-webkit-user-select:none;-moz-user-select:none;user-select:none;-webkit-tap-highlight-color:transparent}.ol-viewport canvas{all:unset;overflow:hidden}.ol-viewport{touch-action:pan-x pan-y}.ol-selectable{-webkit-touch-callout:default;-webkit-user-select:text;-moz-user-select:text;user-select:text}.ol-grabbing{cursor:-webkit-grabbing;cursor:-moz-grabbing;cursor:grabbing}.ol-grab{cursor:move;cursor:-webkit-grab;cursor:-moz-grab;cursor:grab}.ol-control{position:absolute;background-color:var(--ol-subtle-background-color);border-radius:4px}.ol-zoom{top:.5em;left:.5em}.ol-rotate{top:.5em;right:.5em;transition:opacity .25s linear,visibility 0s linear}.ol-rotate.ol-hidden{opacity:0;visibility:hidden;transition:opacity .25s linear,visibility 0s linear .25s}.ol-zoom-extent{top:4.643em;left:.5em}.ol-full-screen{right:.5em;top:.5em}.ol-control button{display:block;margin:1px;padding:0;color:var(--ol-subtle-foreground-color);font-weight:700;text-decoration:none;font-size:inherit;text-align:center;height:1.375em;width:1.375em;line-height:.4em;background-color:var(--ol-background-color);border:none;border-radius:2px}.ol-control button::-moz-focus-inner{border:none;padding:0}.ol-zoom-extent button{line-height:1.4em}.ol-compass{display:block;font-weight:400;will-change:transform}.ol-touch .ol-control button{font-size:1.5em}.ol-touch .ol-zoom-extent{top:5.5em}.ol-control button:hover,.ol-control button:focus{text-decoration:none;outline:1px solid var(--ol-subtle-foreground-color);color:var(--ol-foreground-color)}.ol-zoom .ol-zoom-in{border-radius:2px 2px 0 0}.ol-zoom .ol-zoom-out{border-radius:0 0 2px 2px}.ol-attribution{text-align:right;bottom:.5em;right:.5em;max-width:calc(100% - 1.3em);display:flex;flex-flow:row-reverse;align-items:center}.ol-attribution a{color:var(--ol-subtle-foreground-color);text-decoration:none}.ol-attribution ul{margin:0;padding:1px .5em;color:var(--ol-foreground-color);text-shadow:0 0 2px var(--ol-background-color);font-size:12px}.ol-attribution li{display:inline;list-style:none}.ol-attribution li:not(:last-child):after{content:" "}.ol-attribution img{max-height:2em;max-width:inherit;vertical-align:middle}.ol-attribution button{flex-shrink:0}.ol-attribution.ol-collapsed ul{display:none}.ol-attribution:not(.ol-collapsed){background:var(--ol-partial-background-color)}.ol-attribution.ol-uncollapsible{bottom:0;right:0;border-radius:4px 0 0}.ol-attribution.ol-uncollapsible img{margin-top:-.2em;max-height:1.6em}.ol-attribution.ol-uncollapsible button{display:none}.ol-zoomslider{top:4.5em;left:.5em;height:200px}.ol-zoomslider button{position:relative;height:10px}.ol-touch .ol-zoomslider{top:5.5em}.ol-overviewmap{left:.5em;bottom:.5em}.ol-overviewmap.ol-uncollapsible{bottom:0;left:0;border-radius:0 4px 0 0}.ol-overviewmap .ol-overviewmap-map,.ol-overviewmap button{display:block}.ol-overviewmap .ol-overviewmap-map{border:1px solid var(--ol-subtle-foreground-color);height:150px;width:150px}.ol-overviewmap:not(.ol-collapsed) button{bottom:0;left:0;position:absolute}.ol-overviewmap.ol-collapsed .ol-overviewmap-map,.ol-overviewmap.ol-uncollapsible button{display:none}.ol-overviewmap:not(.ol-collapsed){background:var(--ol-subtle-background-color)}.ol-overviewmap-box{border:1.5px dotted var(--ol-subtle-foreground-color)}.ol-overviewmap .ol-overviewmap-box:hover{cursor:move}.ol-overviewmap .ol-viewport:hover{cursor:pointer}.map-container .ol-viewport .ol-attribution{bottom:var(--map-padding-bottom);right:var(--map-padding-right)}.editing-tooltip{position:relative;background:#fffc;border-radius:4px;color:#000;padding:4px 8px;opacity:1;white-space:nowrap;font-size:12px;cursor:default;-webkit-user-select:none;user-select:none;font-weight:700}.editing-tooltip-hidden{visibility:hidden}.measurement-tooltip{position:relative;background:#fffc;border-radius:4px;color:#000;padding:4px 8px;opacity:1;white-space:nowrap;font-size:12px;cursor:default;-webkit-user-select:none;user-select:none;font-weight:700}.measurement-active-tooltip{background:#000000e6;border-radius:4px;border-color:#000000e6;opacity:.9;color:#fff}.measurement-finished-tooltip{background-color:#4cb3ffe6;color:#000;border:1px solid white}.measurement-active-tooltip:before,.measurement-finished-tooltip:before{border-top:6px solid rgba(0,0,0,.9);border-right:6px solid transparent;border-left:6px solid transparent;content:"";position:absolute;bottom:-6px;margin-left:-7px;left:50%}.measurement-finished-tooltip:before{border-top-color:#4cb3ff}.printing-overlay{position:absolute;top:0;right:0;bottom:0;left:0;z-index:10000;-webkit-user-select:none;user-select:none;pointer-events:all;cursor:wait;display:flex;flex-direction:row;align-items:center;justify-content:center;background-color:#b4b4b4cc}.printing-overlay-status{flex:1 1 auto;font-size:1.5em;text-align:center}.printing-scale-bar.ol-scale-bar{left:var(--printing-scale-bar-left);bottom:var(--printing-scale-bar-bottom)}.search-component .chakra-divider{display:none}.search-component .search-highlighted-match{font-weight:700}.search-component .search-value-container{cursor:text;padding-left:30px!important}.search-component .search-invisible{display:none}.selection-drag-box{background-color:#ffffff4d!important;border:3px solid var(--chakra-colors-background_primary)!important}.selection-tooltip{position:relative;background:#fffc;border-radius:4px;color:#000;padding:4px 8px;opacity:1;white-space:nowrap;font-size:12px;cursor:default;-webkit-user-select:none;user-select:none;font-weight:700}.selection .react-select{cursor:default}.map-container .selection-active{cursor:crosshair}.map-container .selection-inactive{cursor:no-drop}.selection-source-value.selection-source-value--disabled{opacity:.4}.selection-source-value.selection-source-value--disabled span{margin:0 6px 0 0}.map-anchor.main-map-anchor{overflow-x:hidden;overflow-y:auto}.map-container:focus-visible{outline:none}.map-container:focus-visible:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none;border:3px solid var(--chakra-colors-trails-500)}@media screen and (max-width: 48em){.map-anchor.main-map-anchor{max-height:45%}}.scale-bar .ol-scale-bar{margin-bottom:8px;margin-right:8px}.scale-bar .ol-scale-bar,.scale-bar .ol-scale-line{position:relative;bottom:0;left:0;background:none}.scale-bar .ol-scale-bar .ol-scale-bar-inner,.scale-bar .ol-scale-bar .ol-scale-line-inner,.scale-bar .ol-scale-line .ol-scale-bar-inner,.scale-bar .ol-scale-line .ol-scale-line-inner{color:var(--chakra-white);border-color:var(--chakra-white)}.overview-map .ol-overviewmap{position:relative;height:100%;width:100%}.overview-map .ol-overviewmap:not(.ol-collapsed){border:1px solid black}.overview-map .ol-overviewmap .ol-overviewmap-map{border:none;width:100%;height:100%}.overview-map .ol-overviewmap .ol-overviewmap-box{border:2px solid red}.result-list-no-data-message{text-align:center;margin-top:50px;font-weight:700;font-size:larger}.result-list-table th,.result-list-table td{overflow-wrap:break-word}.result-list-table.result-list-table--is-resizing *{cursor:col-resize}.result-list-table thead{position:sticky;top:0;z-index:1;background:var(--chakra-colors-background_body)}.result-list-table th{position:relative;border-right-width:thin}.result-list-table tbody tr:hover{background:var(--chakra-colors-background_light)}.result-list-table .result-list-resizer{position:absolute;top:0;height:100%;right:0;width:8px;background:var(--chakra-colors-trails-100);transform:scaleX(.25);cursor:col-resize;-webkit-user-select:none;user-select:none;touch-action:none;padding-left:0}.result-list-table th:last-child .result-list-resizer{width:8px;transform:translate(50%) scaleX(.25)}.result-list-table th .result-list-resizer.result-list-resizer--is-resizing{background:var(--chakra-colors-trails-500);transform:scale(1)}.result-list-table th .result-list-resizer:hover{transform:scale(1)}',Zn=["en","de"];function Xn(o){switch(o){case"en":return jt(()=>import("./plvQ0gKHN-VX.js"),[],import.meta.url).then(e=>e.default);case"de":return jt(()=>import("./VgDMcEsZHOuk.js"),[],import.meta.url).then(e=>e.default)}throw new Error(`Unsupported locale: '${o}'`)}const Jn=jo(Yn),Qn=Object.freeze(Object.defineProperty({__proto__:null,loadMessages:Xn,locales:Zn,packages:Kn,styles:Jn},Symbol.toStringTag,{value:"Module"}));function yo({label:o,children:e}){return r.jsxs(Zi,{as:Xi,maxWidth:{base:"none",md:"20em"},width:{base:"100%",sm:"47%",md:void 0},children:[r.jsx(Ji,{flexBasis:{base:"8em",sm:"auto"},m:0,children:o}),e]})}const ea=ye("app::DemoSelection");function ta({appModel:o}){const e=Ie(),{allDemos:t,currentDemo:i}=D(()=>({allDemos:o.allDemoInfos,currentDemo:o.currentDemo}),[o]),n=v.useMemo(()=>t.map(a=>r.jsx("option",{value:a.id,children:a.title},a.id)),[t]);return r.jsx(yo,{label:e.formatMessage({id:"demoSelection.label"}),children:r.jsx(Qt,{value:i.id,onChange:a=>{const s=a.target.value;try{o.selectDemo(s)}catch(c){ea.error("Failed to select demo",c)}},children:n})})}function oa(){const o=Ie(),e=ho("runtime.ApplicationContext"),t=ia(e.getLocale()),i=n=>{switch(n){case"en":e.setLocale("en-GB");break;case"de":e.setLocale("de-DE");break}};return r.jsx(yo,{label:o.formatMessage({id:"localeSwitcher.label"}),children:r.jsxs(Qt,{value:t,onChange:n=>i(n.target.value),children:[r.jsx("option",{value:"de",children:o.formatMessage({id:"localeSwitcher.locale.de"})}),r.jsx("option",{value:"en",children:o.formatMessage({id:"localeSwitcher.locale.en"})})]})})}function ia(o){const e=o.match(/^[a-z]+/i)?.[0];if(e==="en"||e=="de")return e;throw new Error("unexpected locale prefix: "+e)}function ra({appModel:o}){const e=Ie();return r.jsxs(j,{as:"header",px:2,py:3,flexWrap:{base:"wrap",md:"nowrap"},alignItems:"baseline",gap:2,boxShadow:"1px 0px 3px rgba(0, 0, 0, 0.5)",bgColor:"white",zIndex:100,children:[r.jsx(ct,{size:"md",flexShrink:0,flexGrow:1,textAlign:{base:"center",md:"left"},width:{base:"100%",md:"auto"},mb:{base:2,md:0},children:e.formatMessage({id:"header.title"})}),r.jsx(ta,{appModel:o}),r.jsx(oa,{})]})}function na(){const o=ho("app.AppInitModel"),e=D(()=>o.appState,[o]);let t;switch(e.kind){case"loading":t="Loading...";break;case"error":t="Error: "+e.message;break;case"ready":t=r.jsx(aa,{state:e})}return t}function aa(o){const e=Ie(),t=o.state.appModel,{currentDemo:i,currentDemoModel:n}=D(()=>({currentDemo:t.currentDemo,currentDemoModel:t.currentDemoModel}),[t]),a=D(()=>n.listContainer,[n]),s=v.useMemo(()=>({left:0,right:0,bottom:a!=null?400:0,top:0}),[a]);return r.jsxs(r.Fragment,{children:[r.jsx(Ci,{position:"top-right"}),r.jsx(j,{height:"100%",direction:"column",children:r.jsx(He,{title:r.jsx(ra,{appModel:t}),children:r.jsx(j,{flex:"1",direction:"column",position:"relative",children:r.jsx(ui,{mapId:ke,children:r.jsxs(hi,{viewPadding:s,role:"main","aria-label":e.formatMessage({id:"ariaLabels.map"}),children:[r.jsx(Ct,{className:"main-map-anchor",position:"top-left",horizontalGap:10,verticalGap:10,children:r.jsx(T,{bgColor:"white",borderRadius:10,p:2,maxW:"500px",children:r.jsxs(He,{title:i.title,sectionHeadingProps:{size:"lg"},children:[r.jsx(et,{py:4,dangerouslySetInnerHTML:{__html:n.description}}),n.mainWidget]})})}),r.jsx(Ct,{position:"bottom-right",horizontalGap:6,children:r.jsx(lt,{p:1,children:n.tools})}),a&&r.jsx(T,{className:"list-container",position:"absolute",bottom:"0",backgroundColor:"white",width:"100%",height:"400px",zIndex:1,borderTop:"2px solid",borderColor:"trails.100",children:a})]})})})})})]})}const sa=new URLSearchParams(window.location.search),la=sa.get("lang")||void 0,ca=Lo({component:na,appMetadata:Qn,config:{properties:{"@open-pioneer/local-storage":{storageId:"ol-showcase-state"}},locale:la}});customElements.define("showcase-app",ca); diff --git a/openlayers-base-packages/assets/CVqDISZMEQ4Z.js b/openlayers-base-packages/assets/ClfEYqi3hD19.js similarity index 90% rename from openlayers-base-packages/assets/CVqDISZMEQ4Z.js rename to openlayers-base-packages/assets/ClfEYqi3hD19.js index 775a17e43..0f464c001 100644 --- a/openlayers-base-packages/assets/CVqDISZMEQ4Z.js +++ b/openlayers-base-packages/assets/ClfEYqi3hD19.js @@ -1 +1 @@ -var w=o=>{throw TypeError(o)};var x=(o,e,t)=>e.has(o)||w("Cannot "+t);var i=(o,e,t)=>(x(o,e,"read from private field"),t?t.call(o):e.get(o)),m=(o,e,t)=>e.has(o)?w("Cannot add the same private member more than once"):e instanceof WeakSet?e.add(o):e.set(o,t),c=(o,e,t,r)=>(x(o,e,"write to private field"),r?r.call(o,t):e.set(o,t),t);import{a as j,r as y,j as n,B as g,V as R,f as A}from"./Mxtq6FG0Aq1_.js";import{bO as T,at as G,bP as E,S as s,T as M,O,bM as W,bN as q,b as I,a as P,M as B,H,u as N,k as b,g as k,h as S,l as U,m as h}from"./5C5XmiCGgLmB.js";import{W as D,b as V}from"./D-pImulTtahV.js";import{G as C,e as F,T as K}from"./CXqamDLCwhxM.js";import{_}from"./CmsKOCeNyeyo.js";import{T as z}from"./BOwySe0UXVY3.js";import"./IfrtfJ9Ep93o.js";import"./DWkb3PmnrxhS.js";import"./D69t4K7RmA6W.js";import"./Cxncs0atKtOb.js";import"./_eg2EQ1Gs0ak.js";import"./CRkdw9XP0Imr.js";import"./BbT9q31oQhIX.js";import"./B3HqXXx_wjjB.js";import"./CK6i-0dKNtLx.js";import"./CrqedT83Nq6G.js";var u;class $ extends T{constructor(t){const r=t.layers,p=new G({layers:r.map(l=>l.olLayer)});super({...t,olLayer:p});m(this,u);c(this,u,new J(r,this))}get type(){return"group"}get legend(){}get layers(){return i(this,u)}get sublayers(){}get olLayer(){return super.olLayer}__attachToMap(t){super.__attachToMap(t),this.layers.__getRawLayers().forEach(r=>r.__attachToMap(t))}}u=new WeakMap;var a,d;class J{constructor(e,t){m(this,a);m(this,d);e=e.slice();for(const r of e)if(r instanceof T)r.__attachToGroup(t);else throw new Error(`Layer '${r.id}' of group '${t.id}' does not implement abstract class '${E.name}`);c(this,a,e),c(this,d,t)}destroy(){for(const e of i(this,a))e.__detachFromGroup(),e.destroy();c(this,a,[])}getItems(e){return this.getLayers(e)}getLayers(e){return i(this,a).slice()}__getRawLayers(){return i(this,a)}__getParent(){return i(this,d)}}a=new WeakMap,d=new WeakMap;const L=$,f="main";class Y{mapId=f;async getMapConfig(){return{initialView:{kind:"position",center:{x:404747,y:5757920},zoom:14},projection:"EPSG:25832",layers:[new s({id:"topplus_open",title:"TopPlus Open",isBaseLayer:!0,visible:!0,healthCheck:"https://sgx.geodatenzentrum.de/wmts_topplus_openERROR/1.0.0/WMTSCapabilities.xml",olLayer:v("web")}),new s({id:"topplus_open_grau",title:"TopPlus Open (Grau)",isBaseLayer:!0,visible:!1,healthCheck:async()=>{function e(t){return new Promise(r=>setTimeout(r,t))}return await e(2e3),"error"},olLayer:v("web_grau")}),new s({id:"topplus_open_light",title:"TopPlus Open (Light)",isBaseLayer:!0,visible:!1,healthCheck:"https://sgx.geodatenzentrum.de/wmts_topplus_open/1.0.0/WMTSCapabilities.xml",olLayer:v("web_light")}),new s({title:"OSM",visible:!1,isBaseLayer:!0,olLayer:new M({source:new O})}),new L({id:"group_edu",title:"Bildung",layers:[new s({title:"Kindertagesstätten",id:"kitas",visible:!0,healthCheck:"https://sgx.geodatenzentrum.de/wmts_topplus_open/1.0.0/WMTSCapabilities.xml",olLayer:Q()}),X()]}),new L({title:"Verkehr",id:"group_transport",layers:[new s({title:"Haltestellen Stadt Rostock",id:"bustops",visible:!0,description:"Haltestellen des öffentlichen Personenverkehrs in der Hanse- und Universitätsstadt Rostock.",olLayer:Z()}),ee()]})]}}}function v(o){const e=[-380316598427299e-8,880590808284866e-8],t=[4891.96981025128,2445.98490512564,1222.99245256282,611.49622628141,305.748113140705,152.874056570353,76.4370282851763,38.2185141425881,19.1092570712941,9.55462853564703,4.77731426782352,2.38865713391176,1.19432856695588,.59716428347794],r=new Array(t.length);for(let l=0;lDatenquellen`});return new M({source:p})}function Z(){const o=new I({url:"https://geo.sv.rostock.de/download/opendata/haltestellen/haltestellen.json",format:new C,attributions:"Haltestellen Stadt Rostock, Creative Commons CC Zero License (cc-zero)"});return new P({source:o})}function Q(){const o=new I({url:"https://ogc-api.nrw.de/inspire-us-kindergarten/v1/collections/governmentalservice/items?f=json&limit=10000",format:new C,attributions:'© Bundesamt für Kartographie und Geodäsie 2017, Datenquellen'});return new P({source:o})}function X(){return new D({title:"Schulstandorte",id:"schools",description:"Der vorliegende Datenbestand / Dienst zu den Schulstandorten in NRW stammt aus der Schuldatenbank. Die Informationen werden von den Schulträgern bzw. Schulen selbst eingetragen und aktuell gehalten. Die Daten werden tagesaktuell bereitgestellt und enthalten alle grundlegenden Informationen zu Schulen wie Schulnummer, Schulbezeichnung und Adresse.Der vorliegende Datenbestand / Dienst zu den Schulstandorten in NRW stammt aus der Schuldatenbank. Die Informationen werden von den Schulträgern bzw. Schulen selbst eingetragen und aktuell gehalten. Die Daten werden tagesaktuell bereitgestellt und enthalten alle grundlegenden Informationen zu Schulen wie Schulnummer, Schulbezeichnung und Adresse.Der vorliegende Datenbestand / Dienst zu den Schulstandorten in NRW stammt aus der Schuldatenbank. Die Informationen werden von den Schulträgern bzw. Schulen selbst eingetragen und aktuell gehalten. Die Daten werden tagesaktuell bereitgestellt und enthalten alle grundlegenden Informationen zu Schulen wie Schulnummer, Schulbezeichnung und Adresse.Der vorliegende Datenbestand / Dienst zu den Schulstandorten in NRW stammt aus der Schuldatenbank. Die Informationen werden von den Schulträgern bzw. Schulen selbst eingetragen und aktuell gehalten. Die Daten werden tagesaktuell bereitgestellt und enthalten alle grundlegenden Informationen zu Schulen wie Schulnummer, Schulbezeichnung und Adresse.",visible:!0,healthCheck:async()=>{function o(e){return new Promise(t=>setTimeout(t,e))}return await o(3e3),"error"},url:"https://www.wms.nrw.de/wms/wms_nw_inspire-schulen",sublayers:[{name:"US.education",title:"INSPIRE - WMS Schulstandorte NRW"}],sourceOptions:{ratio:1}})}function ee(){return new D({title:"Straßennetz Landesbetrieb Straßenbau NRW",url:"https://www.wms.nrw.de/wms/strassen_nrw_wms",sublayers:[{name:"1",title:"Verwaltungen"},{name:"4",title:"Abschnitte und Äste"},{name:"6",title:"Unfälle"}]})}const oe={"toc-map":{name:"toc-map",services:{MapConfigProviderImpl:{name:"MapConfigProviderImpl",clazz:Y,provides:[{name:"map.MapConfigProvider",qualifier:void 0}],references:{}}},ui:{references:[{name:"map.MapRegistry",qualifier:void 0,all:!1}]},properties:{}},"@open-pioneer/chakra-integration":{name:"@open-pioneer/chakra-integration",services:{},ui:{references:[]},properties:{}},"@open-pioneer/runtime":{name:"@open-pioneer/runtime",services:{},ui:{references:[]},properties:{}},"@open-pioneer/react-utils":{name:"@open-pioneer/react-utils",services:{},ui:{references:[]},properties:{}},"@open-pioneer/map":{name:"@open-pioneer/map",services:{MapRegistryImpl:{name:"MapRegistryImpl",clazz:B,provides:[{name:"map.MapRegistry",qualifier:void 0}],references:{providers:{name:"map.MapConfigProvider",qualifier:void 0,all:!0},httpService:{name:"http.HttpService",qualifier:void 0,all:!1}}}},ui:{references:[{name:"map.MapRegistry",qualifier:void 0,all:!1}]},properties:{}},"@open-pioneer/map-ui-components":{name:"@open-pioneer/map-ui-components",services:{},ui:{references:[]},properties:{}},"@open-pioneer/http":{name:"@open-pioneer/http",services:{HttpServiceImpl:{name:"HttpServiceImpl",clazz:H,provides:[{name:"http.HttpService",qualifier:"http.HttpService"}],references:{interceptors:{name:"http.Interceptor",qualifier:void 0,all:!0}}}},ui:{references:[]},properties:{}},"@open-pioneer/toc":{name:"@open-pioneer/toc",services:{},ui:{references:[]},properties:{}},"@open-pioneer/base-theme":{name:"@open-pioneer/base-theme",services:{},ui:{references:[]},properties:{}},"@open-pioneer/core":{name:"@open-pioneer/core",services:{},ui:{references:[]},properties:{}},"@open-pioneer/runtime-react-support":{name:"@open-pioneer/runtime-react-support",services:{},ui:{references:[]},properties:{}},"@open-pioneer/basemap-switcher":{name:"@open-pioneer/basemap-switcher",services:{},ui:{references:[]},properties:{}},"@open-pioneer/reactivity":{name:"@open-pioneer/reactivity",services:{},ui:{references:[]},properties:{}}},te=':root,:host{--ol-background-color: white;--ol-accent-background-color: #F5F5F5;--ol-subtle-background-color: rgba(128, 128, 128, .25);--ol-partial-background-color: rgba(255, 255, 255, .75);--ol-foreground-color: #333333;--ol-subtle-foreground-color: #666666;--ol-brand-color: #00AAFF}.ol-box{box-sizing:border-box;border-radius:2px;border:1.5px solid var(--ol-background-color);background-color:var(--ol-partial-background-color)}.ol-mouse-position{top:8px;right:8px;position:absolute}.ol-scale-line{background:var(--ol-partial-background-color);border-radius:4px;bottom:8px;left:8px;padding:2px;position:absolute}.ol-scale-line-inner{border:1px solid var(--ol-subtle-foreground-color);border-top:none;color:var(--ol-foreground-color);font-size:10px;text-align:center;margin:1px;will-change:contents,width;transition:all .25s}.ol-scale-bar{position:absolute;bottom:8px;left:8px}.ol-scale-bar-inner{display:flex}.ol-scale-step-marker{width:1px;height:15px;background-color:var(--ol-foreground-color);float:right;z-index:10}.ol-scale-step-text{position:absolute;bottom:-5px;font-size:10px;z-index:11;color:var(--ol-foreground-color);text-shadow:-1.5px 0 var(--ol-partial-background-color),0 1.5px var(--ol-partial-background-color),1.5px 0 var(--ol-partial-background-color),0 -1.5px var(--ol-partial-background-color)}.ol-scale-text{position:absolute;font-size:12px;text-align:center;bottom:25px;color:var(--ol-foreground-color);text-shadow:-1.5px 0 var(--ol-partial-background-color),0 1.5px var(--ol-partial-background-color),1.5px 0 var(--ol-partial-background-color),0 -1.5px var(--ol-partial-background-color)}.ol-scale-singlebar{position:relative;height:10px;z-index:9;box-sizing:border-box;border:1px solid var(--ol-foreground-color)}.ol-scale-singlebar-even{background-color:var(--ol-subtle-foreground-color)}.ol-scale-singlebar-odd{background-color:var(--ol-background-color)}.ol-unsupported{display:none}.ol-viewport,.ol-unselectable{-webkit-touch-callout:none;-webkit-user-select:none;-moz-user-select:none;user-select:none;-webkit-tap-highlight-color:transparent}.ol-viewport canvas{all:unset;overflow:hidden}.ol-viewport{touch-action:pan-x pan-y}.ol-selectable{-webkit-touch-callout:default;-webkit-user-select:text;-moz-user-select:text;user-select:text}.ol-grabbing{cursor:-webkit-grabbing;cursor:-moz-grabbing;cursor:grabbing}.ol-grab{cursor:move;cursor:-webkit-grab;cursor:-moz-grab;cursor:grab}.ol-control{position:absolute;background-color:var(--ol-subtle-background-color);border-radius:4px}.ol-zoom{top:.5em;left:.5em}.ol-rotate{top:.5em;right:.5em;transition:opacity .25s linear,visibility 0s linear}.ol-rotate.ol-hidden{opacity:0;visibility:hidden;transition:opacity .25s linear,visibility 0s linear .25s}.ol-zoom-extent{top:4.643em;left:.5em}.ol-full-screen{right:.5em;top:.5em}.ol-control button{display:block;margin:1px;padding:0;color:var(--ol-subtle-foreground-color);font-weight:700;text-decoration:none;font-size:inherit;text-align:center;height:1.375em;width:1.375em;line-height:.4em;background-color:var(--ol-background-color);border:none;border-radius:2px}.ol-control button::-moz-focus-inner{border:none;padding:0}.ol-zoom-extent button{line-height:1.4em}.ol-compass{display:block;font-weight:400;will-change:transform}.ol-touch .ol-control button{font-size:1.5em}.ol-touch .ol-zoom-extent{top:5.5em}.ol-control button:hover,.ol-control button:focus{text-decoration:none;outline:1px solid var(--ol-subtle-foreground-color);color:var(--ol-foreground-color)}.ol-zoom .ol-zoom-in{border-radius:2px 2px 0 0}.ol-zoom .ol-zoom-out{border-radius:0 0 2px 2px}.ol-attribution{text-align:right;bottom:.5em;right:.5em;max-width:calc(100% - 1.3em);display:flex;flex-flow:row-reverse;align-items:center}.ol-attribution a{color:var(--ol-subtle-foreground-color);text-decoration:none}.ol-attribution ul{margin:0;padding:1px .5em;color:var(--ol-foreground-color);text-shadow:0 0 2px var(--ol-background-color);font-size:12px}.ol-attribution li{display:inline;list-style:none}.ol-attribution li:not(:last-child):after{content:" "}.ol-attribution img{max-height:2em;max-width:inherit;vertical-align:middle}.ol-attribution button{flex-shrink:0}.ol-attribution.ol-collapsed ul{display:none}.ol-attribution:not(.ol-collapsed){background:var(--ol-partial-background-color)}.ol-attribution.ol-uncollapsible{bottom:0;right:0;border-radius:4px 0 0}.ol-attribution.ol-uncollapsible img{margin-top:-.2em;max-height:1.6em}.ol-attribution.ol-uncollapsible button{display:none}.ol-zoomslider{top:4.5em;left:.5em;height:200px}.ol-zoomslider button{position:relative;height:10px}.ol-touch .ol-zoomslider{top:5.5em}.ol-overviewmap{left:.5em;bottom:.5em}.ol-overviewmap.ol-uncollapsible{bottom:0;left:0;border-radius:0 4px 0 0}.ol-overviewmap .ol-overviewmap-map,.ol-overviewmap button{display:block}.ol-overviewmap .ol-overviewmap-map{border:1px solid var(--ol-subtle-foreground-color);height:150px;width:150px}.ol-overviewmap:not(.ol-collapsed) button{bottom:0;left:0;position:absolute}.ol-overviewmap.ol-collapsed .ol-overviewmap-map,.ol-overviewmap.ol-uncollapsible button{display:none}.ol-overviewmap:not(.ol-collapsed){background:var(--ol-subtle-background-color)}.ol-overviewmap-box{border:1.5px dotted var(--ol-subtle-foreground-color)}.ol-overviewmap .ol-overviewmap-box:hover{cursor:move}.ol-overviewmap .ol-viewport:hover{cursor:pointer}.map-container .ol-viewport .ol-attribution{bottom:var(--map-padding-bottom);right:var(--map-padding-right)}',re=["en","de"];function ne(o){switch(o){case"en":return _(()=>import("./Clif7aTs2LHR.js"),[],import.meta.url).then(e=>e.default);case"de":return _(()=>import("./Cx-LAL-6-WEp.js"),[],import.meta.url).then(e=>e.default)}throw new Error(`Unsupported locale: '${o}'`)}const ae=j(te),le=Object.freeze(Object.defineProperty({__proto__:null,loadMessages:ne,locales:re,packages:oe,styles:ae},Symbol.toStringTag,{value:"Module"})),ie="toc-map",se=N.bind(void 0,ie);function pe(){const o=se(),e=y.useId(),[t,r]=y.useState(!0);function p(){r(!t)}return n.jsx(b,{height:"100%",direction:"column",overflow:"hidden",children:n.jsx(k,{title:n.jsx(g,{role:"region","aria-label":o.formatMessage({id:"ariaLabel.header"}),textAlign:"center",py:1,children:n.jsx(S,{size:"md",children:"OpenLayers Base Packages - TOC and Health Check Sample"})}),children:n.jsx(b,{flex:"1",direction:"column",children:n.jsxs(U,{mapId:f,role:"main","aria-label":o.formatMessage({id:"ariaLabel.map"}),children:[n.jsx(h,{position:"top-left",horizontalGap:10,verticalGap:10,children:t&&n.jsx(g,{backgroundColor:"white",borderWidth:"1px",borderRadius:"lg",padding:2,boxShadow:"lg",maxWidth:350,children:t&&n.jsx(g,{role:"dialog","aria-labelledby":e,children:n.jsx(k,{title:n.jsx(S,{id:e,size:"md",mb:2,children:o.formatMessage({id:"tocTitle"})}),children:n.jsx(F,{mapId:f,showTools:!0,basemapSwitcherProps:{allowSelectingEmptyBasemap:!0}})})})})}),n.jsx(h,{position:"top-right",horizontalGap:10,verticalGap:10,children:n.jsxs(R,{backgroundColor:"whiteAlpha.900",borderWidth:"1px",borderRadius:"lg",padding:2,boxShadow:"lg",maxWidth:"400px",children:[n.jsx(z,{as:"b",children:"Description"}),n.jsxs(z,{children:["This application can be used to test the TOC, including health checks for configured layers. Two base layers (",'"',"TopPlus Open",'"'," and ",'"',"TopPlus Open (Grau)",'"',") and one operational layer (",'"',"Schulstandorte",'"',") will be unavailable and should be marked as such by the UI."]})]})}),n.jsx(h,{position:"bottom-right",horizontalGap:10,verticalGap:45,children:n.jsx(b,{role:"toolbar","aria-label":o.formatMessage({id:"ariaLabel.toolbar"}),direction:"column",gap:1,padding:1,children:n.jsx(K,{label:o.formatMessage({id:"tocTitle"}),icon:n.jsx(V,{}),isActive:t,onClick:p})})})]})})})})}const ce=A({component:pe,appMetadata:le,async resolveConfig(o){const e=o.getAttribute("forced-locale");if(e)return{locale:e}}});customElements.define("toc-map-app",ce);const ue=document.getElementsByTagName("body")[0];de();function de(){const o=window.location.search,t=new URLSearchParams(o).get("lang"),r=document.createElement("toc-map-app");r.classList.add("full-height"),r.classList.add("app"),r.setAttribute("id","test"),t&&r.setAttribute("forced-locale",t),ue.appendChild(r)} +var w=o=>{throw TypeError(o)};var x=(o,e,t)=>e.has(o)||w("Cannot "+t);var i=(o,e,t)=>(x(o,e,"read from private field"),t?t.call(o):e.get(o)),m=(o,e,t)=>e.has(o)?w("Cannot add the same private member more than once"):e instanceof WeakSet?e.add(o):e.set(o,t),c=(o,e,t,r)=>(x(o,e,"write to private field"),r?r.call(o,t):e.set(o,t),t);import{a as j,r as y,j as n,B as g,V as R,f as A}from"./Mxtq6FG0Aq1_.js";import{bO as T,at as G,bP as E,S as s,T as M,O,bM as W,bN as q,b as I,a as P,M as B,H,u as N,k as b,g as k,h as S,l as U,m as h}from"./5C5XmiCGgLmB.js";import{W as D,b as V}from"./D-pImulTtahV.js";import{G as C,e as F,T as K}from"./CXqamDLCwhxM.js";import{_}from"./CmsKOCeNyeyo.js";import{T as z}from"./BOwySe0UXVY3.js";import"./IfrtfJ9Ep93o.js";import"./DWkb3PmnrxhS.js";import"./D69t4K7RmA6W.js";import"./Cxncs0atKtOb.js";import"./_eg2EQ1Gs0ak.js";import"./CRkdw9XP0Imr.js";import"./BbT9q31oQhIX.js";import"./B3HqXXx_wjjB.js";import"./CK6i-0dKNtLx.js";import"./CrqedT83Nq6G.js";var u;class $ extends T{constructor(t){const r=t.layers,p=new G({layers:r.map(l=>l.olLayer)});super({...t,olLayer:p});m(this,u);c(this,u,new J(r,this))}get type(){return"group"}get legend(){}get layers(){return i(this,u)}get sublayers(){}get olLayer(){return super.olLayer}__attachToMap(t){super.__attachToMap(t),this.layers.__getRawLayers().forEach(r=>r.__attachToMap(t))}}u=new WeakMap;var a,d;class J{constructor(e,t){m(this,a);m(this,d);e=e.slice();for(const r of e)if(r instanceof T)r.__attachToGroup(t);else throw new Error(`Layer '${r.id}' of group '${t.id}' does not implement abstract class '${E.name}`);c(this,a,e),c(this,d,t)}destroy(){for(const e of i(this,a))e.__detachFromGroup(),e.destroy();c(this,a,[])}getItems(e){return this.getLayers(e)}getLayers(e){return i(this,a).slice()}__getRawLayers(){return i(this,a)}__getParent(){return i(this,d)}}a=new WeakMap,d=new WeakMap;const L=$,f="main";class Y{mapId=f;async getMapConfig(){return{initialView:{kind:"position",center:{x:404747,y:5757920},zoom:14},projection:"EPSG:25832",layers:[new s({id:"topplus_open",title:"TopPlus Open",isBaseLayer:!0,visible:!0,healthCheck:"https://sgx.geodatenzentrum.de/wmts_topplus_openERROR/1.0.0/WMTSCapabilities.xml",olLayer:v("web")}),new s({id:"topplus_open_grau",title:"TopPlus Open (Grau)",isBaseLayer:!0,visible:!1,healthCheck:async()=>{function e(t){return new Promise(r=>setTimeout(r,t))}return await e(2e3),"error"},olLayer:v("web_grau")}),new s({id:"topplus_open_light",title:"TopPlus Open (Light)",isBaseLayer:!0,visible:!1,healthCheck:"https://sgx.geodatenzentrum.de/wmts_topplus_open/1.0.0/WMTSCapabilities.xml",olLayer:v("web_light")}),new s({title:"OSM",visible:!1,isBaseLayer:!0,olLayer:new M({source:new O})}),new L({id:"group_edu",title:"Bildung",layers:[new s({title:"Kindertagesstätten",id:"kitas",visible:!0,healthCheck:"https://sgx.geodatenzentrum.de/wmts_topplus_open/1.0.0/WMTSCapabilities.xml",olLayer:Q()}),X()]}),new L({title:"Verkehr",id:"group_transport",layers:[new s({title:"Haltestellen Stadt Rostock",id:"bustops",visible:!0,description:"Haltestellen des öffentlichen Personenverkehrs in der Hanse- und Universitätsstadt Rostock.",olLayer:Z()}),ee()]})]}}}function v(o){const e=[-380316598427299e-8,880590808284866e-8],t=[4891.96981025128,2445.98490512564,1222.99245256282,611.49622628141,305.748113140705,152.874056570353,76.4370282851763,38.2185141425881,19.1092570712941,9.55462853564703,4.77731426782352,2.38865713391176,1.19432856695588,.59716428347794],r=new Array(t.length);for(let l=0;lDatenquellen`});return new M({source:p})}function Z(){const o=new I({url:"https://geo.sv.rostock.de/download/opendata/haltestellen/haltestellen.json",format:new C,attributions:"Haltestellen Stadt Rostock, Creative Commons CC Zero License (cc-zero)"});return new P({source:o})}function Q(){const o=new I({url:"https://ogc-api.nrw.de/inspire-us-kindergarten/v1/collections/governmentalservice/items?f=json&limit=10000",format:new C,attributions:'© Bundesamt für Kartographie und Geodäsie 2017, Datenquellen'});return new P({source:o})}function X(){return new D({title:"Schulstandorte",id:"schools",description:"Der vorliegende Datenbestand / Dienst zu den Schulstandorten in NRW stammt aus der Schuldatenbank. Die Informationen werden von den Schulträgern bzw. Schulen selbst eingetragen und aktuell gehalten. Die Daten werden tagesaktuell bereitgestellt und enthalten alle grundlegenden Informationen zu Schulen wie Schulnummer, Schulbezeichnung und Adresse.Der vorliegende Datenbestand / Dienst zu den Schulstandorten in NRW stammt aus der Schuldatenbank. Die Informationen werden von den Schulträgern bzw. Schulen selbst eingetragen und aktuell gehalten. Die Daten werden tagesaktuell bereitgestellt und enthalten alle grundlegenden Informationen zu Schulen wie Schulnummer, Schulbezeichnung und Adresse.Der vorliegende Datenbestand / Dienst zu den Schulstandorten in NRW stammt aus der Schuldatenbank. Die Informationen werden von den Schulträgern bzw. Schulen selbst eingetragen und aktuell gehalten. Die Daten werden tagesaktuell bereitgestellt und enthalten alle grundlegenden Informationen zu Schulen wie Schulnummer, Schulbezeichnung und Adresse.Der vorliegende Datenbestand / Dienst zu den Schulstandorten in NRW stammt aus der Schuldatenbank. Die Informationen werden von den Schulträgern bzw. Schulen selbst eingetragen und aktuell gehalten. Die Daten werden tagesaktuell bereitgestellt und enthalten alle grundlegenden Informationen zu Schulen wie Schulnummer, Schulbezeichnung und Adresse.",visible:!0,healthCheck:async()=>{function o(e){return new Promise(t=>setTimeout(t,e))}return await o(3e3),"error"},url:"https://www.wms.nrw.de/wms/wms_nw_inspire-schulen",sublayers:[{name:"US.education",title:"INSPIRE - WMS Schulstandorte NRW"}],sourceOptions:{ratio:1}})}function ee(){return new D({title:"Straßennetz Landesbetrieb Straßenbau NRW",url:"https://www.wms.nrw.de/wms/strassen_nrw_wms",sublayers:[{name:"1",title:"Verwaltungen"},{name:"4",title:"Abschnitte und Äste"},{name:"6",title:"Unfälle"}]})}const oe={"toc-map":{name:"toc-map",services:{MapConfigProviderImpl:{name:"MapConfigProviderImpl",clazz:Y,provides:[{name:"map.MapConfigProvider",qualifier:void 0}],references:{}}},ui:{references:[{name:"map.MapRegistry",qualifier:void 0,all:!1}]},properties:{}},"@open-pioneer/chakra-integration":{name:"@open-pioneer/chakra-integration",services:{},ui:{references:[]},properties:{}},"@open-pioneer/map":{name:"@open-pioneer/map",services:{MapRegistryImpl:{name:"MapRegistryImpl",clazz:B,provides:[{name:"map.MapRegistry",qualifier:void 0}],references:{providers:{name:"map.MapConfigProvider",qualifier:void 0,all:!0},httpService:{name:"http.HttpService",qualifier:void 0,all:!1}}}},ui:{references:[{name:"map.MapRegistry",qualifier:void 0,all:!1}]},properties:{}},"@open-pioneer/map-ui-components":{name:"@open-pioneer/map-ui-components",services:{},ui:{references:[]},properties:{}},"@open-pioneer/react-utils":{name:"@open-pioneer/react-utils",services:{},ui:{references:[]},properties:{}},"@open-pioneer/runtime":{name:"@open-pioneer/runtime",services:{},ui:{references:[]},properties:{}},"@open-pioneer/toc":{name:"@open-pioneer/toc",services:{},ui:{references:[]},properties:{}},"@open-pioneer/core":{name:"@open-pioneer/core",services:{},ui:{references:[]},properties:{}},"@open-pioneer/http":{name:"@open-pioneer/http",services:{HttpServiceImpl:{name:"HttpServiceImpl",clazz:H,provides:[{name:"http.HttpService",qualifier:"http.HttpService"}],references:{interceptors:{name:"http.Interceptor",qualifier:void 0,all:!0}}}},ui:{references:[]},properties:{}},"@open-pioneer/basemap-switcher":{name:"@open-pioneer/basemap-switcher",services:{},ui:{references:[]},properties:{}},"@open-pioneer/reactivity":{name:"@open-pioneer/reactivity",services:{},ui:{references:[]},properties:{}},"@open-pioneer/base-theme":{name:"@open-pioneer/base-theme",services:{},ui:{references:[]},properties:{}},"@open-pioneer/runtime-react-support":{name:"@open-pioneer/runtime-react-support",services:{},ui:{references:[]},properties:{}}},te=':root,:host{--ol-background-color: white;--ol-accent-background-color: #F5F5F5;--ol-subtle-background-color: rgba(128, 128, 128, .25);--ol-partial-background-color: rgba(255, 255, 255, .75);--ol-foreground-color: #333333;--ol-subtle-foreground-color: #666666;--ol-brand-color: #00AAFF}.ol-box{box-sizing:border-box;border-radius:2px;border:1.5px solid var(--ol-background-color);background-color:var(--ol-partial-background-color)}.ol-mouse-position{top:8px;right:8px;position:absolute}.ol-scale-line{background:var(--ol-partial-background-color);border-radius:4px;bottom:8px;left:8px;padding:2px;position:absolute}.ol-scale-line-inner{border:1px solid var(--ol-subtle-foreground-color);border-top:none;color:var(--ol-foreground-color);font-size:10px;text-align:center;margin:1px;will-change:contents,width;transition:all .25s}.ol-scale-bar{position:absolute;bottom:8px;left:8px}.ol-scale-bar-inner{display:flex}.ol-scale-step-marker{width:1px;height:15px;background-color:var(--ol-foreground-color);float:right;z-index:10}.ol-scale-step-text{position:absolute;bottom:-5px;font-size:10px;z-index:11;color:var(--ol-foreground-color);text-shadow:-1.5px 0 var(--ol-partial-background-color),0 1.5px var(--ol-partial-background-color),1.5px 0 var(--ol-partial-background-color),0 -1.5px var(--ol-partial-background-color)}.ol-scale-text{position:absolute;font-size:12px;text-align:center;bottom:25px;color:var(--ol-foreground-color);text-shadow:-1.5px 0 var(--ol-partial-background-color),0 1.5px var(--ol-partial-background-color),1.5px 0 var(--ol-partial-background-color),0 -1.5px var(--ol-partial-background-color)}.ol-scale-singlebar{position:relative;height:10px;z-index:9;box-sizing:border-box;border:1px solid var(--ol-foreground-color)}.ol-scale-singlebar-even{background-color:var(--ol-subtle-foreground-color)}.ol-scale-singlebar-odd{background-color:var(--ol-background-color)}.ol-unsupported{display:none}.ol-viewport,.ol-unselectable{-webkit-touch-callout:none;-webkit-user-select:none;-moz-user-select:none;user-select:none;-webkit-tap-highlight-color:transparent}.ol-viewport canvas{all:unset;overflow:hidden}.ol-viewport{touch-action:pan-x pan-y}.ol-selectable{-webkit-touch-callout:default;-webkit-user-select:text;-moz-user-select:text;user-select:text}.ol-grabbing{cursor:-webkit-grabbing;cursor:-moz-grabbing;cursor:grabbing}.ol-grab{cursor:move;cursor:-webkit-grab;cursor:-moz-grab;cursor:grab}.ol-control{position:absolute;background-color:var(--ol-subtle-background-color);border-radius:4px}.ol-zoom{top:.5em;left:.5em}.ol-rotate{top:.5em;right:.5em;transition:opacity .25s linear,visibility 0s linear}.ol-rotate.ol-hidden{opacity:0;visibility:hidden;transition:opacity .25s linear,visibility 0s linear .25s}.ol-zoom-extent{top:4.643em;left:.5em}.ol-full-screen{right:.5em;top:.5em}.ol-control button{display:block;margin:1px;padding:0;color:var(--ol-subtle-foreground-color);font-weight:700;text-decoration:none;font-size:inherit;text-align:center;height:1.375em;width:1.375em;line-height:.4em;background-color:var(--ol-background-color);border:none;border-radius:2px}.ol-control button::-moz-focus-inner{border:none;padding:0}.ol-zoom-extent button{line-height:1.4em}.ol-compass{display:block;font-weight:400;will-change:transform}.ol-touch .ol-control button{font-size:1.5em}.ol-touch .ol-zoom-extent{top:5.5em}.ol-control button:hover,.ol-control button:focus{text-decoration:none;outline:1px solid var(--ol-subtle-foreground-color);color:var(--ol-foreground-color)}.ol-zoom .ol-zoom-in{border-radius:2px 2px 0 0}.ol-zoom .ol-zoom-out{border-radius:0 0 2px 2px}.ol-attribution{text-align:right;bottom:.5em;right:.5em;max-width:calc(100% - 1.3em);display:flex;flex-flow:row-reverse;align-items:center}.ol-attribution a{color:var(--ol-subtle-foreground-color);text-decoration:none}.ol-attribution ul{margin:0;padding:1px .5em;color:var(--ol-foreground-color);text-shadow:0 0 2px var(--ol-background-color);font-size:12px}.ol-attribution li{display:inline;list-style:none}.ol-attribution li:not(:last-child):after{content:" "}.ol-attribution img{max-height:2em;max-width:inherit;vertical-align:middle}.ol-attribution button{flex-shrink:0}.ol-attribution.ol-collapsed ul{display:none}.ol-attribution:not(.ol-collapsed){background:var(--ol-partial-background-color)}.ol-attribution.ol-uncollapsible{bottom:0;right:0;border-radius:4px 0 0}.ol-attribution.ol-uncollapsible img{margin-top:-.2em;max-height:1.6em}.ol-attribution.ol-uncollapsible button{display:none}.ol-zoomslider{top:4.5em;left:.5em;height:200px}.ol-zoomslider button{position:relative;height:10px}.ol-touch .ol-zoomslider{top:5.5em}.ol-overviewmap{left:.5em;bottom:.5em}.ol-overviewmap.ol-uncollapsible{bottom:0;left:0;border-radius:0 4px 0 0}.ol-overviewmap .ol-overviewmap-map,.ol-overviewmap button{display:block}.ol-overviewmap .ol-overviewmap-map{border:1px solid var(--ol-subtle-foreground-color);height:150px;width:150px}.ol-overviewmap:not(.ol-collapsed) button{bottom:0;left:0;position:absolute}.ol-overviewmap.ol-collapsed .ol-overviewmap-map,.ol-overviewmap.ol-uncollapsible button{display:none}.ol-overviewmap:not(.ol-collapsed){background:var(--ol-subtle-background-color)}.ol-overviewmap-box{border:1.5px dotted var(--ol-subtle-foreground-color)}.ol-overviewmap .ol-overviewmap-box:hover{cursor:move}.ol-overviewmap .ol-viewport:hover{cursor:pointer}.map-container .ol-viewport .ol-attribution{bottom:var(--map-padding-bottom);right:var(--map-padding-right)}',re=["en","de"];function ne(o){switch(o){case"en":return _(()=>import("./Clif7aTs2LHR.js"),[],import.meta.url).then(e=>e.default);case"de":return _(()=>import("./Cx-LAL-6-WEp.js"),[],import.meta.url).then(e=>e.default)}throw new Error(`Unsupported locale: '${o}'`)}const ae=j(te),le=Object.freeze(Object.defineProperty({__proto__:null,loadMessages:ne,locales:re,packages:oe,styles:ae},Symbol.toStringTag,{value:"Module"})),ie="toc-map",se=N.bind(void 0,ie);function pe(){const o=se(),e=y.useId(),[t,r]=y.useState(!0);function p(){r(!t)}return n.jsx(b,{height:"100%",direction:"column",overflow:"hidden",children:n.jsx(k,{title:n.jsx(g,{role:"region","aria-label":o.formatMessage({id:"ariaLabel.header"}),textAlign:"center",py:1,children:n.jsx(S,{size:"md",children:"OpenLayers Base Packages - TOC and Health Check Sample"})}),children:n.jsx(b,{flex:"1",direction:"column",children:n.jsxs(U,{mapId:f,role:"main","aria-label":o.formatMessage({id:"ariaLabel.map"}),children:[n.jsx(h,{position:"top-left",horizontalGap:10,verticalGap:10,children:t&&n.jsx(g,{backgroundColor:"white",borderWidth:"1px",borderRadius:"lg",padding:2,boxShadow:"lg",maxWidth:350,children:t&&n.jsx(g,{role:"dialog","aria-labelledby":e,children:n.jsx(k,{title:n.jsx(S,{id:e,size:"md",mb:2,children:o.formatMessage({id:"tocTitle"})}),children:n.jsx(F,{mapId:f,showTools:!0,basemapSwitcherProps:{allowSelectingEmptyBasemap:!0}})})})})}),n.jsx(h,{position:"top-right",horizontalGap:10,verticalGap:10,children:n.jsxs(R,{backgroundColor:"whiteAlpha.900",borderWidth:"1px",borderRadius:"lg",padding:2,boxShadow:"lg",maxWidth:"400px",children:[n.jsx(z,{as:"b",children:"Description"}),n.jsxs(z,{children:["This application can be used to test the TOC, including health checks for configured layers. Two base layers (",'"',"TopPlus Open",'"'," and ",'"',"TopPlus Open (Grau)",'"',") and one operational layer (",'"',"Schulstandorte",'"',") will be unavailable and should be marked as such by the UI."]})]})}),n.jsx(h,{position:"bottom-right",horizontalGap:10,verticalGap:45,children:n.jsx(b,{role:"toolbar","aria-label":o.formatMessage({id:"ariaLabel.toolbar"}),direction:"column",gap:1,padding:1,children:n.jsx(K,{label:o.formatMessage({id:"tocTitle"}),icon:n.jsx(V,{}),isActive:t,onClick:p})})})]})})})})}const ce=A({component:pe,appMetadata:le,async resolveConfig(o){const e=o.getAttribute("forced-locale");if(e)return{locale:e}}});customElements.define("toc-map-app",ce);const ue=document.getElementsByTagName("body")[0];de();function de(){const o=window.location.search,t=new URLSearchParams(o).get("lang"),r=document.createElement("toc-map-app");r.classList.add("full-height"),r.classList.add("app"),r.setAttribute("id","test"),t&&r.setAttribute("forced-locale",t),ue.appendChild(r)} diff --git a/openlayers-base-packages/assets/Plectjl_ycB_.js b/openlayers-base-packages/assets/CqYMxA-o8r_D.js similarity index 99% rename from openlayers-base-packages/assets/Plectjl_ycB_.js rename to openlayers-base-packages/assets/CqYMxA-o8r_D.js index 493f01916..4008d4001 100644 --- a/openlayers-base-packages/assets/Plectjl_ycB_.js +++ b/openlayers-base-packages/assets/CqYMxA-o8r_D.js @@ -16,4 +16,4 @@ ${s}`)!==100){const l=e.replace("{font-family}",s.replace(/ /g,"-").toLowerCase( `)return V.push(` `,""),V;if(J==2){V.push(Mr(W,rt),X);return}W=Ar(W,X,Qt,rt).split(` `);for(let pe=0,se=W.length;pe0&&V.push(` -`,""),V.push(W[pe],X);return V},[]):ee=wr(B,Y).trim(),we=S(v,"paint","text-opacity",g,b,m,k)}if(ee&&we&&!Yt){wt||(++M,w=z[M],(!w||!w.getText()||w.getFill()||w.getStroke())&&(w=new Ee,z[M]=w),w.setImage(void 0),w.setGeometry(void 0));const U=Qn(v,g,b,"text",m);w.getText()||w.setText(O),O=w.getText(),(!O||"getDeclutterMode"in O&&O.getDeclutterMode()!==U)&&(O=new No({padding:[2,2,2,2],declutterMode:U}),w.setText(O));const B=S(v,"layout","text-transform",g,b,m,k);B=="uppercase"?ee=Array.isArray(ee)?ee.map((re,nt)=>nt%2?re:re.toUpperCase()):ee.toUpperCase():B=="lowercase"&&(ee=Array.isArray(ee)?ee.map((re,nt)=>nt%2?re:re.toLowerCase()):ee.toLowerCase());const V=Array.isArray(ee)?ee:J==2?Mr(ee,rt):Ar(ee,et,Qt,rt);O.setText(V),O.setFont(et),O.setRotation(gr(S(v,"layout","text-rotate",g,b,m,k)));const Z=S(v,"layout","text-anchor",g,b,m,k),j=wt||J==1?"point":S(v,"layout","symbol-placement",g,b,m,k);let $;if(j==="line-center"?(O.setPlacement("line"),$="center"):O.setPlacement(j),j==="line"&&typeof O.setRepeat=="function"){const re=S(v,"layout","symbol-spacing",g,b,m,k);O.setRepeat(re*2)}O.setOverflow(j==="point");let X=S(v,"paint","text-halo-width",g,b,m,k);const W=S(v,"layout","text-offset",g,b,m,k),pe=S(v,"paint","text-translate",g,b,m,k);let se=0,ie=0;if(j=="point"){$="center",Z.indexOf("left")!==-1?($="left",ie=X):Z.indexOf("right")!==-1&&($="right",ie=-X);const re=S(v,"layout","text-rotation-alignment",g,b,m,k);O.setRotateWithView(re=="map")}else O.setMaxAngle(gr(S(v,"layout","text-max-angle",g,b,m,k))*ee.length/V.length),O.setRotateWithView(!1);O.setTextAlign($);let oe="middle";Z.indexOf("bottom")==0?(oe="bottom",se=-X-.5*(tt-1)*Se):Z.indexOf("top")==0&&(oe="top",se=X+.5*(tt-1)*Se),O.setTextBaseline(oe);const H=S(v,"layout","text-justify",g,b,m,k);O.setJustify(H==="auto"?void 0:H),O.setOffsetX(W[0]*Se+ie+pe[0]),O.setOffsetY(W[1]*Se+se+pe[1]),C.setColor(Fe(S(v,"paint","text-color",g,b,m,k),we)),O.setFill(C);const de=Fe(S(v,"paint","text-halo-color",g,b,m,k),we);if(de&&X>0){E.setColor(de),X*=2;const re=.5*Se;E.setWidth(X<=re?X:re),O.setStroke(E)}else O.setStroke(void 0);const fe=S(v,"layout","text-padding",g,b,m,k),he=O.getPadding();fe!==he[0]&&(he[0]=fe,he[1]=fe,he[2]=fe,he[3]=fe),w.setZIndex(De)}}}if(M>-1)return z.length=M+1,z};return r.setStyle(A),r.set("mapbox-source",I),r.set("mapbox-layers",h),r.set("mapbox-featurestate",r.get("mapbox-featurestate")||{}),A}function Dl(r,e=512){return r.getExtent()?jr({extent:r.getExtent(),tileSize:e,maxZoom:22}).getResolutions():Kt}function jl(r,e){return e.accessToken||(e=Object.assign({},e),new URL(r).searchParams.forEach((n,i)=>{e.accessToken=n,e.accessTokenParam=i})),e}function Ll(r,e,t="",n={},i=void 0){let o,a,s,l,u=!0;return typeof t!="string"&&!Array.isArray(t)?(s=t,l=s.source||s.layers,n=s):l=t,typeof n=="string"?(o=n,s={}):(o=n.styleUrl,s=n),s.updateSource===!1&&(u=!1),i||(i=s.resolutions),!o&&typeof e=="string"&&!e.trim().startsWith("{")&&(o=e),o&&(o=o.startsWith("data:")?location.href:Vi(o,s.accessToken),s=jl(o,s)),new Promise(function(c,d){Ui(e,s).then(function(p){if(p.version!=8)return d(new Error("glStyle version 8 required."));if(!(r instanceof zr||r instanceof ut))return d(new Error("Can only apply to VectorLayer or VectorTileLayer"));const h=r instanceof ut?"vector":"geojson";if(l?Array.isArray(l)?a=p.layers.find(function(C){return C.id===l[0]}).source:a=l:(a=Object.keys(p.sources).find(function(C){return p.sources[C].type===h}),l=a),!a)return d(new Error(`No ${h} source found in the glStyle.`));function f(){if(!u)return Promise.resolve();if(r instanceof ut)return Nl(p.sources[a],o,s).then(function(T){const F=r.getSource();F?T!==F&&(F.setTileUrlFunction(T.getTileUrlFunction()),typeof F.setUrls=="function"&&typeof T.getUrls=="function"&&F.setUrls(T.getUrls()),F.format_||(F.format_=T.format_),F.getAttributions()||F.setAttributions(T.getAttributions()),F.getTileLoadFunction()===ci&&F.setTileLoadFunction(T.getTileLoadFunction()),qo(F.getProjection(),T.getProjection())&&(F.tileGrid=T.getTileGrid())):r.setSource(T);const L=r.getSource().getTileGrid();!isFinite(r.getMaxResolution())&&!isFinite(r.getMinZoom())&&L.getMinZoom()>0&&r.setMaxResolution(vl(Math.max(0,L.getMinZoom()-1e-12),L.getResolutions()))});const C=p.sources[a];let z=r.getSource();(!z||z.get("mapbox-source")!==C)&&(z=Bl(C,o,s));const A=r.getSource();return A?z!==A&&(A.getAttributions()||A.setAttributions(z.getAttributions()),A.format_||(A.format_=z.getFormat()),A.url_=z.getUrl()):r.setSource(z),Promise.resolve()}let x,m,D,I;function E(){if(!I&&(!p.sprite||m)){if(s.projection&&!i){const z=Xe(s.projection).getUnits();z!=="m"&&(i=Kt.map(A=>A/Ao[z]))}I=Al(r,p,l,i,m,D,(C,z=s.webfonts)=>El(C,z),s.getImage),r.getStyle()?f().then(c).catch(d):d(new Error(`Nothing to show for source [${a}]`))}else I?(r.setStyle(I),f().then(c).catch(d)):d(new Error("Something went wrong trying to apply style."))}if(p.sprite){const C=new URL(ml(p.sprite,s.accessToken,o||location.href));x=window.devicePixelRatio>=1.5?.5:1;const z=x==.5?"@2x":"";let A=C.origin+C.pathname+z+".json"+C.search;new Promise(function(T,F){We("Sprite",A,s).then(T).catch(function(L){A=C.origin+C.pathname+".json"+C.search,We("Sprite",A,s).then(T).catch(F)})}).then(function(T){if(T===void 0&&d(new Error("No sprites found.")),m=T,D=C.origin+C.pathname+z+".png"+C.search,s.transformRequest){const F=s.transformRequest(D,"SpriteImage")||D;(F instanceof Request||F instanceof Promise)&&(D=F)}E()}).catch(function(T){d(new Error(`Sprites cannot be loaded: ${A}: ${T.message}`))})}else E()}).catch(d)})}const ei={};function $l(r,e,t){e.layers.some(function(n){if(n.type==="background"){if(r instanceof si)return r.setBackground(function(i){return Zi(n,i,t,{})}),!0;if(r instanceof Do||r instanceof jo)return r.getLayers().insertAt(0,Vl(n,t,{})),!0}})}function Ol(r,e,t={}){return Ui(e,t).then(function(n){$l(r,n,t)})}function ql(r,e){const t=r.bounds;if(t){const n=wn([t[0],t[1]],e),i=wn([t[2],t[3]],e);return[n[0],n[1],i[0],i[1]]}return Xe(e).getExtent()}function Gl(r,e,t){const n=new da({tileJSON:e,tileSize:r.tileSize||e.tileSize||512}),i=n.getTileJSON(),o=n.getTileGrid(),a=Xe(t.projection||"EPSG:3857"),s=ql(i,a),l=a.getExtent(),u=i.minzoom||0,c=i.maxzoom||22,d={attributions:n.getAttributions(),projection:a,tileGrid:new ai({origin:l?ni(l):o.getOrigin(0),extent:s||o.getExtent(),minZoom:u,resolutions:Dl(a,e.tileSize).slice(0,c+1),tileSize:o.getTileSize(0)})};return Array.isArray(i.tiles)?d.urls=i.tiles:d.url=i.tiles,d}function Zi(r,e,t,n){const i={id:r.id,type:r.type},o=r.layout||{},a=r.paint||{};i.paint=a;const s=Ni(e,t.resolutions||Kt);let l;const u=S(i,"paint","background-color",s,ei,n);return a["background-opacity"]!==void 0&&(l=S(i,"paint","background-opacity",s,ei,n)),o.visibility=="none"?void 0:Fe(u,l)}function Vl(r,e,t){const n=document.createElement("div");return n.className="ol-mapbox-style-background",n.style.position="absolute",n.style.width="100%",n.style.height="100%",new si({source:new Lo({}),render(i){const o=Zi(r,i.viewState.resolution,e,t);return n.style.backgroundColor=o,n}})}function Nl(r,e,t){return new Promise(function(n,i){wl(r,e,t).then(function({tileJson:o,tileLoadFunction:a}){const s=Gl(r,o,t);s.tileLoadFunction=a,s.format=new $r,n(new Lr(s))}).catch(i)})}function Ul(r){return`{bbox-${(r?r.getCode():"EPSG:3857").toLowerCase().replace(/[^a-z0-9]/g,"-")}}`}function Bl(r,e,t){const n=t.projection?new zn({dataProjection:t.projection}):new zn,i=r.data,o={};if(typeof i=="string"){const s=Rt(i,t.accessToken,t.accessTokenParam||"access_token",e||location.href);if(/\{bbox-[0-9a-z-]+\}/.test(s)){const u=(d,p,h)=>{const f=Ul(h);return s.replace(f,`${d.join(",")}`)},c=new rr({attributions:r.attribution,format:n,loader:(d,p,h,f,x)=>{const m=typeof u=="function"?u(d,p,h):u;We("GeoJSON",m,t).then(D=>{const I=c.getFormat().readFeatures(D,{featureProjection:h});c.addFeatures(I),f(I)}).catch(D=>{c.removeLoadedExtent(d),x()})},strategy:Go});return c.set("mapbox-source",r),c}const l=new rr({attributions:r.attribution,format:n,url:s,loader:(u,c,d,p,h)=>{We("GeoJSON",s,t).then(f=>{const x=l.getFormat().readFeatures(f,{featureProjection:d});l.addFeatures(x),p(x)}).catch(f=>{l.removeLoadedExtent(u),h()})}});return l}o.features=n.readFeatures(i,{featureProjection:"EPSG:3857"});const a=new rr(Object.assign({attributions:r.attribution,format:n},o));return a.set("mapbox-source",r),a}class Zl extends Mo{constructor(e){super(Tr.ERROR),this.error=e}}class Hl extends ut{constructor(e){const t="declutter"in e?e.declutter:!0,n=new Lr({state:"loading",format:new $r});super({source:n,background:e.background===!1?null:e.background,declutter:t,className:e.className,opacity:e.opacity,visible:e.visible,zIndex:e.zIndex,minResolution:e.minResolution,maxResolution:e.maxResolution,minZoom:e.minZoom,maxZoom:e.maxZoom,renderOrder:e.renderOrder,renderBuffer:e.renderBuffer,renderMode:e.renderMode,map:e.map,updateWhileAnimating:e.updateWhileAnimating,updateWhileInteracting:e.updateWhileInteracting,preload:e.preload,useInterimTilesOnError:e.useInterimTilesOnError,properties:e.properties}),e.accessToken&&(this.accessToken=e.accessToken);const i=e.styleUrl,o=[Ll(this,i,e.layers||e.source,{accessToken:this.accessToken})];this.getBackground()===void 0&&o.push(Ol(this,e.styleUrl,{accessToken:this.accessToken})),Promise.all(o).then(()=>{n.setState("ready")}).catch(a=>{this.dispatchEvent(new Zl(a)),this.getSource().setState("error")})}}const qe="main";class Xl{mapId=qe;vectorSourceFactory;constructor({references:e}){this.vectorSourceFactory=e.vectorSourceFactory}async getMapConfig(){return{projection:"EPSG:3857",initialView:{kind:"position",center:{x:848890,y:6793350},zoom:13},layers:[new it({title:"OSM",visible:!0,isBaseLayer:!0,olLayer:new Uo({source:new Bo})}),new it({id:"inspire-us-kindergarten",title:"Kindertageseinrichtungen in NRW",visible:!0,olLayer:new zr({style:new Ee({image:new li({fill:new Ge({color:"blue"}),radius:5})}),source:this.vectorSourceFactory.createVectorSource({baseUrl:"https://ogc-api.nrw.de/inspire-us-kindergarten/v1",collectionId:"governmentalservice",crs:"http://www.opengis.net/def/crs/EPSG/0/3857",attributions:"Datenlizenz Deutschland - Namensnennung - Version 2.0"})})}),new it({id:"ogc_katasterbezirk",title:"Liegenschaftskatasterbezirke in NRW (viele Daten)",visible:!1,olLayer:new zr({source:this.vectorSourceFactory.createVectorSource({baseUrl:"https://ogc-api.nrw.de/lika/v1",collectionId:"katasterbezirk",limit:1e3,crs:"http://www.opengis.net/def/crs/EPSG/0/3857",attributions:"Datenlizenz Deutschland - Namensnennung - Version 2.0"})})}),new it({title:"Abschnitte / Äste mit Unfällen (Mapbox Style)",visible:!1,olLayer:new Hl({styleUrl:"https://demo.ldproxy.net/strassen/styles/default?f=mbs"})}),new it({title:"Pendleratlas",visible:!0,olLayer:new ut({source:new Lr({url:"https://pendleratlas.statistikportal.de/_vector_tiles/2022/vg250/{z}/{x}/{y}.pbf",format:new $r,projection:"EPSG:3857",attributions:`© Statistische Ämter der Länder ${new Date().getFullYear()} | GeoBasis-DE/BKG ${new Date().getFullYear()}`}),style:new Ee({fill:new Ge({color:"rgba(173, 209, 158, 0.6)"}),stroke:new st({color:"#2d7d9f",width:3})})})})]}}}class Wl{beforeRequest({target:e,options:t}){e.protocol==="https:"&&e.hostname==="ogc-api.nrw.de"&&t.headers.set("Authorization","Bearer 12345")}}const Kl={"ogc-api-app":{name:"ogc-api-app",services:{MapConfigProviderImpl:{name:"MapConfigProviderImpl",clazz:Xl,provides:[{name:"map.MapConfigProvider",qualifier:void 0}],references:{vectorSourceFactory:{name:"ogc-features.VectorSourceFactory",qualifier:void 0,all:!1}}},SampleTokenInterceptor:{name:"SampleTokenInterceptor",clazz:Wl,provides:[{name:"http.Interceptor",qualifier:void 0}],references:{}}},ui:{references:[]},properties:{}},"@open-pioneer/chakra-integration":{name:"@open-pioneer/chakra-integration",services:{},ui:{references:[]},properties:{}},"@open-pioneer/runtime":{name:"@open-pioneer/runtime",services:{},ui:{references:[]},properties:{}},"@open-pioneer/react-utils":{name:"@open-pioneer/react-utils",services:{},ui:{references:[]},properties:{}},"@open-pioneer/http":{name:"@open-pioneer/http",services:{HttpServiceImpl:{name:"HttpServiceImpl",clazz:Zo,provides:[{name:"http.HttpService",qualifier:"http.HttpService"}],references:{interceptors:{name:"http.Interceptor",qualifier:void 0,all:!0}}}},ui:{references:[]},properties:{}},"@open-pioneer/map":{name:"@open-pioneer/map",services:{MapRegistryImpl:{name:"MapRegistryImpl",clazz:Ho,provides:[{name:"map.MapRegistry",qualifier:void 0}],references:{providers:{name:"map.MapConfigProvider",qualifier:void 0,all:!0},httpService:{name:"http.HttpService",qualifier:void 0,all:!1}}}},ui:{references:[{name:"map.MapRegistry",qualifier:void 0,all:!1}]},properties:{}},"@open-pioneer/theme":{name:"@open-pioneer/theme",services:{},ui:{references:[]},properties:{}},"@open-pioneer/ogc-features":{name:"@open-pioneer/ogc-features",services:{VectorSourceFactory:{name:"VectorSourceFactory",clazz:na,provides:[{name:"ogc-features.VectorSourceFactory",qualifier:void 0}],references:{httpService:{name:"http.HttpService",qualifier:void 0,all:!1}}},SearchSourceFactory:{name:"SearchSourceFactory",clazz:ia,provides:[{name:"ogc-features.SearchSourceFactory",qualifier:void 0}],references:{httpService:{name:"http.HttpService",qualifier:void 0,all:!1}}}},ui:{references:[]},properties:{}},"@open-pioneer/basemap-switcher":{name:"@open-pioneer/basemap-switcher",services:{},ui:{references:[]},properties:{}},"@open-pioneer/map-navigation":{name:"@open-pioneer/map-navigation",services:{},ui:{references:[]},properties:{}},"@open-pioneer/toc":{name:"@open-pioneer/toc",services:{},ui:{references:[]},properties:{}},"@open-pioneer/base-theme":{name:"@open-pioneer/base-theme",services:{},ui:{references:[]},properties:{}},"@open-pioneer/core":{name:"@open-pioneer/core",services:{},ui:{references:[]},properties:{}},"@open-pioneer/runtime-react-support":{name:"@open-pioneer/runtime-react-support",services:{},ui:{references:[]},properties:{}},"@open-pioneer/map-ui-components":{name:"@open-pioneer/map-ui-components",services:{},ui:{references:[]},properties:{}},"@open-pioneer/reactivity":{name:"@open-pioneer/reactivity",services:{},ui:{references:[]},properties:{}}},Jl=':root,:host{--ol-background-color: white;--ol-accent-background-color: #F5F5F5;--ol-subtle-background-color: rgba(128, 128, 128, .25);--ol-partial-background-color: rgba(255, 255, 255, .75);--ol-foreground-color: #333333;--ol-subtle-foreground-color: #666666;--ol-brand-color: #00AAFF}.ol-box{box-sizing:border-box;border-radius:2px;border:1.5px solid var(--ol-background-color);background-color:var(--ol-partial-background-color)}.ol-mouse-position{top:8px;right:8px;position:absolute}.ol-scale-line{background:var(--ol-partial-background-color);border-radius:4px;bottom:8px;left:8px;padding:2px;position:absolute}.ol-scale-line-inner{border:1px solid var(--ol-subtle-foreground-color);border-top:none;color:var(--ol-foreground-color);font-size:10px;text-align:center;margin:1px;will-change:contents,width;transition:all .25s}.ol-scale-bar{position:absolute;bottom:8px;left:8px}.ol-scale-bar-inner{display:flex}.ol-scale-step-marker{width:1px;height:15px;background-color:var(--ol-foreground-color);float:right;z-index:10}.ol-scale-step-text{position:absolute;bottom:-5px;font-size:10px;z-index:11;color:var(--ol-foreground-color);text-shadow:-1.5px 0 var(--ol-partial-background-color),0 1.5px var(--ol-partial-background-color),1.5px 0 var(--ol-partial-background-color),0 -1.5px var(--ol-partial-background-color)}.ol-scale-text{position:absolute;font-size:12px;text-align:center;bottom:25px;color:var(--ol-foreground-color);text-shadow:-1.5px 0 var(--ol-partial-background-color),0 1.5px var(--ol-partial-background-color),1.5px 0 var(--ol-partial-background-color),0 -1.5px var(--ol-partial-background-color)}.ol-scale-singlebar{position:relative;height:10px;z-index:9;box-sizing:border-box;border:1px solid var(--ol-foreground-color)}.ol-scale-singlebar-even{background-color:var(--ol-subtle-foreground-color)}.ol-scale-singlebar-odd{background-color:var(--ol-background-color)}.ol-unsupported{display:none}.ol-viewport,.ol-unselectable{-webkit-touch-callout:none;-webkit-user-select:none;-moz-user-select:none;user-select:none;-webkit-tap-highlight-color:transparent}.ol-viewport canvas{all:unset;overflow:hidden}.ol-viewport{touch-action:pan-x pan-y}.ol-selectable{-webkit-touch-callout:default;-webkit-user-select:text;-moz-user-select:text;user-select:text}.ol-grabbing{cursor:-webkit-grabbing;cursor:-moz-grabbing;cursor:grabbing}.ol-grab{cursor:move;cursor:-webkit-grab;cursor:-moz-grab;cursor:grab}.ol-control{position:absolute;background-color:var(--ol-subtle-background-color);border-radius:4px}.ol-zoom{top:.5em;left:.5em}.ol-rotate{top:.5em;right:.5em;transition:opacity .25s linear,visibility 0s linear}.ol-rotate.ol-hidden{opacity:0;visibility:hidden;transition:opacity .25s linear,visibility 0s linear .25s}.ol-zoom-extent{top:4.643em;left:.5em}.ol-full-screen{right:.5em;top:.5em}.ol-control button{display:block;margin:1px;padding:0;color:var(--ol-subtle-foreground-color);font-weight:700;text-decoration:none;font-size:inherit;text-align:center;height:1.375em;width:1.375em;line-height:.4em;background-color:var(--ol-background-color);border:none;border-radius:2px}.ol-control button::-moz-focus-inner{border:none;padding:0}.ol-zoom-extent button{line-height:1.4em}.ol-compass{display:block;font-weight:400;will-change:transform}.ol-touch .ol-control button{font-size:1.5em}.ol-touch .ol-zoom-extent{top:5.5em}.ol-control button:hover,.ol-control button:focus{text-decoration:none;outline:1px solid var(--ol-subtle-foreground-color);color:var(--ol-foreground-color)}.ol-zoom .ol-zoom-in{border-radius:2px 2px 0 0}.ol-zoom .ol-zoom-out{border-radius:0 0 2px 2px}.ol-attribution{text-align:right;bottom:.5em;right:.5em;max-width:calc(100% - 1.3em);display:flex;flex-flow:row-reverse;align-items:center}.ol-attribution a{color:var(--ol-subtle-foreground-color);text-decoration:none}.ol-attribution ul{margin:0;padding:1px .5em;color:var(--ol-foreground-color);text-shadow:0 0 2px var(--ol-background-color);font-size:12px}.ol-attribution li{display:inline;list-style:none}.ol-attribution li:not(:last-child):after{content:" "}.ol-attribution img{max-height:2em;max-width:inherit;vertical-align:middle}.ol-attribution button{flex-shrink:0}.ol-attribution.ol-collapsed ul{display:none}.ol-attribution:not(.ol-collapsed){background:var(--ol-partial-background-color)}.ol-attribution.ol-uncollapsible{bottom:0;right:0;border-radius:4px 0 0}.ol-attribution.ol-uncollapsible img{margin-top:-.2em;max-height:1.6em}.ol-attribution.ol-uncollapsible button{display:none}.ol-zoomslider{top:4.5em;left:.5em;height:200px}.ol-zoomslider button{position:relative;height:10px}.ol-touch .ol-zoomslider{top:5.5em}.ol-overviewmap{left:.5em;bottom:.5em}.ol-overviewmap.ol-uncollapsible{bottom:0;left:0;border-radius:0 4px 0 0}.ol-overviewmap .ol-overviewmap-map,.ol-overviewmap button{display:block}.ol-overviewmap .ol-overviewmap-map{border:1px solid var(--ol-subtle-foreground-color);height:150px;width:150px}.ol-overviewmap:not(.ol-collapsed) button{bottom:0;left:0;position:absolute}.ol-overviewmap.ol-collapsed .ol-overviewmap-map,.ol-overviewmap.ol-uncollapsible button{display:none}.ol-overviewmap:not(.ol-collapsed){background:var(--ol-subtle-background-color)}.ol-overviewmap-box{border:1.5px dotted var(--ol-subtle-foreground-color)}.ol-overviewmap .ol-overviewmap-box:hover{cursor:move}.ol-overviewmap .ol-viewport:hover{cursor:pointer}.map-container .ol-viewport .ol-attribution{bottom:var(--map-padding-bottom);right:var(--map-padding-right)}',Yl=["en","de"];function Ql(r){switch(r){case"en":return Sn(()=>import("./Bi5QOsk-GySW.js"),[],import.meta.url).then(e=>e.default);case"de":return Sn(()=>import("./wAUNb4P8esoo.js"),[],import.meta.url).then(e=>e.default)}throw new Error(`Unsupported locale: '${r}'`)}const eu=Ki(Jl),tu=Object.freeze(Object.defineProperty({__proto__:null,loadMessages:Ql,locales:Yl,packages:Kl,styles:eu},Symbol.toStringTag,{value:"Module"})),ru="ogc-api-app",nu=Xo.bind(void 0,ru);function iu(){const r=nu();return K.jsx(nr,{height:"100%",direction:"column",overflow:"hidden",children:K.jsx(Tn,{title:K.jsx(yn,{textAlign:"center",py:1,children:K.jsx(kn,{size:"md",children:"Open Pioneer - OGC API Features and OGC API Tiles Sample"})}),children:K.jsx(nr,{flex:"1",direction:"column",position:"relative",children:K.jsxs(Wo,{mapId:qe,children:[K.jsx(ir,{position:"top-left",horizontalGap:20,verticalGap:20,children:K.jsx(yn,{backgroundColor:"white",borderWidth:"1px",borderRadius:"lg",padding:2,boxShadow:"lg",children:K.jsx(Tn,{title:K.jsx(kn,{size:"md",children:r.formatMessage({id:"tocTitle"})}),children:K.jsx(Yo,{mapId:qe,basemapSwitcherProps:{allowSelectingEmptyBasemap:!0}})})})}),K.jsx(ir,{position:"top-right",horizontalGap:10,verticalGap:10,children:K.jsxs(Ji,{backgroundColor:"whiteAlpha.900",borderWidth:"1px",borderRadius:"lg",padding:2,boxShadow:"lg",maxWidth:"400px",children:[K.jsx(or,{as:"b",children:"Description"}),K.jsx(or,{children:"This application can be used to test OGC API Features and OGC API Tiles."}),K.jsx(or,{children:"Vector Tiles cannot be reprojected and require the map to use the same projection. Currently all known MVT vector tile sets are using WebMercator, making them unusable in the Default Sample App which uses ETRS89/UTM zone 32N. This Sample App uses WebMercator."})]})}),K.jsx(ir,{position:"bottom-right",horizontalGap:10,verticalGap:30,children:K.jsxs(nr,{direction:"column",gap:1,padding:1,children:[K.jsx(oa,{mapId:qe}),K.jsx(aa,{mapId:qe}),K.jsx(sa,{mapId:qe})]})})]})})})})}const ou=Yi({component:iu,theme:Qi,appMetadata:tu,async resolveConfig(r){const e=r.getAttribute("forced-locale");if(e)return{locale:e}}});customElements.define("ogc-api-app",ou);const au=document.getElementsByTagName("body")[0];su();function su(){const r=window.location.search,t=new URLSearchParams(r).get("lang"),n=document.createElement("ogc-api-app");n.classList.add("full-height"),n.setAttribute("id","test"),t&&n.setAttribute("forced-locale",t),au.appendChild(n)} +`,""),V.push(W[pe],X);return V},[]):ee=wr(B,Y).trim(),we=S(v,"paint","text-opacity",g,b,m,k)}if(ee&&we&&!Yt){wt||(++M,w=z[M],(!w||!w.getText()||w.getFill()||w.getStroke())&&(w=new Ee,z[M]=w),w.setImage(void 0),w.setGeometry(void 0));const U=Qn(v,g,b,"text",m);w.getText()||w.setText(O),O=w.getText(),(!O||"getDeclutterMode"in O&&O.getDeclutterMode()!==U)&&(O=new No({padding:[2,2,2,2],declutterMode:U}),w.setText(O));const B=S(v,"layout","text-transform",g,b,m,k);B=="uppercase"?ee=Array.isArray(ee)?ee.map((re,nt)=>nt%2?re:re.toUpperCase()):ee.toUpperCase():B=="lowercase"&&(ee=Array.isArray(ee)?ee.map((re,nt)=>nt%2?re:re.toLowerCase()):ee.toLowerCase());const V=Array.isArray(ee)?ee:J==2?Mr(ee,rt):Ar(ee,et,Qt,rt);O.setText(V),O.setFont(et),O.setRotation(gr(S(v,"layout","text-rotate",g,b,m,k)));const Z=S(v,"layout","text-anchor",g,b,m,k),j=wt||J==1?"point":S(v,"layout","symbol-placement",g,b,m,k);let $;if(j==="line-center"?(O.setPlacement("line"),$="center"):O.setPlacement(j),j==="line"&&typeof O.setRepeat=="function"){const re=S(v,"layout","symbol-spacing",g,b,m,k);O.setRepeat(re*2)}O.setOverflow(j==="point");let X=S(v,"paint","text-halo-width",g,b,m,k);const W=S(v,"layout","text-offset",g,b,m,k),pe=S(v,"paint","text-translate",g,b,m,k);let se=0,ie=0;if(j=="point"){$="center",Z.indexOf("left")!==-1?($="left",ie=X):Z.indexOf("right")!==-1&&($="right",ie=-X);const re=S(v,"layout","text-rotation-alignment",g,b,m,k);O.setRotateWithView(re=="map")}else O.setMaxAngle(gr(S(v,"layout","text-max-angle",g,b,m,k))*ee.length/V.length),O.setRotateWithView(!1);O.setTextAlign($);let oe="middle";Z.indexOf("bottom")==0?(oe="bottom",se=-X-.5*(tt-1)*Se):Z.indexOf("top")==0&&(oe="top",se=X+.5*(tt-1)*Se),O.setTextBaseline(oe);const H=S(v,"layout","text-justify",g,b,m,k);O.setJustify(H==="auto"?void 0:H),O.setOffsetX(W[0]*Se+ie+pe[0]),O.setOffsetY(W[1]*Se+se+pe[1]),C.setColor(Fe(S(v,"paint","text-color",g,b,m,k),we)),O.setFill(C);const de=Fe(S(v,"paint","text-halo-color",g,b,m,k),we);if(de&&X>0){E.setColor(de),X*=2;const re=.5*Se;E.setWidth(X<=re?X:re),O.setStroke(E)}else O.setStroke(void 0);const fe=S(v,"layout","text-padding",g,b,m,k),he=O.getPadding();fe!==he[0]&&(he[0]=fe,he[1]=fe,he[2]=fe,he[3]=fe),w.setZIndex(De)}}}if(M>-1)return z.length=M+1,z};return r.setStyle(A),r.set("mapbox-source",I),r.set("mapbox-layers",h),r.set("mapbox-featurestate",r.get("mapbox-featurestate")||{}),A}function Dl(r,e=512){return r.getExtent()?jr({extent:r.getExtent(),tileSize:e,maxZoom:22}).getResolutions():Kt}function jl(r,e){return e.accessToken||(e=Object.assign({},e),new URL(r).searchParams.forEach((n,i)=>{e.accessToken=n,e.accessTokenParam=i})),e}function Ll(r,e,t="",n={},i=void 0){let o,a,s,l,u=!0;return typeof t!="string"&&!Array.isArray(t)?(s=t,l=s.source||s.layers,n=s):l=t,typeof n=="string"?(o=n,s={}):(o=n.styleUrl,s=n),s.updateSource===!1&&(u=!1),i||(i=s.resolutions),!o&&typeof e=="string"&&!e.trim().startsWith("{")&&(o=e),o&&(o=o.startsWith("data:")?location.href:Vi(o,s.accessToken),s=jl(o,s)),new Promise(function(c,d){Ui(e,s).then(function(p){if(p.version!=8)return d(new Error("glStyle version 8 required."));if(!(r instanceof zr||r instanceof ut))return d(new Error("Can only apply to VectorLayer or VectorTileLayer"));const h=r instanceof ut?"vector":"geojson";if(l?Array.isArray(l)?a=p.layers.find(function(C){return C.id===l[0]}).source:a=l:(a=Object.keys(p.sources).find(function(C){return p.sources[C].type===h}),l=a),!a)return d(new Error(`No ${h} source found in the glStyle.`));function f(){if(!u)return Promise.resolve();if(r instanceof ut)return Nl(p.sources[a],o,s).then(function(T){const F=r.getSource();F?T!==F&&(F.setTileUrlFunction(T.getTileUrlFunction()),typeof F.setUrls=="function"&&typeof T.getUrls=="function"&&F.setUrls(T.getUrls()),F.format_||(F.format_=T.format_),F.getAttributions()||F.setAttributions(T.getAttributions()),F.getTileLoadFunction()===ci&&F.setTileLoadFunction(T.getTileLoadFunction()),qo(F.getProjection(),T.getProjection())&&(F.tileGrid=T.getTileGrid())):r.setSource(T);const L=r.getSource().getTileGrid();!isFinite(r.getMaxResolution())&&!isFinite(r.getMinZoom())&&L.getMinZoom()>0&&r.setMaxResolution(vl(Math.max(0,L.getMinZoom()-1e-12),L.getResolutions()))});const C=p.sources[a];let z=r.getSource();(!z||z.get("mapbox-source")!==C)&&(z=Bl(C,o,s));const A=r.getSource();return A?z!==A&&(A.getAttributions()||A.setAttributions(z.getAttributions()),A.format_||(A.format_=z.getFormat()),A.url_=z.getUrl()):r.setSource(z),Promise.resolve()}let x,m,D,I;function E(){if(!I&&(!p.sprite||m)){if(s.projection&&!i){const z=Xe(s.projection).getUnits();z!=="m"&&(i=Kt.map(A=>A/Ao[z]))}I=Al(r,p,l,i,m,D,(C,z=s.webfonts)=>El(C,z),s.getImage),r.getStyle()?f().then(c).catch(d):d(new Error(`Nothing to show for source [${a}]`))}else I?(r.setStyle(I),f().then(c).catch(d)):d(new Error("Something went wrong trying to apply style."))}if(p.sprite){const C=new URL(ml(p.sprite,s.accessToken,o||location.href));x=window.devicePixelRatio>=1.5?.5:1;const z=x==.5?"@2x":"";let A=C.origin+C.pathname+z+".json"+C.search;new Promise(function(T,F){We("Sprite",A,s).then(T).catch(function(L){A=C.origin+C.pathname+".json"+C.search,We("Sprite",A,s).then(T).catch(F)})}).then(function(T){if(T===void 0&&d(new Error("No sprites found.")),m=T,D=C.origin+C.pathname+z+".png"+C.search,s.transformRequest){const F=s.transformRequest(D,"SpriteImage")||D;(F instanceof Request||F instanceof Promise)&&(D=F)}E()}).catch(function(T){d(new Error(`Sprites cannot be loaded: ${A}: ${T.message}`))})}else E()}).catch(d)})}const ei={};function $l(r,e,t){e.layers.some(function(n){if(n.type==="background"){if(r instanceof si)return r.setBackground(function(i){return Zi(n,i,t,{})}),!0;if(r instanceof Do||r instanceof jo)return r.getLayers().insertAt(0,Vl(n,t,{})),!0}})}function Ol(r,e,t={}){return Ui(e,t).then(function(n){$l(r,n,t)})}function ql(r,e){const t=r.bounds;if(t){const n=wn([t[0],t[1]],e),i=wn([t[2],t[3]],e);return[n[0],n[1],i[0],i[1]]}return Xe(e).getExtent()}function Gl(r,e,t){const n=new da({tileJSON:e,tileSize:r.tileSize||e.tileSize||512}),i=n.getTileJSON(),o=n.getTileGrid(),a=Xe(t.projection||"EPSG:3857"),s=ql(i,a),l=a.getExtent(),u=i.minzoom||0,c=i.maxzoom||22,d={attributions:n.getAttributions(),projection:a,tileGrid:new ai({origin:l?ni(l):o.getOrigin(0),extent:s||o.getExtent(),minZoom:u,resolutions:Dl(a,e.tileSize).slice(0,c+1),tileSize:o.getTileSize(0)})};return Array.isArray(i.tiles)?d.urls=i.tiles:d.url=i.tiles,d}function Zi(r,e,t,n){const i={id:r.id,type:r.type},o=r.layout||{},a=r.paint||{};i.paint=a;const s=Ni(e,t.resolutions||Kt);let l;const u=S(i,"paint","background-color",s,ei,n);return a["background-opacity"]!==void 0&&(l=S(i,"paint","background-opacity",s,ei,n)),o.visibility=="none"?void 0:Fe(u,l)}function Vl(r,e,t){const n=document.createElement("div");return n.className="ol-mapbox-style-background",n.style.position="absolute",n.style.width="100%",n.style.height="100%",new si({source:new Lo({}),render(i){const o=Zi(r,i.viewState.resolution,e,t);return n.style.backgroundColor=o,n}})}function Nl(r,e,t){return new Promise(function(n,i){wl(r,e,t).then(function({tileJson:o,tileLoadFunction:a}){const s=Gl(r,o,t);s.tileLoadFunction=a,s.format=new $r,n(new Lr(s))}).catch(i)})}function Ul(r){return`{bbox-${(r?r.getCode():"EPSG:3857").toLowerCase().replace(/[^a-z0-9]/g,"-")}}`}function Bl(r,e,t){const n=t.projection?new zn({dataProjection:t.projection}):new zn,i=r.data,o={};if(typeof i=="string"){const s=Rt(i,t.accessToken,t.accessTokenParam||"access_token",e||location.href);if(/\{bbox-[0-9a-z-]+\}/.test(s)){const u=(d,p,h)=>{const f=Ul(h);return s.replace(f,`${d.join(",")}`)},c=new rr({attributions:r.attribution,format:n,loader:(d,p,h,f,x)=>{const m=typeof u=="function"?u(d,p,h):u;We("GeoJSON",m,t).then(D=>{const I=c.getFormat().readFeatures(D,{featureProjection:h});c.addFeatures(I),f(I)}).catch(D=>{c.removeLoadedExtent(d),x()})},strategy:Go});return c.set("mapbox-source",r),c}const l=new rr({attributions:r.attribution,format:n,url:s,loader:(u,c,d,p,h)=>{We("GeoJSON",s,t).then(f=>{const x=l.getFormat().readFeatures(f,{featureProjection:d});l.addFeatures(x),p(x)}).catch(f=>{l.removeLoadedExtent(u),h()})}});return l}o.features=n.readFeatures(i,{featureProjection:"EPSG:3857"});const a=new rr(Object.assign({attributions:r.attribution,format:n},o));return a.set("mapbox-source",r),a}class Zl extends Mo{constructor(e){super(Tr.ERROR),this.error=e}}class Hl extends ut{constructor(e){const t="declutter"in e?e.declutter:!0,n=new Lr({state:"loading",format:new $r});super({source:n,background:e.background===!1?null:e.background,declutter:t,className:e.className,opacity:e.opacity,visible:e.visible,zIndex:e.zIndex,minResolution:e.minResolution,maxResolution:e.maxResolution,minZoom:e.minZoom,maxZoom:e.maxZoom,renderOrder:e.renderOrder,renderBuffer:e.renderBuffer,renderMode:e.renderMode,map:e.map,updateWhileAnimating:e.updateWhileAnimating,updateWhileInteracting:e.updateWhileInteracting,preload:e.preload,useInterimTilesOnError:e.useInterimTilesOnError,properties:e.properties}),e.accessToken&&(this.accessToken=e.accessToken);const i=e.styleUrl,o=[Ll(this,i,e.layers||e.source,{accessToken:this.accessToken})];this.getBackground()===void 0&&o.push(Ol(this,e.styleUrl,{accessToken:this.accessToken})),Promise.all(o).then(()=>{n.setState("ready")}).catch(a=>{this.dispatchEvent(new Zl(a)),this.getSource().setState("error")})}}const qe="main";class Xl{mapId=qe;vectorSourceFactory;constructor({references:e}){this.vectorSourceFactory=e.vectorSourceFactory}async getMapConfig(){return{projection:"EPSG:3857",initialView:{kind:"position",center:{x:848890,y:6793350},zoom:13},layers:[new it({title:"OSM",visible:!0,isBaseLayer:!0,olLayer:new Uo({source:new Bo})}),new it({id:"inspire-us-kindergarten",title:"Kindertageseinrichtungen in NRW",visible:!0,olLayer:new zr({style:new Ee({image:new li({fill:new Ge({color:"blue"}),radius:5})}),source:this.vectorSourceFactory.createVectorSource({baseUrl:"https://ogc-api.nrw.de/inspire-us-kindergarten/v1",collectionId:"governmentalservice",crs:"http://www.opengis.net/def/crs/EPSG/0/3857",attributions:"Datenlizenz Deutschland - Namensnennung - Version 2.0"})})}),new it({id:"ogc_katasterbezirk",title:"Liegenschaftskatasterbezirke in NRW (viele Daten)",visible:!1,olLayer:new zr({source:this.vectorSourceFactory.createVectorSource({baseUrl:"https://ogc-api.nrw.de/lika/v1",collectionId:"katasterbezirk",limit:1e3,crs:"http://www.opengis.net/def/crs/EPSG/0/3857",attributions:"Datenlizenz Deutschland - Namensnennung - Version 2.0"})})}),new it({title:"Abschnitte / Äste mit Unfällen (Mapbox Style)",visible:!1,olLayer:new Hl({styleUrl:"https://demo.ldproxy.net/strassen/styles/default?f=mbs"})}),new it({title:"Pendleratlas",visible:!0,olLayer:new ut({source:new Lr({url:"https://pendleratlas.statistikportal.de/_vector_tiles/2022/vg250/{z}/{x}/{y}.pbf",format:new $r,projection:"EPSG:3857",attributions:`© Statistische Ämter der Länder ${new Date().getFullYear()} | GeoBasis-DE/BKG ${new Date().getFullYear()}`}),style:new Ee({fill:new Ge({color:"rgba(173, 209, 158, 0.6)"}),stroke:new st({color:"#2d7d9f",width:3})})})})]}}}class Wl{beforeRequest({target:e,options:t}){e.protocol==="https:"&&e.hostname==="ogc-api.nrw.de"&&t.headers.set("Authorization","Bearer 12345")}}const Kl={"ogc-api-app":{name:"ogc-api-app",services:{MapConfigProviderImpl:{name:"MapConfigProviderImpl",clazz:Xl,provides:[{name:"map.MapConfigProvider",qualifier:void 0}],references:{vectorSourceFactory:{name:"ogc-features.VectorSourceFactory",qualifier:void 0,all:!1}}},SampleTokenInterceptor:{name:"SampleTokenInterceptor",clazz:Wl,provides:[{name:"http.Interceptor",qualifier:void 0}],references:{}}},ui:{references:[]},properties:{}},"@open-pioneer/chakra-integration":{name:"@open-pioneer/chakra-integration",services:{},ui:{references:[]},properties:{}},"@open-pioneer/runtime":{name:"@open-pioneer/runtime",services:{},ui:{references:[]},properties:{}},"@open-pioneer/react-utils":{name:"@open-pioneer/react-utils",services:{},ui:{references:[]},properties:{}},"@open-pioneer/http":{name:"@open-pioneer/http",services:{HttpServiceImpl:{name:"HttpServiceImpl",clazz:Zo,provides:[{name:"http.HttpService",qualifier:"http.HttpService"}],references:{interceptors:{name:"http.Interceptor",qualifier:void 0,all:!0}}}},ui:{references:[]},properties:{}},"@open-pioneer/map":{name:"@open-pioneer/map",services:{MapRegistryImpl:{name:"MapRegistryImpl",clazz:Ho,provides:[{name:"map.MapRegistry",qualifier:void 0}],references:{providers:{name:"map.MapConfigProvider",qualifier:void 0,all:!0},httpService:{name:"http.HttpService",qualifier:void 0,all:!1}}}},ui:{references:[{name:"map.MapRegistry",qualifier:void 0,all:!1}]},properties:{}},"@open-pioneer/theme":{name:"@open-pioneer/theme",services:{},ui:{references:[]},properties:{}},"@open-pioneer/ogc-features":{name:"@open-pioneer/ogc-features",services:{VectorSourceFactory:{name:"VectorSourceFactory",clazz:na,provides:[{name:"ogc-features.VectorSourceFactory",qualifier:void 0}],references:{httpService:{name:"http.HttpService",qualifier:void 0,all:!1}}},SearchSourceFactory:{name:"SearchSourceFactory",clazz:ia,provides:[{name:"ogc-features.SearchSourceFactory",qualifier:void 0}],references:{httpService:{name:"http.HttpService",qualifier:void 0,all:!1}}}},ui:{references:[]},properties:{}},"@open-pioneer/basemap-switcher":{name:"@open-pioneer/basemap-switcher",services:{},ui:{references:[]},properties:{}},"@open-pioneer/map-navigation":{name:"@open-pioneer/map-navigation",services:{},ui:{references:[]},properties:{}},"@open-pioneer/toc":{name:"@open-pioneer/toc",services:{},ui:{references:[]},properties:{}},"@open-pioneer/base-theme":{name:"@open-pioneer/base-theme",services:{},ui:{references:[]},properties:{}},"@open-pioneer/core":{name:"@open-pioneer/core",services:{},ui:{references:[]},properties:{}},"@open-pioneer/runtime-react-support":{name:"@open-pioneer/runtime-react-support",services:{},ui:{references:[]},properties:{}},"@open-pioneer/reactivity":{name:"@open-pioneer/reactivity",services:{},ui:{references:[]},properties:{}},"@open-pioneer/map-ui-components":{name:"@open-pioneer/map-ui-components",services:{},ui:{references:[]},properties:{}}},Jl=':root,:host{--ol-background-color: white;--ol-accent-background-color: #F5F5F5;--ol-subtle-background-color: rgba(128, 128, 128, .25);--ol-partial-background-color: rgba(255, 255, 255, .75);--ol-foreground-color: #333333;--ol-subtle-foreground-color: #666666;--ol-brand-color: #00AAFF}.ol-box{box-sizing:border-box;border-radius:2px;border:1.5px solid var(--ol-background-color);background-color:var(--ol-partial-background-color)}.ol-mouse-position{top:8px;right:8px;position:absolute}.ol-scale-line{background:var(--ol-partial-background-color);border-radius:4px;bottom:8px;left:8px;padding:2px;position:absolute}.ol-scale-line-inner{border:1px solid var(--ol-subtle-foreground-color);border-top:none;color:var(--ol-foreground-color);font-size:10px;text-align:center;margin:1px;will-change:contents,width;transition:all .25s}.ol-scale-bar{position:absolute;bottom:8px;left:8px}.ol-scale-bar-inner{display:flex}.ol-scale-step-marker{width:1px;height:15px;background-color:var(--ol-foreground-color);float:right;z-index:10}.ol-scale-step-text{position:absolute;bottom:-5px;font-size:10px;z-index:11;color:var(--ol-foreground-color);text-shadow:-1.5px 0 var(--ol-partial-background-color),0 1.5px var(--ol-partial-background-color),1.5px 0 var(--ol-partial-background-color),0 -1.5px var(--ol-partial-background-color)}.ol-scale-text{position:absolute;font-size:12px;text-align:center;bottom:25px;color:var(--ol-foreground-color);text-shadow:-1.5px 0 var(--ol-partial-background-color),0 1.5px var(--ol-partial-background-color),1.5px 0 var(--ol-partial-background-color),0 -1.5px var(--ol-partial-background-color)}.ol-scale-singlebar{position:relative;height:10px;z-index:9;box-sizing:border-box;border:1px solid var(--ol-foreground-color)}.ol-scale-singlebar-even{background-color:var(--ol-subtle-foreground-color)}.ol-scale-singlebar-odd{background-color:var(--ol-background-color)}.ol-unsupported{display:none}.ol-viewport,.ol-unselectable{-webkit-touch-callout:none;-webkit-user-select:none;-moz-user-select:none;user-select:none;-webkit-tap-highlight-color:transparent}.ol-viewport canvas{all:unset;overflow:hidden}.ol-viewport{touch-action:pan-x pan-y}.ol-selectable{-webkit-touch-callout:default;-webkit-user-select:text;-moz-user-select:text;user-select:text}.ol-grabbing{cursor:-webkit-grabbing;cursor:-moz-grabbing;cursor:grabbing}.ol-grab{cursor:move;cursor:-webkit-grab;cursor:-moz-grab;cursor:grab}.ol-control{position:absolute;background-color:var(--ol-subtle-background-color);border-radius:4px}.ol-zoom{top:.5em;left:.5em}.ol-rotate{top:.5em;right:.5em;transition:opacity .25s linear,visibility 0s linear}.ol-rotate.ol-hidden{opacity:0;visibility:hidden;transition:opacity .25s linear,visibility 0s linear .25s}.ol-zoom-extent{top:4.643em;left:.5em}.ol-full-screen{right:.5em;top:.5em}.ol-control button{display:block;margin:1px;padding:0;color:var(--ol-subtle-foreground-color);font-weight:700;text-decoration:none;font-size:inherit;text-align:center;height:1.375em;width:1.375em;line-height:.4em;background-color:var(--ol-background-color);border:none;border-radius:2px}.ol-control button::-moz-focus-inner{border:none;padding:0}.ol-zoom-extent button{line-height:1.4em}.ol-compass{display:block;font-weight:400;will-change:transform}.ol-touch .ol-control button{font-size:1.5em}.ol-touch .ol-zoom-extent{top:5.5em}.ol-control button:hover,.ol-control button:focus{text-decoration:none;outline:1px solid var(--ol-subtle-foreground-color);color:var(--ol-foreground-color)}.ol-zoom .ol-zoom-in{border-radius:2px 2px 0 0}.ol-zoom .ol-zoom-out{border-radius:0 0 2px 2px}.ol-attribution{text-align:right;bottom:.5em;right:.5em;max-width:calc(100% - 1.3em);display:flex;flex-flow:row-reverse;align-items:center}.ol-attribution a{color:var(--ol-subtle-foreground-color);text-decoration:none}.ol-attribution ul{margin:0;padding:1px .5em;color:var(--ol-foreground-color);text-shadow:0 0 2px var(--ol-background-color);font-size:12px}.ol-attribution li{display:inline;list-style:none}.ol-attribution li:not(:last-child):after{content:" "}.ol-attribution img{max-height:2em;max-width:inherit;vertical-align:middle}.ol-attribution button{flex-shrink:0}.ol-attribution.ol-collapsed ul{display:none}.ol-attribution:not(.ol-collapsed){background:var(--ol-partial-background-color)}.ol-attribution.ol-uncollapsible{bottom:0;right:0;border-radius:4px 0 0}.ol-attribution.ol-uncollapsible img{margin-top:-.2em;max-height:1.6em}.ol-attribution.ol-uncollapsible button{display:none}.ol-zoomslider{top:4.5em;left:.5em;height:200px}.ol-zoomslider button{position:relative;height:10px}.ol-touch .ol-zoomslider{top:5.5em}.ol-overviewmap{left:.5em;bottom:.5em}.ol-overviewmap.ol-uncollapsible{bottom:0;left:0;border-radius:0 4px 0 0}.ol-overviewmap .ol-overviewmap-map,.ol-overviewmap button{display:block}.ol-overviewmap .ol-overviewmap-map{border:1px solid var(--ol-subtle-foreground-color);height:150px;width:150px}.ol-overviewmap:not(.ol-collapsed) button{bottom:0;left:0;position:absolute}.ol-overviewmap.ol-collapsed .ol-overviewmap-map,.ol-overviewmap.ol-uncollapsible button{display:none}.ol-overviewmap:not(.ol-collapsed){background:var(--ol-subtle-background-color)}.ol-overviewmap-box{border:1.5px dotted var(--ol-subtle-foreground-color)}.ol-overviewmap .ol-overviewmap-box:hover{cursor:move}.ol-overviewmap .ol-viewport:hover{cursor:pointer}.map-container .ol-viewport .ol-attribution{bottom:var(--map-padding-bottom);right:var(--map-padding-right)}',Yl=["en","de"];function Ql(r){switch(r){case"en":return Sn(()=>import("./Bi5QOsk-GySW.js"),[],import.meta.url).then(e=>e.default);case"de":return Sn(()=>import("./wAUNb4P8esoo.js"),[],import.meta.url).then(e=>e.default)}throw new Error(`Unsupported locale: '${r}'`)}const eu=Ki(Jl),tu=Object.freeze(Object.defineProperty({__proto__:null,loadMessages:Ql,locales:Yl,packages:Kl,styles:eu},Symbol.toStringTag,{value:"Module"})),ru="ogc-api-app",nu=Xo.bind(void 0,ru);function iu(){const r=nu();return K.jsx(nr,{height:"100%",direction:"column",overflow:"hidden",children:K.jsx(Tn,{title:K.jsx(yn,{textAlign:"center",py:1,children:K.jsx(kn,{size:"md",children:"Open Pioneer - OGC API Features and OGC API Tiles Sample"})}),children:K.jsx(nr,{flex:"1",direction:"column",position:"relative",children:K.jsxs(Wo,{mapId:qe,children:[K.jsx(ir,{position:"top-left",horizontalGap:20,verticalGap:20,children:K.jsx(yn,{backgroundColor:"white",borderWidth:"1px",borderRadius:"lg",padding:2,boxShadow:"lg",children:K.jsx(Tn,{title:K.jsx(kn,{size:"md",children:r.formatMessage({id:"tocTitle"})}),children:K.jsx(Yo,{mapId:qe,basemapSwitcherProps:{allowSelectingEmptyBasemap:!0}})})})}),K.jsx(ir,{position:"top-right",horizontalGap:10,verticalGap:10,children:K.jsxs(Ji,{backgroundColor:"whiteAlpha.900",borderWidth:"1px",borderRadius:"lg",padding:2,boxShadow:"lg",maxWidth:"400px",children:[K.jsx(or,{as:"b",children:"Description"}),K.jsx(or,{children:"This application can be used to test OGC API Features and OGC API Tiles."}),K.jsx(or,{children:"Vector Tiles cannot be reprojected and require the map to use the same projection. Currently all known MVT vector tile sets are using WebMercator, making them unusable in the Default Sample App which uses ETRS89/UTM zone 32N. This Sample App uses WebMercator."})]})}),K.jsx(ir,{position:"bottom-right",horizontalGap:10,verticalGap:30,children:K.jsxs(nr,{direction:"column",gap:1,padding:1,children:[K.jsx(oa,{mapId:qe}),K.jsx(aa,{mapId:qe}),K.jsx(sa,{mapId:qe})]})})]})})})})}const ou=Yi({component:iu,theme:Qi,appMetadata:tu,async resolveConfig(r){const e=r.getAttribute("forced-locale");if(e)return{locale:e}}});customElements.define("ogc-api-app",ou);const au=document.getElementsByTagName("body")[0];su();function su(){const r=window.location.search,t=new URLSearchParams(r).get("lang"),n=document.createElement("ogc-api-app");n.classList.add("full-height"),n.setAttribute("id","test"),t&&n.setAttribute("forced-locale",t),au.appendChild(n)} diff --git a/openlayers-base-packages/assets/CT66yHYiEqYR.js b/openlayers-base-packages/assets/D0_HYA9Daa30.js similarity index 91% rename from openlayers-base-packages/assets/CT66yHYiEqYR.js rename to openlayers-base-packages/assets/D0_HYA9Daa30.js index a8000c5fd..58a8285e8 100644 --- a/openlayers-base-packages/assets/CT66yHYiEqYR.js +++ b/openlayers-base-packages/assets/D0_HYA9Daa30.js @@ -1 +1 @@ -import{a as E,r as n,j as e,B as N,S as g,b as s,F,V as U,q as A,g as D,f as H}from"./Mxtq6FG0Aq1_.js";import{t as B}from"./hZvUQIaW6FE0.js";import{S as V,T as q,O as W,M as $,H as X,k as y,g as Y,h as Z,l as J,m as j}from"./5C5XmiCGgLmB.js";import{_ as S}from"./CmsKOCeNyeyo.js";import{a as z,b as u,R as K}from"./DgabVoUpizSB.js";import{C as Q}from"./BFM2xG7sFVQ7.js";import{T as L,U as ee,a as p}from"./BOwySe0UXVY3.js";import{M as oe}from"./BbT9q31oQhIX.js";import{a as re,b as te,M as c}from"./CrqedT83Nq6G.js";import{F as C}from"./CRkdw9XP0Imr.js";import{F as I}from"./CYrCIuevaD6U.js";import{C as ie}from"./CK6i-0dKNtLx.js";import"./DUaeWVZO0JNZ.js";import"./_eg2EQ1Gs0ak.js";const G="main";class le{mapId=G;async getMapConfig(){return{initialView:{kind:"position",center:{x:404747,y:5757920},zoom:14},layers:[new V({title:"OSM",isBaseLayer:!0,olLayer:new q({source:new W})})]}}}const ne={"result-list-app":{name:"result-list-app",services:{MapConfigProviderImpl:{name:"MapConfigProviderImpl",clazz:le,provides:[{name:"map.MapConfigProvider",qualifier:void 0}],references:{}}},ui:{references:[]},properties:{}},"@open-pioneer/chakra-integration":{name:"@open-pioneer/chakra-integration",services:{},ui:{references:[]},properties:{}},"@open-pioneer/runtime":{name:"@open-pioneer/runtime",services:{},ui:{references:[]},properties:{}},"@open-pioneer/react-utils":{name:"@open-pioneer/react-utils",services:{},ui:{references:[]},properties:{}},"@open-pioneer/map":{name:"@open-pioneer/map",services:{MapRegistryImpl:{name:"MapRegistryImpl",clazz:$,provides:[{name:"map.MapRegistry",qualifier:void 0}],references:{providers:{name:"map.MapConfigProvider",qualifier:void 0,all:!0},httpService:{name:"http.HttpService",qualifier:void 0,all:!1}}}},ui:{references:[{name:"map.MapRegistry",qualifier:void 0,all:!1}]},properties:{}},"@open-pioneer/theme":{name:"@open-pioneer/theme",services:{},ui:{references:[]},properties:{}},"@open-pioneer/http":{name:"@open-pioneer/http",services:{HttpServiceImpl:{name:"HttpServiceImpl",clazz:X,provides:[{name:"http.HttpService",qualifier:"http.HttpService"}],references:{interceptors:{name:"http.Interceptor",qualifier:void 0,all:!0}}}},ui:{references:[]},properties:{}},"@open-pioneer/result-list":{name:"@open-pioneer/result-list",services:{},ui:{references:[]},properties:{}},"@open-pioneer/base-theme":{name:"@open-pioneer/base-theme",services:{},ui:{references:[]},properties:{}},"@open-pioneer/core":{name:"@open-pioneer/core",services:{},ui:{references:[]},properties:{}},"@open-pioneer/runtime-react-support":{name:"@open-pioneer/runtime-react-support",services:{},ui:{references:[]},properties:{}}},ae=':root,:host{--ol-background-color: white;--ol-accent-background-color: #F5F5F5;--ol-subtle-background-color: rgba(128, 128, 128, .25);--ol-partial-background-color: rgba(255, 255, 255, .75);--ol-foreground-color: #333333;--ol-subtle-foreground-color: #666666;--ol-brand-color: #00AAFF}.ol-box{box-sizing:border-box;border-radius:2px;border:1.5px solid var(--ol-background-color);background-color:var(--ol-partial-background-color)}.ol-mouse-position{top:8px;right:8px;position:absolute}.ol-scale-line{background:var(--ol-partial-background-color);border-radius:4px;bottom:8px;left:8px;padding:2px;position:absolute}.ol-scale-line-inner{border:1px solid var(--ol-subtle-foreground-color);border-top:none;color:var(--ol-foreground-color);font-size:10px;text-align:center;margin:1px;will-change:contents,width;transition:all .25s}.ol-scale-bar{position:absolute;bottom:8px;left:8px}.ol-scale-bar-inner{display:flex}.ol-scale-step-marker{width:1px;height:15px;background-color:var(--ol-foreground-color);float:right;z-index:10}.ol-scale-step-text{position:absolute;bottom:-5px;font-size:10px;z-index:11;color:var(--ol-foreground-color);text-shadow:-1.5px 0 var(--ol-partial-background-color),0 1.5px var(--ol-partial-background-color),1.5px 0 var(--ol-partial-background-color),0 -1.5px var(--ol-partial-background-color)}.ol-scale-text{position:absolute;font-size:12px;text-align:center;bottom:25px;color:var(--ol-foreground-color);text-shadow:-1.5px 0 var(--ol-partial-background-color),0 1.5px var(--ol-partial-background-color),1.5px 0 var(--ol-partial-background-color),0 -1.5px var(--ol-partial-background-color)}.ol-scale-singlebar{position:relative;height:10px;z-index:9;box-sizing:border-box;border:1px solid var(--ol-foreground-color)}.ol-scale-singlebar-even{background-color:var(--ol-subtle-foreground-color)}.ol-scale-singlebar-odd{background-color:var(--ol-background-color)}.ol-unsupported{display:none}.ol-viewport,.ol-unselectable{-webkit-touch-callout:none;-webkit-user-select:none;-moz-user-select:none;user-select:none;-webkit-tap-highlight-color:transparent}.ol-viewport canvas{all:unset;overflow:hidden}.ol-viewport{touch-action:pan-x pan-y}.ol-selectable{-webkit-touch-callout:default;-webkit-user-select:text;-moz-user-select:text;user-select:text}.ol-grabbing{cursor:-webkit-grabbing;cursor:-moz-grabbing;cursor:grabbing}.ol-grab{cursor:move;cursor:-webkit-grab;cursor:-moz-grab;cursor:grab}.ol-control{position:absolute;background-color:var(--ol-subtle-background-color);border-radius:4px}.ol-zoom{top:.5em;left:.5em}.ol-rotate{top:.5em;right:.5em;transition:opacity .25s linear,visibility 0s linear}.ol-rotate.ol-hidden{opacity:0;visibility:hidden;transition:opacity .25s linear,visibility 0s linear .25s}.ol-zoom-extent{top:4.643em;left:.5em}.ol-full-screen{right:.5em;top:.5em}.ol-control button{display:block;margin:1px;padding:0;color:var(--ol-subtle-foreground-color);font-weight:700;text-decoration:none;font-size:inherit;text-align:center;height:1.375em;width:1.375em;line-height:.4em;background-color:var(--ol-background-color);border:none;border-radius:2px}.ol-control button::-moz-focus-inner{border:none;padding:0}.ol-zoom-extent button{line-height:1.4em}.ol-compass{display:block;font-weight:400;will-change:transform}.ol-touch .ol-control button{font-size:1.5em}.ol-touch .ol-zoom-extent{top:5.5em}.ol-control button:hover,.ol-control button:focus{text-decoration:none;outline:1px solid var(--ol-subtle-foreground-color);color:var(--ol-foreground-color)}.ol-zoom .ol-zoom-in{border-radius:2px 2px 0 0}.ol-zoom .ol-zoom-out{border-radius:0 0 2px 2px}.ol-attribution{text-align:right;bottom:.5em;right:.5em;max-width:calc(100% - 1.3em);display:flex;flex-flow:row-reverse;align-items:center}.ol-attribution a{color:var(--ol-subtle-foreground-color);text-decoration:none}.ol-attribution ul{margin:0;padding:1px .5em;color:var(--ol-foreground-color);text-shadow:0 0 2px var(--ol-background-color);font-size:12px}.ol-attribution li{display:inline;list-style:none}.ol-attribution li:not(:last-child):after{content:" "}.ol-attribution img{max-height:2em;max-width:inherit;vertical-align:middle}.ol-attribution button{flex-shrink:0}.ol-attribution.ol-collapsed ul{display:none}.ol-attribution:not(.ol-collapsed){background:var(--ol-partial-background-color)}.ol-attribution.ol-uncollapsible{bottom:0;right:0;border-radius:4px 0 0}.ol-attribution.ol-uncollapsible img{margin-top:-.2em;max-height:1.6em}.ol-attribution.ol-uncollapsible button{display:none}.ol-zoomslider{top:4.5em;left:.5em;height:200px}.ol-zoomslider button{position:relative;height:10px}.ol-touch .ol-zoomslider{top:5.5em}.ol-overviewmap{left:.5em;bottom:.5em}.ol-overviewmap.ol-uncollapsible{bottom:0;left:0;border-radius:0 4px 0 0}.ol-overviewmap .ol-overviewmap-map,.ol-overviewmap button{display:block}.ol-overviewmap .ol-overviewmap-map{border:1px solid var(--ol-subtle-foreground-color);height:150px;width:150px}.ol-overviewmap:not(.ol-collapsed) button{bottom:0;left:0;position:absolute}.ol-overviewmap.ol-collapsed .ol-overviewmap-map,.ol-overviewmap.ol-uncollapsible button{display:none}.ol-overviewmap:not(.ol-collapsed){background:var(--ol-subtle-background-color)}.ol-overviewmap-box{border:1.5px dotted var(--ol-subtle-foreground-color)}.ol-overviewmap .ol-overviewmap-box:hover{cursor:move}.ol-overviewmap .ol-viewport:hover{cursor:pointer}.map-container .ol-viewport .ol-attribution{bottom:var(--map-padding-bottom);right:var(--map-padding-right)}.result-list-no-data-message{text-align:center;margin-top:50px;font-weight:700;font-size:larger}.result-list-table th,.result-list-table td{overflow-wrap:break-word}.result-list-table.result-list-table--is-resizing *{cursor:col-resize}.result-list-table thead{position:sticky;top:0;z-index:1;background:var(--chakra-colors-background_body)}.result-list-table th{position:relative;border-right-width:thin}.result-list-table tbody tr:hover{background:var(--chakra-colors-background_light)}.result-list-table .result-list-resizer{position:absolute;top:0;height:100%;right:0;width:8px;background:var(--chakra-colors-trails-100);transform:scaleX(.25);cursor:col-resize;-webkit-user-select:none;user-select:none;touch-action:none;padding-left:0}.result-list-table th:last-child .result-list-resizer{width:8px;transform:translate(50%) scaleX(.25)}.result-list-table th .result-list-resizer.result-list-resizer--is-resizing{background:var(--chakra-colors-trails-500);transform:scale(1)}.result-list-table th .result-list-resizer:hover{transform:scale(1)}',se=["en","de"];function pe(o){switch(o){case"en":return S(()=>import("./CWewJjE-xeCE.js"),[],import.meta.url).then(i=>i.default);case"de":return S(()=>import("./BbSw8Fldfnox.js"),[],import.meta.url).then(i=>i.default)}throw new Error(`Unsupported locale: '${o}'`)}const ce=E(ae),de=Object.freeze(Object.defineProperty({__proto__:null,loadMessages:pe,locales:se,packages:ne,styles:ce},Symbol.toStringTag,{value:"Module"})),M=400;function ue(){const[o,i]=n.useState(0),[r,x]=n.useState(),[T,m]=n.useState(!1),[d,R]=n.useState(!1),[h,_]=n.useState("multi"),[v,f]=n.useState("checkbox"),w=!!r&&T,a=l=>{x(l),m(!0),i(o+1)},k=n.useMemo(()=>{if(!r||!d)return r;const l=r.columns.filter((b,P)=>P%2==1);return{...r,columns:l}},[d,r]);return e.jsx(y,{height:"100%",direction:"column",overflow:"hidden",children:e.jsx(Y,{title:e.jsx(N,{textAlign:"center",py:1,children:e.jsx(Z,{size:"md",children:"OpenLayers Base Packages - Result List"})}),children:e.jsxs(y,{flex:"1",direction:"column",position:"relative",children:[e.jsxs(J,{mapId:G,viewPadding:{bottom:w?M:0},children:[e.jsx(j,{position:"top-left",horizontalGap:10,verticalGap:10,children:e.jsx(N,{backgroundColor:"whiteAlpha.900",borderWidth:"1px",borderRadius:"lg",padding:2,boxShadow:"lg",children:e.jsxs(g,{children:[e.jsx(L,{align:"center",children:"Test Controls:"}),e.jsxs(oe,{placement:"right-end",children:[e.jsx(re,{as:s,rightIcon:e.jsx(Q,{}),children:"Fill result list"}),e.jsx(F,{children:e.jsxs(te,{children:[e.jsx(c,{onClick:()=>a(he),children:"Persons"}),e.jsx(c,{onClick:()=>a(Ne),children:"Custom render"}),e.jsx(c,{onClick:()=>a(be),children:"Generated"}),e.jsx(c,{onClick:()=>a(Le),children:"Long Strings"}),e.jsx(c,{onClick:()=>a(Oe),children:"Many Columns"})]})})]}),e.jsxs(s,{onClick:()=>R(!d),children:[d?"Show":"Hide"," even columns"]}),e.jsx(s,{isDisabled:r===void 0,onClick:()=>m(!0),children:"Show result list"}),e.jsx(s,{onClick:()=>m(!1),children:"Hide result list"}),e.jsx(s,{isDisabled:r===void 0,onClick:()=>x(void 0),children:"Close result list"}),e.jsxs(C,{children:[e.jsx(I,{children:"Selection mode"}),e.jsx(z,{value:h,onChange:l=>{const b=l;_(b),f(b==="single"?"radio":"checkbox")},children:e.jsxs(g,{direction:"row",children:[e.jsx(u,{value:"single",children:"Single"}),e.jsx(u,{value:"multi",children:"Multi"})]})})]}),e.jsxs(C,{children:[e.jsx(I,{children:"Selection style"}),e.jsx(z,{value:v,onChange:l=>{f(l)},children:e.jsxs(g,{direction:"row",children:[e.jsx(u,{value:"radio",isDisabled:h==="multi",children:"Radio"}),e.jsx(u,{value:"checkbox",children:"Checkbox"})]})})]})]})})}),e.jsx(j,{position:"top-right",horizontalGap:10,verticalGap:10,children:e.jsxs(U,{backgroundColor:"whiteAlpha.900",borderWidth:"1px",borderRadius:"lg",padding:2,boxShadow:"lg",maxWidth:"400px",maxHeight:"300px",overflow:"auto",children:[e.jsx(L,{as:"b",children:"Description"}),e.jsx(L,{children:"This application can be used to test the result list component. Internally, this application keeps track of the current result list input and displays it when the component shall be shown."}),e.jsxs(ee,{children:[e.jsx(p,{children:"If the result list has been filled, it can be hidden and shown again while preserving the state (selection, sort, scroll, ...)."}),e.jsx(p,{children:"The result list is embedded with a fixed height (with internal scrolling) above the map (using view padding). Showing or hiding the component will animate the view."}),e.jsx(p,{children:"Toggling columns will preserve the state of the result list."}),e.jsx(p,{children:"Filling the result list again resets the state (even when using equal data)."}),e.jsx(p,{children:"Fully closing the result list drops all state."})]})]})})]}),k&&e.jsx(N,{position:"absolute",visibility:w?"visible":"hidden",bottom:"0",backgroundColor:"white",width:"100%",height:`${M}px`,borderTop:"2px solid",borderColor:"trails.500",zIndex:1,children:e.jsx(K,{mapId:G,input:k,selectionMode:h,selectionStyle:v},String(o))})]})})})}let me=1;function t(o,i,r){return{id:String(me++),properties:{name:o,age:i,city:r}}}const he={data:[t("Test User A",21,"Cologne"),t("Test User B",33,"Berlin"),t("Test User C",44,"New York"),t("Test User D",55,"London"),t("Test User E",8,"Rome"),t("Test User F",14,"Vienna"),t("Test User G",17,"Paris"),t("Test User H",27,"Brussels"),t("Test User I",19,"Warsaw")],columns:[{displayName:"id",getPropertyValue(o){return o.id}},{propertyName:"name"},{propertyName:"age"},{propertyName:"city"}]},be={data:Array.from(Array(100).keys()).map(o=>({id:o,properties:{boolean:o%2==0,empty:o%2==0?null:void 0,number:o,float:o/7,string:`Item ${o}`,date:new Date}})),columns:[{propertyName:"boolean"},{propertyName:"number"},{propertyName:"float"},{propertyName:"string"},{propertyName:"date"},{propertyName:"empty"}],formatOptions:{numberOptions:{maximumFractionDigits:2},dateOptions:{timeStyle:"full",dateStyle:"full",timeZone:"UTC"}}},Ne={data:[{id:1,properties:{bool:!0}},{id:2,properties:{bool:!1}},{id:3,properties:{bool:void 0}}],columns:[{displayName:"id (with tooltip)",getPropertyValue(o){return o.id},renderCell({feature:o}){return e.jsx(ge,{id:o.id})}},{displayName:"boolean as checkbox (read only)",propertyName:"bool",renderCell({value:o}){return e.jsx(ie,{isIndeterminate:o===void 0,isChecked:!!o})}}]};function ge(o){return e.jsx(A,{label:`tooltip for feature ${o.id}`,placement:"top",children:e.jsx(D.span,{children:o.id})})}const Le={data:[{id:1,properties:{short:"Short 1",long:"LONG LONG LONG LONG LONG LONG LONG LONG LONG LONG LONG LONG LONG LONG LONG LONG LONG LONG LONG LONG LONG LONG LONG LONG LONG LONG LONG LONG LONG LONG LONG LONG LONG LONG LONG LONG LONG LONG LONG LONG LONG LONG LONG LONG LONG LONG LONG LONG LONG LONG LONG LONG LONG LONG LONG LONG LONG LONG LONG LONG LONG LONG LONG LONG LONG LONG LONG LONG LONG LONG LONG LONG LONG LONG LONG LONG LONG LONG "}},{id:2,properties:{short:"Short 2",long:"LONGLONGLONGLONGLONGLONGLONGLONGLONGLONGLONGLONGLONGLONGLONGLONGLONGLONGLONGLONGLONGLONGLONGLONGLONGLONGLONGLONGLONGLONGLONGLONGLONGLONGLONGLONGLONGLONGLONGLONGLONGLONGLONGLONGLONGLONGLONGLONGLONGLONGLONGLONGLONGLONGLONGLONGLONGLONGLONGLONGLONGLONGLONGLONGLONGLONGLONGLONGLONGLONGLONGLONGLONGLONGLONGLONGLONGLONGLONGLONGLONGLONGLONGLONGLONGLONGLONGLONGLONGLONGLONGLONGLONGLONGLONGLONGLONGLONGLONGLONGLONGLONGLONGLONG"}}],columns:[{propertyName:"short"},{propertyName:"long",width:300}]},Oe={columns:[{propertyName:"a"},{propertyName:"b"},{propertyName:"c"},{propertyName:"d"},{propertyName:"e"},{propertyName:"f"},{propertyName:"g"},{propertyName:"h"},{propertyName:"i"}],data:[{id:0,properties:{a:1,b:1,c:1,d:1,e:1,f:1,g:1,h:1,i:1}}]},Ge=new URLSearchParams(window.location.search),O=Ge.get("lang"),xe=H({component:ue,theme:B,appMetadata:de,config:{locale:O==="de"||O==="en"?O:void 0}});customElements.define("result-list-app",xe); +import{a as E,r as n,j as e,B as N,S as g,b as s,F,V as U,q as A,g as D,f as H}from"./Mxtq6FG0Aq1_.js";import{t as B}from"./hZvUQIaW6FE0.js";import{S as V,T as q,O as W,M as $,H as X,k as y,g as Y,h as Z,l as J,m as j}from"./5C5XmiCGgLmB.js";import{_ as S}from"./CmsKOCeNyeyo.js";import{a as z,b as u,R as K}from"./DgabVoUpizSB.js";import{C as Q}from"./BFM2xG7sFVQ7.js";import{T as L,U as ee,a as p}from"./BOwySe0UXVY3.js";import{M as oe}from"./BbT9q31oQhIX.js";import{a as re,b as te,M as c}from"./CrqedT83Nq6G.js";import{F as C}from"./CRkdw9XP0Imr.js";import{F as I}from"./CYrCIuevaD6U.js";import{C as ie}from"./CK6i-0dKNtLx.js";import"./DUaeWVZO0JNZ.js";import"./_eg2EQ1Gs0ak.js";const G="main";class le{mapId=G;async getMapConfig(){return{initialView:{kind:"position",center:{x:404747,y:5757920},zoom:14},layers:[new V({title:"OSM",isBaseLayer:!0,olLayer:new q({source:new W})})]}}}const ne={"result-list-app":{name:"result-list-app",services:{MapConfigProviderImpl:{name:"MapConfigProviderImpl",clazz:le,provides:[{name:"map.MapConfigProvider",qualifier:void 0}],references:{}}},ui:{references:[]},properties:{}},"@open-pioneer/chakra-integration":{name:"@open-pioneer/chakra-integration",services:{},ui:{references:[]},properties:{}},"@open-pioneer/react-utils":{name:"@open-pioneer/react-utils",services:{},ui:{references:[]},properties:{}},"@open-pioneer/map":{name:"@open-pioneer/map",services:{MapRegistryImpl:{name:"MapRegistryImpl",clazz:$,provides:[{name:"map.MapRegistry",qualifier:void 0}],references:{providers:{name:"map.MapConfigProvider",qualifier:void 0,all:!0},httpService:{name:"http.HttpService",qualifier:void 0,all:!1}}}},ui:{references:[{name:"map.MapRegistry",qualifier:void 0,all:!1}]},properties:{}},"@open-pioneer/result-list":{name:"@open-pioneer/result-list",services:{},ui:{references:[]},properties:{}},"@open-pioneer/runtime":{name:"@open-pioneer/runtime",services:{},ui:{references:[]},properties:{}},"@open-pioneer/theme":{name:"@open-pioneer/theme",services:{},ui:{references:[]},properties:{}},"@open-pioneer/core":{name:"@open-pioneer/core",services:{},ui:{references:[]},properties:{}},"@open-pioneer/http":{name:"@open-pioneer/http",services:{HttpServiceImpl:{name:"HttpServiceImpl",clazz:X,provides:[{name:"http.HttpService",qualifier:"http.HttpService"}],references:{interceptors:{name:"http.Interceptor",qualifier:void 0,all:!0}}}},ui:{references:[]},properties:{}},"@open-pioneer/base-theme":{name:"@open-pioneer/base-theme",services:{},ui:{references:[]},properties:{}},"@open-pioneer/runtime-react-support":{name:"@open-pioneer/runtime-react-support",services:{},ui:{references:[]},properties:{}}},ae=':root,:host{--ol-background-color: white;--ol-accent-background-color: #F5F5F5;--ol-subtle-background-color: rgba(128, 128, 128, .25);--ol-partial-background-color: rgba(255, 255, 255, .75);--ol-foreground-color: #333333;--ol-subtle-foreground-color: #666666;--ol-brand-color: #00AAFF}.ol-box{box-sizing:border-box;border-radius:2px;border:1.5px solid var(--ol-background-color);background-color:var(--ol-partial-background-color)}.ol-mouse-position{top:8px;right:8px;position:absolute}.ol-scale-line{background:var(--ol-partial-background-color);border-radius:4px;bottom:8px;left:8px;padding:2px;position:absolute}.ol-scale-line-inner{border:1px solid var(--ol-subtle-foreground-color);border-top:none;color:var(--ol-foreground-color);font-size:10px;text-align:center;margin:1px;will-change:contents,width;transition:all .25s}.ol-scale-bar{position:absolute;bottom:8px;left:8px}.ol-scale-bar-inner{display:flex}.ol-scale-step-marker{width:1px;height:15px;background-color:var(--ol-foreground-color);float:right;z-index:10}.ol-scale-step-text{position:absolute;bottom:-5px;font-size:10px;z-index:11;color:var(--ol-foreground-color);text-shadow:-1.5px 0 var(--ol-partial-background-color),0 1.5px var(--ol-partial-background-color),1.5px 0 var(--ol-partial-background-color),0 -1.5px var(--ol-partial-background-color)}.ol-scale-text{position:absolute;font-size:12px;text-align:center;bottom:25px;color:var(--ol-foreground-color);text-shadow:-1.5px 0 var(--ol-partial-background-color),0 1.5px var(--ol-partial-background-color),1.5px 0 var(--ol-partial-background-color),0 -1.5px var(--ol-partial-background-color)}.ol-scale-singlebar{position:relative;height:10px;z-index:9;box-sizing:border-box;border:1px solid var(--ol-foreground-color)}.ol-scale-singlebar-even{background-color:var(--ol-subtle-foreground-color)}.ol-scale-singlebar-odd{background-color:var(--ol-background-color)}.ol-unsupported{display:none}.ol-viewport,.ol-unselectable{-webkit-touch-callout:none;-webkit-user-select:none;-moz-user-select:none;user-select:none;-webkit-tap-highlight-color:transparent}.ol-viewport canvas{all:unset;overflow:hidden}.ol-viewport{touch-action:pan-x pan-y}.ol-selectable{-webkit-touch-callout:default;-webkit-user-select:text;-moz-user-select:text;user-select:text}.ol-grabbing{cursor:-webkit-grabbing;cursor:-moz-grabbing;cursor:grabbing}.ol-grab{cursor:move;cursor:-webkit-grab;cursor:-moz-grab;cursor:grab}.ol-control{position:absolute;background-color:var(--ol-subtle-background-color);border-radius:4px}.ol-zoom{top:.5em;left:.5em}.ol-rotate{top:.5em;right:.5em;transition:opacity .25s linear,visibility 0s linear}.ol-rotate.ol-hidden{opacity:0;visibility:hidden;transition:opacity .25s linear,visibility 0s linear .25s}.ol-zoom-extent{top:4.643em;left:.5em}.ol-full-screen{right:.5em;top:.5em}.ol-control button{display:block;margin:1px;padding:0;color:var(--ol-subtle-foreground-color);font-weight:700;text-decoration:none;font-size:inherit;text-align:center;height:1.375em;width:1.375em;line-height:.4em;background-color:var(--ol-background-color);border:none;border-radius:2px}.ol-control button::-moz-focus-inner{border:none;padding:0}.ol-zoom-extent button{line-height:1.4em}.ol-compass{display:block;font-weight:400;will-change:transform}.ol-touch .ol-control button{font-size:1.5em}.ol-touch .ol-zoom-extent{top:5.5em}.ol-control button:hover,.ol-control button:focus{text-decoration:none;outline:1px solid var(--ol-subtle-foreground-color);color:var(--ol-foreground-color)}.ol-zoom .ol-zoom-in{border-radius:2px 2px 0 0}.ol-zoom .ol-zoom-out{border-radius:0 0 2px 2px}.ol-attribution{text-align:right;bottom:.5em;right:.5em;max-width:calc(100% - 1.3em);display:flex;flex-flow:row-reverse;align-items:center}.ol-attribution a{color:var(--ol-subtle-foreground-color);text-decoration:none}.ol-attribution ul{margin:0;padding:1px .5em;color:var(--ol-foreground-color);text-shadow:0 0 2px var(--ol-background-color);font-size:12px}.ol-attribution li{display:inline;list-style:none}.ol-attribution li:not(:last-child):after{content:" "}.ol-attribution img{max-height:2em;max-width:inherit;vertical-align:middle}.ol-attribution button{flex-shrink:0}.ol-attribution.ol-collapsed ul{display:none}.ol-attribution:not(.ol-collapsed){background:var(--ol-partial-background-color)}.ol-attribution.ol-uncollapsible{bottom:0;right:0;border-radius:4px 0 0}.ol-attribution.ol-uncollapsible img{margin-top:-.2em;max-height:1.6em}.ol-attribution.ol-uncollapsible button{display:none}.ol-zoomslider{top:4.5em;left:.5em;height:200px}.ol-zoomslider button{position:relative;height:10px}.ol-touch .ol-zoomslider{top:5.5em}.ol-overviewmap{left:.5em;bottom:.5em}.ol-overviewmap.ol-uncollapsible{bottom:0;left:0;border-radius:0 4px 0 0}.ol-overviewmap .ol-overviewmap-map,.ol-overviewmap button{display:block}.ol-overviewmap .ol-overviewmap-map{border:1px solid var(--ol-subtle-foreground-color);height:150px;width:150px}.ol-overviewmap:not(.ol-collapsed) button{bottom:0;left:0;position:absolute}.ol-overviewmap.ol-collapsed .ol-overviewmap-map,.ol-overviewmap.ol-uncollapsible button{display:none}.ol-overviewmap:not(.ol-collapsed){background:var(--ol-subtle-background-color)}.ol-overviewmap-box{border:1.5px dotted var(--ol-subtle-foreground-color)}.ol-overviewmap .ol-overviewmap-box:hover{cursor:move}.ol-overviewmap .ol-viewport:hover{cursor:pointer}.map-container .ol-viewport .ol-attribution{bottom:var(--map-padding-bottom);right:var(--map-padding-right)}.result-list-no-data-message{text-align:center;margin-top:50px;font-weight:700;font-size:larger}.result-list-table th,.result-list-table td{overflow-wrap:break-word}.result-list-table.result-list-table--is-resizing *{cursor:col-resize}.result-list-table thead{position:sticky;top:0;z-index:1;background:var(--chakra-colors-background_body)}.result-list-table th{position:relative;border-right-width:thin}.result-list-table tbody tr:hover{background:var(--chakra-colors-background_light)}.result-list-table .result-list-resizer{position:absolute;top:0;height:100%;right:0;width:8px;background:var(--chakra-colors-trails-100);transform:scaleX(.25);cursor:col-resize;-webkit-user-select:none;user-select:none;touch-action:none;padding-left:0}.result-list-table th:last-child .result-list-resizer{width:8px;transform:translate(50%) scaleX(.25)}.result-list-table th .result-list-resizer.result-list-resizer--is-resizing{background:var(--chakra-colors-trails-500);transform:scale(1)}.result-list-table th .result-list-resizer:hover{transform:scale(1)}',se=["en","de"];function pe(o){switch(o){case"en":return S(()=>import("./CWewJjE-xeCE.js"),[],import.meta.url).then(i=>i.default);case"de":return S(()=>import("./BbSw8Fldfnox.js"),[],import.meta.url).then(i=>i.default)}throw new Error(`Unsupported locale: '${o}'`)}const ce=E(ae),de=Object.freeze(Object.defineProperty({__proto__:null,loadMessages:pe,locales:se,packages:ne,styles:ce},Symbol.toStringTag,{value:"Module"})),M=400;function ue(){const[o,i]=n.useState(0),[r,x]=n.useState(),[T,m]=n.useState(!1),[d,R]=n.useState(!1),[h,_]=n.useState("multi"),[v,f]=n.useState("checkbox"),w=!!r&&T,a=l=>{x(l),m(!0),i(o+1)},k=n.useMemo(()=>{if(!r||!d)return r;const l=r.columns.filter((b,P)=>P%2==1);return{...r,columns:l}},[d,r]);return e.jsx(y,{height:"100%",direction:"column",overflow:"hidden",children:e.jsx(Y,{title:e.jsx(N,{textAlign:"center",py:1,children:e.jsx(Z,{size:"md",children:"OpenLayers Base Packages - Result List"})}),children:e.jsxs(y,{flex:"1",direction:"column",position:"relative",children:[e.jsxs(J,{mapId:G,viewPadding:{bottom:w?M:0},children:[e.jsx(j,{position:"top-left",horizontalGap:10,verticalGap:10,children:e.jsx(N,{backgroundColor:"whiteAlpha.900",borderWidth:"1px",borderRadius:"lg",padding:2,boxShadow:"lg",children:e.jsxs(g,{children:[e.jsx(L,{align:"center",children:"Test Controls:"}),e.jsxs(oe,{placement:"right-end",children:[e.jsx(re,{as:s,rightIcon:e.jsx(Q,{}),children:"Fill result list"}),e.jsx(F,{children:e.jsxs(te,{children:[e.jsx(c,{onClick:()=>a(he),children:"Persons"}),e.jsx(c,{onClick:()=>a(Ne),children:"Custom render"}),e.jsx(c,{onClick:()=>a(be),children:"Generated"}),e.jsx(c,{onClick:()=>a(Le),children:"Long Strings"}),e.jsx(c,{onClick:()=>a(Oe),children:"Many Columns"})]})})]}),e.jsxs(s,{onClick:()=>R(!d),children:[d?"Show":"Hide"," even columns"]}),e.jsx(s,{isDisabled:r===void 0,onClick:()=>m(!0),children:"Show result list"}),e.jsx(s,{onClick:()=>m(!1),children:"Hide result list"}),e.jsx(s,{isDisabled:r===void 0,onClick:()=>x(void 0),children:"Close result list"}),e.jsxs(C,{children:[e.jsx(I,{children:"Selection mode"}),e.jsx(z,{value:h,onChange:l=>{const b=l;_(b),f(b==="single"?"radio":"checkbox")},children:e.jsxs(g,{direction:"row",children:[e.jsx(u,{value:"single",children:"Single"}),e.jsx(u,{value:"multi",children:"Multi"})]})})]}),e.jsxs(C,{children:[e.jsx(I,{children:"Selection style"}),e.jsx(z,{value:v,onChange:l=>{f(l)},children:e.jsxs(g,{direction:"row",children:[e.jsx(u,{value:"radio",isDisabled:h==="multi",children:"Radio"}),e.jsx(u,{value:"checkbox",children:"Checkbox"})]})})]})]})})}),e.jsx(j,{position:"top-right",horizontalGap:10,verticalGap:10,children:e.jsxs(U,{backgroundColor:"whiteAlpha.900",borderWidth:"1px",borderRadius:"lg",padding:2,boxShadow:"lg",maxWidth:"400px",maxHeight:"300px",overflow:"auto",children:[e.jsx(L,{as:"b",children:"Description"}),e.jsx(L,{children:"This application can be used to test the result list component. Internally, this application keeps track of the current result list input and displays it when the component shall be shown."}),e.jsxs(ee,{children:[e.jsx(p,{children:"If the result list has been filled, it can be hidden and shown again while preserving the state (selection, sort, scroll, ...)."}),e.jsx(p,{children:"The result list is embedded with a fixed height (with internal scrolling) above the map (using view padding). Showing or hiding the component will animate the view."}),e.jsx(p,{children:"Toggling columns will preserve the state of the result list."}),e.jsx(p,{children:"Filling the result list again resets the state (even when using equal data)."}),e.jsx(p,{children:"Fully closing the result list drops all state."})]})]})})]}),k&&e.jsx(N,{position:"absolute",visibility:w?"visible":"hidden",bottom:"0",backgroundColor:"white",width:"100%",height:`${M}px`,borderTop:"2px solid",borderColor:"trails.500",zIndex:1,children:e.jsx(K,{mapId:G,input:k,selectionMode:h,selectionStyle:v},String(o))})]})})})}let me=1;function t(o,i,r){return{id:String(me++),properties:{name:o,age:i,city:r}}}const he={data:[t("Test User A",21,"Cologne"),t("Test User B",33,"Berlin"),t("Test User C",44,"New York"),t("Test User D",55,"London"),t("Test User E",8,"Rome"),t("Test User F",14,"Vienna"),t("Test User G",17,"Paris"),t("Test User H",27,"Brussels"),t("Test User I",19,"Warsaw")],columns:[{displayName:"id",getPropertyValue(o){return o.id}},{propertyName:"name"},{propertyName:"age"},{propertyName:"city"}]},be={data:Array.from(Array(100).keys()).map(o=>({id:o,properties:{boolean:o%2==0,empty:o%2==0?null:void 0,number:o,float:o/7,string:`Item ${o}`,date:new Date}})),columns:[{propertyName:"boolean"},{propertyName:"number"},{propertyName:"float"},{propertyName:"string"},{propertyName:"date"},{propertyName:"empty"}],formatOptions:{numberOptions:{maximumFractionDigits:2},dateOptions:{timeStyle:"full",dateStyle:"full",timeZone:"UTC"}}},Ne={data:[{id:1,properties:{bool:!0}},{id:2,properties:{bool:!1}},{id:3,properties:{bool:void 0}}],columns:[{displayName:"id (with tooltip)",getPropertyValue(o){return o.id},renderCell({feature:o}){return e.jsx(ge,{id:o.id})}},{displayName:"boolean as checkbox (read only)",propertyName:"bool",renderCell({value:o}){return e.jsx(ie,{isIndeterminate:o===void 0,isChecked:!!o})}}]};function ge(o){return e.jsx(A,{label:`tooltip for feature ${o.id}`,placement:"top",children:e.jsx(D.span,{children:o.id})})}const Le={data:[{id:1,properties:{short:"Short 1",long:"LONG LONG LONG LONG LONG LONG LONG LONG LONG LONG LONG LONG LONG LONG LONG LONG LONG LONG LONG LONG LONG LONG LONG LONG LONG LONG LONG LONG LONG LONG LONG LONG LONG LONG LONG LONG LONG LONG LONG LONG LONG LONG LONG LONG LONG LONG LONG LONG LONG LONG LONG LONG LONG LONG LONG LONG LONG LONG LONG LONG LONG LONG LONG LONG LONG LONG LONG LONG LONG LONG LONG LONG LONG LONG LONG LONG LONG LONG "}},{id:2,properties:{short:"Short 2",long:"LONGLONGLONGLONGLONGLONGLONGLONGLONGLONGLONGLONGLONGLONGLONGLONGLONGLONGLONGLONGLONGLONGLONGLONGLONGLONGLONGLONGLONGLONGLONGLONGLONGLONGLONGLONGLONGLONGLONGLONGLONGLONGLONGLONGLONGLONGLONGLONGLONGLONGLONGLONGLONGLONGLONGLONGLONGLONGLONGLONGLONGLONGLONGLONGLONGLONGLONGLONGLONGLONGLONGLONGLONGLONGLONGLONGLONGLONGLONGLONGLONGLONGLONGLONGLONGLONGLONGLONGLONGLONGLONGLONGLONGLONGLONGLONGLONGLONGLONGLONGLONGLONGLONGLONG"}}],columns:[{propertyName:"short"},{propertyName:"long",width:300}]},Oe={columns:[{propertyName:"a"},{propertyName:"b"},{propertyName:"c"},{propertyName:"d"},{propertyName:"e"},{propertyName:"f"},{propertyName:"g"},{propertyName:"h"},{propertyName:"i"}],data:[{id:0,properties:{a:1,b:1,c:1,d:1,e:1,f:1,g:1,h:1,i:1}}]},Ge=new URLSearchParams(window.location.search),O=Ge.get("lang"),xe=H({component:ue,theme:B,appMetadata:de,config:{locale:O==="de"||O==="en"?O:void 0}});customElements.define("result-list-app",xe); diff --git a/openlayers-base-packages/assets/DW8DcLzWV1Z-.js b/openlayers-base-packages/assets/DW8DcLzWV1Z-.js deleted file mode 100644 index 0bdc3c033..000000000 --- a/openlayers-base-packages/assets/DW8DcLzWV1Z-.js +++ /dev/null @@ -1,4 +0,0 @@ -var J=a=>{throw TypeError(a)};var V=(a,e,t)=>e.has(a)||J("Cannot "+t);var w=(a,e,t)=>(V(a,e,"read from private field"),t?t.call(a):e.get(a)),E=(a,e,t)=>e.has(a)?J("Cannot add the same private member more than once"):e instanceof WeakSet?e.add(a):e.set(a,t),v=(a,e,t,i)=>(V(a,e,"write to private field"),i?i.call(a,t):e.set(a,t),t),x=(a,e,t)=>(V(a,e,"access private method"),t);import{r as R,a9 as ue,h as se,j as K,a7 as fe,g as Q,c as ge,d as _e}from"./Mxtq6FG0Aq1_.js";import{_ as me}from"./CmsKOCeNyeyo.js";import{b_ as pe,b$ as ye,B as Ce,c0 as we,c1 as ke,c2 as Te,bd as xe,c3 as Pe,bB as ve,bp as Z,bt as Se,a as Le,b as De,c4 as Ee,bh as ee,bA as be,c5 as Me,a9 as Ie,bm as k,c6 as Fe,G as Re,bo as ne,a_ as b,an as B,c7 as te,bw as Ne,ao as Oe,am as re,bz as Ge,c8 as Ue,c9 as oe,ca as Ae,aK as je,aM as We,cb as ie,aq as Ve}from"./5C5XmiCGgLmB.js";import{a as Be,b as ae,M as he,G as qe}from"./DWkb3PmnrxhS.js";import{L as j}from"./D69t4K7RmA6W.js";function He(a){const{loading:e,src:t,srcSet:i,onLoad:s,onError:r,crossOrigin:n,sizes:o,ignoreFallback:h}=a,[l,c]=R.useState("pending");R.useEffect(()=>{c(t?"loading":"pending")},[t]);const d=R.useRef(),u=R.useCallback(()=>{if(!t)return;f();const g=new Image;g.src=t,n&&(g.crossOrigin=n),i&&(g.srcset=i),o&&(g.sizes=o),e&&(g.loading=e),g.onload=_=>{f(),c("loaded"),s?.(_)},g.onerror=_=>{f(),c("failed"),r?.(_)},d.current=g},[t,n,i,o,s,r,e]),f=()=>{d.current&&(d.current.onload=null,d.current.onerror=null,d.current=null)};return ue(()=>{if(!h)return l==="loading"&&u(),()=>{f()}},[l,u,h]),h?"loaded":l}const $e=(a,e)=>a!=="loaded"&&e==="beforeLoadOrError"||a==="failed"&&e==="onError",Y=se(function(e,t){const{htmlWidth:i,htmlHeight:s,alt:r,...n}=e;return K.jsx("img",{width:i,height:s,ref:t,alt:r,...n})});Y.displayName="NativeImage";const Xe=se(function(e,t){const{fallbackSrc:i,fallback:s,src:r,srcSet:n,align:o,fit:h,loading:l,ignoreFallback:c,crossOrigin:d,fallbackStrategy:u="beforeLoadOrError",referrerPolicy:f,...g}=e,_=i!==void 0||s!==void 0,m=l!=null||c||!_,P=He({...e,crossOrigin:d,ignoreFallback:m}),T=$e(P,u),p={ref:t,objectFit:h,objectPosition:o,...m?g:fe(g,["onError","onLoad"])};return T?s||K.jsx(Q.img,{as:Y,className:"chakra-image__placeholder",src:i,...p}):K.jsx(Q.img,{as:Y,src:r,srcSet:n,crossOrigin:d,loading:l,referrerPolicy:f,className:"chakra-image",...p})});Xe.displayName="Image";class W extends pe{constructor(e,t,i){super(),i!==void 0&&t===void 0?this.setFlatCoordinates(i,e):(t=t||0,this.setCenterAndRadius(e,t,i))}clone(){const e=new W(this.flatCoordinates.slice(),void 0,this.layout);return e.applyProperties(this),e}closestPointXY(e,t,i,s){const r=this.flatCoordinates,n=e-r[0],o=t-r[1],h=n*n+o*o;if(h=i[0]||e[1]<=i[1]&&e[3]>=i[1]?!0:we(e,this.intersectsCoordinate.bind(this))}return!1}setCenter(e){const t=this.stride,i=this.flatCoordinates[t]-this.flatCoordinates[0],s=e.slice();s[t]=s[0]+i;for(let r=1;r=t?a[e-t]:a[e]}function U(a,e,t){let i,s;en){const h=L(a,i),l=L(a,s);return G(h,l)}let o=0;if(iu.startIndex?_u.startIndex&&(_-=f.length)),h=_,o=d)}const l=e.targets[o];let c=l.ring;if(e.targetIndex===o&&c){const d=L(l.coordinates,h),u=t.getPixelFromCoordinate(d);ne(u,e.startPx)>i&&(c=!1)}if(c){const d=l.coordinates,u=d.length,f=l.startIndex,g=h;if(f=t?i-=t:i<0&&(i+=t);let r=i+1;r>=t&&(r-=t);const n=a[i],o=n[0],h=n[1],l=a[r],c=l[0]-o,d=l[1]-h;return[o+c*s,h+d*s]}class ze extends xe{constructor(e){const t=e;t.stopDown||(t.stopDown=Pe),super(t),this.on,this.once,this.un,this.shouldHandle_=!1,this.downPx_=null,this.downTimeout_,this.lastDragTime_,this.pointerType_,this.freehand_=!1,this.source_=e.source?e.source:null,this.features_=e.features?e.features:null,this.snapTolerance_=e.snapTolerance?e.snapTolerance:12,this.type_=e.type,this.mode_=Qe(this.type_),this.stopClick_=!!e.stopClick,this.minPoints_=e.minPoints?e.minPoints:this.mode_==="Polygon"?3:2,this.maxPoints_=this.mode_==="Circle"?2:e.maxPoints?e.maxPoints:1/0,this.finishCondition_=e.finishCondition?e.finishCondition:ve,this.geometryLayout_=e.geometryLayout?e.geometryLayout:"XY";let i=e.geometryFunction;if(!i){const s=this.mode_;if(s==="Circle")i=(r,n,o)=>{const h=n||new W([NaN,NaN]),l=Z(r[0]),c=Se(l,Z(r[r.length-1]));return h.setCenterAndRadius(l,Math.sqrt(c),this.geometryLayout_),h};else{let r;s==="Point"?r=B:s==="LineString"?r=j:s==="Polygon"&&(r=re),i=(n,o,h)=>(o?s==="Polygon"?n[0].length?o.setCoordinates([n[0].concat([n[0][0]])],this.geometryLayout_):o.setCoordinates([],this.geometryLayout_):o.setCoordinates(n,this.geometryLayout_):o=new r(n,this.geometryLayout_),o)}}this.geometryFunction_=i,this.dragVertexDelay_=e.dragVertexDelay!==void 0?e.dragVertexDelay:500,this.finishCoordinate_=null,this.sketchFeature_=null,this.sketchPoint_=null,this.sketchCoords_=null,this.sketchLine_=null,this.sketchLineCoords_=null,this.squaredClickTolerance_=e.clickTolerance?e.clickTolerance*e.clickTolerance:36,this.overlay_=new Le({source:new De({useSpatialIndex:!1,wrapX:e.wrapX?e.wrapX:!1}),style:e.style?e.style:Je(),updateWhileInteracting:!0}),this.geometryName_=e.geometryName,this.condition_=e.condition?e.condition:Ee,this.freehandCondition_,e.freehand?this.freehandCondition_=ee:this.freehandCondition_=e.freehandCondition?e.freehandCondition:be,this.traceCondition_,this.setTrace(e.trace||!1),this.traceState_={active:!1},this.traceSource_=e.traceSource||e.source||null,this.addChangeListener(Me.ACTIVE,this.updateState_)}setTrace(e){let t;e?e===!0?t=ee:t=e:t=Ge,this.traceCondition_=t}setMap(e){super.setMap(e),this.updateState_()}getOverlay(){return this.overlay_}handleEvent(e){e.originalEvent.type===Ie.CONTEXTMENU&&e.originalEvent.preventDefault(),this.freehand_=this.mode_!=="Point"&&this.freehandCondition_(e);let t=e.type===k.POINTERMOVE,i=!0;return!this.freehand_&&this.lastDragTime_&&e.type===k.POINTERDRAG&&(Date.now()-this.lastDragTime_>=this.dragVertexDelay_?(this.downPx_=e.pixel,this.shouldHandle_=!this.freehand_,t=!0):this.lastDragTime_=void 0,this.shouldHandle_&&this.downTimeout_!==void 0&&(clearTimeout(this.downTimeout_),this.downTimeout_=void 0)),this.freehand_&&e.type===k.POINTERDRAG&&this.sketchFeature_!==null?(this.addToDrawing_(e.coordinate),i=!1):this.freehand_&&e.type===k.POINTERDOWN?i=!1:t&&this.getPointerCount()<2?(i=e.type===k.POINTERMOVE,i&&this.freehand_?(this.handlePointerMove_(e),this.shouldHandle_&&e.originalEvent.preventDefault()):(e.originalEvent.pointerType==="mouse"||e.type===k.POINTERDRAG&&this.downTimeout_===void 0)&&this.handlePointerMove_(e)):e.type===k.DBLCLICK&&(i=!1),super.handleEvent(e)&&i}handleDownEvent(e){return this.shouldHandle_=!this.freehand_,this.freehand_?(this.downPx_=e.pixel,this.finishCoordinate_||this.startDrawing_(e.coordinate),!0):this.condition_(e)?(this.lastDragTime_=Date.now(),this.downTimeout_=setTimeout(()=>{this.handlePointerMove_(new Fe(k.POINTERMOVE,e.map,e.originalEvent,!1,e.frameState))},this.dragVertexDelay_),this.downPx_=e.pixel,!0):(this.lastDragTime_=void 0,!1)}deactivateTrace_(){this.traceState_={active:!1}}toggleTraceState_(e){if(!this.traceSource_||!this.traceCondition_(e))return;if(this.traceState_.active){this.deactivateTrace_();return}const t=this.getMap(),i=t.getCoordinateFromPixel([e.pixel[0]-this.snapTolerance_,e.pixel[1]+this.snapTolerance_]),s=t.getCoordinateFromPixel([e.pixel[0]+this.snapTolerance_,e.pixel[1]-this.snapTolerance_]),r=Re([i,s]),n=this.traceSource_.getFeaturesInExtent(r);if(n.length===0)return;const o=Ke(e.coordinate,n);o.length&&(this.traceState_={active:!0,startPx:e.pixel.slice(),targets:o,targetIndex:-1})}addOrRemoveTracedCoordinates_(e,t){const i=e.startIndex<=e.endIndex,s=e.startIndex<=t;i===s?i&&t>e.endIndex||!i&&te.endIndex)&&this.removeTracedCoordinates_(t,e.endIndex):(this.removeTracedCoordinates_(e.startIndex,e.endIndex),this.addTracedCoordinates_(e,e.startIndex,t))}removeTracedCoordinates_(e,t){if(e===t)return;let i=0;if(e0&&this.removeLastPoints_(i)}addTracedCoordinates_(e,t,i){if(t===i)return;const s=[];if(t=n;--o)s.push(S(e.coordinates,o))}s.length&&this.appendCoordinates(s)}updateTrace_(e){const t=this.traceState_;if(!t.active||t.targetIndex===-1&&ne(t.startPx,e.pixel)this.squaredClickTolerance_:n<=this.squaredClickTolerance_,!this.shouldHandle_)return}if(!this.finishCoordinate_){this.createOrUpdateSketchPoint_(e.coordinate.slice());return}this.updateTrace_(e),this.modifyDrawing_(e.coordinate)}atFinish_(e,t){let i=!1;if(this.sketchFeature_){let s=!1,r=[this.finishCoordinate_];const n=this.mode_;if(n==="Point")i=!0;else if(n==="Circle")i=this.sketchCoords_.length===2;else if(n==="LineString")s=!t&&this.sketchCoords_.length>this.minPoints_;else if(n==="Polygon"){const o=this.sketchCoords_;s=o[0].length>this.minPoints_,r=[o[0][0],o[0][o[0].length-2]],t?r=[o[0][0]]:r=[o[0][0],o[0][o[0].length-2]]}if(s){const o=this.getMap();for(let h=0,l=r.length;h=this.maxPoints_&&(this.freehand_?r.pop():s=!0),r.push(e.slice()),this.geometryFunction_(r,t,i)):n==="Polygon"&&(r=this.sketchCoords_[0],r.length>=this.maxPoints_&&(this.freehand_?r.pop():s=!0),r.push(e.slice()),s&&(this.finishCoordinate_=r[0]),this.geometryFunction_(this.sketchCoords_,t,i)),this.createOrUpdateSketchPoint_(e.slice()),this.updateSketchFeatures_(),s?this.finishDrawing():this.sketchFeature_}removeLastPoints_(e){if(!this.sketchFeature_)return;const t=this.sketchFeature_.getGeometry(),i=this.getMap().getView().getProjection(),s=this.mode_;for(let r=0;r=2){this.finishCoordinate_=n[n.length-2].slice();const o=this.finishCoordinate_.slice();n[n.length-1]=o,this.createOrUpdateSketchPoint_(o)}this.geometryFunction_(n,t,i),t.getType()==="Polygon"&&this.sketchLine_&&this.createOrUpdateCustomSketchLine_(t)}else if(s==="Polygon"){n=this.sketchCoords_[0],n.splice(-2,1);const o=this.sketchLine_.getGeometry();if(n.length>=2){const h=n[n.length-2].slice();n[n.length-1]=h,this.createOrUpdateSketchPoint_(h)}o.setCoordinates(n),this.geometryFunction_(this.sketchCoords_,t,i)}if(n.length===1){this.abortDrawing();break}}this.updateSketchFeatures_()}removeLastPoint(){this.removeLastPoints_(1)}finishDrawing(){const e=this.abortDrawing_();if(!e)return null;let t=this.sketchCoords_;const i=e.getGeometry(),s=this.getMap().getView().getProjection();return this.mode_==="LineString"?(t.pop(),this.geometryFunction_(t,i,s)):this.mode_==="Polygon"&&(t[0].pop(),this.geometryFunction_(t,i,s),t=i.getCoordinates()),this.type_==="MultiPoint"?e.setGeometry(new Be([t])):this.type_==="MultiLineString"?e.setGeometry(new ae([t])):this.type_==="MultiPolygon"&&e.setGeometry(new he([t])),this.dispatchEvent(new O(N.DRAWEND,e)),this.features_&&this.features_.push(e),this.source_&&this.source_.addFeature(e),e}abortDrawing_(){this.finishCoordinate_=null;const e=this.sketchFeature_;return this.sketchFeature_=null,this.sketchPoint_=null,this.sketchLine_=null,this.overlay_.getSource().clear(!0),this.deactivateTrace_(),e}abortDrawing(){const e=this.abortDrawing_();e&&this.dispatchEvent(new O(N.DRAWABORT,e))}appendCoordinates(e){const t=this.mode_,i=!this.sketchFeature_;i&&this.startDrawing_(e[0]);let s;if(t==="LineString"||t==="Circle")s=this.sketchCoords_;else if(t==="Polygon")s=this.sketchCoords_&&this.sketchCoords_.length?this.sketchCoords_[0]:[];else return;i&&s.shift(),s.pop();for(let n=0;n component has likely been used twice in your application.`),{destroy(){}};v(this,C,e);const t=w(this,D);if(v(this,D,void 0),t)for(const[s,...r]of t)e[s](...r);let i=!1;return{destroy:()=>{i||(i=!0,w(this,C)===e&&v(this,C,void 0))}}}}C=new WeakMap,D=new WeakMap,F=new WeakMap,y=new WeakSet,I=function(e,t){typeof t=="string"&&(t={message:t}),this.notify({...t,level:e})},z=function(e,...t){if(w(this,C))w(this,C)[e](...t);else{const i=w(this,D)??v(this,D,[]);if(i.length>=1024){$.error(`Internal notification buffer overflow: this event will be dropped to prevent a memory leak. -Make sure that the UI is configured to display notifications (use ).`,{method:e,args:t});return}i.push([e,...t])}},Ze=function(){w(this,C)||$.warn(`No notification handler has been registered: notifications will not be visible. -Make sure that your app contains the component.`)};const X="units",et=[1,2,5],M=25.4/.28;class tt extends je{constructor(e){e=e||{};const t=document.createElement("div");t.style.pointerEvents="none",super({element:t,render:e.render,target:e.target}),this.on,this.once,this.un;const i=e.className!==void 0?e.className:e.bar?"ol-scale-bar":"ol-scale-line";this.innerElement_=document.createElement("div"),this.innerElement_.className=i+"-inner",this.element.className=i+" "+We,this.element.appendChild(this.innerElement_),this.viewState_=null,this.minWidth_=e.minWidth!==void 0?e.minWidth:64,this.maxWidth_=e.maxWidth,this.renderedVisible_=!1,this.renderedWidth_=void 0,this.renderedHTML_="",this.addChangeListener(X,this.handleUnitsChanged_),this.setUnits(e.units||"metric"),this.scaleBar_=e.bar||!1,this.scaleBarSteps_=e.steps||4,this.scaleBarText_=e.text||!1,this.dpi_=e.dpi||void 0}getUnits(){return this.get(X)}handleUnitsChanged_(){this.updateElement_()}setUnits(e){this.set(X,e)}setDpi(e){this.dpi_=e}updateElement_(){const e=this.viewState_;if(!e){this.renderedVisible_&&(this.element.style.display="none",this.renderedVisible_=!1);return}const t=e.center,i=e.projection,s=this.getUnits(),r=s=="degrees"?"degrees":"m";let n=ie(i,e.resolution,t,r);const o=this.minWidth_*(this.dpi_||M)/M,h=this.maxWidth_!==void 0?this.maxWidth_*(this.dpi_||M)/M:void 0;let l=o*n,c="";if(s=="degrees"){const p=Ve.degrees;l*=p,l

=h){u=_,f=m,g=P;break}else if(f>=o)break;_=u,m=f,P=g,++d}const T=this.scaleBar_?this.createScaleBar(f,u,c):u.toFixed(g<0?-g:0)+" "+c;this.renderedHTML_!=T&&(this.innerElement_.innerHTML=T,this.renderedHTML_=T),this.renderedWidth_!=f&&(this.innerElement_.style.width=f+"px",this.renderedWidth_=f),this.renderedVisible_||(this.element.style.display="",this.renderedVisible_=!0)}createScaleBar(e,t,i){const s=this.getScaleForResolution(),r=s<1?Math.round(1/s).toLocaleString()+" : 1":"1 : "+Math.round(s).toLocaleString(),n=this.scaleBarSteps_,o=e/n,h=[this.createMarker("absolute")];for(let c=0;c

`+this.createMarker("relative")+(c%2===0||n===2?this.createStepText(c,e,!1,t,i):"")+"")}return h.push(this.createStepText(n,e,!0,t,i)),(this.scaleBarText_?`
`+r+"
":"")+h.join("")}createMarker(e){return`
`}createStepText(e,t,i,s,r){const o=(e===0?0:Math.round(s/this.scaleBarSteps_*e*100)/100)+(e===0?"":" "+r),h=e===0?-3:t/this.scaleBarSteps_*-1,l=e===0?0:t/this.scaleBarSteps_*2;return`
`+o+"
"}getScaleForResolution(){const e=ie(this.viewState_.projection,this.viewState_.resolution,this.viewState_.center,"m"),t=this.dpi_||M,i=1e3/25.4;return e*i*t}render(e){const t=e.frameState;t?this.viewState_=t.viewState:this.viewState_=null,this.updateElement_()}}const it=.8,de="printing-hide";function st(a,e){return a.toDataURL("image/png",e??it)}function nt(a,e){const t=document.createElement("div");t.classList.add("printing-overlay",de),a.appendChild(t);const i=document.createElement("div");return i.classList.add("printing-overlay-status"),i.textContent=e,t.appendChild(i),{destroy(){t.remove()}}}class gt{defaultOverlayText;constructor(e){this.defaultOverlayText=e.intl.formatMessage({id:"printingMap"})}async printMap(e,t){return await new rt(e,{blockUserInteraction:!0,overlayText:this.defaultOverlayText,viewPadding:"auto",...t}).printMap()}}class rt{olMap;blockUserInteraction=!1;overlayText;viewPadding;running=!1;drawInformation=[];scaleLine=void 0;overlay=void 0;constructor(e,t){this.olMap=e,this.blockUserInteraction=t.blockUserInteraction,this.overlayText=t.overlayText,this.viewPadding=t.viewPadding}async printMap(){if(this.running)throw new Error("Printing already running.");try{await this.beginExport();let e=await this.printToCanvas(this.olMap.getViewport());if(!e)throw new Error("Canvas export failed");return this.viewPadding==="auto"&&(e=this.removePadding(e,this.getViewPadding())),new ot(e)}finally{this.reset()}}async beginExport(){this.running=!0;const e=this.olMap.getInteractions().getArray().filter(t=>t.getActive()&&t instanceof ze);if(this.drawInformation=[],e?.forEach(t=>{const i=t,s=i.getOverlay().getStyle();i.getOverlay().setStyle(null),this.drawInformation?.push({draw:i,style:s})}),this.blockUserInteraction){const t=this.olMap?.getTargetElement();t&&(this.overlay=nt(t,this.overlayText))}await this.addScaleLine()}async addScaleLine(){const t=(this.scaleLine=new tt({className:"printing-scale-bar ol-scale-bar",bar:!0,text:!0,minWidth:125})).element;if(!t)throw new Error("Scale line does not have an element");let i=50,s=8;if(this.viewPadding==="auto"){const{bottom:h,left:l}=this.getViewPadding();i=Math.max(h+8,i),s+=l}t.style.setProperty("--printing-scale-bar-bottom",`${i}px`),t.style.setProperty("--printing-scale-bar-left",`${s}px`);const r=_e(),n=setTimeout(()=>{r.reject(new Error("Scale line did not render"))},3e3),o=this.scaleLine.render;this.scaleLine.render=(...h)=>{o.apply(this.scaleLine,h),r.resolve()},this.olMap?.addControl(this.scaleLine);try{await r.promise,await new Promise(h=>{requestAnimationFrame(h)})}finally{clearTimeout(n)}}async printToCanvas(e){const t={useCORS:!0,ignoreElements:function(r){if(r.classList&&typeof r.classList=="object"){const n=r.classList;return n.contains("map-anchors")||n.contains(de)}return!1}},i=(await me(async()=>{const{default:r}=await import("./BfxBtG_Oxhhm.js");return{default:r}},[],import.meta.url)).default;return await i(e,t)}reset(){this.scaleLine&&(this.olMap?.removeControl(this.scaleLine),this.scaleLine=void 0),this.overlay&&(this.overlay.destroy(),this.overlay=void 0),this.running=!1,this.drawInformation?.length&&this.drawInformation.forEach(e=>{e.draw.getOverlay().setStyle(e.style)})}removePadding(e,t){const i=window.devicePixelRatio||1,s={top:t.top*i,right:t.right*i,bottom:t.bottom*i,left:t.left*i};if(s.left===0&&s.right===0&&s.top===0&&s.bottom===0)return e;const{width:r,height:n}=e,o=document.createElement("canvas");o.width=r-s.left-s.right,o.height=n-s.top-s.bottom;const h=o.getContext("2d");if(!h)throw new Error("Failed to get a canvas context");return h.drawImage(e,s.left,s.top,o.width,o.height,0,0,o.width,o.height),o}getViewPadding(){const t=this.olMap.getView().padding??[0,0,0,0];return{top:t[0]??0,right:t[1]??0,bottom:t[2]??0,left:t[3]??0}}}class ot{canvas;constructor(e){this.canvas=e}getCanvas(){return this.canvas}getPNGDataURL(e){return st(this.canvas,e)}}export{ze as D,Xe as I,ft as N,gt as P,tt as S,st as a,nt as c}; diff --git a/openlayers-base-packages/assets/DiOrj1F0r-Jt.js b/openlayers-base-packages/assets/Dx9locigDKA2.js similarity index 78% rename from openlayers-base-packages/assets/DiOrj1F0r-Jt.js rename to openlayers-base-packages/assets/Dx9locigDKA2.js index 4a7461a4b..4c0730bcb 100644 --- a/openlayers-base-packages/assets/DiOrj1F0r-Jt.js +++ b/openlayers-base-packages/assets/Dx9locigDKA2.js @@ -1,2 +1,2 @@ const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["./DyTV57ff4rkW.js","./CmsKOCeNyeyo.js","./Cxncs0atKtOb.js","./Mxtq6FG0Aq1_.js","./5C5XmiCGgLmB.js","./_eg2EQ1Gs0ak.js","./CRkdw9XP0Imr.js","./BbT9q31oQhIX.js","./IfrtfJ9Ep93o.js"])))=>i.map(i=>d[i]); -var Qt=Object.defineProperty;var Ye=r=>{throw TypeError(r)};var es=(r,e,t)=>e in r?Qt(r,e,{enumerable:!0,configurable:!0,writable:!0,value:t}):r[e]=t;var y=(r,e,t)=>es(r,typeof e!="symbol"?e+"":e,t),Ae=(r,e,t)=>e.has(r)||Ye("Cannot "+t);var _=(r,e,t)=>(Ae(r,e,"read from private field"),t?t.call(r):e.get(r)),x=(r,e,t)=>e.has(r)?Ye("Cannot add the same private member more than once"):e instanceof WeakSet?e.add(r):e.set(r,t),b=(r,e,t,s)=>(Ae(r,e,"write to private field"),s?s.call(r,t):e.set(r,t),t),te=(r,e,t)=>(Ae(r,e,"access private method"),t);import{aE as ts,b7 as ss,b8 as ns,b9 as is,aP as rs,aX as os,ba as as,bb as ls,J as cs,bc as ds,bd as us,be as hs,bf as gs,bg as St,bh as fs,bi as ms,a as ee,b as Fe,aL as ve,bj as Je,bk as K,a9 as Xe,G as T,bl as Ne,a_ as Z,an as Ze,bm as pe,p as P,bn as A,bo as Qe,bp as F,bq as Se,br as ps,bs as ys,z as _s,bt as De,bu as vs,bv as Ss,bw as xt,ao as wt,bx as xs,by as ws,bz as et,bA as bs,bB as tt,bC as Ms,bD as st,j as R,r as Be,a$ as $e,bE as bt,bF as Es,b0 as Cs,f as Ue,u as z,aZ as B,i as $,b4 as Ps,b3 as Le,bG as Fs,am as xe,bH as Ls,bI as Is,c as we,ax as ie,F as Re,C as Ts,bJ as nt,bK as As,bL as it,k as rt}from"./5C5XmiCGgLmB.js";import{h as We,u as Mt,o as Et,l as Ct,j as u,g as G,s as Ns,t as Os,r as p,v as se,w as ot,x as js,y as ks,z as Ds,c as fe,d as Pt,B as L,C as at,b as Ft,D as Rs,G as Gs,i as Lt,H as It,V as Vs,q as Hs,I as Bs}from"./Mxtq6FG0Aq1_.js";import{G as Tt,i as $s}from"./CXqamDLCwhxM.js";import{a as Us}from"./DWkb3PmnrxhS.js";import{D as At,S as Ws,I as zs,c as Ks,a as qs}from"./DW8DcLzWV1Z-.js";import{u as H}from"./_eg2EQ1Gs0ak.js";import{u as U,c as k,s as Nt}from"./Cxncs0atKtOb.js";import{T as Q,L as Ys}from"./BOwySe0UXVY3.js";import{c as Ot}from"./DUaeWVZO0JNZ.js";import{L as Ge}from"./D69t4K7RmA6W.js";import{u as jt,F as be}from"./CRkdw9XP0Imr.js";import{F as Me}from"./CYrCIuevaD6U.js";import{H as Ve}from"./BXf6RRVNKbev.js";import{F as Js}from"./IfrtfJ9Ep93o.js";import{_ as Xs}from"./CmsKOCeNyeyo.js";import{s as Zs}from"./DgabVoUpizSB.js";const ze=We(function(e,t){const{htmlSize:s,...n}=e,i=Mt("Input",n),a=Et(n),o=jt(a),l=Ct("chakra-input",e.className);return u.jsx(G.input,{size:s,...o,__css:i.field,ref:t,className:l})});ze.displayName="Input";ze.id="Input";const kt=We(function(e,t){const{children:s,placeholder:n,className:i,...a}=e;return u.jsxs(G.select,{...a,ref:t,className:Ct("chakra-select",i),children:[n&&u.jsx("option",{value:"",children:n}),s]})});kt.displayName="SelectField";const Ke=We((r,e)=>{const t=Mt("Select",r),{rootProps:s,placeholder:n,icon:i,color:a,height:o,h:l,minH:d,minHeight:c,iconColor:g,iconSize:h,...f}=Et(r),[m,v]=Zs(f,Ns),S=jt(v),I={width:"100%",height:"fit-content",position:"relative",color:a},N={paddingEnd:"2rem",...t.field,_focus:{zIndex:"unset",...t.field?._focus}};return u.jsxs(G.div,{className:"chakra-select__wrapper",__css:I,...m,...s,children:[u.jsx(kt,{ref:e,height:l??o,minH:d??c,placeholder:n,...S,__css:N,children:r.children}),u.jsx(Dt,{"data-disabled":Os(S.disabled),...(g||a)&&{color:g||a},__css:t.icon,...h&&{fontSize:h},children:i})]})});Ke.displayName="Select";const Qs=r=>u.jsx("svg",{viewBox:"0 0 24 24",...r,children:u.jsx("path",{fill:"currentColor",d:"M16.59 8.59L12 13.17 7.41 8.59 6 10l6 6 6-6z"})}),en=G("div",{baseStyle:{position:"absolute",display:"inline-flex",alignItems:"center",justifyContent:"center",pointerEvents:"none",top:"50%",transform:"translateY(-50%)"}}),Dt=r=>{const{children:e=u.jsx(Qs,{}),...t}=r,s=p.cloneElement(e,{role:"presentation",className:"chakra-select__icon",focusable:!1,"aria-hidden":!0,style:{width:"1em",height:"1em",color:"currentColor"}});return u.jsx(en,{...t,className:"chakra-select__icon-wrapper",children:p.isValidElement(e)?s:null})};Dt.displayName="SelectIcon";function tn(r,e){const t=r??"bottom";return{"top-start":{ltr:"top-left",rtl:"top-right"},"top-end":{ltr:"top-right",rtl:"top-left"},"bottom-start":{ltr:"bottom-left",rtl:"bottom-right"},"bottom-end":{ltr:"bottom-right",rtl:"bottom-left"}}[t]?.[e]??t}function sn(r,e){const t=n=>({...e,...n,position:tn(n?.position??e?.position,r)}),s=n=>{const i=t(n),a=js(i);return se.notify(a,i)};return s.update=(n,i)=>{se.update(n,t(i))},s.promise=(n,i)=>{const a=s({...i.loading,status:"loading",duration:null});n.then(o=>s.update(a,{status:"success",duration:5e3,...ot(i.success,o)})).catch(o=>s.update(a,{status:"error",duration:5e3,...ot(i.error,o)}))},s.closeAll=se.closeAll,s.close=se.close,s.isActive=se.isActive,s}function nn(r){const{theme:e}=ks(),t=Ds();return p.useMemo(()=>sn(e.direction,{...t,...r}),[r,e.direction,t])}const M={ELEMENT:"element",MAP:"map",OFFSET:"offset",POSITION:"position",POSITIONING:"positioning"};class Ie extends ts{constructor(e){super(),this.on,this.once,this.un,this.options=e,this.id=e.id,this.insertFirst=e.insertFirst!==void 0?e.insertFirst:!0,this.stopEvent=e.stopEvent!==void 0?e.stopEvent:!0,this.element=document.createElement("div"),this.element.className=e.className!==void 0?e.className:"ol-overlay-container "+ss,this.element.style.position="absolute",this.element.style.pointerEvents="auto",this.autoPan=e.autoPan===!0?{}:e.autoPan||void 0,this.rendered={transform_:"",visible:!0},this.mapPostrenderListenerKey=null,this.addChangeListener(M.ELEMENT,this.handleElementChanged),this.addChangeListener(M.MAP,this.handleMapChanged),this.addChangeListener(M.OFFSET,this.handleOffsetChanged),this.addChangeListener(M.POSITION,this.handlePositionChanged),this.addChangeListener(M.POSITIONING,this.handlePositioningChanged),e.element!==void 0&&this.setElement(e.element),this.setOffset(e.offset!==void 0?e.offset:[0,0]),this.setPositioning(e.positioning||"top-left"),e.position!==void 0&&this.setPosition(e.position)}getElement(){return this.get(M.ELEMENT)}getId(){return this.id}getMap(){return this.get(M.MAP)||null}getOffset(){return this.get(M.OFFSET)}getPosition(){return this.get(M.POSITION)}getPositioning(){return this.get(M.POSITIONING)}handleElementChanged(){ns(this.element);const e=this.getElement();e&&this.element.appendChild(e)}handleMapChanged(){this.mapPostrenderListenerKey&&(this.element?.remove(),is(this.mapPostrenderListenerKey),this.mapPostrenderListenerKey=null);const e=this.getMap();if(e){this.mapPostrenderListenerKey=rs(e,os.POSTRENDER,this.render,this),this.updatePixelPosition();const t=this.stopEvent?e.getOverlayContainerStopEvent():e.getOverlayContainer();this.insertFirst?t.insertBefore(this.element,t.childNodes[0]||null):t.appendChild(this.element),this.performAutoPan()}}render(){this.updatePixelPosition()}handleOffsetChanged(){this.updatePixelPosition()}handlePositionChanged(){this.updatePixelPosition(),this.performAutoPan()}handlePositioningChanged(){this.updatePixelPosition()}setElement(e){this.set(M.ELEMENT,e)}setMap(e){this.set(M.MAP,e)}setOffset(e){this.set(M.OFFSET,e)}setPosition(e){this.set(M.POSITION,e)}performAutoPan(){this.autoPan&&this.panIntoView(this.autoPan)}panIntoView(e){const t=this.getMap();if(!t||!t.getTargetElement()||!this.get(M.POSITION))return;const s=this.getRect(t.getTargetElement(),t.getSize()),n=this.getElement(),i=this.getRect(n,[as(n),ls(n)]);e=e||{};const a=e.margin===void 0?20:e.margin;if(!cs(s,i)){const o=i[0]-s[0],l=s[2]-i[2],d=i[1]-s[1],c=s[3]-i[3],g=[0,0];if(o<0?g[0]=o-a:l<0&&(g[0]=Math.abs(l)+a),d<0?g[1]=d-a:c<0&&(g[1]=Math.abs(c)+a),g[0]!==0||g[1]!==0){const h=t.getView().getCenterInternal(),f=t.getPixelFromCoordinateInternal(h);if(!f)return;const m=[f[0]+g[0],f[1]+g[1]],v=e.animation||{};t.getView().animateInternal({center:t.getCoordinateFromPixelInternal(m),duration:v.duration,easing:v.easing})}}}getRect(e,t){const s=e.getBoundingClientRect(),n=s.left+window.pageXOffset,i=s.top+window.pageYOffset;return[n,i,n+t[0],i+t[1]]}setPositioning(e){this.set(M.POSITIONING,e)}setVisible(e){this.rendered.visible!==e&&(this.element.style.display=e?"":"none",this.rendered.visible=e)}updatePixelPosition(){const e=this.getMap(),t=this.getPosition();if(!e||!e.isRendered()||!t){this.setVisible(!1);return}const s=e.getPixelFromCoordinate(t),n=e.getSize();this.updateRenderedPosition(s,n)}updateRenderedPosition(e,t){const s=this.element.style,n=this.getOffset(),i=this.getPositioning();this.setVisible(!0);const a=Math.round(e[0]+n[0])+"px",o=Math.round(e[1]+n[1])+"px";let l="0%",d="0%";i=="bottom-right"||i=="center-right"||i=="top-right"?l="-100%":(i=="bottom-center"||i=="center-center"||i=="top-center")&&(l="-50%"),i=="bottom-left"||i=="bottom-center"||i=="bottom-right"?d="-100%":(i=="center-left"||i=="center-center"||i=="center-right")&&(d="-50%");const c=`translate(${l}, ${d}) translate(${a}, ${o})`;this.rendered.transform_!=c&&(this.rendered.transform_=c,s.transform=c)}getOptions(){return this.options}}const Zi=ds,lt=0,re=1,ct=[0,0,0,0],q=[],Oe={MODIFYSTART:"modifystart",MODIFYEND:"modifyend"};class je extends wt{constructor(e,t,s){super(e),this.features=t,this.mapBrowserEvent=s}}class rn extends us{constructor(e){super(e),this.on,this.once,this.un,this.boundHandleFeatureChange_=this.handleFeatureChange_.bind(this),this.condition_=e.condition?e.condition:hs,this.defaultDeleteCondition_=function(s){return gs(s)&&St(s)},this.deleteCondition_=e.deleteCondition?e.deleteCondition:this.defaultDeleteCondition_,this.insertVertexCondition_=e.insertVertexCondition?e.insertVertexCondition:fs,this.vertexFeature_=null,this.vertexSegments_=null,this.lastPixel_=[0,0],this.ignoreNextSingleClick_=!1,this.featuresBeingModified_=null,this.rBush_=new ms,this.pixelTolerance_=e.pixelTolerance!==void 0?e.pixelTolerance:10,this.snappedToVertex_=!1,this.changingFeature_=!1,this.dragSegments_=[],this.overlay_=new ee({source:new Fe({useSpatialIndex:!1,wrapX:!!e.wrapX}),style:e.style?e.style:an(),updateWhileAnimating:!0,updateWhileInteracting:!0}),this.SEGMENT_WRITERS_={Point:this.writePointGeometry_.bind(this),LineString:this.writeLineStringGeometry_.bind(this),LinearRing:this.writeLineStringGeometry_.bind(this),Polygon:this.writePolygonGeometry_.bind(this),MultiPoint:this.writeMultiPointGeometry_.bind(this),MultiLineString:this.writeMultiLineStringGeometry_.bind(this),MultiPolygon:this.writeMultiPolygonGeometry_.bind(this),Circle:this.writeCircleGeometry_.bind(this),GeometryCollection:this.writeGeometryCollectionGeometry_.bind(this)},this.source_=null,this.hitDetection_=null;let t;if(e.features?t=e.features:e.source&&(this.source_=e.source,t=new ve(this.source_.getFeatures()),this.source_.addEventListener(Je.ADDFEATURE,this.handleSourceAdd_.bind(this)),this.source_.addEventListener(Je.REMOVEFEATURE,this.handleSourceRemove_.bind(this))),!t)throw new Error("The modify interaction requires features, a source or a layer");e.hitDetection&&(this.hitDetection_=e.hitDetection),this.features_=t,this.features_.forEach(this.addFeature_.bind(this)),this.features_.addEventListener(K.ADD,this.handleFeatureAdd_.bind(this)),this.features_.addEventListener(K.REMOVE,this.handleFeatureRemove_.bind(this)),this.lastPointerEvent_=null,this.delta_=[0,0],this.snapToPointer_=e.snapToPointer===void 0?!this.hitDetection_:e.snapToPointer}addFeature_(e){const t=e.getGeometry();if(t){const n=this.SEGMENT_WRITERS_[t.getType()];n&&n(e,t)}const s=this.getMap();s&&s.isRendered()&&this.getActive()&&this.handlePointerAtPixel_(s.getCoordinateFromPixel(this.lastPixel_)),e.addEventListener(Xe.CHANGE,this.boundHandleFeatureChange_)}willModifyFeatures_(e,t){if(!this.featuresBeingModified_){this.featuresBeingModified_=new ve;const s=this.featuresBeingModified_.getArray();for(let n=0,i=t.length;n=0;--n){const i=s[n];for(let a=this.dragSegments_.length-1;a>=0;--a)this.dragSegments_[a][0]===i&&this.dragSegments_.splice(a,1);t.remove(i)}}setActive(e){this.vertexFeature_&&!e&&(this.overlay_.getSource().removeFeature(this.vertexFeature_),this.vertexFeature_=null),super.setActive(e)}setMap(e){this.overlay_.setMap(e),super.setMap(e)}getOverlay(){return this.overlay_}handleSourceAdd_(e){e.feature&&this.features_.push(e.feature)}handleSourceRemove_(e){e.feature&&this.features_.remove(e.feature)}handleFeatureAdd_(e){this.addFeature_(e.element)}handleFeatureChange_(e){if(!this.changingFeature_){const t=e.target;this.removeFeature_(t),this.addFeature_(t)}}handleFeatureRemove_(e){this.removeFeature_(e.element)}writePointGeometry_(e,t){const s=t.getCoordinates(),n={feature:e,geometry:t,segment:[s,s]};this.rBush_.insert(t.getExtent(),n)}writeMultiPointGeometry_(e,t){const s=t.getCoordinates();for(let n=0,i=s.length;ni));const t=[e.coordinate[0]+this.delta_[0],e.coordinate[1]+this.delta_[1]],s=[],n=[];for(let i=0,a=this.dragSegments_.length;i=0;--i)this.insertVertex_(s[i],n);this.ignoreNextSingleClick_=!0}return!!this.vertexFeature_}handleUpEvent(e){for(let t=this.dragSegments_.length-1;t>=0;--t){const s=this.dragSegments_[t][0],n=s.geometry;if(n.getType()==="Circle"){const i=n,a=i.getCenter(),o=s.featureSegments[0],l=s.featureSegments[1];o.segment[0]=a,o.segment[1]=a,l.segment[0]=a,l.segment[1]=a,this.rBush_.update(Ne(a),o);let d=i;this.rBush_.update(d.getExtent(),l)}else this.rBush_.update(T(s.segment),s)}return this.featuresBeingModified_&&(this.dispatchEvent(new je(Oe.MODIFYEND,this.featuresBeingModified_,e)),this.featuresBeingModified_=null),!1}handlePointerMove_(e){this.lastPixel_=e.pixel,this.handlePointerAtPixel_(e.coordinate)}handlePointerAtPixel_(e){const t=this.getMap(),s=t.getPixelFromCoordinate(e);t.getView().getProjection();const n=function(o,l){return dt(e,o)-dt(e,l)};let i,a;if(this.hitDetection_){const o=typeof this.hitDetection_=="object"?l=>l===this.hitDetection_:void 0;t.forEachFeatureAtPixel(s,(l,d,c)=>{c&&c.getType()==="Point"&&(c=new Ze(Se(c.getCoordinates())));const g=c||l.getGeometry();if(g&&g.getType()==="Point"&&l instanceof Z&&this.features_.getArray().includes(l)){a=g;const h=l.getGeometry().getFlatCoordinates().slice(0,2);i=[{feature:l,geometry:a,segment:[h,h]}]}return!0},{layerFilter:o})}if(!i){const o=ps(Ne(e,ct)),l=t.getView().getResolution()*this.pixelTolerance_,d=ys(_s(o,l,ct));i=this.rBush_.getInExtent(d)}if(i&&i.length>0){const o=i.sort(n)[0],l=o.segment;let d=ut(e,o);const c=t.getPixelFromCoordinate(d);let g=Qe(s,c);if(a||g<=this.pixelTolerance_){const h={};if(h[P(l)]=!0,this.snapToPointer_||(this.delta_[0]=d[0]-e[0],this.delta_[1]=d[1]-e[1]),o.geometry.getType()==="Circle"&&o.index===re)this.snappedToVertex_=!0,this.createOrUpdateVertexFeature_(d,[o.feature],[o.geometry],this.snappedToVertex_);else{const f=t.getPixelFromCoordinate(l[0]),m=t.getPixelFromCoordinate(l[1]),v=De(c,f),S=De(c,m);g=Math.sqrt(Math.min(v,S)),this.snappedToVertex_=g<=this.pixelTolerance_,this.snappedToVertex_&&(d=v>S?l[1]:l[0]),this.createOrUpdateVertexFeature_(d,[o.feature],[o.geometry],this.snappedToVertex_);const I={};I[P(o.geometry)]=!0;for(let N=1,w=i.length;Ns.getType()==="Circle"||s.getType().endsWith("Point")))return!1;const e=this.vertexFeature_.getGeometry().getCoordinates();return this.rBush_.getInExtent(T([e])).some(({segment:s})=>A(s[0],e)||A(s[1],e))}removePoint(e){if(e&&(e=F(e,this.getMap().getView().getProjection()),this.updatePointer_(e)),!this.lastPointerEvent_||this.lastPointerEvent_&&this.lastPointerEvent_.type!=pe.POINTERDRAG){const t=this.lastPointerEvent_;this.willModifyFeatures_(t,this.dragSegments_.map(([n])=>n));const s=this.removeVertex_();return this.featuresBeingModified_&&this.dispatchEvent(new je(Oe.MODIFYEND,this.featuresBeingModified_,t)),this.featuresBeingModified_=null,s}return!1}removeVertex_(){const e=this.dragSegments_,t={};let s=!1,n,i,a,o,l,d,c,g,h,f,m;for(l=e.length-1;l>=0;--l)a=e[l],f=a[0],m=P(f.feature),f.depth&&(m+="-"+f.depth.join("-")),m in t||(t[m]={}),a[1]===0?(t[m].right=f,t[m].index=f.index):a[1]==1&&(t[m].left=f,t[m].index=f.index+1);for(m in t){switch(h=t[m].right,c=t[m].left,d=t[m].index,g=d-1,c!==void 0?f=c:f=h,g<0&&(g=0),o=f.geometry,i=o.getCoordinates(),n=i,s=!1,o.getType()){case"MultiLineString":i[f.depth[0]].length>2&&(i[f.depth[0]].splice(d,1),s=!0);break;case"LineString":i.length>2&&(i.splice(d,1),s=!0);break;case"MultiPolygon":n=n[f.depth[1]];case"Polygon":n=n[f.depth[0]],n.length>4&&(d==n.length-1&&(d=0),n.splice(d,1),s=!0,d===0&&(n.pop(),n.push(n[0]),g=n.length-1));break}if(s){this.setGeometryCoordinates_(o,i);const v=[];if(c!==void 0&&(this.rBush_.remove(c),v.push(c.segment[0])),h!==void 0&&(this.rBush_.remove(h),v.push(h.segment[1])),c!==void 0&&h!==void 0){const S={depth:f.depth,feature:f.feature,geometry:f.geometry,index:g,segment:v};this.rBush_.insert(T(S.segment),S)}this.updateSegmentIndices_(o,d,f.depth,-1),this.vertexFeature_&&(this.overlay_.getSource().removeFeature(this.vertexFeature_),this.vertexFeature_=null),e.length=0}}return s}canInsertPoint(){if(!this.vertexFeature_||this.vertexFeature_.get("geometries").every(s=>s.getType()==="Circle"||s.getType().endsWith("Point")))return!1;const e=this.vertexFeature_.getGeometry().getCoordinates();return this.rBush_.getInExtent(T([e])).some(({segment:s})=>!(A(s[0],e)||A(s[1],e)))}insertPoint(e){const t=e?F(e,this.getMap().getView().getProjection()):this.vertexFeature_?.getGeometry().getCoordinates();return t?this.findInsertVerticesAndUpdateDragSegments_(t).reduce((n,i)=>n||this.insertVertex_(i,t),!1):!1}setGeometryCoordinates_(e,t){this.changingFeature_=!0,e.setCoordinates(t),this.changingFeature_=!1}updateSegmentIndices_(e,t,s,n){this.rBush_.forEachInExtent(e.getExtent(),function(i){i.geometry===e&&(s===void 0||i.depth===void 0||vs(i.depth,s))&&i.index>t&&(i.index+=n)})}}function on(r,e){return r.index-e.index}function dt(r,e,t){const s=e.geometry;if(s.getType()==="Circle"){let i=s;if(e.index===re){const a=De(i.getCenter(),F(r)),o=Math.sqrt(a)-i.getRadius();return o*o}}const n=F(r);return q[0]=F(e.segment[0]),q[1]=F(e.segment[1]),xs(n,q)}function ut(r,e,t){const s=e.geometry;if(s.getType()==="Circle"&&e.index===re)return Se(s.getClosestPoint(F(r)));const n=F(r);return q[0]=F(e.segment[0]),q[1]=F(e.segment[1]),Se(Ss(n,q))}function an(){const r=xt();return function(e,t){return r.Point}}const ln={SELECT:"select"};class cn extends wt{constructor(e,t,s,n){super(e),this.selected=t,this.deselected=s,this.mapBrowserEvent=n}}const ye={};class Rt extends ws{constructor(e){super(),this.on,this.once,this.un,e=e||{},this.boundAddFeature_=this.addFeature_.bind(this),this.boundRemoveFeature_=this.removeFeature_.bind(this),this.condition_=e.condition?e.condition:St,this.addCondition_=e.addCondition?e.addCondition:et,this.removeCondition_=e.removeCondition?e.removeCondition:et,this.toggleCondition_=e.toggleCondition?e.toggleCondition:bs,this.multi_=e.multi?e.multi:!1,this.filter_=e.filter?e.filter:tt,this.hitTolerance_=e.hitTolerance?e.hitTolerance:0,this.style_=e.style!==void 0?e.style:dn(),this.features_=e.features||new ve;let t;if(e.layers)if(typeof e.layers=="function")t=e.layers;else{const s=e.layers;t=function(n){return s.includes(n)}}else t=tt;this.layerFilter_=t,this.featureLayerAssociation_={}}addFeatureLayerAssociation_(e,t){this.featureLayerAssociation_[P(e)]=t}getFeatures(){return this.features_}getHitTolerance(){return this.hitTolerance_}getLayer(e){return this.featureLayerAssociation_[P(e)]}setHitTolerance(e){this.hitTolerance_=e}setMap(e){this.getMap()&&this.style_&&this.features_.forEach(this.restorePreviousStyle_.bind(this)),super.setMap(e),e?(this.features_.addEventListener(K.ADD,this.boundAddFeature_),this.features_.addEventListener(K.REMOVE,this.boundRemoveFeature_),this.style_&&this.features_.forEach(this.applySelectedStyle_.bind(this))):(this.features_.removeEventListener(K.ADD,this.boundAddFeature_),this.features_.removeEventListener(K.REMOVE,this.boundRemoveFeature_))}addFeature_(e){const t=e.element;if(this.style_&&this.applySelectedStyle_(t),!this.getLayer(t)){const s=this.getMap().getAllLayers().find(function(n){if(n instanceof ee&&n.getSource()&&n.getSource().hasFeature(t))return n});s&&this.addFeatureLayerAssociation_(t,s)}}removeFeature_(e){this.style_&&this.restorePreviousStyle_(e.element)}getStyle(){return this.style_}applySelectedStyle_(e){const t=P(e);t in ye||(ye[t]=e.getStyle()),e.setStyle(this.style_)}restorePreviousStyle_(e){const t=this.getMap().getInteractions().getArray();for(let n=t.length-1;n>=0;--n){const i=t[n];if(i!==this&&i instanceof Rt&&i.getStyle()&&i.getFeatures().getArray().lastIndexOf(e)!==-1){e.setStyle(i.getStyle());return}}const s=P(e);e.setStyle(ye[s]),delete ye[s]}removeFeatureLayerAssociation_(e){delete this.featureLayerAssociation_[P(e)]}handleEvent(e){if(!this.condition_(e))return!0;const t=this.addCondition_(e),s=this.removeCondition_(e),n=this.toggleCondition_(e),i=!t&&!s&&!n,a=e.map,o=this.getFeatures(),l=[],d=[];if(i){Ms(this.featureLayerAssociation_),a.forEachFeatureAtPixel(e.pixel,(c,g)=>{if(!(!(c instanceof Z)||!this.filter_(c,g)))return this.addFeatureLayerAssociation_(c,g),d.push(c),!this.multi_},{layerFilter:this.layerFilter_,hitTolerance:this.hitTolerance_});for(let c=o.getLength()-1;c>=0;--c){const g=o.item(c),h=d.indexOf(g);h>-1?d.splice(h,1):(o.remove(g),l.push(g))}d.length!==0&&o.extend(d)}else{a.forEachFeatureAtPixel(e.pixel,(c,g)=>{if(!(!(c instanceof Z)||!this.filter_(c,g)))return(t||n)&&!o.getArray().includes(c)?(this.addFeatureLayerAssociation_(c,g),d.push(c)):(s||n)&&o.getArray().includes(c)&&(l.push(c),this.removeFeatureLayerAssociation_(c)),!this.multi_},{layerFilter:this.layerFilter_,hitTolerance:this.hitTolerance_});for(let c=l.length-1;c>=0;--c)o.remove(l[c]);o.extend(d)}return(d.length>0||l.length>0)&&this.dispatchEvent(new cn(ln.SELECT,d,l,e)),!0}}function dn(){const r=xt();return st(r.Polygon,r.LineString),st(r.GeometryCollection,r.LineString),function(e){return e.getGeometry()?r[e.getGeometry().getType()]:null}}async function un(r,e,t,s){const i=s.getCode().replace("EPSG:","http://www.opengis.net/def/crs/EPSG/0/"),a=await r.fetch(e,{method:"POST",body:JSON.stringify({type:"Feature",properties:{},geometry:t}),headers:{"Content-Type":"application/geo+json; charset=utf-8","Content-Crs":`<${i}>`}});if(!a||!a.ok||a.status!==201)throw new Error("Request failed: "+a.status);const o=a.headers.get("location");if(!o)throw new Error("Request failed: no Location response header");const l=o.substring(o.lastIndexOf("/")+1);return Promise.resolve(l)}async function hn(r,e,t,s,n){const a=n.getCode().replace("EPSG:","http://www.opengis.net/def/crs/EPSG/0/"),o=new URL(`${e.toString()}/${t}`),l=await r.fetch(o,{method:"PATCH",body:JSON.stringify({type:"Feature",properties:{},geometry:s}),headers:{"Content-Type":"application/geo+json; charset=utf-8","Content-Crs":`<${a}>`}});if(!l||!l.ok||l.status!==204)throw new Error("Request failed: "+l.status);return Promise.resolve(t)}function Gt(r,e){const t=document.createElement("div");t.className="editing-tooltip editing-tooltip-hidden",t.role="tooltip";const s=document.createElement("span");s.textContent=e,t.appendChild(s);const n=new Ie({element:t,offset:[15,0],positioning:"center-left"}),i=r.on("pointermove",a=>{a.dragging||n.setPosition(a.coordinate)});return r.addOverlay(n),{destroy(){R(i),r.removeOverlay(n)},setVisible(a){t.classList.toggle("editing-tooltip-hidden",!a)},setText(a){s.textContent=a}}}function Vt(r){let e=ht(r.polygon);Array.isArray(e)&&(e=e[0]);let t=ht(r.vertex);Array.isArray(t)&&(t=t[0]);const s=[];return e&&s.push(e),t&&(t.setGeometry(gn),s.push(t)),s}const gn=r=>{if(r){const e=r.getGeometry();if(e&&e.getType()==="Polygon"){const t=e.getCoordinates()[0];if(t)return new Us(t)}}},ht=r=>{const e=new Z,s=new ee({style:r}).getStyleFunction();if(!s)throw new Error("can't retrieve style function");const n=s(e,1);if(!n)throw new Error("can't retrieve styles from feature style function");return Array.isArray(n)&&n.length?n.length>1?n:n[0]:n},fn=fe("editing:EditingCreateWorkflowImpl");var D;class mn{constructor(e){x(this,D);y(this,"_httpService");y(this,"_intl");y(this,"_map");y(this,"_polygonStyle");y(this,"_vertexStyle");y(this,"_state");y(this,"_editLayerURL");y(this,"_featureId");y(this,"_editingSource");y(this,"_editingLayer");y(this,"_drawInteraction");y(this,"_olMap");y(this,"_tooltip");y(this,"_enterHandler");y(this,"_escapeHandler");y(this,"_error");y(this,"_interactionListener");y(this,"_mapListener");this._httpService=e.httpService,this._intl=e.intl,this._polygonStyle=e.polygonStyle,this._vertexStyle=e.vertexStyle,this._map=e.map,this._olMap=e.map.olMap,this._state=Be("active:initialized"),this._editLayerURL=e.ogcApiFeatureLayerUrl,this._editingSource=new Fe,this._editingLayer=new ee({source:this._editingSource,zIndex:$e,properties:{name:"editing-layer"}}),this._drawInteraction=new At({source:this._editingSource,type:"Polygon",style:Vt({polygon:this._polygonStyle,vertex:this._vertexStyle})}),this._tooltip=Gt(this._olMap,this._intl.formatMessage({id:"create.tooltip.begin"})),this._enterHandler=t=>{if((t.code==="Enter"||t.code==="NumpadEnter")&&t.target===this._olMap.getTargetElement()){const s=this._drawInteraction.getOverlay().getSource()?.getFeatures()??[];s[0]&&s[0].getGeometry().getCoordinates()[0].length>4&&this.triggerSave()}},this._escapeHandler=t=>{t.code==="Escape"&&t.target===this._olMap.getTargetElement()&&this.reset()},this._interactionListener=[],this._mapListener=[],this._start()}getDrawInteraction(){return this._drawInteraction}getState(){return this._state.value}_setState(e){this._state.value=e}_save(e){this._setState("active:saving");const t=this._editLayerURL,s=e.getGeometry();if(!s){this._destroy(),this._error=new Error("no geometry available"),_(this,D)?.reject(this._error);return}const n=this._olMap.getView().getProjection(),a=new Tt({dataProjection:n}).writeGeometryObject(s,{rightHanded:!0,decimals:10});this._olMap.removeInteraction(this._drawInteraction),this._tooltip.destroy(),un(this._httpService,t,a,n).then(o=>{this._featureId=o,this._destroy(),_(this,D)?.resolve({featureId:this._featureId})}).catch(o=>{fn.error(o),this._destroy(),this._error=new Error("Failed to save feature",{cause:o}),_(this,D)?.reject(this._error)})}_start(){this._olMap.addLayer(this._editingLayer),this._olMap.addInteraction(this._drawInteraction);const e=bt(()=>{const n=this._map.container;if(n)return n.addEventListener("keydown",this._enterHandler,!1),n.addEventListener("keydown",this._escapeHandler,!1),()=>{n.removeEventListener("keydown",this._enterHandler),n.removeEventListener("keydown",this._escapeHandler)}});this._tooltip.setVisible(!0);const t=this._drawInteraction.on("drawstart",()=>{this._setState("active:drawing"),this._tooltip.setText(this._intl.formatMessage({id:"create.tooltip.continue"}))}),s=this._drawInteraction.on("drawend",n=>{const i=n.feature;if(!i){this._destroy(),this._error=new Error("no feature available"),_(this,D)?.reject(this._error);return}this._save(i)});this._interactionListener.push(t,s),this._mapListener.push(e)}reset(){this._drawInteraction.abortDrawing(),this._tooltip.setText(this._intl.formatMessage({id:"create.tooltip.begin"})),this._setState("active:initialized")}stop(){this._destroy(),_(this,D)?.resolve(void 0)}_destroy(){this._olMap.removeLayer(this._editingLayer),this._olMap.removeInteraction(this._drawInteraction),this._tooltip.destroy(),this._interactionListener.forEach(e=>{R(e)}),this._mapListener.forEach(e=>{e.destroy()}),this._setState("destroyed")}triggerSave(){this._drawInteraction.finishDrawing()}whenComplete(){return this._state.value==="destroyed"?this._error?Promise.reject(this._error):this._featureId?Promise.resolve({featureId:this._featureId}):Promise.resolve(void 0):(_(this,D)??b(this,D,Pt())).promise}}D=new WeakMap;var O;class pn{constructor(e){x(this,O);y(this,"_httpService");y(this,"_intl");y(this,"_map");y(this,"_polygonStyle");y(this,"_vertexStyle");y(this,"_state");y(this,"_editLayerURL");y(this,"_featureId");y(this,"_initialFeature");y(this,"_editFeature");y(this,"_editingSource");y(this,"_editingLayer");y(this,"_modifyInteraction");y(this,"_olMap");y(this,"_tooltip");y(this,"_enterHandler");y(this,"_escapeHandler");y(this,"_error");y(this,"_interactionListener");y(this,"_mapListener");this._httpService=e.httpService,this._intl=e.intl,this._polygonStyle=e.polygonStyle,this._vertexStyle=e.vertexStyle,this._map=e.map,this._olMap=e.map.olMap,this._state=Be("active:initialized"),this._editLayerURL=e.ogcApiFeatureLayerUrl,this._initialFeature=e.feature.clone(),this._initialFeature.setId(e.feature.getId()),this._editFeature=e.feature.clone(),this._editFeature.setId(e.feature.getId()),this._editFeature.setStyle(Vt({polygon:this._polygonStyle,vertex:this._vertexStyle})),this._editingSource=new Fe({features:new ve([this._editFeature])}),this._editingLayer=new ee({source:this._editingSource,zIndex:$e,properties:{name:"editing-layer"}}),this._modifyInteraction=new rn({source:this._editingSource}),this._tooltip=Gt(this._olMap,this._intl.formatMessage({id:"create.tooltip.deselect"})),this._enterHandler=t=>{if((t.code==="Enter"||t.code==="NumpadEnter")&&t.target===this._olMap.getTargetElement()){const s=this._editingSource.getFeatures()[0];if(!s)throw Error("no updated feature found");this._save(s)}},this._escapeHandler=t=>{t.code==="Escape"&&t.target===this._olMap.getTargetElement()&&this.reset()},this._interactionListener=[],this._mapListener=[],this._start()}getModifyInteraction(){return this._modifyInteraction}getState(){return this._state.value}_setState(e){this._state.value=e}_save(e){this._setState("active:saving");const t=this._editLayerURL;if(this._featureId=e.getId()?.toString(),!this._featureId){this._destroy(),this._error=new Error("no feature id available"),_(this,O)?.reject(this._error);return}const s=e?.getGeometry();if(!s){this._destroy(),this._error=new Error("no geometry available"),_(this,O)?.reject(this._error);return}const n=this._olMap.getView().getProjection(),a=new Tt({dataProjection:n}).writeGeometryObject(s,{rightHanded:!0,decimals:10});this._olMap.removeInteraction(this._modifyInteraction),this._tooltip.destroy(),hn(this._httpService,t,this._featureId,a,n).then(o=>{this._destroy(),_(this,O)?.resolve({featureId:o})}).catch(o=>{this._destroy(),this._error=new Error("Failed to save feature",{cause:o}),_(this,O)?.reject(this._error)})}_start(){this._olMap.addLayer(this._editingLayer),this._olMap.addInteraction(this._modifyInteraction);const e=this._editingSource.getFeatures()[0];if(e&&!e.getId()?.toString()){this._destroy(),this._error=new Error("no feature id available"),_(this,O)?.reject(this._error);return}const t=bt(()=>{const i=this._map.container;if(i)return i.addEventListener("keydown",this._enterHandler,!1),i.addEventListener("keydown",this._escapeHandler,!1),()=>{i.removeEventListener("keydown",this._enterHandler),i.removeEventListener("keydown",this._escapeHandler)}});this._tooltip.setVisible(!0);const s=this._map.olMap.on("click",i=>{const a=i.coordinate,o=i.originalEvent.altKey,l=this._editingSource.getFeaturesAtCoordinate(a);o||l.length===0&&this.triggerSave()}),n=this._modifyInteraction.on("modifystart",()=>{this._setState("active:drawing")});this._interactionListener.push(s,n),this._mapListener.push(t)}reset(){const e=this._initialFeature.getGeometry()?.clone(),t=this._editingSource.getFeatures()[0];if(!t)throw Error("no updated feature found");t.setGeometry(e),this._setState("active:initialized")}stop(){this._destroy(),_(this,O)?.resolve(void 0)}_destroy(){this._editingSource.clear(),this._olMap.removeLayer(this._editingLayer),this._olMap.removeInteraction(this._modifyInteraction),this._tooltip.destroy(),this._interactionListener.forEach(e=>{R(e)}),this._mapListener.forEach(e=>{e.destroy()}),this._setState("destroyed")}triggerSave(){const e=this._editingSource.getFeatures()[0];if(!e)throw Error("no updated feature found");this._save(e)}whenComplete(){return this._state.value==="destroyed"?this._error?Promise.reject(this._error):this._featureId?Promise.resolve({featureId:this._featureId}):Promise.resolve(void 0):(_(this,O)??b(this,O,Pt())).promise}}O=new WeakMap;class Qi{_serviceOptions;_workflows;constructor(e){this._serviceOptions=e,this._workflows=new Map}createFeature(e,t){if(!t||!e||!e.id)throw new Error("Map, mapId or url is undefined.");const s=e.id;let n=this._workflows.get(s);if(n)throw new Error("EditingWorkflow could not be started. EditingWorkflow already in progress for this map.");return n=new mn({map:e,ogcApiFeatureLayerUrl:t,polygonStyle:this._serviceOptions.properties.polygonStyle,vertexStyle:this._serviceOptions.properties.vertexStyle,httpService:this._serviceOptions.references.httpService,intl:this._serviceOptions.intl}),this._workflows.set(s,n),this._connectToWorkflowDestroyEvent(n,s),n}updateFeature(e,t,s){if(!t||!e||!e.id)throw new Error("Map, mapId or url is undefined.");const n=e.id;let i=this._workflows.get(n);if(i)throw new Error("EditingWorkflow could not be started. EditingWorkflow already in progress for this map.");return i=new pn({map:e,ogcApiFeatureLayerUrl:t,feature:s,polygonStyle:this._serviceOptions.properties.polygonStyle,vertexStyle:this._serviceOptions.properties.vertexStyle,httpService:this._serviceOptions.references.httpService,intl:this._serviceOptions.intl}),this._workflows.set(n,i),this._connectToWorkflowDestroyEvent(i,n),i}stop(e){const t=this._workflows.get(e);t&&t.stop()}reset(e){const t=this._workflows.get(e);if(t)t.reset();else throw new Error("No workflow found for mapId: "+e)}_connectToWorkflowDestroyEvent(e,t){const s=Es(()=>[e.getState()],([n])=>{n==="destroyed"&&(this._workflows.get(t)===e&&this._workflows.delete(t),s.destroy())})}}var W,V,oe,ae,le,He;class yn{constructor(e,t,s){x(this,le);y(this,"label");x(this,W,Be({kind:"available"}));x(this,V);x(this,oe);x(this,ae);this.label=t,b(this,V,e),b(this,ae,s),te(this,le,He).call(this),b(this,oe,_(this,V).on("change:visible",()=>{te(this,le,He).call(this)}))}destroy(){R(_(this,oe))}get status(){return _(this,W).value}async select(e,t){if(e.type!=="extent")throw new Error(`Unsupported selection kind: ${e.type}`);if(_(this,W).value.kind!=="available"||_(this,V).getSource()===null)return[];const s=[];_(this,V).getSource().forEachFeatureIntersectingExtent(e.extent,a=>{if(!a.getGeometry())return;const o={...a.getProperties()};delete o.geometries;const l={id:a.getId()?.toString()||Cs(),geometry:a.getGeometry(),properties:o};s.push(l)});const n=s.filter(a=>a!=null);return n.length>t.maxResults?n.slice(0,t.maxResults):n}}W=new WeakMap,V=new WeakMap,oe=new WeakMap,ae=new WeakMap,le=new WeakSet,He=function(){const t=_(this,V).getVisible()?{kind:"available"}:{kind:"unavailable",reason:_(this,ae)};t.kind!==_(this,W).value.kind&&(_(this,W).value=t)};var ce;class er{constructor({intl:e}){x(this,ce);b(this,ce,e)}createSelectionSource(e){return new yn(e.vectorLayer,e.label,_(this,ce).formatMessage({id:"layerNotVisibleReason"}))}}ce=new WeakMap;const _n="@open-pioneer/notifier",vn=Ue.bind(void 0,_n),Sn=Ot({d:"M23.384,21.619,16.855,15.09a9.284,9.284,0,1,0-1.768,1.768l6.529,6.529a1.266,1.266,0,0,0,1.768,0A1.251,1.251,0,0,0,23.384,21.619ZM2.75,9.5a6.75,6.75,0,1,1,6.75,6.75A6.758,6.758,0,0,1,2.75,9.5Z",displayName:"SearchIcon"}),Ht=Ot({displayName:"WarningTwoIcon",d:"M23.119,20,13.772,2.15h0a2,2,0,0,0-3.543,0L.881,20a2,2,0,0,0,1.772,2.928H21.347A2,2,0,0,0,23.119,20ZM11,8.423a1,1,0,0,1,2,0v6a1,1,0,1,1-2,0Zm1.05,11.51h-.028a1.528,1.528,0,0,1-1.522-1.47,1.476,1.476,0,0,1,1.448-1.53h.028A1.527,1.527,0,0,1,13.5,18.4,1.475,1.475,0,0,1,12.05,19.933Z"}),xn=!1;function tr(r){const{position:e="top-right"}=r,t=nn(),s=vn("notifier.NotificationService"),[n,i]=p.useState(!xn),a=H(l=>{const d=l.level==="error"?u.jsx(Ht,{h:"100%",w:"100%"}):void 0;t({position:e,title:l.title,description:l.message||null,status:l.level,isClosable:!0,duration:l.displayDuration??null,icon:d})}),o=H(()=>{t.closeAll()});return p.useEffect(()=>{const l=s.registerHandler({showNotification:a,closeAll:o});return()=>l.destroy()},[n,s,a,o]),u.jsx(u.Fragment,{})}const wn="@open-pioneer/coordinate-viewer",bn=z.bind(void 0,wn),Mn=4,En="decimal",sr=r=>{const{precision:e,displayProjectionCode:t,format:s}=r,{containerProps:n}=B("coordinate-viewer",r),{map:i}=$(r),a=i?.olMap,o=U(()=>i?.projection.getCode()??"",[i]);let{coordinates:l}=Pn(a);l=l&&t?Ln(l,o,t):l;const d=Cn(l,e,s),c=t||o,g=d?d+" "+c:"";return u.jsx(L,{...n,children:u.jsx(Q,{className:"coordinate-viewer-text",children:g})})};function Cn(r,e,t){const s=bn();return r?Fn(r,e,s,t):""}function Pn(r){const[e,t]=p.useState();return p.useEffect(()=>{if(!r)return;const s=r.on("pointermove",n=>{t(n.coordinate)});return()=>R(s)},[r]),{coordinates:e}}function Fn(r,e,t,s){if(r[0]==null||r[1]==null)return"";const n=e??Mn,i=s??En,[a,o]=r;let l;if(i==="degree"&&isFinite(a)&&isFinite(o)){const[d,c,g]=gt(a,t,n),[h,f,m]=gt(o,t,n),v=`${Math.abs(d)}°${c}'${g}"${0<=d?"(E)":"(W)"}`,S=`${Math.abs(h)}°${f}'${m}"${0<=h?"(N)":"(S)"}`;l=v+" "+S}else{const d=t.formatNumber(a,{maximumFractionDigits:n,minimumFractionDigits:n}),c=t.formatNumber(o,{maximumFractionDigits:n,minimumFractionDigits:n});l=d+" "+c}return l}function gt(r,e,t){const s=Math.floor(r),n=r-s,i=Math.floor(60*n),o=60*(60*n-i),l=e.formatNumber(o,{maximumFractionDigits:t,minimumFractionDigits:t});return[s,i,l]}function Ln(r,e,t){return Ps(r,e,t)}const nr=r=>{const{displayMode:e="line"}=r,{containerProps:t}=B("scale-bar",r),{map:s}=$(r),n=p.useRef(null);return p.useEffect(()=>{if(n.current&&s){const i=s.olMap,a=new Ws({units:"metric",target:n.current,bar:e==="bar"});return i.addControl(a),()=>{i.removeControl(a)}}},[e,s]),u.jsx(L,{...t,ref:n})},In="@open-pioneer/scale-viewer",Tn=z.bind(void 0,In),ir=r=>{const{containerProps:e}=B("scale-viewer",r),{map:t}=$(r),s=Tn(),n=U(()=>t?.scale??1,[t]),i=n?s.formatNumber(n):void 0;return u.jsx(L,{...e,children:i&&u.jsxs(Q,{children:["1:",i]})})},An="@open-pioneer/legend",Bt=z.bind(void 0,An),rr=r=>{const{showBaseLayers:e=!1}=r,{containerProps:t}=B("legend",r),{map:s}=$(r);return u.jsx(L,{...t,children:s?u.jsx(Nn,{map:s,showBaseLayers:e}):null})};function Nn(r){const{map:e,showBaseLayers:t}=r,n=jn(e).map(i=>u.jsx($t,{layer:i,showBaseLayers:t},i.id));return u.jsx(Ys,{as:"ul",className:"legend-layer-list",listStyleType:"none",spacing:2,children:n})}function $t(r){const{layer:e,showBaseLayers:t}=r,s=U(()=>e.visible,[e]),n=kn(e);if(!s||!t&&$s(e)&&Ut(e))return;const i=[];return n?.length&&n.forEach(a=>{i.push(u.jsx($t,{layer:a,showBaseLayers:t},a.id))}),u.jsxs(u.Fragment,{children:[u.jsx(On,{layer:e,showBaseLayers:t}),i]})}function On(r){const e=Bt(),{layer:t,showBaseLayers:s}=r,n=Ut(t),i=Dn(t),a=U(()=>t.legend,[t]);let o;return i?.Component?o=u.jsx(i.Component,{layer:t}):i?.imageUrl?o=u.jsx(ft,{layer:t,imageUrl:i.imageUrl}):a&&(o=u.jsx(ft,{layer:t,imageUrl:a})),o?u.jsxs(L,{as:"li",className:Le("legend-item",`layer-${Rn(t.id)}`),children:[s&&n?u.jsx(Q,{as:"b",children:e.formatMessage({id:"basemapLabel"})}):null,o]}):void 0}function ft(r){const e=Bt(),{layer:t,imageUrl:s}=r;return u.jsxs(L,{children:[u.jsx(Q,{children:t.title}),u.jsx(zs,{maxW:"none",maxH:"none",src:s,alt:e.formatMessage({id:"altLabel"},{layerName:t.title}),className:"legend-item__image",fallbackStrategy:"onError",fallback:u.jsx(L,{children:u.jsxs(Q,{children:[u.jsx(Ht,{me:2}),e.formatMessage({id:"fallbackLabel"})]})})})]})}function jn(r){return U(()=>{const e=r.layers.getAllLayers({sortByDisplayOrder:!0})??[];return e.reverse(),e},[r])}function kn(r){return U(()=>{const e=r.sublayers?.getSublayers({sortByDisplayOrder:!0});if(e)return e.reverse(),e},[r])}function Dn(r){return U(()=>r.attributes.legend,[r])}function Ut(r){return!("parentLayer"in r)&&r.isBaseLayer}function Rn(r){return r.toLowerCase().replace(/[^a-z0-9 -]/g,"").replace(/\s+/g,"-").replace(/-+/g,"-")}const Gn="@open-pioneer/measurement",Vn=z.bind(void 0,Gn);class Hn{olMap;messages;activeFeatureStyle;layer;source;draw=void 0;activeMeasurement;predefinedMeasurements=new Map;finishedMeasurements=new Set;helpTooltip;resources=[];measurementChangedHandler;constructor(e,t){this.olMap=e,this.messages=t;const s=this.source=new Fe;this.layer=new ee({source:s,zIndex:$e,properties:{name:"measurement-layer"}}),e.addLayer(this.layer);const n=e.on("pointermove",this.handlePointerMove.bind(this));this.resources.push({destroy(){R(n)}});const i=()=>{this.helpTooltip.element.classList.add("hidden")};e.getViewport().addEventListener("mouseout",i),this.resources.push({destroy(){e.getViewport().removeEventListener("mouseout",i)}}),this.helpTooltip=$n(this.olMap)}destroy(){this.stopMeasurement();for(const e of this.resources)e.destroy();this.resources=[],this.activeMeasurement=at(this.activeMeasurement);for(const e of this.finishedMeasurements)e.destroy();this.finishedMeasurements.clear(),this.helpTooltip.destroy(),this.olMap.removeLayer(this.layer),this.layer.dispose(),this.source.dispose(),this.measurementChangedHandler=void 0,this.predefinedMeasurements.clear()}getVectorLayer(){return this.layer}setFinishedFeatureStyle(e){this.layer.setStyle(e)}setMeasurementSourceChangedHandler(e){this.measurementChangedHandler=e}setPredefinedMeasurements(e){this.updatePredefinedMeasurements(e)}setActiveFeatureStyle(e){const t=Fs(e);this.activeFeatureStyle=(s,...n)=>{const i=s?.getGeometry()?.getType();if(i==="Polygon"||i==="LineString"||i==="Point")return t(s,...n)},this.draw?.getOverlay().setStyle(this.activeFeatureStyle)}clearMeasurements(){const e=this.source.getFeatures();this.source.clear(),e.forEach(t=>{this.raiseMeasurementsChangeEvent("remove-measurement",t)}),this.predefinedMeasurements.clear();for(const t of this.finishedMeasurements)t.destroy();this.finishedMeasurements.clear()}startMeasurement(e){if(this.draw)throw new Error("Internal error: another measurement interaction is still active.");const t=e==="area"?"Polygon":"LineString",s=this.draw=new At({source:this.source,type:t,style:this.activeFeatureStyle});this.olMap.addInteraction(s);let n,i;s.on("drawstart",a=>{const o=a.feature;o&&(n=this.activeMeasurement=new mt("active",o,this),i=o.getGeometry()?.on("change",()=>{n?.updateTooltipContent(),n?.updateTooltipPosition()}))}),s.on("drawend",()=>{if(n&&n===this.activeMeasurement){const a=n;a.updateState("finished"),this.finishedMeasurements.add(a),this.raiseMeasurementsChangeEvent("add-measurement",a.feature),this.activeMeasurement=n=void 0}n=void 0,i&&R(i)}),s.on("drawabort",()=>{n&&(n.destroy(),n===this.activeMeasurement&&(this.activeMeasurement=void 0),n=void 0),i&&R(i)})}stopMeasurement(){this.draw&&(this.olMap.removeInteraction(this.draw),this.draw.abortDrawing(),this.draw.dispose(),this.draw=void 0),this.activeMeasurement=at(this.activeMeasurement)}handlePointerMove(e){if(e.dragging)return;const t=this.helpTooltip,s=Wn(this.messages,this.activeMeasurement);t.setText(s),t.overlay.setPosition(e.coordinate),t.element.classList.remove("hidden")}updatePredefinedMeasurements(e){const t=e.filter(n=>!this.predefinedMeasurements.has(n)),s=[];for(const n of this.predefinedMeasurements.keys())e.includes(n)||s.push(n);t.forEach(n=>{const i=new Z(n);this.source.addFeature(i);const a=new mt("finished",i,this);this.finishedMeasurements.add(a),this.predefinedMeasurements.set(n,a),this.raiseMeasurementsChangeEvent("add-measurement",i)}),s.forEach(n=>{const i=this.predefinedMeasurements.get(n);i&&(this.source.removeFeature(i.feature),this.finishedMeasurements.delete(i),i.destroy(),this.raiseMeasurementsChangeEvent("remove-measurement",i.feature)),this.predefinedMeasurements.delete(n)})}raiseMeasurementsChangeEvent(e,t){const s=t.getGeometry();this.measurementChangedHandler&&s&&this.measurementChangedHandler({kind:e,geometry:(s instanceof xe,s)})}}class mt{controller;feature;_state;tooltip;constructor(e,t,s){this.controller=s,this._state=e,this.feature=t,this.tooltip=Un(this.olMap),this.updateTooltipContent(),this.updateTooltipPosition(),this.tooltip.setActive(e==="active")}destroy(){this.tooltip.destroy()}get state(){return this._state}updateState(e){this._state!==e&&(this._state=e,this.tooltip.setActive(e==="active"))}updateTooltipContent(){const e=this.feature.getGeometry();if(!e)return;const t=this.olMap.getView().getProjection();let s;e instanceof xe?s=zn(e,t,this.messages):e instanceof Ge&&(s=Kn(e,t,this.messages)),s&&this.tooltip.setHtml(s)}updateTooltipPosition(){const e=this.feature.getGeometry();if(!e)return;let t;if(e instanceof xe)t=e.getInteriorPoint().getCoordinates()||null;else if(e instanceof Ge)t=e.getLastCoordinate()||null;else return;this.tooltip.overlay.setPosition(t)}get olMap(){return this.controller.olMap}get messages(){return this.controller.messages}}const pt=[0,-15],Bn=[0,-7];function $n(r){const e=document.createElement("div");e.className="measurement-tooltip printing-hide hidden",e.role="tooltip";const t=document.createElement("span");e.appendChild(t);const s=new Ie({element:e,offset:[15,0],positioning:"center-left"});return r.addOverlay(s),{overlay:s,element:e,destroy(){r.removeOverlay(s)},setText(n){t.textContent=n},setHtml(n){t.innerHTML=n}}}function Un(r){const e=document.createElement("div");e.role="tooltip",e.className="measurement-tooltip measurement-active-tooltip printing-hide";const t=document.createElement("span");e.appendChild(t);const s=new Ie({element:e,offset:pt,positioning:"bottom-center",stopEvent:!1,insertFirst:!1});return r.addOverlay(s),{overlay:s,element:e,destroy(){r.removeOverlay(s)},setActive(n){n?(e.className="measurement-tooltip measurement-active-tooltip printing-hide",s.setOffset(pt)):(e.className="measurement-tooltip measurement-finished-tooltip",s.setOffset(Bn))},setText(n){t.textContent=n},setHtml(n){t.innerHTML=n}}}function Wn(r,e){if(e){const t=e.feature.getGeometry();if(t instanceof xe||t instanceof Ge)return r.getContinueMessage()}return r.getHelpMessage()}function zn(r,e,t){const s=Ls(r,{projection:e});let n;return s>=1e6?n=`${t.formatNumber(s/1e6)} km2`:n=`${t.formatNumber(s)} m2`,n}function Kn(r,e,t){const s=Is(r,{projection:e});let n;return s>=1e3?n=`${t.formatNumber(s/1e3)} km`:n=`${t.formatNumber(s)} m`,n}const or=r=>{const e=Vn(),{containerProps:t}=B("measurement",r),[s,n]=p.useState("distance"),i=c=>e.formatMessage({id:c}),a=$(r),o=qn(a.map,r,e);p.useEffect(()=>{if(o)return o.startMeasurement(s),()=>{o.stopMeasurement()}},[o,s]);function l(c){if(c==="distance"||c==="area")n(c);else throw new Error(`Unexpected measurement type: '${c}'.`)}function d(){o?.clearMeasurements()}return u.jsxs(L,{...t,children:[u.jsx(Q,{mb:3,children:e.formatMessage({id:"measurementInfoText"})}),u.jsx(be,{mb:4,alignItems:"center",children:u.jsxs(Ve,{mb:2,children:[u.jsx(Me,{mb:1,children:i("measurementLabel")}),u.jsxs(Ke,{value:s,onChange:c=>l(c.target.value),className:"measurement-select",children:[u.jsx("option",{value:"distance",children:i("distance")}),u.jsx("option",{value:"area",children:i("area")})]})]})}),u.jsx(Ft,{padding:2,className:"measurement-delete-button",onClick:d,width:"100%",children:i("deleteMeasurementLabel")})]})};function qn(r,e,t){const{activeFeatureStyle:s,finishedFeatureStyle:n,onMeasurementsChange:i,predefinedMeasurements:a}=e,[o,l]=p.useState(void 0);return p.useEffect(()=>{if(!r)return;const d=new Hn(r.olMap,{getContinueMessage(){return t.formatMessage({id:"tooltips.continue"})},getHelpMessage(){return t.formatMessage({id:"tooltips.help"})},formatNumber(c){return t.formatNumber(c,{maximumFractionDigits:2})}});return l(d),()=>{d.destroy(),l(void 0)}},[r,t]),p.useEffect(()=>{o?.setActiveFeatureStyle(s??Yn())},[o,s]),p.useEffect(()=>{o?.setFinishedFeatureStyle(n??Jn())},[o,n]),p.useEffect(()=>{o?.setMeasurementSourceChangedHandler(i)},[o,i]),p.useEffect(()=>{o?.setPredefinedMeasurements(a??[])},[o,a]),o}function Yn(){return[new we({stroke:new ie({color:"#fff",lineDash:[10,10],width:5})}),new we({fill:new Re({color:"rgba(0,0,0,0.15)"}),stroke:new ie({color:"rgba(0, 0, 0, 0.7)",lineDash:[10,10],width:3}),image:new Ts({radius:5,stroke:new ie({color:"rgba(0, 0, 0, 0.7)",width:2}),fill:new Re({color:"rgba(255, 255, 255, 0.2)"})})})]}function Jn(){return[new we({stroke:new ie({color:"#fff",width:5})}),new we({stroke:new ie({color:"#0b96fc",width:3}),fill:new Re({color:"rgba(11,150,252,0.15)"})})]}const Xn="@open-pioneer/search",Te=z.bind(void 0,Xn);function Zn(r){const e=r.selectProps.inputValue.length>0,t={...r,className:Le(r.className,{"search-invisible":!e})};return u.jsx(k.Menu,{...t,children:r.children})}function Qn(r){const e=r.data.label,t={...r.innerProps,"aria-label":e,role:"group"};return u.jsx(k.Group,{...r,innerProps:t})}function ei(r){const t=Te().formatMessage({id:"noOptionsText"});return u.jsx(k.NoOptionsMessage,{...r,children:u.jsx(G.span,{className:"search-no-match",children:t})})}function ti(r){const t=Te().formatMessage({id:"loadingText"});return u.jsx(k.LoadingMessage,{...r,children:u.jsx(G.span,{className:"search-loading-text",children:t})})}function si({children:r,...e}){const t={...e,className:Le(e.className,"search-value-container")};return u.jsxs(k.ValueContainer,{...t,children:[!!r&&u.jsx(Sn,{style:{position:"absolute",left:8}}),r]})}function ni(r){const e={...r,isHidden:!1};return u.jsx(k.Input,{...e})}function ii(r){return null}function ri(r){return u.jsxs(k.IndicatorsContainer,{...r,children:[r.children,!r.selectProps.isLoading&&r.selectProps.inputValue&&u.jsx(oi,{selectProps:r.selectProps,clearValue:r.clearValue})]})}function oi(r){const t=Te().formatMessage({id:"ariaLabel.clearButton"}),s=n=>{n.preventDefault(),n.stopPropagation(),r.clearValue()};return u.jsx(Rs,{role:"button",size:"md",mr:1,"aria-label":t,onClick:s,onTouchEnd:s,onMouseDown:n=>n.preventDefault()})}function ai(r){return null}function li(r){const e=r.selectProps.inputValue,t=r.data.label,s={...r,className:Le(r.className,"search-option")};return u.jsx(k.Option,{...s,children:u.jsx(G.div,{className:"search-option-label",children:e.trim().length>0?ci(t,e):t})})}function ci(r,e){const t=r.toLowerCase().indexOf(e.toLowerCase());return t>=0?u.jsxs(u.Fragment,{children:[r.substring(0,t),u.jsx(G.span,{className:"search-highlighted-match",children:r.substring(t,t+e.length)},"highlighted"),r.substring(t+e.length)]}):r}const yt=fe("search:SearchController"),_t=200,vt=5;var de,Y,J,X,j,Ce,Wt;class di{constructor(e,t){x(this,Ce);x(this,de);x(this,Y,[]);x(this,J,vt);x(this,X,_t);x(this,j);b(this,de,e),b(this,Y,t)}destroy(){_(this,j)?.abort(),b(this,j,void 0)}async search(e){if(_(this,j)?.abort(),b(this,j,void 0),!e)return[];const t=b(this,j,new AbortController);try{return await ui(t.signal,_(this,X)),t.signal.aborted&&(yt.debug(`search canceled with ${e}`),Gs()),(await Promise.all(_(this,Y).map(n=>te(this,Ce,Wt).call(this,n,e,t.signal)))).filter(n=>n!=null)}finally{_(this,j)===t&&b(this,j,void 0)}}get searchTypingDelay(){return _(this,X)}set searchTypingDelay(e){b(this,X,e??_t)}get maxResultsPerSource(){return _(this,J)}set maxResultsPerSource(e){b(this,J,e??vt)}get sources(){return _(this,Y)}}de=new WeakMap,Y=new WeakMap,J=new WeakMap,X=new WeakMap,j=new WeakMap,Ce=new WeakSet,Wt=async function(e,t,s){const n=e.label,i=_(this,de).olMap.getView().getProjection();try{const a=_(this,J);let o=await e.search(t,{maxResults:a,signal:s,mapProjection:i});return o.length>a&&(o=o.slice(0,a)),{label:n,source:e,results:o}}catch(a){Lt(a)||yt.error(`search for source ${n} failed`,a);return}};async function ui(r,e){r.aborted||await new Promise(t=>{const s=()=>{r.removeEventListener("abort",s),clearTimeout(n),t()};r.addEventListener("abort",s);const n=setTimeout(s,e)})}const Ee=fe("search:Search"),ar=r=>{const{sources:e,searchTypingDelay:t,maxResultsPerGroup:s,onSelect:n,onClear:i}=r,{containerProps:a}=B("search",r),{map:o}=$(r),l=Te(),d=mi(e,t,s,o),{input:c,search:g,selectedOption:h,onInputChanged:f,onResultConfirmed:m}=pi(d),v=fi(),S=hi(l),I=gi(),N=H((C,me)=>{me.action==="input-change"&&f(C)}),w=H((C,me)=>{switch(me.action){case"select-option":C&&(m(C),n?.({source:C.source,result:C.result}));break;case"clear":f(""),E.current?.blur(),E.current?.focus(),i?.();break;default:Ee.debug(`Unhandled action type '${me.action}'.`);break}}),E=p.useRef(null);return u.jsx(L,{...a,children:u.jsx(Nt,{className:"search-component",classNamePrefix:"react-select",ref:E,inputValue:c,onInputChange:N,"aria-label":l.formatMessage({id:"ariaLabel.search"}),ariaLiveMessages:S,tagColorScheme:"trails",selectedOptionStyle:"color",selectedOptionColorScheme:"trails",chakraStyles:v,isClearable:!0,placeholder:r.placeholder??l.formatMessage({id:"searchPlaceholder"}),closeMenuOnSelect:!0,isLoading:g.kind==="loading",options:g.kind==="ready"?g.results:void 0,filterOption:()=>!0,tabSelectsValue:!1,components:I,onChange:w,value:h,menuPosition:"fixed"})})};function hi(r){return p.useMemo(()=>({onFocus:()=>"",onChange:()=>"",guidance:()=>`${r.formatMessage({id:"ariaLabel.instructions"})}`,onFilter:()=>""}),[r])}function gi(){return p.useMemo(()=>({Menu:Zn,Input:ni,SingleValue:ii,Option:li,NoOptionsMessage:ei,LoadingMessage:ti,ValueContainer:si,IndicatorsContainer:ri,ClearIndicator:ai,Group:Qn}),[])}function fi(){const[r,e]=It("colors",["trails.100","trails.50"],["#d5e5ec","#eaf2f5"]);return p.useMemo(()=>({groupHeading:s=>({...s,backgroundColor:r,padding:"8px 12px",fontSize:"inherit",fontWeight:"inherit"}),option:s=>({...s,backgroundColor:"inherit",_focus:{backgroundColor:e}}),dropdownIndicator:s=>({...s,display:"none"})}),[r,e])}function mi(r,e,t,s){const[n,i]=p.useState(void 0);return p.useEffect(()=>{if(!s)return;const a=new di(s,r);return i(a),()=>{a.destroy(),i(void 0)}},[s,r]),p.useEffect(()=>{n&&(n.searchTypingDelay=e)},[n,e]),p.useEffect(()=>{n&&(n.maxResultsPerSource=t)},[n,t]),n}function pi(r){const[e,t]=p.useReducer((o,l)=>{switch(l.kind){case"input":return{...o,query:l.query,selectedOption:null};case"select-option":return{...o,selectedOption:l.option,query:l.option.label};case"load-results":return{...o,search:{kind:"loading"}};case"accept-results":return{...o,search:{kind:"ready",results:l.results}}}},void 0,()=>({query:"",selectedOption:null,search:{kind:"ready",results:[]}})),s=p.useRef(),n=H(o=>{if(!r){s.current=void 0,t({kind:"accept-results",results:[]});return}Ee.isDebug()&&Ee.debug(`Starting new search for query ${JSON.stringify(o)}.`),t({kind:"load-results"});const l=s.current=yi(r,o).then(d=>{s.current===l&&t({kind:"accept-results",results:d})})}),i=p.useCallback(o=>{t({kind:"select-option",option:o})},[]),a=p.useCallback(o=>{t({kind:"input",query:o}),n(o)},[n]);return{input:e.query,search:e.search,selectedOption:e.selectedOption,onResultConfirmed:i,onInputChanged:a}}async function yi(r,e){let t;try{t=await r.search(e)}catch(s){Lt(s)||Ee.error("Search failed",s),t=[]}return _i(t)}function _i(r){return r.map((t,s)=>({label:t.label,options:t.results.map(n=>({value:`${s}-${n.id}`,label:n.label,source:t.source,result:n}))}))}const zt="@open-pioneer/selection",vi=Ue.bind(void 0,zt),qe=z.bind(void 0,zt),ne="selection-active",_e="selection-inactive";class Si{tooltip;interactionResources=[];olMap;isActive=!0;tooltipMessage;tooltipDisabledMessage;constructor(e,t,s,n){const i=this.initViewport(e);this.interactionResources.push(this.createDragBox(e,n,i,this.interactionResources)),this.interactionResources.push(this.createDrag(e,i,this.interactionResources)),this.tooltip=this.createHelpTooltip(e,t),this.olMap=e,this.tooltipMessage=t,this.tooltipDisabledMessage=s}initViewport(e){const t=e.getViewport();return t.classList.add(ne),t.oncontextmenu=s=>(s.preventDefault(),!1),t}destroy(){this.tooltip.destroy(),this.interactionResources.forEach(e=>{e.destroy()})}setActive(e){if(this.isActive===e)return;const t=this.olMap.getViewport();e?(this.interactionResources.forEach(s=>this.olMap.addInteraction(s.interaction)),this.tooltip.setText(this.tooltipMessage),t.classList.remove(_e),t.classList.add(ne),this.isActive=!0):(this.interactionResources.forEach(s=>this.olMap.removeInteraction(s.interaction)),this.tooltip.setText(this.tooltipDisabledMessage),t.classList.remove(ne),t.classList.add(_e),this.isActive=!1)}createDragBox(e,t,s,n){const i=new nt({className:"selection-drag-box",condition:As});return e.addInteraction(i),i.on("boxend",function(){t(i.getGeometry())}),{interaction:i,destroy(){e.removeInteraction(i),n.splice(n.indexOf(this)),i.dispose(),s.classList.remove(ne),s.classList.remove(_e),s.oncontextmenu=null}}}createDrag(e,t,s){const n=function(o){return o.originalEvent.button==2},i=new it({condition:n});return e.addInteraction(i),{interaction:i,destroy(){e.removeInteraction(i),s.splice(s.indexOf(this)),i.dispose(),t.classList.remove(ne),t.classList.remove(_e),t.oncontextmenu=null}}}createHelpTooltip(e,t){const s=document.createElement("div");s.className="selection-tooltip printing-hide",s.role="tooltip";const n=document.createElement("span");n.textContent=t,s.appendChild(n);const i=new Ie({element:s,offset:[15,0],positioning:"center-left"}),a=e.on("pointermove",o=>{i.setPosition(o.coordinate)});return e.addOverlay(i),{overlay:i,element:s,destroy(){e.removeOverlay(i),i.dispose(),R(a)},setText(o){n.textContent=o}}}getDragboxInteraction(){return this.interactionResources.find(e=>e.interaction instanceof nt)}getDragPanInteraction(){return this.interactionResources.find(e=>e.interaction instanceof it)}}const ke=fe("selection:SelectionController"),xi=1e4;var ue,he,ge,Pe,Kt;class wi{constructor(e){x(this,Pe);x(this,ue);x(this,he);x(this,ge);const{mapModel:t,onError:s,maxResults:n=xi}=e;b(this,ue,t),b(this,he,n),b(this,ge,s)}destroy(){}async select(e,t){if(t)return await te(this,Pe,Kt).call(this,e,t)}}ue=new WeakMap,he=new WeakMap,ge=new WeakMap,Pe=new WeakSet,Kt=async function(e,t){const s=_(this,ue).olMap.getView().getProjection();try{ke.debug(`Starting selection on source '${e.label}'`);const n=_(this,he);let i=await e.select({type:"extent",extent:t},{maxResults:n,mapProjection:s,signal:new AbortController().signal});return i.length>n&&(i=i.slice(0,n)),ke.debug(`Found ${i.length} results on source '${e.label}'`),{source:e,results:i}}catch(n){ke.error(`selection from source ${e.label} failed`,n),_(this,ge).call(this);return}};const bi={classNamePrefix:"react-select",menuPosition:"fixed",isSearchable:!1,isClearable:!1},lr=r=>{const e=qe(),{sources:t,onSelectionComplete:s,onSelectionSourceChanged:n}=r,{containerProps:i}=B("selection",r),a=e.formatMessage({id:"sourceNotAvailable"}),[o,l]=Ci(t,n),d=Jt(o,a),c=$(r),{onExtentSelected:g}=Pi(c.map,t,o,s),h=Li(),[f,m]=p.useState(!1);Fi(c.map,e,g,d.kind==="available",!!o);const v=p.useMemo(()=>t.map(w=>({label:w.label,value:w})),[t]),S=p.useMemo(()=>v.find(E=>E.value===o)||null,[v,o]),I=H(w=>{l(w?.value)}),N=H(w=>{!f&&w.key==="Enter"&&m(!0)});return u.jsx(Vs,{...i,spacing:2,children:u.jsxs(be,{children:[u.jsx(Me,{children:e.formatMessage({id:"selectSource"})}),u.jsx(Nt,{className:"selection-source react-select",...bi,options:v,placeholder:e.formatMessage({id:"selectionPlaceholder"}),value:S,onChange:I,components:{Option:Mi,SingleValue:Ei},isOptionDisabled:()=>!1,getOptionLabel:w=>{const E=w.label,C=Yt(w.value,a);return C.kind=="available"?E:E+" "+C.reason},ariaLiveMessages:{guidance:()=>"",onChange:w=>w.action=="select-option"||w.action=="initial-input-focus"?w.label+" "+e.formatMessage({id:"selected"}):"",onFilter:()=>"",onFocus:()=>""},chakraStyles:h,onKeyDown:N,menuIsOpen:f,onMenuOpen:()=>m(!0),onMenuClose:()=>m(!1)})]})})};function Mi(r){const{value:e}=r.data,{isAvailable:t,content:s}=qt(e,!1);return u.jsx(k.Option,{...r,isDisabled:!t,className:"selection-source-option",children:s})}function Ei(r){const{value:e}=r.data,{isAvailable:t,content:s}=qt(e,!0),n=t?"selection-source-value":"selection-source-value selection-source-value--disabled";return u.jsx(k.SingleValue,{...r,isDisabled:!t,className:n,children:s})}function Ci(r,e){const[t,s]=p.useState(()=>r[0]);p.useEffect(()=>{t&&!r.includes(t)&&s(void 0)},[r,t]);const n=p.useRef(void 0);return p.useEffect(()=>{t!==n.current&&(n.current=t,e?.({source:t}))},[t,e]),[t,s]}function qt(r,e){const t=qe(),s=r?.label,n=t.formatMessage({id:"sourceNotAvailable"}),i=Jt(r,n);return{isAvailable:i.kind==="available",content:u.jsxs(rt,{direction:"row",alignItems:"center",grow:1,children:[!e&&u.jsx(rt,{grow:1,children:s}),i.kind==="unavailable"&&u.jsx(L,{ml:2,children:u.jsx(Hs,{label:i.reason,placement:"right",openDelay:500,children:u.jsx(G.span,{children:u.jsx(Bs,{as:Js,color:"red",className:"warning-icon","aria-label":i.reason})})})}),e&&s]})}}function Pi(r,e,t,s){const n=vi("notifier.NotificationService"),i=qe(),[a,o]=p.useState(void 0);p.useEffect(()=>{if(!r)return;const d=new wi({mapModel:r,onError(){n.notify({level:"error",message:i.formatMessage({id:"selectionFailed"})})}});return o(d),()=>{d.destroy()}},[r,n,e,i]);const l=H(async d=>{if(!a||!t)return;const c=await a.select(t,d.getExtent());c&&s?.(c)});return{controller:a,onExtentSelected:l}}function Yt(r,e){const t=r.status??"available",s=typeof t=="string"?{kind:t}:t;return s.kind==="available"?s:{kind:"unavailable",reason:s.reason??e}}function Jt(r,e){return U(()=>r?Yt(r,e):{kind:"unavailable",reason:e},[r,e])}function Fi(r,e,t,s,n){p.useEffect(()=>{if(!r)return;const i=n?e.formatMessage({id:"disabledTooltip"}):e.formatMessage({id:"noSourceTooltip"}),a=new Si(r.olMap,e.formatMessage({id:"tooltip"}),i,t);return a.setActive(s),()=>{a?.destroy()}},[r,e,t,s,n])}function Li(){const[r,e]=It("colors",["background_body","border"],["#ffffff","#ffffff"]);return p.useMemo(()=>({control:s=>({...s,cursor:"pointer"}),indicatorSeparator:s=>({...s,borderColor:e}),dropdownIndicator:s=>({...s,backgroundColor:r})}),[r,e])}const Xt="@open-pioneer/printing",Zt=Ue.bind(void 0,Xt),Ii=z.bind(void 0,Xt),Ti="map";class Ai{olMap;i18n;printingService;viewPadding;printMap=void 0;overlay=void 0;constructor(e,t,s){this.olMap=e,this.printingService=t,this.i18n=s}destroy(){this.reset()}setViewPadding(e){this.viewPadding=e}async handleMapExport(e){if(this.olMap)try{this.begin(),this.printMap=await this.printingService.printMap(this.olMap,{blockUserInteraction:!1,viewPadding:this.viewPadding});const t=this.printMap.getCanvas();if(t)e.fileFormat=="png"?await this.exportMapInPNG(t,e):await this.exportMapInPDF(t,e);else throw new Error("Canvas export failed")}finally{this.reset()}}begin(){const e=this.olMap.getTargetElement();e&&(this.overlay=Ks(e,this.i18n.overlayText))}reset(){this.overlay?.destroy(),this.overlay=void 0}getTitleAndFileName(e){const t=e.title||"",s=e.title||Ti;return{title:t,fileName:s}}async exportMapInPNG(e,t){const s=document.createElement("canvas");s.width=e.width,s.height=e.height+50,s.style.backgroundColor="#fff";const n=s.getContext("2d");if(!n)throw new Error("2d canvas rendering context not available");const{title:i,fileName:a}=this.getTitleAndFileName(t);n.fillStyle="#fff",n.fillRect(0,0,s.width,s.height),n.font="20px bold sans-serif",n.textAlign="center",n.fillStyle="#000";const o=s.width/2;n.fillText(i,o,20),n.drawImage(e,0,50);const l=document.createElement("a");l.setAttribute("download",a+".png");const d=qs(s);if(!d)throw new Error("Failed to get image data URL");l.href=d,l.click()}async exportMapInPDF(e,t){const{jsPDF:s}=await Xs(async()=>{const{jsPDF:I}=await import("./DyTV57ff4rkW.js");return{jsPDF:I}},__vite__mapDeps([0,1,2,3,4,5,6,7,8]),import.meta.url),n=new s({orientation:"landscape",unit:"mm",format:"a4"}),i=n.internal.pageSize.getWidth(),a=n.internal.pageSize.getHeight(),o=15,l=20,d=a-l;n.setFontSize(20);const{title:c,fileName:g}=this.getTitleAndFileName(t);n.text(c,i/2,o,{align:"center"});const h=e.width/e.height;let f=d,m=f*h;m>=i&&(m=i,f=m/h);const v=(i-m)/2,S=l+(d-f)/2;n.addImage(e,"",v,S,m,f),n.save(g+".pdf")}}const Ni=fe("printing"),cr=r=>{const e=Ii(),{viewPadding:t="auto"}=r,{containerProps:s}=B("printing",r),[n,i]=p.useState("pdf"),[a,o]=p.useState(""),[l,d]=p.useState(!1),c=Zt("notifier.NotificationService"),{map:g}=$(r),h=Oi(g,e,t);function f(v){(v==="png"||v==="pdf")&&i(v)}function m(){l||!h||(d(!0),h.handleMapExport({title:a,fileFormat:n}).catch(v=>{const S=e.formatMessage({id:"printingFailed"});c.notify({level:"error",message:S}),Ni.error("Failed to print the map",v)}).finally(()=>{d(!1)}))}return u.jsx(L,{...s,children:u.jsxs(L,{as:"form",m:2,alignItems:"center",onSubmit:v=>{v.preventDefault(),m()},children:[u.jsxs(be,{as:Ve,mb:2,children:[u.jsx(Me,{minWidth:"82",mb:1,children:e.formatMessage({id:"title"})}),u.jsx(ze,{placeholder:e.formatMessage({id:"input.placeholder"}),value:a,onChange:v=>{o(v.target.value)},autoFocus:!0})]}),u.jsxs(be,{as:Ve,mb:2,children:[u.jsx(Me,{minWidth:"82",mb:1,children:e.formatMessage({id:"fileFormat"})}),u.jsxs(Ke,{value:n,onChange:v=>f(v.target.value),className:"printing-select",children:[u.jsx("option",{value:"png",children:"PNG"}),u.jsx("option",{value:"pdf",children:"PDF"})]})]}),u.jsx(Ft,{isLoading:l,loadingText:e.formatMessage({id:"printingMap"}),disabled:l,mt:2,p:2,className:"printing-export-button",type:"submit",width:"100%",children:e.formatMessage({id:"export"})})]})})};function Oi(r,e,t){const s=Zt("printing.PrintingService"),[n,i]=p.useState(void 0);return p.useEffect(()=>{if(!r)return;const a=new Ai(r.olMap,s,{overlayText:e.formatMessage({id:"printingMap"})});return i(a),()=>{a.destroy(),i(void 0)}},[r,e,s]),p.useEffect(()=>{n?.setViewPadding(t)},[n,t]),n}export{sr as C,Qi as E,ze as I,rr as L,or as M,tr as N,Ie as O,cr as P,Rt as S,er as V,Zi as W,nr as a,ir as b,ar as c,lr as d,Ke as e}; +var Qt=Object.defineProperty;var Ye=r=>{throw TypeError(r)};var es=(r,e,t)=>e in r?Qt(r,e,{enumerable:!0,configurable:!0,writable:!0,value:t}):r[e]=t;var y=(r,e,t)=>es(r,typeof e!="symbol"?e+"":e,t),Ae=(r,e,t)=>e.has(r)||Ye("Cannot "+t);var _=(r,e,t)=>(Ae(r,e,"read from private field"),t?t.call(r):e.get(r)),x=(r,e,t)=>e.has(r)?Ye("Cannot add the same private member more than once"):e instanceof WeakSet?e.add(r):e.set(r,t),b=(r,e,t,s)=>(Ae(r,e,"write to private field"),s?s.call(r,t):e.set(r,t),t),te=(r,e,t)=>(Ae(r,e,"access private method"),t);import{aE as ts,b7 as ss,b8 as ns,b9 as is,aP as rs,aX as os,ba as as,bb as ls,J as cs,bc as ds,bd as us,be as hs,bf as gs,bg as St,bh as fs,bi as ms,a as ee,b as Fe,aL as ve,bj as Je,bk as K,a9 as Xe,G as T,bl as Ne,a_ as Z,an as Ze,bm as pe,p as P,bn as A,bo as Qe,bp as F,bq as Se,br as ps,bs as ys,z as _s,bt as De,bu as vs,bv as Ss,bw as xt,ao as wt,bx as xs,by as ws,bz as et,bA as bs,bB as tt,bC as Ms,bD as st,j as R,r as Be,a$ as $e,bE as bt,bF as Es,b0 as Cs,f as Ue,u as z,aZ as B,i as $,b4 as Ps,b3 as Le,bG as Fs,am as xe,bH as Ls,bI as Is,c as we,ax as ie,F as Re,C as Ts,bJ as nt,bK as As,bL as it,k as rt}from"./5C5XmiCGgLmB.js";import{h as We,u as Mt,o as Et,l as Ct,j as u,g as G,s as Ns,t as ks,r as p,v as se,w as ot,x as Os,y as js,z as Ds,c as fe,d as Pt,B as L,C as at,b as Ft,D as Rs,G as Gs,i as Lt,H as It,V as Vs,q as Hs,I as Bs}from"./Mxtq6FG0Aq1_.js";import{G as Tt,i as $s}from"./CXqamDLCwhxM.js";import{a as Us}from"./DWkb3PmnrxhS.js";import{D as At,S as Ws,I as zs,c as Ks,a as qs}from"./OM1YzF7yjem8.js";import{u as H}from"./_eg2EQ1Gs0ak.js";import{u as U,c as j,s as Nt}from"./Cxncs0atKtOb.js";import{T as Q,L as Ys}from"./BOwySe0UXVY3.js";import{c as kt}from"./DUaeWVZO0JNZ.js";import{L as Ge}from"./D69t4K7RmA6W.js";import{u as Ot,F as be}from"./CRkdw9XP0Imr.js";import{F as Me}from"./CYrCIuevaD6U.js";import{H as Ve}from"./BXf6RRVNKbev.js";import{F as Js}from"./IfrtfJ9Ep93o.js";import{_ as Xs}from"./CmsKOCeNyeyo.js";import{s as Zs}from"./DgabVoUpizSB.js";const ze=We(function(e,t){const{htmlSize:s,...n}=e,i=Mt("Input",n),a=Et(n),o=Ot(a),l=Ct("chakra-input",e.className);return u.jsx(G.input,{size:s,...o,__css:i.field,ref:t,className:l})});ze.displayName="Input";ze.id="Input";const jt=We(function(e,t){const{children:s,placeholder:n,className:i,...a}=e;return u.jsxs(G.select,{...a,ref:t,className:Ct("chakra-select",i),children:[n&&u.jsx("option",{value:"",children:n}),s]})});jt.displayName="SelectField";const Ke=We((r,e)=>{const t=Mt("Select",r),{rootProps:s,placeholder:n,icon:i,color:a,height:o,h:l,minH:d,minHeight:c,iconColor:g,iconSize:h,...f}=Et(r),[m,v]=Zs(f,Ns),S=Ot(v),I={width:"100%",height:"fit-content",position:"relative",color:a},N={paddingEnd:"2rem",...t.field,_focus:{zIndex:"unset",...t.field?._focus}};return u.jsxs(G.div,{className:"chakra-select__wrapper",__css:I,...m,...s,children:[u.jsx(jt,{ref:e,height:l??o,minH:d??c,placeholder:n,...S,__css:N,children:r.children}),u.jsx(Dt,{"data-disabled":ks(S.disabled),...(g||a)&&{color:g||a},__css:t.icon,...h&&{fontSize:h},children:i})]})});Ke.displayName="Select";const Qs=r=>u.jsx("svg",{viewBox:"0 0 24 24",...r,children:u.jsx("path",{fill:"currentColor",d:"M16.59 8.59L12 13.17 7.41 8.59 6 10l6 6 6-6z"})}),en=G("div",{baseStyle:{position:"absolute",display:"inline-flex",alignItems:"center",justifyContent:"center",pointerEvents:"none",top:"50%",transform:"translateY(-50%)"}}),Dt=r=>{const{children:e=u.jsx(Qs,{}),...t}=r,s=p.cloneElement(e,{role:"presentation",className:"chakra-select__icon",focusable:!1,"aria-hidden":!0,style:{width:"1em",height:"1em",color:"currentColor"}});return u.jsx(en,{...t,className:"chakra-select__icon-wrapper",children:p.isValidElement(e)?s:null})};Dt.displayName="SelectIcon";function tn(r,e){const t=r??"bottom";return{"top-start":{ltr:"top-left",rtl:"top-right"},"top-end":{ltr:"top-right",rtl:"top-left"},"bottom-start":{ltr:"bottom-left",rtl:"bottom-right"},"bottom-end":{ltr:"bottom-right",rtl:"bottom-left"}}[t]?.[e]??t}function sn(r,e){const t=n=>({...e,...n,position:tn(n?.position??e?.position,r)}),s=n=>{const i=t(n),a=Os(i);return se.notify(a,i)};return s.update=(n,i)=>{se.update(n,t(i))},s.promise=(n,i)=>{const a=s({...i.loading,status:"loading",duration:null});n.then(o=>s.update(a,{status:"success",duration:5e3,...ot(i.success,o)})).catch(o=>s.update(a,{status:"error",duration:5e3,...ot(i.error,o)}))},s.closeAll=se.closeAll,s.close=se.close,s.isActive=se.isActive,s}function nn(r){const{theme:e}=js(),t=Ds();return p.useMemo(()=>sn(e.direction,{...t,...r}),[r,e.direction,t])}const M={ELEMENT:"element",MAP:"map",OFFSET:"offset",POSITION:"position",POSITIONING:"positioning"};class Ie extends ts{constructor(e){super(),this.on,this.once,this.un,this.options=e,this.id=e.id,this.insertFirst=e.insertFirst!==void 0?e.insertFirst:!0,this.stopEvent=e.stopEvent!==void 0?e.stopEvent:!0,this.element=document.createElement("div"),this.element.className=e.className!==void 0?e.className:"ol-overlay-container "+ss,this.element.style.position="absolute",this.element.style.pointerEvents="auto",this.autoPan=e.autoPan===!0?{}:e.autoPan||void 0,this.rendered={transform_:"",visible:!0},this.mapPostrenderListenerKey=null,this.addChangeListener(M.ELEMENT,this.handleElementChanged),this.addChangeListener(M.MAP,this.handleMapChanged),this.addChangeListener(M.OFFSET,this.handleOffsetChanged),this.addChangeListener(M.POSITION,this.handlePositionChanged),this.addChangeListener(M.POSITIONING,this.handlePositioningChanged),e.element!==void 0&&this.setElement(e.element),this.setOffset(e.offset!==void 0?e.offset:[0,0]),this.setPositioning(e.positioning||"top-left"),e.position!==void 0&&this.setPosition(e.position)}getElement(){return this.get(M.ELEMENT)}getId(){return this.id}getMap(){return this.get(M.MAP)||null}getOffset(){return this.get(M.OFFSET)}getPosition(){return this.get(M.POSITION)}getPositioning(){return this.get(M.POSITIONING)}handleElementChanged(){ns(this.element);const e=this.getElement();e&&this.element.appendChild(e)}handleMapChanged(){this.mapPostrenderListenerKey&&(this.element?.remove(),is(this.mapPostrenderListenerKey),this.mapPostrenderListenerKey=null);const e=this.getMap();if(e){this.mapPostrenderListenerKey=rs(e,os.POSTRENDER,this.render,this),this.updatePixelPosition();const t=this.stopEvent?e.getOverlayContainerStopEvent():e.getOverlayContainer();this.insertFirst?t.insertBefore(this.element,t.childNodes[0]||null):t.appendChild(this.element),this.performAutoPan()}}render(){this.updatePixelPosition()}handleOffsetChanged(){this.updatePixelPosition()}handlePositionChanged(){this.updatePixelPosition(),this.performAutoPan()}handlePositioningChanged(){this.updatePixelPosition()}setElement(e){this.set(M.ELEMENT,e)}setMap(e){this.set(M.MAP,e)}setOffset(e){this.set(M.OFFSET,e)}setPosition(e){this.set(M.POSITION,e)}performAutoPan(){this.autoPan&&this.panIntoView(this.autoPan)}panIntoView(e){const t=this.getMap();if(!t||!t.getTargetElement()||!this.get(M.POSITION))return;const s=this.getRect(t.getTargetElement(),t.getSize()),n=this.getElement(),i=this.getRect(n,[as(n),ls(n)]);e=e||{};const a=e.margin===void 0?20:e.margin;if(!cs(s,i)){const o=i[0]-s[0],l=s[2]-i[2],d=i[1]-s[1],c=s[3]-i[3],g=[0,0];if(o<0?g[0]=o-a:l<0&&(g[0]=Math.abs(l)+a),d<0?g[1]=d-a:c<0&&(g[1]=Math.abs(c)+a),g[0]!==0||g[1]!==0){const h=t.getView().getCenterInternal(),f=t.getPixelFromCoordinateInternal(h);if(!f)return;const m=[f[0]+g[0],f[1]+g[1]],v=e.animation||{};t.getView().animateInternal({center:t.getCoordinateFromPixelInternal(m),duration:v.duration,easing:v.easing})}}}getRect(e,t){const s=e.getBoundingClientRect(),n=s.left+window.pageXOffset,i=s.top+window.pageYOffset;return[n,i,n+t[0],i+t[1]]}setPositioning(e){this.set(M.POSITIONING,e)}setVisible(e){this.rendered.visible!==e&&(this.element.style.display=e?"":"none",this.rendered.visible=e)}updatePixelPosition(){const e=this.getMap(),t=this.getPosition();if(!e||!e.isRendered()||!t){this.setVisible(!1);return}const s=e.getPixelFromCoordinate(t),n=e.getSize();this.updateRenderedPosition(s,n)}updateRenderedPosition(e,t){const s=this.element.style,n=this.getOffset(),i=this.getPositioning();this.setVisible(!0);const a=Math.round(e[0]+n[0])+"px",o=Math.round(e[1]+n[1])+"px";let l="0%",d="0%";i=="bottom-right"||i=="center-right"||i=="top-right"?l="-100%":(i=="bottom-center"||i=="center-center"||i=="top-center")&&(l="-50%"),i=="bottom-left"||i=="bottom-center"||i=="bottom-right"?d="-100%":(i=="center-left"||i=="center-center"||i=="center-right")&&(d="-50%");const c=`translate(${l}, ${d}) translate(${a}, ${o})`;this.rendered.transform_!=c&&(this.rendered.transform_=c,s.transform=c)}getOptions(){return this.options}}const Zi=ds,lt=0,re=1,ct=[0,0,0,0],q=[],ke={MODIFYSTART:"modifystart",MODIFYEND:"modifyend"};class Oe extends wt{constructor(e,t,s){super(e),this.features=t,this.mapBrowserEvent=s}}class rn extends us{constructor(e){super(e),this.on,this.once,this.un,this.boundHandleFeatureChange_=this.handleFeatureChange_.bind(this),this.condition_=e.condition?e.condition:hs,this.defaultDeleteCondition_=function(s){return gs(s)&&St(s)},this.deleteCondition_=e.deleteCondition?e.deleteCondition:this.defaultDeleteCondition_,this.insertVertexCondition_=e.insertVertexCondition?e.insertVertexCondition:fs,this.vertexFeature_=null,this.vertexSegments_=null,this.lastPixel_=[0,0],this.ignoreNextSingleClick_=!1,this.featuresBeingModified_=null,this.rBush_=new ms,this.pixelTolerance_=e.pixelTolerance!==void 0?e.pixelTolerance:10,this.snappedToVertex_=!1,this.changingFeature_=!1,this.dragSegments_=[],this.overlay_=new ee({source:new Fe({useSpatialIndex:!1,wrapX:!!e.wrapX}),style:e.style?e.style:an(),updateWhileAnimating:!0,updateWhileInteracting:!0}),this.SEGMENT_WRITERS_={Point:this.writePointGeometry_.bind(this),LineString:this.writeLineStringGeometry_.bind(this),LinearRing:this.writeLineStringGeometry_.bind(this),Polygon:this.writePolygonGeometry_.bind(this),MultiPoint:this.writeMultiPointGeometry_.bind(this),MultiLineString:this.writeMultiLineStringGeometry_.bind(this),MultiPolygon:this.writeMultiPolygonGeometry_.bind(this),Circle:this.writeCircleGeometry_.bind(this),GeometryCollection:this.writeGeometryCollectionGeometry_.bind(this)},this.source_=null,this.hitDetection_=null;let t;if(e.features?t=e.features:e.source&&(this.source_=e.source,t=new ve(this.source_.getFeatures()),this.source_.addEventListener(Je.ADDFEATURE,this.handleSourceAdd_.bind(this)),this.source_.addEventListener(Je.REMOVEFEATURE,this.handleSourceRemove_.bind(this))),!t)throw new Error("The modify interaction requires features, a source or a layer");e.hitDetection&&(this.hitDetection_=e.hitDetection),this.features_=t,this.features_.forEach(this.addFeature_.bind(this)),this.features_.addEventListener(K.ADD,this.handleFeatureAdd_.bind(this)),this.features_.addEventListener(K.REMOVE,this.handleFeatureRemove_.bind(this)),this.lastPointerEvent_=null,this.delta_=[0,0],this.snapToPointer_=e.snapToPointer===void 0?!this.hitDetection_:e.snapToPointer}addFeature_(e){const t=e.getGeometry();if(t){const n=this.SEGMENT_WRITERS_[t.getType()];n&&n(e,t)}const s=this.getMap();s&&s.isRendered()&&this.getActive()&&this.handlePointerAtPixel_(s.getCoordinateFromPixel(this.lastPixel_)),e.addEventListener(Xe.CHANGE,this.boundHandleFeatureChange_)}willModifyFeatures_(e,t){if(!this.featuresBeingModified_){this.featuresBeingModified_=new ve;const s=this.featuresBeingModified_.getArray();for(let n=0,i=t.length;n=0;--n){const i=s[n];for(let a=this.dragSegments_.length-1;a>=0;--a)this.dragSegments_[a][0]===i&&this.dragSegments_.splice(a,1);t.remove(i)}}setActive(e){this.vertexFeature_&&!e&&(this.overlay_.getSource().removeFeature(this.vertexFeature_),this.vertexFeature_=null),super.setActive(e)}setMap(e){this.overlay_.setMap(e),super.setMap(e)}getOverlay(){return this.overlay_}handleSourceAdd_(e){e.feature&&this.features_.push(e.feature)}handleSourceRemove_(e){e.feature&&this.features_.remove(e.feature)}handleFeatureAdd_(e){this.addFeature_(e.element)}handleFeatureChange_(e){if(!this.changingFeature_){const t=e.target;this.removeFeature_(t),this.addFeature_(t)}}handleFeatureRemove_(e){this.removeFeature_(e.element)}writePointGeometry_(e,t){const s=t.getCoordinates(),n={feature:e,geometry:t,segment:[s,s]};this.rBush_.insert(t.getExtent(),n)}writeMultiPointGeometry_(e,t){const s=t.getCoordinates();for(let n=0,i=s.length;ni));const t=[e.coordinate[0]+this.delta_[0],e.coordinate[1]+this.delta_[1]],s=[],n=[];for(let i=0,a=this.dragSegments_.length;i=0;--i)this.insertVertex_(s[i],n);this.ignoreNextSingleClick_=!0}return!!this.vertexFeature_}handleUpEvent(e){for(let t=this.dragSegments_.length-1;t>=0;--t){const s=this.dragSegments_[t][0],n=s.geometry;if(n.getType()==="Circle"){const i=n,a=i.getCenter(),o=s.featureSegments[0],l=s.featureSegments[1];o.segment[0]=a,o.segment[1]=a,l.segment[0]=a,l.segment[1]=a,this.rBush_.update(Ne(a),o);let d=i;this.rBush_.update(d.getExtent(),l)}else this.rBush_.update(T(s.segment),s)}return this.featuresBeingModified_&&(this.dispatchEvent(new Oe(ke.MODIFYEND,this.featuresBeingModified_,e)),this.featuresBeingModified_=null),!1}handlePointerMove_(e){this.lastPixel_=e.pixel,this.handlePointerAtPixel_(e.coordinate)}handlePointerAtPixel_(e){const t=this.getMap(),s=t.getPixelFromCoordinate(e);t.getView().getProjection();const n=function(o,l){return dt(e,o)-dt(e,l)};let i,a;if(this.hitDetection_){const o=typeof this.hitDetection_=="object"?l=>l===this.hitDetection_:void 0;t.forEachFeatureAtPixel(s,(l,d,c)=>{c&&c.getType()==="Point"&&(c=new Ze(Se(c.getCoordinates())));const g=c||l.getGeometry();if(g&&g.getType()==="Point"&&l instanceof Z&&this.features_.getArray().includes(l)){a=g;const h=l.getGeometry().getFlatCoordinates().slice(0,2);i=[{feature:l,geometry:a,segment:[h,h]}]}return!0},{layerFilter:o})}if(!i){const o=ps(Ne(e,ct)),l=t.getView().getResolution()*this.pixelTolerance_,d=ys(_s(o,l,ct));i=this.rBush_.getInExtent(d)}if(i&&i.length>0){const o=i.sort(n)[0],l=o.segment;let d=ut(e,o);const c=t.getPixelFromCoordinate(d);let g=Qe(s,c);if(a||g<=this.pixelTolerance_){const h={};if(h[P(l)]=!0,this.snapToPointer_||(this.delta_[0]=d[0]-e[0],this.delta_[1]=d[1]-e[1]),o.geometry.getType()==="Circle"&&o.index===re)this.snappedToVertex_=!0,this.createOrUpdateVertexFeature_(d,[o.feature],[o.geometry],this.snappedToVertex_);else{const f=t.getPixelFromCoordinate(l[0]),m=t.getPixelFromCoordinate(l[1]),v=De(c,f),S=De(c,m);g=Math.sqrt(Math.min(v,S)),this.snappedToVertex_=g<=this.pixelTolerance_,this.snappedToVertex_&&(d=v>S?l[1]:l[0]),this.createOrUpdateVertexFeature_(d,[o.feature],[o.geometry],this.snappedToVertex_);const I={};I[P(o.geometry)]=!0;for(let N=1,w=i.length;Ns.getType()==="Circle"||s.getType().endsWith("Point")))return!1;const e=this.vertexFeature_.getGeometry().getCoordinates();return this.rBush_.getInExtent(T([e])).some(({segment:s})=>A(s[0],e)||A(s[1],e))}removePoint(e){if(e&&(e=F(e,this.getMap().getView().getProjection()),this.updatePointer_(e)),!this.lastPointerEvent_||this.lastPointerEvent_&&this.lastPointerEvent_.type!=pe.POINTERDRAG){const t=this.lastPointerEvent_;this.willModifyFeatures_(t,this.dragSegments_.map(([n])=>n));const s=this.removeVertex_();return this.featuresBeingModified_&&this.dispatchEvent(new Oe(ke.MODIFYEND,this.featuresBeingModified_,t)),this.featuresBeingModified_=null,s}return!1}removeVertex_(){const e=this.dragSegments_,t={};let s=!1,n,i,a,o,l,d,c,g,h,f,m;for(l=e.length-1;l>=0;--l)a=e[l],f=a[0],m=P(f.feature),f.depth&&(m+="-"+f.depth.join("-")),m in t||(t[m]={}),a[1]===0?(t[m].right=f,t[m].index=f.index):a[1]==1&&(t[m].left=f,t[m].index=f.index+1);for(m in t){switch(h=t[m].right,c=t[m].left,d=t[m].index,g=d-1,c!==void 0?f=c:f=h,g<0&&(g=0),o=f.geometry,i=o.getCoordinates(),n=i,s=!1,o.getType()){case"MultiLineString":i[f.depth[0]].length>2&&(i[f.depth[0]].splice(d,1),s=!0);break;case"LineString":i.length>2&&(i.splice(d,1),s=!0);break;case"MultiPolygon":n=n[f.depth[1]];case"Polygon":n=n[f.depth[0]],n.length>4&&(d==n.length-1&&(d=0),n.splice(d,1),s=!0,d===0&&(n.pop(),n.push(n[0]),g=n.length-1));break}if(s){this.setGeometryCoordinates_(o,i);const v=[];if(c!==void 0&&(this.rBush_.remove(c),v.push(c.segment[0])),h!==void 0&&(this.rBush_.remove(h),v.push(h.segment[1])),c!==void 0&&h!==void 0){const S={depth:f.depth,feature:f.feature,geometry:f.geometry,index:g,segment:v};this.rBush_.insert(T(S.segment),S)}this.updateSegmentIndices_(o,d,f.depth,-1),this.vertexFeature_&&(this.overlay_.getSource().removeFeature(this.vertexFeature_),this.vertexFeature_=null),e.length=0}}return s}canInsertPoint(){if(!this.vertexFeature_||this.vertexFeature_.get("geometries").every(s=>s.getType()==="Circle"||s.getType().endsWith("Point")))return!1;const e=this.vertexFeature_.getGeometry().getCoordinates();return this.rBush_.getInExtent(T([e])).some(({segment:s})=>!(A(s[0],e)||A(s[1],e)))}insertPoint(e){const t=e?F(e,this.getMap().getView().getProjection()):this.vertexFeature_?.getGeometry().getCoordinates();return t?this.findInsertVerticesAndUpdateDragSegments_(t).reduce((n,i)=>n||this.insertVertex_(i,t),!1):!1}setGeometryCoordinates_(e,t){this.changingFeature_=!0,e.setCoordinates(t),this.changingFeature_=!1}updateSegmentIndices_(e,t,s,n){this.rBush_.forEachInExtent(e.getExtent(),function(i){i.geometry===e&&(s===void 0||i.depth===void 0||vs(i.depth,s))&&i.index>t&&(i.index+=n)})}}function on(r,e){return r.index-e.index}function dt(r,e,t){const s=e.geometry;if(s.getType()==="Circle"){let i=s;if(e.index===re){const a=De(i.getCenter(),F(r)),o=Math.sqrt(a)-i.getRadius();return o*o}}const n=F(r);return q[0]=F(e.segment[0]),q[1]=F(e.segment[1]),xs(n,q)}function ut(r,e,t){const s=e.geometry;if(s.getType()==="Circle"&&e.index===re)return Se(s.getClosestPoint(F(r)));const n=F(r);return q[0]=F(e.segment[0]),q[1]=F(e.segment[1]),Se(Ss(n,q))}function an(){const r=xt();return function(e,t){return r.Point}}const ln={SELECT:"select"};class cn extends wt{constructor(e,t,s,n){super(e),this.selected=t,this.deselected=s,this.mapBrowserEvent=n}}const ye={};class Rt extends ws{constructor(e){super(),this.on,this.once,this.un,e=e||{},this.boundAddFeature_=this.addFeature_.bind(this),this.boundRemoveFeature_=this.removeFeature_.bind(this),this.condition_=e.condition?e.condition:St,this.addCondition_=e.addCondition?e.addCondition:et,this.removeCondition_=e.removeCondition?e.removeCondition:et,this.toggleCondition_=e.toggleCondition?e.toggleCondition:bs,this.multi_=e.multi?e.multi:!1,this.filter_=e.filter?e.filter:tt,this.hitTolerance_=e.hitTolerance?e.hitTolerance:0,this.style_=e.style!==void 0?e.style:dn(),this.features_=e.features||new ve;let t;if(e.layers)if(typeof e.layers=="function")t=e.layers;else{const s=e.layers;t=function(n){return s.includes(n)}}else t=tt;this.layerFilter_=t,this.featureLayerAssociation_={}}addFeatureLayerAssociation_(e,t){this.featureLayerAssociation_[P(e)]=t}getFeatures(){return this.features_}getHitTolerance(){return this.hitTolerance_}getLayer(e){return this.featureLayerAssociation_[P(e)]}setHitTolerance(e){this.hitTolerance_=e}setMap(e){this.getMap()&&this.style_&&this.features_.forEach(this.restorePreviousStyle_.bind(this)),super.setMap(e),e?(this.features_.addEventListener(K.ADD,this.boundAddFeature_),this.features_.addEventListener(K.REMOVE,this.boundRemoveFeature_),this.style_&&this.features_.forEach(this.applySelectedStyle_.bind(this))):(this.features_.removeEventListener(K.ADD,this.boundAddFeature_),this.features_.removeEventListener(K.REMOVE,this.boundRemoveFeature_))}addFeature_(e){const t=e.element;if(this.style_&&this.applySelectedStyle_(t),!this.getLayer(t)){const s=this.getMap().getAllLayers().find(function(n){if(n instanceof ee&&n.getSource()&&n.getSource().hasFeature(t))return n});s&&this.addFeatureLayerAssociation_(t,s)}}removeFeature_(e){this.style_&&this.restorePreviousStyle_(e.element)}getStyle(){return this.style_}applySelectedStyle_(e){const t=P(e);t in ye||(ye[t]=e.getStyle()),e.setStyle(this.style_)}restorePreviousStyle_(e){const t=this.getMap().getInteractions().getArray();for(let n=t.length-1;n>=0;--n){const i=t[n];if(i!==this&&i instanceof Rt&&i.getStyle()&&i.getFeatures().getArray().lastIndexOf(e)!==-1){e.setStyle(i.getStyle());return}}const s=P(e);e.setStyle(ye[s]),delete ye[s]}removeFeatureLayerAssociation_(e){delete this.featureLayerAssociation_[P(e)]}handleEvent(e){if(!this.condition_(e))return!0;const t=this.addCondition_(e),s=this.removeCondition_(e),n=this.toggleCondition_(e),i=!t&&!s&&!n,a=e.map,o=this.getFeatures(),l=[],d=[];if(i){Ms(this.featureLayerAssociation_),a.forEachFeatureAtPixel(e.pixel,(c,g)=>{if(!(!(c instanceof Z)||!this.filter_(c,g)))return this.addFeatureLayerAssociation_(c,g),d.push(c),!this.multi_},{layerFilter:this.layerFilter_,hitTolerance:this.hitTolerance_});for(let c=o.getLength()-1;c>=0;--c){const g=o.item(c),h=d.indexOf(g);h>-1?d.splice(h,1):(o.remove(g),l.push(g))}d.length!==0&&o.extend(d)}else{a.forEachFeatureAtPixel(e.pixel,(c,g)=>{if(!(!(c instanceof Z)||!this.filter_(c,g)))return(t||n)&&!o.getArray().includes(c)?(this.addFeatureLayerAssociation_(c,g),d.push(c)):(s||n)&&o.getArray().includes(c)&&(l.push(c),this.removeFeatureLayerAssociation_(c)),!this.multi_},{layerFilter:this.layerFilter_,hitTolerance:this.hitTolerance_});for(let c=l.length-1;c>=0;--c)o.remove(l[c]);o.extend(d)}return(d.length>0||l.length>0)&&this.dispatchEvent(new cn(ln.SELECT,d,l,e)),!0}}function dn(){const r=xt();return st(r.Polygon,r.LineString),st(r.GeometryCollection,r.LineString),function(e){return e.getGeometry()?r[e.getGeometry().getType()]:null}}async function un(r,e,t,s){const i=s.getCode().replace("EPSG:","http://www.opengis.net/def/crs/EPSG/0/"),a=await r.fetch(e,{method:"POST",body:JSON.stringify({type:"Feature",properties:{},geometry:t}),headers:{"Content-Type":"application/geo+json; charset=utf-8","Content-Crs":`<${i}>`}});if(!a||!a.ok||a.status!==201)throw new Error("Request failed: "+a.status);const o=a.headers.get("location");if(!o)throw new Error("Request failed: no Location response header");const l=o.substring(o.lastIndexOf("/")+1);return Promise.resolve(l)}async function hn(r,e,t,s,n){const a=n.getCode().replace("EPSG:","http://www.opengis.net/def/crs/EPSG/0/"),o=new URL(`${e.toString()}/${t}`),l=await r.fetch(o,{method:"PATCH",body:JSON.stringify({type:"Feature",properties:{},geometry:s}),headers:{"Content-Type":"application/geo+json; charset=utf-8","Content-Crs":`<${a}>`}});if(!l||!l.ok||l.status!==204)throw new Error("Request failed: "+l.status);return Promise.resolve(t)}function Gt(r,e){const t=document.createElement("div");t.className="editing-tooltip editing-tooltip-hidden",t.role="tooltip";const s=document.createElement("span");s.textContent=e,t.appendChild(s);const n=new Ie({element:t,offset:[15,0],positioning:"center-left"}),i=r.on("pointermove",a=>{a.dragging||n.setPosition(a.coordinate)});return r.addOverlay(n),{destroy(){R(i),r.removeOverlay(n)},setVisible(a){t.classList.toggle("editing-tooltip-hidden",!a)},setText(a){s.textContent=a}}}function Vt(r){let e=ht(r.polygon);Array.isArray(e)&&(e=e[0]);let t=ht(r.vertex);Array.isArray(t)&&(t=t[0]);const s=[];return e&&s.push(e),t&&(t.setGeometry(gn),s.push(t)),s}const gn=r=>{if(r){const e=r.getGeometry();if(e&&e.getType()==="Polygon"){const t=e.getCoordinates()[0];if(t)return new Us(t)}}},ht=r=>{const e=new Z,s=new ee({style:r}).getStyleFunction();if(!s)throw new Error("can't retrieve style function");const n=s(e,1);if(!n)throw new Error("can't retrieve styles from feature style function");return Array.isArray(n)&&n.length?n.length>1?n:n[0]:n},fn=fe("editing:EditingCreateWorkflowImpl");var D;class mn{constructor(e){x(this,D);y(this,"_httpService");y(this,"_intl");y(this,"_map");y(this,"_polygonStyle");y(this,"_vertexStyle");y(this,"_state");y(this,"_editLayerURL");y(this,"_featureId");y(this,"_editingSource");y(this,"_editingLayer");y(this,"_drawInteraction");y(this,"_olMap");y(this,"_tooltip");y(this,"_enterHandler");y(this,"_escapeHandler");y(this,"_error");y(this,"_interactionListener");y(this,"_mapListener");this._httpService=e.httpService,this._intl=e.intl,this._polygonStyle=e.polygonStyle,this._vertexStyle=e.vertexStyle,this._map=e.map,this._olMap=e.map.olMap,this._state=Be("active:initialized"),this._editLayerURL=e.ogcApiFeatureLayerUrl,this._editingSource=new Fe,this._editingLayer=new ee({source:this._editingSource,zIndex:$e,properties:{name:"editing-layer"}}),this._drawInteraction=new At({source:this._editingSource,type:"Polygon",style:Vt({polygon:this._polygonStyle,vertex:this._vertexStyle})}),this._tooltip=Gt(this._olMap,this._intl.formatMessage({id:"create.tooltip.begin"})),this._enterHandler=t=>{if((t.code==="Enter"||t.code==="NumpadEnter")&&t.target===this._olMap.getTargetElement()){const s=this._drawInteraction.getOverlay().getSource()?.getFeatures()??[];s[0]&&s[0].getGeometry().getCoordinates()[0].length>4&&this.triggerSave()}},this._escapeHandler=t=>{t.code==="Escape"&&t.target===this._olMap.getTargetElement()&&this.reset()},this._interactionListener=[],this._mapListener=[],this._start()}getDrawInteraction(){return this._drawInteraction}getState(){return this._state.value}_setState(e){this._state.value=e}_save(e){this._setState("active:saving");const t=this._editLayerURL,s=e.getGeometry();if(!s){this._destroy(),this._error=new Error("no geometry available"),_(this,D)?.reject(this._error);return}const n=this._olMap.getView().getProjection(),a=new Tt({dataProjection:n}).writeGeometryObject(s,{rightHanded:!0,decimals:10});this._olMap.removeInteraction(this._drawInteraction),this._tooltip.destroy(),un(this._httpService,t,a,n).then(o=>{this._featureId=o,this._destroy(),_(this,D)?.resolve({featureId:this._featureId})}).catch(o=>{fn.error(o),this._destroy(),this._error=new Error("Failed to save feature",{cause:o}),_(this,D)?.reject(this._error)})}_start(){this._olMap.addLayer(this._editingLayer),this._olMap.addInteraction(this._drawInteraction);const e=bt(()=>{const n=this._map.container;if(n)return n.addEventListener("keydown",this._enterHandler,!1),n.addEventListener("keydown",this._escapeHandler,!1),()=>{n.removeEventListener("keydown",this._enterHandler),n.removeEventListener("keydown",this._escapeHandler)}});this._tooltip.setVisible(!0);const t=this._drawInteraction.on("drawstart",()=>{this._setState("active:drawing"),this._tooltip.setText(this._intl.formatMessage({id:"create.tooltip.continue"}))}),s=this._drawInteraction.on("drawend",n=>{const i=n.feature;if(!i){this._destroy(),this._error=new Error("no feature available"),_(this,D)?.reject(this._error);return}this._save(i)});this._interactionListener.push(t,s),this._mapListener.push(e)}reset(){this._drawInteraction.abortDrawing(),this._tooltip.setText(this._intl.formatMessage({id:"create.tooltip.begin"})),this._setState("active:initialized")}stop(){this._destroy(),_(this,D)?.resolve(void 0)}_destroy(){this._olMap.removeLayer(this._editingLayer),this._olMap.removeInteraction(this._drawInteraction),this._tooltip.destroy(),this._interactionListener.forEach(e=>{R(e)}),this._mapListener.forEach(e=>{e.destroy()}),this._setState("destroyed")}triggerSave(){this._drawInteraction.finishDrawing()}whenComplete(){return this._state.value==="destroyed"?this._error?Promise.reject(this._error):this._featureId?Promise.resolve({featureId:this._featureId}):Promise.resolve(void 0):(_(this,D)??b(this,D,Pt())).promise}}D=new WeakMap;var k;class pn{constructor(e){x(this,k);y(this,"_httpService");y(this,"_intl");y(this,"_map");y(this,"_polygonStyle");y(this,"_vertexStyle");y(this,"_state");y(this,"_editLayerURL");y(this,"_featureId");y(this,"_initialFeature");y(this,"_editFeature");y(this,"_editingSource");y(this,"_editingLayer");y(this,"_modifyInteraction");y(this,"_olMap");y(this,"_tooltip");y(this,"_enterHandler");y(this,"_escapeHandler");y(this,"_error");y(this,"_interactionListener");y(this,"_mapListener");this._httpService=e.httpService,this._intl=e.intl,this._polygonStyle=e.polygonStyle,this._vertexStyle=e.vertexStyle,this._map=e.map,this._olMap=e.map.olMap,this._state=Be("active:initialized"),this._editLayerURL=e.ogcApiFeatureLayerUrl,this._initialFeature=e.feature.clone(),this._initialFeature.setId(e.feature.getId()),this._editFeature=e.feature.clone(),this._editFeature.setId(e.feature.getId()),this._editFeature.setStyle(Vt({polygon:this._polygonStyle,vertex:this._vertexStyle})),this._editingSource=new Fe({features:new ve([this._editFeature])}),this._editingLayer=new ee({source:this._editingSource,zIndex:$e,properties:{name:"editing-layer"}}),this._modifyInteraction=new rn({source:this._editingSource}),this._tooltip=Gt(this._olMap,this._intl.formatMessage({id:"create.tooltip.deselect"})),this._enterHandler=t=>{if((t.code==="Enter"||t.code==="NumpadEnter")&&t.target===this._olMap.getTargetElement()){const s=this._editingSource.getFeatures()[0];if(!s)throw Error("no updated feature found");this._save(s)}},this._escapeHandler=t=>{t.code==="Escape"&&t.target===this._olMap.getTargetElement()&&this.reset()},this._interactionListener=[],this._mapListener=[],this._start()}getModifyInteraction(){return this._modifyInteraction}getState(){return this._state.value}_setState(e){this._state.value=e}_save(e){this._setState("active:saving");const t=this._editLayerURL;if(this._featureId=e.getId()?.toString(),!this._featureId){this._destroy(),this._error=new Error("no feature id available"),_(this,k)?.reject(this._error);return}const s=e?.getGeometry();if(!s){this._destroy(),this._error=new Error("no geometry available"),_(this,k)?.reject(this._error);return}const n=this._olMap.getView().getProjection(),a=new Tt({dataProjection:n}).writeGeometryObject(s,{rightHanded:!0,decimals:10});this._olMap.removeInteraction(this._modifyInteraction),this._tooltip.destroy(),hn(this._httpService,t,this._featureId,a,n).then(o=>{this._destroy(),_(this,k)?.resolve({featureId:o})}).catch(o=>{this._destroy(),this._error=new Error("Failed to save feature",{cause:o}),_(this,k)?.reject(this._error)})}_start(){this._olMap.addLayer(this._editingLayer),this._olMap.addInteraction(this._modifyInteraction);const e=this._editingSource.getFeatures()[0];if(e&&!e.getId()?.toString()){this._destroy(),this._error=new Error("no feature id available"),_(this,k)?.reject(this._error);return}const t=bt(()=>{const i=this._map.container;if(i)return i.addEventListener("keydown",this._enterHandler,!1),i.addEventListener("keydown",this._escapeHandler,!1),()=>{i.removeEventListener("keydown",this._enterHandler),i.removeEventListener("keydown",this._escapeHandler)}});this._tooltip.setVisible(!0);const s=this._map.olMap.on("click",i=>{const a=i.coordinate,o=i.originalEvent.altKey,l=this._editingSource.getFeaturesAtCoordinate(a);o||l.length===0&&this.triggerSave()}),n=this._modifyInteraction.on("modifystart",()=>{this._setState("active:drawing")});this._interactionListener.push(s,n),this._mapListener.push(t)}reset(){const e=this._initialFeature.getGeometry()?.clone(),t=this._editingSource.getFeatures()[0];if(!t)throw Error("no updated feature found");t.setGeometry(e),this._setState("active:initialized")}stop(){this._destroy(),_(this,k)?.resolve(void 0)}_destroy(){this._editingSource.clear(),this._olMap.removeLayer(this._editingLayer),this._olMap.removeInteraction(this._modifyInteraction),this._tooltip.destroy(),this._interactionListener.forEach(e=>{R(e)}),this._mapListener.forEach(e=>{e.destroy()}),this._setState("destroyed")}triggerSave(){const e=this._editingSource.getFeatures()[0];if(!e)throw Error("no updated feature found");this._save(e)}whenComplete(){return this._state.value==="destroyed"?this._error?Promise.reject(this._error):this._featureId?Promise.resolve({featureId:this._featureId}):Promise.resolve(void 0):(_(this,k)??b(this,k,Pt())).promise}}k=new WeakMap;class Qi{_serviceOptions;_workflows;constructor(e){this._serviceOptions=e,this._workflows=new Map}createFeature(e,t){if(!t||!e||!e.id)throw new Error("Map, mapId or url is undefined.");const s=e.id;let n=this._workflows.get(s);if(n)throw new Error("EditingWorkflow could not be started. EditingWorkflow already in progress for this map.");return n=new mn({map:e,ogcApiFeatureLayerUrl:t,polygonStyle:this._serviceOptions.properties.polygonStyle,vertexStyle:this._serviceOptions.properties.vertexStyle,httpService:this._serviceOptions.references.httpService,intl:this._serviceOptions.intl}),this._workflows.set(s,n),this._connectToWorkflowDestroyEvent(n,s),n}updateFeature(e,t,s){if(!t||!e||!e.id)throw new Error("Map, mapId or url is undefined.");const n=e.id;let i=this._workflows.get(n);if(i)throw new Error("EditingWorkflow could not be started. EditingWorkflow already in progress for this map.");return i=new pn({map:e,ogcApiFeatureLayerUrl:t,feature:s,polygonStyle:this._serviceOptions.properties.polygonStyle,vertexStyle:this._serviceOptions.properties.vertexStyle,httpService:this._serviceOptions.references.httpService,intl:this._serviceOptions.intl}),this._workflows.set(n,i),this._connectToWorkflowDestroyEvent(i,n),i}stop(e){const t=this._workflows.get(e);t&&t.stop()}reset(e){const t=this._workflows.get(e);if(t)t.reset();else throw new Error("No workflow found for mapId: "+e)}_connectToWorkflowDestroyEvent(e,t){const s=Es(()=>[e.getState()],([n])=>{n==="destroyed"&&(this._workflows.get(t)===e&&this._workflows.delete(t),s.destroy())})}}var W,V,oe,ae,le,He;class yn{constructor(e,t,s){x(this,le);y(this,"label");x(this,W,Be({kind:"available"}));x(this,V);x(this,oe);x(this,ae);this.label=t,b(this,V,e),b(this,ae,s),te(this,le,He).call(this),b(this,oe,_(this,V).on("change:visible",()=>{te(this,le,He).call(this)}))}destroy(){R(_(this,oe))}get status(){return _(this,W).value}async select(e,t){if(e.type!=="extent")throw new Error(`Unsupported selection kind: ${e.type}`);if(_(this,W).value.kind!=="available"||_(this,V).getSource()===null)return[];const s=[];_(this,V).getSource().forEachFeatureIntersectingExtent(e.extent,a=>{if(!a.getGeometry())return;const o={...a.getProperties()};delete o.geometries;const l={id:a.getId()?.toString()||Cs(),geometry:a.getGeometry(),properties:o};s.push(l)});const n=s.filter(a=>a!=null);return n.length>t.maxResults?n.slice(0,t.maxResults):n}}W=new WeakMap,V=new WeakMap,oe=new WeakMap,ae=new WeakMap,le=new WeakSet,He=function(){const t=_(this,V).getVisible()?{kind:"available"}:{kind:"unavailable",reason:_(this,ae)};t.kind!==_(this,W).value.kind&&(_(this,W).value=t)};var ce;class er{constructor({intl:e}){x(this,ce);b(this,ce,e)}createSelectionSource(e){return new yn(e.vectorLayer,e.label,_(this,ce).formatMessage({id:"layerNotVisibleReason"}))}}ce=new WeakMap;const _n="@open-pioneer/notifier",vn=Ue.bind(void 0,_n),Sn=kt({d:"M23.384,21.619,16.855,15.09a9.284,9.284,0,1,0-1.768,1.768l6.529,6.529a1.266,1.266,0,0,0,1.768,0A1.251,1.251,0,0,0,23.384,21.619ZM2.75,9.5a6.75,6.75,0,1,1,6.75,6.75A6.758,6.758,0,0,1,2.75,9.5Z",displayName:"SearchIcon"}),Ht=kt({displayName:"WarningTwoIcon",d:"M23.119,20,13.772,2.15h0a2,2,0,0,0-3.543,0L.881,20a2,2,0,0,0,1.772,2.928H21.347A2,2,0,0,0,23.119,20ZM11,8.423a1,1,0,0,1,2,0v6a1,1,0,1,1-2,0Zm1.05,11.51h-.028a1.528,1.528,0,0,1-1.522-1.47,1.476,1.476,0,0,1,1.448-1.53h.028A1.527,1.527,0,0,1,13.5,18.4,1.475,1.475,0,0,1,12.05,19.933Z"}),xn=!1;function tr(r){const{position:e="top-right"}=r,t=nn(),s=vn("notifier.NotificationService"),[n,i]=p.useState(!xn),a=H(l=>{const d=l.level==="error"?u.jsx(Ht,{h:"100%",w:"100%"}):void 0;t({position:e,title:l.title,description:l.message||null,status:l.level,isClosable:!0,duration:l.displayDuration??null,icon:d})}),o=H(()=>{t.closeAll()});return p.useEffect(()=>{const l=s.registerHandler({showNotification:a,closeAll:o});return()=>l.destroy()},[n,s,a,o]),u.jsx(u.Fragment,{})}const wn="@open-pioneer/coordinate-viewer",bn=z.bind(void 0,wn),Mn=4,En="decimal",sr=r=>{const{precision:e,displayProjectionCode:t,format:s}=r,{containerProps:n}=B("coordinate-viewer",r),{map:i}=$(r),a=i?.olMap,o=U(()=>i?.projection.getCode()??"",[i]);let{coordinates:l}=Pn(a);l=l&&t?Ln(l,o,t):l;const d=Cn(l,e,s),c=t||o,g=d?d+" "+c:"";return u.jsx(L,{...n,children:u.jsx(Q,{className:"coordinate-viewer-text",children:g})})};function Cn(r,e,t){const s=bn();return r?Fn(r,e,s,t):""}function Pn(r){const[e,t]=p.useState();return p.useEffect(()=>{if(!r)return;const s=r.on("pointermove",n=>{t(n.coordinate)});return()=>R(s)},[r]),{coordinates:e}}function Fn(r,e,t,s){if(r[0]==null||r[1]==null)return"";const n=e??Mn,i=s??En,[a,o]=r;let l;if(i==="degree"&&isFinite(a)&&isFinite(o)){const[d,c,g]=gt(a,t,n),[h,f,m]=gt(o,t,n),v=`${Math.abs(d)}°${c}'${g}"${0<=d?"(E)":"(W)"}`,S=`${Math.abs(h)}°${f}'${m}"${0<=h?"(N)":"(S)"}`;l=v+" "+S}else{const d=t.formatNumber(a,{maximumFractionDigits:n,minimumFractionDigits:n}),c=t.formatNumber(o,{maximumFractionDigits:n,minimumFractionDigits:n});l=d+" "+c}return l}function gt(r,e,t){const s=Math.floor(r),n=r-s,i=Math.floor(60*n),o=60*(60*n-i),l=e.formatNumber(o,{maximumFractionDigits:t,minimumFractionDigits:t});return[s,i,l]}function Ln(r,e,t){return Ps(r,e,t)}const nr=r=>{const{displayMode:e="line"}=r,{containerProps:t}=B("scale-bar",r),{map:s}=$(r),n=p.useRef(null);return p.useEffect(()=>{if(n.current&&s){const i=s.olMap,a=new Ws({units:"metric",target:n.current,bar:e==="bar"});return i.addControl(a),()=>{i.removeControl(a)}}},[e,s]),u.jsx(L,{...t,ref:n})},In="@open-pioneer/scale-viewer",Tn=z.bind(void 0,In),ir=r=>{const{containerProps:e}=B("scale-viewer",r),{map:t}=$(r),s=Tn(),n=U(()=>t?.scale??1,[t]),i=n?s.formatNumber(n):void 0;return u.jsx(L,{...e,children:i&&u.jsxs(Q,{children:["1:",i]})})},An="@open-pioneer/legend",Bt=z.bind(void 0,An),rr=r=>{const{showBaseLayers:e=!1}=r,{containerProps:t}=B("legend",r),{map:s}=$(r);return u.jsx(L,{...t,children:s?u.jsx(Nn,{map:s,showBaseLayers:e}):null})};function Nn(r){const{map:e,showBaseLayers:t}=r,n=On(e).map(i=>u.jsx($t,{layer:i,showBaseLayers:t},i.id));return u.jsx(Ys,{as:"ul",className:"legend-layer-list",listStyleType:"none",spacing:2,children:n})}function $t(r){const{layer:e,showBaseLayers:t}=r,s=U(()=>e.visible,[e]),n=jn(e);if(!s||!t&&$s(e)&&Ut(e))return;const i=[];return n?.length&&n.forEach(a=>{i.push(u.jsx($t,{layer:a,showBaseLayers:t},a.id))}),u.jsxs(u.Fragment,{children:[u.jsx(kn,{layer:e,showBaseLayers:t}),i]})}function kn(r){const e=Bt(),{layer:t,showBaseLayers:s}=r,n=Ut(t),i=Dn(t),a=U(()=>t.legend,[t]);let o;return i?.Component?o=u.jsx(i.Component,{layer:t}):i?.imageUrl?o=u.jsx(ft,{layer:t,imageUrl:i.imageUrl}):a&&(o=u.jsx(ft,{layer:t,imageUrl:a})),o?u.jsxs(L,{as:"li",className:Le("legend-item",`layer-${Rn(t.id)}`),children:[s&&n?u.jsx(Q,{as:"b",children:e.formatMessage({id:"basemapLabel"})}):null,o]}):void 0}function ft(r){const e=Bt(),{layer:t,imageUrl:s}=r;return u.jsxs(L,{children:[u.jsx(Q,{children:t.title}),u.jsx(zs,{maxW:"none",maxH:"none",src:s,alt:e.formatMessage({id:"altLabel"},{layerName:t.title}),className:"legend-item__image",fallbackStrategy:"onError",fallback:u.jsx(L,{children:u.jsxs(Q,{children:[u.jsx(Ht,{me:2}),e.formatMessage({id:"fallbackLabel"})]})})})]})}function On(r){return U(()=>{const e=r.layers.getAllLayers({sortByDisplayOrder:!0})??[];return e.reverse(),e},[r])}function jn(r){return U(()=>{const e=r.sublayers?.getSublayers({sortByDisplayOrder:!0});if(e)return e.reverse(),e},[r])}function Dn(r){return U(()=>r.attributes.legend,[r])}function Ut(r){return!("parentLayer"in r)&&r.isBaseLayer}function Rn(r){return r.toLowerCase().replace(/[^a-z0-9 -]/g,"").replace(/\s+/g,"-").replace(/-+/g,"-")}const Gn="@open-pioneer/measurement",Vn=z.bind(void 0,Gn);class Hn{olMap;messages;activeFeatureStyle;layer;source;draw=void 0;activeMeasurement;predefinedMeasurements=new Map;finishedMeasurements=new Set;helpTooltip;resources=[];measurementChangedHandler;constructor(e,t){this.olMap=e,this.messages=t;const s=this.source=new Fe;this.layer=new ee({source:s,zIndex:$e,properties:{name:"measurement-layer"}}),e.addLayer(this.layer);const n=e.on("pointermove",this.handlePointerMove.bind(this));this.resources.push({destroy(){R(n)}});const i=()=>{this.helpTooltip.element.classList.add("hidden")};e.getViewport().addEventListener("mouseout",i),this.resources.push({destroy(){e.getViewport().removeEventListener("mouseout",i)}}),this.helpTooltip=$n(this.olMap)}destroy(){this.stopMeasurement();for(const e of this.resources)e.destroy();this.resources=[],this.activeMeasurement=at(this.activeMeasurement);for(const e of this.finishedMeasurements)e.destroy();this.finishedMeasurements.clear(),this.helpTooltip.destroy(),this.olMap.removeLayer(this.layer),this.layer.dispose(),this.source.dispose(),this.measurementChangedHandler=void 0,this.predefinedMeasurements.clear()}getVectorLayer(){return this.layer}setFinishedFeatureStyle(e){this.layer.setStyle(e)}setMeasurementSourceChangedHandler(e){this.measurementChangedHandler=e}setPredefinedMeasurements(e){this.updatePredefinedMeasurements(e)}setActiveFeatureStyle(e){const t=Fs(e);this.activeFeatureStyle=(s,...n)=>{const i=s?.getGeometry()?.getType();if(i==="Polygon"||i==="LineString"||i==="Point")return t(s,...n)},this.draw?.getOverlay().setStyle(this.activeFeatureStyle)}clearMeasurements(){const e=this.source.getFeatures();this.source.clear(),e.forEach(t=>{this.raiseMeasurementsChangeEvent("remove-measurement",t)}),this.predefinedMeasurements.clear();for(const t of this.finishedMeasurements)t.destroy();this.finishedMeasurements.clear()}startMeasurement(e){if(this.draw)throw new Error("Internal error: another measurement interaction is still active.");const t=e==="area"?"Polygon":"LineString",s=this.draw=new At({source:this.source,type:t,style:this.activeFeatureStyle});this.olMap.addInteraction(s);let n,i;s.on("drawstart",a=>{const o=a.feature;o&&(n=this.activeMeasurement=new mt("active",o,this),i=o.getGeometry()?.on("change",()=>{n?.updateTooltipContent(),n?.updateTooltipPosition()}))}),s.on("drawend",()=>{if(n&&n===this.activeMeasurement){const a=n;a.updateState("finished"),this.finishedMeasurements.add(a),this.raiseMeasurementsChangeEvent("add-measurement",a.feature),this.activeMeasurement=n=void 0}n=void 0,i&&R(i)}),s.on("drawabort",()=>{n&&(n.destroy(),n===this.activeMeasurement&&(this.activeMeasurement=void 0),n=void 0),i&&R(i)})}stopMeasurement(){this.draw&&(this.olMap.removeInteraction(this.draw),this.draw.abortDrawing(),this.draw.dispose(),this.draw=void 0),this.activeMeasurement=at(this.activeMeasurement)}handlePointerMove(e){if(e.dragging)return;const t=this.helpTooltip,s=Wn(this.messages,this.activeMeasurement);t.setText(s),t.overlay.setPosition(e.coordinate),t.element.classList.remove("hidden")}updatePredefinedMeasurements(e){const t=e.filter(n=>!this.predefinedMeasurements.has(n)),s=[];for(const n of this.predefinedMeasurements.keys())e.includes(n)||s.push(n);t.forEach(n=>{const i=new Z(n);this.source.addFeature(i);const a=new mt("finished",i,this);this.finishedMeasurements.add(a),this.predefinedMeasurements.set(n,a),this.raiseMeasurementsChangeEvent("add-measurement",i)}),s.forEach(n=>{const i=this.predefinedMeasurements.get(n);i&&(this.source.removeFeature(i.feature),this.finishedMeasurements.delete(i),i.destroy(),this.raiseMeasurementsChangeEvent("remove-measurement",i.feature)),this.predefinedMeasurements.delete(n)})}raiseMeasurementsChangeEvent(e,t){const s=t.getGeometry();this.measurementChangedHandler&&s&&this.measurementChangedHandler({kind:e,geometry:(s instanceof xe,s)})}}class mt{controller;feature;_state;tooltip;constructor(e,t,s){this.controller=s,this._state=e,this.feature=t,this.tooltip=Un(this.olMap),this.updateTooltipContent(),this.updateTooltipPosition(),this.tooltip.setActive(e==="active")}destroy(){this.tooltip.destroy()}get state(){return this._state}updateState(e){this._state!==e&&(this._state=e,this.tooltip.setActive(e==="active"))}updateTooltipContent(){const e=this.feature.getGeometry();if(!e)return;const t=this.olMap.getView().getProjection();let s;e instanceof xe?s=zn(e,t,this.messages):e instanceof Ge&&(s=Kn(e,t,this.messages)),s&&this.tooltip.setHtml(s)}updateTooltipPosition(){const e=this.feature.getGeometry();if(!e)return;let t;if(e instanceof xe)t=e.getInteriorPoint().getCoordinates()||null;else if(e instanceof Ge)t=e.getLastCoordinate()||null;else return;this.tooltip.overlay.setPosition(t)}get olMap(){return this.controller.olMap}get messages(){return this.controller.messages}}const pt=[0,-15],Bn=[0,-7];function $n(r){const e=document.createElement("div");e.className="measurement-tooltip printing-hide hidden",e.role="tooltip";const t=document.createElement("span");e.appendChild(t);const s=new Ie({element:e,offset:[15,0],positioning:"center-left"});return r.addOverlay(s),{overlay:s,element:e,destroy(){r.removeOverlay(s)},setText(n){t.textContent=n},setHtml(n){t.innerHTML=n}}}function Un(r){const e=document.createElement("div");e.role="tooltip",e.className="measurement-tooltip measurement-active-tooltip printing-hide";const t=document.createElement("span");e.appendChild(t);const s=new Ie({element:e,offset:pt,positioning:"bottom-center",stopEvent:!1,insertFirst:!1});return r.addOverlay(s),{overlay:s,element:e,destroy(){r.removeOverlay(s)},setActive(n){n?(e.className="measurement-tooltip measurement-active-tooltip printing-hide",s.setOffset(pt)):(e.className="measurement-tooltip measurement-finished-tooltip",s.setOffset(Bn))},setText(n){t.textContent=n},setHtml(n){t.innerHTML=n}}}function Wn(r,e){if(e){const t=e.feature.getGeometry();if(t instanceof xe||t instanceof Ge)return r.getContinueMessage()}return r.getHelpMessage()}function zn(r,e,t){const s=Ls(r,{projection:e});let n;return s>=1e6?n=`${t.formatNumber(s/1e6)} km2`:n=`${t.formatNumber(s)} m2`,n}function Kn(r,e,t){const s=Is(r,{projection:e});let n;return s>=1e3?n=`${t.formatNumber(s/1e3)} km`:n=`${t.formatNumber(s)} m`,n}const or=r=>{const e=Vn(),{containerProps:t}=B("measurement",r),[s,n]=p.useState("distance"),i=c=>e.formatMessage({id:c}),a=$(r),o=qn(a.map,r,e);p.useEffect(()=>{if(o)return o.startMeasurement(s),()=>{o.stopMeasurement()}},[o,s]);function l(c){if(c==="distance"||c==="area")n(c);else throw new Error(`Unexpected measurement type: '${c}'.`)}function d(){o?.clearMeasurements()}return u.jsxs(L,{...t,children:[u.jsx(Q,{mb:3,children:e.formatMessage({id:"measurementInfoText"})}),u.jsx(be,{mb:4,alignItems:"center",children:u.jsxs(Ve,{mb:2,children:[u.jsx(Me,{mb:1,children:i("measurementLabel")}),u.jsxs(Ke,{value:s,onChange:c=>l(c.target.value),className:"measurement-select",children:[u.jsx("option",{value:"distance",children:i("distance")}),u.jsx("option",{value:"area",children:i("area")})]})]})}),u.jsx(Ft,{padding:2,className:"measurement-delete-button",onClick:d,width:"100%",children:i("deleteMeasurementLabel")})]})};function qn(r,e,t){const{activeFeatureStyle:s,finishedFeatureStyle:n,onMeasurementsChange:i,predefinedMeasurements:a}=e,[o,l]=p.useState(void 0);return p.useEffect(()=>{if(!r)return;const d=new Hn(r.olMap,{getContinueMessage(){return t.formatMessage({id:"tooltips.continue"})},getHelpMessage(){return t.formatMessage({id:"tooltips.help"})},formatNumber(c){return t.formatNumber(c,{maximumFractionDigits:2})}});return l(d),()=>{d.destroy(),l(void 0)}},[r,t]),p.useEffect(()=>{o?.setActiveFeatureStyle(s??Yn())},[o,s]),p.useEffect(()=>{o?.setFinishedFeatureStyle(n??Jn())},[o,n]),p.useEffect(()=>{o?.setMeasurementSourceChangedHandler(i)},[o,i]),p.useEffect(()=>{o?.setPredefinedMeasurements(a??[])},[o,a]),o}function Yn(){return[new we({stroke:new ie({color:"#fff",lineDash:[10,10],width:5})}),new we({fill:new Re({color:"rgba(0,0,0,0.15)"}),stroke:new ie({color:"rgba(0, 0, 0, 0.7)",lineDash:[10,10],width:3}),image:new Ts({radius:5,stroke:new ie({color:"rgba(0, 0, 0, 0.7)",width:2}),fill:new Re({color:"rgba(255, 255, 255, 0.2)"})})})]}function Jn(){return[new we({stroke:new ie({color:"#fff",width:5})}),new we({stroke:new ie({color:"#0b96fc",width:3}),fill:new Re({color:"rgba(11,150,252,0.15)"})})]}const Xn="@open-pioneer/search",Te=z.bind(void 0,Xn);function Zn(r){const e=r.selectProps.inputValue.length>0,t={...r,className:Le(r.className,{"search-invisible":!e})};return u.jsx(j.Menu,{...t,children:r.children})}function Qn(r){const e=r.data.label,t={...r.innerProps,"aria-label":e,role:"group"};return u.jsx(j.Group,{...r,innerProps:t})}function ei(r){const t=Te().formatMessage({id:"noOptionsText"});return u.jsx(j.NoOptionsMessage,{...r,children:u.jsx(G.span,{className:"search-no-match",children:t})})}function ti(r){const t=Te().formatMessage({id:"loadingText"});return u.jsx(j.LoadingMessage,{...r,children:u.jsx(G.span,{className:"search-loading-text",children:t})})}function si({children:r,...e}){const t={...e,className:Le(e.className,"search-value-container")};return u.jsxs(j.ValueContainer,{...t,children:[!!r&&u.jsx(Sn,{style:{position:"absolute",left:8}}),r]})}function ni(r){const e={...r,isHidden:!1};return u.jsx(j.Input,{...e})}function ii(r){return null}function ri(r){return u.jsxs(j.IndicatorsContainer,{...r,children:[r.children,!r.selectProps.isLoading&&r.selectProps.inputValue&&u.jsx(oi,{selectProps:r.selectProps,clearValue:r.clearValue})]})}function oi(r){const t=Te().formatMessage({id:"ariaLabel.clearButton"}),s=n=>{n.preventDefault(),n.stopPropagation(),r.clearValue()};return u.jsx(Rs,{role:"button",size:"md",mr:1,"aria-label":t,onClick:s,onTouchEnd:s,onMouseDown:n=>n.preventDefault()})}function ai(r){return null}function li(r){const e=r.selectProps.inputValue,t=r.data.label,s={...r,className:Le(r.className,"search-option")};return u.jsx(j.Option,{...s,children:u.jsx(G.div,{className:"search-option-label",children:e.trim().length>0?ci(t,e):t})})}function ci(r,e){const t=r.toLowerCase().indexOf(e.toLowerCase());return t>=0?u.jsxs(u.Fragment,{children:[r.substring(0,t),u.jsx(G.span,{className:"search-highlighted-match",children:r.substring(t,t+e.length)},"highlighted"),r.substring(t+e.length)]}):r}const yt=fe("search:SearchController"),_t=200,vt=5;var de,Y,J,X,O,Ce,Wt;class di{constructor(e,t){x(this,Ce);x(this,de);x(this,Y,[]);x(this,J,vt);x(this,X,_t);x(this,O);b(this,de,e),b(this,Y,t)}destroy(){_(this,O)?.abort(),b(this,O,void 0)}async search(e){if(_(this,O)?.abort(),b(this,O,void 0),!e)return[];const t=b(this,O,new AbortController);try{return await ui(t.signal,_(this,X)),t.signal.aborted&&(yt.debug(`search canceled with ${e}`),Gs()),(await Promise.all(_(this,Y).map(n=>te(this,Ce,Wt).call(this,n,e,t.signal)))).filter(n=>n!=null)}finally{_(this,O)===t&&b(this,O,void 0)}}get searchTypingDelay(){return _(this,X)}set searchTypingDelay(e){b(this,X,e??_t)}get maxResultsPerSource(){return _(this,J)}set maxResultsPerSource(e){b(this,J,e??vt)}get sources(){return _(this,Y)}}de=new WeakMap,Y=new WeakMap,J=new WeakMap,X=new WeakMap,O=new WeakMap,Ce=new WeakSet,Wt=async function(e,t,s){const n=e.label,i=_(this,de).olMap.getView().getProjection();try{const a=_(this,J);let o=await e.search(t,{maxResults:a,signal:s,mapProjection:i});return o.length>a&&(o=o.slice(0,a)),{label:n,source:e,results:o}}catch(a){Lt(a)||yt.error(`search for source ${n} failed`,a);return}};async function ui(r,e){r.aborted||await new Promise(t=>{const s=()=>{r.removeEventListener("abort",s),clearTimeout(n),t()};r.addEventListener("abort",s);const n=setTimeout(s,e)})}const Ee=fe("search:Search"),ar=r=>{const{sources:e,searchTypingDelay:t,maxResultsPerGroup:s,onSelect:n,onClear:i}=r,{containerProps:a}=B("search",r),{map:o}=$(r),l=Te(),d=mi(e,t,s,o),{input:c,search:g,selectedOption:h,onInputChanged:f,onResultConfirmed:m}=pi(d),v=fi(),S=hi(l),I=gi(),N=H((C,me)=>{me.action==="input-change"&&f(C)}),w=H((C,me)=>{switch(me.action){case"select-option":C&&(m(C),n?.({source:C.source,result:C.result}));break;case"clear":f(""),E.current?.blur(),E.current?.focus(),i?.();break;default:Ee.debug(`Unhandled action type '${me.action}'.`);break}}),E=p.useRef(null);return u.jsx(L,{...a,children:u.jsx(Nt,{className:"search-component",classNamePrefix:"react-select",ref:E,inputValue:c,onInputChange:N,"aria-label":l.formatMessage({id:"ariaLabel.search"}),ariaLiveMessages:S,tagColorScheme:"trails",selectedOptionStyle:"color",selectedOptionColorScheme:"trails",chakraStyles:v,isClearable:!0,placeholder:r.placeholder??l.formatMessage({id:"searchPlaceholder"}),closeMenuOnSelect:!0,isLoading:g.kind==="loading",options:g.kind==="ready"?g.results:void 0,filterOption:()=>!0,tabSelectsValue:!1,components:I,onChange:w,value:h,menuPosition:"fixed"})})};function hi(r){return p.useMemo(()=>({onFocus:()=>"",onChange:()=>"",guidance:()=>`${r.formatMessage({id:"ariaLabel.instructions"})}`,onFilter:()=>""}),[r])}function gi(){return p.useMemo(()=>({Menu:Zn,Input:ni,SingleValue:ii,Option:li,NoOptionsMessage:ei,LoadingMessage:ti,ValueContainer:si,IndicatorsContainer:ri,ClearIndicator:ai,Group:Qn}),[])}function fi(){const[r,e,t]=It("colors",["trails.100","trails.50","chakra-body-text"],["#d5e5ec","#eaf2f5","#1A202C"]);return p.useMemo(()=>({groupHeading:n=>({...n,backgroundColor:r,padding:"8px 12px",fontSize:"inherit",fontWeight:"inherit"}),option:n=>({...n,backgroundColor:"inherit",_focus:{backgroundColor:e},_selected:{color:t}}),dropdownIndicator:n=>({...n,display:"none"})}),[r,e,t])}function mi(r,e,t,s){const[n,i]=p.useState(void 0);return p.useEffect(()=>{if(!s)return;const a=new di(s,r);return i(a),()=>{a.destroy(),i(void 0)}},[s,r]),p.useEffect(()=>{n&&(n.searchTypingDelay=e)},[n,e]),p.useEffect(()=>{n&&(n.maxResultsPerSource=t)},[n,t]),n}function pi(r){const[e,t]=p.useReducer((o,l)=>{switch(l.kind){case"input":return{...o,query:l.query,selectedOption:null};case"select-option":return{...o,selectedOption:l.option,query:l.option.label};case"load-results":return{...o,search:{kind:"loading"}};case"accept-results":return{...o,search:{kind:"ready",results:l.results}}}},void 0,()=>({query:"",selectedOption:null,search:{kind:"ready",results:[]}})),s=p.useRef(),n=H(o=>{if(!r){s.current=void 0,t({kind:"accept-results",results:[]});return}Ee.isDebug()&&Ee.debug(`Starting new search for query ${JSON.stringify(o)}.`),t({kind:"load-results"});const l=s.current=yi(r,o).then(d=>{s.current===l&&t({kind:"accept-results",results:d})})}),i=p.useCallback(o=>{t({kind:"select-option",option:o})},[]),a=p.useCallback(o=>{t({kind:"input",query:o}),n(o)},[n]);return{input:e.query,search:e.search,selectedOption:e.selectedOption,onResultConfirmed:i,onInputChanged:a}}async function yi(r,e){let t;try{t=await r.search(e)}catch(s){Lt(s)||Ee.error("Search failed",s),t=[]}return _i(t)}function _i(r){return r.map((t,s)=>({label:t.label,options:t.results.map(n=>({value:`${s}-${n.id}`,label:n.label,source:t.source,result:n}))}))}const zt="@open-pioneer/selection",vi=Ue.bind(void 0,zt),qe=z.bind(void 0,zt),ne="selection-active",_e="selection-inactive";class Si{tooltip;interactionResources=[];olMap;isActive=!0;tooltipMessage;tooltipDisabledMessage;constructor(e,t,s,n){const i=this.initViewport(e);this.interactionResources.push(this.createDragBox(e,n,i,this.interactionResources)),this.interactionResources.push(this.createDrag(e,i,this.interactionResources)),this.tooltip=this.createHelpTooltip(e,t),this.olMap=e,this.tooltipMessage=t,this.tooltipDisabledMessage=s}initViewport(e){const t=e.getViewport();return t.classList.add(ne),t.oncontextmenu=s=>(s.preventDefault(),!1),t}destroy(){this.tooltip.destroy(),this.interactionResources.forEach(e=>{e.destroy()})}setActive(e){if(this.isActive===e)return;const t=this.olMap.getViewport();e?(this.interactionResources.forEach(s=>this.olMap.addInteraction(s.interaction)),this.tooltip.setText(this.tooltipMessage),t.classList.remove(_e),t.classList.add(ne),this.isActive=!0):(this.interactionResources.forEach(s=>this.olMap.removeInteraction(s.interaction)),this.tooltip.setText(this.tooltipDisabledMessage),t.classList.remove(ne),t.classList.add(_e),this.isActive=!1)}createDragBox(e,t,s,n){const i=new nt({className:"selection-drag-box",condition:As});return e.addInteraction(i),i.on("boxend",function(){t(i.getGeometry())}),{interaction:i,destroy(){e.removeInteraction(i),n.splice(n.indexOf(this)),i.dispose(),s.classList.remove(ne),s.classList.remove(_e),s.oncontextmenu=null}}}createDrag(e,t,s){const n=function(o){return o.originalEvent.button==2},i=new it({condition:n});return e.addInteraction(i),{interaction:i,destroy(){e.removeInteraction(i),s.splice(s.indexOf(this)),i.dispose(),t.classList.remove(ne),t.classList.remove(_e),t.oncontextmenu=null}}}createHelpTooltip(e,t){const s=document.createElement("div");s.className="selection-tooltip printing-hide",s.role="tooltip";const n=document.createElement("span");n.textContent=t,s.appendChild(n);const i=new Ie({element:s,offset:[15,0],positioning:"center-left"}),a=e.on("pointermove",o=>{i.setPosition(o.coordinate)});return e.addOverlay(i),{overlay:i,element:s,destroy(){e.removeOverlay(i),i.dispose(),R(a)},setText(o){n.textContent=o}}}getDragboxInteraction(){return this.interactionResources.find(e=>e.interaction instanceof nt)}getDragPanInteraction(){return this.interactionResources.find(e=>e.interaction instanceof it)}}const je=fe("selection:SelectionController"),xi=1e4;var ue,he,ge,Pe,Kt;class wi{constructor(e){x(this,Pe);x(this,ue);x(this,he);x(this,ge);const{mapModel:t,onError:s,maxResults:n=xi}=e;b(this,ue,t),b(this,he,n),b(this,ge,s)}destroy(){}async select(e,t){if(t)return await te(this,Pe,Kt).call(this,e,t)}}ue=new WeakMap,he=new WeakMap,ge=new WeakMap,Pe=new WeakSet,Kt=async function(e,t){const s=_(this,ue).olMap.getView().getProjection();try{je.debug(`Starting selection on source '${e.label}'`);const n=_(this,he);let i=await e.select({type:"extent",extent:t},{maxResults:n,mapProjection:s,signal:new AbortController().signal});return i.length>n&&(i=i.slice(0,n)),je.debug(`Found ${i.length} results on source '${e.label}'`),{source:e,results:i}}catch(n){je.error(`selection from source ${e.label} failed`,n),_(this,ge).call(this);return}};const bi={classNamePrefix:"react-select",menuPosition:"fixed",isSearchable:!1,isClearable:!1},lr=r=>{const e=qe(),{sources:t,onSelectionComplete:s,onSelectionSourceChanged:n}=r,{containerProps:i}=B("selection",r),a=e.formatMessage({id:"sourceNotAvailable"}),[o,l]=Ci(t,n),d=Jt(o,a),c=$(r),{onExtentSelected:g}=Pi(c.map,t,o,s),h=Li(),[f,m]=p.useState(!1);Fi(c.map,e,g,d.kind==="available",!!o);const v=p.useMemo(()=>t.map(w=>({label:w.label,value:w})),[t]),S=p.useMemo(()=>v.find(E=>E.value===o)||null,[v,o]),I=H(w=>{l(w?.value)}),N=H(w=>{!f&&w.key==="Enter"&&m(!0)});return u.jsx(Vs,{...i,spacing:2,children:u.jsxs(be,{children:[u.jsx(Me,{children:e.formatMessage({id:"selectSource"})}),u.jsx(Nt,{className:"selection-source react-select",...bi,options:v,placeholder:e.formatMessage({id:"selectionPlaceholder"}),value:S,onChange:I,components:{Option:Mi,SingleValue:Ei},isOptionDisabled:()=>!1,getOptionLabel:w=>{const E=w.label,C=Yt(w.value,a);return C.kind=="available"?E:E+" "+C.reason},ariaLiveMessages:{guidance:()=>"",onChange:w=>w.action=="select-option"||w.action=="initial-input-focus"?w.label+" "+e.formatMessage({id:"selected"}):"",onFilter:()=>"",onFocus:()=>""},chakraStyles:h,onKeyDown:N,menuIsOpen:f,onMenuOpen:()=>m(!0),onMenuClose:()=>m(!1)})]})})};function Mi(r){const{value:e}=r.data,{isAvailable:t,content:s}=qt(e,!1);return u.jsx(j.Option,{...r,isDisabled:!t,className:"selection-source-option",children:s})}function Ei(r){const{value:e}=r.data,{isAvailable:t,content:s}=qt(e,!0),n=t?"selection-source-value":"selection-source-value selection-source-value--disabled";return u.jsx(j.SingleValue,{...r,isDisabled:!t,className:n,children:s})}function Ci(r,e){const[t,s]=p.useState(()=>r[0]);p.useEffect(()=>{t&&!r.includes(t)&&s(void 0)},[r,t]);const n=p.useRef(void 0);return p.useEffect(()=>{t!==n.current&&(n.current=t,e?.({source:t}))},[t,e]),[t,s]}function qt(r,e){const t=qe(),s=r?.label,n=t.formatMessage({id:"sourceNotAvailable"}),i=Jt(r,n);return{isAvailable:i.kind==="available",content:u.jsxs(rt,{direction:"row",alignItems:"center",grow:1,children:[!e&&u.jsx(rt,{grow:1,children:s}),i.kind==="unavailable"&&u.jsx(L,{ml:2,children:u.jsx(Hs,{label:i.reason,placement:"right",openDelay:500,children:u.jsx(G.span,{children:u.jsx(Bs,{as:Js,color:"red",className:"warning-icon","aria-label":i.reason})})})}),e&&s]})}}function Pi(r,e,t,s){const n=vi("notifier.NotificationService"),i=qe(),[a,o]=p.useState(void 0);p.useEffect(()=>{if(!r)return;const d=new wi({mapModel:r,onError(){n.notify({level:"error",message:i.formatMessage({id:"selectionFailed"})})}});return o(d),()=>{d.destroy()}},[r,n,e,i]);const l=H(async d=>{if(!a||!t)return;const c=await a.select(t,d.getExtent());c&&s?.(c)});return{controller:a,onExtentSelected:l}}function Yt(r,e){const t=r.status??"available",s=typeof t=="string"?{kind:t}:t;return s.kind==="available"?s:{kind:"unavailable",reason:s.reason??e}}function Jt(r,e){return U(()=>r?Yt(r,e):{kind:"unavailable",reason:e},[r,e])}function Fi(r,e,t,s,n){p.useEffect(()=>{if(!r)return;const i=n?e.formatMessage({id:"disabledTooltip"}):e.formatMessage({id:"noSourceTooltip"}),a=new Si(r.olMap,e.formatMessage({id:"tooltip"}),i,t);return a.setActive(s),()=>{a?.destroy()}},[r,e,t,s,n])}function Li(){const[r,e]=It("colors",["background_body","border"],["#ffffff","#ffffff"]);return p.useMemo(()=>({control:s=>({...s,cursor:"pointer"}),indicatorSeparator:s=>({...s,borderColor:e}),dropdownIndicator:s=>({...s,backgroundColor:r})}),[r,e])}const Xt="@open-pioneer/printing",Zt=Ue.bind(void 0,Xt),Ii=z.bind(void 0,Xt),Ti="map";class Ai{olMap;i18n;printingService;viewPadding;printMap=void 0;overlay=void 0;constructor(e,t,s){this.olMap=e,this.printingService=t,this.i18n=s}destroy(){this.reset()}setViewPadding(e){this.viewPadding=e}async handleMapExport(e){if(this.olMap)try{this.begin(),this.printMap=await this.printingService.printMap(this.olMap,{blockUserInteraction:!1,viewPadding:this.viewPadding});const t=this.printMap.getCanvas();if(t)e.fileFormat=="png"?await this.exportMapInPNG(t,e):await this.exportMapInPDF(t,e);else throw new Error("Canvas export failed")}finally{this.reset()}}begin(){const e=this.olMap.getTargetElement();e&&(this.overlay=Ks(e,this.i18n.overlayText))}reset(){this.overlay?.destroy(),this.overlay=void 0}getTitleAndFileName(e){const t=e.title||"",s=e.title||Ti;return{title:t,fileName:s}}async exportMapInPNG(e,t){const s=document.createElement("canvas");s.width=e.width,s.height=e.height+50,s.style.backgroundColor="#fff";const n=s.getContext("2d");if(!n)throw new Error("2d canvas rendering context not available");const{title:i,fileName:a}=this.getTitleAndFileName(t);n.fillStyle="#fff",n.fillRect(0,0,s.width,s.height),n.font="20px bold sans-serif",n.textAlign="center",n.fillStyle="#000";const o=s.width/2;n.fillText(i,o,20),n.drawImage(e,0,50);const l=document.createElement("a");l.setAttribute("download",a+".png");const d=qs(s);if(!d)throw new Error("Failed to get image data URL");l.href=d,l.click()}async exportMapInPDF(e,t){const{jsPDF:s}=await Xs(async()=>{const{jsPDF:I}=await import("./DyTV57ff4rkW.js");return{jsPDF:I}},__vite__mapDeps([0,1,2,3,4,5,6,7,8]),import.meta.url),n=new s({orientation:"landscape",unit:"mm",format:"a4"}),i=n.internal.pageSize.getWidth(),a=n.internal.pageSize.getHeight(),o=15,l=20,d=a-l;n.setFontSize(20);const{title:c,fileName:g}=this.getTitleAndFileName(t);n.text(c,i/2,o,{align:"center"});const h=e.width/e.height;let f=d,m=f*h;m>=i&&(m=i,f=m/h);const v=(i-m)/2,S=l+(d-f)/2;n.addImage(e,"",v,S,m,f),n.save(g+".pdf")}}const Ni=fe("printing"),cr=r=>{const e=Ii(),{viewPadding:t="auto"}=r,{containerProps:s}=B("printing",r),[n,i]=p.useState("pdf"),[a,o]=p.useState(""),[l,d]=p.useState(!1),c=Zt("notifier.NotificationService"),{map:g}=$(r),h=ki(g,e,t);function f(v){(v==="png"||v==="pdf")&&i(v)}function m(){l||!h||(d(!0),h.handleMapExport({title:a,fileFormat:n}).catch(v=>{const S=e.formatMessage({id:"printingFailed"});c.notify({level:"error",message:S}),Ni.error("Failed to print the map",v)}).finally(()=>{d(!1)}))}return u.jsx(L,{...s,children:u.jsxs(L,{as:"form",m:2,alignItems:"center",onSubmit:v=>{v.preventDefault(),m()},children:[u.jsxs(be,{as:Ve,mb:2,children:[u.jsx(Me,{minWidth:"82",mb:1,children:e.formatMessage({id:"title"})}),u.jsx(ze,{placeholder:e.formatMessage({id:"input.placeholder"}),value:a,onChange:v=>{o(v.target.value)},autoFocus:!0})]}),u.jsxs(be,{as:Ve,mb:2,children:[u.jsx(Me,{minWidth:"82",mb:1,children:e.formatMessage({id:"fileFormat"})}),u.jsxs(Ke,{value:n,onChange:v=>f(v.target.value),className:"printing-select",children:[u.jsx("option",{value:"png",children:"PNG"}),u.jsx("option",{value:"pdf",children:"PDF"})]})]}),u.jsx(Ft,{isLoading:l,loadingText:e.formatMessage({id:"printingMap"}),disabled:l,mt:2,p:2,className:"printing-export-button",type:"submit",width:"100%",children:e.formatMessage({id:"export"})})]})})};function ki(r,e,t){const s=Zt("printing.PrintingService"),[n,i]=p.useState(void 0);return p.useEffect(()=>{if(!r)return;const a=new Ai(r.olMap,s,{overlayText:e.formatMessage({id:"printingMap"})});return i(a),()=>{a.destroy(),i(void 0)}},[r,e,s]),p.useEffect(()=>{n?.setViewPadding(t)},[n,t]),n}export{sr as C,Qi as E,ze as I,rr as L,or as M,tr as N,Ie as O,cr as P,Rt as S,er as V,Zi as W,nr as a,ir as b,ar as c,lr as d,Ke as e}; diff --git a/openlayers-base-packages/assets/OM1YzF7yjem8.js b/openlayers-base-packages/assets/OM1YzF7yjem8.js new file mode 100644 index 000000000..f8bc1a6a9 --- /dev/null +++ b/openlayers-base-packages/assets/OM1YzF7yjem8.js @@ -0,0 +1,4 @@ +var J=a=>{throw TypeError(a)};var V=(a,e,t)=>e.has(a)||J("Cannot "+t);var w=(a,e,t)=>(V(a,e,"read from private field"),t?t.call(a):e.get(a)),E=(a,e,t)=>e.has(a)?J("Cannot add the same private member more than once"):e instanceof WeakSet?e.add(a):e.set(a,t),v=(a,e,t,i)=>(V(a,e,"write to private field"),i?i.call(a,t):e.set(a,t),t),x=(a,e,t)=>(V(a,e,"access private method"),t);import{r as R,a9 as ue,h as se,j as K,a7 as fe,g as Q,c as ge,d as _e}from"./Mxtq6FG0Aq1_.js";import{_ as me}from"./CmsKOCeNyeyo.js";import{b_ as pe,b$ as ye,B as Ce,c0 as we,c1 as ke,c2 as Te,bd as xe,c3 as Pe,bB as ve,bp as Z,bt as Se,a as Le,b as De,c4 as Ee,bh as ee,bA as be,c5 as Me,a9 as Ie,bm as k,c6 as Fe,G as Re,bo as ne,a_ as b,an as B,c7 as te,bw as Ne,ao as Oe,am as re,bz as Ge,c8 as Ue,c9 as oe,ca as Ae,aK as je,aM as We,cb as ie,aq as Ve}from"./5C5XmiCGgLmB.js";import{a as Be,b as ae,M as he,G as qe}from"./DWkb3PmnrxhS.js";import{L as j}from"./D69t4K7RmA6W.js";function He(a){const{loading:e,src:t,srcSet:i,onLoad:s,onError:r,crossOrigin:n,sizes:o,ignoreFallback:h}=a,[l,c]=R.useState("pending");R.useEffect(()=>{c(t?"loading":"pending")},[t]);const d=R.useRef(),u=R.useCallback(()=>{if(!t)return;f();const g=new Image;g.src=t,n&&(g.crossOrigin=n),i&&(g.srcset=i),o&&(g.sizes=o),e&&(g.loading=e),g.onload=_=>{f(),c("loaded"),s?.(_)},g.onerror=_=>{f(),c("failed"),r?.(_)},d.current=g},[t,n,i,o,s,r,e]),f=()=>{d.current&&(d.current.onload=null,d.current.onerror=null,d.current=null)};return ue(()=>{if(!h)return l==="loading"&&u(),()=>{f()}},[l,u,h]),h?"loaded":l}const $e=(a,e)=>a!=="loaded"&&e==="beforeLoadOrError"||a==="failed"&&e==="onError",Y=se(function(e,t){const{htmlWidth:i,htmlHeight:s,alt:r,...n}=e;return K.jsx("img",{width:i,height:s,ref:t,alt:r,...n})});Y.displayName="NativeImage";const Xe=se(function(e,t){const{fallbackSrc:i,fallback:s,src:r,srcSet:n,align:o,fit:h,loading:l,ignoreFallback:c,crossOrigin:d,fallbackStrategy:u="beforeLoadOrError",referrerPolicy:f,...g}=e,_=i!==void 0||s!==void 0,m=l!=null||c||!_,P=He({...e,crossOrigin:d,ignoreFallback:m}),T=$e(P,u),p={ref:t,objectFit:h,objectPosition:o,...m?g:fe(g,["onError","onLoad"])};return T?s||K.jsx(Q.img,{as:Y,className:"chakra-image__placeholder",src:i,...p}):K.jsx(Q.img,{as:Y,src:r,srcSet:n,crossOrigin:d,loading:l,referrerPolicy:f,className:"chakra-image",...p})});Xe.displayName="Image";class W extends pe{constructor(e,t,i){super(),i!==void 0&&t===void 0?this.setFlatCoordinates(i,e):(t=t||0,this.setCenterAndRadius(e,t,i))}clone(){const e=new W(this.flatCoordinates.slice(),void 0,this.layout);return e.applyProperties(this),e}closestPointXY(e,t,i,s){const r=this.flatCoordinates,n=e-r[0],o=t-r[1],h=n*n+o*o;if(h=i[0]||e[1]<=i[1]&&e[3]>=i[1]?!0:we(e,this.intersectsCoordinate.bind(this))}return!1}setCenter(e){const t=this.stride,i=this.flatCoordinates[t]-this.flatCoordinates[0],s=e.slice();s[t]=s[0]+i;for(let r=1;r component has likely been used twice in your application.`),{destroy(){}};v(this,C,e);const t=w(this,D);if(v(this,D,void 0),t)for(const[s,...r]of t)e[s](...r);let i=!1;return{destroy:()=>{i||(i=!0,w(this,C)===e&&v(this,C,void 0))}}}}C=new WeakMap,D=new WeakMap,F=new WeakMap,y=new WeakSet,I=function(e,t){typeof t=="string"&&(t={message:t}),this.notify({...t,level:e})},z=function(e,...t){if(w(this,C))w(this,C)[e](...t);else{const i=w(this,D)??v(this,D,[]);if(i.length>=1024){q.error(`Internal notification buffer overflow: this event will be dropped to prevent a memory leak. +Make sure that the UI is configured to display notifications (use ).`,{method:e,args:t});return}i.push([e,...t])}},Ke=function(){w(this,C)||q.warn(`No notification handler has been registered: notifications will not be visible. +Make sure that your app contains the component.`)};const N={DRAWSTART:"drawstart",DRAWEND:"drawend",DRAWABORT:"drawabort"};class O extends Oe{constructor(e,t){super(e),this.feature=t}}function Ye(a,e){const t=[];for(let i=0;i=t?a[e-t]:a[e]}function U(a,e,t){let i,s;en){const h=L(a,i),l=L(a,s);return G(h,l)}let o=0;if(iu.startIndex?_u.startIndex&&(_-=f.length)),h=_,o=d)}const l=e.targets[o];let c=l.ring;if(e.targetIndex===o&&c){const d=L(l.coordinates,h),u=t.getPixelFromCoordinate(d);ne(u,e.startPx)>i&&(c=!1)}if(c){const d=l.coordinates,u=d.length,f=l.startIndex,g=h;if(f=t?i-=t:i<0&&(i+=t);let r=i+1;r>=t&&(r-=t);const n=a[i],o=n[0],h=n[1],l=a[r],c=l[0]-o,d=l[1]-h;return[o+c*s,h+d*s]}class Je extends xe{constructor(e){const t=e;t.stopDown||(t.stopDown=Pe),super(t),this.on,this.once,this.un,this.shouldHandle_=!1,this.downPx_=null,this.downTimeout_,this.lastDragTime_,this.pointerType_,this.freehand_=!1,this.source_=e.source?e.source:null,this.features_=e.features?e.features:null,this.snapTolerance_=e.snapTolerance?e.snapTolerance:12,this.type_=e.type,this.mode_=Ze(this.type_),this.stopClick_=!!e.stopClick,this.minPoints_=e.minPoints?e.minPoints:this.mode_==="Polygon"?3:2,this.maxPoints_=this.mode_==="Circle"?2:e.maxPoints?e.maxPoints:1/0,this.finishCondition_=e.finishCondition?e.finishCondition:ve,this.geometryLayout_=e.geometryLayout?e.geometryLayout:"XY";let i=e.geometryFunction;if(!i){const s=this.mode_;if(s==="Circle")i=(r,n,o)=>{const h=n||new W([NaN,NaN]),l=Z(r[0]),c=Se(l,Z(r[r.length-1]));return h.setCenterAndRadius(l,Math.sqrt(c),this.geometryLayout_),h};else{let r;s==="Point"?r=B:s==="LineString"?r=j:s==="Polygon"&&(r=re),i=(n,o,h)=>(o?s==="Polygon"?n[0].length?o.setCoordinates([n[0].concat([n[0][0]])],this.geometryLayout_):o.setCoordinates([],this.geometryLayout_):o.setCoordinates(n,this.geometryLayout_):o=new r(n,this.geometryLayout_),o)}}this.geometryFunction_=i,this.dragVertexDelay_=e.dragVertexDelay!==void 0?e.dragVertexDelay:500,this.finishCoordinate_=null,this.sketchFeature_=null,this.sketchPoint_=null,this.sketchCoords_=null,this.sketchLine_=null,this.sketchLineCoords_=null,this.squaredClickTolerance_=e.clickTolerance?e.clickTolerance*e.clickTolerance:36,this.overlay_=new Le({source:new De({useSpatialIndex:!1,wrapX:e.wrapX?e.wrapX:!1}),style:e.style?e.style:Qe(),updateWhileInteracting:!0}),this.geometryName_=e.geometryName,this.condition_=e.condition?e.condition:Ee,this.freehandCondition_,e.freehand?this.freehandCondition_=ee:this.freehandCondition_=e.freehandCondition?e.freehandCondition:be,this.traceCondition_,this.setTrace(e.trace||!1),this.traceState_={active:!1},this.traceSource_=e.traceSource||e.source||null,this.addChangeListener(Me.ACTIVE,this.updateState_)}setTrace(e){let t;e?e===!0?t=ee:t=e:t=Ge,this.traceCondition_=t}setMap(e){super.setMap(e),this.updateState_()}getOverlay(){return this.overlay_}handleEvent(e){e.originalEvent.type===Ie.CONTEXTMENU&&e.originalEvent.preventDefault(),this.freehand_=this.mode_!=="Point"&&this.freehandCondition_(e);let t=e.type===k.POINTERMOVE,i=!0;return!this.freehand_&&this.lastDragTime_&&e.type===k.POINTERDRAG&&(Date.now()-this.lastDragTime_>=this.dragVertexDelay_?(this.downPx_=e.pixel,this.shouldHandle_=!this.freehand_,t=!0):this.lastDragTime_=void 0,this.shouldHandle_&&this.downTimeout_!==void 0&&(clearTimeout(this.downTimeout_),this.downTimeout_=void 0)),this.freehand_&&e.type===k.POINTERDRAG&&this.sketchFeature_!==null?(this.addToDrawing_(e.coordinate),i=!1):this.freehand_&&e.type===k.POINTERDOWN?i=!1:t&&this.getPointerCount()<2?(i=e.type===k.POINTERMOVE,i&&this.freehand_?(this.handlePointerMove_(e),this.shouldHandle_&&e.originalEvent.preventDefault()):(e.originalEvent.pointerType==="mouse"||e.type===k.POINTERDRAG&&this.downTimeout_===void 0)&&this.handlePointerMove_(e)):e.type===k.DBLCLICK&&(i=!1),super.handleEvent(e)&&i}handleDownEvent(e){return this.shouldHandle_=!this.freehand_,this.freehand_?(this.downPx_=e.pixel,this.finishCoordinate_||this.startDrawing_(e.coordinate),!0):this.condition_(e)?(this.lastDragTime_=Date.now(),this.downTimeout_=setTimeout(()=>{this.handlePointerMove_(new Fe(k.POINTERMOVE,e.map,e.originalEvent,!1,e.frameState))},this.dragVertexDelay_),this.downPx_=e.pixel,!0):(this.lastDragTime_=void 0,!1)}deactivateTrace_(){this.traceState_={active:!1}}toggleTraceState_(e){if(!this.traceSource_||!this.traceCondition_(e))return;if(this.traceState_.active){this.deactivateTrace_();return}const t=this.getMap(),i=t.getCoordinateFromPixel([e.pixel[0]-this.snapTolerance_,e.pixel[1]+this.snapTolerance_]),s=t.getCoordinateFromPixel([e.pixel[0]+this.snapTolerance_,e.pixel[1]-this.snapTolerance_]),r=Re([i,s]),n=this.traceSource_.getFeaturesInExtent(r);if(n.length===0)return;const o=Ye(e.coordinate,n);o.length&&(this.traceState_={active:!0,startPx:e.pixel.slice(),targets:o,targetIndex:-1})}addOrRemoveTracedCoordinates_(e,t){const i=e.startIndex<=e.endIndex,s=e.startIndex<=t;i===s?i&&t>e.endIndex||!i&&te.endIndex)&&this.removeTracedCoordinates_(t,e.endIndex):(this.removeTracedCoordinates_(e.startIndex,e.endIndex),this.addTracedCoordinates_(e,e.startIndex,t))}removeTracedCoordinates_(e,t){if(e===t)return;let i=0;if(e0&&this.removeLastPoints_(i)}addTracedCoordinates_(e,t,i){if(t===i)return;const s=[];if(t=n;--o)s.push(S(e.coordinates,o))}s.length&&this.appendCoordinates(s)}updateTrace_(e){const t=this.traceState_;if(!t.active||t.targetIndex===-1&&ne(t.startPx,e.pixel)this.squaredClickTolerance_:n<=this.squaredClickTolerance_,!this.shouldHandle_)return}if(!this.finishCoordinate_){this.createOrUpdateSketchPoint_(e.coordinate.slice());return}this.updateTrace_(e),this.modifyDrawing_(e.coordinate)}atFinish_(e,t){let i=!1;if(this.sketchFeature_){let s=!1,r=[this.finishCoordinate_];const n=this.mode_;if(n==="Point")i=!0;else if(n==="Circle")i=this.sketchCoords_.length===2;else if(n==="LineString")s=!t&&this.sketchCoords_.length>this.minPoints_;else if(n==="Polygon"){const o=this.sketchCoords_;s=o[0].length>this.minPoints_,r=[o[0][0],o[0][o[0].length-2]],t?r=[o[0][0]]:r=[o[0][0],o[0][o[0].length-2]]}if(s){const o=this.getMap();for(let h=0,l=r.length;h=this.maxPoints_&&(this.freehand_?r.pop():s=!0),r.push(e.slice()),this.geometryFunction_(r,t,i)):n==="Polygon"&&(r=this.sketchCoords_[0],r.length>=this.maxPoints_&&(this.freehand_?r.pop():s=!0),r.push(e.slice()),s&&(this.finishCoordinate_=r[0]),this.geometryFunction_(this.sketchCoords_,t,i)),this.createOrUpdateSketchPoint_(e.slice()),this.updateSketchFeatures_(),s?this.finishDrawing():this.sketchFeature_}removeLastPoints_(e){if(!this.sketchFeature_)return;const t=this.sketchFeature_.getGeometry(),i=this.getMap().getView().getProjection(),s=this.mode_;for(let r=0;r=2){this.finishCoordinate_=n[n.length-2].slice();const o=this.finishCoordinate_.slice();n[n.length-1]=o,this.createOrUpdateSketchPoint_(o)}this.geometryFunction_(n,t,i),t.getType()==="Polygon"&&this.sketchLine_&&this.createOrUpdateCustomSketchLine_(t)}else if(s==="Polygon"){n=this.sketchCoords_[0],n.splice(-2,1);const o=this.sketchLine_.getGeometry();if(n.length>=2){const h=n[n.length-2].slice();n[n.length-1]=h,this.createOrUpdateSketchPoint_(h)}o.setCoordinates(n),this.geometryFunction_(this.sketchCoords_,t,i)}if(n.length===1){this.abortDrawing();break}}this.updateSketchFeatures_()}removeLastPoint(){this.removeLastPoints_(1)}finishDrawing(){const e=this.abortDrawing_();if(!e)return null;let t=this.sketchCoords_;const i=e.getGeometry(),s=this.getMap().getView().getProjection();return this.mode_==="LineString"?(t.pop(),this.geometryFunction_(t,i,s)):this.mode_==="Polygon"&&(t[0].pop(),this.geometryFunction_(t,i,s),t=i.getCoordinates()),this.type_==="MultiPoint"?e.setGeometry(new Be([t])):this.type_==="MultiLineString"?e.setGeometry(new ae([t])):this.type_==="MultiPolygon"&&e.setGeometry(new he([t])),this.dispatchEvent(new O(N.DRAWEND,e)),this.features_&&this.features_.push(e),this.source_&&this.source_.addFeature(e),e}abortDrawing_(){this.finishCoordinate_=null;const e=this.sketchFeature_;return this.sketchFeature_=null,this.sketchPoint_=null,this.sketchLine_=null,this.overlay_.getSource().clear(!0),this.deactivateTrace_(),e}abortDrawing(){const e=this.abortDrawing_();e&&this.dispatchEvent(new O(N.DRAWABORT,e))}appendCoordinates(e){const t=this.mode_,i=!this.sketchFeature_;i&&this.startDrawing_(e[0]);let s;if(t==="LineString"||t==="Circle")s=this.sketchCoords_;else if(t==="Polygon")s=this.sketchCoords_&&this.sketchCoords_.length?this.sketchCoords_[0]:[];else return;i&&s.shift(),s.pop();for(let n=0;n=h){u=_,f=m,g=P;break}else if(f>=o)break;_=u,m=f,P=g,++d}const T=this.scaleBar_?this.createScaleBar(f,u,c):u.toFixed(g<0?-g:0)+" "+c;this.renderedHTML_!=T&&(this.innerElement_.innerHTML=T,this.renderedHTML_=T),this.renderedWidth_!=f&&(this.innerElement_.style.width=f+"px",this.renderedWidth_=f),this.renderedVisible_||(this.element.style.display="",this.renderedVisible_=!0)}createScaleBar(e,t,i){const s=this.getScaleForResolution(),r=s<1?Math.round(1/s).toLocaleString()+" : 1":"1 : "+Math.round(s).toLocaleString(),n=this.scaleBarSteps_,o=e/n,h=[this.createMarker("absolute")];for(let c=0;c
`+this.createMarker("relative")+(c%2===0||n===2?this.createStepText(c,e,!1,t,i):"")+"")}return h.push(this.createStepText(n,e,!0,t,i)),(this.scaleBarText_?`
`+r+"
":"")+h.join("")}createMarker(e){return`
`}createStepText(e,t,i,s,r){const o=(e===0?0:Math.round(s/this.scaleBarSteps_*e*100)/100)+(e===0?"":" "+r),h=e===0?-3:t/this.scaleBarSteps_*-1,l=e===0?0:t/this.scaleBarSteps_*2;return`
`+o+"
"}getScaleForResolution(){const e=ie(this.viewState_.projection,this.viewState_.resolution,this.viewState_.center,"m"),t=this.dpi_||M,i=1e3/25.4;return e*i*t}render(e){const t=e.frameState;t?this.viewState_=t.viewState:this.viewState_=null,this.updateElement_()}}const it=.8,de="printing-hide";function st(a,e){return a.toDataURL("image/png",e??it)}function nt(a,e){const t=document.createElement("div");t.classList.add("printing-overlay",de),a.appendChild(t);const i=document.createElement("div");return i.classList.add("printing-overlay-status"),i.textContent=e,t.appendChild(i),{destroy(){t.remove()}}}class gt{defaultOverlayText;constructor(e){this.defaultOverlayText=e.intl.formatMessage({id:"printingMap"})}async printMap(e,t){return await new rt(e,{blockUserInteraction:!0,overlayText:this.defaultOverlayText,viewPadding:"auto",...t}).printMap()}}class rt{olMap;blockUserInteraction=!1;overlayText;viewPadding;running=!1;drawInformation=[];scaleLine=void 0;overlay=void 0;constructor(e,t){this.olMap=e,this.blockUserInteraction=t.blockUserInteraction,this.overlayText=t.overlayText,this.viewPadding=t.viewPadding}async printMap(){if(this.running)throw new Error("Printing already running.");try{await this.beginExport();let e=await this.printToCanvas(this.olMap.getViewport());if(!e)throw new Error("Canvas export failed");return this.viewPadding==="auto"&&(e=this.removePadding(e,this.getViewPadding())),new ot(e)}finally{this.reset()}}async beginExport(){this.running=!0;const e=this.olMap.getInteractions().getArray().filter(t=>t.getActive()&&t instanceof Je);if(this.drawInformation=[],e?.forEach(t=>{const i=t,s=i.getOverlay().getStyle();i.getOverlay().setStyle(null),this.drawInformation?.push({draw:i,style:s})}),this.blockUserInteraction){const t=this.olMap?.getTargetElement();t&&(this.overlay=nt(t,this.overlayText))}await this.addScaleLine()}async addScaleLine(){const t=(this.scaleLine=new tt({className:"printing-scale-bar ol-scale-bar",bar:!0,text:!0,minWidth:125})).element;if(!t)throw new Error("Scale line does not have an element");let i=50,s=8;if(this.viewPadding==="auto"){const{bottom:h,left:l}=this.getViewPadding();i=Math.max(h+8,i),s+=l}t.style.setProperty("--printing-scale-bar-bottom",`${i}px`),t.style.setProperty("--printing-scale-bar-left",`${s}px`);const r=_e(),n=setTimeout(()=>{r.reject(new Error("Scale line did not render"))},3e3),o=this.scaleLine.render;this.scaleLine.render=(...h)=>{o.apply(this.scaleLine,h),r.resolve()},this.olMap?.addControl(this.scaleLine);try{await r.promise,await new Promise(h=>{requestAnimationFrame(h)})}finally{clearTimeout(n)}}async printToCanvas(e){const t={useCORS:!0,ignoreElements:function(r){if(r.classList&&typeof r.classList=="object"){const n=r.classList;return n.contains("map-anchors")||n.contains(de)}return!1}},i=(await me(async()=>{const{default:r}=await import("./BfxBtG_Oxhhm.js");return{default:r}},[],import.meta.url)).default;return await i(e,t)}reset(){this.scaleLine&&(this.olMap?.removeControl(this.scaleLine),this.scaleLine=void 0),this.overlay&&(this.overlay.destroy(),this.overlay=void 0),this.running=!1,this.drawInformation?.length&&this.drawInformation.forEach(e=>{e.draw.getOverlay().setStyle(e.style)})}removePadding(e,t){const i=window.devicePixelRatio||1,s={top:t.top*i,right:t.right*i,bottom:t.bottom*i,left:t.left*i};if(s.left===0&&s.right===0&&s.top===0&&s.bottom===0)return e;const{width:r,height:n}=e,o=document.createElement("canvas");o.width=r-s.left-s.right,o.height=n-s.top-s.bottom;const h=o.getContext("2d");if(!h)throw new Error("Failed to get a canvas context");return h.drawImage(e,s.left,s.top,o.width,o.height,0,0,o.width,o.height),o}getViewPadding(){const t=this.olMap.getView().padding??[0,0,0,0];return{top:t[0]??0,right:t[1]??0,bottom:t[2]??0,left:t[3]??0}}}class ot{canvas;constructor(e){this.canvas=e}getCanvas(){return this.canvas}getPNGDataURL(e){return st(this.canvas,e)}}export{Je as D,Xe as I,ft as N,gt as P,tt as S,st as a,nt as c}; diff --git a/openlayers-base-packages/assets/Crpk8JACbf_-.js b/openlayers-base-packages/assets/htduZY73xN9H.js similarity index 82% rename from openlayers-base-packages/assets/Crpk8JACbf_-.js rename to openlayers-base-packages/assets/htduZY73xN9H.js index c820ebc4a..41714114d 100644 --- a/openlayers-base-packages/assets/Crpk8JACbf_-.js +++ b/openlayers-base-packages/assets/htduZY73xN9H.js @@ -1 +1 @@ -import{a as k,c as y,r as p,j as e,B as c,S as z,b as m,V as g,f as S}from"./Mxtq6FG0Aq1_.js";import{t as j}from"./hZvUQIaW6FE0.js";import{S as I,T as C,O as M,M as P,H as L,f as R,i as _,k as b,g as E,h as A,l as T,m as s}from"./5C5XmiCGgLmB.js";import{P as H,N as q,I as N}from"./DW8DcLzWV1Z-.js";import{_ as v}from"./CmsKOCeNyeyo.js";import{T as i,U,a as h}from"./BOwySe0UXVY3.js";import"./DWkb3PmnrxhS.js";import"./D69t4K7RmA6W.js";const d="main";class O{mapId=d;async getMapConfig(){return{initialView:{kind:"position",center:{x:404747,y:5757920},zoom:14},layers:[new I({title:"OSM",isBaseLayer:!0,olLayer:new C({source:new M})})]}}}const F={"printing-api-app":{name:"printing-api-app",services:{MapConfigProviderImpl:{name:"MapConfigProviderImpl",clazz:O,provides:[{name:"map.MapConfigProvider",qualifier:void 0}],references:{}}},ui:{references:[{name:"printing.PrintingService",qualifier:void 0,all:!1}]},properties:{}},"@open-pioneer/chakra-integration":{name:"@open-pioneer/chakra-integration",services:{},ui:{references:[]},properties:{}},"@open-pioneer/runtime":{name:"@open-pioneer/runtime",services:{},ui:{references:[]},properties:{}},"@open-pioneer/react-utils":{name:"@open-pioneer/react-utils",services:{},ui:{references:[]},properties:{}},"@open-pioneer/map":{name:"@open-pioneer/map",services:{MapRegistryImpl:{name:"MapRegistryImpl",clazz:P,provides:[{name:"map.MapRegistry",qualifier:void 0}],references:{providers:{name:"map.MapConfigProvider",qualifier:void 0,all:!0},httpService:{name:"http.HttpService",qualifier:void 0,all:!1}}}},ui:{references:[{name:"map.MapRegistry",qualifier:void 0,all:!1}]},properties:{}},"@open-pioneer/theme":{name:"@open-pioneer/theme",services:{},ui:{references:[]},properties:{}},"@open-pioneer/http":{name:"@open-pioneer/http",services:{HttpServiceImpl:{name:"HttpServiceImpl",clazz:L,provides:[{name:"http.HttpService",qualifier:"http.HttpService"}],references:{interceptors:{name:"http.Interceptor",qualifier:void 0,all:!0}}}},ui:{references:[]},properties:{}},"@open-pioneer/printing":{name:"@open-pioneer/printing",services:{PrintingServiceImpl:{name:"PrintingServiceImpl",clazz:H,provides:[{name:"printing.PrintingService",qualifier:void 0}],references:{}}},ui:{references:[{name:"notifier.NotificationService",qualifier:void 0,all:!1},{name:"printing.PrintingService",qualifier:void 0,all:!1}]},properties:{}},"@open-pioneer/base-theme":{name:"@open-pioneer/base-theme",services:{},ui:{references:[]},properties:{}},"@open-pioneer/core":{name:"@open-pioneer/core",services:{},ui:{references:[]},properties:{}},"@open-pioneer/runtime-react-support":{name:"@open-pioneer/runtime-react-support",services:{},ui:{references:[]},properties:{}},"@open-pioneer/notifier":{name:"@open-pioneer/notifier",services:{NotificationServiceImpl:{name:"NotificationServiceImpl",clazz:q,provides:[{name:"notifier.NotificationService",qualifier:"notifier.NotificationService"}],references:{}}},ui:{references:[{name:"notifier.NotificationService",qualifier:void 0,all:!1}]},properties:{}}},G=':root,:host{--ol-background-color: white;--ol-accent-background-color: #F5F5F5;--ol-subtle-background-color: rgba(128, 128, 128, .25);--ol-partial-background-color: rgba(255, 255, 255, .75);--ol-foreground-color: #333333;--ol-subtle-foreground-color: #666666;--ol-brand-color: #00AAFF}.ol-box{box-sizing:border-box;border-radius:2px;border:1.5px solid var(--ol-background-color);background-color:var(--ol-partial-background-color)}.ol-mouse-position{top:8px;right:8px;position:absolute}.ol-scale-line{background:var(--ol-partial-background-color);border-radius:4px;bottom:8px;left:8px;padding:2px;position:absolute}.ol-scale-line-inner{border:1px solid var(--ol-subtle-foreground-color);border-top:none;color:var(--ol-foreground-color);font-size:10px;text-align:center;margin:1px;will-change:contents,width;transition:all .25s}.ol-scale-bar{position:absolute;bottom:8px;left:8px}.ol-scale-bar-inner{display:flex}.ol-scale-step-marker{width:1px;height:15px;background-color:var(--ol-foreground-color);float:right;z-index:10}.ol-scale-step-text{position:absolute;bottom:-5px;font-size:10px;z-index:11;color:var(--ol-foreground-color);text-shadow:-1.5px 0 var(--ol-partial-background-color),0 1.5px var(--ol-partial-background-color),1.5px 0 var(--ol-partial-background-color),0 -1.5px var(--ol-partial-background-color)}.ol-scale-text{position:absolute;font-size:12px;text-align:center;bottom:25px;color:var(--ol-foreground-color);text-shadow:-1.5px 0 var(--ol-partial-background-color),0 1.5px var(--ol-partial-background-color),1.5px 0 var(--ol-partial-background-color),0 -1.5px var(--ol-partial-background-color)}.ol-scale-singlebar{position:relative;height:10px;z-index:9;box-sizing:border-box;border:1px solid var(--ol-foreground-color)}.ol-scale-singlebar-even{background-color:var(--ol-subtle-foreground-color)}.ol-scale-singlebar-odd{background-color:var(--ol-background-color)}.ol-unsupported{display:none}.ol-viewport,.ol-unselectable{-webkit-touch-callout:none;-webkit-user-select:none;-moz-user-select:none;user-select:none;-webkit-tap-highlight-color:transparent}.ol-viewport canvas{all:unset;overflow:hidden}.ol-viewport{touch-action:pan-x pan-y}.ol-selectable{-webkit-touch-callout:default;-webkit-user-select:text;-moz-user-select:text;user-select:text}.ol-grabbing{cursor:-webkit-grabbing;cursor:-moz-grabbing;cursor:grabbing}.ol-grab{cursor:move;cursor:-webkit-grab;cursor:-moz-grab;cursor:grab}.ol-control{position:absolute;background-color:var(--ol-subtle-background-color);border-radius:4px}.ol-zoom{top:.5em;left:.5em}.ol-rotate{top:.5em;right:.5em;transition:opacity .25s linear,visibility 0s linear}.ol-rotate.ol-hidden{opacity:0;visibility:hidden;transition:opacity .25s linear,visibility 0s linear .25s}.ol-zoom-extent{top:4.643em;left:.5em}.ol-full-screen{right:.5em;top:.5em}.ol-control button{display:block;margin:1px;padding:0;color:var(--ol-subtle-foreground-color);font-weight:700;text-decoration:none;font-size:inherit;text-align:center;height:1.375em;width:1.375em;line-height:.4em;background-color:var(--ol-background-color);border:none;border-radius:2px}.ol-control button::-moz-focus-inner{border:none;padding:0}.ol-zoom-extent button{line-height:1.4em}.ol-compass{display:block;font-weight:400;will-change:transform}.ol-touch .ol-control button{font-size:1.5em}.ol-touch .ol-zoom-extent{top:5.5em}.ol-control button:hover,.ol-control button:focus{text-decoration:none;outline:1px solid var(--ol-subtle-foreground-color);color:var(--ol-foreground-color)}.ol-zoom .ol-zoom-in{border-radius:2px 2px 0 0}.ol-zoom .ol-zoom-out{border-radius:0 0 2px 2px}.ol-attribution{text-align:right;bottom:.5em;right:.5em;max-width:calc(100% - 1.3em);display:flex;flex-flow:row-reverse;align-items:center}.ol-attribution a{color:var(--ol-subtle-foreground-color);text-decoration:none}.ol-attribution ul{margin:0;padding:1px .5em;color:var(--ol-foreground-color);text-shadow:0 0 2px var(--ol-background-color);font-size:12px}.ol-attribution li{display:inline;list-style:none}.ol-attribution li:not(:last-child):after{content:" "}.ol-attribution img{max-height:2em;max-width:inherit;vertical-align:middle}.ol-attribution button{flex-shrink:0}.ol-attribution.ol-collapsed ul{display:none}.ol-attribution:not(.ol-collapsed){background:var(--ol-partial-background-color)}.ol-attribution.ol-uncollapsible{bottom:0;right:0;border-radius:4px 0 0}.ol-attribution.ol-uncollapsible img{margin-top:-.2em;max-height:1.6em}.ol-attribution.ol-uncollapsible button{display:none}.ol-zoomslider{top:4.5em;left:.5em;height:200px}.ol-zoomslider button{position:relative;height:10px}.ol-touch .ol-zoomslider{top:5.5em}.ol-overviewmap{left:.5em;bottom:.5em}.ol-overviewmap.ol-uncollapsible{bottom:0;left:0;border-radius:0 4px 0 0}.ol-overviewmap .ol-overviewmap-map,.ol-overviewmap button{display:block}.ol-overviewmap .ol-overviewmap-map{border:1px solid var(--ol-subtle-foreground-color);height:150px;width:150px}.ol-overviewmap:not(.ol-collapsed) button{bottom:0;left:0;position:absolute}.ol-overviewmap.ol-collapsed .ol-overviewmap-map,.ol-overviewmap.ol-uncollapsible button{display:none}.ol-overviewmap:not(.ol-collapsed){background:var(--ol-subtle-background-color)}.ol-overviewmap-box{border:1.5px dotted var(--ol-subtle-foreground-color)}.ol-overviewmap .ol-overviewmap-box:hover{cursor:move}.ol-overviewmap .ol-viewport:hover{cursor:pointer}.map-container .ol-viewport .ol-attribution{bottom:var(--map-padding-bottom);right:var(--map-padding-right)}.printing-overlay{position:absolute;top:0;right:0;bottom:0;left:0;z-index:10000;-webkit-user-select:none;user-select:none;pointer-events:all;cursor:wait;display:flex;flex-direction:row;align-items:center;justify-content:center;background-color:#b4b4b4cc}.printing-overlay-status{flex:1 1 auto;font-size:1.5em;text-align:center}.printing-scale-bar.ol-scale-bar{left:var(--printing-scale-bar-left);bottom:var(--printing-scale-bar-bottom)}',D=["en","de"];function B(o){switch(o){case"en":return v(()=>import("./-jAncdI_g-d4.js"),[],import.meta.url).then(r=>r.default);case"de":return v(()=>import("./1YhbJ59n8_2l.js"),[],import.meta.url).then(r=>r.default)}throw new Error(`Unsupported locale: '${o}'`)}const V=k(G),W=Object.freeze(Object.defineProperty({__proto__:null,loadMessages:B,locales:D,packages:F,styles:V},Symbol.toStringTag,{value:"Module"})),K="printing-api-app",$=R.bind(void 0,K),J=y("printing");function Q(){const{map:o}=_(d),r=$("printing.PrintingService"),[t,n]=p.useState(void 0),f=async()=>{u("canvas")},x=async()=>{u("png")},u=async w=>{o&&await r.printMap(o.olMap).then(a=>{const l=a.getCanvas();w==="canvas"?(l.style.width="100%",l.style.height="100%",n(l)):n(a.getPNGDataURL(.6))},a=>{J.error(a)})};return e.jsx(b,{height:"100%",direction:"column",overflow:"hidden",children:e.jsx(E,{title:e.jsx(c,{textAlign:"center",py:1,children:e.jsx(A,{size:"md",children:"OpenLayers Base Packages - Printing API"})}),children:e.jsx(b,{flex:"1",direction:"column",position:"relative",children:e.jsxs(T,{mapId:d,children:[e.jsx(s,{position:"top-left",horizontalGap:10,verticalGap:10,children:e.jsx(c,{backgroundColor:"whiteAlpha.900",borderWidth:"1px",borderRadius:"lg",padding:2,boxShadow:"lg",children:e.jsxs(z,{pt:5,children:[e.jsx(i,{align:"center",children:"Test Controls:"}),e.jsx(m,{onClick:()=>f(),children:"Canvas"}),e.jsx(m,{onClick:()=>x(),children:"Image data URL"})]})})}),e.jsx(s,{position:"top-right",horizontalGap:10,verticalGap:10,children:e.jsxs(g,{backgroundColor:"whiteAlpha.900",borderWidth:"1px",borderRadius:"lg",padding:2,boxShadow:"lg",maxWidth:"400px",maxHeight:"300px",overflow:"auto",children:[e.jsx(i,{as:"b",children:"Description"}),e.jsx(i,{children:"This application can be used to test the printing service. The service provides the screenshot of the given map view in a form of HTMLCanvasElement or a data url."}),e.jsxs(U,{children:[e.jsxs(h,{children:["Clicking on the ","'Canvas'"," button shows the HTMLCanvasElement of the map view embedded in another HTMLElement."]}),e.jsxs(h,{children:["Clicking on the ","'Image data URL'"," button shows the data url of the map view image used as source for HTMLImageElement."]})]})]})}),e.jsx(s,{position:"top-right",horizontalGap:450,verticalGap:10,children:t&&e.jsx(g,{backgroundColor:"whiteAlpha.900",borderWidth:"1px",borderRadius:"lg",padding:2,boxShadow:"lg",className:"result-display",maxWidth:"600",maxHeight:"500",children:e.jsx(X,{input:t})})})]})})})})}function X(o){const r=typeof o.input=="string"?o.input:void 0,t=r&&e.jsxs(e.Fragment,{children:[e.jsx(i,{as:"b",children:"Image from data URL"}),e.jsx(N,{src:r})]}),n=typeof o.input!="string"?e.jsx(Y,{canvas:o.input}):void 0;return t||n}function Y(o){const r=p.useRef(null);return p.useEffect(()=>{if(!r.current)return;const t=r.current;return t.appendChild(o.canvas),()=>{t.removeChild(o.canvas)}},[o.canvas]),e.jsxs(e.Fragment,{children:[e.jsx(i,{as:"b",children:"Image from canvas"}),e.jsx(c,{ref:r})]})}const Z=new URLSearchParams(window.location.search),ee=Z.get("lang"),oe=S({component:Q,config:{locale:ee??void 0},theme:j,appMetadata:W});customElements.define("printing-api-app",oe); +import{a as k,c as y,r as p,j as e,B as c,S as z,b as m,V as g,f as S}from"./Mxtq6FG0Aq1_.js";import{t as j}from"./hZvUQIaW6FE0.js";import{S as I,T as C,O as M,M as P,H as L,f as R,i as _,k as b,g as E,h as A,l as T,m as s}from"./5C5XmiCGgLmB.js";import{P as H,N as q,I as N}from"./OM1YzF7yjem8.js";import{_ as v}from"./CmsKOCeNyeyo.js";import{T as i,U,a as h}from"./BOwySe0UXVY3.js";import"./DWkb3PmnrxhS.js";import"./D69t4K7RmA6W.js";const d="main";class O{mapId=d;async getMapConfig(){return{initialView:{kind:"position",center:{x:404747,y:5757920},zoom:14},layers:[new I({title:"OSM",isBaseLayer:!0,olLayer:new C({source:new M})})]}}}const F={"printing-api-app":{name:"printing-api-app",services:{MapConfigProviderImpl:{name:"MapConfigProviderImpl",clazz:O,provides:[{name:"map.MapConfigProvider",qualifier:void 0}],references:{}}},ui:{references:[{name:"printing.PrintingService",qualifier:void 0,all:!1}]},properties:{}},"@open-pioneer/chakra-integration":{name:"@open-pioneer/chakra-integration",services:{},ui:{references:[]},properties:{}},"@open-pioneer/map":{name:"@open-pioneer/map",services:{MapRegistryImpl:{name:"MapRegistryImpl",clazz:P,provides:[{name:"map.MapRegistry",qualifier:void 0}],references:{providers:{name:"map.MapConfigProvider",qualifier:void 0,all:!0},httpService:{name:"http.HttpService",qualifier:void 0,all:!1}}}},ui:{references:[{name:"map.MapRegistry",qualifier:void 0,all:!1}]},properties:{}},"@open-pioneer/printing":{name:"@open-pioneer/printing",services:{PrintingServiceImpl:{name:"PrintingServiceImpl",clazz:H,provides:[{name:"printing.PrintingService",qualifier:void 0}],references:{}}},ui:{references:[{name:"notifier.NotificationService",qualifier:void 0,all:!1},{name:"printing.PrintingService",qualifier:void 0,all:!1}]},properties:{}},"@open-pioneer/react-utils":{name:"@open-pioneer/react-utils",services:{},ui:{references:[]},properties:{}},"@open-pioneer/runtime":{name:"@open-pioneer/runtime",services:{},ui:{references:[]},properties:{}},"@open-pioneer/theme":{name:"@open-pioneer/theme",services:{},ui:{references:[]},properties:{}},"@open-pioneer/core":{name:"@open-pioneer/core",services:{},ui:{references:[]},properties:{}},"@open-pioneer/http":{name:"@open-pioneer/http",services:{HttpServiceImpl:{name:"HttpServiceImpl",clazz:L,provides:[{name:"http.HttpService",qualifier:"http.HttpService"}],references:{interceptors:{name:"http.Interceptor",qualifier:void 0,all:!0}}}},ui:{references:[]},properties:{}},"@open-pioneer/notifier":{name:"@open-pioneer/notifier",services:{NotificationServiceImpl:{name:"NotificationServiceImpl",clazz:q,provides:[{name:"notifier.NotificationService",qualifier:"notifier.NotificationService"}],references:{}}},ui:{references:[{name:"notifier.NotificationService",qualifier:void 0,all:!1}]},properties:{}},"@open-pioneer/base-theme":{name:"@open-pioneer/base-theme",services:{},ui:{references:[]},properties:{}},"@open-pioneer/runtime-react-support":{name:"@open-pioneer/runtime-react-support",services:{},ui:{references:[]},properties:{}}},G=':root,:host{--ol-background-color: white;--ol-accent-background-color: #F5F5F5;--ol-subtle-background-color: rgba(128, 128, 128, .25);--ol-partial-background-color: rgba(255, 255, 255, .75);--ol-foreground-color: #333333;--ol-subtle-foreground-color: #666666;--ol-brand-color: #00AAFF}.ol-box{box-sizing:border-box;border-radius:2px;border:1.5px solid var(--ol-background-color);background-color:var(--ol-partial-background-color)}.ol-mouse-position{top:8px;right:8px;position:absolute}.ol-scale-line{background:var(--ol-partial-background-color);border-radius:4px;bottom:8px;left:8px;padding:2px;position:absolute}.ol-scale-line-inner{border:1px solid var(--ol-subtle-foreground-color);border-top:none;color:var(--ol-foreground-color);font-size:10px;text-align:center;margin:1px;will-change:contents,width;transition:all .25s}.ol-scale-bar{position:absolute;bottom:8px;left:8px}.ol-scale-bar-inner{display:flex}.ol-scale-step-marker{width:1px;height:15px;background-color:var(--ol-foreground-color);float:right;z-index:10}.ol-scale-step-text{position:absolute;bottom:-5px;font-size:10px;z-index:11;color:var(--ol-foreground-color);text-shadow:-1.5px 0 var(--ol-partial-background-color),0 1.5px var(--ol-partial-background-color),1.5px 0 var(--ol-partial-background-color),0 -1.5px var(--ol-partial-background-color)}.ol-scale-text{position:absolute;font-size:12px;text-align:center;bottom:25px;color:var(--ol-foreground-color);text-shadow:-1.5px 0 var(--ol-partial-background-color),0 1.5px var(--ol-partial-background-color),1.5px 0 var(--ol-partial-background-color),0 -1.5px var(--ol-partial-background-color)}.ol-scale-singlebar{position:relative;height:10px;z-index:9;box-sizing:border-box;border:1px solid var(--ol-foreground-color)}.ol-scale-singlebar-even{background-color:var(--ol-subtle-foreground-color)}.ol-scale-singlebar-odd{background-color:var(--ol-background-color)}.ol-unsupported{display:none}.ol-viewport,.ol-unselectable{-webkit-touch-callout:none;-webkit-user-select:none;-moz-user-select:none;user-select:none;-webkit-tap-highlight-color:transparent}.ol-viewport canvas{all:unset;overflow:hidden}.ol-viewport{touch-action:pan-x pan-y}.ol-selectable{-webkit-touch-callout:default;-webkit-user-select:text;-moz-user-select:text;user-select:text}.ol-grabbing{cursor:-webkit-grabbing;cursor:-moz-grabbing;cursor:grabbing}.ol-grab{cursor:move;cursor:-webkit-grab;cursor:-moz-grab;cursor:grab}.ol-control{position:absolute;background-color:var(--ol-subtle-background-color);border-radius:4px}.ol-zoom{top:.5em;left:.5em}.ol-rotate{top:.5em;right:.5em;transition:opacity .25s linear,visibility 0s linear}.ol-rotate.ol-hidden{opacity:0;visibility:hidden;transition:opacity .25s linear,visibility 0s linear .25s}.ol-zoom-extent{top:4.643em;left:.5em}.ol-full-screen{right:.5em;top:.5em}.ol-control button{display:block;margin:1px;padding:0;color:var(--ol-subtle-foreground-color);font-weight:700;text-decoration:none;font-size:inherit;text-align:center;height:1.375em;width:1.375em;line-height:.4em;background-color:var(--ol-background-color);border:none;border-radius:2px}.ol-control button::-moz-focus-inner{border:none;padding:0}.ol-zoom-extent button{line-height:1.4em}.ol-compass{display:block;font-weight:400;will-change:transform}.ol-touch .ol-control button{font-size:1.5em}.ol-touch .ol-zoom-extent{top:5.5em}.ol-control button:hover,.ol-control button:focus{text-decoration:none;outline:1px solid var(--ol-subtle-foreground-color);color:var(--ol-foreground-color)}.ol-zoom .ol-zoom-in{border-radius:2px 2px 0 0}.ol-zoom .ol-zoom-out{border-radius:0 0 2px 2px}.ol-attribution{text-align:right;bottom:.5em;right:.5em;max-width:calc(100% - 1.3em);display:flex;flex-flow:row-reverse;align-items:center}.ol-attribution a{color:var(--ol-subtle-foreground-color);text-decoration:none}.ol-attribution ul{margin:0;padding:1px .5em;color:var(--ol-foreground-color);text-shadow:0 0 2px var(--ol-background-color);font-size:12px}.ol-attribution li{display:inline;list-style:none}.ol-attribution li:not(:last-child):after{content:" "}.ol-attribution img{max-height:2em;max-width:inherit;vertical-align:middle}.ol-attribution button{flex-shrink:0}.ol-attribution.ol-collapsed ul{display:none}.ol-attribution:not(.ol-collapsed){background:var(--ol-partial-background-color)}.ol-attribution.ol-uncollapsible{bottom:0;right:0;border-radius:4px 0 0}.ol-attribution.ol-uncollapsible img{margin-top:-.2em;max-height:1.6em}.ol-attribution.ol-uncollapsible button{display:none}.ol-zoomslider{top:4.5em;left:.5em;height:200px}.ol-zoomslider button{position:relative;height:10px}.ol-touch .ol-zoomslider{top:5.5em}.ol-overviewmap{left:.5em;bottom:.5em}.ol-overviewmap.ol-uncollapsible{bottom:0;left:0;border-radius:0 4px 0 0}.ol-overviewmap .ol-overviewmap-map,.ol-overviewmap button{display:block}.ol-overviewmap .ol-overviewmap-map{border:1px solid var(--ol-subtle-foreground-color);height:150px;width:150px}.ol-overviewmap:not(.ol-collapsed) button{bottom:0;left:0;position:absolute}.ol-overviewmap.ol-collapsed .ol-overviewmap-map,.ol-overviewmap.ol-uncollapsible button{display:none}.ol-overviewmap:not(.ol-collapsed){background:var(--ol-subtle-background-color)}.ol-overviewmap-box{border:1.5px dotted var(--ol-subtle-foreground-color)}.ol-overviewmap .ol-overviewmap-box:hover{cursor:move}.ol-overviewmap .ol-viewport:hover{cursor:pointer}.map-container .ol-viewport .ol-attribution{bottom:var(--map-padding-bottom);right:var(--map-padding-right)}.printing-overlay{position:absolute;top:0;right:0;bottom:0;left:0;z-index:10000;-webkit-user-select:none;user-select:none;pointer-events:all;cursor:wait;display:flex;flex-direction:row;align-items:center;justify-content:center;background-color:#b4b4b4cc}.printing-overlay-status{flex:1 1 auto;font-size:1.5em;text-align:center}.printing-scale-bar.ol-scale-bar{left:var(--printing-scale-bar-left);bottom:var(--printing-scale-bar-bottom)}',D=["en","de"];function B(o){switch(o){case"en":return v(()=>import("./-jAncdI_g-d4.js"),[],import.meta.url).then(r=>r.default);case"de":return v(()=>import("./1YhbJ59n8_2l.js"),[],import.meta.url).then(r=>r.default)}throw new Error(`Unsupported locale: '${o}'`)}const V=k(G),W=Object.freeze(Object.defineProperty({__proto__:null,loadMessages:B,locales:D,packages:F,styles:V},Symbol.toStringTag,{value:"Module"})),K="printing-api-app",$=R.bind(void 0,K),J=y("printing");function Q(){const{map:o}=_(d),r=$("printing.PrintingService"),[t,n]=p.useState(void 0),f=async()=>{u("canvas")},x=async()=>{u("png")},u=async w=>{o&&await r.printMap(o.olMap).then(a=>{const l=a.getCanvas();w==="canvas"?(l.style.width="100%",l.style.height="100%",n(l)):n(a.getPNGDataURL(.6))},a=>{J.error(a)})};return e.jsx(b,{height:"100%",direction:"column",overflow:"hidden",children:e.jsx(E,{title:e.jsx(c,{textAlign:"center",py:1,children:e.jsx(A,{size:"md",children:"OpenLayers Base Packages - Printing API"})}),children:e.jsx(b,{flex:"1",direction:"column",position:"relative",children:e.jsxs(T,{mapId:d,children:[e.jsx(s,{position:"top-left",horizontalGap:10,verticalGap:10,children:e.jsx(c,{backgroundColor:"whiteAlpha.900",borderWidth:"1px",borderRadius:"lg",padding:2,boxShadow:"lg",children:e.jsxs(z,{pt:5,children:[e.jsx(i,{align:"center",children:"Test Controls:"}),e.jsx(m,{onClick:()=>f(),children:"Canvas"}),e.jsx(m,{onClick:()=>x(),children:"Image data URL"})]})})}),e.jsx(s,{position:"top-right",horizontalGap:10,verticalGap:10,children:e.jsxs(g,{backgroundColor:"whiteAlpha.900",borderWidth:"1px",borderRadius:"lg",padding:2,boxShadow:"lg",maxWidth:"400px",maxHeight:"300px",overflow:"auto",children:[e.jsx(i,{as:"b",children:"Description"}),e.jsx(i,{children:"This application can be used to test the printing service. The service provides the screenshot of the given map view in a form of HTMLCanvasElement or a data url."}),e.jsxs(U,{children:[e.jsxs(h,{children:["Clicking on the ","'Canvas'"," button shows the HTMLCanvasElement of the map view embedded in another HTMLElement."]}),e.jsxs(h,{children:["Clicking on the ","'Image data URL'"," button shows the data url of the map view image used as source for HTMLImageElement."]})]})]})}),e.jsx(s,{position:"top-right",horizontalGap:450,verticalGap:10,children:t&&e.jsx(g,{backgroundColor:"whiteAlpha.900",borderWidth:"1px",borderRadius:"lg",padding:2,boxShadow:"lg",className:"result-display",maxWidth:"600",maxHeight:"500",children:e.jsx(X,{input:t})})})]})})})})}function X(o){const r=typeof o.input=="string"?o.input:void 0,t=r&&e.jsxs(e.Fragment,{children:[e.jsx(i,{as:"b",children:"Image from data URL"}),e.jsx(N,{src:r})]}),n=typeof o.input!="string"?e.jsx(Y,{canvas:o.input}):void 0;return t||n}function Y(o){const r=p.useRef(null);return p.useEffect(()=>{if(!r.current)return;const t=r.current;return t.appendChild(o.canvas),()=>{t.removeChild(o.canvas)}},[o.canvas]),e.jsxs(e.Fragment,{children:[e.jsx(i,{as:"b",children:"Image from canvas"}),e.jsx(c,{ref:r})]})}const Z=new URLSearchParams(window.location.search),ee=Z.get("lang"),oe=S({component:Q,config:{locale:ee??void 0},theme:j,appMetadata:W});customElements.define("printing-api-app",oe); diff --git a/openlayers-base-packages/docs/functions/_open_pioneer_basemap_switcher.BasemapSwitcher.html b/openlayers-base-packages/docs/functions/_open_pioneer_basemap_switcher.BasemapSwitcher.html index cba3bfea5..5489fb98b 100644 --- a/openlayers-base-packages/docs/functions/_open_pioneer_basemap_switcher.BasemapSwitcher.html +++ b/openlayers-base-packages/docs/functions/_open_pioneer_basemap_switcher.BasemapSwitcher.html @@ -1,3 +1,3 @@ BasemapSwitcher | Open Pioneer Trails Packages

The BasemapSwitcher component can be used in an app to switch between the different basemaps.

+

Returns ReactNode

diff --git a/openlayers-base-packages/docs/functions/_open_pioneer_coordinate_search.CoordinateInput.html b/openlayers-base-packages/docs/functions/_open_pioneer_coordinate_search.CoordinateInput.html index d0c15bac1..1203e3a0b 100644 --- a/openlayers-base-packages/docs/functions/_open_pioneer_coordinate_search.CoordinateInput.html +++ b/openlayers-base-packages/docs/functions/_open_pioneer_coordinate_search.CoordinateInput.html @@ -1,3 +1,3 @@ CoordinateInput | Open Pioneer Trails Packages

The CoordinateInput component can be used in an app to provide a validated input field for coordinates in a selected projection

+

Returns ReactNode

diff --git a/openlayers-base-packages/docs/functions/_open_pioneer_coordinate_search.CoordinateSearch.html b/openlayers-base-packages/docs/functions/_open_pioneer_coordinate_search.CoordinateSearch.html index 59b57a4e0..ded509c74 100644 --- a/openlayers-base-packages/docs/functions/_open_pioneer_coordinate_search.CoordinateSearch.html +++ b/openlayers-base-packages/docs/functions/_open_pioneer_coordinate_search.CoordinateSearch.html @@ -1,3 +1,3 @@ CoordinateSearch | Open Pioneer Trails Packages

The CoordinateSearch component can be used in an app to search for entered coordinates in a selected projection

+

Returns ReactNode

diff --git a/openlayers-base-packages/docs/functions/_open_pioneer_coordinate_viewer.CoordinateViewer.html b/openlayers-base-packages/docs/functions/_open_pioneer_coordinate_viewer.CoordinateViewer.html index f6d046615..df9b0363c 100644 --- a/openlayers-base-packages/docs/functions/_open_pioneer_coordinate_viewer.CoordinateViewer.html +++ b/openlayers-base-packages/docs/functions/_open_pioneer_coordinate_viewer.CoordinateViewer.html @@ -1,3 +1,3 @@ CoordinateViewer | Open Pioneer Trails Packages

The CoordinateViewer component can be used in an app to render the coordinates at the current mouse position.

+

Returns ReactNode

diff --git a/openlayers-base-packages/docs/functions/_open_pioneer_geolocation.Geolocation.html b/openlayers-base-packages/docs/functions/_open_pioneer_geolocation.Geolocation.html index 2052baa1f..448921519 100644 --- a/openlayers-base-packages/docs/functions/_open_pioneer_geolocation.Geolocation.html +++ b/openlayers-base-packages/docs/functions/_open_pioneer_geolocation.Geolocation.html @@ -1,2 +1,2 @@ Geolocation | Open Pioneer Trails Packages
+

Returns ReactNode

diff --git a/openlayers-base-packages/docs/functions/_open_pioneer_legend.Legend.html b/openlayers-base-packages/docs/functions/_open_pioneer_legend.Legend.html index 24aecc5cf..e02b8a175 100644 --- a/openlayers-base-packages/docs/functions/_open_pioneer_legend.Legend.html +++ b/openlayers-base-packages/docs/functions/_open_pioneer_legend.Legend.html @@ -1,3 +1,3 @@ Legend | Open Pioneer Trails Packages

The Legend component can be used to display the legend of layers that are visible in the map.

+

Returns ReactNode

diff --git a/openlayers-base-packages/docs/functions/_open_pioneer_map.DefaultMapProvider.html b/openlayers-base-packages/docs/functions/_open_pioneer_map.DefaultMapProvider.html index c128cf888..572da56b0 100644 --- a/openlayers-base-packages/docs/functions/_open_pioneer_map.DefaultMapProvider.html +++ b/openlayers-base-packages/docs/functions/_open_pioneer_map.DefaultMapProvider.html @@ -10,4 +10,4 @@
<DefaultMapProvider map={myMapModel}>
<MapContainer />
<Toc />
</DefaultMapProvider>
-
+
diff --git a/openlayers-base-packages/docs/functions/_open_pioneer_map.MapAnchor.html b/openlayers-base-packages/docs/functions/_open_pioneer_map.MapAnchor.html index e021728b8..586e043b6 100644 --- a/openlayers-base-packages/docs/functions/_open_pioneer_map.MapAnchor.html +++ b/openlayers-base-packages/docs/functions/_open_pioneer_map.MapAnchor.html @@ -1 +1 @@ -MapAnchor | Open Pioneer Trails Packages
+MapAnchor | Open Pioneer Trails Packages
diff --git a/openlayers-base-packages/docs/functions/_open_pioneer_map.MapContainer.html b/openlayers-base-packages/docs/functions/_open_pioneer_map.MapContainer.html index f52a33176..511f0d667 100644 --- a/openlayers-base-packages/docs/functions/_open_pioneer_map.MapContainer.html +++ b/openlayers-base-packages/docs/functions/_open_pioneer_map.MapContainer.html @@ -1,3 +1,3 @@ MapContainer | Open Pioneer Trails Packages
  • Displays the map with the given id.

    There can only be at most one MapContainer for every map.

    -

    Parameters

    Returns Element

+

Parameters

Returns Element

diff --git a/openlayers-base-packages/docs/functions/_open_pioneer_map.calculateBufferedExtent.html b/openlayers-base-packages/docs/functions/_open_pioneer_map.calculateBufferedExtent.html index f9f58e30a..7f2e759d8 100644 --- a/openlayers-base-packages/docs/functions/_open_pioneer_map.calculateBufferedExtent.html +++ b/openlayers-base-packages/docs/functions/_open_pioneer_map.calculateBufferedExtent.html @@ -1,3 +1,3 @@ calculateBufferedExtent | Open Pioneer Trails Packages
  • Computes a buffered extent using the given original extent.

    Use the factor (1.2 by default) to specify the size increase.

    -

    Parameters

    • extent: Extent
    • factor: number = DEFAULT_BUFFER_FACTOR

    Returns Extent

+

Parameters

  • extent: Extent
  • factor: number = DEFAULT_BUFFER_FACTOR

Returns Extent

diff --git a/openlayers-base-packages/docs/functions/_open_pioneer_map.getProjection.html b/openlayers-base-packages/docs/functions/_open_pioneer_map.getProjection.html index 59ddcb4b1..44a3e6099 100644 --- a/openlayers-base-packages/docs/functions/_open_pioneer_map.getProjection.html +++ b/openlayers-base-packages/docs/functions/_open_pioneer_map.getProjection.html @@ -1,2 +1,2 @@ getProjection | Open Pioneer Trails Packages
  • Searches the global proj4js definition set for a definition with the given name.

    -

    Parameters

    • name: string

    Returns Proj4ProjectionDefinition

+

Parameters

  • name: string

Returns Proj4ProjectionDefinition

diff --git a/openlayers-base-packages/docs/functions/_open_pioneer_map.isLayer.html b/openlayers-base-packages/docs/functions/_open_pioneer_map.isLayer.html index 6c3220575..fea8550c5 100644 --- a/openlayers-base-packages/docs/functions/_open_pioneer_map.isLayer.html +++ b/openlayers-base-packages/docs/functions/_open_pioneer_map.isLayer.html @@ -1,2 +1,2 @@ isLayer | Open Pioneer Trails Packages
+

Parameters

Returns layer is Layer

diff --git a/openlayers-base-packages/docs/functions/_open_pioneer_map.isSublayer.html b/openlayers-base-packages/docs/functions/_open_pioneer_map.isSublayer.html index d8e3ccbfc..249b03bc7 100644 --- a/openlayers-base-packages/docs/functions/_open_pioneer_map.isSublayer.html +++ b/openlayers-base-packages/docs/functions/_open_pioneer_map.isSublayer.html @@ -1,2 +1,2 @@ isSublayer | Open Pioneer Trails Packages
+

Parameters

Returns layer is WMSSublayer

diff --git a/openlayers-base-packages/docs/functions/_open_pioneer_map.registerProjections.html b/openlayers-base-packages/docs/functions/_open_pioneer_map.registerProjections.html index e007628cd..8e02d0a1c 100644 --- a/openlayers-base-packages/docs/functions/_open_pioneer_map.registerProjections.html +++ b/openlayers-base-packages/docs/functions/_open_pioneer_map.registerProjections.html @@ -6,4 +6,4 @@

Parameters

  • projections: Record<string, ProjectionDefinition>

    An object containing (key, definition) pairs. The key must be projection name (such as "EPSG:4326"). The value can be a string defining the projection or an existing proj4 definition object.

    -

Returns void

+

Returns void

diff --git a/openlayers-base-packages/docs/functions/_open_pioneer_map.useCenter.html b/openlayers-base-packages/docs/functions/_open_pioneer_map.useCenter.html index fddd512d0..d1ca891fb 100644 --- a/openlayers-base-packages/docs/functions/_open_pioneer_map.useCenter.html +++ b/openlayers-base-packages/docs/functions/_open_pioneer_map.useCenter.html @@ -1,3 +1,3 @@ useCenter | Open Pioneer Trails Packages
  • Returns the current center coordinates of the map.

    Parameters

    • map: undefined | Map

    Returns Coordinate | undefined

    Use mapModel.center instead.

    -
+
diff --git a/openlayers-base-packages/docs/functions/_open_pioneer_map.useMapModel.html b/openlayers-base-packages/docs/functions/_open_pioneer_map.useMapModel.html index f4119d78e..d3ea84d67 100644 --- a/openlayers-base-packages/docs/functions/_open_pioneer_map.useMapModel.html +++ b/openlayers-base-packages/docs/functions/_open_pioneer_map.useMapModel.html @@ -2,9 +2,9 @@

Returns an object representing the progress, which will eventually represent either the map model value or an initialization error.

The map model cannot be returned directly because it may not have completed its initialization yet.

-

Parameters

  • mapId: string

Returns UseMapModelResult

  • React hook that resolves a map model specified by the given props (see MapModelProps).

    +

    Parameters

    • mapId: string

    Returns UseMapModelResult

  • React hook that resolves a map model specified by the given props (see MapModelProps).

    Returns an object representing the progress, which will eventually represent either the map model value or an initialization error.

    The map model cannot be returned directly because it may not have completed its initialization yet.

    -

    Parameters

    Returns UseMapModelResult

  • React hook that returns the default map model (if available, see DefaultMapProvider).

    -

    Returns UseMapModelResult

  • +

    Parameters

    Returns UseMapModelResult

  • React hook that returns the default map model (if available, see DefaultMapProvider).

    +

    Returns UseMapModelResult

  • diff --git a/openlayers-base-packages/docs/functions/_open_pioneer_map.useProjection.html b/openlayers-base-packages/docs/functions/_open_pioneer_map.useProjection.html index 6ef2fc080..4f3286395 100644 --- a/openlayers-base-packages/docs/functions/_open_pioneer_map.useProjection.html +++ b/openlayers-base-packages/docs/functions/_open_pioneer_map.useProjection.html @@ -1,3 +1,3 @@ useProjection | Open Pioneer Trails Packages
    • Returns the current projection of the map.

      Parameters

      • map: undefined | Map

      Returns Projection | undefined

      Use mapModel.projection instead.

      -
    +
    diff --git a/openlayers-base-packages/docs/functions/_open_pioneer_map.useResolution.html b/openlayers-base-packages/docs/functions/_open_pioneer_map.useResolution.html index f407421a8..1dde98a2d 100644 --- a/openlayers-base-packages/docs/functions/_open_pioneer_map.useResolution.html +++ b/openlayers-base-packages/docs/functions/_open_pioneer_map.useResolution.html @@ -1,3 +1,3 @@ useResolution | Open Pioneer Trails Packages
    • Returns the current resolution of the map.

      Parameters

      • map: undefined | Map

      Returns number | undefined

      Use mapModel.resolution instead.

      -
    +
    diff --git a/openlayers-base-packages/docs/functions/_open_pioneer_map.useScale.html b/openlayers-base-packages/docs/functions/_open_pioneer_map.useScale.html index 493543a03..e4482958f 100644 --- a/openlayers-base-packages/docs/functions/_open_pioneer_map.useScale.html +++ b/openlayers-base-packages/docs/functions/_open_pioneer_map.useScale.html @@ -1,3 +1,3 @@ useScale | Open Pioneer Trails Packages
    • Returns the current scale of the map.

      Parameters

      • map: undefined | Map

      Returns number | undefined

      Use mapModel.scale instead.

      -
    +
    diff --git a/openlayers-base-packages/docs/functions/_open_pioneer_map.useView.html b/openlayers-base-packages/docs/functions/_open_pioneer_map.useView.html index 8dbeeabdc..da6ab5562 100644 --- a/openlayers-base-packages/docs/functions/_open_pioneer_map.useView.html +++ b/openlayers-base-packages/docs/functions/_open_pioneer_map.useView.html @@ -1,3 +1,3 @@ useView | Open Pioneer Trails Packages
    • Returns the current view of the given map.

      Parameters

      • map: undefined | Map

      Returns OlView | undefined

      Use mapModel.olView instead.

      -
    +
    diff --git a/openlayers-base-packages/docs/functions/_open_pioneer_map_navigation.History.html b/openlayers-base-packages/docs/functions/_open_pioneer_map_navigation.History.html index 4ecc32813..29cb89617 100644 --- a/openlayers-base-packages/docs/functions/_open_pioneer_map_navigation.History.html +++ b/openlayers-base-packages/docs/functions/_open_pioneer_map_navigation.History.html @@ -1,3 +1,3 @@ History | Open Pioneer Trails Packages

    Provides a button by which the user can navigate forward or backward in the view history of the map.

    +

    Returns ReactNode

    diff --git a/openlayers-base-packages/docs/functions/_open_pioneer_map_navigation.HistoryBackward.html b/openlayers-base-packages/docs/functions/_open_pioneer_map_navigation.HistoryBackward.html index c48b4ed8d..72bfe703c 100644 --- a/openlayers-base-packages/docs/functions/_open_pioneer_map_navigation.HistoryBackward.html +++ b/openlayers-base-packages/docs/functions/_open_pioneer_map_navigation.HistoryBackward.html @@ -1,4 +1,4 @@ HistoryBackward | Open Pioneer Trails Packages

    Provides a button by which the user can navigate to the previous map view.

    This component composes History.

    +

    Returns ReactNode

    diff --git a/openlayers-base-packages/docs/functions/_open_pioneer_map_navigation.HistoryForward.html b/openlayers-base-packages/docs/functions/_open_pioneer_map_navigation.HistoryForward.html index c51d3df2c..d8abb1ecf 100644 --- a/openlayers-base-packages/docs/functions/_open_pioneer_map_navigation.HistoryForward.html +++ b/openlayers-base-packages/docs/functions/_open_pioneer_map_navigation.HistoryForward.html @@ -1,4 +1,4 @@ HistoryForward | Open Pioneer Trails Packages

    Provides a button by which the user can navigate to the next map view.

    This component composes History.

    +

    Returns ReactNode

    diff --git a/openlayers-base-packages/docs/functions/_open_pioneer_map_navigation.InitialExtent.html b/openlayers-base-packages/docs/functions/_open_pioneer_map_navigation.InitialExtent.html index 1badc90c1..117c3752b 100644 --- a/openlayers-base-packages/docs/functions/_open_pioneer_map_navigation.InitialExtent.html +++ b/openlayers-base-packages/docs/functions/_open_pioneer_map_navigation.InitialExtent.html @@ -1,3 +1,3 @@ InitialExtent | Open Pioneer Trails Packages

    Provides a simple button that switches the view to its initial viewpoint.

    +

    Returns ReactNode

    diff --git a/openlayers-base-packages/docs/functions/_open_pioneer_map_navigation.Zoom.html b/openlayers-base-packages/docs/functions/_open_pioneer_map_navigation.Zoom.html index 679e6485a..d6eacfc79 100644 --- a/openlayers-base-packages/docs/functions/_open_pioneer_map_navigation.Zoom.html +++ b/openlayers-base-packages/docs/functions/_open_pioneer_map_navigation.Zoom.html @@ -1,3 +1,3 @@ Zoom | Open Pioneer Trails Packages

    Provides a button by which the user can zoom in or zoom out of the map.

    +

    Returns ReactNode

    diff --git a/openlayers-base-packages/docs/functions/_open_pioneer_map_navigation.ZoomIn.html b/openlayers-base-packages/docs/functions/_open_pioneer_map_navigation.ZoomIn.html index 659378e8b..6bab801cd 100644 --- a/openlayers-base-packages/docs/functions/_open_pioneer_map_navigation.ZoomIn.html +++ b/openlayers-base-packages/docs/functions/_open_pioneer_map_navigation.ZoomIn.html @@ -1,4 +1,4 @@ ZoomIn | Open Pioneer Trails Packages

    Provides a button by which the user can zoom into the map.

    This component composes Zoom.

    +

    Returns ReactNode

    diff --git a/openlayers-base-packages/docs/functions/_open_pioneer_map_navigation.ZoomOut.html b/openlayers-base-packages/docs/functions/_open_pioneer_map_navigation.ZoomOut.html index 44f8ac8f3..82e1912d8 100644 --- a/openlayers-base-packages/docs/functions/_open_pioneer_map_navigation.ZoomOut.html +++ b/openlayers-base-packages/docs/functions/_open_pioneer_map_navigation.ZoomOut.html @@ -1,4 +1,4 @@ ZoomOut | Open Pioneer Trails Packages

    Provides a button by which the user can zoom out of the map.

    This component composes Zoom.

    +

    Returns ReactNode

    diff --git a/openlayers-base-packages/docs/functions/_open_pioneer_map_test_utils.createServiceOptions.html b/openlayers-base-packages/docs/functions/_open_pioneer_map_test_utils.createServiceOptions.html index 49e16bc25..13bfcc41f 100644 --- a/openlayers-base-packages/docs/functions/_open_pioneer_map_test_utils.createServiceOptions.html +++ b/openlayers-base-packages/docs/functions/_open_pioneer_map_test_utils.createServiceOptions.html @@ -1,4 +1,4 @@ createServiceOptions | Open Pioneer Trails Packages
    • Creates (service name, service implementation)-pairs suitable for the services option of the PackageContextProvider.

      This helper method can be used to avoid hard-coding service names used in the implementation.

      -

      Parameters

      Returns Record<string, unknown>

    +

    Parameters

    Returns Record<string, unknown>

    diff --git a/openlayers-base-packages/docs/functions/_open_pioneer_map_test_utils.setupMap.html b/openlayers-base-packages/docs/functions/_open_pioneer_map_test_utils.setupMap.html index 0caa1d4d3..f1741039b 100644 --- a/openlayers-base-packages/docs/functions/_open_pioneer_map_test_utils.setupMap.html +++ b/openlayers-base-packages/docs/functions/_open_pioneer_map_test_utils.setupMap.html @@ -1,4 +1,4 @@ setupMap | Open Pioneer Trails Packages
    • Creates a simple map registry service with exactly one map configuration.

      The map is configured by using the options parameter.

      Returns the map registry and the id of the configured map.

      -

      Parameters

      Returns Promise<{
          mapId: string;
          registry: Service<MapRegistryImpl>;
      }>

    +

    Parameters

    Returns Promise<{
        mapId: string;
        registry: Service<MapRegistryImpl>;
    }>

    diff --git a/openlayers-base-packages/docs/functions/_open_pioneer_map_test_utils.waitForInitialExtent.html b/openlayers-base-packages/docs/functions/_open_pioneer_map_test_utils.waitForInitialExtent.html index 24713d70c..abbf7a642 100644 --- a/openlayers-base-packages/docs/functions/_open_pioneer_map_test_utils.waitForInitialExtent.html +++ b/openlayers-base-packages/docs/functions/_open_pioneer_map_test_utils.waitForInitialExtent.html @@ -1,2 +1,2 @@ waitForInitialExtent | Open Pioneer Trails Packages
    • Waits until the model has an initial extent.

      -

      Parameters

      Returns Promise<void>

    +

    Parameters

    Returns Promise<void>

    diff --git a/openlayers-base-packages/docs/functions/_open_pioneer_map_test_utils.waitForMapMount.html b/openlayers-base-packages/docs/functions/_open_pioneer_map_test_utils.waitForMapMount.html index 249d6c78c..32de92093 100644 --- a/openlayers-base-packages/docs/functions/_open_pioneer_map_test_utils.waitForMapMount.html +++ b/openlayers-base-packages/docs/functions/_open_pioneer_map_test_utils.waitForMapMount.html @@ -1,2 +1,2 @@ waitForMapMount | Open Pioneer Trails Packages
    • Waits until the OpenLayers map has been mounted in the parent with the given id.

      -

      Parameters

      • parentTestId: string = "base"

      Returns Promise<HTMLElement>

    +

    Parameters

    • parentTestId: string = "base"

    Returns Promise<HTMLElement>

    diff --git a/openlayers-base-packages/docs/functions/_open_pioneer_map_ui_components.ToolButton.html b/openlayers-base-packages/docs/functions/_open_pioneer_map_ui_components.ToolButton.html index 3932d6c38..c7c930ebe 100644 --- a/openlayers-base-packages/docs/functions/_open_pioneer_map_ui_components.ToolButton.html +++ b/openlayers-base-packages/docs/functions/_open_pioneer_map_ui_components.ToolButton.html @@ -1,3 +1,3 @@ ToolButton | Open Pioneer Trails Packages

    An button with a tooltip, used for tool buttons on a map.

    +

    Returns ReactNode

    diff --git a/openlayers-base-packages/docs/functions/_open_pioneer_measurement.Measurement.html b/openlayers-base-packages/docs/functions/_open_pioneer_measurement.Measurement.html index a026a01d2..0dac0afd7 100644 --- a/openlayers-base-packages/docs/functions/_open_pioneer_measurement.Measurement.html +++ b/openlayers-base-packages/docs/functions/_open_pioneer_measurement.Measurement.html @@ -1,3 +1,3 @@ Measurement | Open Pioneer Trails Packages

    The Measurement component can be used in an app to measure geometries (areas or lines) on the map.

    +

    Returns ReactNode

    diff --git a/openlayers-base-packages/docs/functions/_open_pioneer_overview_map.OverviewMap.html b/openlayers-base-packages/docs/functions/_open_pioneer_overview_map.OverviewMap.html index af9c838fa..2c8af034a 100644 --- a/openlayers-base-packages/docs/functions/_open_pioneer_overview_map.OverviewMap.html +++ b/openlayers-base-packages/docs/functions/_open_pioneer_overview_map.OverviewMap.html @@ -1,3 +1,3 @@ OverviewMap | Open Pioneer Trails Packages

    The OverviewMap component can be used in an app to have a better overview of the current location in the map.

    +

    Returns ReactNode

    diff --git a/openlayers-base-packages/docs/functions/_open_pioneer_printing.Printing.html b/openlayers-base-packages/docs/functions/_open_pioneer_printing.Printing.html index 2b1eb9397..4f0cd8299 100644 --- a/openlayers-base-packages/docs/functions/_open_pioneer_printing.Printing.html +++ b/openlayers-base-packages/docs/functions/_open_pioneer_printing.Printing.html @@ -1,3 +1,3 @@ Printing | Open Pioneer Trails Packages

    The Printing component can be used to download the current map view as a printable file.

    +

    Returns ReactNode

    diff --git a/openlayers-base-packages/docs/functions/_open_pioneer_result_list.ResultList.html b/openlayers-base-packages/docs/functions/_open_pioneer_result_list.ResultList.html index 4fba6d381..030751f45 100644 --- a/openlayers-base-packages/docs/functions/_open_pioneer_result_list.ResultList.html +++ b/openlayers-base-packages/docs/functions/_open_pioneer_result_list.ResultList.html @@ -1,3 +1,3 @@ ResultList | Open Pioneer Trails Packages

    A component that displays a set of features as a list.

    +

    Returns ReactNode

    diff --git a/openlayers-base-packages/docs/functions/_open_pioneer_scale_bar.ScaleBar.html b/openlayers-base-packages/docs/functions/_open_pioneer_scale_bar.ScaleBar.html index 70cb9a274..1244fa7f9 100644 --- a/openlayers-base-packages/docs/functions/_open_pioneer_scale_bar.ScaleBar.html +++ b/openlayers-base-packages/docs/functions/_open_pioneer_scale_bar.ScaleBar.html @@ -1,2 +1,2 @@ ScaleBar | Open Pioneer Trails Packages
    +

    Returns ReactNode

    diff --git a/openlayers-base-packages/docs/functions/_open_pioneer_scale_setter.ScaleSetter.html b/openlayers-base-packages/docs/functions/_open_pioneer_scale_setter.ScaleSetter.html index 5311c855f..cb35ad032 100644 --- a/openlayers-base-packages/docs/functions/_open_pioneer_scale_setter.ScaleSetter.html +++ b/openlayers-base-packages/docs/functions/_open_pioneer_scale_setter.ScaleSetter.html @@ -1,3 +1,3 @@ ScaleSetter | Open Pioneer Trails Packages

    Displays the current scale and allows the user to change it.

    +

    Returns ReactNode

    diff --git a/openlayers-base-packages/docs/functions/_open_pioneer_scale_viewer.ScaleViewer.html b/openlayers-base-packages/docs/functions/_open_pioneer_scale_viewer.ScaleViewer.html index 0c6448f2d..83416ac2e 100644 --- a/openlayers-base-packages/docs/functions/_open_pioneer_scale_viewer.ScaleViewer.html +++ b/openlayers-base-packages/docs/functions/_open_pioneer_scale_viewer.ScaleViewer.html @@ -1,2 +1,2 @@ ScaleViewer | Open Pioneer Trails Packages
    +

    Returns ReactNode

    diff --git a/openlayers-base-packages/docs/functions/_open_pioneer_search.Search.html b/openlayers-base-packages/docs/functions/_open_pioneer_search.Search.html index 8c58d4abc..2078d2a78 100644 --- a/openlayers-base-packages/docs/functions/_open_pioneer_search.Search.html +++ b/openlayers-base-packages/docs/functions/_open_pioneer_search.Search.html @@ -1,3 +1,3 @@ Search | Open Pioneer Trails Packages

    A component that allows the user to search a given set of SearchSources.

    +

    Returns ReactNode

    diff --git a/openlayers-base-packages/docs/functions/_open_pioneer_selection.Selection.html b/openlayers-base-packages/docs/functions/_open_pioneer_selection.Selection.html index be01ee9c5..a5effe669 100644 --- a/openlayers-base-packages/docs/functions/_open_pioneer_selection.Selection.html +++ b/openlayers-base-packages/docs/functions/_open_pioneer_selection.Selection.html @@ -1,3 +1,3 @@ Selection | Open Pioneer Trails Packages

    A component that allows the user to perform a spatial selection on a given set of SelectionSource.

    +

    Returns ReactNode

    diff --git a/openlayers-base-packages/docs/functions/_open_pioneer_spatial_bookmarks.SpatialBookmarks.html b/openlayers-base-packages/docs/functions/_open_pioneer_spatial_bookmarks.SpatialBookmarks.html index a701273aa..92a992f3c 100644 --- a/openlayers-base-packages/docs/functions/_open_pioneer_spatial_bookmarks.SpatialBookmarks.html +++ b/openlayers-base-packages/docs/functions/_open_pioneer_spatial_bookmarks.SpatialBookmarks.html @@ -1,3 +1,3 @@ SpatialBookmarks | Open Pioneer Trails Packages

    A component that allows the user to manage a set of spatial bookmarks.

    +

    Returns ReactNode

    diff --git a/openlayers-base-packages/docs/functions/_open_pioneer_toc.Toc.html b/openlayers-base-packages/docs/functions/_open_pioneer_toc.Toc.html index 943352c45..e1f3bb305 100644 --- a/openlayers-base-packages/docs/functions/_open_pioneer_toc.Toc.html +++ b/openlayers-base-packages/docs/functions/_open_pioneer_toc.Toc.html @@ -1,3 +1,3 @@ Toc | Open Pioneer Trails Packages

    Displays the layers of the configured map.

    +

    Returns ReactNode

    diff --git a/openlayers-base-packages/docs/interfaces/_open_pioneer_basemap_switcher.BasemapSwitcherProps.html b/openlayers-base-packages/docs/interfaces/_open_pioneer_basemap_switcher.BasemapSwitcherProps.html index caf4b4153..148b5a6e9 100644 --- a/openlayers-base-packages/docs/interfaces/_open_pioneer_basemap_switcher.BasemapSwitcherProps.html +++ b/openlayers-base-packages/docs/interfaces/_open_pioneer_basemap_switcher.BasemapSwitcherProps.html @@ -1,5 +1,5 @@ BasemapSwitcherProps | Open Pioneer Trails Packages

    These are special properties for the BasemapSwitcher.

    -
    interface BasemapSwitcherProps {
        allowSelectingEmptyBasemap?: boolean;
        aria-label?: string;
        aria-labelledby?: string;
        className?: string;
        map?: MapModel;
        mapId?: string;
    }

    Hierarchy (view full)

    Properties

    interface BasemapSwitcherProps {
        allowSelectingEmptyBasemap?: boolean;
        aria-label?: string;
        aria-labelledby?: string;
        className?: string;
        map?: MapModel;
        mapId?: string;
    }

    Hierarchy (view full)

    Properties

    allowSelectingEmptyBasemap?: boolean

    Specifies whether an option to deactivate all basemap layers is available in the BasemapSwitcher. Defaults to false.

    -
    aria-label?: string

    Optional aria-label property. +

    aria-label?: string

    Optional aria-label property. Do not use together with aria-label.

    -
    aria-labelledby?: string

    Optional aria-labelledby property. +

    aria-labelledby?: string

    Optional aria-labelledby property. Do not use together with aria-label.

    -
    className?: string

    Additional css class name(s) that will be added to the BasemapSwitcher component.

    -
    map?: MapModel

    The direct map model reference to use. +

    className?: string

    Additional css class name(s) that will be added to the BasemapSwitcher component.

    +
    map?: MapModel

    The direct map model reference to use. This property can be used as an alternative to the mapId.

    -
    mapId?: string

    The id of the map. +

    mapId?: string

    The id of the map. The map will be looked up in the MapRegistry service.

    -
    +
    diff --git a/openlayers-base-packages/docs/interfaces/_open_pioneer_coordinate_search.CoordinateInputProps.html b/openlayers-base-packages/docs/interfaces/_open_pioneer_coordinate_search.CoordinateInputProps.html index 5dcfa7059..734edd457 100644 --- a/openlayers-base-packages/docs/interfaces/_open_pioneer_coordinate_search.CoordinateInputProps.html +++ b/openlayers-base-packages/docs/interfaces/_open_pioneer_coordinate_search.CoordinateInputProps.html @@ -1,5 +1,5 @@ CoordinateInputProps | Open Pioneer Trails Packages

    Props for the CoordinateInput component.

    -
    interface CoordinateInputProps {
        input?: Coordinate;
        map?: MapModel;
        mapId?: string;
        onClear?: (() => void);
        onSelect?: ((event: CoordinatesSelectEvent) => void);
        placeholder?: string | Coordinate;
        projections?: ProjectionInput[];
    }

    Hierarchy (view full)

    Properties

    interface CoordinateInputProps {
        input?: Coordinate;
        map?: MapModel;
        mapId?: string;
        onClear?: (() => void);
        onSelect?: ((event: CoordinatesSelectEvent) => void);
        placeholder?: string | Coordinate;
        projections?: ProjectionInput[];
    }

    Hierarchy (view full)

    Properties

    Properties

    input?: Coordinate

    Insert input value and overwrite user input.

    -
    map?: MapModel

    The direct map model reference to use. +

    map?: MapModel

    The direct map model reference to use. This property can be used as an alternative to the mapId.

    -
    mapId?: string

    The id of the map. +

    mapId?: string

    The id of the map. The map will be looked up in the MapRegistry service.

    -
    onClear?: (() => void)

    Optional event that gets called if the input is cleared.

    -
    onSelect?: ((event: CoordinatesSelectEvent) => void)

    Optional event that gets called if (valid) coordinates are entered or projection is changed by the user.

    -
    placeholder?: string | Coordinate

    Placeholder text to display when no input is present. Common usages:

    +
    onClear?: (() => void)

    Optional event that gets called if the input is cleared.

    +
    onSelect?: ((event: CoordinatesSelectEvent) => void)

    Optional event that gets called if (valid) coordinates are entered or projection is changed by the user.

    +
    placeholder?: string | Coordinate

    Placeholder text to display when no input is present. Common usages:

    • hint for the user ("enter coordinate here")
    • example coordinate ("12.345 67.890")
    • current mouse position

    If a coordinate is given, it has to be in the current projection of the map.

    -
    projections?: ProjectionInput[]

    List of projection options, only projections that are known by the map as projection are shown. +

    projections?: ProjectionInput[]

    List of projection options, only projections that are known by the map as projection are shown. Each projection can have an individual precision of coordinates.

    If no precision is given, the default precision is used.

    -
    +
    diff --git a/openlayers-base-packages/docs/interfaces/_open_pioneer_coordinate_search.CoordinateSearchProps.html b/openlayers-base-packages/docs/interfaces/_open_pioneer_coordinate_search.CoordinateSearchProps.html index 12f0dc7ce..8c2445f52 100644 --- a/openlayers-base-packages/docs/interfaces/_open_pioneer_coordinate_search.CoordinateSearchProps.html +++ b/openlayers-base-packages/docs/interfaces/_open_pioneer_coordinate_search.CoordinateSearchProps.html @@ -1,15 +1,15 @@ CoordinateSearchProps | Open Pioneer Trails Packages

    Properties for the CoordinateSearch.

    -
    interface CoordinateSearchProps {
        map?: MapModel;
        mapId?: string;
        onClear?: (() => void);
        onSelect?: ((event: CoordinatesSelectEvent) => void);
        projections?: ProjectionInput[];
    }

    Hierarchy (view full)

    Properties

    interface CoordinateSearchProps {
        map?: MapModel;
        mapId?: string;
        onClear?: (() => void);
        onSelect?: ((event: CoordinatesSelectEvent) => void);
        projections?: ProjectionInput[];
    }

    Hierarchy (view full)

    Properties

    map?: MapModel

    The direct map model reference to use. This property can be used as an alternative to the mapId.

    -
    mapId?: string

    The id of the map. +

    mapId?: string

    The id of the map. The map will be looked up in the MapRegistry service.

    -
    onClear?: (() => void)

    Optional event that gets called if the input is cleared.

    -
    onSelect?: ((event: CoordinatesSelectEvent) => void)

    Optional event that gets called if some coordinates are entered or projection is changed by the user.

    -
    projections?: ProjectionInput[]

    Searchable projections, only projections that are known by the map as projection are shown. +

    onClear?: (() => void)

    Optional event that gets called if the input is cleared.

    +
    onSelect?: ((event: CoordinatesSelectEvent) => void)

    Optional event that gets called if some coordinates are entered or projection is changed by the user.

    +
    projections?: ProjectionInput[]

    Searchable projections, only projections that are known by the map as projection are shown. Each projection can have an individual precision of coordinates. If no precision is given, the default precision is used.

    -
    +
    diff --git a/openlayers-base-packages/docs/interfaces/_open_pioneer_coordinate_search.CoordinatesSelectEvent.html b/openlayers-base-packages/docs/interfaces/_open_pioneer_coordinate_search.CoordinatesSelectEvent.html index 3e99f8404..def84cdba 100644 --- a/openlayers-base-packages/docs/interfaces/_open_pioneer_coordinate_search.CoordinatesSelectEvent.html +++ b/openlayers-base-packages/docs/interfaces/_open_pioneer_coordinate_search.CoordinatesSelectEvent.html @@ -1,6 +1,6 @@ CoordinatesSelectEvent | Open Pioneer Trails Packages

    Event type emitted when the user enters new coordinates or projection is changed by the user.

    -
    interface CoordinatesSelectEvent {
        coords: Coordinate;
        projection: Projection;
    }

    Properties

    interface CoordinatesSelectEvent {
        coords: Coordinate;
        projection: Projection;
    }

    Properties

    Properties

    coords: Coordinate

    coordinates in the projection of the object

    -
    projection: Projection

    the projection of the coordinates.

    -
    +
    projection: Projection

    the projection of the coordinates.

    +
    diff --git a/openlayers-base-packages/docs/interfaces/_open_pioneer_coordinate_search.ProjectionInput.html b/openlayers-base-packages/docs/interfaces/_open_pioneer_coordinate_search.ProjectionInput.html index d693cf8cc..6d564aef1 100644 --- a/openlayers-base-packages/docs/interfaces/_open_pioneer_coordinate_search.ProjectionInput.html +++ b/openlayers-base-packages/docs/interfaces/_open_pioneer_coordinate_search.ProjectionInput.html @@ -1,8 +1,8 @@ ProjectionInput | Open Pioneer Trails Packages

    Dropdown item of projection selection with an optional coordinate precision

    -
    interface ProjectionInput {
        label: string;
        precision?: number;
        value: ProjectionLike;
    }

    Properties

    interface ProjectionInput {
        label: string;
        precision?: number;
        value: ProjectionLike;
    }

    Properties

    label: string

    Label to show the user.

    -
    precision?: number

    The number of displayed decimal places.

    -
    value: ProjectionLike

    The map projection as projection or as string.

    -
    +
    precision?: number

    The number of displayed decimal places.

    +
    value: ProjectionLike

    The map projection as projection or as string.

    +
    diff --git a/openlayers-base-packages/docs/interfaces/_open_pioneer_coordinate_viewer.CoordinateViewerProps.html b/openlayers-base-packages/docs/interfaces/_open_pioneer_coordinate_viewer.CoordinateViewerProps.html index 2953f56db..228b356fe 100644 --- a/openlayers-base-packages/docs/interfaces/_open_pioneer_coordinate_viewer.CoordinateViewerProps.html +++ b/openlayers-base-packages/docs/interfaces/_open_pioneer_coordinate_viewer.CoordinateViewerProps.html @@ -1,17 +1,17 @@ CoordinateViewerProps | Open Pioneer Trails Packages

    These are special properties for the CoordinateViewer.

    -
    interface CoordinateViewerProps {
        displayProjectionCode?: string;
        format?: "decimal" | "degree";
        map?: MapModel;
        mapId?: string;
        precision?: number;
    }

    Hierarchy (view full)

    Properties

    interface CoordinateViewerProps {
        displayProjectionCode?: string;
        format?: "decimal" | "degree";
        map?: MapModel;
        mapId?: string;
        precision?: number;
    }

    Hierarchy (view full)

    Properties

    displayProjectionCode?: string

    Projection of the coordinates shown in the rendered HTML, does not affect the map projection

    -
    format?: "decimal" | "degree"

    Configures the display format. +

    format?: "decimal" | "degree"

    Configures the display format. By default, the current coordinates are shown as decimal numbers (format: "decimal").

    If the format is set to "degree", the coordinates are shown in angular degrees (DMS). This can only be used meaningfully (at this time) if the underlying projection provides lat/lon coordinates.

    -
    map?: MapModel

    The direct map model reference to use. +

    map?: MapModel

    The direct map model reference to use. This property can be used as an alternative to the mapId.

    -
    mapId?: string

    The id of the map. +

    mapId?: string

    The id of the map. The map will be looked up in the MapRegistry service.

    -
    precision?: number

    Number of decimal places shown for coordinates.

    -
    +
    precision?: number

    Number of decimal places shown for coordinates.

    +
    diff --git a/openlayers-base-packages/docs/interfaces/_open_pioneer_editing.EditingService.html b/openlayers-base-packages/docs/interfaces/_open_pioneer_editing.EditingService.html index cff6cb288..bc253ed21 100644 --- a/openlayers-base-packages/docs/interfaces/_open_pioneer_editing.EditingService.html +++ b/openlayers-base-packages/docs/interfaces/_open_pioneer_editing.EditingService.html @@ -1,11 +1,11 @@ EditingService | Open Pioneer Trails Packages

    The editing service allows to start and handle editing workflows.

    Inject an instance of this service by referencing the interface name "editing.EditingService".

    -
    interface EditingService {
        createFeature(map: MapModel, ogcApiFeatureLayerUrl: URL): EditingWorkflow;
        reset(mapId: string): void;
        stop(mapId: string): void;
        updateFeature(map: MapModel, ogcApiFeatureLayerUrl: URL, feature: Feature<Geometry>): EditingWorkflow;
    }

    Hierarchy

    • DeclaredService<"editing.EditingService">
      • EditingService

    Methods

    interface EditingService {
        createFeature(map: MapModel, ogcApiFeatureLayerUrl: URL): EditingWorkflow;
        reset(mapId: string): void;
        stop(mapId: string): void;
        updateFeature(map: MapModel, ogcApiFeatureLayerUrl: URL, feature: Feature<Geometry>): EditingWorkflow;
    }

    Hierarchy

    • DeclaredService<"editing.EditingService">
      • EditingService

    Methods

    • Resets the unfinished geometry from an existing EditingWorkflow without leaving the edit mode.

      -

      Parameters

      • mapId: string

      Returns void

    • Stops the edit mode and removes an existing EditingWorkflow.

      -

      Parameters

      • mapId: string

      Returns void

    +

    Parameters

    Returns EditingWorkflow

    • Resets the unfinished geometry from an existing EditingWorkflow without leaving the edit mode.

      +

      Parameters

      • mapId: string

      Returns void

    • Stops the edit mode and removes an existing EditingWorkflow.

      +

      Parameters

      • mapId: string

      Returns void

    diff --git a/openlayers-base-packages/docs/interfaces/_open_pioneer_editing.EditingWorkflow.html b/openlayers-base-packages/docs/interfaces/_open_pioneer_editing.EditingWorkflow.html index 7a2fac333..801f019f8 100644 --- a/openlayers-base-packages/docs/interfaces/_open_pioneer_editing.EditingWorkflow.html +++ b/openlayers-base-packages/docs/interfaces/_open_pioneer_editing.EditingWorkflow.html @@ -1,15 +1,15 @@ EditingWorkflow | Open Pioneer Trails Packages

    EditingWorkflows are created by the EditingService and represent a currently ongoing editing workflow.

    -
    interface EditingWorkflow {
        getState(): EditingWorkflowState;
        reset(): void;
        stop(): void;
        triggerSave(): void;
        whenComplete(): Promise<undefined | Record<string, string>>;
    }

    Methods

    interface EditingWorkflow {
        getState(): EditingWorkflowState;
        reset(): void;
        stop(): void;
        triggerSave(): void;
        whenComplete(): Promise<undefined | Record<string, string>>;
    }

    Methods

    • Resets this workflow to its initial state.

      -

      Returns void

    • Stops this editing operation.

      -

      Returns void

    • Trigger saving the currently drawn/updated feature.

      -

      Returns void

    • Wait for the editing to be finished. The returned promise resolves with the +

      Returns EditingWorkflowState

    • Resets this workflow to its initial state.

      +

      Returns void

    • Stops this editing operation.

      +

      Returns void

    • Trigger saving the currently drawn/updated feature.

      +

      Returns void

    • Wait for the editing to be finished. The returned promise resolves with the feature ID when saving was successful and rejects if saving the feature failed. It resolves with undefined when the editing was stopped.

      -

      Returns Promise<undefined | Record<string, string>>

    +

    Returns Promise<undefined | Record<string, string>>

    diff --git a/openlayers-base-packages/docs/interfaces/_open_pioneer_geolocation.GeolocationProps.html b/openlayers-base-packages/docs/interfaces/_open_pioneer_geolocation.GeolocationProps.html index 31d903106..f83ed3039 100644 --- a/openlayers-base-packages/docs/interfaces/_open_pioneer_geolocation.GeolocationProps.html +++ b/openlayers-base-packages/docs/interfaces/_open_pioneer_geolocation.GeolocationProps.html @@ -1,18 +1,18 @@ GeolocationProps | Open Pioneer Trails Packages

    These are properties supported by the Geolocation component.

    -
    interface GeolocationProps {
        accuracyFeatureStyle?: StyleLike;
        map?: MapModel;
        mapId?: string;
        maxZoom?: number;
        positionFeatureStyle?: StyleLike;
        trackingOptions?: PositionOptions;
    }

    Hierarchy (view full)

    • CommonComponentProps
    • RefAttributes<HTMLButtonElement>
    • MapModelProps
      • GeolocationProps

    Properties

    interface GeolocationProps {
        accuracyFeatureStyle?: StyleLike;
        map?: MapModel;
        mapId?: string;
        maxZoom?: number;
        positionFeatureStyle?: StyleLike;
        trackingOptions?: PositionOptions;
    }

    Hierarchy (view full)

    • CommonComponentProps
    • RefAttributes<HTMLButtonElement>
    • MapModelProps
      • GeolocationProps

    Properties

    accuracyFeatureStyle?: StyleLike

    Style to be applied for the accuracy highlight of the positioning feature.

    -
    map?: MapModel

    The direct map model reference to use. +

    map?: MapModel

    The direct map model reference to use. This property can be used as an alternative to the mapId.

    -
    mapId?: string

    The id of the map. +

    mapId?: string

    The id of the map. The map will be looked up in the MapRegistry service.

    -
    maxZoom?: number

    The default maximal zoom level

    -
    positionFeatureStyle?: StyleLike

    Style to be applied for the positioning highlight feature.

    -
    trackingOptions?: PositionOptions

    Position options for the Geolocation-Object. +

    maxZoom?: number

    The default maximal zoom level

    +
    positionFeatureStyle?: StyleLike

    Style to be applied for the positioning highlight feature.

    +
    trackingOptions?: PositionOptions

    Position options for the Geolocation-Object. See PositionOptions for more details.

    NOTE: Changing the tracking options at runtime will reset the component's state.

    -
    +
    diff --git a/openlayers-base-packages/docs/interfaces/_open_pioneer_legend.LegendItemAttributes.html b/openlayers-base-packages/docs/interfaces/_open_pioneer_legend.LegendItemAttributes.html index 0ada320a2..bc7795876 100644 --- a/openlayers-base-packages/docs/interfaces/_open_pioneer_legend.LegendItemAttributes.html +++ b/openlayers-base-packages/docs/interfaces/_open_pioneer_legend.LegendItemAttributes.html @@ -1,8 +1,8 @@ LegendItemAttributes | Open Pioneer Trails Packages

    Attributes of the legend attribute that can be specified on a layer.

    To show a legend for the layer, provide an imageUrl to an image to show or provide a React component that will be rendered as a legend.

    -
    interface LegendItemAttributes {
        Component?: ComponentType<LegendItemComponentProps>;
        imageUrl?: string;
    }

    Properties

    interface LegendItemAttributes {
        Component?: ComponentType<LegendItemComponentProps>;
        imageUrl?: string;
    }

    Properties

    Component?: ComponentType<LegendItemComponentProps>

    (Optional) React component that will be shown as customized legend for the layer.

    -
    imageUrl?: string

    (Optional) URL to an image that will be shown as a legend for the layer.

    -
    +
    imageUrl?: string

    (Optional) URL to an image that will be shown as a legend for the layer.

    +
    diff --git a/openlayers-base-packages/docs/interfaces/_open_pioneer_legend.LegendItemComponentProps.html b/openlayers-base-packages/docs/interfaces/_open_pioneer_legend.LegendItemComponentProps.html index e21337080..eab993c23 100644 --- a/openlayers-base-packages/docs/interfaces/_open_pioneer_legend.LegendItemComponentProps.html +++ b/openlayers-base-packages/docs/interfaces/_open_pioneer_legend.LegendItemComponentProps.html @@ -1,4 +1,4 @@ LegendItemComponentProps | Open Pioneer Trails Packages

    Properties of a legend item React component.

    -
    interface LegendItemComponentProps {
        layer: AnyLayer;
    }

    Properties

    interface LegendItemComponentProps {
        layer: AnyLayer;
    }

    Properties

    Properties

    layer: AnyLayer

    Related layer of the legend.

    -
    +
    diff --git a/openlayers-base-packages/docs/interfaces/_open_pioneer_legend.LegendProps.html b/openlayers-base-packages/docs/interfaces/_open_pioneer_legend.LegendProps.html index d9a726c2b..84f164163 100644 --- a/openlayers-base-packages/docs/interfaces/_open_pioneer_legend.LegendProps.html +++ b/openlayers-base-packages/docs/interfaces/_open_pioneer_legend.LegendProps.html @@ -1,11 +1,11 @@ LegendProps | Open Pioneer Trails Packages

    These are special properties for the Legend.

    -
    interface LegendProps {
        map?: MapModel;
        mapId?: string;
        showBaseLayers?: boolean;
    }

    Hierarchy (view full)

    Properties

    interface LegendProps {
        map?: MapModel;
        mapId?: string;
        showBaseLayers?: boolean;
    }

    Hierarchy (view full)

    Properties

    map?: MapModel

    The direct map model reference to use. This property can be used as an alternative to the mapId.

    -
    mapId?: string

    The id of the map. +

    mapId?: string

    The id of the map. The map will be looked up in the MapRegistry service.

    -
    showBaseLayers?: boolean

    Specifies whether legend for active base layer is shown in the legend UI. +

    showBaseLayers?: boolean

    Specifies whether legend for active base layer is shown in the legend UI. Defaults to false.

    -
    +
    diff --git a/openlayers-base-packages/docs/interfaces/_open_pioneer_map.AnyLayerBaseType.html b/openlayers-base-packages/docs/interfaces/_open_pioneer_map.AnyLayerBaseType.html index bf6064bdb..f5dbe52e2 100644 --- a/openlayers-base-packages/docs/interfaces/_open_pioneer_map.AnyLayerBaseType.html +++ b/openlayers-base-packages/docs/interfaces/_open_pioneer_map.AnyLayerBaseType.html @@ -1,7 +1,7 @@ AnyLayerBaseType | Open Pioneer Trails Packages

    Interface AnyLayerBaseType<AdditionalEvents>

    Interface shared by all layer types (operational layers and sublayers).

    Instances of this interface cannot be constructed directly; use a real layer class such as SimpleLayer instead.

    -
    interface AnyLayerBaseType<AdditionalEvents> {
        attributes: Readonly<Record<string | symbol, unknown>>;
        children: undefined | ChildrenCollection<AnyLayer>;
        description: string;
        id: string;
        layers: undefined | GroupLayerCollection;
        legend: undefined | string;
        map: MapModel;
        parent: undefined | AnyLayer;
        sublayers: undefined | SublayersCollection<WMSSublayer>;
        title: string;
        type:
            | "simple"
            | "wms"
            | "wmts"
            | "group"
            | "wms-sublayer";
        visible: boolean;
        deleteAttribute(deleteAttribute: string | symbol): void;
        setDescription(newDescription: string): void;
        setTitle(newTitle: string): void;
        setVisible(newVisibility: boolean): void;
        updateAttributes(newAttributes: Record<string | symbol, unknown>): void;
    }

    Type Parameters

    • AdditionalEvents = {}

    Hierarchy (view full)

    Properties

    interface AnyLayerBaseType<AdditionalEvents> {
        attributes: Readonly<Record<string | symbol, unknown>>;
        children: undefined | ChildrenCollection<AnyLayer>;
        description: string;
        id: string;
        layers: undefined | GroupLayerCollection;
        legend: undefined | string;
        map: MapModel;
        parent: undefined | AnyLayer;
        sublayers: undefined | SublayersCollection<WMSSublayer>;
        title: string;
        type:
            | "simple"
            | "wms"
            | "wmts"
            | "group"
            | "wms-sublayer";
        visible: boolean;
        deleteAttribute(deleteAttribute: string | symbol): void;
        setDescription(newDescription: string): void;
        setTitle(newTitle: string): void;
        setVisible(newVisibility: boolean): void;
        updateAttributes(newAttributes: Record<string | symbol, unknown>): void;
    }

    Type Parameters

    • AdditionalEvents = {}

    Hierarchy (view full)

    Properties

    attributes: Readonly<Record<string | symbol, unknown>>

    Additional attributes associated with this layer.

    -
    children: undefined | ChildrenCollection<AnyLayer>

    The direct children of this layer.

    +
    children: undefined | ChildrenCollection<AnyLayer>

    The direct children of this layer.

    The children may either be a set of operational layers (e.g. for a group layer) or a set of sublayers, or undefined.

    See also layers and sublayers.

    -
    description: string

    The human-readable description of this layer. May be empty.

    -
    id: string

    The unique id of this layer within its map model.

    +
    description: string

    The human-readable description of this layer. May be empty.

    +
    id: string

    The unique id of this layer within its map model.

    NOTE: layer ids may not be globally unique: layers that belong to different map models may have the same id.

    -
    layers: undefined | GroupLayerCollection

    If this layer is a group layer this property contains a collection of all layers that a members to the group.

    +
    layers: undefined | GroupLayerCollection

    If this layer is a group layer this property contains a collection of all layers that a members to the group.

    The property shall be undefined if it is not a group layer.

    The properties layers and sublayers are mutually exclusive.

    -
    legend: undefined | string

    LegendURL from the service capabilities, if available.

    -

    The map this layer belongs to.

    -
    parent: undefined | AnyLayer

    The direct parent of this layer instance, used for sublayers or for layers in a group layer.

    +
    legend: undefined | string

    LegendURL from the service capabilities, if available.

    +

    The map this layer belongs to.

    +
    parent: undefined | AnyLayer

    The direct parent of this layer instance, used for sublayers or for layers in a group layer.

    The property shall be undefined if the layer is not a sublayer or member of a group layer.

    -
    sublayers: undefined | SublayersCollection<WMSSublayer>

    The collection of child sublayers for this layer. Sublayers are layers that cannot exist without an appropriate parent layer.

    +
    sublayers: undefined | SublayersCollection<WMSSublayer>

    The collection of child sublayers for this layer. Sublayers are layers that cannot exist without an appropriate parent layer.

    Layers that can never have any sublayers may not have a sublayers collection.

    The properties layers and sublayers are mutually exclusive.

    -
    title: string

    The human-readable title of this layer.

    -
    type:
        | "simple"
        | "wms"
        | "wmts"
        | "group"
        | "wms-sublayer"

    Identifies the type of this layer.

    -
    visible: boolean

    Whether the layer is visible or not.

    +
    title: string

    The human-readable title of this layer.

    +
    type:
        | "simple"
        | "wms"
        | "wmts"
        | "group"
        | "wms-sublayer"

    Identifies the type of this layer.

    +
    visible: boolean

    Whether the layer is visible or not.

    NOTE: The model's visible state may do more than influence the raw OpenLayers's visibility property. Future versions may completely remove invisible layers from the OpenLayer's map under some circumstances.

    -

    Methods

    • Deletes the attribute of this layer.

      -

      Parameters

      • deleteAttribute: string | symbol

      Returns void

    • Updates the description of this layer.

      -

      Parameters

      • newDescription: string

      Returns void

    • Updates the title of this layer.

      -

      Parameters

      • newTitle: string

      Returns void

    • Updates the visibility of this layer to the new value.

      +

    Methods

    • Deletes the attribute of this layer.

      +

      Parameters

      • deleteAttribute: string | symbol

      Returns void

    • Updates the description of this layer.

      +

      Parameters

      • newDescription: string

      Returns void

    • Updates the title of this layer.

      +

      Parameters

      • newTitle: string

      Returns void

    • Updates the visibility of this layer to the new value.

      NOTE: The visibility of base layers cannot be changed through this method. Call LayerCollection.activateBaseLayer instead.

      -

      Parameters

      • newVisibility: boolean

      Returns void

    • Updates the attributes of this layer. +

      Parameters

      • newVisibility: boolean

      Returns void

    • Updates the attributes of this layer. Values in newAttributes are merged into the existing ones (i.e. via Object.assign).

      -

      Parameters

      • newAttributes: Record<string | symbol, unknown>

      Returns void

    +

    Parameters

    • newAttributes: Record<string | symbol, unknown>

    Returns void

    diff --git a/openlayers-base-packages/docs/interfaces/_open_pioneer_map.BaseFeature.html b/openlayers-base-packages/docs/interfaces/_open_pioneer_map.BaseFeature.html index 85d69c06e..4671c9289 100644 --- a/openlayers-base-packages/docs/interfaces/_open_pioneer_map.BaseFeature.html +++ b/openlayers-base-packages/docs/interfaces/_open_pioneer_map.BaseFeature.html @@ -1,15 +1,15 @@ BaseFeature | Open Pioneer Trails Packages

    Base interface for all feature objects with geometry and / or attribute information.

    -
    interface BaseFeature {
        geometry?: Geometry;
        id: string | number;
        projection?: string;
        properties?: Readonly<Record<string, unknown>>;
        style?: Style;
    }

    Hierarchy

    • BaseFeature

      Properties

      interface BaseFeature {
          geometry?: Geometry;
          id: string | number;
          projection?: string;
          properties?: Readonly<Record<string, unknown>>;
          style?: Style;
      }

      Hierarchy

      • BaseFeature

        Properties

        geometry?: Geometry

        Geometry of the feature. Also specify the projection if geometry is set.

        -
        id: string | number

        Identifier for the feature object. Must be unique within all features of one source/layer.

        +
        id: string | number

        Identifier for the feature object. Must be unique within all features of one source/layer.

        If your source cannot provide a useful id on its own, another strategy to generate unique ids is to generate a UUID instead.

        -
        projection?: string

        The projection of the geometry.

        -
        properties?: Readonly<Record<string, unknown>>

        Properties of the feature.

        -
        style?: Style

        Additional style information for displaying the feature on the map.

        -
        +
        projection?: string

        The projection of the geometry.

        +
        properties?: Readonly<Record<string, unknown>>

        Properties of the feature.

        +
        style?: Style

        Additional style information for displaying the feature on the map.

        +
        diff --git a/openlayers-base-packages/docs/interfaces/_open_pioneer_map.ChildrenCollection.html b/openlayers-base-packages/docs/interfaces/_open_pioneer_map.ChildrenCollection.html index e1632836c..50d3b3666 100644 --- a/openlayers-base-packages/docs/interfaces/_open_pioneer_map.ChildrenCollection.html +++ b/openlayers-base-packages/docs/interfaces/_open_pioneer_map.ChildrenCollection.html @@ -1,4 +1,4 @@ ChildrenCollection | Open Pioneer Trails Packages

        Contains the children of a layer.

        -
        interface ChildrenCollection<LayerType> {
            getItems(options?: LayerRetrievalOptions): LayerType[];
        }

        Type Parameters

        • LayerType

        Hierarchy (view full)

        Methods

        interface ChildrenCollection<LayerType> {
            getItems(options?: LayerRetrievalOptions): LayerType[];
        }

        Type Parameters

        • LayerType

        Hierarchy (view full)

        Methods

        Methods

        +

        Parameters

        Returns LayerType[]

        diff --git a/openlayers-base-packages/docs/interfaces/_open_pioneer_map.CoordinateConfig.html b/openlayers-base-packages/docs/interfaces/_open_pioneer_map.CoordinateConfig.html index 9e2f838d2..99f117cb3 100644 --- a/openlayers-base-packages/docs/interfaces/_open_pioneer_map.CoordinateConfig.html +++ b/openlayers-base-packages/docs/interfaces/_open_pioneer_map.CoordinateConfig.html @@ -1,6 +1,6 @@ CoordinateConfig | Open Pioneer Trails Packages

        Configures a coordinate.

        Coordinates must be valid for the map's configured projection.

        -
        interface CoordinateConfig {
            x: number;
            y: number;
            z?: number;
        }

        Properties

        x +
        interface CoordinateConfig {
            x: number;
            y: number;
            z?: number;
        }

        Properties

        x y z? -

        Properties

        x: number
        y: number
        z?: number
        +

        Properties

        x: number
        y: number
        z?: number
        diff --git a/openlayers-base-packages/docs/interfaces/_open_pioneer_map.ExtentConfig.html b/openlayers-base-packages/docs/interfaces/_open_pioneer_map.ExtentConfig.html index b981a898c..a7db8722b 100644 --- a/openlayers-base-packages/docs/interfaces/_open_pioneer_map.ExtentConfig.html +++ b/openlayers-base-packages/docs/interfaces/_open_pioneer_map.ExtentConfig.html @@ -1,7 +1,7 @@ ExtentConfig | Open Pioneer Trails Packages

        Configures an extent.

        Coordinates must be valid for the map's configured projection.

        -
        interface ExtentConfig {
            xMax: number;
            xMin: number;
            yMax: number;
            yMin: number;
        }

        Properties

        interface ExtentConfig {
            xMax: number;
            xMin: number;
            yMax: number;
            yMin: number;
        }

        Properties

        Properties

        xMax: number
        xMin: number
        yMax: number
        yMin: number
        +

        Properties

        xMax: number
        xMin: number
        yMax: number
        yMin: number
        diff --git a/openlayers-base-packages/docs/interfaces/_open_pioneer_map.GroupLayer.html b/openlayers-base-packages/docs/interfaces/_open_pioneer_map.GroupLayer.html index 6ce150df6..1e820208f 100644 --- a/openlayers-base-packages/docs/interfaces/_open_pioneer_map.GroupLayer.html +++ b/openlayers-base-packages/docs/interfaces/_open_pioneer_map.GroupLayer.html @@ -1,7 +1,7 @@ GroupLayer | Open Pioneer Trails Packages

        Represents a group of layers.

        A group layer contains a collection of Layer children. Groups can be nested to form a hierarchy.

        -
        interface GroupLayer {
            attributes: Readonly<Record<string | symbol, unknown>>;
            children: undefined | ChildrenCollection<AnyLayer>;
            description: string;
            id: string;
            isBaseLayer: boolean;
            layers: GroupLayerCollection;
            legend: undefined | string;
            loadState: LayerLoadState;
            map: MapModel;
            olLayer: LayerGroup;
            parent: undefined | AnyLayer;
            sublayers: undefined;
            title: string;
            type: "group";
            visible: boolean;
            deleteAttribute(deleteAttribute: string | symbol): void;
            setDescription(newDescription: string): void;
            setTitle(newTitle: string): void;
            setVisible(newVisibility: boolean): void;
            updateAttributes(newAttributes: Record<string | symbol, unknown>): void;
        }

        Hierarchy (view full)

        Properties

        interface GroupLayer {
            attributes: Readonly<Record<string | symbol, unknown>>;
            children: undefined | ChildrenCollection<AnyLayer>;
            description: string;
            id: string;
            isBaseLayer: boolean;
            layers: GroupLayerCollection;
            legend: undefined | string;
            loadState: LayerLoadState;
            map: MapModel;
            olLayer: LayerGroup;
            parent: undefined | AnyLayer;
            sublayers: undefined;
            title: string;
            type: "group";
            visible: boolean;
            deleteAttribute(deleteAttribute: string | symbol): void;
            setDescription(newDescription: string): void;
            setTitle(newTitle: string): void;
            setVisible(newVisibility: boolean): void;
            updateAttributes(newAttributes: Record<string | symbol, unknown>): void;
        }

        Hierarchy (view full)

        Properties

        attributes: Readonly<Record<string | symbol, unknown>>

        Additional attributes associated with this layer.

        -
        children: undefined | ChildrenCollection<AnyLayer>

        The direct children of this layer.

        +
        children: undefined | ChildrenCollection<AnyLayer>

        The direct children of this layer.

        The children may either be a set of operational layers (e.g. for a group layer) or a set of sublayers, or undefined.

        See also layers and sublayers.

        -
        description: string

        The human-readable description of this layer. May be empty.

        -
        id: string

        The unique id of this layer within its map model.

        +
        description: string

        The human-readable description of this layer. May be empty.

        +
        id: string

        The unique id of this layer within its map model.

        NOTE: layer ids may not be globally unique: layers that belong to different map models may have the same id.

        -
        isBaseLayer: boolean

        True if this layer is a base layer.

        +
        isBaseLayer: boolean

        True if this layer is a base layer.

        Only one base layer can be visible at a time.

        -

        Layers contained in this group.

        -
        legend: undefined | string

        LegendURL from the service capabilities, if available.

        -
        loadState: LayerLoadState

        The load state of a layer.

        -

        The map this layer belongs to.

        -
        olLayer: LayerGroup

        Raw OpenLayers group instance.

        +

        Layers contained in this group.

        +
        legend: undefined | string

        LegendURL from the service capabilities, if available.

        +
        loadState: LayerLoadState

        The load state of a layer.

        +

        The map this layer belongs to.

        +
        olLayer: LayerGroup

        Raw OpenLayers group instance.

        Warning: Do not manipulate the collection of layers in this group directly, changes are not synchronized!

        -
        parent: undefined | AnyLayer

        The direct parent of this layer instance, used for sublayers or for layers in a group layer.

        +
        parent: undefined | AnyLayer

        The direct parent of this layer instance, used for sublayers or for layers in a group layer.

        The property shall be undefined if the layer is not a sublayer or member of a group layer.

        -
        sublayers: undefined

        The collection of child sublayers for this layer. Sublayers are layers that cannot exist without an appropriate parent layer.

        +
        sublayers: undefined

        The collection of child sublayers for this layer. Sublayers are layers that cannot exist without an appropriate parent layer.

        Layers that can never have any sublayers may not have a sublayers collection.

        The properties layers and sublayers are mutually exclusive.

        -
        title: string

        The human-readable title of this layer.

        -
        type

        Identifies the type of this layer.

        -
        visible: boolean

        Whether the layer is visible or not.

        +
        title: string

        The human-readable title of this layer.

        +
        type

        Identifies the type of this layer.

        +
        visible: boolean

        Whether the layer is visible or not.

        NOTE: The model's visible state may do more than influence the raw OpenLayers's visibility property. Future versions may completely remove invisible layers from the OpenLayer's map under some circumstances.

        -

        Methods

        Methods

        • Updates the attributes of this layer. Values in newAttributes are merged into the existing ones (i.e. via Object.assign).

          -

          Parameters

          • newAttributes: Record<string | symbol, unknown>

          Returns void

        +

        Parameters

        • newAttributes: Record<string | symbol, unknown>

        Returns void

        diff --git a/openlayers-base-packages/docs/interfaces/_open_pioneer_map.GroupLayerCollection.html b/openlayers-base-packages/docs/interfaces/_open_pioneer_map.GroupLayerCollection.html index be5082d76..34937f1ba 100644 --- a/openlayers-base-packages/docs/interfaces/_open_pioneer_map.GroupLayerCollection.html +++ b/openlayers-base-packages/docs/interfaces/_open_pioneer_map.GroupLayerCollection.html @@ -1,6 +1,6 @@ GroupLayerCollection | Open Pioneer Trails Packages

        Contains Layer instances that belong to a GroupLayer

        -
        interface GroupLayerCollection {
            getItems(options?: LayerRetrievalOptions): Layer[];
            getLayers(options?: LayerRetrievalOptions): Layer[];
        }

        Hierarchy (view full)

        Methods

        interface GroupLayerCollection {
            getItems(options?: LayerRetrievalOptions): Layer[];
            getLayers(options?: LayerRetrievalOptions): Layer[];
        }

        Hierarchy (view full)

        Methods

        +

        Parameters

        Returns Layer[]

        diff --git a/openlayers-base-packages/docs/interfaces/_open_pioneer_map.GroupLayerConfig.html b/openlayers-base-packages/docs/interfaces/_open_pioneer_map.GroupLayerConfig.html index 437aa6151..f6cb41c33 100644 --- a/openlayers-base-packages/docs/interfaces/_open_pioneer_map.GroupLayerConfig.html +++ b/openlayers-base-packages/docs/interfaces/_open_pioneer_map.GroupLayerConfig.html @@ -1,5 +1,5 @@ GroupLayerConfig | Open Pioneer Trails Packages

        Configuration options to construct a GroupLayer.

        -
        interface GroupLayerConfig {
            attributes?: Record<string | symbol, unknown>;
            description?: string;
            healthCheck?: string | HealthCheckFunction;
            id?: string;
            isBaseLayer?: boolean;
            layers: Layer[];
            title: string;
            visible?: boolean;
        }

        Hierarchy (view full)

        Properties

        interface GroupLayerConfig {
            attributes?: Record<string | symbol, unknown>;
            description?: string;
            healthCheck?: string | HealthCheckFunction;
            id?: string;
            isBaseLayer?: boolean;
            layers: Layer[];
            title: string;
            visible?: boolean;
        }

        Hierarchy (view full)

        Properties

        Properties

        attributes?: Record<string | symbol, unknown>

        Additional attributes for this layer. These can be arbitrary values.

        -
        description?: string

        The human-readable description of this layer. +

        description?: string

        The human-readable description of this layer. Defaults to an empty string.

        -
        healthCheck?: string | HealthCheckFunction

        Optional property to check the availability of the layer. +

        healthCheck?: string | HealthCheckFunction

        Optional property to check the availability of the layer. It is possible to provide either a URL which indicates the state of the service (2xx response meaning "ok") or a HealthCheckFunction performing a custom check and returning the state.

        -
        id?: string

        The unique id of this layer. +

        id?: string

        The unique id of this layer. Defaults to a generated id.

        -
        isBaseLayer?: boolean

        Whether this layer is a base layer or not. +

        isBaseLayer?: boolean

        Whether this layer is a base layer or not. Only one base layer can be active at a time.

        Defaults to false.

        -
        layers: Layer[]

        List of layers that belong to the new group layer.

        +
        layers: Layer[]

        List of layers that belong to the new group layer.

        The group layer takes ownership of the given layers: they will be destroyed when the parent is destroyed. A layer must have a unique parent: it can only be added to the map or a single group layer.

        -
        title: string

        The human-readable title of this layer.

        -
        visible?: boolean

        Whether this layer should initially be visible. +

        title: string

        The human-readable title of this layer.

        +
        visible?: boolean

        Whether this layer should initially be visible. Defaults to true.

        -
        +
        diff --git a/openlayers-base-packages/docs/interfaces/_open_pioneer_map.GroupLayerConstructor.html b/openlayers-base-packages/docs/interfaces/_open_pioneer_map.GroupLayerConstructor.html index f30c2ffb1..ca6c4b78f 100644 --- a/openlayers-base-packages/docs/interfaces/_open_pioneer_map.GroupLayerConstructor.html +++ b/openlayers-base-packages/docs/interfaces/_open_pioneer_map.GroupLayerConstructor.html @@ -1,4 +1,4 @@ -GroupLayerConstructor | Open Pioneer Trails Packages
        interface GroupLayerConstructor {
            new GroupLayerConstructornew (config: GroupLayerConfig): GroupLayer;
            prototype: GroupLayer;
        }

        Constructors

        constructor +GroupLayerConstructor | Open Pioneer Trails Packages
        interface GroupLayerConstructor {
            new GroupLayerConstructornew (config: GroupLayerConfig): GroupLayer;
            prototype: GroupLayer;
        }

        Constructors

        Properties

        Constructors

        Properties

        prototype: GroupLayer
        +

        Parameters

        Returns GroupLayer

        Properties

        prototype: GroupLayer
        diff --git a/openlayers-base-packages/docs/interfaces/_open_pioneer_map.Highlight.html b/openlayers-base-packages/docs/interfaces/_open_pioneer_map.Highlight.html index 324995690..4b233b24d 100644 --- a/openlayers-base-packages/docs/interfaces/_open_pioneer_map.Highlight.html +++ b/openlayers-base-packages/docs/interfaces/_open_pioneer_map.Highlight.html @@ -1,4 +1,4 @@ Highlight | Open Pioneer Trails Packages

        Represents the additional graphical representations of objects.

        See also MapModel.highlight.

        -
        interface Highlight {
            isActive: boolean;
        }

        Hierarchy

        • Resource
          • Highlight

        Properties

        Properties

        isActive: boolean
        +
        interface Highlight {
            isActive: boolean;
        }

        Hierarchy

        • Resource
          • Highlight

        Properties

        Properties

        isActive: boolean
        diff --git a/openlayers-base-packages/docs/interfaces/_open_pioneer_map.HighlightOptions.html b/openlayers-base-packages/docs/interfaces/_open_pioneer_map.HighlightOptions.html index c04626ade..93590cd59 100644 --- a/openlayers-base-packages/docs/interfaces/_open_pioneer_map.HighlightOptions.html +++ b/openlayers-base-packages/docs/interfaces/_open_pioneer_map.HighlightOptions.html @@ -1,4 +1,4 @@ HighlightOptions | Open Pioneer Trails Packages

        Styleoptions supported when creating a new Highlight.

        -
        interface HighlightOptions {
            highlightStyle?: HighlightStyle;
        }

        Hierarchy (view full)

        Properties

        interface HighlightOptions {
            highlightStyle?: HighlightStyle;
        }

        Hierarchy (view full)

        Properties

        Properties

        highlightStyle?: HighlightStyle

        Optional styles to override the default styles.

        -
        +
        diff --git a/openlayers-base-packages/docs/interfaces/_open_pioneer_map.HighlightZoomOptions.html b/openlayers-base-packages/docs/interfaces/_open_pioneer_map.HighlightZoomOptions.html index aeb63ebe3..092c5cadb 100644 --- a/openlayers-base-packages/docs/interfaces/_open_pioneer_map.HighlightZoomOptions.html +++ b/openlayers-base-packages/docs/interfaces/_open_pioneer_map.HighlightZoomOptions.html @@ -1,10 +1,10 @@ HighlightZoomOptions | Open Pioneer Trails Packages

        Options supported by the map model's zoom | highlightAndZoom method.

        -
        interface HighlightZoomOptions {
            highlightStyle?: HighlightStyle;
            maxZoom?: number;
            pointZoom?: number;
            viewPadding?: MapPadding;
        }

        Hierarchy (view full)

        Properties

        interface HighlightZoomOptions {
            highlightStyle?: HighlightStyle;
            maxZoom?: number;
            pointZoom?: number;
            viewPadding?: MapPadding;
        }

        Hierarchy (view full)

        Properties

        highlightStyle?: HighlightStyle

        Optional styles to override the default styles.

        -
        maxZoom?: number

        The maximum zoom-level for multiple points, line or polygon results.

        -
        pointZoom?: number

        The zoom-level used if there is no valid extend (such as for single points).

        -
        viewPadding?: MapPadding

        The view padding to make all features visible.

        -
        +
        maxZoom?: number

        The maximum zoom-level for multiple points, line or polygon results.

        +
        pointZoom?: number

        The zoom-level used if there is no valid extend (such as for single points).

        +
        viewPadding?: MapPadding

        The view padding to make all features visible.

        +
        diff --git a/openlayers-base-packages/docs/interfaces/_open_pioneer_map.InitialExtentConfig.html b/openlayers-base-packages/docs/interfaces/_open_pioneer_map.InitialExtentConfig.html index 1560a836f..7b213db52 100644 --- a/openlayers-base-packages/docs/interfaces/_open_pioneer_map.InitialExtentConfig.html +++ b/openlayers-base-packages/docs/interfaces/_open_pioneer_map.InitialExtentConfig.html @@ -1,4 +1,4 @@ InitialExtentConfig | Open Pioneer Trails Packages

        Configures the map's initial extent.

        -
        interface InitialExtentConfig {
            extent: ExtentConfig;
            kind: "extent";
        }

        Properties

        interface InitialExtentConfig {
            extent: ExtentConfig;
            kind: "extent";
        }

        Properties

        Properties

        extent: ExtentConfig
        kind
        +

        Properties

        extent: ExtentConfig
        kind
        diff --git a/openlayers-base-packages/docs/interfaces/_open_pioneer_map.InitialPositionConfig.html b/openlayers-base-packages/docs/interfaces/_open_pioneer_map.InitialPositionConfig.html index 74f7730b8..f00bb15fe 100644 --- a/openlayers-base-packages/docs/interfaces/_open_pioneer_map.InitialPositionConfig.html +++ b/openlayers-base-packages/docs/interfaces/_open_pioneer_map.InitialPositionConfig.html @@ -1,5 +1,5 @@ InitialPositionConfig | Open Pioneer Trails Packages

        Configures the map's initial position.

        -
        interface InitialPositionConfig {
            center: CoordinateConfig;
            kind: "position";
            zoom: number;
        }

        Properties

        interface InitialPositionConfig {
            center: CoordinateConfig;
            kind: "position";
            zoom: number;
        }

        Properties

        Properties

        kind
        zoom: number
        +

        Properties

        kind
        zoom: number
        diff --git a/openlayers-base-packages/docs/interfaces/_open_pioneer_map.LayerBaseConfig.html b/openlayers-base-packages/docs/interfaces/_open_pioneer_map.LayerBaseConfig.html index 18e38b2b2..d97a8c88c 100644 --- a/openlayers-base-packages/docs/interfaces/_open_pioneer_map.LayerBaseConfig.html +++ b/openlayers-base-packages/docs/interfaces/_open_pioneer_map.LayerBaseConfig.html @@ -1,16 +1,16 @@ LayerBaseConfig | Open Pioneer Trails Packages

        Configuration options supported by all layer types (layers and sublayers).

        -
        interface LayerBaseConfig {
            attributes?: Record<string | symbol, unknown>;
            description?: string;
            id?: string;
            title: string;
            visible?: boolean;
        }

        Hierarchy (view full)

        Properties

        interface LayerBaseConfig {
            attributes?: Record<string | symbol, unknown>;
            description?: string;
            id?: string;
            title: string;
            visible?: boolean;
        }

        Hierarchy (view full)

        Properties

        attributes?: Record<string | symbol, unknown>

        Additional attributes for this layer. These can be arbitrary values.

        -
        description?: string

        The human-readable description of this layer. +

        description?: string

        The human-readable description of this layer. Defaults to an empty string.

        -
        id?: string

        The unique id of this layer. +

        id?: string

        The unique id of this layer. Defaults to a generated id.

        -
        title: string

        The human-readable title of this layer.

        -
        visible?: boolean

        Whether this layer should initially be visible. +

        title: string

        The human-readable title of this layer.

        +
        visible?: boolean

        Whether this layer should initially be visible. Defaults to true.

        -
        +
        diff --git a/openlayers-base-packages/docs/interfaces/_open_pioneer_map.LayerBaseEvents.html b/openlayers-base-packages/docs/interfaces/_open_pioneer_map.LayerBaseEvents.html index 8eb8c668e..0b494b86e 100644 --- a/openlayers-base-packages/docs/interfaces/_open_pioneer_map.LayerBaseEvents.html +++ b/openlayers-base-packages/docs/interfaces/_open_pioneer_map.LayerBaseEvents.html @@ -1,3 +1,3 @@ LayerBaseEvents | Open Pioneer Trails Packages

        Events emitted by the Layer and other layer types.

        -
        interface LayerBaseEvents {
            destroy: void;
        }

        Properties

        Properties

        destroy: void
        +
        interface LayerBaseEvents {
            destroy: void;
        }

        Properties

        Properties

        destroy: void
        diff --git a/openlayers-base-packages/docs/interfaces/_open_pioneer_map.LayerBaseType.html b/openlayers-base-packages/docs/interfaces/_open_pioneer_map.LayerBaseType.html index 3454181a8..5aa1cf152 100644 --- a/openlayers-base-packages/docs/interfaces/_open_pioneer_map.LayerBaseType.html +++ b/openlayers-base-packages/docs/interfaces/_open_pioneer_map.LayerBaseType.html @@ -1,7 +1,7 @@ LayerBaseType | Open Pioneer Trails Packages

        Interface LayerBaseType<AdditionalEvents>

        Represents an operational layer in the map.

        Instances of this interface cannot be constructed directly; use a real layer class such as SimpleLayer instead.

        -
        interface LayerBaseType<AdditionalEvents> {
            attributes: Readonly<Record<string | symbol, unknown>>;
            children: undefined | ChildrenCollection<AnyLayer>;
            description: string;
            id: string;
            isBaseLayer: boolean;
            layers: undefined | GroupLayerCollection;
            legend: undefined | string;
            loadState: LayerLoadState;
            map: MapModel;
            olLayer: BaseLayer;
            parent: undefined | AnyLayer;
            sublayers: undefined | SublayersCollection<WMSSublayer>;
            title: string;
            type:
                | "simple"
                | "wms"
                | "wmts"
                | "group";
            visible: boolean;
            deleteAttribute(deleteAttribute: string | symbol): void;
            setDescription(newDescription: string): void;
            setTitle(newTitle: string): void;
            setVisible(newVisibility: boolean): void;
            updateAttributes(newAttributes: Record<string | symbol, unknown>): void;
        }

        Type Parameters

        • AdditionalEvents = {}

        Hierarchy (view full)

        Properties

        interface LayerBaseType<AdditionalEvents> {
            attributes: Readonly<Record<string | symbol, unknown>>;
            children: undefined | ChildrenCollection<AnyLayer>;
            description: string;
            id: string;
            isBaseLayer: boolean;
            layers: undefined | GroupLayerCollection;
            legend: undefined | string;
            loadState: LayerLoadState;
            map: MapModel;
            olLayer: BaseLayer;
            parent: undefined | AnyLayer;
            sublayers: undefined | SublayersCollection<WMSSublayer>;
            title: string;
            type:
                | "simple"
                | "wms"
                | "wmts"
                | "group";
            visible: boolean;
            deleteAttribute(deleteAttribute: string | symbol): void;
            setDescription(newDescription: string): void;
            setTitle(newTitle: string): void;
            setVisible(newVisibility: boolean): void;
            updateAttributes(newAttributes: Record<string | symbol, unknown>): void;
        }

        Type Parameters

        • AdditionalEvents = {}

        Hierarchy (view full)

        Properties

        attributes: Readonly<Record<string | symbol, unknown>>

        Additional attributes associated with this layer.

        -
        children: undefined | ChildrenCollection<AnyLayer>

        The direct children of this layer.

        +
        children: undefined | ChildrenCollection<AnyLayer>

        The direct children of this layer.

        The children may either be a set of operational layers (e.g. for a group layer) or a set of sublayers, or undefined.

        See also layers and sublayers.

        -
        description: string

        The human-readable description of this layer. May be empty.

        -
        id: string

        The unique id of this layer within its map model.

        +
        description: string

        The human-readable description of this layer. May be empty.

        +
        id: string

        The unique id of this layer within its map model.

        NOTE: layer ids may not be globally unique: layers that belong to different map models may have the same id.

        -
        isBaseLayer: boolean

        True if this layer is a base layer.

        +
        isBaseLayer: boolean

        True if this layer is a base layer.

        Only one base layer can be visible at a time.

        -
        layers: undefined | GroupLayerCollection

        If this layer is a group layer this property contains a collection of all layers that a members to the group.

        +
        layers: undefined | GroupLayerCollection

        If this layer is a group layer this property contains a collection of all layers that a members to the group.

        The property shall be undefined if it is not a group layer.

        The properties layers and sublayers are mutually exclusive.

        -
        legend: undefined | string

        LegendURL from the service capabilities, if available.

        -
        loadState: LayerLoadState

        The load state of a layer.

        -

        The map this layer belongs to.

        -
        olLayer: BaseLayer

        The raw OpenLayers layer.

        -
        parent: undefined | AnyLayer

        The direct parent of this layer instance, used for sublayers or for layers in a group layer.

        +
        legend: undefined | string

        LegendURL from the service capabilities, if available.

        +
        loadState: LayerLoadState

        The load state of a layer.

        +

        The map this layer belongs to.

        +
        olLayer: BaseLayer

        The raw OpenLayers layer.

        +
        parent: undefined | AnyLayer

        The direct parent of this layer instance, used for sublayers or for layers in a group layer.

        The property shall be undefined if the layer is not a sublayer or member of a group layer.

        -
        sublayers: undefined | SublayersCollection<WMSSublayer>

        The collection of child sublayers for this layer. Sublayers are layers that cannot exist without an appropriate parent layer.

        +
        sublayers: undefined | SublayersCollection<WMSSublayer>

        The collection of child sublayers for this layer. Sublayers are layers that cannot exist without an appropriate parent layer.

        Layers that can never have any sublayers may not have a sublayers collection.

        The properties layers and sublayers are mutually exclusive.

        -
        title: string

        The human-readable title of this layer.

        -
        type:
            | "simple"
            | "wms"
            | "wmts"
            | "group"

        Identifies the type of this layer.

        -
        visible: boolean

        Whether the layer is visible or not.

        +
        title: string

        The human-readable title of this layer.

        +
        type:
            | "simple"
            | "wms"
            | "wmts"
            | "group"

        Identifies the type of this layer.

        +
        visible: boolean

        Whether the layer is visible or not.

        NOTE: The model's visible state may do more than influence the raw OpenLayers's visibility property. Future versions may completely remove invisible layers from the OpenLayer's map under some circumstances.

        -

        Methods

        Methods

        • Updates the attributes of this layer. Values in newAttributes are merged into the existing ones (i.e. via Object.assign).

          -

          Parameters

          • newAttributes: Record<string | symbol, unknown>

          Returns void

        +

        Parameters

        • newAttributes: Record<string | symbol, unknown>

        Returns void

        diff --git a/openlayers-base-packages/docs/interfaces/_open_pioneer_map.LayerCollection.html b/openlayers-base-packages/docs/interfaces/_open_pioneer_map.LayerCollection.html index e17c9b8ba..4aca88761 100644 --- a/openlayers-base-packages/docs/interfaces/_open_pioneer_map.LayerCollection.html +++ b/openlayers-base-packages/docs/interfaces/_open_pioneer_map.LayerCollection.html @@ -1,5 +1,5 @@ LayerCollection | Open Pioneer Trails Packages

        Contains the layers known to a MapModel.

        -
        interface LayerCollection {
            activateBaseLayer(id: undefined | string): boolean;
            addLayer(layer: Layer): void;
            getActiveBaseLayer(): undefined | Layer;
            getAllLayers(options?: LayerRetrievalOptions): Layer[];
            getBaseLayers(): Layer[];
            getLayerById(id: string): undefined | AnyLayer;
            getLayerByRawInstance(olLayer: BaseLayer): undefined | Layer;
            getOperationalLayers(options?: LayerRetrievalOptions): Layer[];
            removeLayerById(id: string): void;
        }

        Methods

        interface LayerCollection {
            activateBaseLayer(id: undefined | string): boolean;
            addLayer(layer: Layer): void;
            getActiveBaseLayer(): undefined | Layer;
            getAllLayers(options?: LayerRetrievalOptions): Layer[];
            getBaseLayers(): Layer[];
            getLayerById(id: string): undefined | AnyLayer;
            getLayerByRawInstance(olLayer: BaseLayer): undefined | Layer;
            getOperationalLayers(options?: LayerRetrievalOptions): Layer[];
            removeLayerById(id: string): void;
        }

        Methods

        activateBaseLayer addLayer getActiveBaseLayer getAllLayers @@ -12,16 +12,16 @@ undefined can be used to hide all base layers.

        The associated layer is made visible and all other base layers are hidden.

        Returns true if the given layer has been successfully activated.

        -

        Parameters

        • id: undefined | string

        Returns boolean

        • Adds a new layer to the map.

          +

          Parameters

          • id: undefined | string

          Returns boolean

        • Adds a new layer to the map.

          The new layer is automatically registered with this collection.

          NOTE: by default, the new layer will be shown on top of all existing layers.

          -

          Parameters

          Returns void

        • Returns the layer identified by the id or undefined, if no such layer exists.

          -

          Parameters

          • id: string

          Returns undefined | AnyLayer

        • Given a raw OpenLayers layer instance, returns the associated Layer - or undefined +

          Parameters

          Returns void

        • Returns the layer identified by the id or undefined, if no such layer exists.

          +

          Parameters

          • id: string

          Returns undefined | AnyLayer

        • Given a raw OpenLayers layer instance, returns the associated Layer - or undefined if the layer is unknown to this collection.

          -

          Parameters

          • olLayer: BaseLayer

          Returns undefined | Layer

        • Removes a layer identified by the id from the map.

          +

          Parameters

          • olLayer: BaseLayer

          Returns undefined | Layer

        • Removes a layer identified by the id from the map.

          NOTE: The current implementation only supports removal of top level layers.

          -

          Parameters

          • id: string

          Returns void

        +

        Parameters

        • id: string

        Returns void

        diff --git a/openlayers-base-packages/docs/interfaces/_open_pioneer_map.LayerConfig.html b/openlayers-base-packages/docs/interfaces/_open_pioneer_map.LayerConfig.html index 361b5c4f7..0909866c3 100644 --- a/openlayers-base-packages/docs/interfaces/_open_pioneer_map.LayerConfig.html +++ b/openlayers-base-packages/docs/interfaces/_open_pioneer_map.LayerConfig.html @@ -1,5 +1,5 @@ LayerConfig | Open Pioneer Trails Packages

        Configuration options supported by all operational layer types.

        -
        interface LayerConfig {
            attributes?: Record<string | symbol, unknown>;
            description?: string;
            healthCheck?: string | HealthCheckFunction;
            id?: string;
            isBaseLayer?: boolean;
            title: string;
            visible?: boolean;
        }

        Hierarchy (view full)

        Properties

        interface LayerConfig {
            attributes?: Record<string | symbol, unknown>;
            description?: string;
            healthCheck?: string | HealthCheckFunction;
            id?: string;
            isBaseLayer?: boolean;
            title: string;
            visible?: boolean;
        }

        Hierarchy (view full)

        Properties

        Properties

        attributes?: Record<string | symbol, unknown>

        Additional attributes for this layer. These can be arbitrary values.

        -
        description?: string

        The human-readable description of this layer. +

        description?: string

        The human-readable description of this layer. Defaults to an empty string.

        -
        healthCheck?: string | HealthCheckFunction

        Optional property to check the availability of the layer. +

        healthCheck?: string | HealthCheckFunction

        Optional property to check the availability of the layer. It is possible to provide either a URL which indicates the state of the service (2xx response meaning "ok") or a HealthCheckFunction performing a custom check and returning the state.

        -
        id?: string

        The unique id of this layer. +

        id?: string

        The unique id of this layer. Defaults to a generated id.

        -
        isBaseLayer?: boolean

        Whether this layer is a base layer or not. +

        isBaseLayer?: boolean

        Whether this layer is a base layer or not. Only one base layer can be active at a time.

        Defaults to false.

        -
        title: string

        The human-readable title of this layer.

        -
        visible?: boolean

        Whether this layer should initially be visible. +

        title: string

        The human-readable title of this layer.

        +
        visible?: boolean

        Whether this layer should initially be visible. Defaults to true.

        -
        +
        diff --git a/openlayers-base-packages/docs/interfaces/_open_pioneer_map.LayerRetrievalOptions.html b/openlayers-base-packages/docs/interfaces/_open_pioneer_map.LayerRetrievalOptions.html index 1ca0214a5..8531c995b 100644 --- a/openlayers-base-packages/docs/interfaces/_open_pioneer_map.LayerRetrievalOptions.html +++ b/openlayers-base-packages/docs/interfaces/_open_pioneer_map.LayerRetrievalOptions.html @@ -1,6 +1,6 @@ LayerRetrievalOptions | Open Pioneer Trails Packages

        These options can be used by some APIs returning an array of layers (or sublayers).

        -
        interface LayerRetrievalOptions {
            sortByDisplayOrder?: boolean;
        }

        Properties

        interface LayerRetrievalOptions {
            sortByDisplayOrder?: boolean;
        }

        Properties

        sortByDisplayOrder?: boolean

        If set to true, layers will be ordered by their display order: Layers listed first in the returned array are shown below layers listed at a later index.

        By default, layers are returned in arbitrary order.

        -
        +
        diff --git a/openlayers-base-packages/docs/interfaces/_open_pioneer_map.MapAnchorProps.html b/openlayers-base-packages/docs/interfaces/_open_pioneer_map.MapAnchorProps.html index 383aa4c05..681d51e5e 100644 --- a/openlayers-base-packages/docs/interfaces/_open_pioneer_map.MapAnchorProps.html +++ b/openlayers-base-packages/docs/interfaces/_open_pioneer_map.MapAnchorProps.html @@ -1,8 +1,8 @@ -MapAnchorProps | Open Pioneer Trails Packages
        interface MapAnchorProps {
            children?: ReactNode;
            horizontalGap?: number;
            position?: MapAnchorPosition;
            verticalGap?: number;
        }

        Hierarchy

        • CommonComponentProps
          • MapAnchorProps

        Properties

        children? +MapAnchorProps | Open Pioneer Trails Packages
        interface MapAnchorProps {
            children?: ReactNode;
            horizontalGap?: number;
            position?: MapAnchorPosition;
            verticalGap?: number;
        }

        Hierarchy

        • CommonComponentProps
          • MapAnchorProps

        Properties

        children?: ReactNode
        horizontalGap?: number

        Horizontal gap in pixel applied to anchor container.

        +

        Properties

        children?: ReactNode
        horizontalGap?: number

        Horizontal gap in pixel applied to anchor container.

        Applied:

        • left, if position *-left
        • @@ -11,15 +11,15 @@
        0
         
        -

        The position of the anchor container above the map.

        +

        The position of the anchor container above the map.

        "top-right"
         
        -
        verticalGap?: number

        Vertical gap in pixel applied to anchor container.

        +
        verticalGap?: number

        Vertical gap in pixel applied to anchor container.

        Applied:

        • top, if position top-*
        • bottom, if position bottom-*

        0 (If position bottom-*, default verticalGap == 30)

        -
        +
        diff --git a/openlayers-base-packages/docs/interfaces/_open_pioneer_map.MapConfig.html b/openlayers-base-packages/docs/interfaces/_open_pioneer_map.MapConfig.html index 773635ff7..a07123b14 100644 --- a/openlayers-base-packages/docs/interfaces/_open_pioneer_map.MapConfig.html +++ b/openlayers-base-packages/docs/interfaces/_open_pioneer_map.MapConfig.html @@ -1,5 +1,5 @@ MapConfig | Open Pioneer Trails Packages

        Options supported during map construction.

        -
        interface MapConfig {
            advanced?: Partial<OlMapOptions>;
            initialView?: InitialViewConfig;
            layers?: Layer[];
            projection?:
                | "EPSG:3857"
                | "EPSG:4326"
                | "EPSG:25832"
                | "EPSG:25833"
                | string & {};
        }

        Properties

        interface MapConfig {
            advanced?: Partial<OlMapOptions>;
            initialView?: InitialViewConfig;
            layers?: Layer[];
            projection?:
                | "EPSG:3857"
                | "EPSG:4326"
                | "EPSG:25832"
                | "EPSG:25833"
                | string & {};
        }

        Properties

        advanced? initialView? layers? projection? @@ -11,18 +11,18 @@

        Warning: Not all properties here are supported. For example, you cannot set the target because the target is controlled by the <MapContainer />.

        -
        initialView?: InitialViewConfig

        Configures the initial view. +

        initialView?: InitialViewConfig

        Configures the initial view. This can be an extent, or a (center, zoom) value.

        -
        layers?: Layer[]

        Configures the layers of the map.

        +
        layers?: Layer[]

        Configures the layers of the map.

        Layer order

        Layers defined in this array are (by default) displayed in their listed order: layers defined first are shown at the bottom, and layers defined at a later position are shown above their predecessors.

        Note: base layers are always shown below all operational layers.

        -
        projection?:
            | "EPSG:3857"
            | "EPSG:4326"
            | "EPSG:25832"
            | "EPSG:25833"
            | string & {}

        Configures a specific projection, e.g. "EPSG:4326". +

        projection?:
            | "EPSG:3857"
            | "EPSG:4326"
            | "EPSG:25832"
            | "EPSG:25833"
            | string & {}

        Configures a specific projection, e.g. "EPSG:4326". Defaults to EPSG:3857.

        To use custom projections, make sure that they are registered first:

        import { registerProjections } from "@open-pioneer/map";

        // Usually done at the top of the module.
        // This will register the projection(s) in proj4's global registry.
        registerProjections({
        "EPSG:31466": "+proj=tmerc +lat_0=0 +lon_0=6 +k=1 +x_0=2500000 +y_0=0 +ellps=bessel +nadgrids=BETA2007.gsb +units=m +no_defs +type=crs",
        // ... more projections
        });

        // later, use projection: "EPSG:31466"
        -
        +
        diff --git a/openlayers-base-packages/docs/interfaces/_open_pioneer_map.MapConfigProvider.html b/openlayers-base-packages/docs/interfaces/_open_pioneer_map.MapConfigProvider.html index 54144d69c..e89b1f428 100644 --- a/openlayers-base-packages/docs/interfaces/_open_pioneer_map.MapConfigProvider.html +++ b/openlayers-base-packages/docs/interfaces/_open_pioneer_map.MapConfigProvider.html @@ -1,9 +1,9 @@ MapConfigProvider | Open Pioneer Trails Packages

        Provides an OpenLayers map configuration with a given map id.

        The implementor must also provide the interface name "map.MapConfigProvider".

        -
        interface MapConfigProvider {
            mapId: string;
            getMapConfig(): Promise<MapConfig>;
        }

        Properties

        interface MapConfigProvider {
            mapId: string;
            getMapConfig(): Promise<MapConfig>;
        }

        Properties

        Methods

        Properties

        mapId: string

        Unique identifier of the map.

        -

        Methods

        Methods

        +

        Returns Promise<MapConfig>

        diff --git a/openlayers-base-packages/docs/interfaces/_open_pioneer_map.MapContainerProps.html b/openlayers-base-packages/docs/interfaces/_open_pioneer_map.MapContainerProps.html index 2b9a33c20..4bd30abca 100644 --- a/openlayers-base-packages/docs/interfaces/_open_pioneer_map.MapContainerProps.html +++ b/openlayers-base-packages/docs/interfaces/_open_pioneer_map.MapContainerProps.html @@ -1,7 +1,7 @@ MapContainerProps | Open Pioneer Trails Packages

        Options that specify which map to use. See useMapModel.

        When not setting any of these properties on a component, the default map (from the DefaultMapProvider) will be used. If that is not available either, an error will be thrown.

        -
        interface MapContainerProps {
            aria-label?: string;
            aria-labelledby?: string;
            children?: ReactNode;
            map?: MapModel;
            mapId?: string;
            role?: string;
            viewPadding?: MapPadding;
            viewPaddingChangeBehavior?: "none" | "preserve-center" | "preserve-extent";
        }

        Hierarchy (view full)

        Properties

        interface MapContainerProps {
            aria-label?: string;
            aria-labelledby?: string;
            children?: ReactNode;
            map?: MapModel;
            mapId?: string;
            role?: string;
            viewPadding?: MapPadding;
            viewPaddingChangeBehavior?: "none" | "preserve-center" | "preserve-extent";
        }

        Hierarchy (view full)

        Properties

        Properties

        aria-label?: string

        Optional aria-label property. Do not use together with aria-label.

        This property is directly applied to the map's container div element.

        -
        aria-labelledby?: string

        Optional aria-labelledby property. +

        aria-labelledby?: string

        Optional aria-labelledby property. Do not use together with aria-label.

        This property is directly applied to the map's container div element.

        -
        children?: ReactNode
        map?: MapModel

        The direct map model reference to use. +

        children?: ReactNode
        map?: MapModel

        The direct map model reference to use. This property can be used as an alternative to the mapId.

        -
        mapId?: string

        The id of the map. +

        mapId?: string

        The id of the map. The map will be looked up in the MapRegistry service.

        -
        role?: string

        Optional role property.

        +
        role?: string

        Optional role property.

        This property is directly applied to the map's container div element.

        -
        viewPadding?: MapPadding

        Sets the map's padding directly. +

        viewPadding?: MapPadding

        Sets the map's padding directly. Do not use the view's padding property directly on the OL map.

        See: https://openlayers.org/en/latest/apidoc/module-ol_View-View.html#padding)

        -
        viewPaddingChangeBehavior?: "none" | "preserve-center" | "preserve-extent"

        Behavior performed by the map when the view padding changes.

        +
        viewPaddingChangeBehavior?: "none" | "preserve-center" | "preserve-extent"

        Behavior performed by the map when the view padding changes.

        • none: Do nothing.
        • preserve-center: Ensures that the center point remains the same by animating the view.
        • @@ -33,4 +33,4 @@
        "preserve-center"
         
        -
        +
        diff --git a/openlayers-base-packages/docs/interfaces/_open_pioneer_map.MapModel.html b/openlayers-base-packages/docs/interfaces/_open_pioneer_map.MapModel.html index 8d90ff1aa..4879058b6 100644 --- a/openlayers-base-packages/docs/interfaces/_open_pioneer_map.MapModel.html +++ b/openlayers-base-packages/docs/interfaces/_open_pioneer_map.MapModel.html @@ -1,5 +1,5 @@ MapModel | Open Pioneer Trails Packages

        Represents a map.

        -
        interface MapModel {
            center: undefined | Coordinate;
            container: undefined | HTMLElement;
            id: string;
            initialExtent: undefined | ExtentConfig;
            layers: LayerCollection;
            olMap: Map;
            olView: View;
            projection: Projection;
            resolution: undefined | number;
            scale: undefined | number;
            zoomLevel: undefined | number;
            highlight(geometries: DisplayTarget[], options?: HighlightOptions): Highlight;
            highlightAndZoom(geometries: DisplayTarget[], options?: HighlightZoomOptions): Highlight;
            removeHighlights(): void;
            setScale(newScale: number): void;
            whenDisplayed(): Promise<void>;
            zoom(geometries: DisplayTarget[], options?: ZoomOptions): void;
        }

        Hierarchy

        Properties

        interface MapModel {
            center: undefined | Coordinate;
            container: undefined | HTMLElement;
            id: string;
            initialExtent: undefined | ExtentConfig;
            layers: LayerCollection;
            olMap: Map;
            olView: View;
            projection: Projection;
            resolution: undefined | number;
            scale: undefined | number;
            zoomLevel: undefined | number;
            highlight(geometries: DisplayTarget[], options?: HighlightOptions): Highlight;
            highlightAndZoom(geometries: DisplayTarget[], options?: HighlightZoomOptions): Highlight;
            removeHighlights(): void;
            setScale(newScale: number): void;
            whenDisplayed(): Promise<void>;
            zoom(geometries: DisplayTarget[], options?: ZoomOptions): void;
        }

        Hierarchy

        Properties

        center container id initialExtent @@ -18,23 +18,23 @@ zoom

        Properties

        center: undefined | Coordinate

        Returns the current center of the map. Same as olView.getCenter(), but reactive.

        -
        container: undefined | HTMLElement

        The container in which the map is currently being rendered. +

        container: undefined | HTMLElement

        The container in which the map is currently being rendered. This is the same as the target element of the underlying OpenLayers map.

        May be undefined if the map is not being rendered at the moment. May change at runtime.

        -
        id: string

        The unique id of the map.

        -
        initialExtent: undefined | ExtentConfig

        The initial map extent.

        +
        id: string

        The unique id of the map.

        +
        initialExtent: undefined | ExtentConfig

        The initial map extent.

        May be undefined before the map is shown. This is guaranteed to be initialized if the promise returned by whenDisplayed has resolved.

        -

        Contains all known layers of this map.

        +

        Contains all known layers of this map.

        Note that not all layers in this collection may be active in the OpenLayers map. Also note that not all layers in the OpenLayers map may be contained in this collection.

        -
        olMap: Map

        The raw OpenLayers map.

        -
        olView: View

        Returns the current view of the OpenLayers map.

        -
        projection: Projection

        Returns the current projection of the map (reactive).

        -
        resolution: undefined | number

        Returns the current resolution of the map. +

        olMap: Map

        The raw OpenLayers map.

        +
        olView: View

        Returns the current view of the OpenLayers map.

        +
        projection: Projection

        Returns the current projection of the map (reactive).

        +
        resolution: undefined | number

        Returns the current resolution of the map. Same as olView.getResolution(), but reactive.

        -
        scale: undefined | number

        Returns the current scale of the map.

        +
        scale: undefined | number

        Returns the current scale of the map.

        The scale is a value derived from the current center, resolution and projection of the map. The scale will change when the map is zoomed in our out, but depending on the projection, it may also change when the map is panned.

        @@ -42,19 +42,19 @@

        NOTE: Technically, this is the denominator of the current scale. In order to display it, use a format like 1:${scale}.

        -
        zoomLevel: undefined | number

        Returns the current zoom level of the map. +

        zoomLevel: undefined | number

        Returns the current zoom level of the map. Same as olView.getZoom(), but reactive.

        -

        Methods

        Methods

        • Creates a highlight at the given targets.

          A highlight is a temporary graphic on the map that calls attention to a point or an area.

          Call destroy() on the returned highlight object to remove the highlight again.

          -

          Parameters

          Returns Highlight

        • Removes any existing highlights from the map.

          -

          Returns void

        • Removes any existing highlights from the map.

          +

          Returns void

        • Changes the current scale of the map to the given value.

          Internally, this computes a new zoom level / resolution based on the scale and the current center. The new resolution is then applied to the current olView.

          See also scale.

          -

          Parameters

          • newScale: number

          Returns void

        • Returns a promise that resolves when the map has mounted in the DOM.

          -

          Returns Promise<void>

        +

        Parameters

        • newScale: number

        Returns void

        • Returns a promise that resolves when the map has mounted in the DOM.

          +

          Returns Promise<void>

        diff --git a/openlayers-base-packages/docs/interfaces/_open_pioneer_map.MapModelEvents.html b/openlayers-base-packages/docs/interfaces/_open_pioneer_map.MapModelEvents.html index f71e3bcb5..cf3c03113 100644 --- a/openlayers-base-packages/docs/interfaces/_open_pioneer_map.MapModelEvents.html +++ b/openlayers-base-packages/docs/interfaces/_open_pioneer_map.MapModelEvents.html @@ -1,3 +1,3 @@ MapModelEvents | Open Pioneer Trails Packages

        Events emitted by the MapModel.

        -
        interface MapModelEvents {
            destroy: void;
        }

        Properties

        Properties

        destroy: void
        +
        interface MapModelEvents {
            destroy: void;
        }

        Properties

        Properties

        destroy: void
        diff --git a/openlayers-base-packages/docs/interfaces/_open_pioneer_map.MapModelProps.html b/openlayers-base-packages/docs/interfaces/_open_pioneer_map.MapModelProps.html index ce6dd9096..c014200a8 100644 --- a/openlayers-base-packages/docs/interfaces/_open_pioneer_map.MapModelProps.html +++ b/openlayers-base-packages/docs/interfaces/_open_pioneer_map.MapModelProps.html @@ -1,10 +1,10 @@ MapModelProps | Open Pioneer Trails Packages

        Options that specify which map to use. See useMapModel.

        When not setting any of these properties on a component, the default map (from the DefaultMapProvider) will be used. If that is not available either, an error will be thrown.

        -
        interface MapModelProps {
            map?: MapModel;
            mapId?: string;
        }

        Hierarchy (view full)

        Properties

        interface MapModelProps {
            map?: MapModel;
            mapId?: string;
        }

        Hierarchy (view full)

        Properties

        Properties

        map?: MapModel

        The direct map model reference to use. This property can be used as an alternative to the mapId.

        -
        mapId?: string

        The id of the map. +

        mapId?: string

        The id of the map. The map will be looked up in the MapRegistry service.

        -
        +
        diff --git a/openlayers-base-packages/docs/interfaces/_open_pioneer_map.MapPadding.html b/openlayers-base-packages/docs/interfaces/_open_pioneer_map.MapPadding.html index 469d1aacf..fb4b5de32 100644 --- a/openlayers-base-packages/docs/interfaces/_open_pioneer_map.MapPadding.html +++ b/openlayers-base-packages/docs/interfaces/_open_pioneer_map.MapPadding.html @@ -1,7 +1,7 @@ MapPadding | Open Pioneer Trails Packages
        interface MapPadding {
            bottom?: number;
            left?: number;
            right?: number;
            top?: number;
        }

        Properties

        interface MapPadding {
            bottom?: number;
            left?: number;
            right?: number;
            top?: number;
        }

        Properties

        Properties

        bottom?: number
        left?: number
        right?: number
        top?: number
        +

        Properties

        bottom?: number
        left?: number
        right?: number
        top?: number
        diff --git a/openlayers-base-packages/docs/interfaces/_open_pioneer_map.MapRegistry.html b/openlayers-base-packages/docs/interfaces/_open_pioneer_map.MapRegistry.html index c0400bf31..fa5767b5a 100644 --- a/openlayers-base-packages/docs/interfaces/_open_pioneer_map.MapRegistry.html +++ b/openlayers-base-packages/docs/interfaces/_open_pioneer_map.MapRegistry.html @@ -1,13 +1,13 @@ MapRegistry | Open Pioneer Trails Packages

        Provides access to registered map instances.

        Maps are identified by a unique id.

        Inject an instance of this service by referencing the interface name "map.MapRegistry".

        -
        interface MapRegistry {
            expectMapModel(mapId: string): Promise<MapModel>;
            getMapModel(mapId: string): Promise<undefined | MapModel>;
            getMapModelByRawInstance(olMap: Map): undefined | MapModel;
        }

        Hierarchy

        • DeclaredService<"map.MapRegistry">
          • MapRegistry

        Methods

        interface MapRegistry {
            expectMapModel(mapId: string): Promise<MapModel>;
            getMapModel(mapId: string): Promise<undefined | MapModel>;
            getMapModelByRawInstance(olMap: Map): undefined | MapModel;
        }

        Hierarchy

        • DeclaredService<"map.MapRegistry">
          • MapRegistry

        Methods

        • Returns the map model associated with the given id. Returns undefined if there is no such model.

          -

          Parameters

          • mapId: string

          Returns Promise<undefined | MapModel>

        • Given a raw OpenLayers map instance, returns the associated MapModel - or undefined +

          Parameters

          • mapId: string

          Returns Promise<undefined | MapModel>

        • Given a raw OpenLayers map instance, returns the associated MapModel - or undefined if the map is unknown to this registry.

          All OpenLayers maps created by this registry (e.g. via MapConfigProvider) have an associated map model.

          -

          Parameters

          • olMap: Map

          Returns undefined | MapModel

        +

        Parameters

        • olMap: Map

        Returns undefined | MapModel

        diff --git a/openlayers-base-packages/docs/interfaces/_open_pioneer_map.OlMapOptions.html b/openlayers-base-packages/docs/interfaces/_open_pioneer_map.OlMapOptions.html index 4ee7b1349..9d508103a 100644 --- a/openlayers-base-packages/docs/interfaces/_open_pioneer_map.OlMapOptions.html +++ b/openlayers-base-packages/docs/interfaces/_open_pioneer_map.OlMapOptions.html @@ -1,9 +1,9 @@ OlMapOptions | Open Pioneer Trails Packages

        Advanced options during map construction.

        -
        interface OlMapOptions {
            view:
                | undefined
                | View
                | ViewOptions
                | Promise<ViewOptions>;
        }

        Hierarchy

        • Omit<OlMapBaseOptions, "target" | "view">
          • OlMapOptions

        Properties

        interface OlMapOptions {
            view:
                | undefined
                | View
                | ViewOptions
                | Promise<ViewOptions>;
        }

        Hierarchy

        • Omit<OlMapBaseOptions, "target" | "view">
          • OlMapOptions

        Properties

        Properties

        view:
            | undefined
            | View
            | ViewOptions
            | Promise<ViewOptions>

        Advanced options to control the view.

        We recommend using the OlViewOptions type.

        Warning: When a fully constructed OlView instance is provided, some options of MapConfig (such as initialView or projection) cannot be applied anymore.

        -
        +
        diff --git a/openlayers-base-packages/docs/interfaces/_open_pioneer_map.SimpleLayer.html b/openlayers-base-packages/docs/interfaces/_open_pioneer_map.SimpleLayer.html index 2c2f329fb..fb994d232 100644 --- a/openlayers-base-packages/docs/interfaces/_open_pioneer_map.SimpleLayer.html +++ b/openlayers-base-packages/docs/interfaces/_open_pioneer_map.SimpleLayer.html @@ -1,5 +1,5 @@ SimpleLayer | Open Pioneer Trails Packages

        A simple layer type wrapping an OpenLayers layer.

        -
        interface SimpleLayer {
            attributes: Readonly<Record<string | symbol, unknown>>;
            children: undefined | ChildrenCollection<AnyLayer>;
            description: string;
            id: string;
            isBaseLayer: boolean;
            layers: undefined;
            legend: undefined | string;
            loadState: LayerLoadState;
            map: MapModel;
            olLayer: BaseLayer;
            parent: undefined | AnyLayer;
            sublayers: undefined | SublayersCollection<WMSSublayer>;
            title: string;
            type: "simple";
            visible: boolean;
            deleteAttribute(deleteAttribute: string | symbol): void;
            setDescription(newDescription: string): void;
            setTitle(newTitle: string): void;
            setVisible(newVisibility: boolean): void;
            updateAttributes(newAttributes: Record<string | symbol, unknown>): void;
        }

        Hierarchy (view full)

        Properties

        interface SimpleLayer {
            attributes: Readonly<Record<string | symbol, unknown>>;
            children: undefined | ChildrenCollection<AnyLayer>;
            description: string;
            id: string;
            isBaseLayer: boolean;
            layers: undefined;
            legend: undefined | string;
            loadState: LayerLoadState;
            map: MapModel;
            olLayer: BaseLayer;
            parent: undefined | AnyLayer;
            sublayers: undefined | SublayersCollection<WMSSublayer>;
            title: string;
            type: "simple";
            visible: boolean;
            deleteAttribute(deleteAttribute: string | symbol): void;
            setDescription(newDescription: string): void;
            setTitle(newTitle: string): void;
            setVisible(newVisibility: boolean): void;
            updateAttributes(newAttributes: Record<string | symbol, unknown>): void;
        }

        Hierarchy (view full)

        Properties

        attributes: Readonly<Record<string | symbol, unknown>>

        Additional attributes associated with this layer.

        -
        children: undefined | ChildrenCollection<AnyLayer>

        The direct children of this layer.

        +
        children: undefined | ChildrenCollection<AnyLayer>

        The direct children of this layer.

        The children may either be a set of operational layers (e.g. for a group layer) or a set of sublayers, or undefined.

        See also layers and sublayers.

        -
        description: string

        The human-readable description of this layer. May be empty.

        -
        id: string

        The unique id of this layer within its map model.

        +
        description: string

        The human-readable description of this layer. May be empty.

        +
        id: string

        The unique id of this layer within its map model.

        NOTE: layer ids may not be globally unique: layers that belong to different map models may have the same id.

        -
        isBaseLayer: boolean

        True if this layer is a base layer.

        +
        isBaseLayer: boolean

        True if this layer is a base layer.

        Only one base layer can be visible at a time.

        -
        layers: undefined

        If this layer is a group layer this property contains a collection of all layers that a members to the group.

        +
        layers: undefined

        If this layer is a group layer this property contains a collection of all layers that a members to the group.

        The property shall be undefined if it is not a group layer.

        The properties layers and sublayers are mutually exclusive.

        -
        legend: undefined | string

        LegendURL from the service capabilities, if available.

        -
        loadState: LayerLoadState

        The load state of a layer.

        -

        The map this layer belongs to.

        -
        olLayer: BaseLayer

        The raw OpenLayers layer.

        -
        parent: undefined | AnyLayer

        The direct parent of this layer instance, used for sublayers or for layers in a group layer.

        +
        legend: undefined | string

        LegendURL from the service capabilities, if available.

        +
        loadState: LayerLoadState

        The load state of a layer.

        +

        The map this layer belongs to.

        +
        olLayer: BaseLayer

        The raw OpenLayers layer.

        +
        parent: undefined | AnyLayer

        The direct parent of this layer instance, used for sublayers or for layers in a group layer.

        The property shall be undefined if the layer is not a sublayer or member of a group layer.

        -
        sublayers: undefined | SublayersCollection<WMSSublayer>

        The collection of child sublayers for this layer. Sublayers are layers that cannot exist without an appropriate parent layer.

        +
        sublayers: undefined | SublayersCollection<WMSSublayer>

        The collection of child sublayers for this layer. Sublayers are layers that cannot exist without an appropriate parent layer.

        Layers that can never have any sublayers may not have a sublayers collection.

        The properties layers and sublayers are mutually exclusive.

        -
        title: string

        The human-readable title of this layer.

        -
        type

        Identifies the type of this layer.

        -
        visible: boolean

        Whether the layer is visible or not.

        +
        title: string

        The human-readable title of this layer.

        +
        type

        Identifies the type of this layer.

        +
        visible: boolean

        Whether the layer is visible or not.

        NOTE: The model's visible state may do more than influence the raw OpenLayers's visibility property. Future versions may completely remove invisible layers from the OpenLayer's map under some circumstances.

        -

        Methods

        Methods

        • Updates the attributes of this layer. Values in newAttributes are merged into the existing ones (i.e. via Object.assign).

          -

          Parameters

          • newAttributes: Record<string | symbol, unknown>

          Returns void

        +

        Parameters

        • newAttributes: Record<string | symbol, unknown>

        Returns void

        diff --git a/openlayers-base-packages/docs/interfaces/_open_pioneer_map.SimpleLayerConfig.html b/openlayers-base-packages/docs/interfaces/_open_pioneer_map.SimpleLayerConfig.html index 691764d4a..e769665dd 100644 --- a/openlayers-base-packages/docs/interfaces/_open_pioneer_map.SimpleLayerConfig.html +++ b/openlayers-base-packages/docs/interfaces/_open_pioneer_map.SimpleLayerConfig.html @@ -1,6 +1,6 @@ SimpleLayerConfig | Open Pioneer Trails Packages

        Options to construct a simple layer.

        Simple layers are wrappers around a custom OpenLayers layer.

        -
        interface SimpleLayerConfig {
            attributes?: Record<string | symbol, unknown>;
            description?: string;
            healthCheck?: string | HealthCheckFunction;
            id?: string;
            isBaseLayer?: boolean;
            olLayer: BaseLayer;
            title: string;
            visible?: boolean;
        }

        Hierarchy (view full)

        Properties

        interface SimpleLayerConfig {
            attributes?: Record<string | symbol, unknown>;
            description?: string;
            healthCheck?: string | HealthCheckFunction;
            id?: string;
            isBaseLayer?: boolean;
            olLayer: BaseLayer;
            title: string;
            visible?: boolean;
        }

        Hierarchy (view full)

        Properties

        Properties

        attributes?: Record<string | symbol, unknown>

        Additional attributes for this layer. These can be arbitrary values.

        -
        description?: string

        The human-readable description of this layer. +

        description?: string

        The human-readable description of this layer. Defaults to an empty string.

        -
        healthCheck?: string | HealthCheckFunction

        Optional property to check the availability of the layer. +

        healthCheck?: string | HealthCheckFunction

        Optional property to check the availability of the layer. It is possible to provide either a URL which indicates the state of the service (2xx response meaning "ok") or a HealthCheckFunction performing a custom check and returning the state.

        -
        id?: string

        The unique id of this layer. +

        id?: string

        The unique id of this layer. Defaults to a generated id.

        -
        isBaseLayer?: boolean

        Whether this layer is a base layer or not. +

        isBaseLayer?: boolean

        Whether this layer is a base layer or not. Only one base layer can be active at a time.

        Defaults to false.

        -
        olLayer: BaseLayer

        The raw OpenLayers instance.

        -
        title: string

        The human-readable title of this layer.

        -
        visible?: boolean

        Whether this layer should initially be visible. +

        olLayer: BaseLayer

        The raw OpenLayers instance.

        +
        title: string

        The human-readable title of this layer.

        +
        visible?: boolean

        Whether this layer should initially be visible. Defaults to true.

        -
        +
        diff --git a/openlayers-base-packages/docs/interfaces/_open_pioneer_map.SimpleLayerConstructor.html b/openlayers-base-packages/docs/interfaces/_open_pioneer_map.SimpleLayerConstructor.html index c630eae48..f164544f1 100644 --- a/openlayers-base-packages/docs/interfaces/_open_pioneer_map.SimpleLayerConstructor.html +++ b/openlayers-base-packages/docs/interfaces/_open_pioneer_map.SimpleLayerConstructor.html @@ -1,5 +1,5 @@ SimpleLayerConstructor | Open Pioneer Trails Packages

        Constructor for SimpleLayer.

        -
        interface SimpleLayerConstructor {
            new SimpleLayerConstructornew (config: SimpleLayerConfig): SimpleLayer;
            prototype: SimpleLayer;
        }

        Constructors

        interface SimpleLayerConstructor {
            new SimpleLayerConstructornew (config: SimpleLayerConfig): SimpleLayer;
            prototype: SimpleLayer;
        }

        Constructors

        Properties

        Constructors

        Properties

        prototype: SimpleLayer
        +

        Parameters

        Returns SimpleLayer

        Properties

        prototype: SimpleLayer
        diff --git a/openlayers-base-packages/docs/interfaces/_open_pioneer_map.SublayerBaseType.html b/openlayers-base-packages/docs/interfaces/_open_pioneer_map.SublayerBaseType.html index 9927bab18..ad342f457 100644 --- a/openlayers-base-packages/docs/interfaces/_open_pioneer_map.SublayerBaseType.html +++ b/openlayers-base-packages/docs/interfaces/_open_pioneer_map.SublayerBaseType.html @@ -1,5 +1,5 @@ SublayerBaseType | Open Pioneer Trails Packages

        Represents a sublayer of another layer.

        -
        interface SublayerBaseType {
            attributes: Readonly<Record<string | symbol, unknown>>;
            children: undefined | ChildrenCollection<AnyLayer>;
            description: string;
            id: string;
            layers: undefined | GroupLayerCollection;
            legend: undefined | string;
            map: MapModel;
            parent: AnyLayer;
            parentLayer: Layer;
            sublayers: undefined | SublayersCollection<WMSSublayer>;
            title: string;
            type: "wms-sublayer";
            visible: boolean;
            deleteAttribute(deleteAttribute: string | symbol): void;
            setDescription(newDescription: string): void;
            setTitle(newTitle: string): void;
            setVisible(newVisibility: boolean): void;
            updateAttributes(newAttributes: Record<string | symbol, unknown>): void;
        }

        Hierarchy (view full)

        Properties

        interface SublayerBaseType {
            attributes: Readonly<Record<string | symbol, unknown>>;
            children: undefined | ChildrenCollection<AnyLayer>;
            description: string;
            id: string;
            layers: undefined | GroupLayerCollection;
            legend: undefined | string;
            map: MapModel;
            parent: AnyLayer;
            parentLayer: Layer;
            sublayers: undefined | SublayersCollection<WMSSublayer>;
            title: string;
            type: "wms-sublayer";
            visible: boolean;
            deleteAttribute(deleteAttribute: string | symbol): void;
            setDescription(newDescription: string): void;
            setTitle(newTitle: string): void;
            setVisible(newVisibility: boolean): void;
            updateAttributes(newAttributes: Record<string | symbol, unknown>): void;
        }

        Hierarchy (view full)

        Properties

        attributes: Readonly<Record<string | symbol, unknown>>

        Additional attributes associated with this layer.

        -
        children: undefined | ChildrenCollection<AnyLayer>

        The direct children of this layer.

        +
        children: undefined | ChildrenCollection<AnyLayer>

        The direct children of this layer.

        The children may either be a set of operational layers (e.g. for a group layer) or a set of sublayers, or undefined.

        See also layers and sublayers.

        -
        description: string

        The human-readable description of this layer. May be empty.

        -
        id: string

        The unique id of this layer within its map model.

        +
        description: string

        The human-readable description of this layer. May be empty.

        +
        id: string

        The unique id of this layer within its map model.

        NOTE: layer ids may not be globally unique: layers that belong to different map models may have the same id.

        -
        layers: undefined | GroupLayerCollection

        If this layer is a group layer this property contains a collection of all layers that a members to the group.

        +
        layers: undefined | GroupLayerCollection

        If this layer is a group layer this property contains a collection of all layers that a members to the group.

        The property shall be undefined if it is not a group layer.

        The properties layers and sublayers are mutually exclusive.

        -
        legend: undefined | string

        LegendURL from the service capabilities, if available.

        -

        The map this layer belongs to.

        -
        parent: AnyLayer

        The direct parent of this layer instance. +

        legend: undefined | string

        LegendURL from the service capabilities, if available.

        +

        The map this layer belongs to.

        +
        parent: AnyLayer

        The direct parent of this layer instance. This can either be the parent layer or another sublayer.

        -
        parentLayer: Layer

        The parent layer that owns this sublayer.

        -
        sublayers: undefined | SublayersCollection<WMSSublayer>

        The collection of child sublayers for this layer. Sublayers are layers that cannot exist without an appropriate parent layer.

        +
        parentLayer: Layer

        The parent layer that owns this sublayer.

        +
        sublayers: undefined | SublayersCollection<WMSSublayer>

        The collection of child sublayers for this layer. Sublayers are layers that cannot exist without an appropriate parent layer.

        Layers that can never have any sublayers may not have a sublayers collection.

        The properties layers and sublayers are mutually exclusive.

        -
        title: string

        The human-readable title of this layer.

        -
        type

        Identifies the type of this sublayer.

        -
        visible: boolean

        Whether the layer is visible or not.

        +
        title: string

        The human-readable title of this layer.

        +
        type

        Identifies the type of this sublayer.

        +
        visible: boolean

        Whether the layer is visible or not.

        NOTE: The model's visible state may do more than influence the raw OpenLayers's visibility property. Future versions may completely remove invisible layers from the OpenLayer's map under some circumstances.

        -

        Methods

        Methods

        • Updates the attributes of this layer. Values in newAttributes are merged into the existing ones (i.e. via Object.assign).

          -

          Parameters

          • newAttributes: Record<string | symbol, unknown>

          Returns void

        +

        Parameters

        • newAttributes: Record<string | symbol, unknown>

        Returns void

        diff --git a/openlayers-base-packages/docs/interfaces/_open_pioneer_map.SublayersCollection.html b/openlayers-base-packages/docs/interfaces/_open_pioneer_map.SublayersCollection.html index 4aa225e19..5c8a8a946 100644 --- a/openlayers-base-packages/docs/interfaces/_open_pioneer_map.SublayersCollection.html +++ b/openlayers-base-packages/docs/interfaces/_open_pioneer_map.SublayersCollection.html @@ -1,6 +1,6 @@ SublayersCollection | Open Pioneer Trails Packages

        Interface SublayersCollection<SublayerType>

        Contains the sublayers that belong to a Layer or Sublayer.

        -
        interface SublayersCollection<SublayerType> {
            getItems(options?: LayerRetrievalOptions): SublayerType[];
            getSublayers(options?: LayerRetrievalOptions): SublayerType[];
        }

        Type Parameters

        Hierarchy (view full)

        Methods

        interface SublayersCollection<SublayerType> {
            getItems(options?: LayerRetrievalOptions): SublayerType[];
            getSublayers(options?: LayerRetrievalOptions): SublayerType[];
        }

        Type Parameters

        Hierarchy (view full)

        Methods

        +

        Parameters

        Returns SublayerType[]

        diff --git a/openlayers-base-packages/docs/interfaces/_open_pioneer_map.UseMapModelLoading.html b/openlayers-base-packages/docs/interfaces/_open_pioneer_map.UseMapModelLoading.html index eea7b9ef7..ec4af6018 100644 --- a/openlayers-base-packages/docs/interfaces/_open_pioneer_map.UseMapModelLoading.html +++ b/openlayers-base-packages/docs/interfaces/_open_pioneer_map.UseMapModelLoading.html @@ -1,4 +1,4 @@ -UseMapModelLoading | Open Pioneer Trails Packages
        interface UseMapModelLoading {
            error?: undefined;
            kind: "loading";
            map?: undefined;
        }

        Properties

        error? +UseMapModelLoading | Open Pioneer Trails Packages
        interface UseMapModelLoading {
            error?: undefined;
            kind: "loading";
            map?: undefined;
        }

        Properties

        Properties

        error?: undefined
        kind
        map?: undefined
        +

        Properties

        error?: undefined
        kind
        map?: undefined
        diff --git a/openlayers-base-packages/docs/interfaces/_open_pioneer_map.UseMapModelRejected.html b/openlayers-base-packages/docs/interfaces/_open_pioneer_map.UseMapModelRejected.html index 8cf31e824..d29ceeed0 100644 --- a/openlayers-base-packages/docs/interfaces/_open_pioneer_map.UseMapModelRejected.html +++ b/openlayers-base-packages/docs/interfaces/_open_pioneer_map.UseMapModelRejected.html @@ -1,4 +1,4 @@ -UseMapModelRejected | Open Pioneer Trails Packages
        interface UseMapModelRejected {
            error: Error;
            kind: "rejected";
            map?: undefined;
        }

        Properties

        error +UseMapModelRejected | Open Pioneer Trails Packages
        interface UseMapModelRejected {
            error: Error;
            kind: "rejected";
            map?: undefined;
        }

        Properties

        Properties

        error: Error
        kind
        map?: undefined
        +

        Properties

        error: Error
        kind
        map?: undefined
        diff --git a/openlayers-base-packages/docs/interfaces/_open_pioneer_map.UseMapModelResolved.html b/openlayers-base-packages/docs/interfaces/_open_pioneer_map.UseMapModelResolved.html index 117128c5a..a405ee4a3 100644 --- a/openlayers-base-packages/docs/interfaces/_open_pioneer_map.UseMapModelResolved.html +++ b/openlayers-base-packages/docs/interfaces/_open_pioneer_map.UseMapModelResolved.html @@ -1,4 +1,4 @@ -UseMapModelResolved | Open Pioneer Trails Packages
        interface UseMapModelResolved {
            error?: undefined;
            kind: "resolved";
            map: MapModel;
        }

        Properties

        error? +UseMapModelResolved | Open Pioneer Trails Packages
        interface UseMapModelResolved {
            error?: undefined;
            kind: "resolved";
            map: MapModel;
        }

        Properties

        Properties

        error?: undefined
        kind
        +

        Properties

        error?: undefined
        kind
        diff --git a/openlayers-base-packages/docs/interfaces/_open_pioneer_map.WMSLayer.html b/openlayers-base-packages/docs/interfaces/_open_pioneer_map.WMSLayer.html index 13f7e0c9d..ef726183f 100644 --- a/openlayers-base-packages/docs/interfaces/_open_pioneer_map.WMSLayer.html +++ b/openlayers-base-packages/docs/interfaces/_open_pioneer_map.WMSLayer.html @@ -1,5 +1,5 @@ WMSLayer | Open Pioneer Trails Packages

        Represents a WMS layer.

        -
        interface WMSLayer {
            attributes: Readonly<Record<string | symbol, unknown>>;
            children: undefined | ChildrenCollection<AnyLayer>;
            description: string;
            id: string;
            isBaseLayer: boolean;
            layers: undefined;
            legend: undefined | string;
            loadState: LayerLoadState;
            map: MapModel;
            olLayer: BaseLayer;
            parent: undefined | AnyLayer;
            sublayers: SublayersCollection<WMSSublayer>;
            title: string;
            type: "wms";
            url: string;
            visible: boolean;
            deleteAttribute(deleteAttribute: string | symbol): void;
            setDescription(newDescription: string): void;
            setTitle(newTitle: string): void;
            setVisible(newVisibility: boolean): void;
            updateAttributes(newAttributes: Record<string | symbol, unknown>): void;
        }

        Hierarchy (view full)

        Properties

        interface WMSLayer {
            attributes: Readonly<Record<string | symbol, unknown>>;
            children: undefined | ChildrenCollection<AnyLayer>;
            description: string;
            id: string;
            isBaseLayer: boolean;
            layers: undefined;
            legend: undefined | string;
            loadState: LayerLoadState;
            map: MapModel;
            olLayer: BaseLayer;
            parent: undefined | AnyLayer;
            sublayers: SublayersCollection<WMSSublayer>;
            title: string;
            type: "wms";
            url: string;
            visible: boolean;
            deleteAttribute(deleteAttribute: string | symbol): void;
            setDescription(newDescription: string): void;
            setTitle(newTitle: string): void;
            setVisible(newVisibility: boolean): void;
            updateAttributes(newAttributes: Record<string | symbol, unknown>): void;
        }

        Hierarchy (view full)

        Properties

        attributes: Readonly<Record<string | symbol, unknown>>

        Additional attributes associated with this layer.

        -
        children: undefined | ChildrenCollection<AnyLayer>

        The direct children of this layer.

        +
        children: undefined | ChildrenCollection<AnyLayer>

        The direct children of this layer.

        The children may either be a set of operational layers (e.g. for a group layer) or a set of sublayers, or undefined.

        See also layers and sublayers.

        -
        description: string

        The human-readable description of this layer. May be empty.

        -
        id: string

        The unique id of this layer within its map model.

        +
        description: string

        The human-readable description of this layer. May be empty.

        +
        id: string

        The unique id of this layer within its map model.

        NOTE: layer ids may not be globally unique: layers that belong to different map models may have the same id.

        -
        isBaseLayer: boolean

        True if this layer is a base layer.

        +
        isBaseLayer: boolean

        True if this layer is a base layer.

        Only one base layer can be visible at a time.

        -
        layers: undefined

        If this layer is a group layer this property contains a collection of all layers that a members to the group.

        +
        layers: undefined

        If this layer is a group layer this property contains a collection of all layers that a members to the group.

        The property shall be undefined if it is not a group layer.

        The properties layers and sublayers are mutually exclusive.

        -
        legend: undefined | string

        LegendURL from the service capabilities, if available.

        -
        loadState: LayerLoadState

        The load state of a layer.

        -

        The map this layer belongs to.

        -
        olLayer: BaseLayer

        The raw OpenLayers layer.

        -
        parent: undefined | AnyLayer

        The direct parent of this layer instance, used for sublayers or for layers in a group layer.

        +
        legend: undefined | string

        LegendURL from the service capabilities, if available.

        +
        loadState: LayerLoadState

        The load state of a layer.

        +

        The map this layer belongs to.

        +
        olLayer: BaseLayer

        The raw OpenLayers layer.

        +
        parent: undefined | AnyLayer

        The direct parent of this layer instance, used for sublayers or for layers in a group layer.

        The property shall be undefined if the layer is not a sublayer or member of a group layer.

        -

        The collection of child sublayers for this layer. Sublayers are layers that cannot exist without an appropriate parent layer.

        +

        The collection of child sublayers for this layer. Sublayers are layers that cannot exist without an appropriate parent layer.

        Layers that can never have any sublayers may not have a sublayers collection.

        The properties layers and sublayers are mutually exclusive.

        -
        title: string

        The human-readable title of this layer.

        -
        type

        Identifies the type of this layer.

        -
        url: string

        The URL of the WMS service that was used during layer construction.

        -
        visible: boolean

        Whether the layer is visible or not.

        +
        title: string

        The human-readable title of this layer.

        +
        type

        Identifies the type of this layer.

        +
        url: string

        The URL of the WMS service that was used during layer construction.

        +
        visible: boolean

        Whether the layer is visible or not.

        NOTE: The model's visible state may do more than influence the raw OpenLayers's visibility property. Future versions may completely remove invisible layers from the OpenLayer's map under some circumstances.

        -

        Methods

        Methods

        • Updates the attributes of this layer. Values in newAttributes are merged into the existing ones (i.e. via Object.assign).

          -

          Parameters

          • newAttributes: Record<string | symbol, unknown>

          Returns void

        +

        Parameters

        • newAttributes: Record<string | symbol, unknown>

        Returns void

        diff --git a/openlayers-base-packages/docs/interfaces/_open_pioneer_map.WMSLayerConfig.html b/openlayers-base-packages/docs/interfaces/_open_pioneer_map.WMSLayerConfig.html index 72b0eae4c..64ce17be7 100644 --- a/openlayers-base-packages/docs/interfaces/_open_pioneer_map.WMSLayerConfig.html +++ b/openlayers-base-packages/docs/interfaces/_open_pioneer_map.WMSLayerConfig.html @@ -1,5 +1,5 @@ WMSLayerConfig | Open Pioneer Trails Packages

        Configuration options to construct a WMS layer.

        -
        interface WMSLayerConfig {
            attributes?: Record<string | symbol, unknown>;
            description?: string;
            healthCheck?: string | HealthCheckFunction;
            id?: string;
            isBaseLayer?: boolean;
            sourceOptions?: Partial<Options>;
            sublayers?: WMSSublayerConfig[];
            title: string;
            url: string;
            visible?: boolean;
        }

        Hierarchy (view full)

        Properties

        interface WMSLayerConfig {
            attributes?: Record<string | symbol, unknown>;
            description?: string;
            healthCheck?: string | HealthCheckFunction;
            id?: string;
            isBaseLayer?: boolean;
            sourceOptions?: Partial<Options>;
            sublayers?: WMSSublayerConfig[];
            title: string;
            url: string;
            visible?: boolean;
        }

        Hierarchy (view full)

        Properties

        Properties

        attributes?: Record<string | symbol, unknown>

        Additional attributes for this layer. These can be arbitrary values.

        -
        description?: string

        The human-readable description of this layer. +

        description?: string

        The human-readable description of this layer. Defaults to an empty string.

        -
        healthCheck?: string | HealthCheckFunction

        Optional property to check the availability of the layer. +

        healthCheck?: string | HealthCheckFunction

        Optional property to check the availability of the layer. It is possible to provide either a URL which indicates the state of the service (2xx response meaning "ok") or a HealthCheckFunction performing a custom check and returning the state.

        -
        id?: string

        The unique id of this layer. +

        id?: string

        The unique id of this layer. Defaults to a generated id.

        -
        isBaseLayer?: boolean

        Whether this layer is a base layer or not. +

        isBaseLayer?: boolean

        Whether this layer is a base layer or not. Only one base layer can be active at a time.

        Defaults to false.

        -
        sourceOptions?: Partial<Options>

        Additional source options for the layer's WMS source.

        +
        sourceOptions?: Partial<Options>

        Additional source options for the layer's WMS source.

        NOTE: These options are intended for advanced configuration: the WMS Layer manages some of the OpenLayers source options itself.

        -
        sublayers?: WMSSublayerConfig[]

        Configures the layer's sublayers.

        -
        title: string

        The human-readable title of this layer.

        -
        url: string

        URL of the WMS service.

        -
        visible?: boolean

        Whether this layer should initially be visible. +

        sublayers?: WMSSublayerConfig[]

        Configures the layer's sublayers.

        +
        title: string

        The human-readable title of this layer.

        +
        url: string

        URL of the WMS service.

        +
        visible?: boolean

        Whether this layer should initially be visible. Defaults to true.

        -
        +
        diff --git a/openlayers-base-packages/docs/interfaces/_open_pioneer_map.WMSLayerConstructor.html b/openlayers-base-packages/docs/interfaces/_open_pioneer_map.WMSLayerConstructor.html index ad20d8378..dd218e72b 100644 --- a/openlayers-base-packages/docs/interfaces/_open_pioneer_map.WMSLayerConstructor.html +++ b/openlayers-base-packages/docs/interfaces/_open_pioneer_map.WMSLayerConstructor.html @@ -1,5 +1,5 @@ WMSLayerConstructor | Open Pioneer Trails Packages

        Constructor for WMSLayer.

        -
        interface WMSLayerConstructor {
            new WMSLayerConstructornew (config: WMSLayerConfig): WMSLayer;
            prototype: WMSLayer;
        }

        Constructors

        interface WMSLayerConstructor {
            new WMSLayerConstructornew (config: WMSLayerConfig): WMSLayer;
            prototype: WMSLayer;
        }

        Constructors

        Properties

        Constructors

        Properties

        prototype: WMSLayer
        +

        Parameters

        Returns WMSLayer

        Properties

        prototype: WMSLayer
        diff --git a/openlayers-base-packages/docs/interfaces/_open_pioneer_map.WMSSublayer.html b/openlayers-base-packages/docs/interfaces/_open_pioneer_map.WMSSublayer.html index 3aa8f15cc..9ae55f277 100644 --- a/openlayers-base-packages/docs/interfaces/_open_pioneer_map.WMSSublayer.html +++ b/openlayers-base-packages/docs/interfaces/_open_pioneer_map.WMSSublayer.html @@ -1,5 +1,5 @@ WMSSublayer | Open Pioneer Trails Packages

        Represents a WMS sublayer

        -
        interface WMSSublayer {
            attributes: Readonly<Record<string | symbol, unknown>>;
            children: undefined | ChildrenCollection<AnyLayer>;
            description: string;
            id: string;
            layers: undefined | GroupLayerCollection;
            legend: undefined | string;
            map: MapModel;
            name: undefined | string;
            parent: AnyLayer;
            parentLayer: Layer;
            sublayers: undefined | SublayersCollection<WMSSublayer>;
            title: string;
            type: "wms-sublayer";
            visible: boolean;
            deleteAttribute(deleteAttribute: string | symbol): void;
            setDescription(newDescription: string): void;
            setTitle(newTitle: string): void;
            setVisible(newVisibility: boolean): void;
            updateAttributes(newAttributes: Record<string | symbol, unknown>): void;
        }

        Hierarchy (view full)

        Properties

        interface WMSSublayer {
            attributes: Readonly<Record<string | symbol, unknown>>;
            children: undefined | ChildrenCollection<AnyLayer>;
            description: string;
            id: string;
            layers: undefined | GroupLayerCollection;
            legend: undefined | string;
            map: MapModel;
            name: undefined | string;
            parent: AnyLayer;
            parentLayer: Layer;
            sublayers: undefined | SublayersCollection<WMSSublayer>;
            title: string;
            type: "wms-sublayer";
            visible: boolean;
            deleteAttribute(deleteAttribute: string | symbol): void;
            setDescription(newDescription: string): void;
            setTitle(newTitle: string): void;
            setVisible(newVisibility: boolean): void;
            updateAttributes(newAttributes: Record<string | symbol, unknown>): void;
        }

        Hierarchy (view full)

        Properties

        attributes: Readonly<Record<string | symbol, unknown>>

        Additional attributes associated with this layer.

        -
        children: undefined | ChildrenCollection<AnyLayer>

        The direct children of this layer.

        +
        children: undefined | ChildrenCollection<AnyLayer>

        The direct children of this layer.

        The children may either be a set of operational layers (e.g. for a group layer) or a set of sublayers, or undefined.

        See also layers and sublayers.

        -
        description: string

        The human-readable description of this layer. May be empty.

        -
        id: string

        The unique id of this layer within its map model.

        +
        description: string

        The human-readable description of this layer. May be empty.

        +
        id: string

        The unique id of this layer within its map model.

        NOTE: layer ids may not be globally unique: layers that belong to different map models may have the same id.

        -
        layers: undefined | GroupLayerCollection

        If this layer is a group layer this property contains a collection of all layers that a members to the group.

        +
        layers: undefined | GroupLayerCollection

        If this layer is a group layer this property contains a collection of all layers that a members to the group.

        The property shall be undefined if it is not a group layer.

        The properties layers and sublayers are mutually exclusive.

        -
        legend: undefined | string

        LegendURL from the service capabilities, if available.

        -

        The map this layer belongs to.

        -
        name: undefined | string

        The name of the WMS sublayer in the service's capabilities.

        +
        legend: undefined | string

        LegendURL from the service capabilities, if available.

        +

        The map this layer belongs to.

        +
        name: undefined | string

        The name of the WMS sublayer in the service's capabilities.

        Is optional as a WMS group layer in a WMS service does not need to have a name.

        -
        parent: AnyLayer

        The direct parent of this layer instance. +

        parent: AnyLayer

        The direct parent of this layer instance. This can either be the parent layer or another sublayer.

        -
        parentLayer: Layer

        The parent layer that owns this sublayer.

        -
        sublayers: undefined | SublayersCollection<WMSSublayer>

        The collection of child sublayers for this layer. Sublayers are layers that cannot exist without an appropriate parent layer.

        +
        parentLayer: Layer

        The parent layer that owns this sublayer.

        +
        sublayers: undefined | SublayersCollection<WMSSublayer>

        The collection of child sublayers for this layer. Sublayers are layers that cannot exist without an appropriate parent layer.

        Layers that can never have any sublayers may not have a sublayers collection.

        The properties layers and sublayers are mutually exclusive.

        -
        title: string

        The human-readable title of this layer.

        -
        type

        Identifies the type of this sublayer.

        -
        visible: boolean

        Whether the layer is visible or not.

        +
        title: string

        The human-readable title of this layer.

        +
        type

        Identifies the type of this sublayer.

        +
        visible: boolean

        Whether the layer is visible or not.

        NOTE: The model's visible state may do more than influence the raw OpenLayers's visibility property. Future versions may completely remove invisible layers from the OpenLayer's map under some circumstances.

        -

        Methods

        Methods

        • Updates the attributes of this layer. Values in newAttributes are merged into the existing ones (i.e. via Object.assign).

          -

          Parameters

          • newAttributes: Record<string | symbol, unknown>

          Returns void

        +

        Parameters

        • newAttributes: Record<string | symbol, unknown>

        Returns void

        diff --git a/openlayers-base-packages/docs/interfaces/_open_pioneer_map.WMSSublayerConfig.html b/openlayers-base-packages/docs/interfaces/_open_pioneer_map.WMSSublayerConfig.html index 965d4ad3e..f7761acf1 100644 --- a/openlayers-base-packages/docs/interfaces/_open_pioneer_map.WMSSublayerConfig.html +++ b/openlayers-base-packages/docs/interfaces/_open_pioneer_map.WMSSublayerConfig.html @@ -1,5 +1,5 @@ WMSSublayerConfig | Open Pioneer Trails Packages

        Configuration options to construct the sublayers of a WMS layer.

        -
        interface WMSSublayerConfig {
            attributes?: Record<string | symbol, unknown>;
            description?: string;
            id?: string;
            name?: string;
            sublayers?: WMSSublayerConfig[];
            title: string;
            visible?: boolean;
        }

        Hierarchy (view full)

        Properties

        interface WMSSublayerConfig {
            attributes?: Record<string | symbol, unknown>;
            description?: string;
            id?: string;
            name?: string;
            sublayers?: WMSSublayerConfig[];
            title: string;
            visible?: boolean;
        }

        Hierarchy (view full)

        Properties

        Properties

        attributes?: Record<string | symbol, unknown>

        Additional attributes for this layer. These can be arbitrary values.

        -
        description?: string

        The human-readable description of this layer. +

        description?: string

        The human-readable description of this layer. Defaults to an empty string.

        -
        id?: string

        The unique id of this layer. +

        id?: string

        The unique id of this layer. Defaults to a generated id.

        -
        name?: string

        The name of the WMS sublayer in the service's capabilities. +

        name?: string

        The name of the WMS sublayer in the service's capabilities. Not mandatory, e.g. for WMS group layer. See WMS spec.

        -
        sublayers?: WMSSublayerConfig[]

        Configuration for nested sublayers.

        -
        title: string

        The human-readable title of this layer.

        -
        visible?: boolean

        Whether this layer should initially be visible. +

        sublayers?: WMSSublayerConfig[]

        Configuration for nested sublayers.

        +
        title: string

        The human-readable title of this layer.

        +
        visible?: boolean

        Whether this layer should initially be visible. Defaults to true.

        -
        +
        diff --git a/openlayers-base-packages/docs/interfaces/_open_pioneer_map.WMTSLayer.html b/openlayers-base-packages/docs/interfaces/_open_pioneer_map.WMTSLayer.html index dda1e1f1a..3ff54642e 100644 --- a/openlayers-base-packages/docs/interfaces/_open_pioneer_map.WMTSLayer.html +++ b/openlayers-base-packages/docs/interfaces/_open_pioneer_map.WMTSLayer.html @@ -1,7 +1,7 @@ WMTSLayer | Open Pioneer Trails Packages

        Represents an operational layer in the map.

        Instances of this interface cannot be constructed directly; use a real layer class such as SimpleLayer instead.

        -
        interface WMTSLayer {
            attributes: Readonly<Record<string | symbol, unknown>>;
            children: undefined | ChildrenCollection<AnyLayer>;
            description: string;
            id: string;
            isBaseLayer: boolean;
            layers: undefined;
            legend: undefined | string;
            loadState: LayerLoadState;
            map: MapModel;
            matrixSet: string;
            name: string;
            olLayer: BaseLayer;
            parent: undefined | AnyLayer;
            sublayers: undefined | SublayersCollection<WMSSublayer>;
            title: string;
            type: "wmts";
            url: string;
            visible: boolean;
            deleteAttribute(deleteAttribute: string | symbol): void;
            setDescription(newDescription: string): void;
            setTitle(newTitle: string): void;
            setVisible(newVisibility: boolean): void;
            updateAttributes(newAttributes: Record<string | symbol, unknown>): void;
        }

        Hierarchy (view full)

        Properties

        interface WMTSLayer {
            attributes: Readonly<Record<string | symbol, unknown>>;
            children: undefined | ChildrenCollection<AnyLayer>;
            description: string;
            id: string;
            isBaseLayer: boolean;
            layers: undefined;
            legend: undefined | string;
            loadState: LayerLoadState;
            map: MapModel;
            matrixSet: string;
            name: string;
            olLayer: BaseLayer;
            parent: undefined | AnyLayer;
            sublayers: undefined | SublayersCollection<WMSSublayer>;
            title: string;
            type: "wmts";
            url: string;
            visible: boolean;
            deleteAttribute(deleteAttribute: string | symbol): void;
            setDescription(newDescription: string): void;
            setTitle(newTitle: string): void;
            setVisible(newVisibility: boolean): void;
            updateAttributes(newAttributes: Record<string | symbol, unknown>): void;
        }

        Hierarchy (view full)

        Properties

        attributes: Readonly<Record<string | symbol, unknown>>

        Additional attributes associated with this layer.

        -
        children: undefined | ChildrenCollection<AnyLayer>

        The direct children of this layer.

        +
        children: undefined | ChildrenCollection<AnyLayer>

        The direct children of this layer.

        The children may either be a set of operational layers (e.g. for a group layer) or a set of sublayers, or undefined.

        See also layers and sublayers.

        -
        description: string

        The human-readable description of this layer. May be empty.

        -
        id: string

        The unique id of this layer within its map model.

        +
        description: string

        The human-readable description of this layer. May be empty.

        +
        id: string

        The unique id of this layer within its map model.

        NOTE: layer ids may not be globally unique: layers that belong to different map models may have the same id.

        -
        isBaseLayer: boolean

        True if this layer is a base layer.

        +
        isBaseLayer: boolean

        True if this layer is a base layer.

        Only one base layer can be visible at a time.

        -
        layers: undefined

        If this layer is a group layer this property contains a collection of all layers that a members to the group.

        +
        layers: undefined

        If this layer is a group layer this property contains a collection of all layers that a members to the group.

        The property shall be undefined if it is not a group layer.

        The properties layers and sublayers are mutually exclusive.

        -
        legend: undefined | string

        LegendURL from the service capabilities, if available.

        -
        loadState: LayerLoadState

        The load state of a layer.

        -

        The map this layer belongs to.

        -
        matrixSet: string

        The name of the tile matrix set in the service's capabilities.

        -
        name: string

        The name of the WMTS layer in the service's capabilities.

        -
        olLayer: BaseLayer

        The raw OpenLayers layer.

        -
        parent: undefined | AnyLayer

        The direct parent of this layer instance, used for sublayers or for layers in a group layer.

        +
        legend: undefined | string

        LegendURL from the service capabilities, if available.

        +
        loadState: LayerLoadState

        The load state of a layer.

        +

        The map this layer belongs to.

        +
        matrixSet: string

        The name of the tile matrix set in the service's capabilities.

        +
        name: string

        The name of the WMTS layer in the service's capabilities.

        +
        olLayer: BaseLayer

        The raw OpenLayers layer.

        +
        parent: undefined | AnyLayer

        The direct parent of this layer instance, used for sublayers or for layers in a group layer.

        The property shall be undefined if the layer is not a sublayer or member of a group layer.

        -
        sublayers: undefined | SublayersCollection<WMSSublayer>

        The collection of child sublayers for this layer. Sublayers are layers that cannot exist without an appropriate parent layer.

        +
        sublayers: undefined | SublayersCollection<WMSSublayer>

        The collection of child sublayers for this layer. Sublayers are layers that cannot exist without an appropriate parent layer.

        Layers that can never have any sublayers may not have a sublayers collection.

        The properties layers and sublayers are mutually exclusive.

        -
        title: string

        The human-readable title of this layer.

        -
        type

        Identifies the type of this layer.

        -
        url: string

        URL of the WMTS service.

        -
        visible: boolean

        Whether the layer is visible or not.

        +
        title: string

        The human-readable title of this layer.

        +
        type

        Identifies the type of this layer.

        +
        url: string

        URL of the WMTS service.

        +
        visible: boolean

        Whether the layer is visible or not.

        NOTE: The model's visible state may do more than influence the raw OpenLayers's visibility property. Future versions may completely remove invisible layers from the OpenLayer's map under some circumstances.

        -

        Methods

        Methods

        • Updates the attributes of this layer. Values in newAttributes are merged into the existing ones (i.e. via Object.assign).

          -

          Parameters

          • newAttributes: Record<string | symbol, unknown>

          Returns void

        +

        Parameters

        • newAttributes: Record<string | symbol, unknown>

        Returns void

        diff --git a/openlayers-base-packages/docs/interfaces/_open_pioneer_map.WMTSLayerConfig.html b/openlayers-base-packages/docs/interfaces/_open_pioneer_map.WMTSLayerConfig.html index 154f58f26..076629f5d 100644 --- a/openlayers-base-packages/docs/interfaces/_open_pioneer_map.WMTSLayerConfig.html +++ b/openlayers-base-packages/docs/interfaces/_open_pioneer_map.WMTSLayerConfig.html @@ -1,5 +1,5 @@ WMTSLayerConfig | Open Pioneer Trails Packages

        Configuration options supported by all operational layer types.

        -
        interface WMTSLayerConfig {
            attributes?: Record<string | symbol, unknown>;
            description?: string;
            healthCheck?: string | HealthCheckFunction;
            id?: string;
            isBaseLayer?: boolean;
            matrixSet: string;
            name: string;
            sourceOptions?: Partial<Options>;
            title: string;
            url: string;
            visible?: boolean;
        }

        Hierarchy (view full)

        Properties

        interface WMTSLayerConfig {
            attributes?: Record<string | symbol, unknown>;
            description?: string;
            healthCheck?: string | HealthCheckFunction;
            id?: string;
            isBaseLayer?: boolean;
            matrixSet: string;
            name: string;
            sourceOptions?: Partial<Options>;
            title: string;
            url: string;
            visible?: boolean;
        }

        Hierarchy (view full)

        Properties

        Properties

        attributes?: Record<string | symbol, unknown>

        Additional attributes for this layer. These can be arbitrary values.

        -
        description?: string

        The human-readable description of this layer. +

        description?: string

        The human-readable description of this layer. Defaults to an empty string.

        -
        healthCheck?: string | HealthCheckFunction

        Optional property to check the availability of the layer. +

        healthCheck?: string | HealthCheckFunction

        Optional property to check the availability of the layer. It is possible to provide either a URL which indicates the state of the service (2xx response meaning "ok") or a HealthCheckFunction performing a custom check and returning the state.

        -
        id?: string

        The unique id of this layer. +

        id?: string

        The unique id of this layer. Defaults to a generated id.

        -
        isBaseLayer?: boolean

        Whether this layer is a base layer or not. +

        isBaseLayer?: boolean

        Whether this layer is a base layer or not. Only one base layer can be active at a time.

        Defaults to false.

        -
        matrixSet: string

        The name of the tile matrix set in the service's capabilities.

        -
        name: string

        The name of the WMTS layer in the service's capabilities.

        -
        sourceOptions?: Partial<Options>

        Additional source options for the layer's WMTS source.

        +
        matrixSet: string

        The name of the tile matrix set in the service's capabilities.

        +
        name: string

        The name of the WMTS layer in the service's capabilities.

        +
        sourceOptions?: Partial<Options>

        Additional source options for the layer's WMTS source.

        NOTE: These options are intended for advanced configuration: the WMTS Layer manages some of the OpenLayers source options itself.

        -
        title: string

        The human-readable title of this layer.

        -
        url: string

        URL of the WMTS service.

        -
        visible?: boolean

        Whether this layer should initially be visible. +

        title: string

        The human-readable title of this layer.

        +
        url: string

        URL of the WMTS service.

        +
        visible?: boolean

        Whether this layer should initially be visible. Defaults to true.

        -
        +
        diff --git a/openlayers-base-packages/docs/interfaces/_open_pioneer_map.WMTSLayerConstructor.html b/openlayers-base-packages/docs/interfaces/_open_pioneer_map.WMTSLayerConstructor.html index 96a957a96..7fd6b857b 100644 --- a/openlayers-base-packages/docs/interfaces/_open_pioneer_map.WMTSLayerConstructor.html +++ b/openlayers-base-packages/docs/interfaces/_open_pioneer_map.WMTSLayerConstructor.html @@ -1,4 +1,4 @@ -WMTSLayerConstructor | Open Pioneer Trails Packages
        interface WMTSLayerConstructor {
            new WMTSLayerConstructornew (config: WMTSLayerConfig): WMTSLayer;
            prototype: WMTSLayer;
        }

        Constructors

        constructor +WMTSLayerConstructor | Open Pioneer Trails Packages
        interface WMTSLayerConstructor {
            new WMTSLayerConstructornew (config: WMTSLayerConfig): WMTSLayer;
            prototype: WMTSLayer;
        }

        Constructors

        Properties

        Constructors

        Properties

        prototype: WMTSLayer
        +

        Parameters

        Returns WMTSLayer

        Properties

        prototype: WMTSLayer
        diff --git a/openlayers-base-packages/docs/interfaces/_open_pioneer_map.ZoomOptions.html b/openlayers-base-packages/docs/interfaces/_open_pioneer_map.ZoomOptions.html index 188a33b3d..b663a790f 100644 --- a/openlayers-base-packages/docs/interfaces/_open_pioneer_map.ZoomOptions.html +++ b/openlayers-base-packages/docs/interfaces/_open_pioneer_map.ZoomOptions.html @@ -1,8 +1,8 @@ ZoomOptions | Open Pioneer Trails Packages

        Zoomoptions supported when creating a new Highlight.

        -
        interface ZoomOptions {
            maxZoom?: number;
            pointZoom?: number;
            viewPadding?: MapPadding;
        }

        Hierarchy (view full)

        Properties

        interface ZoomOptions {
            maxZoom?: number;
            pointZoom?: number;
            viewPadding?: MapPadding;
        }

        Hierarchy (view full)

        Properties

        maxZoom?: number

        The maximum zoom-level for multiple points, line or polygon results.

        -
        pointZoom?: number

        The zoom-level used if there is no valid extend (such as for single points).

        -
        viewPadding?: MapPadding

        The view padding to make all features visible.

        -
        +
        pointZoom?: number

        The zoom-level used if there is no valid extend (such as for single points).

        +
        viewPadding?: MapPadding

        The view padding to make all features visible.

        +
        diff --git a/openlayers-base-packages/docs/interfaces/_open_pioneer_map_navigation.HistoryProps.html b/openlayers-base-packages/docs/interfaces/_open_pioneer_map_navigation.HistoryProps.html index 79f9a3e56..c2413bf34 100644 --- a/openlayers-base-packages/docs/interfaces/_open_pioneer_map_navigation.HistoryProps.html +++ b/openlayers-base-packages/docs/interfaces/_open_pioneer_map_navigation.HistoryProps.html @@ -1,13 +1,13 @@ HistoryProps | Open Pioneer Trails Packages

        Options that specify which map to use. See useMapModel.

        When not setting any of these properties on a component, the default map (from the DefaultMapProvider) will be used. If that is not available either, an error will be thrown.

        -
        interface HistoryProps {
            map?: MapModel;
            mapId?: string;
            viewDirection: "forward" | "backward";
        }

        Hierarchy (view full)

        • CommonComponentProps
        • RefAttributes<HTMLButtonElement>
        • MapModelProps
          • HistoryProps

        Properties

        interface HistoryProps {
            map?: MapModel;
            mapId?: string;
            viewDirection: "forward" | "backward";
        }

        Hierarchy (view full)

        • CommonComponentProps
        • RefAttributes<HTMLButtonElement>
        • MapModelProps
          • HistoryProps

        Properties

        map?: MapModel

        The direct map model reference to use. This property can be used as an alternative to the mapId.

        -
        mapId?: string

        The id of the map. +

        mapId?: string

        The id of the map. The map will be looked up in the MapRegistry service.

        -
        viewDirection: "forward" | "backward"

        The view direction.

        +
        viewDirection: "forward" | "backward"

        The view direction.

        The button will either view forward or view backward depending on this value.

        -
        +
        diff --git a/openlayers-base-packages/docs/interfaces/_open_pioneer_map_navigation.InitialExtentProps.html b/openlayers-base-packages/docs/interfaces/_open_pioneer_map_navigation.InitialExtentProps.html index cfac510ca..9c244e382 100644 --- a/openlayers-base-packages/docs/interfaces/_open_pioneer_map_navigation.InitialExtentProps.html +++ b/openlayers-base-packages/docs/interfaces/_open_pioneer_map_navigation.InitialExtentProps.html @@ -1,10 +1,10 @@ InitialExtentProps | Open Pioneer Trails Packages

        Options that specify which map to use. See useMapModel.

        When not setting any of these properties on a component, the default map (from the DefaultMapProvider) will be used. If that is not available either, an error will be thrown.

        -
        interface InitialExtentProps {
            map?: MapModel;
            mapId?: string;
        }

        Hierarchy (view full)

        • CommonComponentProps
        • RefAttributes<HTMLButtonElement>
        • MapModelProps
          • InitialExtentProps

        Properties

        interface InitialExtentProps {
            map?: MapModel;
            mapId?: string;
        }

        Hierarchy (view full)

        • CommonComponentProps
        • RefAttributes<HTMLButtonElement>
        • MapModelProps
          • InitialExtentProps

        Properties

        Properties

        map?: MapModel

        The direct map model reference to use. This property can be used as an alternative to the mapId.

        -
        mapId?: string

        The id of the map. +

        mapId?: string

        The id of the map. The map will be looked up in the MapRegistry service.

        -
        +
        diff --git a/openlayers-base-packages/docs/interfaces/_open_pioneer_map_navigation.ZoomProps.html b/openlayers-base-packages/docs/interfaces/_open_pioneer_map_navigation.ZoomProps.html index 444ec92b6..f3f5ddefe 100644 --- a/openlayers-base-packages/docs/interfaces/_open_pioneer_map_navigation.ZoomProps.html +++ b/openlayers-base-packages/docs/interfaces/_open_pioneer_map_navigation.ZoomProps.html @@ -1,13 +1,13 @@ ZoomProps | Open Pioneer Trails Packages

        Options that specify which map to use. See useMapModel.

        When not setting any of these properties on a component, the default map (from the DefaultMapProvider) will be used. If that is not available either, an error will be thrown.

        -
        interface ZoomProps {
            map?: MapModel;
            mapId?: string;
            zoomDirection: "in" | "out";
        }

        Hierarchy (view full)

        • CommonComponentProps
        • RefAttributes<HTMLButtonElement>
        • MapModelProps
          • ZoomProps

        Properties

        interface ZoomProps {
            map?: MapModel;
            mapId?: string;
            zoomDirection: "in" | "out";
        }

        Hierarchy (view full)

        • CommonComponentProps
        • RefAttributes<HTMLButtonElement>
        • MapModelProps
          • ZoomProps

        Properties

        map?: MapModel

        The direct map model reference to use. This property can be used as an alternative to the mapId.

        -
        mapId?: string

        The id of the map. +

        mapId?: string

        The id of the map. The map will be looked up in the MapRegistry service.

        -
        zoomDirection: "in" | "out"

        The zoom direction.

        +
        zoomDirection: "in" | "out"

        The zoom direction.

        The button will either zoom in or zoom out depending on this value.

        -
        +
        diff --git a/openlayers-base-packages/docs/interfaces/_open_pioneer_map_test_utils.SimpleMapOptions.html b/openlayers-base-packages/docs/interfaces/_open_pioneer_map_test_utils.SimpleMapOptions.html index 5cf7d8cbf..bd5c1eb51 100644 --- a/openlayers-base-packages/docs/interfaces/_open_pioneer_map_test_utils.SimpleMapOptions.html +++ b/openlayers-base-packages/docs/interfaces/_open_pioneer_map_test_utils.SimpleMapOptions.html @@ -1,4 +1,4 @@ -SimpleMapOptions | Open Pioneer Trails Packages
        interface SimpleMapOptions {
            advanced?: OlMapOptions;
            center?: {
                x: number;
                y: number;
            };
            extent?: ExtentConfig;
            fetch?: ((resource: URL, init: undefined | HttpServiceRequestInit) => Promise<Response>);
            layers?: (SimpleLayerConfig | Layer)[];
            noInitialView?: boolean;
            noProjection?: boolean;
            projection?: string;
            zoom?: number;
        }

        Properties

        advanced? +SimpleMapOptions | Open Pioneer Trails Packages
        interface SimpleMapOptions {
            advanced?: OlMapOptions;
            center?: {
                x: number;
                y: number;
            };
            extent?: ExtentConfig;
            fetch?: ((resource: URL, init: undefined | HttpServiceRequestInit) => Promise<Response>);
            layers?: (SimpleLayerConfig | Layer)[];
            noInitialView?: boolean;
            noProjection?: boolean;
            projection?: string;
            zoom?: number;
        }

        Properties

        Properties

        advanced?: OlMapOptions

        Passed to the open layers map constructor.

        -
        center?: {
            x: number;
            y: number;
        }

        Center coordinates for the map.

        -
        extent?: ExtentConfig

        Initial extent (don't mix with center / zoom).

        -
        fetch?: ((resource: URL, init: undefined | HttpServiceRequestInit) => Promise<Response>)

        Overrides fetching of network resources (such as service capabilities).

        -
        layers?: (SimpleLayerConfig | Layer)[]

        Layers used by the map.

        -
        noInitialView?: boolean

        Disables the initial view when set to true.

        -
        noProjection?: boolean

        Disables the default projection when set to true.

        -
        projection?: string

        The map's projection.

        -
        zoom?: number

        Zoom level of the map.

        -
        +
        center?: {
            x: number;
            y: number;
        }

        Center coordinates for the map.

        +
        extent?: ExtentConfig

        Initial extent (don't mix with center / zoom).

        +
        fetch?: ((resource: URL, init: undefined | HttpServiceRequestInit) => Promise<Response>)

        Overrides fetching of network resources (such as service capabilities).

        +
        layers?: (SimpleLayerConfig | Layer)[]

        Layers used by the map.

        +
        noInitialView?: boolean

        Disables the initial view when set to true.

        +
        noProjection?: boolean

        Disables the default projection when set to true.

        +
        projection?: string

        The map's projection.

        +
        zoom?: number

        Zoom level of the map.

        +
        diff --git a/openlayers-base-packages/docs/interfaces/_open_pioneer_map_ui_components.ToolButtonProps.html b/openlayers-base-packages/docs/interfaces/_open_pioneer_map_ui_components.ToolButtonProps.html index 95b20326a..d4d3e0796 100644 --- a/openlayers-base-packages/docs/interfaces/_open_pioneer_map_ui_components.ToolButtonProps.html +++ b/openlayers-base-packages/docs/interfaces/_open_pioneer_map_ui_components.ToolButtonProps.html @@ -1,5 +1,5 @@ ToolButtonProps | Open Pioneer Trails Packages

        Properties supported by ToolButton.

        -
        interface ToolButtonProps {
            buttonProps?: Partial<ButtonProps>;
            icon: ReactElement<any, string | JSXElementConstructor<any>>;
            isActive?: boolean;
            isDisabled?: boolean;
            isLoading?: boolean;
            label: string;
            onClick?: MouseEventHandler<HTMLButtonElement>;
            tooltipProps?: Partial<TooltipProps>;
        }

        Hierarchy

        • CommonComponentProps
        • RefAttributes<HTMLButtonElement>
          • ToolButtonProps

        Properties

        interface ToolButtonProps {
            buttonProps?: Partial<ButtonProps>;
            icon: ReactElement<any, string | JSXElementConstructor<any>>;
            isActive?: boolean;
            isDisabled?: boolean;
            isLoading?: boolean;
            label: string;
            onClick?: MouseEventHandler<HTMLButtonElement>;
            tooltipProps?: Partial<TooltipProps>;
        }

        Hierarchy

        • CommonComponentProps
        • RefAttributes<HTMLButtonElement>
          • ToolButtonProps

        Properties

        Properties

        buttonProps?: Partial<ButtonProps>

        Additional properties for the Button element.

        Note that the ToolButton also defines some of these props.

        -
        icon: ReactElement<any, string | JSXElementConstructor<any>>

        The icon displayed by the button.

        -
        isActive?: boolean

        If true, indicates that the button is currently active with a different style. +

        icon: ReactElement<any, string | JSXElementConstructor<any>>

        The icon displayed by the button.

        +
        isActive?: boolean

        If true, indicates that the button is currently active with a different style. Defaults to undefined.

        A value of true or false indicates that the button supports being active (i.e. pressed). In that case the aria-pressed attribute will be configured automatically (see https://developer.mozilla.org/en-US/docs/Web/Accessibility/ARIA/Attributes/aria-pressed).

        -
        isDisabled?: boolean

        If true, the button will be disabled. +

        isDisabled?: boolean

        If true, the button will be disabled. Defaults to false.

        -
        isLoading?: boolean

        If true, the button will show a spinner. +

        isLoading?: boolean

        If true, the button will show a spinner. Defaults to false.

        -
        label: string

        The label for the ToolButton. +

        label: string

        The label for the ToolButton. This value services as the tooltip text and the aria-label.

        This property is required for a11y reasons because a ToolButton usually only displays an icon.

        -
        onClick?: MouseEventHandler<HTMLButtonElement>

        The callback that will be called when the user clicks the button.

        -
        tooltipProps?: Partial<TooltipProps>

        Additional properties for the Tooltip element.

        +
        onClick?: MouseEventHandler<HTMLButtonElement>

        The callback that will be called when the user clicks the button.

        +
        tooltipProps?: Partial<TooltipProps>

        Additional properties for the Tooltip element.

        Note that the ToolButton also defines some of these props.

        -
        +
        diff --git a/openlayers-base-packages/docs/interfaces/_open_pioneer_measurement.MeasurementProps.html b/openlayers-base-packages/docs/interfaces/_open_pioneer_measurement.MeasurementProps.html index 6e8808281..cd68ef539 100644 --- a/openlayers-base-packages/docs/interfaces/_open_pioneer_measurement.MeasurementProps.html +++ b/openlayers-base-packages/docs/interfaces/_open_pioneer_measurement.MeasurementProps.html @@ -1,16 +1,16 @@ MeasurementProps | Open Pioneer Trails Packages

        This is for special properties of the Measurement.

        -
        interface MeasurementProps {
            activeFeatureStyle?: StyleLike;
            finishedFeatureStyle?: StyleLike;
            map?: MapModel;
            mapId?: string;
            onMeasurementsChange?: ((event: MeasurementsChangeEvent) => void);
            predefinedMeasurements?: MeasurementGeometry[];
        }

        Hierarchy (view full)

        Properties

        interface MeasurementProps {
            activeFeatureStyle?: StyleLike;
            finishedFeatureStyle?: StyleLike;
            map?: MapModel;
            mapId?: string;
            onMeasurementsChange?: ((event: MeasurementsChangeEvent) => void);
            predefinedMeasurements?: MeasurementGeometry[];
        }

        Hierarchy (view full)

        Properties

        activeFeatureStyle?: StyleLike

        The style for the active drawing feature's geometry.

        -
        finishedFeatureStyle?: StyleLike

        The style for the finished drawn feature's geometry.

        -
        map?: MapModel

        The direct map model reference to use. +

        finishedFeatureStyle?: StyleLike

        The style for the finished drawn feature's geometry.

        +
        map?: MapModel

        The direct map model reference to use. This property can be used as an alternative to the mapId.

        -
        mapId?: string

        The id of the map. +

        mapId?: string

        The id of the map. The map will be looked up in the MapRegistry service.

        -
        onMeasurementsChange?: ((event: MeasurementsChangeEvent) => void)

        Event handler that is called whenever a measurement is added or removed.

        -
        predefinedMeasurements?: MeasurementGeometry[]

        List of measurements to be rendered when the component is initialized.

        -
        +
        onMeasurementsChange?: ((event: MeasurementsChangeEvent) => void)

        Event handler that is called whenever a measurement is added or removed.

        +
        predefinedMeasurements?: MeasurementGeometry[]

        List of measurements to be rendered when the component is initialized.

        +
        diff --git a/openlayers-base-packages/docs/interfaces/_open_pioneer_measurement.MeasurementsAddEvent.html b/openlayers-base-packages/docs/interfaces/_open_pioneer_measurement.MeasurementsAddEvent.html index a3aa760b8..95cf4378a 100644 --- a/openlayers-base-packages/docs/interfaces/_open_pioneer_measurement.MeasurementsAddEvent.html +++ b/openlayers-base-packages/docs/interfaces/_open_pioneer_measurement.MeasurementsAddEvent.html @@ -1,4 +1,4 @@ MeasurementsAddEvent | Open Pioneer Trails Packages

        Emitted when a new measurement is being added to the map.

        -
        interface MeasurementsAddEvent {
            geometry: MeasurementGeometry;
            kind: "add-measurement";
        }

        Properties

        interface MeasurementsAddEvent {
            geometry: MeasurementGeometry;
            kind: "add-measurement";
        }

        Properties

        Properties

        kind
        +

        Properties

        kind
        diff --git a/openlayers-base-packages/docs/interfaces/_open_pioneer_measurement.MeasurementsRemoveEvent.html b/openlayers-base-packages/docs/interfaces/_open_pioneer_measurement.MeasurementsRemoveEvent.html index 394fb5c67..6ee749203 100644 --- a/openlayers-base-packages/docs/interfaces/_open_pioneer_measurement.MeasurementsRemoveEvent.html +++ b/openlayers-base-packages/docs/interfaces/_open_pioneer_measurement.MeasurementsRemoveEvent.html @@ -1,4 +1,4 @@ MeasurementsRemoveEvent | Open Pioneer Trails Packages

        Emitted when a measurement is being removed from the map.

        -
        interface MeasurementsRemoveEvent {
            geometry: MeasurementGeometry;
            kind: "remove-measurement";
        }

        Properties

        interface MeasurementsRemoveEvent {
            geometry: MeasurementGeometry;
            kind: "remove-measurement";
        }

        Properties

        Properties

        kind
        +

        Properties

        kind
        diff --git a/openlayers-base-packages/docs/interfaces/_open_pioneer_ogc_features.FeatureResponse.html b/openlayers-base-packages/docs/interfaces/_open_pioneer_ogc_features.FeatureResponse.html index df4082e15..fb241671a 100644 --- a/openlayers-base-packages/docs/interfaces/_open_pioneer_ogc_features.FeatureResponse.html +++ b/openlayers-base-packages/docs/interfaces/_open_pioneer_ogc_features.FeatureResponse.html @@ -1,10 +1,10 @@ FeatureResponse | Open Pioneer Trails Packages

        The general shape of features returned by an OGC API Features service.

        -
        interface FeatureResponse {
            geometry: unknown;
            id: string | number;
            properties: Readonly<Record<string, unknown>>;
            type: string;
        }

        Properties

        interface FeatureResponse {
            geometry: unknown;
            id: string | number;
            properties: Readonly<Record<string, unknown>>;
            type: string;
        }

        Properties

        geometry: unknown

        The geometry of the feature.

        -
        id: string | number

        The id of the feature.

        -
        properties: Readonly<Record<string, unknown>>

        The properties of the feature.

        -
        type: string

        The type of the feature (e.g. Feature).

        -
        +
        id: string | number

        The id of the feature.

        +
        properties: Readonly<Record<string, unknown>>

        The properties of the feature.

        +
        type: string

        The type of the feature (e.g. Feature).

        +
        diff --git a/openlayers-base-packages/docs/interfaces/_open_pioneer_ogc_features.OgcFeatureSearchSourceOptions.html b/openlayers-base-packages/docs/interfaces/_open_pioneer_ogc_features.OgcFeatureSearchSourceOptions.html index 68bd5a237..e429c7d81 100644 --- a/openlayers-base-packages/docs/interfaces/_open_pioneer_ogc_features.OgcFeatureSearchSourceOptions.html +++ b/openlayers-base-packages/docs/interfaces/_open_pioneer_ogc_features.OgcFeatureSearchSourceOptions.html @@ -1,5 +1,5 @@ OgcFeatureSearchSourceOptions | Open Pioneer Trails Packages

        Options for ().

        -
        interface OgcFeatureSearchSourceOptions {
            baseUrl: string;
            collectionId: string;
            label: string;
            labelProperty?: string;
            renderLabel?: ((feature: FeatureResponse) => undefined | string);
            rewriteUrl?: ((url: URL) => undefined | URL);
            searchProperty: string;
        }

        Properties

        interface OgcFeatureSearchSourceOptions {
            baseUrl: string;
            collectionId: string;
            label: string;
            labelProperty?: string;
            renderLabel?: ((feature: FeatureResponse) => undefined | string);
            rewriteUrl?: ((url: URL) => undefined | URL);
            searchProperty: string;
        }

        Properties

        baseUrl collectionId label labelProperty? @@ -11,15 +11,15 @@
        new OgcFeatureSearchSource({
        // token is also used for all requests made by this class
        baseUrl: `https://example.com/ogc-service?token=...`
        })
        -
        collectionId: string

        The ID of the collection.

        -
        label: string

        The source's label. May be used as a title for results from this source.

        -
        labelProperty?: string

        Property used for labelling.

        +
        collectionId: string

        The ID of the collection.

        +
        label: string

        The source's label. May be used as a title for results from this source.

        +
        labelProperty?: string

        Property used for labelling.

        Defaults to searchProperty.

        This property can be useful if searchProperty is not returned by the service, or if another field shall be displayed instead.

        -
        renderLabel?: ((feature: FeatureResponse) => undefined | string)

        Function to create custom a label for a given feature.

        +
        renderLabel?: ((feature: FeatureResponse) => undefined | string)

        Function to create custom a label for a given feature.

        If the label is not customized by this function, labelProperty (or searchProperty) will be used instead.

        -
        rewriteUrl?: ((url: URL) => undefined | URL)

        Rewrite function to modify the original URL.

        +
        rewriteUrl?: ((url: URL) => undefined | URL)

        Rewrite function to modify the original URL.

        NOTE: Do not update the url argument. Return a new URL instance instead.

        -
        searchProperty: string

        Property used for filtering on OGC API Features.

        -
        +
        searchProperty: string

        Property used for filtering on OGC API Features.

        +
        diff --git a/openlayers-base-packages/docs/interfaces/_open_pioneer_ogc_features.OgcFeatureVectorSourceOptions.html b/openlayers-base-packages/docs/interfaces/_open_pioneer_ogc_features.OgcFeatureVectorSourceOptions.html index 7d0326d7a..a7395dcfd 100644 --- a/openlayers-base-packages/docs/interfaces/_open_pioneer_ogc_features.OgcFeatureVectorSourceOptions.html +++ b/openlayers-base-packages/docs/interfaces/_open_pioneer_ogc_features.OgcFeatureVectorSourceOptions.html @@ -1,5 +1,5 @@ OgcFeatureVectorSourceOptions | Open Pioneer Trails Packages

        These are properties for OGC API Features vector source.

        -
        interface OgcFeatureVectorSourceOptions {
            additionalOptions?: Options<Feature<Geometry>>;
            attributions?: AttributionLike;
            baseUrl: string;
            collectionId: string;
            crs: string;
            limit?: number;
            maxConcurrentRequests?: number;
            rewriteUrl?: ((url: URL) => undefined | URL);
            strategy?: OgcFetchStrategy;
        }

        Properties

        interface OgcFeatureVectorSourceOptions {
            additionalOptions?: Options<Feature<Geometry>>;
            attributions?: AttributionLike;
            baseUrl: string;
            collectionId: string;
            crs: string;
            limit?: number;
            maxConcurrentRequests?: number;
            rewriteUrl?: ((url: URL) => undefined | URL);
            strategy?: OgcFetchStrategy;
        }

        Properties

        additionalOptions?: Options<Feature<Geometry>>

        Optional additional options for the VectorSource.

        -
        attributions?: AttributionLike

        Optional attribution for the layer (e.g. copyright hints).

        -
        baseUrl: string

        The base-URL right to the "/collections"-part

        -
        collectionId: string

        The collection-ID

        -
        crs: string

        the URL to the EPSG-Code, e.g. http://www.opengis.net/def/crs/EPSG/0/25832

        -
        limit?: number

        The maximum number of features to fetch within a single request. +

        attributions?: AttributionLike

        Optional attribution for the layer (e.g. copyright hints).

        +
        baseUrl: string

        The base-URL right to the "/collections"-part

        +
        collectionId: string

        The collection-ID

        +
        crs: string

        the URL to the EPSG-Code, e.g. http://www.opengis.net/def/crs/EPSG/0/25832

        +
        limit?: number

        The maximum number of features to fetch within a single request. Corresponds to the limit parameter in the URL.

        When the offset strategy is used for feature fetching, the limit is used for the page size

        Defaults to 5000 for Next-Strategy. Defaults to 2500 for Offset-Strategy.

        -
        maxConcurrentRequests?: number

        The maximum number of concurrent requests. Defaults to 6.

        -
        rewriteUrl?: ((url: URL) => undefined | URL)

        Use this function to rewrite the URL used to fetch features from the OGC API Features service. +

        maxConcurrentRequests?: number

        The maximum number of concurrent requests. Defaults to 6.

        +
        rewriteUrl?: ((url: URL) => undefined | URL)

        Use this function to rewrite the URL used to fetch features from the OGC API Features service. This is useful, for example, to filter the OGC service on the server side.

        NOTE: Do not update the url argument. Return a new URL instance instead.

        NOTE: Be careful with existing URL parameters. The vector source may not work correctly if predefined parameters (such as the CRS or the response format) are overwritten. The vector source might add additional parameters to its request URLs in the future.

        -
        strategy?: OgcFetchStrategy

        Use this property to define the feature fetching strategy. +

        strategy?: OgcFetchStrategy

        Use this property to define the feature fetching strategy. Allowed value are offset and next. By default, the vector source attempts to detect the server's capabilities and will prefer "offset", if possible.

        -
        +
        diff --git a/openlayers-base-packages/docs/interfaces/_open_pioneer_ogc_features.OgcFeaturesSearchSourceFactory.html b/openlayers-base-packages/docs/interfaces/_open_pioneer_ogc_features.OgcFeaturesSearchSourceFactory.html index fa52c08ff..7eb70ec3d 100644 --- a/openlayers-base-packages/docs/interfaces/_open_pioneer_ogc_features.OgcFeaturesSearchSourceFactory.html +++ b/openlayers-base-packages/docs/interfaces/_open_pioneer_ogc_features.OgcFeaturesSearchSourceFactory.html @@ -1,6 +1,6 @@ OgcFeaturesSearchSourceFactory | Open Pioneer Trails Packages

        A factory that creates search sources for an OGC API Features service. The resulting search sources can be used in combination with the @open-pioneer/search package.

        Use the interface name "ogc-features.SearchSourceFactory" to obtain an instance of this factory.

        -
        interface OgcFeaturesSearchSourceFactory {
            createSearchSource(options: OgcFeatureSearchSourceOptions): SearchSource;
        }

        Hierarchy

        • DeclaredService<"ogc-features.SearchSourceFactory">
          • OgcFeaturesSearchSourceFactory

        Methods

        interface OgcFeaturesSearchSourceFactory {
            createSearchSource(options: OgcFeatureSearchSourceOptions): SearchSource;
        }

        Hierarchy

        • DeclaredService<"ogc-features.SearchSourceFactory">
          • OgcFeaturesSearchSourceFactory

        Methods

        +

        Returns SearchSource

        diff --git a/openlayers-base-packages/docs/interfaces/_open_pioneer_ogc_features.OgcFeaturesVectorSourceFactory.html b/openlayers-base-packages/docs/interfaces/_open_pioneer_ogc_features.OgcFeaturesVectorSourceFactory.html index 816afc51f..fd0b6f9aa 100644 --- a/openlayers-base-packages/docs/interfaces/_open_pioneer_ogc_features.OgcFeaturesVectorSourceFactory.html +++ b/openlayers-base-packages/docs/interfaces/_open_pioneer_ogc_features.OgcFeaturesVectorSourceFactory.html @@ -1,6 +1,6 @@ OgcFeaturesVectorSourceFactory | Open Pioneer Trails Packages

        A factory that creates VectorSource | vector sources for an OGC API Features service. The resulting vector sources can be used in an OpenLayers VectorLayer.

        Use the interface name "ogc-features.VectorSourceFactory" to obtain an instance of this factory.

        -
        interface OgcFeaturesVectorSourceFactory {
            createVectorSource(options: OgcFeatureVectorSourceOptions): VectorSource<Feature<Geometry>>;
        }

        Hierarchy

        • DeclaredService<"ogc-features.VectorSourceFactory">
          • OgcFeaturesVectorSourceFactory

        Methods

        interface OgcFeaturesVectorSourceFactory {
            createVectorSource(options: OgcFeatureVectorSourceOptions): VectorSource<Feature<Geometry>>;
        }

        Hierarchy

        • DeclaredService<"ogc-features.VectorSourceFactory">
          • OgcFeaturesVectorSourceFactory

        Methods

        • Creates a new VectorSource that loads features from the specified feature service.

          -

          Returns VectorSource<Feature<Geometry>>

        +

        Returns VectorSource<Feature<Geometry>>

        diff --git a/openlayers-base-packages/docs/interfaces/_open_pioneer_overview_map.OverviewMapProps.html b/openlayers-base-packages/docs/interfaces/_open_pioneer_overview_map.OverviewMapProps.html index b361eb787..9864fa745 100644 --- a/openlayers-base-packages/docs/interfaces/_open_pioneer_overview_map.OverviewMapProps.html +++ b/openlayers-base-packages/docs/interfaces/_open_pioneer_overview_map.OverviewMapProps.html @@ -1,16 +1,16 @@ OverviewMapProps | Open Pioneer Trails Packages

        These are properties supported by the OverviewMap.

        -
        interface OverviewMapProps {
            height?: ResponsiveValue<
                | number
                | "px"
                | string & {}
                | "-moz-initial"
                | "inherit"
                | "initial"
                | "revert"
                | "revert-layer"
                | "unset"
                | "-moz-max-content"
                | "-moz-min-content"
                | "-webkit-fit-content"
                | "auto"
                | "fit-content"
                | "max-content"
                | "min-content"
                | "sm"
                | "md"
                | "lg"
                | "xl"
                | "2xl"
                | "1"
                | "2"
                | "3"
                | "4"
                | "5"
                | "6"
                | "7"
                | "8"
                | "9"
                | "10"
                | "12"
                | "14"
                | "16"
                | "20"
                | "24"
                | "28"
                | "32"
                | "36"
                | "40"
                | "44"
                | "48"
                | "52"
                | "56"
                | "60"
                | "64"
                | "72"
                | "80"
                | "96"
                | "0.5"
                | "1.5"
                | "2.5"
                | "3.5"
                | "max"
                | "min"
                | "full"
                | "3xs"
                | "2xs"
                | "xs"
                | "3xl"
                | "4xl"
                | "5xl"
                | "6xl"
                | "7xl"
                | "8xl"
                | "prose"
                | "container.sm"
                | "container.md"
                | "container.lg"
                | "container.xl">;
            map?: MapModel;
            mapId?: string;
            olLayer: BaseLayer;
            width?: ResponsiveValue<
                | number
                | "px"
                | string & {}
                | "-moz-initial"
                | "inherit"
                | "initial"
                | "revert"
                | "revert-layer"
                | "unset"
                | "-moz-max-content"
                | "-moz-min-content"
                | "-webkit-fit-content"
                | "auto"
                | "fit-content"
                | "max-content"
                | "min-content"
                | "sm"
                | "md"
                | "lg"
                | "xl"
                | "2xl"
                | "1"
                | "2"
                | "3"
                | "4"
                | "5"
                | "6"
                | "7"
                | "8"
                | "9"
                | "10"
                | "12"
                | "14"
                | "16"
                | "20"
                | "24"
                | "28"
                | "32"
                | "36"
                | "40"
                | "44"
                | "48"
                | "52"
                | "56"
                | "60"
                | "64"
                | "72"
                | "80"
                | "96"
                | "0.5"
                | "1.5"
                | "2.5"
                | "3.5"
                | "max"
                | "min"
                | "full"
                | "3xs"
                | "2xs"
                | "xs"
                | "3xl"
                | "4xl"
                | "5xl"
                | "6xl"
                | "7xl"
                | "8xl"
                | "prose"
                | "container.sm"
                | "container.md"
                | "container.lg"
                | "container.xl"
                | "-moz-fit-content"
                | "-webkit-max-content"
                | "intrinsic"
                | "min-intrinsic">;
        }

        Hierarchy (view full)

        Properties

        interface OverviewMapProps {
            height?: ResponsiveValue<
                | number
                | "px"
                | string & {}
                | "-moz-initial"
                | "inherit"
                | "initial"
                | "revert"
                | "revert-layer"
                | "unset"
                | "-moz-max-content"
                | "-moz-min-content"
                | "-webkit-fit-content"
                | "auto"
                | "fit-content"
                | "max-content"
                | "min-content"
                | "sm"
                | "md"
                | "lg"
                | "xl"
                | "2xl"
                | "1"
                | "2"
                | "3"
                | "4"
                | "5"
                | "6"
                | "7"
                | "8"
                | "9"
                | "10"
                | "12"
                | "14"
                | "16"
                | "20"
                | "24"
                | "28"
                | "32"
                | "36"
                | "40"
                | "44"
                | "48"
                | "52"
                | "56"
                | "60"
                | "64"
                | "72"
                | "80"
                | "96"
                | "0.5"
                | "1.5"
                | "2.5"
                | "3.5"
                | "max"
                | "min"
                | "full"
                | "3xs"
                | "2xs"
                | "xs"
                | "3xl"
                | "4xl"
                | "5xl"
                | "6xl"
                | "7xl"
                | "8xl"
                | "prose"
                | "container.sm"
                | "container.md"
                | "container.lg"
                | "container.xl">;
            map?: MapModel;
            mapId?: string;
            olLayer: BaseLayer;
            width?: ResponsiveValue<
                | number
                | "px"
                | string & {}
                | "-moz-initial"
                | "inherit"
                | "initial"
                | "revert"
                | "revert-layer"
                | "unset"
                | "-moz-max-content"
                | "-moz-min-content"
                | "-webkit-fit-content"
                | "auto"
                | "fit-content"
                | "max-content"
                | "min-content"
                | "sm"
                | "md"
                | "lg"
                | "xl"
                | "2xl"
                | "1"
                | "2"
                | "3"
                | "4"
                | "5"
                | "6"
                | "7"
                | "8"
                | "9"
                | "10"
                | "12"
                | "14"
                | "16"
                | "20"
                | "24"
                | "28"
                | "32"
                | "36"
                | "40"
                | "44"
                | "48"
                | "52"
                | "56"
                | "60"
                | "64"
                | "72"
                | "80"
                | "96"
                | "0.5"
                | "1.5"
                | "2.5"
                | "3.5"
                | "max"
                | "min"
                | "full"
                | "3xs"
                | "2xs"
                | "xs"
                | "3xl"
                | "4xl"
                | "5xl"
                | "6xl"
                | "7xl"
                | "8xl"
                | "prose"
                | "container.sm"
                | "container.md"
                | "container.lg"
                | "container.xl"
                | "-moz-fit-content"
                | "-webkit-max-content"
                | "intrinsic"
                | "min-intrinsic">;
        }

        Hierarchy (view full)

        Properties

        height?: ResponsiveValue<
            | number
            | "px"
            | string & {}
            | "-moz-initial"
            | "inherit"
            | "initial"
            | "revert"
            | "revert-layer"
            | "unset"
            | "-moz-max-content"
            | "-moz-min-content"
            | "-webkit-fit-content"
            | "auto"
            | "fit-content"
            | "max-content"
            | "min-content"
            | "sm"
            | "md"
            | "lg"
            | "xl"
            | "2xl"
            | "1"
            | "2"
            | "3"
            | "4"
            | "5"
            | "6"
            | "7"
            | "8"
            | "9"
            | "10"
            | "12"
            | "14"
            | "16"
            | "20"
            | "24"
            | "28"
            | "32"
            | "36"
            | "40"
            | "44"
            | "48"
            | "52"
            | "56"
            | "60"
            | "64"
            | "72"
            | "80"
            | "96"
            | "0.5"
            | "1.5"
            | "2.5"
            | "3.5"
            | "max"
            | "min"
            | "full"
            | "3xs"
            | "2xs"
            | "xs"
            | "3xl"
            | "4xl"
            | "5xl"
            | "6xl"
            | "7xl"
            | "8xl"
            | "prose"
            | "container.sm"
            | "container.md"
            | "container.lg"
            | "container.xl">

        The height of the map. This defaults to a reasonable pixel size.

        -
        map?: MapModel

        The direct map model reference to use. +

        map?: MapModel

        The direct map model reference to use. This property can be used as an alternative to the mapId.

        -
        mapId?: string

        The id of the map. +

        mapId?: string

        The id of the map. The map will be looked up in the MapRegistry service.

        -
        olLayer: BaseLayer

        The layer shown in the overview map.

        -
        width?: ResponsiveValue<
            | number
            | "px"
            | string & {}
            | "-moz-initial"
            | "inherit"
            | "initial"
            | "revert"
            | "revert-layer"
            | "unset"
            | "-moz-max-content"
            | "-moz-min-content"
            | "-webkit-fit-content"
            | "auto"
            | "fit-content"
            | "max-content"
            | "min-content"
            | "sm"
            | "md"
            | "lg"
            | "xl"
            | "2xl"
            | "1"
            | "2"
            | "3"
            | "4"
            | "5"
            | "6"
            | "7"
            | "8"
            | "9"
            | "10"
            | "12"
            | "14"
            | "16"
            | "20"
            | "24"
            | "28"
            | "32"
            | "36"
            | "40"
            | "44"
            | "48"
            | "52"
            | "56"
            | "60"
            | "64"
            | "72"
            | "80"
            | "96"
            | "0.5"
            | "1.5"
            | "2.5"
            | "3.5"
            | "max"
            | "min"
            | "full"
            | "3xs"
            | "2xs"
            | "xs"
            | "3xl"
            | "4xl"
            | "5xl"
            | "6xl"
            | "7xl"
            | "8xl"
            | "prose"
            | "container.sm"
            | "container.md"
            | "container.lg"
            | "container.xl"
            | "-moz-fit-content"
            | "-webkit-max-content"
            | "intrinsic"
            | "min-intrinsic">

        The width of the map. +

        olLayer: BaseLayer

        The layer shown in the overview map.

        +
        width?: ResponsiveValue<
            | number
            | "px"
            | string & {}
            | "-moz-initial"
            | "inherit"
            | "initial"
            | "revert"
            | "revert-layer"
            | "unset"
            | "-moz-max-content"
            | "-moz-min-content"
            | "-webkit-fit-content"
            | "auto"
            | "fit-content"
            | "max-content"
            | "min-content"
            | "sm"
            | "md"
            | "lg"
            | "xl"
            | "2xl"
            | "1"
            | "2"
            | "3"
            | "4"
            | "5"
            | "6"
            | "7"
            | "8"
            | "9"
            | "10"
            | "12"
            | "14"
            | "16"
            | "20"
            | "24"
            | "28"
            | "32"
            | "36"
            | "40"
            | "44"
            | "48"
            | "52"
            | "56"
            | "60"
            | "64"
            | "72"
            | "80"
            | "96"
            | "0.5"
            | "1.5"
            | "2.5"
            | "3.5"
            | "max"
            | "min"
            | "full"
            | "3xs"
            | "2xs"
            | "xs"
            | "3xl"
            | "4xl"
            | "5xl"
            | "6xl"
            | "7xl"
            | "8xl"
            | "prose"
            | "container.sm"
            | "container.md"
            | "container.lg"
            | "container.xl"
            | "-moz-fit-content"
            | "-webkit-max-content"
            | "intrinsic"
            | "min-intrinsic">

        The width of the map. This defaults to a reasonable pixel size.

        -
        +
        diff --git a/openlayers-base-packages/docs/interfaces/_open_pioneer_printing.PrintResult.html b/openlayers-base-packages/docs/interfaces/_open_pioneer_printing.PrintResult.html index fac6529e0..1e09d2f38 100644 --- a/openlayers-base-packages/docs/interfaces/_open_pioneer_printing.PrintResult.html +++ b/openlayers-base-packages/docs/interfaces/_open_pioneer_printing.PrintResult.html @@ -1,8 +1,8 @@ PrintResult | Open Pioneer Trails Packages

        The result of a print operation.

        -
        interface PrintResult {
            getCanvas(): HTMLCanvasElement;
            getPNGDataURL(quality?: number): string;
        }

        Methods

        interface PrintResult {
            getCanvas(): HTMLCanvasElement;
            getPNGDataURL(quality?: number): string;
        }

        Methods

        • Returns a canvas element that contains the result of the map print.

          -

          Returns HTMLCanvasElement

        +

        Parameters

        • Optionalquality: number

        Returns string

        diff --git a/openlayers-base-packages/docs/interfaces/_open_pioneer_printing.PrintingOptions.html b/openlayers-base-packages/docs/interfaces/_open_pioneer_printing.PrintingOptions.html index 43af17569..277f25bde 100644 --- a/openlayers-base-packages/docs/interfaces/_open_pioneer_printing.PrintingOptions.html +++ b/openlayers-base-packages/docs/interfaces/_open_pioneer_printing.PrintingOptions.html @@ -1,11 +1,11 @@ PrintingOptions | Open Pioneer Trails Packages

        Options supported when printing the map.

        -
        interface PrintingOptions {
            blockUserInteraction?: boolean;
            overlayText?: string;
            viewPadding?: ViewPaddingBehavior;
        }

        Properties

        interface PrintingOptions {
            blockUserInteraction?: boolean;
            overlayText?: string;
            viewPadding?: ViewPaddingBehavior;
        }

        Properties

        blockUserInteraction?: boolean

        When this is true (the default), an overlay will be added above the map to block user interactions.

        It is recommended to block user interaction (in some way) while the map is printing to avoid inconsistencies.

        -
        overlayText?: string

        This option can be used to customize the text content of the overlay (if enabled).

        -
        viewPadding?: ViewPaddingBehavior

        Whether to respect the map view's padding when printing (default: "auto").

        -
        +
        overlayText?: string

        This option can be used to customize the text content of the overlay (if enabled).

        +
        viewPadding?: ViewPaddingBehavior

        Whether to respect the map view's padding when printing (default: "auto").

        +
        diff --git a/openlayers-base-packages/docs/interfaces/_open_pioneer_printing.PrintingProps.html b/openlayers-base-packages/docs/interfaces/_open_pioneer_printing.PrintingProps.html index 80c856f81..234537bd1 100644 --- a/openlayers-base-packages/docs/interfaces/_open_pioneer_printing.PrintingProps.html +++ b/openlayers-base-packages/docs/interfaces/_open_pioneer_printing.PrintingProps.html @@ -1,11 +1,11 @@ PrintingProps | Open Pioneer Trails Packages

        This is special property for the Printing.

        -
        interface PrintingProps {
            map?: MapModel;
            mapId?: string;
            viewPadding?: ViewPaddingBehavior;
        }

        Hierarchy (view full)

        Properties

        interface PrintingProps {
            map?: MapModel;
            mapId?: string;
            viewPadding?: ViewPaddingBehavior;
        }

        Hierarchy (view full)

        Properties

        map?: MapModel

        The direct map model reference to use. This property can be used as an alternative to the mapId.

        -
        mapId?: string

        The id of the map. +

        mapId?: string

        The id of the map. The map will be looked up in the MapRegistry service.

        -
        viewPadding?: ViewPaddingBehavior

        Whether to respect the map view's padding when printing (default: "auto").

        +
        viewPadding?: ViewPaddingBehavior

        Whether to respect the map view's padding when printing (default: "auto").

        See also ViewPaddingBehavior.

        -
        +
        diff --git a/openlayers-base-packages/docs/interfaces/_open_pioneer_printing.PrintingService.html b/openlayers-base-packages/docs/interfaces/_open_pioneer_printing.PrintingService.html index 59289da7d..b86bc1188 100644 --- a/openlayers-base-packages/docs/interfaces/_open_pioneer_printing.PrintingService.html +++ b/openlayers-base-packages/docs/interfaces/_open_pioneer_printing.PrintingService.html @@ -1,7 +1,7 @@ PrintingService | Open Pioneer Trails Packages

        The printing service provides an image of a map as a canvas element or a data URL for a PNG image.

        Inject an instance of this service by referencing the interface name "printing.PrintingService".

        -
        interface PrintingService {
            printMap(olMap: Map, options?: PrintingOptions): Promise<PrintResult>;
        }

        Hierarchy

        • DeclaredService<"printing.PrintingService">
          • PrintingService

        Methods

        interface PrintingService {
            printMap(olMap: Map, options?: PrintingOptions): Promise<PrintResult>;
        }

        Hierarchy

        • DeclaredService<"printing.PrintingService">
          • PrintingService

        Methods

        Methods

        +

        Parameters

        Returns Promise<PrintResult>

        diff --git a/openlayers-base-packages/docs/interfaces/_open_pioneer_result_list.FormatOptions.html b/openlayers-base-packages/docs/interfaces/_open_pioneer_result_list.FormatOptions.html index 969150fa7..d9a5dd7d9 100644 --- a/openlayers-base-packages/docs/interfaces/_open_pioneer_result_list.FormatOptions.html +++ b/openlayers-base-packages/docs/interfaces/_open_pioneer_result_list.FormatOptions.html @@ -1,6 +1,6 @@ FormatOptions | Open Pioneer Trails Packages

        To specify the format of cell values if they are of number or date type.

        -
        interface FormatOptions {
            dateOptions?: DateTimeFormatOptions;
            numberOptions?: FormatNumberOptions;
        }

        Properties

        interface FormatOptions {
            dateOptions?: DateTimeFormatOptions;
            numberOptions?: FormatNumberOptions;
        }

        Properties

        dateOptions?: DateTimeFormatOptions

        To specify the format of date type values

        -
        numberOptions?: FormatNumberOptions

        To specify the format of number type values

        -
        +
        numberOptions?: FormatNumberOptions

        To specify the format of number type values

        +
        diff --git a/openlayers-base-packages/docs/interfaces/_open_pioneer_result_list.RenderCellContext.html b/openlayers-base-packages/docs/interfaces/_open_pioneer_result_list.RenderCellContext.html index 893b1598b..5b8d6d4eb 100644 --- a/openlayers-base-packages/docs/interfaces/_open_pioneer_result_list.RenderCellContext.html +++ b/openlayers-base-packages/docs/interfaces/_open_pioneer_result_list.RenderCellContext.html @@ -1,7 +1,7 @@ RenderCellContext | Open Pioneer Trails Packages

        The arguments passed to renderCell.

        -
        interface RenderCellContext {
            feature: BaseFeature;
            value: unknown;
        }

        Properties

        interface RenderCellContext {
            feature: BaseFeature;
            value: unknown;
        }

        Properties

        Properties

        feature: BaseFeature

        The feature in this row.

        -
        value: unknown

        The value of this column. +

        value: unknown

        The value of this column. May be undefined if neither propertyName nor getPropertyValue was specified on the column.

        -
        +
        diff --git a/openlayers-base-packages/docs/interfaces/_open_pioneer_result_list.ResultColumn.html b/openlayers-base-packages/docs/interfaces/_open_pioneer_result_list.ResultColumn.html index 183ff7897..dd435669d 100644 --- a/openlayers-base-packages/docs/interfaces/_open_pioneer_result_list.ResultColumn.html +++ b/openlayers-base-packages/docs/interfaces/_open_pioneer_result_list.ResultColumn.html @@ -1,6 +1,6 @@ ResultColumn | Open Pioneer Trails Packages

        Configures a column in the result list component.

        A column typically renders a property from the underlying feature.

        -
        interface ResultColumn {
            displayName?: string;
            getPropertyValue?: ((feature: BaseFeature) => unknown);
            id?: string;
            propertyName?: string;
            renderCell?: ((context: RenderCellContext) => ReactNode);
            width?: number;
        }

        Properties

        interface ResultColumn {
            displayName?: string;
            getPropertyValue?: ((feature: BaseFeature) => unknown);
            id?: string;
            propertyName?: string;
            renderCell?: ((context: RenderCellContext) => ReactNode);
            width?: number;
        }

        Properties

        Properties

        displayName?: string

        The display name of this column.

        If no displayName has been configured, propertyName will serve as a fallback value. If propertyName is also undefined, no column header will be rendered at all.

        -
        getPropertyValue?: ((feature: BaseFeature) => unknown)

        Define this function to return a custom property value for this column.

        +
        getPropertyValue?: ((feature: BaseFeature) => unknown)

        Define this function to return a custom property value for this column.

        This can be used to create derived columns (by combining multiple properties into one value) or to create columns for property that don't exist directly on the feature.

        The return value of this function will be rendered by the table.

        -
        id?: string

        Use this option to define an explicit column id. +

        id?: string

        Use this option to define an explicit column id. This can be helpful to track your column when it moves in the table (for example, the sort order can be maintained).

        If this is not defined, propertyName will serve as a fallback. If that is also not defined, the column index will be used instead.

        It is recommended to specify an id, if no propertyName has been set, because the column index fallback is not advised.

        -
        propertyName?: string

        The property name to render.

        +
        propertyName?: string

        The property name to render.

        The value is expected to be available as feature.properties[propertyName].

        See also getPropertyValue.

        -
        renderCell?: ((context: RenderCellContext) => ReactNode)

        Custom render function to render a table cell in this column.

        -
        width?: number

        The width of this column, in pixels.

        -
        +
        renderCell?: ((context: RenderCellContext) => ReactNode)

        Custom render function to render a table cell in this column.

        +
        width?: number

        The width of this column, in pixels.

        +
        diff --git a/openlayers-base-packages/docs/interfaces/_open_pioneer_result_list.ResultListInput.html b/openlayers-base-packages/docs/interfaces/_open_pioneer_result_list.ResultListInput.html index 0fc1be4aa..700fdfae1 100644 --- a/openlayers-base-packages/docs/interfaces/_open_pioneer_result_list.ResultListInput.html +++ b/openlayers-base-packages/docs/interfaces/_open_pioneer_result_list.ResultListInput.html @@ -1,10 +1,10 @@ ResultListInput | Open Pioneer Trails Packages

        Configures the result list's content.

        -
        interface ResultListInput {
            columns: ResultColumn[];
            data: BaseFeature[];
            formatOptions?: FormatOptions;
        }

        Properties

        interface ResultListInput {
            columns: ResultColumn[];
            data: BaseFeature[];
            formatOptions?: FormatOptions;
        }

        Properties

        columns: ResultColumn[]

        Configures the columns shown by the result list.

        -
        data: BaseFeature[]

        The data shown by the result list component. +

        data: BaseFeature[]

        The data shown by the result list component. Every feature will be rendered as an individual row.

        -
        formatOptions?: FormatOptions

        Optional formatOptions to specify the numberOptions for number type values and +

        formatOptions?: FormatOptions

        Optional formatOptions to specify the numberOptions for number type values and dateOptions to specify the format of date type values

        -
        +
        diff --git a/openlayers-base-packages/docs/interfaces/_open_pioneer_result_list.ResultListProps.html b/openlayers-base-packages/docs/interfaces/_open_pioneer_result_list.ResultListProps.html index 9298762ac..43ca04e89 100644 --- a/openlayers-base-packages/docs/interfaces/_open_pioneer_result_list.ResultListProps.html +++ b/openlayers-base-packages/docs/interfaces/_open_pioneer_result_list.ResultListProps.html @@ -1,5 +1,5 @@ ResultListProps | Open Pioneer Trails Packages

        Properties supported by the ResultList component.

        -
        interface ResultListProps {
            enableHighlight?: boolean;
            enableZoom?: boolean;
            highlightOptions?: HighlightOptions;
            input: ResultListInput;
            map?: MapModel;
            mapId?: string;
            memoizeRows?: boolean;
            onSelectionChange?: ((event: ResultListSelectionChangeEvent) => void);
            selectionMode?: SelectionMode;
            selectionStyle?: "radio" | "checkbox";
            zoomOptions?: ZoomOptions;
        }

        Hierarchy (view full)

        Properties

        interface ResultListProps {
            enableHighlight?: boolean;
            enableZoom?: boolean;
            highlightOptions?: HighlightOptions;
            input: ResultListInput;
            map?: MapModel;
            mapId?: string;
            memoizeRows?: boolean;
            onSelectionChange?: ((event: ResultListSelectionChangeEvent) => void);
            selectionMode?: SelectionMode;
            selectionStyle?: "radio" | "checkbox";
            zoomOptions?: ZoomOptions;
        }

        Hierarchy (view full)

        Properties

        enableHighlight?: boolean

        Should data be highlighted in the map. Default true.

        -
        enableZoom?: boolean

        Specifies if the map should zoom to features when they are loaded into the result-list. Defaults to true.

        -
        highlightOptions?: HighlightOptions

        Optional styling option

        -

        Describes the data rendered by the component.

        -
        map?: MapModel

        The direct map model reference to use. +

        enableZoom?: boolean

        Specifies if the map should zoom to features when they are loaded into the result-list. Defaults to true.

        +
        highlightOptions?: HighlightOptions

        Optional styling option

        +

        Describes the data rendered by the component.

        +
        map?: MapModel

        The direct map model reference to use. This property can be used as an alternative to the mapId.

        -
        mapId?: string

        The id of the map. +

        mapId?: string

        The id of the map. The map will be looked up in the MapRegistry service.

        -
        memoizeRows?: boolean

        Should each row be memoized to improve render performance. Default false.

        -
        onSelectionChange?: ((event: ResultListSelectionChangeEvent) => void)

        This handler is called whenever the user has changed the selected features in the result-list.

        -
        selectionMode?: SelectionMode

        The selection mode used by the result list. Defaults to "multi".

        -
        selectionStyle?: "radio" | "checkbox"

        The style used for the selection controls in a row. +

        memoizeRows?: boolean

        Should each row be memoized to improve render performance. Default false.

        +
        onSelectionChange?: ((event: ResultListSelectionChangeEvent) => void)

        This handler is called whenever the user has changed the selected features in the result-list.

        +
        selectionMode?: SelectionMode

        The selection mode used by the result list. Defaults to "multi".

        +
        selectionStyle?: "radio" | "checkbox"

        The style used for the selection controls in a row. Defaults to "checkbox" if selectionMode is "multi", or "radio" if selectionMode is "single".

        Note: "radio" can not be used together with multi selection.

        -
        zoomOptions?: ZoomOptions

        Optional zooming options

        -
        +
        zoomOptions?: ZoomOptions

        Optional zooming options

        +
        diff --git a/openlayers-base-packages/docs/interfaces/_open_pioneer_result_list.ResultListSelectionChangeEvent.html b/openlayers-base-packages/docs/interfaces/_open_pioneer_result_list.ResultListSelectionChangeEvent.html index 8f98212d4..a66ab77b8 100644 --- a/openlayers-base-packages/docs/interfaces/_open_pioneer_result_list.ResultListSelectionChangeEvent.html +++ b/openlayers-base-packages/docs/interfaces/_open_pioneer_result_list.ResultListSelectionChangeEvent.html @@ -1,4 +1,4 @@ ResultListSelectionChangeEvent | Open Pioneer Trails Packages

        Emitted when the selection within the ResultList changes.

        -
        interface ResultListSelectionChangeEvent {
            features: BaseFeature[];
            getFeatureIds: (() => (string | number)[]);
        }

        Properties

        interface ResultListSelectionChangeEvent {
            features: BaseFeature[];
            getFeatureIds: (() => (string | number)[]);
        }

        Properties

        features: BaseFeature[]
        getFeatureIds: (() => (string | number)[])
        +

        Properties

        features: BaseFeature[]
        getFeatureIds: (() => (string | number)[])
        diff --git a/openlayers-base-packages/docs/interfaces/_open_pioneer_scale_bar.ScaleBarProps.html b/openlayers-base-packages/docs/interfaces/_open_pioneer_scale_bar.ScaleBarProps.html index 4c73cdd60..7d816095f 100644 --- a/openlayers-base-packages/docs/interfaces/_open_pioneer_scale_bar.ScaleBarProps.html +++ b/openlayers-base-packages/docs/interfaces/_open_pioneer_scale_bar.ScaleBarProps.html @@ -1,10 +1,10 @@ ScaleBarProps | Open Pioneer Trails Packages

        These are the properties supported by the ScaleBar.

        -
        interface ScaleBarProps {
            displayMode?: "bar" | "line";
            map?: MapModel;
            mapId?: string;
        }

        Hierarchy (view full)

        Properties

        interface ScaleBarProps {
            displayMode?: "bar" | "line";
            map?: MapModel;
            mapId?: string;
        }

        Hierarchy (view full)

        Properties

        displayMode?: "bar" | "line"

        Display the scale either as a line or a bar. Defaults to "line".

        -
        map?: MapModel

        The direct map model reference to use. +

        map?: MapModel

        The direct map model reference to use. This property can be used as an alternative to the mapId.

        -
        mapId?: string

        The id of the map. +

        mapId?: string

        The id of the map. The map will be looked up in the MapRegistry service.

        -
        +
        diff --git a/openlayers-base-packages/docs/interfaces/_open_pioneer_scale_setter.ScaleSetterProps.html b/openlayers-base-packages/docs/interfaces/_open_pioneer_scale_setter.ScaleSetterProps.html index 8e5136fa8..c63407679 100644 --- a/openlayers-base-packages/docs/interfaces/_open_pioneer_scale_setter.ScaleSetterProps.html +++ b/openlayers-base-packages/docs/interfaces/_open_pioneer_scale_setter.ScaleSetterProps.html @@ -1,10 +1,10 @@ ScaleSetterProps | Open Pioneer Trails Packages

        These are the properties supported by the ScaleSetter.

        -
        interface ScaleSetterProps {
            map?: MapModel;
            mapId?: string;
            scales?: number[];
        }

        Hierarchy (view full)

        Properties

        interface ScaleSetterProps {
            map?: MapModel;
            mapId?: string;
            scales?: number[];
        }

        Hierarchy (view full)

        Properties

        Properties

        map?: MapModel

        The direct map model reference to use. This property can be used as an alternative to the mapId.

        -
        mapId?: string

        The id of the map. +

        mapId?: string

        The id of the map. The map will be looked up in the MapRegistry service.

        -
        scales?: number[]

        The set of scales that can be selected by the user.

        -
        +
        scales?: number[]

        The set of scales that can be selected by the user.

        +
        diff --git a/openlayers-base-packages/docs/interfaces/_open_pioneer_scale_viewer.ScaleViewerProps.html b/openlayers-base-packages/docs/interfaces/_open_pioneer_scale_viewer.ScaleViewerProps.html index a1c00e632..050fdfc75 100644 --- a/openlayers-base-packages/docs/interfaces/_open_pioneer_scale_viewer.ScaleViewerProps.html +++ b/openlayers-base-packages/docs/interfaces/_open_pioneer_scale_viewer.ScaleViewerProps.html @@ -1,8 +1,8 @@ ScaleViewerProps | Open Pioneer Trails Packages

        These are the properties supported by the ScaleViewer.

        -
        interface ScaleViewerProps {
            map?: MapModel;
            mapId?: string;
        }

        Hierarchy (view full)

        Properties

        interface ScaleViewerProps {
            map?: MapModel;
            mapId?: string;
        }

        Hierarchy (view full)

        Properties

        Properties

        map?: MapModel

        The direct map model reference to use. This property can be used as an alternative to the mapId.

        -
        mapId?: string

        The id of the map. +

        mapId?: string

        The id of the map. The map will be looked up in the MapRegistry service.

        -
        +
        diff --git a/openlayers-base-packages/docs/interfaces/_open_pioneer_search.SearchOptions.html b/openlayers-base-packages/docs/interfaces/_open_pioneer_search.SearchOptions.html index 250a91b20..47eb30776 100644 --- a/openlayers-base-packages/docs/interfaces/_open_pioneer_search.SearchOptions.html +++ b/openlayers-base-packages/docs/interfaces/_open_pioneer_search.SearchOptions.html @@ -1,15 +1,15 @@ SearchOptions | Open Pioneer Trails Packages

        Options passed to a SearchSource when triggering a search.

        -
        interface SearchOptions {
            mapProjection: Projection;
            maxResults: number;
            signal: AbortSignal;
        }

        Properties

        interface SearchOptions {
            mapProjection: Projection;
            maxResults: number;
            signal: AbortSignal;
        }

        Properties

        mapProjection: Projection

        The current projection of the map. Useful to return the search result's geometry in the suitable projection.

        -
        maxResults: number

        The maximum number of search results requested by the search widget. +

        maxResults: number

        The maximum number of search results requested by the search widget. The widget will not display additional results, should the source provide them.

        This property allows the source to fetch no more results than necessary.

        -
        signal: AbortSignal

        The signal can be used to detect cancellation. +

        signal: AbortSignal

        The signal can be used to detect cancellation. The search widget will automatically cancel obsolete requests when new search operations are started.

        You can pass this signal to builtin functions like fetch that automatically support cancellation.

        -
        +
        diff --git a/openlayers-base-packages/docs/interfaces/_open_pioneer_search.SearchProps.html b/openlayers-base-packages/docs/interfaces/_open_pioneer_search.SearchProps.html index 390d5ea91..71a55b545 100644 --- a/openlayers-base-packages/docs/interfaces/_open_pioneer_search.SearchProps.html +++ b/openlayers-base-packages/docs/interfaces/_open_pioneer_search.SearchProps.html @@ -1,5 +1,5 @@ SearchProps | Open Pioneer Trails Packages

        Properties supported by the Search component.

        -
        interface SearchProps {
            map?: MapModel;
            mapId?: string;
            maxResultsPerGroup?: number;
            onClear?: (() => void);
            onSelect?: ((event: SearchSelectEvent) => void);
            placeholder?: string;
            searchTypingDelay?: number;
            sources: SearchSource[];
        }

        Hierarchy (view full)

        Properties

        interface SearchProps {
            map?: MapModel;
            mapId?: string;
            maxResultsPerGroup?: number;
            onClear?: (() => void);
            onSelect?: ((event: SearchSelectEvent) => void);
            placeholder?: string;
            searchTypingDelay?: number;
            sources: SearchSource[];
        }

        Hierarchy (view full)

        Properties

        Properties

        map?: MapModel

        The direct map model reference to use. This property can be used as an alternative to the mapId.

        -
        mapId?: string

        The id of the map. +

        mapId?: string

        The id of the map. The map will be looked up in the MapRegistry service.

        -
        maxResultsPerGroup?: number

        The maximum number of results shown per group. +

        maxResultsPerGroup?: number

        The maximum number of results shown per group. Defaults to 5.

        -
        onClear?: (() => void)

        This event handler will be called when the user clears the search input.

        -
        onSelect?: ((event: SearchSelectEvent) => void)

        This event handler will be called when the user selects a search result.

        -
        placeholder?: string

        The placeholder text shown in the search input field when it is empty. +

        onClear?: (() => void)

        This event handler will be called when the user clears the search input.

        +
        onSelect?: ((event: SearchSelectEvent) => void)

        This event handler will be called when the user selects a search result.

        +
        placeholder?: string

        The placeholder text shown in the search input field when it is empty. Defaults to a generic (and localized) hint.

        -
        searchTypingDelay?: number

        Typing delay (in milliseconds) before the async search query starts after the user types in the search term. +

        searchTypingDelay?: number

        Typing delay (in milliseconds) before the async search query starts after the user types in the search term. Defaults to 200.

        -
        sources: SearchSource[]

        Data sources to be searched on.

        -
        +
        sources: SearchSource[]

        Data sources to be searched on.

        +
        diff --git a/openlayers-base-packages/docs/interfaces/_open_pioneer_search.SearchResult.html b/openlayers-base-packages/docs/interfaces/_open_pioneer_search.SearchResult.html index 71d915014..6e56adb1a 100644 --- a/openlayers-base-packages/docs/interfaces/_open_pioneer_search.SearchResult.html +++ b/openlayers-base-packages/docs/interfaces/_open_pioneer_search.SearchResult.html @@ -1,5 +1,5 @@ SearchResult | Open Pioneer Trails Packages

        Represent the result of a search.

        -
        interface SearchResult {
            geometry?: Geometry;
            id: string | number;
            label: string;
            projection?: string;
            properties?: Readonly<Record<string, unknown>>;
            style?: Style;
        }

        Hierarchy (view full)

        Properties

        interface SearchResult {
            geometry?: Geometry;
            id: string | number;
            label: string;
            projection?: string;
            properties?: Readonly<Record<string, unknown>>;
            style?: Style;
        }

        Hierarchy (view full)

        Properties

        geometry? id label projection? @@ -7,12 +7,12 @@ style?

        Properties

        geometry?: Geometry

        Geometry of the feature. Also specify the projection if geometry is set.

        -
        id: string | number

        Identifier for the feature object. Must be unique within all features of one source/layer.

        +
        id: string | number

        Identifier for the feature object. Must be unique within all features of one source/layer.

        If your source cannot provide a useful id on its own, another strategy to generate unique ids is to generate a UUID instead.

        -
        label: string

        Display text representing this result. +

        label: string

        Display text representing this result. Will be shown in the search widget's suggestion list.

        -
        projection?: string

        The projection of the geometry.

        -
        properties?: Readonly<Record<string, unknown>>

        Properties of the feature.

        -
        style?: Style

        Additional style information for displaying the feature on the map.

        -
        +
        projection?: string

        The projection of the geometry.

        +
        properties?: Readonly<Record<string, unknown>>

        Properties of the feature.

        +
        style?: Style

        Additional style information for displaying the feature on the map.

        +
        diff --git a/openlayers-base-packages/docs/interfaces/_open_pioneer_search.SearchSelectEvent.html b/openlayers-base-packages/docs/interfaces/_open_pioneer_search.SearchSelectEvent.html index 9d9a6c629..a82b84d95 100644 --- a/openlayers-base-packages/docs/interfaces/_open_pioneer_search.SearchSelectEvent.html +++ b/openlayers-base-packages/docs/interfaces/_open_pioneer_search.SearchSelectEvent.html @@ -1,6 +1,6 @@ SearchSelectEvent | Open Pioneer Trails Packages

        Event type emitted when the user selects an item.

        -
        interface SearchSelectEvent {
            result: SearchResult;
            source: SearchSource;
        }

        Properties

        interface SearchSelectEvent {
            result: SearchResult;
            source: SearchSource;
        }

        Properties

        Properties

        result: SearchResult

        The search result selected by the user.

        -
        source: SearchSource

        The source that returned the result.

        -
        +
        source: SearchSource

        The source that returned the result.

        +
        diff --git a/openlayers-base-packages/docs/interfaces/_open_pioneer_search.SearchSource.html b/openlayers-base-packages/docs/interfaces/_open_pioneer_search.SearchSource.html index 99791e1db..7c9c12f6d 100644 --- a/openlayers-base-packages/docs/interfaces/_open_pioneer_search.SearchSource.html +++ b/openlayers-base-packages/docs/interfaces/_open_pioneer_search.SearchSource.html @@ -1,10 +1,10 @@ SearchSource | Open Pioneer Trails Packages

        An object that allows searching some set of data.

        Developers can create classes that implement this interface for different search sources.

        -
        interface SearchSource {
            label: string;
            search(inputValue: string, options: SearchOptions): Promise<SearchResult[]>;
        }

        Properties

        interface SearchSource {
            label: string;
            search(inputValue: string, options: SearchOptions): Promise<SearchResult[]>;
        }

        Properties

        Methods

        Properties

        label: string

        The label of this source.

        This will be displayed by the user interface when results from this search source are shown.

        -

        Methods

        Methods

        • Performs a search and return a list of search results.

          Implementations should return the results ordered by priority (best match first), if possible.

          The provided AbortSignal in options.signal is used to cancel outdated requests.

          NOTE: If your search source implements custom error handling (i.e. try/catch), it is good practice to forward @@ -14,4 +14,4 @@

          import { isAbortError } from "@open-pioneer/core";

          class CustomSearchSource {
          async search(input, { signal }) {
          try {
          // If the search is cancelled by the UI, doRequest
          // will throw an AbortError. It might throw other errors
          // due to application errors, network problems etc.
          const result = await doCustomSearch(input, signal);
          // ... do something with result
          } catch (e) {
          if (isAbortError(e)) {
          throw e; // rethrow original error
          }
          // Possibly use custom error codes or error classes for better error messages
          throw new Error("Custom search failed", { cause: e });
          }
          }
          }
          -

          Parameters

          Returns Promise<SearchResult[]>

        +

        Parameters

        Returns Promise<SearchResult[]>

        diff --git a/openlayers-base-packages/docs/interfaces/_open_pioneer_selection.ExtentSelection.html b/openlayers-base-packages/docs/interfaces/_open_pioneer_selection.ExtentSelection.html index 4a4e398e2..caf197e28 100644 --- a/openlayers-base-packages/docs/interfaces/_open_pioneer_selection.ExtentSelection.html +++ b/openlayers-base-packages/docs/interfaces/_open_pioneer_selection.ExtentSelection.html @@ -1,4 +1,4 @@ ExtentSelection | Open Pioneer Trails Packages

        The user has selected an extent.

        -
        interface ExtentSelection {
            extent: Extent;
            type: "extent";
        }

        Properties

        interface ExtentSelection {
            extent: Extent;
            type: "extent";
        }

        Properties

        Properties

        extent: Extent
        type
        +

        Properties

        extent: Extent
        type
        diff --git a/openlayers-base-packages/docs/interfaces/_open_pioneer_selection.SelectionCompleteEvent.html b/openlayers-base-packages/docs/interfaces/_open_pioneer_selection.SelectionCompleteEvent.html index cacb7bda4..3c00ab1b0 100644 --- a/openlayers-base-packages/docs/interfaces/_open_pioneer_selection.SelectionCompleteEvent.html +++ b/openlayers-base-packages/docs/interfaces/_open_pioneer_selection.SelectionCompleteEvent.html @@ -1,5 +1,5 @@ -SelectionCompleteEvent | Open Pioneer Trails Packages
        interface SelectionCompleteEvent {
            results: SelectionResult[];
            source: SelectionSource;
        }

        Properties

        results +SelectionCompleteEvent | Open Pioneer Trails Packages
        interface SelectionCompleteEvent {
            results: SelectionResult[];
            source: SelectionSource;
        }

        Properties

        Properties

        results: SelectionResult[]

        Results selected by the user.

        -

        The source that returned the results.

        -
        +

        The source that returned the results.

        +
        diff --git a/openlayers-base-packages/docs/interfaces/_open_pioneer_selection.SelectionOptions.html b/openlayers-base-packages/docs/interfaces/_open_pioneer_selection.SelectionOptions.html index 159435afd..5977c1df2 100644 --- a/openlayers-base-packages/docs/interfaces/_open_pioneer_selection.SelectionOptions.html +++ b/openlayers-base-packages/docs/interfaces/_open_pioneer_selection.SelectionOptions.html @@ -1,13 +1,13 @@ SelectionOptions | Open Pioneer Trails Packages

        Options passed to a SelectionSource when triggering a select.

        -
        interface SelectionOptions {
            mapProjection: Projection;
            maxResults: number;
            signal: AbortSignal;
        }

        Properties

        interface SelectionOptions {
            mapProjection: Projection;
            maxResults: number;
            signal: AbortSignal;
        }

        Properties

        mapProjection: Projection

        The current projection of the map. Useful to return the selection result's geometry in the suitable projection, should they differ.

        -
        maxResults: number

        The maximum number of selection results to request. +

        maxResults: number

        The maximum number of selection results to request. The selection component currently only supports a certain amount of results (indicated by this value). If a source results more than maxResults results, additional results will be ignored.

        -
        signal: AbortSignal

        The signal can be used to detect cancellation.

        +
        signal: AbortSignal

        The signal can be used to detect cancellation.

        You can pass this signal to builtin functions like fetch that automatically support cancellation.

        -
        +
        diff --git a/openlayers-base-packages/docs/interfaces/_open_pioneer_selection.SelectionProps.html b/openlayers-base-packages/docs/interfaces/_open_pioneer_selection.SelectionProps.html index 36c5e1fa5..c53582644 100644 --- a/openlayers-base-packages/docs/interfaces/_open_pioneer_selection.SelectionProps.html +++ b/openlayers-base-packages/docs/interfaces/_open_pioneer_selection.SelectionProps.html @@ -1,15 +1,15 @@ SelectionProps | Open Pioneer Trails Packages

        Properties supported by the Selection component.

        -
        interface SelectionProps {
            map?: MapModel;
            mapId?: string;
            sources: SelectionSource[];
            onSelectionComplete?(event: SelectionCompleteEvent): void;
            onSelectionSourceChanged?(event: SelectionSourceChangedEvent): void;
        }

        Hierarchy (view full)

        Properties

        interface SelectionProps {
            map?: MapModel;
            mapId?: string;
            sources: SelectionSource[];
            onSelectionComplete?(event: SelectionCompleteEvent): void;
            onSelectionSourceChanged?(event: SelectionSourceChangedEvent): void;
        }

        Hierarchy (view full)

        Properties

        map?: MapModel

        The direct map model reference to use. This property can be used as an alternative to the mapId.

        -
        mapId?: string

        The id of the map. +

        mapId?: string

        The id of the map. The map will be looked up in the MapRegistry service.

        -
        sources: SelectionSource[]

        Array of selection sources available for spatial selection.

        -

        Methods

        sources: SelectionSource[]

        Array of selection sources available for spatial selection.

        +

        Methods

        +

        Parameters

        Returns void

        diff --git a/openlayers-base-packages/docs/interfaces/_open_pioneer_selection.SelectionResult.html b/openlayers-base-packages/docs/interfaces/_open_pioneer_selection.SelectionResult.html index 536a3cc81..29ae575c8 100644 --- a/openlayers-base-packages/docs/interfaces/_open_pioneer_selection.SelectionResult.html +++ b/openlayers-base-packages/docs/interfaces/_open_pioneer_selection.SelectionResult.html @@ -1,15 +1,15 @@ SelectionResult | Open Pioneer Trails Packages

        Represents a result returned by a spatial selection.

        -
        interface SelectionResult {
            geometry: Geometry;
            id: string | number;
            projection?: string;
            properties?: Readonly<Record<string, unknown>>;
            style?: Style;
        }

        Hierarchy (view full)

        Properties

        interface SelectionResult {
            geometry: Geometry;
            id: string | number;
            projection?: string;
            properties?: Readonly<Record<string, unknown>>;
            style?: Style;
        }

        Hierarchy (view full)

        Properties

        geometry: Geometry

        Geometry of the selection result. One should also specify the projection.

        -
        id: string | number

        Identifier for the feature object. Must be unique within all features of one source/layer.

        +
        id: string | number

        Identifier for the feature object. Must be unique within all features of one source/layer.

        If your source cannot provide a useful id on its own, another strategy to generate unique ids is to generate a UUID instead.

        -
        projection?: string

        The projection of the geometry.

        -
        properties?: Readonly<Record<string, unknown>>

        Properties of the feature.

        -
        style?: Style

        Additional style information for displaying the feature on the map.

        -
        +
        projection?: string

        The projection of the geometry.

        +
        properties?: Readonly<Record<string, unknown>>

        Properties of the feature.

        +
        style?: Style

        Additional style information for displaying the feature on the map.

        +
        diff --git a/openlayers-base-packages/docs/interfaces/_open_pioneer_selection.SelectionSource.html b/openlayers-base-packages/docs/interfaces/_open_pioneer_selection.SelectionSource.html index 716292eac..ce1b1bdeb 100644 --- a/openlayers-base-packages/docs/interfaces/_open_pioneer_selection.SelectionSource.html +++ b/openlayers-base-packages/docs/interfaces/_open_pioneer_selection.SelectionSource.html @@ -1,17 +1,17 @@ SelectionSource | Open Pioneer Trails Packages

        An object that allows spatial selection.

        Developers can create classes that implement this interface for different selection sources.

        -
        interface SelectionSource {
            label: string;
            status?: SelectionSourceStatus;
            select(selectionKind: ExtentSelection, options: SelectionOptions): Promise<SelectionResult[]>;
        }

        Properties

        interface SelectionSource {
            label: string;
            status?: SelectionSourceStatus;
            select(selectionKind: ExtentSelection, options: SelectionOptions): Promise<SelectionResult[]>;
        }

        Properties

        Methods

        Properties

        label: string

        The label of this source.

        This will be displayed by the user interface during selection source selection.

        -

        The optional status of this source. If there is no status defined, it is assumed that the +

        The optional status of this source. If there is no status defined, it is assumed that the source is always available.

        This will be displayed by the user interface.

        This value can be reactive; changes will be reflected in the UI.

        -

        Methods

        Methods

        +

        Returns Promise<SelectionResult[]>

        diff --git a/openlayers-base-packages/docs/interfaces/_open_pioneer_selection.SelectionSourceChangedEvent.html b/openlayers-base-packages/docs/interfaces/_open_pioneer_selection.SelectionSourceChangedEvent.html index 8b626177f..571c53524 100644 --- a/openlayers-base-packages/docs/interfaces/_open_pioneer_selection.SelectionSourceChangedEvent.html +++ b/openlayers-base-packages/docs/interfaces/_open_pioneer_selection.SelectionSourceChangedEvent.html @@ -1,3 +1,3 @@ -SelectionSourceChangedEvent | Open Pioneer Trails Packages
        interface SelectionSourceChangedEvent {
            source: undefined | SelectionSource;
        }

        Properties

        source +SelectionSourceChangedEvent | Open Pioneer Trails Packages
        interface SelectionSourceChangedEvent {
            source: undefined | SelectionSource;
        }

        Properties

        Properties

        source: undefined | SelectionSource

        The new selected source

        -
        +
        diff --git a/openlayers-base-packages/docs/interfaces/_open_pioneer_selection.VectorLayerSelectionSource.html b/openlayers-base-packages/docs/interfaces/_open_pioneer_selection.VectorLayerSelectionSource.html index 704dc4b39..217747f0d 100644 --- a/openlayers-base-packages/docs/interfaces/_open_pioneer_selection.VectorLayerSelectionSource.html +++ b/openlayers-base-packages/docs/interfaces/_open_pioneer_selection.VectorLayerSelectionSource.html @@ -1,15 +1,15 @@ -VectorLayerSelectionSource | Open Pioneer Trails Packages
        interface VectorLayerSelectionSource {
            label: string;
            status: SelectionSourceStatus;
            select(selectionKind: ExtentSelection, options: SelectionOptions): Promise<SelectionResult[]>;
        }

        Hierarchy

        Properties

        label +VectorLayerSelectionSource | Open Pioneer Trails Packages
        interface VectorLayerSelectionSource {
            label: string;
            status: SelectionSourceStatus;
            select(selectionKind: ExtentSelection, options: SelectionOptions): Promise<SelectionResult[]>;
        }

        Hierarchy

        Properties

        Methods

        Properties

        label: string

        The label of this source.

        This will be displayed by the user interface during selection source selection.

        -

        The optional status of this source. If there is no status defined, it is assumed that the +

        The optional status of this source. If there is no status defined, it is assumed that the source is always available.

        This will be displayed by the user interface.

        This value can be reactive; changes will be reflected in the UI.

        -

        Methods

        Methods

        +

        Returns Promise<SelectionResult[]>

        diff --git a/openlayers-base-packages/docs/interfaces/_open_pioneer_selection.VectorLayerSelectionSourceFactory.html b/openlayers-base-packages/docs/interfaces/_open_pioneer_selection.VectorLayerSelectionSourceFactory.html index fe5aebf24..76a5ff93c 100644 --- a/openlayers-base-packages/docs/interfaces/_open_pioneer_selection.VectorLayerSelectionSourceFactory.html +++ b/openlayers-base-packages/docs/interfaces/_open_pioneer_selection.VectorLayerSelectionSourceFactory.html @@ -1,6 +1,6 @@ VectorLayerSelectionSourceFactory | Open Pioneer Trails Packages

        A factory that creates selection sources to be used on an OpenLayers VectorLayer with an OpenLayers VectorSource (e.g. layer of the map).

        Use the interface name "selection.VectorSelectionSourceFactory" to obtain an instance of this factory.

        -
        interface VectorLayerSelectionSourceFactory {
            createSelectionSource(options: VectorLayerSelectionSourceOptions): VectorLayerSelectionSource;
        }

        Hierarchy

        • DeclaredService<"selection.VectorSelectionSourceFactory">
          • VectorLayerSelectionSourceFactory

        Methods

        interface VectorLayerSelectionSourceFactory {
            createSelectionSource(options: VectorLayerSelectionSourceOptions): VectorLayerSelectionSource;
        }

        Hierarchy

        • DeclaredService<"selection.VectorSelectionSourceFactory">
          • VectorLayerSelectionSourceFactory

        Methods

        +

        Returns VectorLayerSelectionSource

        diff --git a/openlayers-base-packages/docs/interfaces/_open_pioneer_selection.VectorLayerSelectionSourceOptions.html b/openlayers-base-packages/docs/interfaces/_open_pioneer_selection.VectorLayerSelectionSourceOptions.html index 046364ddb..b4d2fa596 100644 --- a/openlayers-base-packages/docs/interfaces/_open_pioneer_selection.VectorLayerSelectionSourceOptions.html +++ b/openlayers-base-packages/docs/interfaces/_open_pioneer_selection.VectorLayerSelectionSourceOptions.html @@ -1,3 +1,3 @@ -VectorLayerSelectionSourceOptions | Open Pioneer Trails Packages
        interface VectorLayerSelectionSourceOptions {
            label: string;
            vectorLayer: VectorLayer<VectorSource<Feature<Geometry>>, Feature<Geometry>>;
        }

        Properties

        label +VectorLayerSelectionSourceOptions | Open Pioneer Trails Packages
        interface VectorLayerSelectionSourceOptions {
            label: string;
            vectorLayer: VectorLayer<VectorSource<Feature<Geometry>>, Feature<Geometry>>;
        }

        Properties

        Properties

        label: string
        vectorLayer: VectorLayer<VectorSource<Feature<Geometry>>, Feature<Geometry>>
        +

        Properties

        label: string
        vectorLayer: VectorLayer<VectorSource<Feature<Geometry>>, Feature<Geometry>>
        diff --git a/openlayers-base-packages/docs/interfaces/_open_pioneer_spatial_bookmarks.SpatialBookmarksProps.html b/openlayers-base-packages/docs/interfaces/_open_pioneer_spatial_bookmarks.SpatialBookmarksProps.html index cb3e3a902..ebddac025 100644 --- a/openlayers-base-packages/docs/interfaces/_open_pioneer_spatial_bookmarks.SpatialBookmarksProps.html +++ b/openlayers-base-packages/docs/interfaces/_open_pioneer_spatial_bookmarks.SpatialBookmarksProps.html @@ -1,10 +1,10 @@ SpatialBookmarksProps | Open Pioneer Trails Packages

        Options that specify which map to use. See useMapModel.

        When not setting any of these properties on a component, the default map (from the DefaultMapProvider) will be used. If that is not available either, an error will be thrown.

        -
        interface SpatialBookmarksProps {
            map?: MapModel;
            mapId?: string;
        }

        Hierarchy (view full)

        Properties

        interface SpatialBookmarksProps {
            map?: MapModel;
            mapId?: string;
        }

        Hierarchy (view full)

        Properties

        Properties

        map?: MapModel

        The direct map model reference to use. This property can be used as an alternative to the mapId.

        -
        mapId?: string

        The id of the map. +

        mapId?: string

        The id of the map. The map will be looked up in the MapRegistry service.

        -
        +
        diff --git a/openlayers-base-packages/docs/interfaces/_open_pioneer_toc.TocProps.html b/openlayers-base-packages/docs/interfaces/_open_pioneer_toc.TocProps.html index ed9283f4e..1aba809cd 100644 --- a/openlayers-base-packages/docs/interfaces/_open_pioneer_toc.TocProps.html +++ b/openlayers-base-packages/docs/interfaces/_open_pioneer_toc.TocProps.html @@ -1,5 +1,5 @@ TocProps | Open Pioneer Trails Packages

        Props supported by the Toc component.

        -
        interface TocProps {
            autoShowParents?: boolean;
            basemapSwitcherProps?: Omit<BasemapSwitcherProps, "mapId">;
            map?: MapModel;
            mapId?: string;
            showBasemapSwitcher?: boolean;
            showTools?: boolean;
            toolsConfig?: ToolsConfig;
        }

        Hierarchy (view full)

        Properties

        interface TocProps {
            autoShowParents?: boolean;
            basemapSwitcherProps?: Omit<BasemapSwitcherProps, "mapId">;
            map?: MapModel;
            mapId?: string;
            showBasemapSwitcher?: boolean;
            showTools?: boolean;
            toolsConfig?: ToolsConfig;
        }

        Hierarchy (view full)

        Properties

        autoShowParents?: boolean

        Show the parent layers when a child layer is made visible. Defaults to true.

        -
        basemapSwitcherProps?: Omit<BasemapSwitcherProps, "mapId">

        Properties for the embedded basemap switcher. +

        basemapSwitcherProps?: Omit<BasemapSwitcherProps, "mapId">

        Properties for the embedded basemap switcher. Property "mapId" is not applied.

        -
        map?: MapModel

        The direct map model reference to use. +

        map?: MapModel

        The direct map model reference to use. This property can be used as an alternative to the mapId.

        -
        mapId?: string

        The id of the map. +

        mapId?: string

        The id of the map. The map will be looked up in the MapRegistry service.

        -
        showBasemapSwitcher?: boolean

        Defines whether the basemap switcher is shown in the toc. +

        showBasemapSwitcher?: boolean

        Defines whether the basemap switcher is shown in the toc. Defaults to true.

        -
        showTools?: boolean

        Defines whether the tool component is shown in the toc. +

        showTools?: boolean

        Defines whether the tool component is shown in the toc. Defaults to false.

        -
        toolsConfig?: ToolsConfig

        Properties for the embedded tool component.

        -
        +
        toolsConfig?: ToolsConfig

        Properties for the embedded tool component.

        +
        diff --git a/openlayers-base-packages/docs/interfaces/_open_pioneer_toc.ToolsConfig.html b/openlayers-base-packages/docs/interfaces/_open_pioneer_toc.ToolsConfig.html index 97b7ed328..f878fc4a3 100644 --- a/openlayers-base-packages/docs/interfaces/_open_pioneer_toc.ToolsConfig.html +++ b/openlayers-base-packages/docs/interfaces/_open_pioneer_toc.ToolsConfig.html @@ -1,5 +1,5 @@ ToolsConfig | Open Pioneer Trails Packages

        Props supported by the Tools component.

        -
        interface ToolsConfig {
            showHideAllLayers?: boolean;
        }

        Properties

        interface ToolsConfig {
            showHideAllLayers?: boolean;
        }

        Properties

        showHideAllLayers?: boolean

        Optional property to show the hide all layers entry. Defaults to true.

        -
        +
        diff --git a/openlayers-base-packages/docs/types/_open_pioneer_editing.EditingWorkflowState.html b/openlayers-base-packages/docs/types/_open_pioneer_editing.EditingWorkflowState.html index e8446e4b1..62c084525 100644 --- a/openlayers-base-packages/docs/types/_open_pioneer_editing.EditingWorkflowState.html +++ b/openlayers-base-packages/docs/types/_open_pioneer_editing.EditingWorkflowState.html @@ -8,4 +8,4 @@ State while feature is being saved after user finished the geometry drawing.

        "destroyed: state after editing is stopped.

        -
        +
        diff --git a/openlayers-base-packages/docs/types/_open_pioneer_map.AnyLayer.html b/openlayers-base-packages/docs/types/_open_pioneer_map.AnyLayer.html index 5297b6fa1..9a394cd75 100644 --- a/openlayers-base-packages/docs/types/_open_pioneer_map.AnyLayer.html +++ b/openlayers-base-packages/docs/types/_open_pioneer_map.AnyLayer.html @@ -1,2 +1,2 @@ AnyLayer | Open Pioneer Trails Packages
        AnyLayer: Layer | Sublayer

        Union for all types of layers

        -
        +
        diff --git a/openlayers-base-packages/docs/types/_open_pioneer_map.AnyLayerTypes.html b/openlayers-base-packages/docs/types/_open_pioneer_map.AnyLayerTypes.html index 8a983c193..097593fce 100644 --- a/openlayers-base-packages/docs/types/_open_pioneer_map.AnyLayerTypes.html +++ b/openlayers-base-packages/docs/types/_open_pioneer_map.AnyLayerTypes.html @@ -1 +1 @@ -AnyLayerTypes | Open Pioneer Trails Packages
        +AnyLayerTypes | Open Pioneer Trails Packages
        diff --git a/openlayers-base-packages/docs/types/_open_pioneer_map.DisplayTarget.html b/openlayers-base-packages/docs/types/_open_pioneer_map.DisplayTarget.html index e470a0745..bc11226dd 100644 --- a/openlayers-base-packages/docs/types/_open_pioneer_map.DisplayTarget.html +++ b/openlayers-base-packages/docs/types/_open_pioneer_map.DisplayTarget.html @@ -1,2 +1,2 @@ DisplayTarget | Open Pioneer Trails Packages
        DisplayTarget: BaseFeature | Geometry

        Represents an object in the map.

        -
        +
        diff --git a/openlayers-base-packages/docs/types/_open_pioneer_map.HealthCheckFunction.html b/openlayers-base-packages/docs/types/_open_pioneer_map.HealthCheckFunction.html index 7ff2404b0..bf35cf4f2 100644 --- a/openlayers-base-packages/docs/types/_open_pioneer_map.HealthCheckFunction.html +++ b/openlayers-base-packages/docs/types/_open_pioneer_map.HealthCheckFunction.html @@ -1,2 +1,2 @@ HealthCheckFunction | Open Pioneer Trails Packages
        HealthCheckFunction: ((layer: Layer) => Promise<"loaded" | "error">)

        Custom function to check the state of a layer and returning a "loaded" or "error".

        -
        +
        diff --git a/openlayers-base-packages/docs/types/_open_pioneer_map.HighlightStyle.html b/openlayers-base-packages/docs/types/_open_pioneer_map.HighlightStyle.html index b133c31e6..19dddd24c 100644 --- a/openlayers-base-packages/docs/types/_open_pioneer_map.HighlightStyle.html +++ b/openlayers-base-packages/docs/types/_open_pioneer_map.HighlightStyle.html @@ -1,2 +1,2 @@ HighlightStyle | Open Pioneer Trails Packages
        HighlightStyle: {
            LineString?: StyleLike;
            MultiLineString?: StyleLike;
            MultiPoint?: StyleLike;
            MultiPolygon?: StyleLike;
            Point?: StyleLike;
            Polygon?: StyleLike;
        }

        Custom styles when creating a new Highlight.

        -
        +
        diff --git a/openlayers-base-packages/docs/types/_open_pioneer_map.InitialViewConfig.html b/openlayers-base-packages/docs/types/_open_pioneer_map.InitialViewConfig.html index 961365960..8e8d3c9c8 100644 --- a/openlayers-base-packages/docs/types/_open_pioneer_map.InitialViewConfig.html +++ b/openlayers-base-packages/docs/types/_open_pioneer_map.InitialViewConfig.html @@ -1,2 +1,2 @@ InitialViewConfig | Open Pioneer Trails Packages

        Configures the map's initial view.

        -
        +
        diff --git a/openlayers-base-packages/docs/types/_open_pioneer_map.Layer.html b/openlayers-base-packages/docs/types/_open_pioneer_map.Layer.html index 2d2575dc1..282b8f294 100644 --- a/openlayers-base-packages/docs/types/_open_pioneer_map.Layer.html +++ b/openlayers-base-packages/docs/types/_open_pioneer_map.Layer.html @@ -1,2 +1,2 @@ Layer | Open Pioneer Trails Packages
        Layer:
            | SimpleLayer
            | WMSLayer
            | WMTSLayer
            | GroupLayer

        Union type for all layers (extending LayerBaseType)

        -
        +
        diff --git a/openlayers-base-packages/docs/types/_open_pioneer_map.LayerLoadState.html b/openlayers-base-packages/docs/types/_open_pioneer_map.LayerLoadState.html index 09943a75e..f2e7d7d20 100644 --- a/openlayers-base-packages/docs/types/_open_pioneer_map.LayerLoadState.html +++ b/openlayers-base-packages/docs/types/_open_pioneer_map.LayerLoadState.html @@ -1,2 +1,2 @@ LayerLoadState | Open Pioneer Trails Packages
        LayerLoadState:
            | "not-loaded"
            | "loading"
            | "loaded"
            | "error"

        The load state of a layer.

        -
        +
        diff --git a/openlayers-base-packages/docs/types/_open_pioneer_map.LayerTypes.html b/openlayers-base-packages/docs/types/_open_pioneer_map.LayerTypes.html index 414d6afb4..ec4c60610 100644 --- a/openlayers-base-packages/docs/types/_open_pioneer_map.LayerTypes.html +++ b/openlayers-base-packages/docs/types/_open_pioneer_map.LayerTypes.html @@ -1 +1 @@ -LayerTypes | Open Pioneer Trails Packages
        +LayerTypes | Open Pioneer Trails Packages
        diff --git a/openlayers-base-packages/docs/types/_open_pioneer_map.MapAnchorPosition.html b/openlayers-base-packages/docs/types/_open_pioneer_map.MapAnchorPosition.html index a62bfd695..1dad4f093 100644 --- a/openlayers-base-packages/docs/types/_open_pioneer_map.MapAnchorPosition.html +++ b/openlayers-base-packages/docs/types/_open_pioneer_map.MapAnchorPosition.html @@ -1 +1 @@ -MapAnchorPosition | Open Pioneer Trails Packages
        MapAnchorPosition:
            | "top-left"
            | "top-right"
            | "bottom-left"
            | "bottom-right"
        +MapAnchorPosition | Open Pioneer Trails Packages
        MapAnchorPosition:
            | "top-left"
            | "top-right"
            | "bottom-left"
            | "bottom-right"
        diff --git a/openlayers-base-packages/docs/types/_open_pioneer_map.ProjectionDefinition.html b/openlayers-base-packages/docs/types/_open_pioneer_map.ProjectionDefinition.html index f25e674eb..e640c5a2d 100644 --- a/openlayers-base-packages/docs/types/_open_pioneer_map.ProjectionDefinition.html +++ b/openlayers-base-packages/docs/types/_open_pioneer_map.ProjectionDefinition.html @@ -1 +1 @@ -ProjectionDefinition | Open Pioneer Trails Packages
        ProjectionDefinition: string | Proj4ProjectionDefinition
        +ProjectionDefinition | Open Pioneer Trails Packages
        ProjectionDefinition: string | Proj4ProjectionDefinition
        diff --git a/openlayers-base-packages/docs/types/_open_pioneer_map.Sublayer.html b/openlayers-base-packages/docs/types/_open_pioneer_map.Sublayer.html index 0b7a8e9d4..69bc62b43 100644 --- a/openlayers-base-packages/docs/types/_open_pioneer_map.Sublayer.html +++ b/openlayers-base-packages/docs/types/_open_pioneer_map.Sublayer.html @@ -1,2 +1,2 @@ Sublayer | Open Pioneer Trails Packages
        Sublayer: WMSSublayer

        Union type for all sublayers (extending SublayerBaseType

        -
        +
        diff --git a/openlayers-base-packages/docs/types/_open_pioneer_map.SublayerTypes.html b/openlayers-base-packages/docs/types/_open_pioneer_map.SublayerTypes.html index 467399f1c..e05366c2b 100644 --- a/openlayers-base-packages/docs/types/_open_pioneer_map.SublayerTypes.html +++ b/openlayers-base-packages/docs/types/_open_pioneer_map.SublayerTypes.html @@ -1 +1 @@ -SublayerTypes | Open Pioneer Trails Packages
        +SublayerTypes | Open Pioneer Trails Packages
        diff --git a/openlayers-base-packages/docs/types/_open_pioneer_map.UseMapModelResult.html b/openlayers-base-packages/docs/types/_open_pioneer_map.UseMapModelResult.html index a8761d6c7..0e91d953d 100644 --- a/openlayers-base-packages/docs/types/_open_pioneer_map.UseMapModelResult.html +++ b/openlayers-base-packages/docs/types/_open_pioneer_map.UseMapModelResult.html @@ -1,2 +1,2 @@ UseMapModelResult | Open Pioneer Trails Packages
        +
        diff --git a/openlayers-base-packages/docs/types/_open_pioneer_map_navigation.HistoryBackwardProps.html b/openlayers-base-packages/docs/types/_open_pioneer_map_navigation.HistoryBackwardProps.html index c42b790ff..b1c1f2317 100644 --- a/openlayers-base-packages/docs/types/_open_pioneer_map_navigation.HistoryBackwardProps.html +++ b/openlayers-base-packages/docs/types/_open_pioneer_map_navigation.HistoryBackwardProps.html @@ -1 +1 @@ -HistoryBackwardProps | Open Pioneer Trails Packages
        +HistoryBackwardProps | Open Pioneer Trails Packages
        diff --git a/openlayers-base-packages/docs/types/_open_pioneer_map_navigation.HistoryForwardProps.html b/openlayers-base-packages/docs/types/_open_pioneer_map_navigation.HistoryForwardProps.html index 4a2593055..9905b39f0 100644 --- a/openlayers-base-packages/docs/types/_open_pioneer_map_navigation.HistoryForwardProps.html +++ b/openlayers-base-packages/docs/types/_open_pioneer_map_navigation.HistoryForwardProps.html @@ -1 +1 @@ -HistoryForwardProps | Open Pioneer Trails Packages
        +HistoryForwardProps | Open Pioneer Trails Packages
        diff --git a/openlayers-base-packages/docs/types/_open_pioneer_map_navigation.ZoomInProps.html b/openlayers-base-packages/docs/types/_open_pioneer_map_navigation.ZoomInProps.html index 93b6cd51e..b3f1dfc98 100644 --- a/openlayers-base-packages/docs/types/_open_pioneer_map_navigation.ZoomInProps.html +++ b/openlayers-base-packages/docs/types/_open_pioneer_map_navigation.ZoomInProps.html @@ -1 +1 @@ -ZoomInProps | Open Pioneer Trails Packages
        +ZoomInProps | Open Pioneer Trails Packages
        diff --git a/openlayers-base-packages/docs/types/_open_pioneer_map_navigation.ZoomOutProps.html b/openlayers-base-packages/docs/types/_open_pioneer_map_navigation.ZoomOutProps.html index 2279948dc..ea7101033 100644 --- a/openlayers-base-packages/docs/types/_open_pioneer_map_navigation.ZoomOutProps.html +++ b/openlayers-base-packages/docs/types/_open_pioneer_map_navigation.ZoomOutProps.html @@ -1 +1 @@ -ZoomOutProps | Open Pioneer Trails Packages
        +ZoomOutProps | Open Pioneer Trails Packages
        diff --git a/openlayers-base-packages/docs/types/_open_pioneer_measurement.MeasurementGeometry.html b/openlayers-base-packages/docs/types/_open_pioneer_measurement.MeasurementGeometry.html index ac3b7243e..ec9e8448e 100644 --- a/openlayers-base-packages/docs/types/_open_pioneer_measurement.MeasurementGeometry.html +++ b/openlayers-base-packages/docs/types/_open_pioneer_measurement.MeasurementGeometry.html @@ -1,2 +1,2 @@ MeasurementGeometry | Open Pioneer Trails Packages
        MeasurementGeometry: LineString | Polygon

        Represents the geometry of a measurement.

        -
        +
        diff --git a/openlayers-base-packages/docs/types/_open_pioneer_measurement.MeasurementsChangeEvent.html b/openlayers-base-packages/docs/types/_open_pioneer_measurement.MeasurementsChangeEvent.html index 437906e98..fd48ba5f3 100644 --- a/openlayers-base-packages/docs/types/_open_pioneer_measurement.MeasurementsChangeEvent.html +++ b/openlayers-base-packages/docs/types/_open_pioneer_measurement.MeasurementsChangeEvent.html @@ -1,3 +1,3 @@ MeasurementsChangeEvent | Open Pioneer Trails Packages

        A change event emitted by Measurement when measurements change.

        NOTE: Non-exhaustive. More event types may be added in a future version.

        -
        +
        diff --git a/openlayers-base-packages/docs/types/_open_pioneer_ogc_features.OgcFetchStrategy.html b/openlayers-base-packages/docs/types/_open_pioneer_ogc_features.OgcFetchStrategy.html index ad38b033f..b1d8e8c6e 100644 --- a/openlayers-base-packages/docs/types/_open_pioneer_ogc_features.OgcFetchStrategy.html +++ b/openlayers-base-packages/docs/types/_open_pioneer_ogc_features.OgcFetchStrategy.html @@ -7,4 +7,4 @@ Each request fetches a page of results using an "offset" and "limit" parameter. This can be much faster than the "next" strategy, but it is not supported by all server implementations. -
        +
        diff --git a/openlayers-base-packages/docs/types/_open_pioneer_printing.ViewPaddingBehavior.html b/openlayers-base-packages/docs/types/_open_pioneer_printing.ViewPaddingBehavior.html index 31c7f51dc..1c40588c7 100644 --- a/openlayers-base-packages/docs/types/_open_pioneer_printing.ViewPaddingBehavior.html +++ b/openlayers-base-packages/docs/types/_open_pioneer_printing.ViewPaddingBehavior.html @@ -4,4 +4,4 @@ Padded regions of the map will not be included in the print result.
      • "ignore": Ignore the map's viewPadding. The entire map will be printed.
      • -
        +
        diff --git a/openlayers-base-packages/docs/types/_open_pioneer_result_list.SelectionMode.html b/openlayers-base-packages/docs/types/_open_pioneer_result_list.SelectionMode.html index 0d0335cd3..d2cbbb777 100644 --- a/openlayers-base-packages/docs/types/_open_pioneer_result_list.SelectionMode.html +++ b/openlayers-base-packages/docs/types/_open_pioneer_result_list.SelectionMode.html @@ -1,2 +1,2 @@ SelectionMode | Open Pioneer Trails Packages
        SelectionMode: "multi" | "single"

        Specifies whether it should be possible to select multiple or only single rows.

        -
        +
        diff --git a/openlayers-base-packages/docs/types/_open_pioneer_selection.SelectionKind.html b/openlayers-base-packages/docs/types/_open_pioneer_selection.SelectionKind.html index ed40f2d97..71b707581 100644 --- a/openlayers-base-packages/docs/types/_open_pioneer_selection.SelectionKind.html +++ b/openlayers-base-packages/docs/types/_open_pioneer_selection.SelectionKind.html @@ -3,4 +3,4 @@ may be added in the future.

        Selection sources should check the type and throw an error for unsupported selection kinds in order to remain forwards compatible.

        -
        +
        diff --git a/openlayers-base-packages/docs/types/_open_pioneer_selection.SelectionSourceStatus.html b/openlayers-base-packages/docs/types/_open_pioneer_selection.SelectionSourceStatus.html index aa899fa89..7fd6d39b8 100644 --- a/openlayers-base-packages/docs/types/_open_pioneer_selection.SelectionSourceStatus.html +++ b/openlayers-base-packages/docs/types/_open_pioneer_selection.SelectionSourceStatus.html @@ -1,3 +1,3 @@ SelectionSourceStatus | Open Pioneer Trails Packages
        SelectionSourceStatus: "available" | "unavailable" | SelectionSourceStatusObject

        The status of a selection source.

        This is used to indicate whether the source is ready for selection.

        -
        +
        diff --git a/openlayers-base-packages/docs/types/_open_pioneer_selection.SelectionSourceStatusObject.html b/openlayers-base-packages/docs/types/_open_pioneer_selection.SelectionSourceStatusObject.html index d6564d3ba..7e1d081e1 100644 --- a/openlayers-base-packages/docs/types/_open_pioneer_selection.SelectionSourceStatusObject.html +++ b/openlayers-base-packages/docs/types/_open_pioneer_selection.SelectionSourceStatusObject.html @@ -2,4 +2,4 @@

        Type declaration

        • kind: "unavailable"
        • Optionalreason?: string

          If the status of this source is unavailable, the reason for this can be stored here.

          This will be displayed by the user interface.

          If it is not defined, a default message will be displayed instead.

          -
        +
        diff --git a/openlayers-base-packages/docs/variables/_open_pioneer_map.GroupLayer-1.html b/openlayers-base-packages/docs/variables/_open_pioneer_map.GroupLayer-1.html index 38577dec2..92137a9ed 100644 --- a/openlayers-base-packages/docs/variables/_open_pioneer_map.GroupLayer-1.html +++ b/openlayers-base-packages/docs/variables/_open_pioneer_map.GroupLayer-1.html @@ -1 +1 @@ -GroupLayer | Open Pioneer Trails Packages
        +GroupLayer | Open Pioneer Trails Packages
        diff --git a/openlayers-base-packages/docs/variables/_open_pioneer_map.SimpleLayer-1.html b/openlayers-base-packages/docs/variables/_open_pioneer_map.SimpleLayer-1.html index 753ae94cc..c1bcb1b06 100644 --- a/openlayers-base-packages/docs/variables/_open_pioneer_map.SimpleLayer-1.html +++ b/openlayers-base-packages/docs/variables/_open_pioneer_map.SimpleLayer-1.html @@ -1 +1 @@ -SimpleLayer | Open Pioneer Trails Packages
        +SimpleLayer | Open Pioneer Trails Packages
        diff --git a/openlayers-base-packages/docs/variables/_open_pioneer_map.WMSLayer-1.html b/openlayers-base-packages/docs/variables/_open_pioneer_map.WMSLayer-1.html index 9f9c3caa4..c1a36ed8a 100644 --- a/openlayers-base-packages/docs/variables/_open_pioneer_map.WMSLayer-1.html +++ b/openlayers-base-packages/docs/variables/_open_pioneer_map.WMSLayer-1.html @@ -1 +1 @@ -WMSLayer | Open Pioneer Trails Packages
        +WMSLayer | Open Pioneer Trails Packages
        diff --git a/openlayers-base-packages/docs/variables/_open_pioneer_map.WMTSLayer-1.html b/openlayers-base-packages/docs/variables/_open_pioneer_map.WMTSLayer-1.html index c7fe180b8..d35b2d343 100644 --- a/openlayers-base-packages/docs/variables/_open_pioneer_map.WMTSLayer-1.html +++ b/openlayers-base-packages/docs/variables/_open_pioneer_map.WMTSLayer-1.html @@ -1 +1 @@ -WMTSLayer | Open Pioneer Trails Packages
        +WMTSLayer | Open Pioneer Trails Packages
        diff --git a/openlayers-base-packages/docs/variables/_open_pioneer_theme.theme.html b/openlayers-base-packages/docs/variables/_open_pioneer_theme.theme.html index dcd32ad26..62220d3ab 100644 --- a/openlayers-base-packages/docs/variables/_open_pioneer_theme.theme.html +++ b/openlayers-base-packages/docs/variables/_open_pioneer_theme.theme.html @@ -1 +1 @@ -theme | Open Pioneer Trails Packages
        theme: Record<string, any> = ...
        +theme | Open Pioneer Trails Packages
        theme: Record<string, any> = ...
        diff --git a/openlayers-base-packages/samples/experimental-sidebar/index.html b/openlayers-base-packages/samples/experimental-sidebar/index.html index 15f7070e4..7d7a43eab 100644 --- a/openlayers-base-packages/samples/experimental-sidebar/index.html +++ b/openlayers-base-packages/samples/experimental-sidebar/index.html @@ -16,7 +16,7 @@ max-height: 100%; } - + diff --git a/openlayers-base-packages/samples/map-sample/index.html b/openlayers-base-packages/samples/map-sample/index.html index 11e22fe70..d12a114ae 100644 --- a/openlayers-base-packages/samples/map-sample/index.html +++ b/openlayers-base-packages/samples/map-sample/index.html @@ -17,7 +17,7 @@ overflow: hidden; } - + @@ -34,12 +34,12 @@ - + - + diff --git a/openlayers-base-packages/samples/ogc-api-sample/index.html b/openlayers-base-packages/samples/ogc-api-sample/index.html index c0b3dbbb5..1806d6921 100644 --- a/openlayers-base-packages/samples/ogc-api-sample/index.html +++ b/openlayers-base-packages/samples/ogc-api-sample/index.html @@ -16,7 +16,7 @@ max-height: 100%; } - + diff --git a/openlayers-base-packages/samples/showcase/index.html b/openlayers-base-packages/samples/showcase/index.html index 9962cad29..451711428 100644 --- a/openlayers-base-packages/samples/showcase/index.html +++ b/openlayers-base-packages/samples/showcase/index.html @@ -17,7 +17,7 @@ overflow: hidden; } - + @@ -34,12 +34,12 @@ - + - + diff --git a/openlayers-base-packages/samples/test-printing-api/index.html b/openlayers-base-packages/samples/test-printing-api/index.html index e7fc3b621..d385a01ad 100644 --- a/openlayers-base-packages/samples/test-printing-api/index.html +++ b/openlayers-base-packages/samples/test-printing-api/index.html @@ -16,14 +16,14 @@ max-height: 100%; } - + - + diff --git a/openlayers-base-packages/samples/test-result-list/index.html b/openlayers-base-packages/samples/test-result-list/index.html index 49250de0a..8bbe7d7d4 100644 --- a/openlayers-base-packages/samples/test-result-list/index.html +++ b/openlayers-base-packages/samples/test-result-list/index.html @@ -16,7 +16,7 @@ max-height: 100%; } - + diff --git a/openlayers-base-packages/samples/test-toc/index.html b/openlayers-base-packages/samples/test-toc/index.html index 14c74b4ed..2d8a771c4 100644 --- a/openlayers-base-packages/samples/test-toc/index.html +++ b/openlayers-base-packages/samples/test-toc/index.html @@ -17,7 +17,7 @@ overflow: hidden; } - +