@mapvx/web-components 0.0.26 → 0.0.28

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.
Files changed (38) hide show
  1. package/README.md +16 -3
  2. package/dist/cjs/{base-floor-selector-Bm8sTYdJ.cjs → base-floor-selector-B3a-e0nh.cjs} +2 -2
  3. package/dist/cjs/{class-map-BYn-9uvy.cjs → class-map-CIXsqmkI.cjs} +2 -2
  4. package/dist/cjs/{compact-floor-selector-DhhESOe0.cjs → compact-floor-selector-DH5p6Akw.cjs} +2 -2
  5. package/dist/cjs/{consume-BE7YStBl.cjs → consume-DbQgH4p2.cjs} +2 -2
  6. package/dist/cjs/custom-map-BNkNKDPg.cjs +97 -0
  7. package/dist/cjs/{floor-selector-C27g9abV.cjs → floor-selector-BnDHhgRH.cjs} +2 -2
  8. package/dist/cjs/{lazy-load-CES1Ya_D.cjs → lazy-load-D1GQGqJ4.cjs} +2 -2
  9. package/dist/cjs/map-view-with-modal.cjs +6 -6
  10. package/dist/cjs/{qr-modal-BQG75u-x.cjs → qr-modal-DqYNHVOp.cjs} +2 -2
  11. package/dist/cjs/{route-options-C09f-35r.cjs → route-options-DlRssN7i.cjs} +2 -2
  12. package/dist/cjs/route-view-totems.cjs +3 -3
  13. package/dist/components/custom-map.d.ts +13 -0
  14. package/dist/components/custom-map.js +64 -0
  15. package/dist/components/floor-selector.d.ts +6 -0
  16. package/dist/components/floor-selector.js +40 -0
  17. package/dist/components/qr-modal.d.ts +7 -0
  18. package/dist/components/qr-modal.js +69 -0
  19. package/dist/components/route-options.d.ts +6 -0
  20. package/dist/components/route-options.js +51 -0
  21. package/dist/components/zoom-controls.d.ts +6 -0
  22. package/dist/components/zoom-controls.js +40 -0
  23. package/dist/es/assets/{compact-floor-selector-D-822e0L.js → compact-floor-selector-COkSgy5C.js} +3 -3
  24. package/dist/es/assets/{components-B6oTyj0x.js → components-Hs2pRrmU.js} +55 -13
  25. package/dist/es/assets/{map-view-with-modal-DfkRlpPp.js → map-view-with-modal-dYGc6zQN.js} +46 -4
  26. package/dist/es/assets/{route-view-totems-BWtwjegR.js → route-view-totems-DdSI5H8D.js} +57 -9
  27. package/dist/es/assets/{utils-EeRdvb4i.js → utils-Fh1PwBJP.js} +117 -28
  28. package/dist/es/index.js +2 -2
  29. package/dist/es/route-view-totems.js +2 -2
  30. package/dist/iife/map-view-with-modal.js +2 -2
  31. package/dist/iife/route-view-totems.js +3 -3
  32. package/dist/route-view-totems.d.ts +16 -0
  33. package/dist/route-view-totems.js +58 -0
  34. package/dist/sw/mvx-tiles-sw.js +63 -0
  35. package/dist/utils/styles.d.ts +2 -0
  36. package/dist/utils/styles.js +5 -0
  37. package/package.json +4 -3
  38. package/dist/cjs/custom-map-03ak_Vof.cjs +0 -97
package/README.md CHANGED
@@ -26,6 +26,15 @@ npm install @mapvx/web-components
26
26
  https://unpkg.com/@mapvx/web-components/dist/iife/<component>
