1"use strict";(self.webpackChunkkunstmaan_edition=self.webpackChunkkunstmaan_edition||[]).push([[6547],{6547:(e,t,i)=>{var o;i.d(t,{default:()=>r});var n=i(2891),s=i(3481);var a=class extends n.xI{constructor(...e){super(...e),this.markers=new Map,this.polygons=new Map,this.polylines=new Map,this.circles=new Map,this.rectangles=new Map,this.infoWindows=[],this.isConnected=!1}connect(){const e=this.hasExtraValue?this.extraValue:{},t={center:this.hasCenterValue?this.centerValue:null,zoom:this.hasZoomValue?this.zoomValue:null,minZoom:this.hasMinZoomValue?this.minZoomValue:null,maxZoom:this.hasMaxZoomValue?this.maxZoomValue:null,options:this.optionsValue,extra:e};this.dispatchEvent("pre-connect",t),this.createMarker=this.createDrawingFactory("marker",this.markers,this.doCreateMarker.bind(this)),this.createPolygon=this.createDrawingFactory("polygon",this.polygons,this.doCreatePolygon.bind(this)),this.createPolyline=this.createDrawingFactory("polyline",this.polylines,this.doCreatePolyline.bind(this)),this.createCircle=this.createDrawingFactory("circle",this.circles,this.doCreateCircle.bind(this)),this.createRectangle=this.createDrawingFactory("rectangle",this.rectangles,this.doCreateRectangle.bind(this)),this.map=this.doCreateMap({definition:t}),this.markersValue.forEach(e=>{this.createMarker({definition:e})}),this.polygonsValue.forEach(e=>{this.createPolygon({definition:e})}),this.polylinesValue.forEach(e=>{this.createPolyline({definition:e})}),this.circlesValue.forEach(e=>{this.createCircle({definition:e})}),this.rectanglesValue.forEach(e=>{this.createRectangle({definition:e})}),this.fitBoundsToMarkersValue&&this.doFitBoundsToMarkers(),this.dispatchEvent("connect",{map:this.map,markers:[...this.markers.values()],polygons:[...this.polygons.values()],polylines:[...this.polylines.values()],circles:[...this.circles.values()],rectangles:[...this.rectangles.values()],infoWindows:this.infoWindows,extra:e}),this.isConnected=!0}createInfoWindow({definition:e,element:t}){this.dispatchEvent("info-window:before-create",{definition:e,element:t});const i=this.doCreateInfoWindow({definition:e,element:t});return this.dispatchEvent("info-window:after-create",{infoWindow:i,definition:e,element:t}),this.infoWindows.push(i),i}markersValueChanged(){this.isConnected&&(this.onDrawChanged(this.markers,this.markersValue,this.createMarker,this.doRemoveMarker),this.fitBoundsToMarkersValue&&this.doFitBoundsToMarkers())}polygonsValueChanged(){this.isConnected&&this.onDrawChanged(this.polygons,this.polygonsValue,this.createPolygon,this.doRemovePolygon)}polylinesValueChanged(){this.isConnected&&this.onDrawChanged(this.polylines,this.polylinesValue,this.createPolyline,this.doRemovePolyline)}circlesValueChanged(){this.isConnected&&this.onDrawChanged(this.circles,this.circlesValue,this.createCircle,this.doRemoveCircle)}rectanglesValueChanged(){this.isConnected&&this.onDrawChanged(this.rectangles,this.rectanglesValue,this.createRectangle,this.doRemoveRectangle)}createDrawingFactory(e,t,i){const o=`${e}:before-create`,n=`${e}:after-create`;return({definition:s})=>{this.dispatchEvent(o,{definition:s}),void 0!==s.rawOptions&&console.warn(`[Symfony UX Map] The event "${o}" added a deprecated "rawOptions" property to the definition, it will be removed in a next major version, replace it with "bridgeOptions" instead.`,s);const a=i({definition:s});return this.dispatchEvent(n,{[e]:a,definition:s}),t.set(s["@id"],a),a}}onDrawChanged(e,t,i,o){const n=new Set(e.keys());t.forEach(e=>{n.delete(e["@id"])}),n.forEach(t=>{o(e.get(t)),e.delete(t)}),t.forEach(t=>{e.has(t["@id"])||i({definition:t})})}};a.values={providerOptions:Object,center:Object,zoom:Number,minZoom:Number,maxZoom:Number,fitBoundsToMarkers:Boolean,markers:Array,polygons:Array,polylines:Array,circles:Array,rectangles:Array,options:Object,extra:Object};var r=class extends a{connect(){s.Marker.prototype.options.icon=s.divIcon({html:'<svg xmlns="http://www.w3.org/2000/svg" xml:space="preserve" fill-rule="evenodd" stroke-linecap="round" clip-rule="evenodd" viewBox="0 0 500 820"><defs><linearGradient id="__sf_ux_map_gradient_marker_fill" x1="0" x2="1" y1="0" y2="0" gradientTransform="matrix(0 -37.57 37.57 0 416.45 541)" gradientUnits="userSpaceOnUse"><stop offset="0" stop-color="#126FC6"/><stop offset="1" stop-color="#4C9CD1"/></linearGradient><linearGradient id="__sf_ux_map_gradient_marker_border" x1="0" x2="1" y1="0" y2="0" gradientTransform="matrix(0 -19.05 19.05 0 414.48 522.49)" gradientUnits="userSpaceOnUse"><stop offset="0" stop-color="#2E6C97"/><stop offset="1" stop-color="#3883B7"/></linearGradient></defs><circle cx="252.31" cy="266.24" r="83.99" fill="#fff"/>
1<path fill="url(#__sf_ux_map_gradient_marker_fill)" stroke="url(#__sf_ux_map_gradient_marker_border)" stroke-width="1.1" d="M416.54 503.61c-6.57 0-12.04 5.7-12.04 11.87 0 2.78 1.56 6.3 2.7 8.74l9.3 17.88 9.26-17.88c1.13-2.43 2.74-5.79 2.74-8.74 0-6.18-5.38-11.87-11.96-11.87Zm0 7.16a4.69 4.69 0 1 1-.02 9.4 4.69 4.69 0 0 1 .02-9.4Z" transform="translate(-7889.1 -9807.44) scale(19.54)"/></svg>',iconSize:[25,41],iconAnchor:[12.5,41],popupAnchor:[0,-41],className:""}),super.connect()}centerValueChanged(){this.map&&this.hasCenterValue&&this.centerValue&&this.hasZoomValue&&this.zoomValue&&this.map.setView(this.centerValue,this.zoomValue)}zoomValueChanged(){this.map&&this.hasZoomValue&&this.zoomValue&&this.map.setZoom(this.zoomValue)}minZoomValueChanged(){this.map&&this.hasMinZoomValue&&this.minZoomValue&&this.map.setMinZoom(this.minZoomValue)}maxZoomValueChanged(){this.map&&this.hasMaxZoomValue&&this.maxZoomValue&&this.map.setMaxZoom(this.maxZoomValue)}dispatchEvent(e,t={}){t.L=o||(o=i.t(s,2)),this.dispatch(e,{prefix:"ux:map",detail:t})}doCreateMap({definition:e}){const{center:t,zoom:i,minZoom:o,maxZoom:n,options:a,bridgeOptions:r={}}=e,l=s.map(this.element,{center:null===t?void 0:t,zoom:null===i?void 0:i,minZoom:null===o?void 0:o,maxZoom:null===n?void 0:n,attributionControl:!1,zoomControl:!1,...a,...r});return a.tileLayer&&s.tileLayer(a.tileLayer.url,{attribution:a.tileLayer.attribution,...a.tileLayer.options}).addTo(l),void 0!==a.attributionControlOptions&&s.control.attribution({...a.attributionControlOptions}).addTo(l),void 0!==a.zoomControlOptions&&s.control.zoom({...a.zoomControlOptions}).addTo(l),l}doCreateMarker({definition:e}){const{"@id":t,position:i,title:o,infoWindow:n,icon:a,rawOptions:r={},bridgeOptions:l={}}=e,d=s.marker(i,{title:o||void 0,...r,...l,riseOnHover:!0}).addTo(this.map);return n&&this.createInfoWindow({definition:n,element:d}),a&&(Object.prototype.hasOwnProperty.call(l,"icon")?console.warn('[Symfony UX Map] Defining "bridgeOptions.icon" for a marker with a custom icon is not supported and will be ignored.'):Object.prototype.hasOwnProperty.call(r,"icon")&&console.warn('[Symfony UX Map] Defining "rawOptions.icon" for a marker with a custom icon is not supported and will be ignored.'),this.doCreateIcon({definition:a,element:d})),d}doRemoveMarker(e){e.remove()}doCreatePolygon({definition:e}){const{"@id":t,points:i,title:o,infoWindow:n,rawOptions:a={},bridgeOptions:r={}}=e,l=s.polygon(i,{...a,...r}).addTo(this.map);return o&&l.bindPopup(o),n&&this.createInfoWindow({definition:n,element:l}),l}doRemovePolygon(e){e.remove()}doCreatePolyline({definition:e}){const{"@id":t,points:i,title:o,infoWindow:n,rawOptions:a={},bridgeOptions:r={}}=e,l=s.polyline(i,{...a,...r}).addTo(this.map);return o&&l.bindPopup(o),n&&this.createInfoWindow({definition:n,element:l}),l}doRemovePolyline(e){e.remove()}doCreateCircle({definition:e}){const{"@id":t,center:i,radius:o,title:n,infoWindow:a,rawOptions:r={},bridgeOptions:l={}}=e,d=s.circle(i,{radius:o,...r,...l}).addTo(this.map);return n&&d.bindPopup(n),a&&this.createInfoWindow({definition:a,element:d}),d}doRemoveCircle(e){e.remove()}doCreateRectangle({definition:e}){const{"@id":t,southWest:i,northEast:o,title:n,infoWindow:a,rawOptions:r={},bridgeOptions:l={}}=e,d=s.rectangle([[i.lat,i.lng],[o.lat,o.lng]],{...r,...l}).addTo(this.map);return n&&d.bindPopup(n),a&&this.createInfoWindow({definition:a,element:d}),d}doRemoveRectangle(e){e.remove()}doCreateInfoWindow({definition:e,element:t}){const{headerContent:i,content:o,opened:n,autoClose:s,rawOptions:a={},bridgeOptions:r={}}=e;t.bindPopup([i,o].filter(e=>e).join("<br>"),{...a,...r}),n&&(s&&this.closePopups(),setTimeout(()=>t.openPopup(),0));const l=t.getPopup();if(!l)throw new Error("Unable to get the Popup associated with the element.");return l.on("click",()=>{s&&this.closePopups({except:l})}),l}doCreateIcon({definition:e,element:t}){const{type:i,width:o,height:n}=e;let a;if("svg"===i)a=s.divIcon({html:e.html,iconSize:[o,n],className:""});else if("ux-icon"===i)a=s.divIcon({html:e._generated_html,iconSize:[o,n],className:""});else{if("url"!==i)throw new Error(`Unsupported icon type: ${i}.`);a=s.icon({iconUrl:e.url,iconSize:[o,n],className:""})}t.setIcon(a)}
1doFitBoundsToMarkers(){if(0===this.markers.size)return;const e=[];this.markers.forEach(t=>{const i=t.getLatLng();e.push([i.lat,i.lng])}),this.map.fitBounds(e)}closePopups(e={}){this.infoWindows.forEach(t=>{e.except&&t===e.except||t.close()})}}}}]);
Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.