Update leaflet to 1.5.1

This commit is contained in:
Tom Hughes 2019-05-08 19:00:15 +01:00
parent 7d8cb70ccd
commit a6d5bc4a00
3 changed files with 178 additions and 83 deletions

View file

@ -11,13 +11,13 @@ folder 'vendor/assets' do
end end
folder 'leaflet' do folder 'leaflet' do
file 'leaflet.js', 'https://unpkg.com/leaflet@1.4.0/dist/leaflet-src.js' file 'leaflet.js', 'https://unpkg.com/leaflet@1.5.1/dist/leaflet-src.js'
file 'leaflet.css', 'https://unpkg.com/leaflet@1.4.0/dist/leaflet.css' file 'leaflet.css', 'https://unpkg.com/leaflet@1.5.1/dist/leaflet.css'
[ 'layers.png', 'layers-2x.png', [ 'layers.png', 'layers-2x.png',
'marker-icon.png', 'marker-icon-2x.png', 'marker-icon.png', 'marker-icon-2x.png',
'marker-shadow.png' ].each do |image| 'marker-shadow.png' ].each do |image|
file "images/#{image}", "https://unpkg.com/leaflet@1.4.0/dist/images/#{image}" file "images/#{image}", "https://unpkg.com/leaflet@1.5.1/dist/images/#{image}"
end end
from 'git://github.com/aratcliffe/Leaflet.contextmenu.git', :tag => 'v1.5.0' do from 'git://github.com/aratcliffe/Leaflet.contextmenu.git', :tag => 'v1.5.0' do

View file