27
27
  ```
28
28
 
29
+ ## Service Worker (cache de tiles/assets)
30
+
31
+ Los componentes registran automáticamente un Service Worker en `/mvx-tiles-sw.js` si existe en la raíz del sitio (HTTPS).
32
+
33
+ - Última versión lista para copiar: `https://unpkg.com/@mapvx/web-components@latest/dist/sw/mvx-tiles-sw.js`
34
+ - Estrategia: PBF en CacheFirst (24h) y otros assets en StaleWhileRevalidate para dominios `*.mapvx.com` y `*.lazarillo.app`.
35
+
36
+ Guía completa (scripts para Drupal, ejemplos y snippet del SW) en la documentación: ver `docs/pages/es/examples.mdx` o `docs/pages/en/examples.mdx`.
37
+
29
38
  ## Build Structure
30
39
 
31
40
  ```
@@ -39,9 +48,11 @@ dist/
39
48
  │ ├── index.cjs
40
49
  │ ├── map-view-with-modal.cjs
41
50
  │ └── route-view-totems.cjs
42
- └── iife/ # Build for IIFE
43
- ├── route-view-totems.js
44
- └── map-view-with-modal.js
51
+ ├── iife/ # Build for IIFE
52
+ ├── route-view-totems.js
53
+ └── map-view-with-modal.js
54
+ └── sw/
55
+ └── mvx-tiles-sw.js
45
56
  ```
46
57
 
47
58
  The build directory structure is organized as follows:
@@ -52,6 +63,8 @@ The build directory structure is organized as follows:
52
63
 
53
64
  - `dist/iife/`: Contains the IIFE (Immediately Invoked Function Expression) build, which encapsulates all code in a self-executing function to avoid polluting the global scope.
54
65
 
66
+ - `dist/sw/`: Contains the Service Worker file that you can copy to your site's root.
67
+
55
68
  ## Available Components
56
69
 
57
70
  ### route-view-totems
@@ -1,2 +1,2 @@
1
- "use strict";const e=require("./consume-BE7YStBl.cjs"),t=require("./lazy-load-CES1Ya_D.cjs");var r=Object.defineProperty;class o extends t.i{getFloors(){if(!this.sdkData)return[];const{parentPlace:e,generalConfig:t}=this.sdkData;let r=e?.innerFloors||[];return t?.enabledFloors?.length>0&&(r=r.filter((e=>t.enabledFloors.includes(e.key)))),r}getCurrentFloor(){return this.sdkData?.currentFloor}getEnabledFloors(){return this.sdkData?.enabledFloors||[]}isFloorActive(e){const t=this.getCurrentFloor();return e.key===t?.key}isFloorEnabled(e){return this.getEnabledFloors().some((t=>t.key===e.key))}selectFloor(e){this.dispatchEvent(new CustomEvent("floorChange",{detail:e,bubbles:!0,composed:!0}))}getFloorDisplayName(e){return e.name||e.title||e.key}}((e,t,o)=>{for(var s,l=void 0,n=e.length-1;n>=0;n--)(s=e[n])&&(l=s(t,o,l)||l);l&&r(t,o,l)})([e.c({context:t.sdkContext,subscribe:!0})],o.prototype,"sdkData"),exports.BaseFloorSelector=o;
2
- //# sourceMappingURL=base-floor-selector-Bm8sTYdJ.cjs.map
1
+ "use strict";const e=require("./consume-DbQgH4p2.cjs"),t=require("./lazy-load-D1GQGqJ4.cjs");var r=Object.defineProperty;class o extends t.i{getFloors(){if(!this.sdkData)return[];const{parentPlace:e,generalConfig:t}=this.sdkData;let r=e?.innerFloors||[];return t?.enabledFloors?.length>0&&(r=r.filter((e=>t.enabledFloors.includes(e.key)))),r}getCurrentFloor(){return this.sdkData?.currentFloor}getEnabledFloors(){return this.sdkData?.enabledFloors||[]}isFloorActive(e){const t=this.getCurrentFloor();return e.key===t?.key}isFloorEnabled(e){return this.getEnabledFloors().some((t=>t.key===e.key))}selectFloor(e){this.dispatchEvent(new CustomEvent("floorChange",{detail:e,bubbles:!0,composed:!0}))}getFloorDisplayName(e){return e.name||e.title||e.key}}((e,t,o)=>{for(var s,l=void 0,n=e.length-1;n>=0;n--)(s=e[n])&&(l=s(t,o,l)||l);l&&r(t,o,l)})([e.c({context:t.sdkContext,subscribe:!0})],o.prototype,"sdkData"),exports.BaseFloorSelector=o;
2
+ //# sourceMappingURL=base-floor-selector-B3a-e0nh.cjs.map
@@ -1,4 +1,4 @@
1
- "use strict";const t=require("./lazy-load-CES1Ya_D.cjs"),s=1;
1
+ "use strict";const t=require("./lazy-load-D1GQGqJ4.cjs"),s=1;
2
2
  /**
3
3
  * @license
4
4
  * Copyright 2017 Google LLC
@@ -9,4 +9,4 @@
9
9
  * Copyright 2018 Google LLC
10
10
  * SPDX-License-Identifier: BSD-3-Clause
11
11
  */const r=(t=>(...s)=>({_$litDirective$:t,values:s}))(class extends e{constructor(t){if(super(t),t.type!==s||"class"!==t.name||t.strings?.length>2)throw Error("`classMap()` can only be used in the `class` attribute and must be the only part in the attribute.")}render(t){return" "+Object.keys(t).filter((s=>t[s])).join(" ")+" "}update(s,[e]){if(void 0===this.st){this.st=new Set,void 0!==s.strings&&(this.nt=new Set(s.strings.join(" ").split(/\s/).filter((t=>""!==t))));for(const t in e)e[t]&&!this.nt?.has(t)&&this.st.add(t);return this.render(e)}const r=s.element.classList;for(const t of this.st)t in e||(r.remove(t),this.st.delete(t));for(const t in e){const s=!!e[t];s===this.st.has(t)||this.nt?.has(t)||(s?(r.add(t),this.st.add(t)):(r.remove(t),this.st.delete(t)))}return t.T}});exports.e=r;
