leaflet-html 0.1.6 → 0.2.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.github/workflows/npm-publish.yml +13 -1
- package/README.md +62 -35
- package/dist/leaflet-html.cjs +2 -0
- package/dist/leaflet-html.cjs.map +1 -0
- package/dist/leaflet-html.esm.js +2 -0
- package/dist/leaflet-html.esm.js.map +1 -0
- package/dist/leaflet-html.js +2 -0
- package/dist/leaflet-html.js.map +1 -0
- package/dist/leaflet-html.umd.js +2 -0
- package/dist/leaflet-html.umd.js.map +1 -0
- package/docs/content/_index.md +60 -62
- package/docs/templates/index.html +23 -19
- package/example/geojson/index.html +42 -0
- package/example/index.html +58 -50
- package/example/overlays/index.html +34 -35
- package/package.json +2 -2
- package/src/events.js +3 -0
- package/src/index.js +25 -184
- package/src/l-base-layers.js +16 -0
- package/src/l-control-layers.js +34 -0
- package/src/l-geojson.js +20 -0
- package/src/l-image-overlay.js +41 -0
- package/src/l-lat-lng-bounds.js +20 -0
- package/src/l-layer-group.js +39 -0
- package/src/l-map.js +33 -0
- package/src/l-marker.js +45 -0
- package/src/l-overlay-layers.js +15 -0
- package/src/l-popup.js +23 -0
- package/src/l-tile-layer.js +19 -0
- package/src/l-video-overlay.js +30 -0
@@ -9,7 +9,19 @@ jobs:
|
|
9
9
|
runs-on: ubuntu-latest
|
10
10
|
steps:
|
11
11
|
- name: Checkout repository
|
12
|
-
uses: actions/checkout@
|
12
|
+
uses: actions/checkout@v4
|
13
|
+
- name: Set Node.js
|
14
|
+
uses: actions/setup-node@v4
|
15
|
+
with:
|
16
|
+
node-version: 21
|
17
|
+
- name: Install
|
18
|
+
uses: borales/actions-yarn@v4
|
19
|
+
with:
|
20
|
+
cmd: install
|
21
|
+
- name: Build
|
22
|
+
uses: borales/actions-yarn@v4
|
23
|
+
with:
|
24
|
+
cmd: build
|
13
25
|
- name: Publish if version has been updated
|
14
26
|
uses: pascalgn/npm-publish-action@1.3.9
|
15
27
|
with:
|
package/README.md
CHANGED
@@ -8,6 +8,34 @@ Fine grained reactive frameworks such as [Solid JS](https://solidjs.com) or [Van
|
|
8
8
|
|
9
9
|
RESTful frameworks, like [HTMX](Https://htmx.org), that serve HTML over the wire are perfect choices for server rendered content.
|
10
10
|
|
11
|
+
## Usage
|
12
|
+
|
13
|
+
Include both Leaflet and Leaflet HTML in script tags in the head of the document.
|
14
|
+
|
15
|
+
```html
|
16
|
+
<link
|
17
|
+
rel="stylesheet"
|
18
|
+
href="https://unpkg.com/leaflet@1.9.4/dist/leaflet.css"
|
19
|
+
integrity="sha256-p4NxAoJBhIIN+hmNHrzRCf9tD/miZyoHS5obTRR9BMY="
|
20
|
+
crossorigin=""
|
21
|
+
/>
|
22
|
+
<script
|
23
|
+
src="https://unpkg.com/leaflet@1.9.4/dist/leaflet.js"
|
24
|
+
integrity="sha256-20nQCchB9co0qIjJZRGuk2/Z9VM+kNiyxNV1lvTlZBo="
|
25
|
+
crossorigin=""
|
26
|
+
></script>
|
27
|
+
<script src="https://unpkg.com/leaflet-html@latest/leaflet-html.umd.js"></script>
|
28
|
+
```
|
29
|
+
|
30
|
+
And remember to style the various map container elements with enough size to be visible.
|
31
|
+
|
32
|
+
```css
|
33
|
+
l-map {
|
34
|
+
display: block;
|
35
|
+
block-size: 100vh;
|
36
|
+
}
|
37
|
+
```
|
38
|
+
|
11
39
|
## Example
|
12
40
|
|
13
41
|
The HTML in `example/index.html` is a simple demonstration of the API.
|
@@ -16,41 +44,40 @@ The HTML in `example/index.html` is a simple demonstration of the API.
|
|
16
44
|
|
17
45
|
```html
|
18
46
|
<!-- Note: Leaflet JS/CSS must be included in <head> and [data-leaflet-html] styled to an appropriate size. -->
|
19
|
-
<
|
20
|
-
<
|
21
|
-
<
|
22
|
-
<
|
23
|
-
|
24
|
-
|
25
|
-
|
26
|
-
|
27
|
-
></
|
28
|
-
<
|
29
|
-
|
30
|
-
|
31
|
-
|
32
|
-
|
33
|
-
|
34
|
-
|
35
|
-
|
36
|
-
|
37
|
-
|
38
|
-
|
39
|
-
|
40
|
-
|
41
|
-
|
42
|
-
|
43
|
-
|
44
|
-
|
45
|
-
|
46
|
-
|
47
|
-
|
48
|
-
|
49
|
-
|
50
|
-
|
51
|
-
|
52
|
-
|
53
|
-
</div>
|
47
|
+
<l-map center="[39.61, -105.02]" zoom="10">
|
48
|
+
<l-control-layers>
|
49
|
+
<l-base-layers>
|
50
|
+
<l-tile-layer
|
51
|
+
name="OpenStreetMap"
|
52
|
+
url-template="https://tile.openstreetmap.org/{z}/{x}/{y}.png"
|
53
|
+
attribution='© <a href="http://www.openstreetmap.org/copyright">OpenStreetMap</a>'
|
54
|
+
max-zoom="12"
|
55
|
+
></l-tile-layer>
|
56
|
+
<l-tile-layer
|
57
|
+
name="Toner"
|
58
|
+
url-template="https://tiles.stadiamaps.com/tiles/stamen_toner/{z}/{x}/{y}{r}.png"
|
59
|
+
attribution=''
|
60
|
+
max-zoom="12"
|
61
|
+
></l-tile-layer>
|
62
|
+
</l-base-layers>
|
63
|
+
<l-overlay-layers>
|
64
|
+
<l-layer-group name="Cities">
|
65
|
+
<l-marker lat-lng="[39.61, -105.02]">
|
66
|
+
<l-popup content="This is Littleton, CO."></l-popup>
|
67
|
+
</l-marker>
|
68
|
+
<l-marker lat-lng="[39.74, -104.99]">
|
69
|
+
<l-popup content="This is Denver, CO."></l-popup>
|
70
|
+
</l-marker>
|
71
|
+
<l-marker lat-lng="[39.73, -104.8]">
|
72
|
+
<l-popup content="This is Aurora, CO."></l-popup>
|
73
|
+
</l-marker>
|
74
|
+
<l-marker lat-lng="[39.77, -105.23]">
|
75
|
+
<l-popup content="This is Golden, CO."></l-popup>
|
76
|
+
</l-marker>
|
77
|
+
</l-layer-group>
|
78
|
+
</l-overlay-layers>
|
79
|
+
</l-control-layers>
|
80
|
+
</l-map>
|
54
81
|
```
|
55
82
|
|
56
83
|
## Build
|
@@ -0,0 +1,2 @@
|
|
1
|
+
function t(){try{var e=!Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){}))}catch(e){}return(t=function(){return!!e})()}function e(t,e){t.prototype=Object.create(e.prototype),t.prototype.constructor=t,r(t,e)}function n(t){return n=Object.setPrototypeOf?Object.getPrototypeOf.bind():function(t){return t.__proto__||Object.getPrototypeOf(t)},n(t)}function r(t,e){return r=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(t,e){return t.__proto__=e,t},r(t,e)}function a(e){var i="function"==typeof Map?new Map:void 0;return a=function(e){if(null===e||!function(t){try{return-1!==Function.toString.call(t).indexOf("[native code]")}catch(e){return"function"==typeof t}}(e))return e;if("function"!=typeof e)throw new TypeError("Super expression must either be null or a function");if(void 0!==i){if(i.has(e))return i.get(e);i.set(e,a)}function a(){return function(e,n,a){if(t())return Reflect.construct.apply(null,arguments);var i=[null];i.push.apply(i,n);var o=new(e.bind.apply(e,i));return a&&r(o,a.prototype),o}(e,arguments,n(this).constructor)}return a.prototype=Object.create(e.prototype,{constructor:{value:a,enumerable:!1,writable:!0,configurable:!0}}),r(a,e)},a(e)}var i="map:addTo",o="popup:add",l=/*#__PURE__*/function(t){function n(){return t.call(this)||this}return e(n,t),n.prototype.connectedCallback=function(){this.addEventListener(i,function(t){t.detail.type="base"})},n}(/*#__PURE__*/a(HTMLElement)),u=/*#__PURE__*/function(t){function n(){return t.call(this)||this}return e(n,t),n.prototype.connectedCallback=function(){var t=L.control.layers({},{});this.addEventListener(i,function(e){var n=e.detail,r=n.type,a=n.name,i=n.layer;"overlay"===r?t.addOverlay(i,a):"base"===r&&t.addBaseLayer(i,a),e.preventDefault()});var e=new CustomEvent(i,{cancelable:!0,bubbles:!0,detail:{layer:t}});this.dispatchEvent(e)},n}(/*#__PURE__*/a(HTMLElement)),s=/*#__PURE__*/function(t){function n(){return t.call(this)||this}return e(n,t),n.prototype.connectedCallback=function(){var t=this.getAttribute("name"),e=L.layerGroup(),n=new CustomEvent(i,{cancelable:!0,bubbles:!0,detail:{layer:e,name:t}});this.dispatchEvent(n),this.addEventListener(i,function(t){t.stopPropagation(),e.addLayer(t.detail.layer)}),new MutationObserver(function(t){t.forEach(function(t){t.removedNodes.forEach(function(t){var n=t.getAttribute("leaflet-id"),r=e.getLayer(n);e.removeLayer(r)})})}).observe(this,{childList:!0})},n}(/*#__PURE__*/a(HTMLElement)),c=/*#__PURE__*/function(t){function n(){var e;return(e=t.call(this)||this).map=null,e.addEventListener("map:bounds",function(t){var n=t.detail;e.map[n.method](n.bounds)}),e}return e(n,t),n.prototype.connectedCallback=function(){var t=this;this.map=L.map(this);var e=this.getAttribute("center"),n=this.getAttribute("zoom");null!==e&&null!==n&&this.map.setView(JSON.parse(e),parseInt(n)),this.addEventListener(i,function(e){e.detail.layer.addTo(t.map)}),this.addEventListener("layer:remove",function(e){t.map.remove(e.detail.layer)})},n}(/*#__PURE__*/a(HTMLElement)),p=/*#__PURE__*/function(t){function n(){var e;return(e=t.call(this)||this).layer=null,e}e(n,t);var r=n.prototype;return r.connectedCallback=function(){var t=this,e=JSON.parse(this.getAttribute("lat-lng")),n=parseFloat(this.getAttribute("opacity")||"1.0");this.layer=L.marker(e,{opacity:n}),this.setAttribute("leaflet-id",L.stamp(this.layer)),this.addEventListener(o,function(e){t.layer.bindPopup(e.detail.content)});var r=new CustomEvent(i,{cancelable:!0,bubbles:!0,detail:{layer:this.layer}});this.dispatchEvent(r)},r.attributeChangedCallback=function(t,e,n){null!==this.layer&&("lat-lng"===t&&this.layer.setLatLng(JSON.parse(n)),"opacity"===t&&this.layer.setOpacity(parseFloat(n)))},n}(/*#__PURE__*/a(HTMLElement));p.observedAttributes=["lat-lng","opacity"];var d=/*#__PURE__*/function(t){function n(){return t.call(this)||this}return e(n,t),n.prototype.connectedCallback=function(){this.addEventListener(i,function(t){t.detail.type="overlay"})},n}(/*#__PURE__*/a(HTMLElement)),b=/*#__PURE__*/function(t){function n(){return t.call(this)||this}return e(n,t),n.prototype.connectedCallback=function(){var t=this.getAttribute("content"),e=new CustomEvent(o,{cancelable:!0,bubbles:!0,detail:{content:t}});this.dispatchEvent(e)},n}(/*#__PURE__*/a(HTMLElement)),h=/*#__PURE__*/function(t){function n(){return t.call(this)||this}return e(n,t),n.prototype.connectedCallback=function(){var t=this.getAttribute("name"),e=this.getAttribute("url-template"),n=this.getAttribute("attribution"),r=L.tileLayer(e,{attribution:n}),a=new CustomEvent(i,{detail:{name:t,layer:r},bubbles:!0});this.dispatchEvent(a)},n}(/*#__PURE__*/a(HTMLElement)),f=/*#__PURE__*/function(t){function n(){return t.call(this)||this}return e(n,t),n.prototype.attributeChangedCallback=function(t,e,n){var r=new CustomEvent("map:bounds",{bubbles:!0,detail:{bounds:JSON.parse(n),method:this.getAttribute("method")||"fitBounds"}});this.dispatchEvent(r)},n}(/*#__PURE__*/a(HTMLElement));f.observedAttributes=["bounds"];var y=/*#__PURE__*/function(t){function n(){var e;return(e=t.call(this)||this).layer=null,e}e(n,t);var r=n.prototype;return r.connectedCallback=function(){var t=this.getAttribute("url"),e=JSON.parse(this.getAttribute("bounds")),n={opacity:parseFloat(this.getAttribute("opacity")||"1.0"),alt:this.getAttribute("alt")||""};this.layer=L.imageOverlay(t,e,n),this.dispatchEvent(new CustomEvent(i,{cancelable:!0,bubbles:!0,detail:{layer:this.layer}}))},r.attributeChangedCallback=function(t,e,n){null!==this.layer&&("url"===t?this.layer.setUrl(n):"bounds"===t?this.layer.setBounds(JSON.parse(n)):"opacity"===t&&this.layer.setOpacity(parseFloat(n)))},n}(/*#__PURE__*/a(HTMLElement));y.observedAttributes=["url","bounds","opacity"];var v=/*#__PURE__*/function(t){function n(){return t.call(this)||this}return e(n,t),n.prototype.connectedCallback=function(){var t=JSON.parse(this.getAttribute("url")),e=JSON.parse(this.getAttribute("bounds")),n={opacity:parseFloat(this.getAttribute("opacity")||"1.0"),alt:this.getAttribute("alt")||"",autoplay:!0,muted:!0,playsInline:!0},r=L.videoOverlay(t,e,n);this.dispatchEvent(new CustomEvent(i,{cancelable:!0,bubbles:!0,detail:{layer:r}}))},n}(/*#__PURE__*/a(HTMLElement)),m=/*#__PURE__*/function(t){function n(){return t.call(this)||this}return e(n,t),n.prototype.connectedCallback=function(){var t=L.geoJSON(JSON.parse(this.getAttribute("geojson")));this.dispatchEvent(new CustomEvent(i,{bubbles:!0,cancelable:!0,detail:{layer:t}}))},n}(/*#__PURE__*/a(HTMLElement)),E=(customElements.define("l-map",c),customElements.define("l-control-layers",u),customElements.define("l-base-layers",l),customElements.define("l-overlay-layers",d),customElements.define("l-layer-group",s),customElements.define("l-tile-layer",h),customElements.define("l-marker",p),customElements.define("l-popup",b),customElements.define("l-lat-lng-bounds",f),customElements.define("l-image-overlay",y),customElements.define("l-video-overlay",v),void customElements.define("l-geojson",m));module.exports=E;
|
2
|
+
//# sourceMappingURL=leaflet-html.cjs.map
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"leaflet-html.cjs","sources":["../src/events.js","../src/l-base-layers.js","../src/l-control-layers.js","../src/l-layer-group.js","../src/l-map.js","../src/l-marker.js","../src/l-overlay-layers.js","../src/l-popup.js","../src/l-tile-layer.js","../src/l-lat-lng-bounds.js","../src/l-image-overlay.js","../src/l-video-overlay.js","../src/l-geojson.js","../src/index.js"],"sourcesContent":["export const mapAddTo = \"map:addTo\"\nexport const popupAdd = \"popup:add\"\nexport const layerRemove = \"layer:remove\"\n","import { mapAddTo } from \"./events.js\"\n\nclass LBaseLayers extends HTMLElement {\n constructor() {\n super()\n }\n \n connectedCallback() {\n this.addEventListener(mapAddTo, (ev) => {\n ev.detail[\"type\"] = \"base\"\n })\n }\n}\n\nexport default LBaseLayers\n\n","import { mapAddTo } from \"./events.js\"\n\nclass LControlLayers extends HTMLElement {\n constructor() {\n super()\n }\n \n connectedCallback() {\n const base = {}\n const overlay = {}\n const control = L.control.layers(base, overlay)\n\n this.addEventListener(mapAddTo, (ev) => {\n const { type, name, layer } = ev.detail\n if (type === \"overlay\") {\n control.addOverlay(layer, name)\n } else if (type === \"base\") {\n control.addBaseLayer(layer, name)\n }\n ev.preventDefault()\n })\n \n const event = new CustomEvent(mapAddTo, {\n cancelable: true,\n bubbles: true,\n detail: {\n layer: control\n }\n })\n this.dispatchEvent(event)\n }\n}\n\nexport default LControlLayers\n","import { mapAddTo } from \"./events.js\"\n\nclass LLayerGroup extends HTMLElement {\n constructor() {\n super()\n }\n \n connectedCallback() {\n const name = this.getAttribute(\"name\")\n const group = L.layerGroup()\n const event = new CustomEvent(mapAddTo, {\n cancelable: true,\n bubbles: true,\n detail: {\n layer: group,\n name\n }\n })\n this.dispatchEvent(event)\n\n this.addEventListener(mapAddTo, (ev) => {\n ev.stopPropagation()\n group.addLayer(ev.detail.layer)\n })\n\n const observer = new MutationObserver(function(mutations) {\n mutations.forEach((mutation) => {\n mutation.removedNodes.forEach((node) => {\n const leafletId = node.getAttribute(\"leaflet-id\");\n const layer = group.getLayer(leafletId);\n group.removeLayer(layer);\n });\n });\n });\n observer.observe(this, { childList: true })\n }\n}\n\nexport default LLayerGroup\n","// @ts-check\nimport { layerRemove, mapAddTo } from \"./events.js\"\n\nclass LMap extends HTMLElement {\n constructor() {\n super()\n\n this.map = null\n this.addEventListener(\"map:bounds\", (ev) => {\n const { bounds, method } = ev.detail\n this.map[method](bounds)\n })\n }\n\n connectedCallback() {\n this.map = L.map(this)\n const center = this.getAttribute(\"center\")\n const zoom = this.getAttribute(\"zoom\")\n if ((center !== null) && (zoom !== null)) {\n this.map.setView(JSON.parse(center), parseInt(zoom))\n }\n this.addEventListener(mapAddTo, (ev) => {\n const layer = ev.detail.layer\n layer.addTo(this.map)\n })\n\n this.addEventListener(layerRemove, (ev) => {\n this.map.remove(ev.detail.layer)\n })\n }\n}\n\nexport default LMap\n","import { mapAddTo, popupAdd } from \"./events.js\"; \n\nclass LMarker extends HTMLElement {\n static observedAttributes = [\"lat-lng\", \"opacity\"]\n\n constructor() {\n super()\n this.layer = null\n }\n\n connectedCallback() {\n const latLng = JSON.parse(this.getAttribute(\"lat-lng\"))\n const opacity = parseFloat(this.getAttribute(\"opacity\") || \"1.0\")\n this.layer = L.marker(latLng, { opacity });\n this.setAttribute(\"leaflet-id\", L.stamp(this.layer))\n\n this.addEventListener(popupAdd, (ev) => {\n const { content } = ev.detail\n this.layer.bindPopup(content)\n })\n \n const event = new CustomEvent(mapAddTo, {\n cancelable: true,\n bubbles: true,\n detail: {\n layer: this.layer\n }\n })\n this.dispatchEvent(event)\n }\n\n attributeChangedCallback(name, _oldValue, newValue) {\n if (this.layer !== null) {\n if (name === \"lat-lng\") {\n this.layer.setLatLng(JSON.parse(newValue))\n }\n if (name === \"opacity\") {\n this.layer.setOpacity(parseFloat(newValue))\n }\n }\n }\n}\n\n\nexport default LMarker\n","import { mapAddTo } from \"./events.js\"\n\nclass LOverlayLayers extends HTMLElement {\n constructor() {\n super()\n }\n \n connectedCallback() {\n this.addEventListener(mapAddTo, (ev) => {\n ev.detail[\"type\"] = \"overlay\"\n })\n }\n}\n\nexport default LOverlayLayers\n","import { popupAdd } from \"./events.js\"\n\nclass LPopup extends HTMLElement {\n constructor() {\n super()\n }\n\n connectedCallback() {\n const content = this.getAttribute(\"content\")\n const event = new CustomEvent(popupAdd, {\n cancelable: true,\n bubbles: true,\n detail: {\n content\n }\n })\n this.dispatchEvent(event)\n }\n}\n\n\nexport default LPopup\n\n","import { mapAddTo } from \"./events.js\"\n\nclass LTileLayer extends HTMLElement {\n constructor() {\n super()\n }\n\n connectedCallback() {\n const name = this.getAttribute(\"name\")\n const urlTemplate = this.getAttribute(\"url-template\")\n const attribution = this.getAttribute(\"attribution\")\n const options = { attribution }\n const layer = L.tileLayer(urlTemplate, options)\n const event = new CustomEvent(mapAddTo, { detail: { name, layer }, bubbles: true})\n this.dispatchEvent(event)\n }\n}\n\nexport default LTileLayer\n","class LLatLngBounds extends HTMLElement {\n static observedAttributes = [\"bounds\"]\n\n constructor() {\n super()\n }\n\n attributeChangedCallback(_name, _oldValue, newValue) {\n const event = new CustomEvent(\"map:bounds\", {\n bubbles: true,\n detail: {\n bounds: JSON.parse(newValue),\n method: this.getAttribute(\"method\") || \"fitBounds\"\n }\n })\n this.dispatchEvent(event)\n }\n}\n\nexport default LLatLngBounds\n","import { mapAddTo } from \"./events.js\"\n\nclass LImageOverlay extends HTMLElement {\n static observedAttributes = [\"url\", \"bounds\", \"opacity\"]\n\n constructor() {\n super()\n this.layer = null\n }\n\n connectedCallback() {\n const url = this.getAttribute(\"url\")\n const bounds = JSON.parse(this.getAttribute(\"bounds\"))\n const options = {\n opacity: parseFloat(this.getAttribute(\"opacity\") || \"1.0\"),\n alt: this.getAttribute(\"alt\") || \"\"\n }\n this.layer = L.imageOverlay(url, bounds, options)\n this.dispatchEvent(new CustomEvent(mapAddTo, {\n cancelable: true,\n bubbles: true,\n detail: {\n layer: this.layer\n }\n }))\n }\n\n attributeChangedCallback(name, _oldValue, newValue) {\n if (this.layer !== null) {\n if (name === \"url\") {\n this.layer.setUrl(newValue)\n } else if (name === \"bounds\") {\n this.layer.setBounds(JSON.parse(newValue))\n } else if (name === \"opacity\") {\n this.layer.setOpacity(parseFloat(newValue))\n }\n }\n }\n}\n\nexport default LImageOverlay\n","import { mapAddTo } from \"./events.js\"\n\nclass LVideoOverlay extends HTMLElement {\n constructor() {\n super()\n }\n\n connectedCallback() {\n const url = JSON.parse(this.getAttribute(\"url\"))\n const bounds = JSON.parse(this.getAttribute(\"bounds\"))\n const options = {\n opacity: parseFloat(this.getAttribute(\"opacity\") || \"1.0\"),\n alt: this.getAttribute(\"alt\") || \"\",\n autoplay: true,\n muted: true,\n playsInline: true\n }\n const layer = L.videoOverlay(url, bounds, options)\n this.dispatchEvent(new CustomEvent(mapAddTo, {\n cancelable: true,\n bubbles: true,\n detail: {\n layer\n }\n }))\n }\n}\n\nexport default LVideoOverlay\n\n","import { mapAddTo } from \"./events.js\"\n\nclass LGeoJSON extends HTMLElement {\n constructor() {\n super()\n }\n\n connectedCallback() {\n const layer = L.geoJSON(JSON.parse(this.getAttribute(\"geojson\")))\n this.dispatchEvent(new CustomEvent(mapAddTo, {\n bubbles: true,\n cancelable: true,\n detail: {\n layer\n }\n }))\n }\n}\n\nexport default LGeoJSON\n","// @ts-check\nimport LBaseLayers from \"./l-base-layers.js\";\nimport LControlLayers from \"./l-control-layers.js\"; \nimport LLayerGroup from \"./l-layer-group.js\"; \nimport LMap from \"./l-map.js\"; \nimport LMarker from \"./l-marker.js\"; \nimport LOverlayLayers from \"./l-overlay-layers.js\";\nimport LPopup from \"./l-popup.js\"; \nimport LTileLayer from \"./l-tile-layer.js\";\nimport LLatLngBounds from \"./l-lat-lng-bounds.js\";\nimport LImageOverlay from \"./l-image-overlay.js\";\nimport LVideoOverlay from \"./l-video-overlay.js\";\nimport LGeoJSON from \"./l-geojson.js\";\n\n\nconst init = (() => {\n // Custom elements (order of definition is important)\n customElements.define(\"l-map\", LMap)\n customElements.define(\"l-control-layers\", LControlLayers)\n customElements.define(\"l-base-layers\", LBaseLayers)\n customElements.define(\"l-overlay-layers\", LOverlayLayers)\n customElements.define(\"l-layer-group\", LLayerGroup)\n customElements.define(\"l-tile-layer\", LTileLayer)\n customElements.define(\"l-marker\", LMarker)\n customElements.define(\"l-popup\", LPopup)\n customElements.define(\"l-lat-lng-bounds\", LLatLngBounds)\n customElements.define(\"l-image-overlay\", LImageOverlay)\n customElements.define(\"l-video-overlay\", LVideoOverlay)\n customElements.define(\"l-geojson\", LGeoJSON)\n})();\n\nexport default init;\n"],"names":["mapAddTo","popupAdd","LBaseLayers","_HTMLElement","call","this","_inheritsLoose","prototype","connectedCallback","addEventListener","ev","detail","_wrapNativeSuper","HTMLElement","LControlLayers","control","L","layers","_ev$detail","type","name","layer","addOverlay","addBaseLayer","preventDefault","event","CustomEvent","cancelable","bubbles","dispatchEvent","LLayerGroup","getAttribute","group","layerGroup","stopPropagation","addLayer","MutationObserver","mutations","forEach","mutation","removedNodes","node","leafletId","getLayer","removeLayer","observe","childList","LMap","_this","map","method","bounds","_this2","center","zoom","setView","JSON","parse","parseInt","addTo","remove","LMarker","_proto","latLng","opacity","parseFloat","marker","setAttribute","stamp","bindPopup","content","attributeChangedCallback","_oldValue","newValue","setLatLng","setOpacity","observedAttributes","LOverlayLayers","LPopup","LTileLayer","urlTemplate","attribution","tileLayer","LLatLngBounds","_name","LImageOverlay","url","options","alt","imageOverlay","setUrl","setBounds","LVideoOverlay","autoplay","muted","playsInline","videoOverlay","LGeoJSON","geoJSON","init","customElements","define"],"mappings":"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"}
|
@@ -0,0 +1,2 @@
|
|
1
|
+
function t(){try{var e=!Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){}))}catch(e){}return(t=function(){return!!e})()}function e(t,e){t.prototype=Object.create(e.prototype),t.prototype.constructor=t,r(t,e)}function n(t){return n=Object.setPrototypeOf?Object.getPrototypeOf.bind():function(t){return t.__proto__||Object.getPrototypeOf(t)},n(t)}function r(t,e){return r=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(t,e){return t.__proto__=e,t},r(t,e)}function a(e){var i="function"==typeof Map?new Map:void 0;return a=function(e){if(null===e||!function(t){try{return-1!==Function.toString.call(t).indexOf("[native code]")}catch(e){return"function"==typeof t}}(e))return e;if("function"!=typeof e)throw new TypeError("Super expression must either be null or a function");if(void 0!==i){if(i.has(e))return i.get(e);i.set(e,a)}function a(){return function(e,n,a){if(t())return Reflect.construct.apply(null,arguments);var i=[null];i.push.apply(i,n);var o=new(e.bind.apply(e,i));return a&&r(o,a.prototype),o}(e,arguments,n(this).constructor)}return a.prototype=Object.create(e.prototype,{constructor:{value:a,enumerable:!1,writable:!0,configurable:!0}}),r(a,e)},a(e)}var i="map:addTo",o="popup:add",l=/*#__PURE__*/function(t){function n(){return t.call(this)||this}return e(n,t),n.prototype.connectedCallback=function(){this.addEventListener(i,function(t){t.detail.type="base"})},n}(/*#__PURE__*/a(HTMLElement)),u=/*#__PURE__*/function(t){function n(){return t.call(this)||this}return e(n,t),n.prototype.connectedCallback=function(){var t=L.control.layers({},{});this.addEventListener(i,function(e){var n=e.detail,r=n.type,a=n.name,i=n.layer;"overlay"===r?t.addOverlay(i,a):"base"===r&&t.addBaseLayer(i,a),e.preventDefault()});var e=new CustomEvent(i,{cancelable:!0,bubbles:!0,detail:{layer:t}});this.dispatchEvent(e)},n}(/*#__PURE__*/a(HTMLElement)),s=/*#__PURE__*/function(t){function n(){return t.call(this)||this}return e(n,t),n.prototype.connectedCallback=function(){var t=this.getAttribute("name"),e=L.layerGroup(),n=new CustomEvent(i,{cancelable:!0,bubbles:!0,detail:{layer:e,name:t}});this.dispatchEvent(n),this.addEventListener(i,function(t){t.stopPropagation(),e.addLayer(t.detail.layer)}),new MutationObserver(function(t){t.forEach(function(t){t.removedNodes.forEach(function(t){var n=t.getAttribute("leaflet-id"),r=e.getLayer(n);e.removeLayer(r)})})}).observe(this,{childList:!0})},n}(/*#__PURE__*/a(HTMLElement)),c=/*#__PURE__*/function(t){function n(){var e;return(e=t.call(this)||this).map=null,e.addEventListener("map:bounds",function(t){var n=t.detail;e.map[n.method](n.bounds)}),e}return e(n,t),n.prototype.connectedCallback=function(){var t=this;this.map=L.map(this);var e=this.getAttribute("center"),n=this.getAttribute("zoom");null!==e&&null!==n&&this.map.setView(JSON.parse(e),parseInt(n)),this.addEventListener(i,function(e){e.detail.layer.addTo(t.map)}),this.addEventListener("layer:remove",function(e){t.map.remove(e.detail.layer)})},n}(/*#__PURE__*/a(HTMLElement)),p=/*#__PURE__*/function(t){function n(){var e;return(e=t.call(this)||this).layer=null,e}e(n,t);var r=n.prototype;return r.connectedCallback=function(){var t=this,e=JSON.parse(this.getAttribute("lat-lng")),n=parseFloat(this.getAttribute("opacity")||"1.0");this.layer=L.marker(e,{opacity:n}),this.setAttribute("leaflet-id",L.stamp(this.layer)),this.addEventListener(o,function(e){t.layer.bindPopup(e.detail.content)});var r=new CustomEvent(i,{cancelable:!0,bubbles:!0,detail:{layer:this.layer}});this.dispatchEvent(r)},r.attributeChangedCallback=function(t,e,n){null!==this.layer&&("lat-lng"===t&&this.layer.setLatLng(JSON.parse(n)),"opacity"===t&&this.layer.setOpacity(parseFloat(n)))},n}(/*#__PURE__*/a(HTMLElement));p.observedAttributes=["lat-lng","opacity"];var d=/*#__PURE__*/function(t){function n(){return t.call(this)||this}return e(n,t),n.prototype.connectedCallback=function(){this.addEventListener(i,function(t){t.detail.type="overlay"})},n}(/*#__PURE__*/a(HTMLElement)),b=/*#__PURE__*/function(t){function n(){return t.call(this)||this}return e(n,t),n.prototype.connectedCallback=function(){var t=this.getAttribute("content"),e=new CustomEvent(o,{cancelable:!0,bubbles:!0,detail:{content:t}});this.dispatchEvent(e)},n}(/*#__PURE__*/a(HTMLElement)),f=/*#__PURE__*/function(t){function n(){return t.call(this)||this}return e(n,t),n.prototype.connectedCallback=function(){var t=this.getAttribute("name"),e=this.getAttribute("url-template"),n=this.getAttribute("attribution"),r=L.tileLayer(e,{attribution:n}),a=new CustomEvent(i,{detail:{name:t,layer:r},bubbles:!0});this.dispatchEvent(a)},n}(/*#__PURE__*/a(HTMLElement)),h=/*#__PURE__*/function(t){function n(){return t.call(this)||this}return e(n,t),n.prototype.attributeChangedCallback=function(t,e,n){var r=new CustomEvent("map:bounds",{bubbles:!0,detail:{bounds:JSON.parse(n),method:this.getAttribute("method")||"fitBounds"}});this.dispatchEvent(r)},n}(/*#__PURE__*/a(HTMLElement));h.observedAttributes=["bounds"];var y=/*#__PURE__*/function(t){function n(){var e;return(e=t.call(this)||this).layer=null,e}e(n,t);var r=n.prototype;return r.connectedCallback=function(){var t=this.getAttribute("url"),e=JSON.parse(this.getAttribute("bounds")),n={opacity:parseFloat(this.getAttribute("opacity")||"1.0"),alt:this.getAttribute("alt")||""};this.layer=L.imageOverlay(t,e,n),this.dispatchEvent(new CustomEvent(i,{cancelable:!0,bubbles:!0,detail:{layer:this.layer}}))},r.attributeChangedCallback=function(t,e,n){null!==this.layer&&("url"===t?this.layer.setUrl(n):"bounds"===t?this.layer.setBounds(JSON.parse(n)):"opacity"===t&&this.layer.setOpacity(parseFloat(n)))},n}(/*#__PURE__*/a(HTMLElement));y.observedAttributes=["url","bounds","opacity"];var v=/*#__PURE__*/function(t){function n(){return t.call(this)||this}return e(n,t),n.prototype.connectedCallback=function(){var t=JSON.parse(this.getAttribute("url")),e=JSON.parse(this.getAttribute("bounds")),n={opacity:parseFloat(this.getAttribute("opacity")||"1.0"),alt:this.getAttribute("alt")||"",autoplay:!0,muted:!0,playsInline:!0},r=L.videoOverlay(t,e,n);this.dispatchEvent(new CustomEvent(i,{cancelable:!0,bubbles:!0,detail:{layer:r}}))},n}(/*#__PURE__*/a(HTMLElement)),m=/*#__PURE__*/function(t){function n(){return t.call(this)||this}return e(n,t),n.prototype.connectedCallback=function(){var t=L.geoJSON(JSON.parse(this.getAttribute("geojson")));this.dispatchEvent(new CustomEvent(i,{bubbles:!0,cancelable:!0,detail:{layer:t}}))},n}(/*#__PURE__*/a(HTMLElement)),E=(customElements.define("l-map",c),customElements.define("l-control-layers",u),customElements.define("l-base-layers",l),customElements.define("l-overlay-layers",d),customElements.define("l-layer-group",s),customElements.define("l-tile-layer",f),customElements.define("l-marker",p),customElements.define("l-popup",b),customElements.define("l-lat-lng-bounds",h),customElements.define("l-image-overlay",y),customElements.define("l-video-overlay",v),void customElements.define("l-geojson",m));export{E as default};
|
2
|
+
//# sourceMappingURL=leaflet-html.esm.js.map
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"leaflet-html.esm.js","sources":["../src/events.js","../src/l-base-layers.js","../src/l-control-layers.js","../src/l-layer-group.js","../src/l-map.js","../src/l-marker.js","../src/l-overlay-layers.js","../src/l-popup.js","../src/l-tile-layer.js","../src/l-lat-lng-bounds.js","../src/l-image-overlay.js","../src/l-video-overlay.js","../src/l-geojson.js","../src/index.js"],"sourcesContent":["export const mapAddTo = \"map:addTo\"\nexport const popupAdd = \"popup:add\"\nexport const layerRemove = \"layer:remove\"\n","import { mapAddTo } from \"./events.js\"\n\nclass LBaseLayers extends HTMLElement {\n constructor() {\n super()\n }\n \n connectedCallback() {\n this.addEventListener(mapAddTo, (ev) => {\n ev.detail[\"type\"] = \"base\"\n })\n }\n}\n\nexport default LBaseLayers\n\n","import { mapAddTo } from \"./events.js\"\n\nclass LControlLayers extends HTMLElement {\n constructor() {\n super()\n }\n \n connectedCallback() {\n const base = {}\n const overlay = {}\n const control = L.control.layers(base, overlay)\n\n this.addEventListener(mapAddTo, (ev) => {\n const { type, name, layer } = ev.detail\n if (type === \"overlay\") {\n control.addOverlay(layer, name)\n } else if (type === \"base\") {\n control.addBaseLayer(layer, name)\n }\n ev.preventDefault()\n })\n \n const event = new CustomEvent(mapAddTo, {\n cancelable: true,\n bubbles: true,\n detail: {\n layer: control\n }\n })\n this.dispatchEvent(event)\n }\n}\n\nexport default LControlLayers\n","import { mapAddTo } from \"./events.js\"\n\nclass LLayerGroup extends HTMLElement {\n constructor() {\n super()\n }\n \n connectedCallback() {\n const name = this.getAttribute(\"name\")\n const group = L.layerGroup()\n const event = new CustomEvent(mapAddTo, {\n cancelable: true,\n bubbles: true,\n detail: {\n layer: group,\n name\n }\n })\n this.dispatchEvent(event)\n\n this.addEventListener(mapAddTo, (ev) => {\n ev.stopPropagation()\n group.addLayer(ev.detail.layer)\n })\n\n const observer = new MutationObserver(function(mutations) {\n mutations.forEach((mutation) => {\n mutation.removedNodes.forEach((node) => {\n const leafletId = node.getAttribute(\"leaflet-id\");\n const layer = group.getLayer(leafletId);\n group.removeLayer(layer);\n });\n });\n });\n observer.observe(this, { childList: true })\n }\n}\n\nexport default LLayerGroup\n","// @ts-check\nimport { layerRemove, mapAddTo } from \"./events.js\"\n\nclass LMap extends HTMLElement {\n constructor() {\n super()\n\n this.map = null\n this.addEventListener(\"map:bounds\", (ev) => {\n const { bounds, method } = ev.detail\n this.map[method](bounds)\n })\n }\n\n connectedCallback() {\n this.map = L.map(this)\n const center = this.getAttribute(\"center\")\n const zoom = this.getAttribute(\"zoom\")\n if ((center !== null) && (zoom !== null)) {\n this.map.setView(JSON.parse(center), parseInt(zoom))\n }\n this.addEventListener(mapAddTo, (ev) => {\n const layer = ev.detail.layer\n layer.addTo(this.map)\n })\n\n this.addEventListener(layerRemove, (ev) => {\n this.map.remove(ev.detail.layer)\n })\n }\n}\n\nexport default LMap\n","import { mapAddTo, popupAdd } from \"./events.js\"; \n\nclass LMarker extends HTMLElement {\n static observedAttributes = [\"lat-lng\", \"opacity\"]\n\n constructor() {\n super()\n this.layer = null\n }\n\n connectedCallback() {\n const latLng = JSON.parse(this.getAttribute(\"lat-lng\"))\n const opacity = parseFloat(this.getAttribute(\"opacity\") || \"1.0\")\n this.layer = L.marker(latLng, { opacity });\n this.setAttribute(\"leaflet-id\", L.stamp(this.layer))\n\n this.addEventListener(popupAdd, (ev) => {\n const { content } = ev.detail\n this.layer.bindPopup(content)\n })\n \n const event = new CustomEvent(mapAddTo, {\n cancelable: true,\n bubbles: true,\n detail: {\n layer: this.layer\n }\n })\n this.dispatchEvent(event)\n }\n\n attributeChangedCallback(name, _oldValue, newValue) {\n if (this.layer !== null) {\n if (name === \"lat-lng\") {\n this.layer.setLatLng(JSON.parse(newValue))\n }\n if (name === \"opacity\") {\n this.layer.setOpacity(parseFloat(newValue))\n }\n }\n }\n}\n\n\nexport default LMarker\n","import { mapAddTo } from \"./events.js\"\n\nclass LOverlayLayers extends HTMLElement {\n constructor() {\n super()\n }\n \n connectedCallback() {\n this.addEventListener(mapAddTo, (ev) => {\n ev.detail[\"type\"] = \"overlay\"\n })\n }\n}\n\nexport default LOverlayLayers\n","import { popupAdd } from \"./events.js\"\n\nclass LPopup extends HTMLElement {\n constructor() {\n super()\n }\n\n connectedCallback() {\n const content = this.getAttribute(\"content\")\n const event = new CustomEvent(popupAdd, {\n cancelable: true,\n bubbles: true,\n detail: {\n content\n }\n })\n this.dispatchEvent(event)\n }\n}\n\n\nexport default LPopup\n\n","import { mapAddTo } from \"./events.js\"\n\nclass LTileLayer extends HTMLElement {\n constructor() {\n super()\n }\n\n connectedCallback() {\n const name = this.getAttribute(\"name\")\n const urlTemplate = this.getAttribute(\"url-template\")\n const attribution = this.getAttribute(\"attribution\")\n const options = { attribution }\n const layer = L.tileLayer(urlTemplate, options)\n const event = new CustomEvent(mapAddTo, { detail: { name, layer }, bubbles: true})\n this.dispatchEvent(event)\n }\n}\n\nexport default LTileLayer\n","class LLatLngBounds extends HTMLElement {\n static observedAttributes = [\"bounds\"]\n\n constructor() {\n super()\n }\n\n attributeChangedCallback(_name, _oldValue, newValue) {\n const event = new CustomEvent(\"map:bounds\", {\n bubbles: true,\n detail: {\n bounds: JSON.parse(newValue),\n method: this.getAttribute(\"method\") || \"fitBounds\"\n }\n })\n this.dispatchEvent(event)\n }\n}\n\nexport default LLatLngBounds\n","import { mapAddTo } from \"./events.js\"\n\nclass LImageOverlay extends HTMLElement {\n static observedAttributes = [\"url\", \"bounds\", \"opacity\"]\n\n constructor() {\n super()\n this.layer = null\n }\n\n connectedCallback() {\n const url = this.getAttribute(\"url\")\n const bounds = JSON.parse(this.getAttribute(\"bounds\"))\n const options = {\n opacity: parseFloat(this.getAttribute(\"opacity\") || \"1.0\"),\n alt: this.getAttribute(\"alt\") || \"\"\n }\n this.layer = L.imageOverlay(url, bounds, options)\n this.dispatchEvent(new CustomEvent(mapAddTo, {\n cancelable: true,\n bubbles: true,\n detail: {\n layer: this.layer\n }\n }))\n }\n\n attributeChangedCallback(name, _oldValue, newValue) {\n if (this.layer !== null) {\n if (name === \"url\") {\n this.layer.setUrl(newValue)\n } else if (name === \"bounds\") {\n this.layer.setBounds(JSON.parse(newValue))\n } else if (name === \"opacity\") {\n this.layer.setOpacity(parseFloat(newValue))\n }\n }\n }\n}\n\nexport default LImageOverlay\n","import { mapAddTo } from \"./events.js\"\n\nclass LVideoOverlay extends HTMLElement {\n constructor() {\n super()\n }\n\n connectedCallback() {\n const url = JSON.parse(this.getAttribute(\"url\"))\n const bounds = JSON.parse(this.getAttribute(\"bounds\"))\n const options = {\n opacity: parseFloat(this.getAttribute(\"opacity\") || \"1.0\"),\n alt: this.getAttribute(\"alt\") || \"\",\n autoplay: true,\n muted: true,\n playsInline: true\n }\n const layer = L.videoOverlay(url, bounds, options)\n this.dispatchEvent(new CustomEvent(mapAddTo, {\n cancelable: true,\n bubbles: true,\n detail: {\n layer\n }\n }))\n }\n}\n\nexport default LVideoOverlay\n\n","import { mapAddTo } from \"./events.js\"\n\nclass LGeoJSON extends HTMLElement {\n constructor() {\n super()\n }\n\n connectedCallback() {\n const layer = L.geoJSON(JSON.parse(this.getAttribute(\"geojson\")))\n this.dispatchEvent(new CustomEvent(mapAddTo, {\n bubbles: true,\n cancelable: true,\n detail: {\n layer\n }\n }))\n }\n}\n\nexport default LGeoJSON\n","// @ts-check\nimport LBaseLayers from \"./l-base-layers.js\";\nimport LControlLayers from \"./l-control-layers.js\"; \nimport LLayerGroup from \"./l-layer-group.js\"; \nimport LMap from \"./l-map.js\"; \nimport LMarker from \"./l-marker.js\"; \nimport LOverlayLayers from \"./l-overlay-layers.js\";\nimport LPopup from \"./l-popup.js\"; \nimport LTileLayer from \"./l-tile-layer.js\";\nimport LLatLngBounds from \"./l-lat-lng-bounds.js\";\nimport LImageOverlay from \"./l-image-overlay.js\";\nimport LVideoOverlay from \"./l-video-overlay.js\";\nimport LGeoJSON from \"./l-geojson.js\";\n\n\nconst init = (() => {\n // Custom elements (order of definition is important)\n customElements.define(\"l-map\", LMap)\n customElements.define(\"l-control-layers\", LControlLayers)\n customElements.define(\"l-base-layers\", LBaseLayers)\n customElements.define(\"l-overlay-layers\", LOverlayLayers)\n customElements.define(\"l-layer-group\", LLayerGroup)\n customElements.define(\"l-tile-layer\", LTileLayer)\n customElements.define(\"l-marker\", LMarker)\n customElements.define(\"l-popup\", LPopup)\n customElements.define(\"l-lat-lng-bounds\", LLatLngBounds)\n customElements.define(\"l-image-overlay\", LImageOverlay)\n customElements.define(\"l-video-overlay\", LVideoOverlay)\n customElements.define(\"l-geojson\", LGeoJSON)\n})();\n\nexport default init;\n"],"names":["mapAddTo","popupAdd","LBaseLayers","_HTMLElement","call","this","_inheritsLoose","prototype","connectedCallback","addEventListener","ev","detail","_wrapNativeSuper","HTMLElement","LControlLayers","control","L","layers","_ev$detail","type","name","layer","addOverlay","addBaseLayer","preventDefault","event","CustomEvent","cancelable","bubbles","dispatchEvent","LLayerGroup","getAttribute","group","layerGroup","stopPropagation","addLayer","MutationObserver","mutations","forEach","mutation","removedNodes","node","leafletId","getLayer","removeLayer","observe","childList","LMap","_this","map","method","bounds","_this2","center","zoom","setView","JSON","parse","parseInt","addTo","remove","LMarker","_proto","latLng","opacity","parseFloat","marker","setAttribute","stamp","bindPopup","content","attributeChangedCallback","_oldValue","newValue","setLatLng","setOpacity","observedAttributes","LOverlayLayers","LPopup","LTileLayer","urlTemplate","attribution","tileLayer","LLatLngBounds","_name","LImageOverlay","url","options","alt","imageOverlay","setUrl","setBounds","LVideoOverlay","autoplay","muted","playsInline","videoOverlay","LGeoJSON","geoJSON","init","customElements","define"],"mappings":"orCAAaA,EAAW,YACXC,EAAW,YCClBC,eAAW,SAAAC,GACf,SAAAD,IAAc,OACZC,EAAAC,KAAAC,OAAOA,IACT,CAMC,OANAC,EAAAJ,EAAAC,GAAAD,EAAAK,UAEDC,kBAAA,WACEH,KAAKI,iBAAiBT,EAAU,SAACU,GAC/BA,EAAGC,OAAa,KAAI,MACtB,EACF,EAACT,CAAA,CATc,cASdU,EATuBC,cCApBC,eAAc,SAAAX,GAClB,SAAAW,IAAc,OACZX,EAAAC,KAAMC,WACR,CAyBC,OAzBAC,EAAAQ,EAAAX,GAAAW,EAAAP,UAEDC,kBAAA,WACE,IAEMO,EAAUC,EAAED,QAAQE,OAFb,CAAA,EACG,CAAE,GAGlBZ,KAAKI,iBAAiBT,EAAU,SAACU,GAC/B,IAAAQ,EAA8BR,EAAGC,OAAzBQ,EAAID,EAAJC,KAAMC,EAAIF,EAAJE,KAAMC,EAAKH,EAALG,MACP,YAATF,EACFJ,EAAQO,WAAWD,EAAOD,GACR,SAATD,GACTJ,EAAQQ,aAAaF,EAAOD,GAE9BV,EAAGc,gBACL,GAEA,IAAMC,EAAQ,IAAIC,YAAY1B,EAAU,CACtC2B,YAAY,EACZC,SAAS,EACTjB,OAAQ,CACNU,MAAON,KAGXV,KAAKwB,cAAcJ,EACrB,EAACX,CAAA,CA5BiB,cA4BjBF,EA5B0BC,cCAvBiB,eAAW,SAAA3B,GACf,SAAA2B,IACE,OAAA3B,EAAAC,KAAAC,OACFA,IAAA,CA8BCyB,OA9BAxB,EAAAwB,EAAA3B,GAAA2B,EAAAvB,UAEDC,kBAAA,WACE,IAAMY,EAAOf,KAAK0B,aAAa,QACzBC,EAAQhB,EAAEiB,aACVR,EAAQ,IAAIC,YAAY1B,EAAU,CACtC2B,YAAY,EACZC,SAAS,EACTjB,OAAQ,CACNU,MAAOW,EACPZ,KAAAA,KAGJf,KAAKwB,cAAcJ,GAEnBpB,KAAKI,iBAAiBT,EAAU,SAACU,GAC/BA,EAAGwB,kBACHF,EAAMG,SAASzB,EAAGC,OAAOU,MAC3B,GAEiB,IAAIe,iBAAiB,SAASC,GAC7CA,EAAUC,QAAQ,SAACC,GACjBA,EAASC,aAAaF,QAAQ,SAACG,GAC7B,IAAMC,EAAYD,EAAKV,aAAa,cAC9BV,EAAQW,EAAMW,SAASD,GAC7BV,EAAMY,YAAYvB,EACpB,EACF,EACF,GACSwB,QAAQxC,KAAM,CAAEyC,WAAW,GACtC,EAAChB,CAAA,CAjCc,cAiCdlB,EAjCuBC,cCCpBkC,eAAI5C,SAAAA,GACR,SAAA4C,IAAc,IAAAC,EAOVA,OANFA,EAAA7C,EAAAC,KAAMC,OAEN2C,MAAKC,IAAM,KACXD,EAAKvC,iBAAiB,aAAc,SAACC,GACnC,IAAAQ,EAA2BR,EAAGC,OAC9BqC,EAAKC,IADiB/B,EAANgC,QAAFhC,EAANiC,OAEV,GAAEH,CACJ,CAiBC,OAjBA1C,EAAAyC,EAAA5C,GAAA4C,EAAAxC,UAEDC,kBAAA,WAAoB,IAAA4C,EAAA/C,KAClBA,KAAK4C,IAAMjC,EAAEiC,IAAI5C,MACjB,IAAMgD,EAAShD,KAAK0B,aAAa,UAC3BuB,EAAOjD,KAAK0B,aAAa,QACf,OAAXsB,GAA8B,OAATC,GACxBjD,KAAK4C,IAAIM,QAAQC,KAAKC,MAAMJ,GAASK,SAASJ,IAEhDjD,KAAKI,iBAAiBT,EAAU,SAACU,GACjBA,EAAGC,OAAOU,MAClBsC,MAAMP,EAAKH,IACnB,GAEA5C,KAAKI,iBJxBkB,eIwBY,SAACC,GAClC0C,EAAKH,IAAIW,OAAOlD,EAAGC,OAAOU,MAC5B,EACF,EAAC0B,CAAA,CA1BO5C,cA0BPS,EA1BgBC,cCDbgD,eAAO,SAAA1D,GAGX,SAAA0D,IAAcb,IAAAA,EAEK,OADjBA,EAAA7C,EAAAC,KAAMC,OACN2C,MAAK3B,MAAQ,KAAI2B,CACnB,CAAC1C,EAAAuD,EAAA1D,GAAA,IAAA2D,EAAAD,EAAAtD,iBAAAuD,EAEDtD,kBAAA,WAAoB4C,IAAAA,EAClB/C,KAAM0D,EAASP,KAAKC,MAAMpD,KAAK0B,aAAa,YACtCiC,EAAUC,WAAW5D,KAAK0B,aAAa,YAAc,OAC3D1B,KAAKgB,MAAQL,EAAEkD,OAAOH,EAAQ,CAAEC,QAAAA,IAChC3D,KAAK8D,aAAa,aAAcnD,EAAEoD,MAAM/D,KAAKgB,QAE7ChB,KAAKI,iBAAiBR,EAAU,SAACS,GAE/B0C,EAAK/B,MAAMgD,UADS3D,EAAGC,OAAf2D,QAEV,GAEA,IAAM7C,EAAQ,IAAIC,YAAY1B,EAAU,CACtC2B,YAAY,EACZC,SAAS,EACTjB,OAAQ,CACNU,MAAOhB,KAAKgB,SAGhBhB,KAAKwB,cAAcJ,EACrB,EAACqC,EAEDS,yBAAA,SAAyBnD,EAAMoD,EAAWC,GACrB,OAAfpE,KAAKgB,QACM,YAATD,GACFf,KAAKgB,MAAMqD,UAAUlB,KAAKC,MAAMgB,IAErB,YAATrD,GACFf,KAAKgB,MAAMsD,WAAWV,WAAWQ,IAGvC,EAACZ,CAAA,CAtCU,cAsCVjD,EAtCmBC,cAAhBgD,EACGe,mBAAqB,CAAC,UAAW,WCHJ,IAEhCC,eAAc,SAAA1E,GAClB,SAAA0E,IAAc,OACZ1E,EAAAC,KAAAC,OAAOA,IACT,CAMC,OANAC,EAAAuE,EAAA1E,GAAA0E,EAAAtE,UAEDC,kBAAA,WACEH,KAAKI,iBAAiBT,EAAU,SAACU,GAC/BA,EAAGC,OAAa,KAAI,SACtB,EACF,EAACkE,CAAA,CATiB,cASjBjE,EAT0BC,cCAvBiE,eAAM,SAAA3E,GACV,SAAA2E,IAAc,OACZ3E,EAAAC,KAAMC,OACRA,IAAA,CAYC,OAZAC,EAAAwE,EAAA3E,GAAA2E,EAAAvE,UAEDC,kBAAA,WACE,IAAM8D,EAAUjE,KAAK0B,aAAa,WAC5BN,EAAQ,IAAIC,YAAYzB,EAAU,CACtC0B,YAAY,EACZC,SAAS,EACTjB,OAAQ,CACN2D,QAAAA,KAGJjE,KAAKwB,cAAcJ,EACrB,EAACqD,CAAA,CAfS,cAeTlE,EAfkBC,cCAfkE,eAAU,SAAA5E,GACd,SAAA4E,IAAc,OACZ5E,EAAAC,KAAAC,OAAOA,IACT,CAUC,OAVAC,EAAAyE,EAAA5E,GAAA4E,EAAAxE,UAEDC,kBAAA,WACE,IAAMY,EAAOf,KAAK0B,aAAa,QACzBiD,EAAc3E,KAAK0B,aAAa,gBAChCkD,EAAc5E,KAAK0B,aAAa,eAEhCV,EAAQL,EAAEkE,UAAUF,EADV,CAAEC,YAAAA,IAEZxD,EAAQ,IAAIC,YAAY1B,EAAU,CAAEW,OAAQ,CAAES,KAAAA,EAAMC,MAAAA,GAASO,SAAS,IAC5EvB,KAAKwB,cAAcJ,EACrB,EAACsD,CAAA,CAba,cAabnE,EAbsBC,cCFnBsE,wBAAahF,GAGjB,SAAAgF,IACE,OAAAhF,EAAAC,KAAMC,OACRA,IAAA,CAWC,OAXAC,EAAA6E,EAAAhF,GAAAgF,EAAA5E,UAEDgE,yBAAA,SAAyBa,EAAOZ,EAAWC,GACzC,IAAMhD,EAAQ,IAAIC,YAAY,aAAc,CAC1CE,SAAS,EACTjB,OAAQ,CACNwC,OAAQK,KAAKC,MAAMgB,GACnBvB,OAAQ7C,KAAK0B,aAAa,WAAa,eAG3C1B,KAAKwB,cAAcJ,EACrB,EAAC0D,CAAA,eAAAvE,EAhByBC,cAAtBsE,EACGP,mBAAqB,CAAC,UCDO,IAEhCS,eAAalF,SAAAA,GAGjB,SAAAkF,IAAcrC,IAAAA,EAEKA,OADjBA,EAAA7C,EAAAC,KAAMC,OACN2C,MAAK3B,MAAQ,KAAI2B,CACnB,CAAC1C,EAAA+E,EAAAlF,GAAA2D,IAAAA,EAAAuB,EAAA9E,UA6BA8E,OA7BAvB,EAEDtD,kBAAA,WACE,IAAM8E,EAAMjF,KAAK0B,aAAa,OACxBoB,EAASK,KAAKC,MAAMpD,KAAK0B,aAAa,WACtCwD,EAAU,CACdvB,QAASC,WAAW5D,KAAK0B,aAAa,YAAc,OACpDyD,IAAKnF,KAAK0B,aAAa,QAAU,IAEnC1B,KAAKgB,MAAQL,EAAEyE,aAAaH,EAAKnC,EAAQoC,GACzClF,KAAKwB,cAAc,IAAIH,YAAY1B,EAAU,CAC3C2B,YAAY,EACZC,SAAS,EACTjB,OAAQ,CACNU,MAAOhB,KAAKgB,SAGlB,EAACyC,EAEDS,yBAAA,SAAyBnD,EAAMoD,EAAWC,GACrB,OAAfpE,KAAKgB,QACM,QAATD,EACFf,KAAKgB,MAAMqE,OAAOjB,GACA,WAATrD,EACTf,KAAKgB,MAAMsE,UAAUnC,KAAKC,MAAMgB,IACd,YAATrD,GACTf,KAAKgB,MAAMsD,WAAWV,WAAWQ,IAGvC,EAACY,CAAA,CAnCgBlF,cAmChBS,EAnCyBC,cAAtBwE,EACGT,mBAAqB,CAAC,MAAO,SAAU,WCD1C,IAAAgB,eAAazF,SAAAA,GACjB,SAAAyF,IAAc,OACZzF,EAAAC,KAAMC,OACRA,IAAA,CAoBCuF,OApBAtF,EAAAsF,EAAAzF,GAAAyF,EAAArF,UAEDC,kBAAA,WACE,IAAM8E,EAAM9B,KAAKC,MAAMpD,KAAK0B,aAAa,QACnCoB,EAASK,KAAKC,MAAMpD,KAAK0B,aAAa,WACtCwD,EAAU,CACdvB,QAASC,WAAW5D,KAAK0B,aAAa,YAAc,OACpDyD,IAAKnF,KAAK0B,aAAa,QAAU,GACjC8D,UAAU,EACVC,OAAO,EACPC,aAAa,GAET1E,EAAQL,EAAEgF,aAAaV,EAAKnC,EAAQoC,GAC1ClF,KAAKwB,cAAc,IAAIH,YAAY1B,EAAU,CAC3C2B,YAAY,EACZC,SAAS,EACTjB,OAAQ,CACNU,MAAAA,KAGN,EAACuE,CAAA,CAvBgBzF,cAuBhBS,EAvByBC,cCAtBoF,eAAQ,SAAA9F,GACZ,SAAA8F,IACE,OAAA9F,EAAAC,YAAOC,IACT,CAWC4F,OAXA3F,EAAA2F,EAAA9F,GAAA8F,EAAA1F,UAEDC,kBAAA,WACE,IAAMa,EAAQL,EAAEkF,QAAQ1C,KAAKC,MAAMpD,KAAK0B,aAAa,aACrD1B,KAAKwB,cAAc,IAAIH,YAAY1B,EAAU,CAC3C4B,SAAS,EACTD,YAAY,EACZhB,OAAQ,CACNU,MAAAA,KAGN,EAAC4E,CAAA,CAdW,cAcXrF,EAdoBC,cCajBsF,GAEJC,eAAeC,OAAO,QAAStD,GAC/BqD,eAAeC,OAAO,mBAAoBvF,GAC1CsF,eAAeC,OAAO,gBAAiBnG,GACvCkG,eAAeC,OAAO,mBAAoBxB,GAC1CuB,eAAeC,OAAO,gBAAiBvE,GACvCsE,eAAeC,OAAO,eAAgBtB,GACtCqB,eAAeC,OAAO,WAAYxC,GAClCuC,eAAeC,OAAO,UAAWvB,GACjCsB,eAAeC,OAAO,mBAAoBlB,GAC1CiB,eAAeC,OAAO,kBAAmBhB,GACzCe,eAAeC,OAAO,kBAAmBT,QACzCQ,eAAeC,OAAO,YAAaJ"}
|
@@ -0,0 +1,2 @@
|
|
1
|
+
const t="map:addTo",e="popup:add";class s extends HTMLElement{constructor(){super()}connectedCallback(){this.addEventListener(t,t=>{t.detail.type="base"})}}class a extends HTMLElement{constructor(){super()}connectedCallback(){const e=L.control.layers({},{});this.addEventListener(t,t=>{const{type:s,name:a,layer:l}=t.detail;"overlay"===s?e.addOverlay(l,a):"base"===s&&e.addBaseLayer(l,a),t.preventDefault()});const s=new CustomEvent(t,{cancelable:!0,bubbles:!0,detail:{layer:e}});this.dispatchEvent(s)}}class l extends HTMLElement{constructor(){super()}connectedCallback(){const e=this.getAttribute("name"),s=L.layerGroup(),a=new CustomEvent(t,{cancelable:!0,bubbles:!0,detail:{layer:s,name:e}});this.dispatchEvent(a),this.addEventListener(t,t=>{t.stopPropagation(),s.addLayer(t.detail.layer)}),new MutationObserver(function(t){t.forEach(t=>{t.removedNodes.forEach(t=>{const e=t.getAttribute("leaflet-id"),a=s.getLayer(e);s.removeLayer(a)})})}).observe(this,{childList:!0})}}class n extends HTMLElement{constructor(){super(),this.map=null,this.addEventListener("map:bounds",t=>{const{bounds:e,method:s}=t.detail;this.map[s](e)})}connectedCallback(){this.map=L.map(this);const e=this.getAttribute("center"),s=this.getAttribute("zoom");null!==e&&null!==s&&this.map.setView(JSON.parse(e),parseInt(s)),this.addEventListener(t,t=>{t.detail.layer.addTo(this.map)}),this.addEventListener("layer:remove",t=>{this.map.remove(t.detail.layer)})}}class i extends HTMLElement{constructor(){super(),this.layer=null}connectedCallback(){const s=JSON.parse(this.getAttribute("lat-lng")),a=parseFloat(this.getAttribute("opacity")||"1.0");this.layer=L.marker(s,{opacity:a}),this.setAttribute("leaflet-id",L.stamp(this.layer)),this.addEventListener(e,t=>{const{content:e}=t.detail;this.layer.bindPopup(e)});const l=new CustomEvent(t,{cancelable:!0,bubbles:!0,detail:{layer:this.layer}});this.dispatchEvent(l)}attributeChangedCallback(t,e,s){null!==this.layer&&("lat-lng"===t&&this.layer.setLatLng(JSON.parse(s)),"opacity"===t&&this.layer.setOpacity(parseFloat(s)))}}i.observedAttributes=["lat-lng","opacity"];class r extends HTMLElement{constructor(){super()}connectedCallback(){this.addEventListener(t,t=>{t.detail.type="overlay"})}}class o extends HTMLElement{constructor(){super()}connectedCallback(){const t=this.getAttribute("content"),s=new CustomEvent(e,{cancelable:!0,bubbles:!0,detail:{content:t}});this.dispatchEvent(s)}}class c extends HTMLElement{constructor(){super()}connectedCallback(){const e=this.getAttribute("name"),s=this.getAttribute("url-template"),a=this.getAttribute("attribution"),l=L.tileLayer(s,{attribution:a}),n=new CustomEvent(t,{detail:{name:e,layer:l},bubbles:!0});this.dispatchEvent(n)}}class d extends HTMLElement{constructor(){super()}attributeChangedCallback(t,e,s){const a=new CustomEvent("map:bounds",{bubbles:!0,detail:{bounds:JSON.parse(s),method:this.getAttribute("method")||"fitBounds"}});this.dispatchEvent(a)}}d.observedAttributes=["bounds"];class u extends HTMLElement{constructor(){super(),this.layer=null}connectedCallback(){const e=this.getAttribute("url"),s=JSON.parse(this.getAttribute("bounds")),a={opacity:parseFloat(this.getAttribute("opacity")||"1.0"),alt:this.getAttribute("alt")||""};this.layer=L.imageOverlay(e,s,a),this.dispatchEvent(new CustomEvent(t,{cancelable:!0,bubbles:!0,detail:{layer:this.layer}}))}attributeChangedCallback(t,e,s){null!==this.layer&&("url"===t?this.layer.setUrl(s):"bounds"===t?this.layer.setBounds(JSON.parse(s)):"opacity"===t&&this.layer.setOpacity(parseFloat(s)))}}u.observedAttributes=["url","bounds","opacity"];class b extends HTMLElement{constructor(){super()}connectedCallback(){const e=JSON.parse(this.getAttribute("url")),s=JSON.parse(this.getAttribute("bounds")),a={opacity:parseFloat(this.getAttribute("opacity")||"1.0"),alt:this.getAttribute("alt")||"",autoplay:!0,muted:!0,playsInline:!0},l=L.videoOverlay(e,s,a);this.dispatchEvent(new CustomEvent(t,{cancelable:!0,bubbles:!0,detail:{layer:l}}))}}class p extends HTMLElement{constructor(){super()}connectedCallback(){const e=L.geoJSON(JSON.parse(this.getAttribute("geojson")));this.dispatchEvent(new CustomEvent(t,{bubbles:!0,cancelable:!0,detail:{layer:e}}))}}const h=(customElements.define("l-map",n),customElements.define("l-control-layers",a),customElements.define("l-base-layers",s),customElements.define("l-overlay-layers",r),customElements.define("l-layer-group",l),customElements.define("l-tile-layer",c),customElements.define("l-marker",i),customElements.define("l-popup",o),customElements.define("l-lat-lng-bounds",d),customElements.define("l-image-overlay",u),customElements.define("l-video-overlay",b),void customElements.define("l-geojson",p));export{h as default};
|
2
|
+
//# sourceMappingURL=leaflet-html.js.map
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"leaflet-html.js","sources":["../src/events.js","../src/l-base-layers.js","../src/l-control-layers.js","../src/l-layer-group.js","../src/l-map.js","../src/l-marker.js","../src/l-overlay-layers.js","../src/l-popup.js","../src/l-tile-layer.js","../src/l-lat-lng-bounds.js","../src/l-image-overlay.js","../src/l-video-overlay.js","../src/l-geojson.js","../src/index.js"],"sourcesContent":["export const mapAddTo = \"map:addTo\"\nexport const popupAdd = \"popup:add\"\nexport const layerRemove = \"layer:remove\"\n","import { mapAddTo } from \"./events.js\"\n\nclass LBaseLayers extends HTMLElement {\n constructor() {\n super()\n }\n \n connectedCallback() {\n this.addEventListener(mapAddTo, (ev) => {\n ev.detail[\"type\"] = \"base\"\n })\n }\n}\n\nexport default LBaseLayers\n\n","import { mapAddTo } from \"./events.js\"\n\nclass LControlLayers extends HTMLElement {\n constructor() {\n super()\n }\n \n connectedCallback() {\n const base = {}\n const overlay = {}\n const control = L.control.layers(base, overlay)\n\n this.addEventListener(mapAddTo, (ev) => {\n const { type, name, layer } = ev.detail\n if (type === \"overlay\") {\n control.addOverlay(layer, name)\n } else if (type === \"base\") {\n control.addBaseLayer(layer, name)\n }\n ev.preventDefault()\n })\n \n const event = new CustomEvent(mapAddTo, {\n cancelable: true,\n bubbles: true,\n detail: {\n layer: control\n }\n })\n this.dispatchEvent(event)\n }\n}\n\nexport default LControlLayers\n","import { mapAddTo } from \"./events.js\"\n\nclass LLayerGroup extends HTMLElement {\n constructor() {\n super()\n }\n \n connectedCallback() {\n const name = this.getAttribute(\"name\")\n const group = L.layerGroup()\n const event = new CustomEvent(mapAddTo, {\n cancelable: true,\n bubbles: true,\n detail: {\n layer: group,\n name\n }\n })\n this.dispatchEvent(event)\n\n this.addEventListener(mapAddTo, (ev) => {\n ev.stopPropagation()\n group.addLayer(ev.detail.layer)\n })\n\n const observer = new MutationObserver(function(mutations) {\n mutations.forEach((mutation) => {\n mutation.removedNodes.forEach((node) => {\n const leafletId = node.getAttribute(\"leaflet-id\");\n const layer = group.getLayer(leafletId);\n group.removeLayer(layer);\n });\n });\n });\n observer.observe(this, { childList: true })\n }\n}\n\nexport default LLayerGroup\n","// @ts-check\nimport { layerRemove, mapAddTo } from \"./events.js\"\n\nclass LMap extends HTMLElement {\n constructor() {\n super()\n\n this.map = null\n this.addEventListener(\"map:bounds\", (ev) => {\n const { bounds, method } = ev.detail\n this.map[method](bounds)\n })\n }\n\n connectedCallback() {\n this.map = L.map(this)\n const center = this.getAttribute(\"center\")\n const zoom = this.getAttribute(\"zoom\")\n if ((center !== null) && (zoom !== null)) {\n this.map.setView(JSON.parse(center), parseInt(zoom))\n }\n this.addEventListener(mapAddTo, (ev) => {\n const layer = ev.detail.layer\n layer.addTo(this.map)\n })\n\n this.addEventListener(layerRemove, (ev) => {\n this.map.remove(ev.detail.layer)\n })\n }\n}\n\nexport default LMap\n","import { mapAddTo, popupAdd } from \"./events.js\"; \n\nclass LMarker extends HTMLElement {\n static observedAttributes = [\"lat-lng\", \"opacity\"]\n\n constructor() {\n super()\n this.layer = null\n }\n\n connectedCallback() {\n const latLng = JSON.parse(this.getAttribute(\"lat-lng\"))\n const opacity = parseFloat(this.getAttribute(\"opacity\") || \"1.0\")\n this.layer = L.marker(latLng, { opacity });\n this.setAttribute(\"leaflet-id\", L.stamp(this.layer))\n\n this.addEventListener(popupAdd, (ev) => {\n const { content } = ev.detail\n this.layer.bindPopup(content)\n })\n \n const event = new CustomEvent(mapAddTo, {\n cancelable: true,\n bubbles: true,\n detail: {\n layer: this.layer\n }\n })\n this.dispatchEvent(event)\n }\n\n attributeChangedCallback(name, _oldValue, newValue) {\n if (this.layer !== null) {\n if (name === \"lat-lng\") {\n this.layer.setLatLng(JSON.parse(newValue))\n }\n if (name === \"opacity\") {\n this.layer.setOpacity(parseFloat(newValue))\n }\n }\n }\n}\n\n\nexport default LMarker\n","import { mapAddTo } from \"./events.js\"\n\nclass LOverlayLayers extends HTMLElement {\n constructor() {\n super()\n }\n \n connectedCallback() {\n this.addEventListener(mapAddTo, (ev) => {\n ev.detail[\"type\"] = \"overlay\"\n })\n }\n}\n\nexport default LOverlayLayers\n","import { popupAdd } from \"./events.js\"\n\nclass LPopup extends HTMLElement {\n constructor() {\n super()\n }\n\n connectedCallback() {\n const content = this.getAttribute(\"content\")\n const event = new CustomEvent(popupAdd, {\n cancelable: true,\n bubbles: true,\n detail: {\n content\n }\n })\n this.dispatchEvent(event)\n }\n}\n\n\nexport default LPopup\n\n","import { mapAddTo } from \"./events.js\"\n\nclass LTileLayer extends HTMLElement {\n constructor() {\n super()\n }\n\n connectedCallback() {\n const name = this.getAttribute(\"name\")\n const urlTemplate = this.getAttribute(\"url-template\")\n const attribution = this.getAttribute(\"attribution\")\n const options = { attribution }\n const layer = L.tileLayer(urlTemplate, options)\n const event = new CustomEvent(mapAddTo, { detail: { name, layer }, bubbles: true})\n this.dispatchEvent(event)\n }\n}\n\nexport default LTileLayer\n","class LLatLngBounds extends HTMLElement {\n static observedAttributes = [\"bounds\"]\n\n constructor() {\n super()\n }\n\n attributeChangedCallback(_name, _oldValue, newValue) {\n const event = new CustomEvent(\"map:bounds\", {\n bubbles: true,\n detail: {\n bounds: JSON.parse(newValue),\n method: this.getAttribute(\"method\") || \"fitBounds\"\n }\n })\n this.dispatchEvent(event)\n }\n}\n\nexport default LLatLngBounds\n","import { mapAddTo } from \"./events.js\"\n\nclass LImageOverlay extends HTMLElement {\n static observedAttributes = [\"url\", \"bounds\", \"opacity\"]\n\n constructor() {\n super()\n this.layer = null\n }\n\n connectedCallback() {\n const url = this.getAttribute(\"url\")\n const bounds = JSON.parse(this.getAttribute(\"bounds\"))\n const options = {\n opacity: parseFloat(this.getAttribute(\"opacity\") || \"1.0\"),\n alt: this.getAttribute(\"alt\") || \"\"\n }\n this.layer = L.imageOverlay(url, bounds, options)\n this.dispatchEvent(new CustomEvent(mapAddTo, {\n cancelable: true,\n bubbles: true,\n detail: {\n layer: this.layer\n }\n }))\n }\n\n attributeChangedCallback(name, _oldValue, newValue) {\n if (this.layer !== null) {\n if (name === \"url\") {\n this.layer.setUrl(newValue)\n } else if (name === \"bounds\") {\n this.layer.setBounds(JSON.parse(newValue))\n } else if (name === \"opacity\") {\n this.layer.setOpacity(parseFloat(newValue))\n }\n }\n }\n}\n\nexport default LImageOverlay\n","import { mapAddTo } from \"./events.js\"\n\nclass LVideoOverlay extends HTMLElement {\n constructor() {\n super()\n }\n\n connectedCallback() {\n const url = JSON.parse(this.getAttribute(\"url\"))\n const bounds = JSON.parse(this.getAttribute(\"bounds\"))\n const options = {\n opacity: parseFloat(this.getAttribute(\"opacity\") || \"1.0\"),\n alt: this.getAttribute(\"alt\") || \"\",\n autoplay: true,\n muted: true,\n playsInline: true\n }\n const layer = L.videoOverlay(url, bounds, options)\n this.dispatchEvent(new CustomEvent(mapAddTo, {\n cancelable: true,\n bubbles: true,\n detail: {\n layer\n }\n }))\n }\n}\n\nexport default LVideoOverlay\n\n","import { mapAddTo } from \"./events.js\"\n\nclass LGeoJSON extends HTMLElement {\n constructor() {\n super()\n }\n\n connectedCallback() {\n const layer = L.geoJSON(JSON.parse(this.getAttribute(\"geojson\")))\n this.dispatchEvent(new CustomEvent(mapAddTo, {\n bubbles: true,\n cancelable: true,\n detail: {\n layer\n }\n }))\n }\n}\n\nexport default LGeoJSON\n","// @ts-check\nimport LBaseLayers from \"./l-base-layers.js\";\nimport LControlLayers from \"./l-control-layers.js\"; \nimport LLayerGroup from \"./l-layer-group.js\"; \nimport LMap from \"./l-map.js\"; \nimport LMarker from \"./l-marker.js\"; \nimport LOverlayLayers from \"./l-overlay-layers.js\";\nimport LPopup from \"./l-popup.js\"; \nimport LTileLayer from \"./l-tile-layer.js\";\nimport LLatLngBounds from \"./l-lat-lng-bounds.js\";\nimport LImageOverlay from \"./l-image-overlay.js\";\nimport LVideoOverlay from \"./l-video-overlay.js\";\nimport LGeoJSON from \"./l-geojson.js\";\n\n\nconst init = (() => {\n // Custom elements (order of definition is important)\n customElements.define(\"l-map\", LMap)\n customElements.define(\"l-control-layers\", LControlLayers)\n customElements.define(\"l-base-layers\", LBaseLayers)\n customElements.define(\"l-overlay-layers\", LOverlayLayers)\n customElements.define(\"l-layer-group\", LLayerGroup)\n customElements.define(\"l-tile-layer\", LTileLayer)\n customElements.define(\"l-marker\", LMarker)\n customElements.define(\"l-popup\", LPopup)\n customElements.define(\"l-lat-lng-bounds\", LLatLngBounds)\n customElements.define(\"l-image-overlay\", LImageOverlay)\n customElements.define(\"l-video-overlay\", LVideoOverlay)\n customElements.define(\"l-geojson\", LGeoJSON)\n})();\n\nexport default init;\n"],"names":["mapAddTo","popupAdd","LBaseLayers","HTMLElement","constructor","super","connectedCallback","this","addEventListener","ev","detail","LControlLayers","control","L","layers","type","name","layer","addOverlay","addBaseLayer","preventDefault","event","CustomEvent","cancelable","bubbles","dispatchEvent","LLayerGroup","getAttribute","group","layerGroup","stopPropagation","addLayer","MutationObserver","mutations","forEach","mutation","removedNodes","node","leafletId","getLayer","removeLayer","observe","childList","LMap","map","bounds","method","center","zoom","setView","JSON","parse","parseInt","addTo","remove","LMarker","latLng","opacity","parseFloat","marker","setAttribute","stamp","content","bindPopup","attributeChangedCallback","_oldValue","newValue","setLatLng","setOpacity","observedAttributes","LOverlayLayers","LPopup","LTileLayer","urlTemplate","attribution","tileLayer","LLatLngBounds","_name","LImageOverlay","url","options","alt","imageOverlay","setUrl","setBounds","LVideoOverlay","autoplay","muted","playsInline","videoOverlay","LGeoJSON","geoJSON","init","customElements","define"],"mappings":"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"}
|
@@ -0,0 +1,2 @@
|
|
1
|
+
!function(t,e){"object"==typeof exports&&"undefined"!=typeof module?module.exports=e():"function"==typeof define&&define.amd?define(e):(t||self).leafletHtml=e()}(this,function(){function t(){try{var e=!Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){}))}catch(e){}return(t=function(){return!!e})()}function e(t,e){t.prototype=Object.create(e.prototype),t.prototype.constructor=t,r(t,e)}function n(t){return n=Object.setPrototypeOf?Object.getPrototypeOf.bind():function(t){return t.__proto__||Object.getPrototypeOf(t)},n(t)}function r(t,e){return r=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(t,e){return t.__proto__=e,t},r(t,e)}function a(e){var i="function"==typeof Map?new Map:void 0;return a=function(e){if(null===e||!function(t){try{return-1!==Function.toString.call(t).indexOf("[native code]")}catch(e){return"function"==typeof t}}(e))return e;if("function"!=typeof e)throw new TypeError("Super expression must either be null or a function");if(void 0!==i){if(i.has(e))return i.get(e);i.set(e,a)}function a(){return function(e,n,a){if(t())return Reflect.construct.apply(null,arguments);var i=[null];i.push.apply(i,n);var o=new(e.bind.apply(e,i));return a&&r(o,a.prototype),o}(e,arguments,n(this).constructor)}return a.prototype=Object.create(e.prototype,{constructor:{value:a,enumerable:!1,writable:!0,configurable:!0}}),r(a,e)},a(e)}var i="map:addTo",o="popup:add",l=/*#__PURE__*/function(t){function n(){return t.call(this)||this}return e(n,t),n.prototype.connectedCallback=function(){this.addEventListener(i,function(t){t.detail.type="base"})},n}(/*#__PURE__*/a(HTMLElement)),u=/*#__PURE__*/function(t){function n(){return t.call(this)||this}return e(n,t),n.prototype.connectedCallback=function(){var t=L.control.layers({},{});this.addEventListener(i,function(e){var n=e.detail,r=n.type,a=n.name,i=n.layer;"overlay"===r?t.addOverlay(i,a):"base"===r&&t.addBaseLayer(i,a),e.preventDefault()});var e=new CustomEvent(i,{cancelable:!0,bubbles:!0,detail:{layer:t}});this.dispatchEvent(e)},n}(/*#__PURE__*/a(HTMLElement)),s=/*#__PURE__*/function(t){function n(){return t.call(this)||this}return e(n,t),n.prototype.connectedCallback=function(){var t=this.getAttribute("name"),e=L.layerGroup(),n=new CustomEvent(i,{cancelable:!0,bubbles:!0,detail:{layer:e,name:t}});this.dispatchEvent(n),this.addEventListener(i,function(t){t.stopPropagation(),e.addLayer(t.detail.layer)}),new MutationObserver(function(t){t.forEach(function(t){t.removedNodes.forEach(function(t){var n=t.getAttribute("leaflet-id"),r=e.getLayer(n);e.removeLayer(r)})})}).observe(this,{childList:!0})},n}(/*#__PURE__*/a(HTMLElement)),c=/*#__PURE__*/function(t){function n(){var e;return(e=t.call(this)||this).map=null,e.addEventListener("map:bounds",function(t){var n=t.detail;e.map[n.method](n.bounds)}),e}return e(n,t),n.prototype.connectedCallback=function(){var t=this;this.map=L.map(this);var e=this.getAttribute("center"),n=this.getAttribute("zoom");null!==e&&null!==n&&this.map.setView(JSON.parse(e),parseInt(n)),this.addEventListener(i,function(e){e.detail.layer.addTo(t.map)}),this.addEventListener("layer:remove",function(e){t.map.remove(e.detail.layer)})},n}(/*#__PURE__*/a(HTMLElement)),p=/*#__PURE__*/function(t){function n(){var e;return(e=t.call(this)||this).layer=null,e}e(n,t);var r=n.prototype;return r.connectedCallback=function(){var t=this,e=JSON.parse(this.getAttribute("lat-lng")),n=parseFloat(this.getAttribute("opacity")||"1.0");this.layer=L.marker(e,{opacity:n}),this.setAttribute("leaflet-id",L.stamp(this.layer)),this.addEventListener(o,function(e){t.layer.bindPopup(e.detail.content)});var r=new CustomEvent(i,{cancelable:!0,bubbles:!0,detail:{layer:this.layer}});this.dispatchEvent(r)},r.attributeChangedCallback=function(t,e,n){null!==this.layer&&("lat-lng"===t&&this.layer.setLatLng(JSON.parse(n)),"opacity"===t&&this.layer.setOpacity(parseFloat(n)))},n}(/*#__PURE__*/a(HTMLElement));p.observedAttributes=["lat-lng","opacity"];var d=/*#__PURE__*/function(t){function n(){return t.call(this)||this}return e(n,t),n.prototype.connectedCallback=function(){this.addEventListener(i,function(t){t.detail.type="overlay"})},n}(/*#__PURE__*/a(HTMLElement)),f=/*#__PURE__*/function(t){function n(){return t.call(this)||this}return e(n,t),n.prototype.connectedCallback=function(){var t=this.getAttribute("content"),e=new CustomEvent(o,{cancelable:!0,bubbles:!0,detail:{content:t}});this.dispatchEvent(e)},n}(/*#__PURE__*/a(HTMLElement)),b=/*#__PURE__*/function(t){function n(){return t.call(this)||this}return e(n,t),n.prototype.connectedCallback=function(){var t=this.getAttribute("name"),e=this.getAttribute("url-template"),n=this.getAttribute("attribution"),r=L.tileLayer(e,{attribution:n}),a=new CustomEvent(i,{detail:{name:t,layer:r},bubbles:!0});this.dispatchEvent(a)},n}(/*#__PURE__*/a(HTMLElement)),h=/*#__PURE__*/function(t){function n(){return t.call(this)||this}return e(n,t),n.prototype.attributeChangedCallback=function(t,e,n){var r=new CustomEvent("map:bounds",{bubbles:!0,detail:{bounds:JSON.parse(n),method:this.getAttribute("method")||"fitBounds"}});this.dispatchEvent(r)},n}(/*#__PURE__*/a(HTMLElement));h.observedAttributes=["bounds"];var y=/*#__PURE__*/function(t){function n(){var e;return(e=t.call(this)||this).layer=null,e}e(n,t);var r=n.prototype;return r.connectedCallback=function(){var t=this.getAttribute("url"),e=JSON.parse(this.getAttribute("bounds")),n={opacity:parseFloat(this.getAttribute("opacity")||"1.0"),alt:this.getAttribute("alt")||""};this.layer=L.imageOverlay(t,e,n),this.dispatchEvent(new CustomEvent(i,{cancelable:!0,bubbles:!0,detail:{layer:this.layer}}))},r.attributeChangedCallback=function(t,e,n){null!==this.layer&&("url"===t?this.layer.setUrl(n):"bounds"===t?this.layer.setBounds(JSON.parse(n)):"opacity"===t&&this.layer.setOpacity(parseFloat(n)))},n}(/*#__PURE__*/a(HTMLElement));y.observedAttributes=["url","bounds","opacity"];var m=/*#__PURE__*/function(t){function n(){return t.call(this)||this}return e(n,t),n.prototype.connectedCallback=function(){var t=JSON.parse(this.getAttribute("url")),e=JSON.parse(this.getAttribute("bounds")),n={opacity:parseFloat(this.getAttribute("opacity")||"1.0"),alt:this.getAttribute("alt")||"",autoplay:!0,muted:!0,playsInline:!0},r=L.videoOverlay(t,e,n);this.dispatchEvent(new CustomEvent(i,{cancelable:!0,bubbles:!0,detail:{layer:r}}))},n}(/*#__PURE__*/a(HTMLElement)),v=/*#__PURE__*/function(t){function n(){return t.call(this)||this}return e(n,t),n.prototype.connectedCallback=function(){var t=L.geoJSON(JSON.parse(this.getAttribute("geojson")));this.dispatchEvent(new CustomEvent(i,{bubbles:!0,cancelable:!0,detail:{layer:t}}))},n}(/*#__PURE__*/a(HTMLElement));return customElements.define("l-map",c),customElements.define("l-control-layers",u),customElements.define("l-base-layers",l),customElements.define("l-overlay-layers",d),customElements.define("l-layer-group",s),customElements.define("l-tile-layer",b),customElements.define("l-marker",p),customElements.define("l-popup",f),customElements.define("l-lat-lng-bounds",h),customElements.define("l-image-overlay",y),customElements.define("l-video-overlay",m),void customElements.define("l-geojson",v)});
|
2
|
+
//# sourceMappingURL=leaflet-html.umd.js.map
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"leaflet-html.umd.js","sources":["../src/events.js","../src/l-base-layers.js","../src/l-control-layers.js","../src/l-layer-group.js","../src/l-map.js","../src/l-marker.js","../src/l-overlay-layers.js","../src/l-popup.js","../src/l-tile-layer.js","../src/l-lat-lng-bounds.js","../src/l-image-overlay.js","../src/l-video-overlay.js","../src/l-geojson.js","../src/index.js"],"sourcesContent":["export const mapAddTo = \"map:addTo\"\nexport const popupAdd = \"popup:add\"\nexport const layerRemove = \"layer:remove\"\n","import { mapAddTo } from \"./events.js\"\n\nclass LBaseLayers extends HTMLElement {\n constructor() {\n super()\n }\n \n connectedCallback() {\n this.addEventListener(mapAddTo, (ev) => {\n ev.detail[\"type\"] = \"base\"\n })\n }\n}\n\nexport default LBaseLayers\n\n","import { mapAddTo } from \"./events.js\"\n\nclass LControlLayers extends HTMLElement {\n constructor() {\n super()\n }\n \n connectedCallback() {\n const base = {}\n const overlay = {}\n const control = L.control.layers(base, overlay)\n\n this.addEventListener(mapAddTo, (ev) => {\n const { type, name, layer } = ev.detail\n if (type === \"overlay\") {\n control.addOverlay(layer, name)\n } else if (type === \"base\") {\n control.addBaseLayer(layer, name)\n }\n ev.preventDefault()\n })\n \n const event = new CustomEvent(mapAddTo, {\n cancelable: true,\n bubbles: true,\n detail: {\n layer: control\n }\n })\n this.dispatchEvent(event)\n }\n}\n\nexport default LControlLayers\n","import { mapAddTo } from \"./events.js\"\n\nclass LLayerGroup extends HTMLElement {\n constructor() {\n super()\n }\n \n connectedCallback() {\n const name = this.getAttribute(\"name\")\n const group = L.layerGroup()\n const event = new CustomEvent(mapAddTo, {\n cancelable: true,\n bubbles: true,\n detail: {\n layer: group,\n name\n }\n })\n this.dispatchEvent(event)\n\n this.addEventListener(mapAddTo, (ev) => {\n ev.stopPropagation()\n group.addLayer(ev.detail.layer)\n })\n\n const observer = new MutationObserver(function(mutations) {\n mutations.forEach((mutation) => {\n mutation.removedNodes.forEach((node) => {\n const leafletId = node.getAttribute(\"leaflet-id\");\n const layer = group.getLayer(leafletId);\n group.removeLayer(layer);\n });\n });\n });\n observer.observe(this, { childList: true })\n }\n}\n\nexport default LLayerGroup\n","// @ts-check\nimport { layerRemove, mapAddTo } from \"./events.js\"\n\nclass LMap extends HTMLElement {\n constructor() {\n super()\n\n this.map = null\n this.addEventListener(\"map:bounds\", (ev) => {\n const { bounds, method } = ev.detail\n this.map[method](bounds)\n })\n }\n\n connectedCallback() {\n this.map = L.map(this)\n const center = this.getAttribute(\"center\")\n const zoom = this.getAttribute(\"zoom\")\n if ((center !== null) && (zoom !== null)) {\n this.map.setView(JSON.parse(center), parseInt(zoom))\n }\n this.addEventListener(mapAddTo, (ev) => {\n const layer = ev.detail.layer\n layer.addTo(this.map)\n })\n\n this.addEventListener(layerRemove, (ev) => {\n this.map.remove(ev.detail.layer)\n })\n }\n}\n\nexport default LMap\n","import { mapAddTo, popupAdd } from \"./events.js\"; \n\nclass LMarker extends HTMLElement {\n static observedAttributes = [\"lat-lng\", \"opacity\"]\n\n constructor() {\n super()\n this.layer = null\n }\n\n connectedCallback() {\n const latLng = JSON.parse(this.getAttribute(\"lat-lng\"))\n const opacity = parseFloat(this.getAttribute(\"opacity\") || \"1.0\")\n this.layer = L.marker(latLng, { opacity });\n this.setAttribute(\"leaflet-id\", L.stamp(this.layer))\n\n this.addEventListener(popupAdd, (ev) => {\n const { content } = ev.detail\n this.layer.bindPopup(content)\n })\n \n const event = new CustomEvent(mapAddTo, {\n cancelable: true,\n bubbles: true,\n detail: {\n layer: this.layer\n }\n })\n this.dispatchEvent(event)\n }\n\n attributeChangedCallback(name, _oldValue, newValue) {\n if (this.layer !== null) {\n if (name === \"lat-lng\") {\n this.layer.setLatLng(JSON.parse(newValue))\n }\n if (name === \"opacity\") {\n this.layer.setOpacity(parseFloat(newValue))\n }\n }\n }\n}\n\n\nexport default LMarker\n","import { mapAddTo } from \"./events.js\"\n\nclass LOverlayLayers extends HTMLElement {\n constructor() {\n super()\n }\n \n connectedCallback() {\n this.addEventListener(mapAddTo, (ev) => {\n ev.detail[\"type\"] = \"overlay\"\n })\n }\n}\n\nexport default LOverlayLayers\n","import { popupAdd } from \"./events.js\"\n\nclass LPopup extends HTMLElement {\n constructor() {\n super()\n }\n\n connectedCallback() {\n const content = this.getAttribute(\"content\")\n const event = new CustomEvent(popupAdd, {\n cancelable: true,\n bubbles: true,\n detail: {\n content\n }\n })\n this.dispatchEvent(event)\n }\n}\n\n\nexport default LPopup\n\n","import { mapAddTo } from \"./events.js\"\n\nclass LTileLayer extends HTMLElement {\n constructor() {\n super()\n }\n\n connectedCallback() {\n const name = this.getAttribute(\"name\")\n const urlTemplate = this.getAttribute(\"url-template\")\n const attribution = this.getAttribute(\"attribution\")\n const options = { attribution }\n const layer = L.tileLayer(urlTemplate, options)\n const event = new CustomEvent(mapAddTo, { detail: { name, layer }, bubbles: true})\n this.dispatchEvent(event)\n }\n}\n\nexport default LTileLayer\n","class LLatLngBounds extends HTMLElement {\n static observedAttributes = [\"bounds\"]\n\n constructor() {\n super()\n }\n\n attributeChangedCallback(_name, _oldValue, newValue) {\n const event = new CustomEvent(\"map:bounds\", {\n bubbles: true,\n detail: {\n bounds: JSON.parse(newValue),\n method: this.getAttribute(\"method\") || \"fitBounds\"\n }\n })\n this.dispatchEvent(event)\n }\n}\n\nexport default LLatLngBounds\n","import { mapAddTo } from \"./events.js\"\n\nclass LImageOverlay extends HTMLElement {\n static observedAttributes = [\"url\", \"bounds\", \"opacity\"]\n\n constructor() {\n super()\n this.layer = null\n }\n\n connectedCallback() {\n const url = this.getAttribute(\"url\")\n const bounds = JSON.parse(this.getAttribute(\"bounds\"))\n const options = {\n opacity: parseFloat(this.getAttribute(\"opacity\") || \"1.0\"),\n alt: this.getAttribute(\"alt\") || \"\"\n }\n this.layer = L.imageOverlay(url, bounds, options)\n this.dispatchEvent(new CustomEvent(mapAddTo, {\n cancelable: true,\n bubbles: true,\n detail: {\n layer: this.layer\n }\n }))\n }\n\n attributeChangedCallback(name, _oldValue, newValue) {\n if (this.layer !== null) {\n if (name === \"url\") {\n this.layer.setUrl(newValue)\n } else if (name === \"bounds\") {\n this.layer.setBounds(JSON.parse(newValue))\n } else if (name === \"opacity\") {\n this.layer.setOpacity(parseFloat(newValue))\n }\n }\n }\n}\n\nexport default LImageOverlay\n","import { mapAddTo } from \"./events.js\"\n\nclass LVideoOverlay extends HTMLElement {\n constructor() {\n super()\n }\n\n connectedCallback() {\n const url = JSON.parse(this.getAttribute(\"url\"))\n const bounds = JSON.parse(this.getAttribute(\"bounds\"))\n const options = {\n opacity: parseFloat(this.getAttribute(\"opacity\") || \"1.0\"),\n alt: this.getAttribute(\"alt\") || \"\",\n autoplay: true,\n muted: true,\n playsInline: true\n }\n const layer = L.videoOverlay(url, bounds, options)\n this.dispatchEvent(new CustomEvent(mapAddTo, {\n cancelable: true,\n bubbles: true,\n detail: {\n layer\n }\n }))\n }\n}\n\nexport default LVideoOverlay\n\n","import { mapAddTo } from \"./events.js\"\n\nclass LGeoJSON extends HTMLElement {\n constructor() {\n super()\n }\n\n connectedCallback() {\n const layer = L.geoJSON(JSON.parse(this.getAttribute(\"geojson\")))\n this.dispatchEvent(new CustomEvent(mapAddTo, {\n bubbles: true,\n cancelable: true,\n detail: {\n layer\n }\n }))\n }\n}\n\nexport default LGeoJSON\n","// @ts-check\nimport LBaseLayers from \"./l-base-layers.js\";\nimport LControlLayers from \"./l-control-layers.js\"; \nimport LLayerGroup from \"./l-layer-group.js\"; \nimport LMap from \"./l-map.js\"; \nimport LMarker from \"./l-marker.js\"; \nimport LOverlayLayers from \"./l-overlay-layers.js\";\nimport LPopup from \"./l-popup.js\"; \nimport LTileLayer from \"./l-tile-layer.js\";\nimport LLatLngBounds from \"./l-lat-lng-bounds.js\";\nimport LImageOverlay from \"./l-image-overlay.js\";\nimport LVideoOverlay from \"./l-video-overlay.js\";\nimport LGeoJSON from \"./l-geojson.js\";\n\n\nconst init = (() => {\n // Custom elements (order of definition is important)\n customElements.define(\"l-map\", LMap)\n customElements.define(\"l-control-layers\", LControlLayers)\n customElements.define(\"l-base-layers\", LBaseLayers)\n customElements.define(\"l-overlay-layers\", LOverlayLayers)\n customElements.define(\"l-layer-group\", LLayerGroup)\n customElements.define(\"l-tile-layer\", LTileLayer)\n customElements.define(\"l-marker\", LMarker)\n customElements.define(\"l-popup\", LPopup)\n customElements.define(\"l-lat-lng-bounds\", LLatLngBounds)\n customElements.define(\"l-image-overlay\", LImageOverlay)\n customElements.define(\"l-video-overlay\", LVideoOverlay)\n customElements.define(\"l-geojson\", LGeoJSON)\n})();\n\nexport default init;\n"],"names":["mapAddTo","popupAdd","LBaseLayers","_HTMLElement","call","this","_inheritsLoose","prototype","connectedCallback","addEventListener","ev","detail","_wrapNativeSuper","HTMLElement","LControlLayers","control","L","layers","_ev$detail","type","name","layer","addOverlay","addBaseLayer","preventDefault","event","CustomEvent","cancelable","bubbles","dispatchEvent","LLayerGroup","getAttribute","group","layerGroup","stopPropagation","addLayer","MutationObserver","mutations","forEach","mutation","removedNodes","node","leafletId","getLayer","removeLayer","observe","childList","LMap","_this","map","method","bounds","_this2","center","zoom","setView","JSON","parse","parseInt","addTo","remove","LMarker","_proto","latLng","opacity","parseFloat","marker","setAttribute","stamp","bindPopup","content","attributeChangedCallback","_oldValue","newValue","setLatLng","setOpacity","observedAttributes","LOverlayLayers","LPopup","LTileLayer","urlTemplate","attribution","tileLayer","LLatLngBounds","_name","LImageOverlay","url","options","alt","imageOverlay","setUrl","setBounds","LVideoOverlay","autoplay","muted","playsInline","videoOverlay","LGeoJSON","geoJSON","customElements","define"],"mappings":"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"}
|
package/docs/content/_index.md
CHANGED
@@ -16,71 +16,69 @@ The hierarchy in the JS API is replicated by nesting HTML elements.
|
|
16
16
|
|
17
17
|
The following is a live running example of Leaflet HTML.
|
18
18
|
|
19
|
-
<
|
20
|
-
<
|
21
|
-
<
|
22
|
-
<
|
23
|
-
|
24
|
-
|
25
|
-
|
26
|
-
|
27
|
-
|
28
|
-
|
29
|
-
|
30
|
-
|
31
|
-
|
32
|
-
|
33
|
-
|
34
|
-
|
35
|
-
|
36
|
-
|
37
|
-
|
38
|
-
|
39
|
-
|
40
|
-
|
41
|
-
|
42
|
-
|
43
|
-
|
44
|
-
|
45
|
-
|
46
|
-
|
47
|
-
|
48
|
-
|
49
|
-
</div>
|
19
|
+
<l-map center="[39.61, -105.02]" zoom="10">
|
20
|
+
<l-control-layers>
|
21
|
+
<l-base-layers>
|
22
|
+
<l-tile-layer
|
23
|
+
name="CartoDB_Voyager"
|
24
|
+
url-template="https://{s}.basemaps.cartocdn.com/rastertiles/voyager/{z}/{x}/{y}{r}.png"
|
25
|
+
attribution='© <a href="https://www.openstreetmap.org/copyright">OpenStreetMap</a> contributors © <a href="https://carto.com/attributions">CARTO</a>'
|
26
|
+
max-zoom="20"
|
27
|
+
subdomains="abcd"
|
28
|
+
show
|
29
|
+
></l-tile-layer>
|
30
|
+
</l-base-layers>
|
31
|
+
<l-overlay-layers>
|
32
|
+
<l-layer-group name="Cities">
|
33
|
+
<l-marker lat-lng="[39.61, -105.02]">
|
34
|
+
<l-popup content="This is Littleton, CO."></l-popup>
|
35
|
+
</l-marker>
|
36
|
+
<l-marker lat-lng="[39.74, -104.99]">
|
37
|
+
<l-popup content="This is Denver, CO."></l-popup>
|
38
|
+
</l-marker>
|
39
|
+
<l-marker lat-lng="[39.73, -104.8]">
|
40
|
+
<l-popup content="This is Aurora, CO."></l-popup>
|
41
|
+
</l-marker>
|
42
|
+
<l-marker lat-lng="[39.77, -105.23]">
|
43
|
+
<l-popup content="This is Golden, CO."></l-popup>
|
44
|
+
</l-marker>
|
45
|
+
</l-layer-group>
|
46
|
+
</l-overlay-layers>
|
47
|
+
</l-control-layers>
|
48
|
+
</l-map>
|
50
49
|
|
51
50
|
|
52
51
|
```html
|
53
52
|
<!-- Example -->
|
54
|
-
<
|
55
|
-
<
|
56
|
-
<
|
57
|
-
<
|
58
|
-
|
59
|
-
|
60
|
-
|
61
|
-
|
62
|
-
|
63
|
-
|
64
|
-
|
65
|
-
|
66
|
-
|
67
|
-
|
68
|
-
|
69
|
-
|
70
|
-
|
71
|
-
|
72
|
-
|
73
|
-
|
74
|
-
|
75
|
-
|
76
|
-
|
77
|
-
|
78
|
-
|
79
|
-
|
80
|
-
|
81
|
-
|
82
|
-
|
83
|
-
|
84
|
-
</div>
|
53
|
+
<l-map center="[39.61, -105.02]" zoom="10">
|
54
|
+
<l-control-layers>
|
55
|
+
<l-base-layers>
|
56
|
+
<l-tile-layer
|
57
|
+
name="CartoDB_Voyager"
|
58
|
+
url-template="https://{s}.basemaps.cartocdn.com/rastertiles/voyager/{z}/{x}/{y}{r}.png"
|
59
|
+
attribution='© <a href="https://www.openstreetmap.org/copyright">OpenStreetMap</a> contributors © <a href="https://carto.com/attributions">CARTO</a>'
|
60
|
+
max-zoom="20"
|
61
|
+
subdomains="abcd"
|
62
|
+
show
|
63
|
+
></l-tile-layer>
|
64
|
+
</l-base-layers>
|
65
|
+
<l-overlay-layers>
|
66
|
+
<l-layer-group name="Cities">
|
67
|
+
<l-marker lat-lng="[39.61, -105.02]">
|
68
|
+
<l-popup content="This is Littleton, CO."></l-popup>
|
69
|
+
</l-marker>
|
70
|
+
<l-marker lat-lng="[39.74, -104.99]">
|
71
|
+
<l-popup content="This is Denver, CO."></l-popup>
|
72
|
+
</l-marker>
|
73
|
+
<l-marker lat-lng="[39.73, -104.8]">
|
74
|
+
<l-popup content="This is Aurora, CO."></l-popup>
|
75
|
+
</l-marker>
|
76
|
+
<l-marker lat-lng="[39.77, -105.23]">
|
77
|
+
<l-popup content="This is Golden, CO."></l-popup>
|
78
|
+
</l-marker>
|
79
|
+
</l-layer-group>
|
80
|
+
</l-overlay-layers>
|
81
|
+
</l-control-layers>
|
82
|
+
</l-map>
|
85
83
|
```
|
86
84
|
|
@@ -5,30 +5,33 @@
|
|
5
5
|
<meta name="viewport" content="width=device-width, initial-scale=1" />
|
6
6
|
<style>
|
7
7
|
|
8
|
-
|
9
|
-
|
10
|
-
|
11
|
-
|
12
|
-
|
8
|
+
l-map {
|
9
|
+
display: block;
|
10
|
+
block-size: 40ch;
|
11
|
+
isolation: isolate;
|
12
|
+
z-index: 1;
|
13
|
+
}
|
14
|
+
|
13
15
|
body {
|
14
16
|
font-family: system-ui;
|
15
17
|
line-height: 1.6;
|
16
18
|
}
|
17
|
-
h1, h2 {
|
18
|
-
font-weight: 100;
|
19
|
-
}
|
20
19
|
|
21
|
-
|
22
|
-
|
23
|
-
|
24
|
-
|
25
|
-
|
26
|
-
|
20
|
+
h1, h2 {
|
21
|
+
font-weight: 100;
|
22
|
+
}
|
23
|
+
|
24
|
+
pre {
|
25
|
+
padding-inline: 0.75rem;
|
26
|
+
padding-block: 0.5rem;
|
27
|
+
border-radius: 0.2rem;
|
28
|
+
overflow-x: scroll;
|
29
|
+
}
|
27
30
|
|
28
|
-
.wrapper {
|
29
|
-
|
30
|
-
|
31
|
-
}
|
31
|
+
.wrapper {
|
32
|
+
inline-size: min(90%, 80ch);
|
33
|
+
margin-inline: auto;
|
34
|
+
}
|
32
35
|
</style>
|
33
36
|
<link
|
34
37
|
rel="stylesheet"
|
@@ -42,7 +45,8 @@ pre {
|
|
42
45
|
crossorigin=""
|
43
46
|
></script>
|
44
47
|
<script
|
45
|
-
|
48
|
+
type="module"
|
49
|
+
src="https://unpkg.com/leaflet-html@latest/dist/leaflet-html.js"
|
46
50
|
></script>
|
47
51
|
</head>
|
48
52
|
<body>
|