@mapvx/web-components 0.0.38 → 0.0.39

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 (39) hide show
  1. package/dist/cjs/{base-floor-selector-_si0OaKV.cjs → base-floor-selector-BaaEIPJn.cjs} +2 -2
  2. package/dist/cjs/{class-map-CIFK_Nvk.cjs → class-map-CWrrDk6Q.cjs} +2 -2
  3. package/dist/cjs/{compact-floor-selector-CjEWEJM8.cjs → compact-floor-selector-E6k9faZO.cjs} +2 -2
  4. package/dist/cjs/{consume-BhigA9qa.cjs → consume-BPghnLcC.cjs} +2 -2
  5. package/dist/cjs/custom-map-NV_nB4sQ.cjs +160 -0
  6. package/dist/cjs/{floor-selector-DFyRRyAb.cjs → floor-selector-8KlKOWRd.cjs} +2 -2
  7. package/dist/cjs/{lazy-load-BE9-keHk.cjs → lazy-load-Db5agGyM.cjs} +2 -2
  8. package/dist/cjs/map-view-with-modal.cjs +1 -1
  9. package/dist/cjs/{qr-modal-B4BqIRX4.cjs → qr-modal-B_3Ax7pX.cjs} +2 -2
  10. package/dist/cjs/{route-options-DQc0dugR.cjs → route-options-Dqpa_KRL.cjs} +41 -13
  11. package/dist/cjs/route-view-totems.cjs +4 -3
  12. package/dist/es/assets/{compact-floor-selector-DNCJAHDM.js → compact-floor-selector-CFJ0KHMN.js} +2 -2
  13. package/dist/es/assets/components-BmwAJ-f1.js +319 -0
  14. package/dist/es/assets/{map-view-with-modal-D-9U3spD.js → map-view-with-modal-empaZwqw.js} +2 -2
  15. package/dist/es/assets/route-view-totems-BN3I5UEc.js +77 -0
  16. package/dist/es/assets/{utils-CIDFE1sK.js → utils-PPyTggvX.js} +2 -2
  17. package/dist/es/index.js +1 -1
  18. package/dist/es/route-view-totems.js +1 -1
  19. package/dist/iife/map-view-with-modal.js +75 -13
  20. package/dist/iife/route-view-totems.js +117 -25
  21. package/dist/sw/mvx-tiles-sw.js +40 -4
  22. package/package.json +1 -1
  23. package/dist/cjs/custom-map-D3dQQyOb.cjs +0 -97
  24. package/dist/es/assets/accessibility-D3Vyfstu.js.map +0 -1
  25. package/dist/es/assets/back_arrow-B3RltzaY.js.map +0 -1
  26. package/dist/es/assets/compact-floor-selector-DNCJAHDM.js.map +0 -1
  27. package/dist/es/assets/components-BeCPn1I0.js +0 -249
  28. package/dist/es/assets/components-BeCPn1I0.js.map +0 -1
  29. package/dist/es/assets/icon-destination-point-DEI58b8w.js.map +0 -1
  30. package/dist/es/assets/icon-origin-point-GS06gE2l.js.map +0 -1
  31. package/dist/es/assets/map-view-with-modal-D-9U3spD.js.map +0 -1
  32. package/dist/es/assets/repeat_icon-DN4_p9eh.js.map +0 -1
  33. package/dist/es/assets/route-view-totems-C-vpK0Jw.js +0 -72
  34. package/dist/es/assets/route-view-totems-C-vpK0Jw.js.map +0 -1
  35. package/dist/es/assets/styles-BByP6ECU.js.map +0 -1
  36. package/dist/es/assets/utils-CIDFE1sK.js.map +0 -1
  37. package/dist/es/assets/walking-BggsSG4g.js.map +0 -1
  38. package/dist/es/index.js.map +0 -1
  39. package/dist/es/route-view-totems.js.map +0 -1
@@ -28,15 +28,51 @@ workbox.loadModule('workbox-expiration');
28
28
  const ALLOWED_HOSTS = ['mapvx.com', 'lazarillo.app'];
29
29
  const isAllowedHost = hostname => ALLOWED_HOSTS.some(host => hostname.endsWith(host));
30
30
 
31
- // API cache for mapvx. Adjust the pattern if needed for additional endpoints
31
+ // Place details API - Use StaleWhileRevalidate for faster loading of static place data
32
+ registerRoute(
33
+ ({ url }) => url.hostname === 'api.mapvx.com' && url.pathname.includes('/place'),
34
+ new StaleWhileRevalidate({
35
+ cacheName: 'api-places-cache',
36
+ plugins: [
37
+ new CacheableResponsePlugin({ statuses: [0, 200, 204] }),
38
+ new ExpirationPlugin({ maxEntries: 500, maxAgeSeconds: 60 * 60 * 24 * 7 }), // 7 days
39
+ ],
40
+ })
41
+ );
42
+
43
+ // Configuration API - Use StaleWhileRevalidate for config data
44
+ registerRoute(
45
+ ({ url }) => url.hostname === 'api.mapvx.com' && url.pathname.includes('/configuration'),
46
+ new StaleWhileRevalidate({
47
+ cacheName: 'api-config-cache',
48
+ plugins: [
49
+ new CacheableResponsePlugin({ statuses: [0, 200, 204] }),
50
+ new ExpirationPlugin({ maxEntries: 100, maxAgeSeconds: 60 * 60 * 24 }), // 1 day
51
+ ],
52
+ })
53
+ );
54
+
55
+ // Route API - Use NetworkFirst since routes can change, but fall back to cache
56
+ registerRoute(
57
+ ({ url }) => url.hostname === 'api.mapvx.com' && url.pathname.includes('/route'),
58
+ new workbox.strategies.NetworkFirst({
59
+ cacheName: 'api-routes-cache',
60
+ networkTimeoutSeconds: 10,
61
+ plugins: [
62
+ new CacheableResponsePlugin({ statuses: [0, 200, 204] }),
63
+ new ExpirationPlugin({ maxEntries: 200, maxAgeSeconds: 60 * 60 * 24 }), // 1 day
64
+ ],
65
+ })
66
+ );
67
+
68
+ // Other API endpoints - Use NetworkFirst as fallback
32
69
  registerRoute(
33
70
  ({ url }) => url.hostname === 'api.mapvx.com',
34
71
  new workbox.strategies.NetworkFirst({
35
72
  cacheName: 'api-cache',
73
+ networkTimeoutSeconds: 10,
36
74
  plugins: [
37
- new workbox.cacheableResponse.CacheableResponsePlugin({
38
- statuses: [0, 200, 204],
39
- }),
75
+ new CacheableResponsePlugin({ statuses: [0, 200, 204] }),
40
76
  ],
41
77
  })
42
78
  );
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@mapvx/web-components",
3
3
  "description": "MapVX Web Components is a web components library that provides interactive and accessible mapping solutions. Built with Lit, it offers a modern, lightweight, and framework-agnostic way to integrate maps into any web application.",
4
- "version": "0.0.38",
4
+ "version": "0.0.39",
5
5
  "type": "module",
6
6
  "author": "Mapvx",
7
7
  "homepage": "https://mapvx.com",