12
- //# sourceMappingURL=class-map-BYn-9uvy.cjs.map
12
+ //# sourceMappingURL=class-map-CIXsqmkI.cjs.map
@@ -1,4 +1,4 @@
1
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const o=require("./lazy-load-CES1Ya_D.cjs"),r=require("./class-map-BYn-9uvy.cjs"),e=require("./base-floor-selector-Bm8sTYdJ.cjs");var t,l=Object.defineProperty,s=Object.getOwnPropertyDescriptor,i=o=>{throw TypeError(o)},a=(o,r,e,t)=>{for(var i,a=t>1?void 0:t?s(r,e):r,n=o.length-1;n>=0;n--)(i=o[n])&&(a=(t?i(r,e,a):i(a))||a);return t&&a&&l(r,e,a),a},n=(o,r,e)=>r.has(o)||i("Cannot "+e);exports.CompactFloorSelector=class extends e.BaseFloorSelector{constructor(){var o,r,e;super(...arguments),o=this,e=!1,(r=t).has(o)?i("Cannot add the same private member more than once"):r instanceof WeakSet?r.add(o):r.set(o,e),this.isOpen=!1,this._handleClickOutside=o=>{this.isOpen&&!this.shadowRoot?.contains(o.target)&&(this.isOpen=!1,this.requestUpdate())}}get disabled(){return n(o=this,r=t,"read from private field"),e?e.call(o):r.get(o);var o,r,e}set disabled(o){var r,e,l;l=o,n(r=this,e=t,"write to private field"),e.set(r,l)}_toggleDropdown(o){this.disabled||(o.stopPropagation(),this.isOpen=!this.isOpen,this.requestUpdate())}_selectFloor(o){this.disabled||(this.selectFloor(o),this.isOpen=!1,this.requestUpdate())}connectedCallback(){super.connectedCallback(),document.addEventListener("click",this._handleClickOutside)}disconnectedCallback(){super.disconnectedCallback(),document.removeEventListener("click",this._handleClickOutside)}render(){if(!this.sdkData)return o.x`<div>No data</div>`;const e=this.getFloors(),t=this.getCurrentFloor(),l=t?this.getFloorDisplayName(t):"Seleccionar piso";return o.x`
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const o=require("./lazy-load-D1GQGqJ4.cjs"),r=require("./class-map-CIXsqmkI.cjs"),e=require("./base-floor-selector-B3a-e0nh.cjs");var t,l=Object.defineProperty,s=Object.getOwnPropertyDescriptor,i=o=>{throw TypeError(o)},a=(o,r,e,t)=>{for(var i,a=t>1?void 0:t?s(r,e):r,n=o.length-1;n>=0;n--)(i=o[n])&&(a=(t?i(r,e,a):i(a))||a);return t&&a&&l(r,e,a),a},n=(o,r,e)=>r.has(o)||i("Cannot "+e);exports.CompactFloorSelector=class extends e.BaseFloorSelector{constructor(){var o,r,e;super(...arguments),o=this,e=!1,(r=t).has(o)?i("Cannot add the same private member more than once"):r instanceof WeakSet?r.add(o):r.set(o,e),this.isOpen=!1,this._handleClickOutside=o=>{this.isOpen&&!this.shadowRoot?.contains(o.target)&&(this.isOpen=!1,this.requestUpdate())}}get disabled(){return n(o=this,r=t,"read from private field"),e?e.call(o):r.get(o);var o,r,e}set disabled(o){var r,e,l;l=o,n(r=this,e=t,"write to private field"),e.set(r,l)}_toggleDropdown(o){this.disabled||(o.stopPropagation(),this.isOpen=!this.isOpen,this.requestUpdate())}_selectFloor(o){this.disabled||(this.selectFloor(o),this.isOpen=!1,this.requestUpdate())}connectedCallback(){super.connectedCallback(),document.addEventListener("click",this._handleClickOutside)}disconnectedCallback(){super.disconnectedCallback(),document.removeEventListener("click",this._handleClickOutside)}render(){if(!this.sdkData)return o.x`<div>No data</div>`;const e=this.getFloors(),t=this.getCurrentFloor(),l=t?this.getFloorDisplayName(t):"Seleccionar piso";return o.x`
2
2
  <div class="floor-dropdown">
3
3
  <button
4
4
  class=${r.e({"floor-button":!0,active:!!t,open:this.isOpen})}
@@ -173,4 +173,4 @@
173
173
  }
174
174
  }