@ -25,6 +25,10 @@
user-select: none; user-select: none;
-webkit-user-drag: none; -webkit-user-drag: none;
} }
/* Prevents IE11 from highlighting tiles in blue */
.leaflet-tile::selection {
background: transparent;
}
/* Safari renders non-retina tile on retina better with this, but Chrome is worse */ /* Safari renders non-retina tile on retina better with this, but Chrome is worse */
.leaflet-safari .leaflet-tile { .leaflet-safari .leaflet-tile {
image-rendering: -webkit-optimize-contrast; image-rendering: -webkit-optimize-contrast;
@ -237,7 +241,8 @@
.leaflet-marker-icon.leaflet-interactive, .leaflet-marker-icon.leaflet-interactive,
.leaflet-image-layer.leaflet-interactive, .leaflet-image-layer.leaflet-interactive,
.leaflet-pane > svg path.leaflet-interactive { .leaflet-pane > svg path.leaflet-interactive,
svg.leaflet-image-layer.leaflet-interactive path {
pointer-events: visiblePainted; /* IE 9-10 doesn't have auto */ pointer-events: visiblePainted; /* IE 9-10 doesn't have auto */
pointer-events: auto; pointer-events: auto;
} }

View file

@ -1,5 +1,5 @@
/* @preserve /* @preserve
* Leaflet 1.4.0, a JS library for interactive maps. http://leafletjs.com * Leaflet 1.5.1+build.2e3e0ff, a JS library for interactive maps. http://leafletjs.com
* (c) 2010-2018 Vladimir Agafonkin, (c) 2010-2011 CloudMade * (c) 2010-2018 Vladimir Agafonkin, (c) 2010-2011 CloudMade
*/ */
@ -9,7 +9,7 @@
(factory((global.L = {}))); (factory((global.L = {})));
}(this, (function (exports) { 'use strict'; }(this, (function (exports) { 'use strict';
var version = "1.4.0"; var version = "1.5.1+build.2e3e0ffb";
/* /*
* @namespace Util * @namespace Util
@ -127,8 +127,8 @@ function falseFn() { return false; }
// @function formatNum(num: Number, digits?: Number): Number // @function formatNum(num: Number, digits?: Number): Number
// Returns the number `num` rounded to `digits` decimals, or to 6 decimals by default. // Returns the number `num` rounded to `digits` decimals, or to 6 decimals by default.
function formatNum(num, digits) { function formatNum(num, digits) {
var pow = Math.pow(10, (digits === undefined ? 6 : digits)); digits = (digits === undefined ? 6 : digits);
return Math.round(num * pow) / pow; return +(Math.round(num + ('e+' + digits)) + ('e-' + digits));
} }
// @function trim(str: String): String // @function trim(str: String): String
@ -468,7 +468,7 @@ var Events = {
* *
* @alternative * @alternative
* @method off: this * @method off: this
* Removes all listeners to all events on the object. * Removes all listeners to all events on the object. This includes implicitly attached events.
*/ */
off: function (types, fn, context) { off: function (types, fn, context) {
@ -1648,9 +1648,11 @@ var Earth = extend({}, CRS, {
* a sphere. Used by the `EPSG:3857` CRS. * a sphere. Used by the `EPSG:3857` CRS.
*/ */
var earthRadius = 6378137;
var SphericalMercator = { var SphericalMercator = {
R: 6378137, R: earthRadius,
MAX_LATITUDE: 85.0511287798, MAX_LATITUDE: 85.0511287798,
project: function (latlng) { project: function (latlng) {
@ -1673,7 +1675,7 @@ var SphericalMercator = {
}, },
bounds: (function () { bounds: (function () {
var d = 6378137 * Math.PI; var d = earthRadius * Math.PI;
return new Bounds([-d, -d], [d, d]); return new Bounds([-d, -d], [d, d]);
})() })()
}; };
@ -2171,6 +2173,7 @@ function addDoubleTapListener(obj, handler, id) {
touch$$1 = newTouch; touch$$1 = newTouch;
} }
touch$$1.type = 'dblclick'; touch$$1.type = 'dblclick';
touch$$1.button = 0;
handler(touch$$1); handler(touch$$1);
last = null; last = null;
} }
@ -4308,9 +4311,15 @@ var Map = Evented.extend({
// this event. Also fired on mobile when the user holds a single touch // this event. Also fired on mobile when the user holds a single touch
// for a second (also called long press). // for a second (also called long press).
// @event keypress: KeyboardEvent // @event keypress: KeyboardEvent
// Fired when the user presses a key from the keyboard while the map is focused. // Fired when the user presses a key from the keyboard that produces a character value while the map is focused.
// @event keydown: KeyboardEvent
// Fired when the user presses a key from the keyboard while the map is focused. Unlike the `keypress` event,
// the `keydown` event is fired for keys that produce a character value and for keys
// that do not produce a character value.
// @event keyup: KeyboardEvent
// Fired when the user releases a key from the keyboard while the map is focused.
onOff(this._container, 'click dblclick mousedown mouseup ' + onOff(this._container, 'click dblclick mousedown mouseup ' +
'mouseover mouseout mousemove contextmenu keypress', this._handleDOMEvent, this); 'mouseover mouseout mousemove contextmenu keypress keydown keyup', this._handleDOMEvent, this);
if (this.options.trackResize) { if (this.options.trackResize) {
onOff(window, 'resize', this._onResize, this); onOff(window, 'resize', this._onResize, this);
@ -4374,7 +4383,7 @@ var Map = Evented.extend({
var type = e.type; var type = e.type;
if (type === 'mousedown' || type === 'keypress') { if (type === 'mousedown' || type === 'keypress' || type === 'keyup' || type === 'keydown') {
// prevents outline when clicking on keyboard-focusable element // prevents outline when clicking on keyboard-focusable element
preventOutline(e.target || e.srcElement); preventOutline(e.target || e.srcElement);
} }
@ -4413,7 +4422,7 @@ var Map = Evented.extend({
originalEvent: e originalEvent: e
}; };
if (e.type !== 'keypress') { if (e.type !== 'keypress' && e.type !== 'keydown' && e.type !== 'keyup') {
var isMarker = target.getLatLng && (!target._radius || target._radius <= 10); var isMarker = target.getLatLng && (!target._radius || target._radius <= 10);
data.containerPoint = isMarker ? data.containerPoint = isMarker ?
this.latLngToContainerPoint(target.getLatLng()) : this.mouseEventToContainerPoint(e); this.latLngToContainerPoint(target.getLatLng()) : this.mouseEventToContainerPoint(e);
@ -4666,7 +4675,7 @@ var Map = Evented.extend({
} }
// @event zoomanim: ZoomAnimEvent // @event zoomanim: ZoomAnimEvent
// Fired at least once per zoom animation. For continous zoom, like pinch zooming, fired once per frame during zoom. // Fired at least once per zoom animation. For continuous zoom, like pinch zooming, fired once per frame during zoom.
this.fire('zoomanim', { this.fire('zoomanim', {
center: center, center: center,
zoom: zoom, zoom: zoom,
@ -4784,6 +4793,8 @@ var Control = Class.extend({
corner.appendChild(container); corner.appendChild(container);
} }
this._map.on('unload', this.remove, this);
return this; return this;
}, },
@ -4800,6 +4811,7 @@ var Control = Class.extend({
this.onRemove(this._map); this.onRemove(this._map);
} }
this._map.off('unload', this.remove, this);
this._map = null; this._map = null;
return this; return this;
@ -5197,7 +5209,7 @@ var Layers = Control.extend({
input.className = 'leaflet-control-layers-selector'; input.className = 'leaflet-control-layers-selector';
input.defaultChecked = checked; input.defaultChecked = checked;
} else { } else {
input = this._createRadioElement('leaflet-base-layers', checked); input = this._createRadioElement('leaflet-base-layers_' + stamp(this), checked);
} }
this._layerControlInputs.push(input); this._layerControlInputs.push(input);
@ -5582,7 +5594,7 @@ var Attribution = Control.extend({
// @option prefix: String = 'Leaflet' // @option prefix: String = 'Leaflet'
// The HTML text shown before the attributions. Pass `false` to disable. // The HTML text shown before the attributions. Pass `false` to disable.
prefix: '<a href="http://leafletjs.com" title="A JS library for interactive maps">Leaflet</a>' prefix: '<a href="https://leafletjs.com" title="A JS library for interactive maps">Leaflet</a>'
}, },
initialize: function (options) { initialize: function (options) {
@ -6327,7 +6339,7 @@ var LonLat = {
* @namespace Projection * @namespace Projection
* @projection L.Projection.Mercator * @projection L.Projection.Mercator
* *
* Elliptical Mercator projection more complex than Spherical Mercator. Takes into account that Earth is a geoid, not a perfect sphere. Used by the EPSG:3395 CRS. * Elliptical Mercator projection more complex than Spherical Mercator. Assumes that Earth is an ellipsoid. Used by the EPSG:3395 CRS.
*/ */
var Mercator = { var Mercator = {
@ -6487,7 +6499,7 @@ CRS.Simple = Simple;
* @example * @example
* *
* ```js * ```js
* var layer = L.Marker(latlng).addTo(map); * var layer = L.marker(latlng).addTo(map);
* layer.addTo(map); * layer.addTo(map);
* layer.remove(); * layer.remove();
* ``` * ```
@ -7418,6 +7430,10 @@ var Marker = Layer.extend({
// `Map pane` where the markers icon will be added. // `Map pane` where the markers icon will be added.
pane: 'markerPane', pane: 'markerPane',
// @option pane: String = 'shadowPane'
// `Map pane` where the markers shadow will be added.
shadowPane: 'shadowPane',
// @option bubblingMouseEvents: Boolean = false // @option bubblingMouseEvents: Boolean = false
// When `true`, a mouse event on this marker will trigger the same event on the map // When `true`, a mouse event on this marker will trigger the same event on the map
// (unless [`L.DomEvent.stopPropagation`](#domevent-stoppropagation) is used). // (unless [`L.DomEvent.stopPropagation`](#domevent-stoppropagation) is used).
@ -7510,6 +7526,12 @@ var Marker = Layer.extend({
return this.update(); return this.update();
}, },
// @method getIcon: Icon
// Returns the current icon used by the marker
getIcon: function () {
return this.options.icon;
},
// @method setIcon(icon: Icon): this // @method setIcon(icon: Icon): this
// Changes the marker icon. // Changes the marker icon.
setIcon: function (icon) { setIcon: function (icon) {
@ -7605,7 +7627,7 @@ var Marker = Layer.extend({
} }
this._initInteraction(); this._initInteraction();
if (newShadow && addShadow) { if (newShadow && addShadow) {
this.getPane('shadowPane').appendChild(this._shadow); this.getPane(options.shadowPane).appendChild(this._shadow);
} }
}, },
@ -7689,7 +7711,9 @@ var Marker = Layer.extend({
_updateOpacity: function () { _updateOpacity: function () {
var opacity = this.options.opacity; var opacity = this.options.opacity;
setOpacity(this._icon, opacity); if (this._icon) {
setOpacity(this._icon, opacity);
}
if (this._shadow) { if (this._shadow) {
setOpacity(this._shadow, opacity); setOpacity(this._shadow, opacity);
@ -7826,6 +7850,9 @@ var Path = Layer.extend({
setOptions(this, style); setOptions(this, style);
if (this._renderer) { if (this._renderer) {
this._renderer._updateStyle(this); this._renderer._updateStyle(this);
if (this.options.stroke && style.hasOwnProperty('weight')) {
this._updateBounds();
}
} }
return this; return this;
}, },
@ -8267,14 +8294,19 @@ var Polyline = Path.extend({
this._rings = []; this._rings = [];
this._projectLatlngs(this._latlngs, this._rings, pxBounds); this._projectLatlngs(this._latlngs, this._rings, pxBounds);
if (this._bounds.isValid() && pxBounds.isValid()) {
this._rawPxBounds = pxBounds;
this._updateBounds();
}
},
_updateBounds: function () {
var w = this._clickTolerance(), var w = this._clickTolerance(),
p = new Point(w, w); p = new Point(w, w);
this._pxBounds = new Bounds([
if (this._bounds.isValid() && pxBounds.isValid()) { this._rawPxBounds.min.subtract(p),
pxBounds.min._subtract(p); this._rawPxBounds.max.add(p)
pxBounds.max._add(p); ]);
this._pxBounds = pxBounds;
}
}, },
// recursively turns latlngs into a set of rings with projected coordinates // recursively turns latlngs into a set of rings with projected coordinates
@ -8704,10 +8736,10 @@ var GeoJSON = FeatureGroup.extend({
}, },
_setLayerStyle: function (layer, style) { _setLayerStyle: function (layer, style) {
if (typeof style === 'function') {
style = style(layer.feature);
}
if (layer.setStyle) { if (layer.setStyle) {
if (typeof style === 'function') {
style = style(layer.feature);
}
layer.setStyle(style); layer.setStyle(style);
} }
} }
@ -8857,19 +8889,25 @@ var PointToGeoJSON = {
}; };
// @namespace Marker // @namespace Marker
// @method toGeoJSON(): Object // @method toGeoJSON(precision?: Number): Object
// `precision` is the number of decimal places for coordinates.
// The default value is 6 places.
// Returns a [`GeoJSON`](http://en.wikipedia.org/wiki/GeoJSON) representation of the marker (as a GeoJSON `Point` Feature). // Returns a [`GeoJSON`](http://en.wikipedia.org/wiki/GeoJSON) representation of the marker (as a GeoJSON `Point` Feature).
Marker.include(PointToGeoJSON); Marker.include(PointToGeoJSON);
// @namespace CircleMarker // @namespace CircleMarker
// @method toGeoJSON(): Object // @method toGeoJSON(precision?: Number): Object
// `precision` is the number of decimal places for coordinates.
// The default value is 6 places.
// Returns a [`GeoJSON`](http://en.wikipedia.org/wiki/GeoJSON) representation of the circle marker (as a GeoJSON `Point` Feature). // Returns a [`GeoJSON`](http://en.wikipedia.org/wiki/GeoJSON) representation of the circle marker (as a GeoJSON `Point` Feature).
Circle.include(PointToGeoJSON); Circle.include(PointToGeoJSON);
CircleMarker.include(PointToGeoJSON); CircleMarker.include(PointToGeoJSON);
// @namespace Polyline // @namespace Polyline
// @method toGeoJSON(): Object // @method toGeoJSON(precision?: Number): Object
// `precision` is the number of decimal places for coordinates.
// The default value is 6 places.
// Returns a [`GeoJSON`](http://en.wikipedia.org/wiki/GeoJSON) representation of the polyline (as a GeoJSON `LineString` or `MultiLineString` Feature). // Returns a [`GeoJSON`](http://en.wikipedia.org/wiki/GeoJSON) representation of the polyline (as a GeoJSON `LineString` or `MultiLineString` Feature).
Polyline.include({ Polyline.include({
toGeoJSON: function (precision) { toGeoJSON: function (precision) {
@ -8885,7 +8923,9 @@ Polyline.include({
}); });
// @namespace Polygon // @namespace Polygon
// @method toGeoJSON(): Object // @method toGeoJSON(precision?: Number): Object
// `precision` is the number of decimal places for coordinates.
// The default value is 6 places.
// Returns a [`GeoJSON`](http://en.wikipedia.org/wiki/GeoJSON) representation of the polygon (as a GeoJSON `Polygon` or `MultiPolygon` Feature). // Returns a [`GeoJSON`](http://en.wikipedia.org/wiki/GeoJSON) representation of the polygon (as a GeoJSON `Polygon` or `MultiPolygon` Feature).
Polygon.include({ Polygon.include({
toGeoJSON: function (precision) { toGeoJSON: function (precision) {
@ -8921,7 +8961,9 @@ LayerGroup.include({
}); });
}, },
// @method toGeoJSON(): Object // @method toGeoJSON(precision?: Number): Object
// `precision` is the number of decimal places for coordinates.
// The default value is 6 places.
// Returns a [`GeoJSON`](http://en.wikipedia.org/wiki/GeoJSON) representation of the layer group (as a GeoJSON `FeatureCollection`, `GeometryCollection`, or `MultiPoint`). // Returns a [`GeoJSON`](http://en.wikipedia.org/wiki/GeoJSON) representation of the layer group (as a GeoJSON `FeatureCollection`, `GeometryCollection`, or `MultiPoint`).
toGeoJSON: function (precision) { toGeoJSON: function (precision) {
@ -9266,7 +9308,12 @@ var VideoOverlay = ImageOverlay.extend({
// @option loop: Boolean = true // @option loop: Boolean = true
// Whether the video will loop back to the beginning when played. // Whether the video will loop back to the beginning when played.
loop: true loop: true,
// @option keepAspectRatio: Boolean = true
// Whether the video will save aspect ratio after the projection.
// Relevant for supported browsers. Browser compatibility- https://developer.mozilla.org/en-US/docs/Web/CSS/object-fit
keepAspectRatio: true
}, },
_initImage: function () { _initImage: function () {
@ -9296,6 +9343,7 @@ var VideoOverlay = ImageOverlay.extend({
if (!isArray(this._url)) { this._url = [this._url]; } if (!isArray(this._url)) { this._url = [this._url]; }
if (!this.options.keepAspectRatio && vid.style.hasOwnProperty('objectFit')) { vid.style['objectFit'] = 'fill'; }
vid.autoplay = !!this.options.autoplay; vid.autoplay = !!this.options.autoplay;
vid.loop = !!this.options.loop; vid.loop = !!this.options.loop;
for (var i = 0; i < this._url.length; i++) { for (var i = 0; i < this._url.length; i++) {
@ -9319,6 +9367,49 @@ function videoOverlay(video, bounds, options) {
return new VideoOverlay(video, bounds, options); return new VideoOverlay(video, bounds, options);
} }
/*
* @class SVGOverlay
* @aka L.SVGOverlay
* @inherits ImageOverlay
*
* Used to load, display and provide DOM access to an SVG file over specific bounds of the map. Extends `ImageOverlay`.
*
* An SVG overlay uses the [`<svg>`](https://developer.mozilla.org/docs/Web/SVG/Element/svg) element.
*
* @example
*
* ```js
* var element = '<svg width="200" height="200" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink"><image xlink:href="https://mdn.mozillademos.org/files/6457/mdn_logo_only_color.png" height="200" width="200"/></svg>',
* elementBounds = [ [ 32, -130 ], [ 13, -100 ] ];
* L.svgOverlay(element, elementBounds).addTo(map);
* ```
*/
var SVGOverlay = ImageOverlay.extend({
_initImage: function () {
var el = this._image = this._url;
addClass(el, 'leaflet-image-layer');
if (this._zoomAnimated) { addClass(el, 'leaflet-zoom-animated'); }
el.onselectstart = falseFn;
el.onmousemove = falseFn;
}
// @method getElement(): SVGElement
// Returns the instance of [`SVGElement`](https://developer.mozilla.org/docs/Web/API/SVGElement)
// used by this overlay.
});
// @factory L.svgOverlay(svg: String|SVGElement, bounds: LatLngBounds, options?: SVGOverlay options)
// Instantiates an image overlay object given an SVG element and the geographical bounds it is tied to.
// A viewBox attribute is required on the SVG element to zoom in and out properly.
function svgOverlay(el, bounds, options) {
return new SVGOverlay(el, bounds, options);
}
/* /*
* @class DivOverlay * @class DivOverlay
* @inherits Layer * @inherits Layer
@ -9473,6 +9564,38 @@ var DivOverlay = Layer.extend({
return this; return this;
}, },
_prepareOpen: function (parent, layer, latlng) {
if (!(layer instanceof Layer)) {
latlng = layer;
layer = parent;
}
if (layer instanceof FeatureGroup) {
for (var id in parent._layers) {
layer = parent._layers[id];
break;
}
}
if (!latlng) {
if (layer.getCenter) {
latlng = layer.getCenter();
} else if (layer.getLatLng) {
latlng = layer.getLatLng();
} else {
throw new Error('Unable to get source layer LatLng.');
}
}
// set overlay source to this layer
this._source = layer;
// update the overlay (content, layout, ect...)
this.update();
return latlng;
},
_updateContent: function () { _updateContent: function () {
if (!this._content) { return; } if (!this._content) { return; }
@ -9927,28 +10050,8 @@ Layer.include({
// @method openPopup(latlng?: LatLng): this // @method openPopup(latlng?: LatLng): this
// Opens the bound popup at the specified `latlng` or at the default popup anchor if no `latlng` is passed. // Opens the bound popup at the specified `latlng` or at the default popup anchor if no `latlng` is passed.
openPopup: function (layer, latlng) { openPopup: function (layer, latlng) {
if (!(layer instanceof Layer)) {
latlng = layer;
layer = this;
}
if (layer instanceof FeatureGroup) {
for (var id in this._layers) {
layer = this._layers[id];
break;
}
}
if (!latlng) {
latlng = layer.getCenter ? layer.getCenter() : layer.getLatLng();
}
if (this._popup && this._map) { if (this._popup && this._map) {
// set popup source to this layer latlng = this._popup._prepareOpen(this, layer, latlng);
this._popup._source = layer;
// update the popup (content, layout, ect...)
this._popup.update();
// open the popup on the map // open the popup on the map
this._map.openPopup(this._popup, latlng); this._map.openPopup(this._popup, latlng);
@ -10345,29 +10448,8 @@ Layer.include({
// @method openTooltip(latlng?: LatLng): this // @method openTooltip(latlng?: LatLng): this
// Opens the bound tooltip at the specified `latlng` or at the default tooltip anchor if no `latlng` is passed. // Opens the bound tooltip at the specified `latlng` or at the default tooltip anchor if no `latlng` is passed.
openTooltip: function (layer, latlng) { openTooltip: function (layer, latlng) {
if (!(layer instanceof Layer)) {
latlng = layer;
layer = this;
}
if (layer instanceof FeatureGroup) {
for (var id in this._layers) {
layer = this._layers[id];
break;
}
}
if (!latlng) {
latlng = layer.getCenter ? layer.getCenter() : layer.getLatLng();
}
if (this._tooltip && this._map) { if (this._tooltip && this._map) {
latlng = this._tooltip._prepareOpen(this, layer, latlng);
// set tooltip source to this layer
this._tooltip._source = layer;
// update the tooltip (content, layout, ect...)
this._tooltip.update();
// open the tooltip on the map // open the tooltip on the map
this._map.openTooltip(this._tooltip, latlng); this._map.openTooltip(this._tooltip, latlng);
@ -10478,8 +10560,9 @@ var DivIcon = Icon.extend({
// iconAnchor: (Point), // iconAnchor: (Point),
// popupAnchor: (Point), // popupAnchor: (Point),
// @option html: String = '' // @option html: String|HTMLElement = ''
// Custom HTML code to put inside the div element, empty by default. // Custom HTML code to put inside the div element, empty by default. Alternatively,
// an instance of `HTMLElement`.
html: false, html: false,
// @option bgPos: Point = [0, 0] // @option bgPos: Point = [0, 0]
@ -10493,7 +10576,12 @@ var DivIcon = Icon.extend({
var div = (oldIcon && oldIcon.tagName === 'DIV') ? oldIcon : document.createElement('div'), var div = (oldIcon && oldIcon.tagName === 'DIV') ? oldIcon : document.createElement('div'),
options = this.options; options = this.options;
div.innerHTML = options.html !== false ? options.html : ''; if (options.html instanceof Element) {
empty(div);
div.appendChild(options.html);
} else {
div.innerHTML = options.html !== false ? options.html : '';
}
if (options.bgPos) { if (options.bgPos) {
var bgPos = toPoint(options.bgPos); var bgPos = toPoint(options.bgPos);
@ -13883,6 +13971,8 @@ exports.ImageOverlay = ImageOverlay;
exports.imageOverlay = imageOverlay; exports.imageOverlay = imageOverlay;
exports.VideoOverlay = VideoOverlay; exports.VideoOverlay = VideoOverlay;
exports.videoOverlay = videoOverlay; exports.videoOverlay = videoOverlay;
exports.SVGOverlay = SVGOverlay;
exports.svgOverlay = svgOverlay;
exports.DivOverlay = DivOverlay; exports.DivOverlay = DivOverlay;
exports.Popup = Popup; exports.Popup = Popup;
exports.popup = popup; exports.popup = popup;