175
175
  `],a([o.n({type:Boolean})],exports.CompactFloorSelector.prototype,"disabled",1),exports.CompactFloorSelector=a([o.t("compact-floor-selector")],exports.CompactFloorSelector);
176
- //# sourceMappingURL=compact-floor-selector-DhhESOe0.cjs.map
176
+ //# sourceMappingURL=compact-floor-selector-DH5p6Akw.cjs.map
@@ -1,4 +1,4 @@
1
- "use strict";const s=require("./lazy-load-CES1Ya_D.cjs");
1
+ "use strict";const s=require("./lazy-load-D1GQGqJ4.cjs");
2
2
  /**
3
3
  * @license
4
4
  * Copyright 2021 Google LLC
@@ -9,4 +9,4 @@
9
9
  * Copyright 2022 Google LLC
10
10
  * SPDX-License-Identifier: BSD-3-Clause
11
11
  */exports.c=function({context:s,subscribe:i}){return(c,e)=>{"object"==typeof e?e.addInitializer((function(){new t(this,{context:s,callback:s=>{c.set.call(this,s)},subscribe:i})})):c.constructor.addInitializer((c=>{new t(c,{context:s,callback:s=>{c[e]=s},subscribe:i})}))}};
12
- //# sourceMappingURL=consume-BE7YStBl.cjs.map
12
+ //# sourceMappingURL=consume-DbQgH4p2.cjs.map