@mapvx/web-components 0.0.20 → 0.0.22

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 (33) hide show
  1. package/dist/cjs/back_arrow-DNrh84z6.cjs +2 -0
  2. package/dist/cjs/base-floor-selector-DHIQdC2s.cjs +2 -0
  3. package/dist/cjs/class-map-BGLcy4Zq.cjs +12 -0
  4. package/dist/cjs/compact-floor-selector-BCLDxKto.cjs +151 -0
  5. package/dist/cjs/{consume-CE1TVLg-.cjs → consume-vuXzE_ul.cjs} +2 -2
  6. package/dist/cjs/custom-map-CqKD5Fum.cjs +90 -0
  7. package/dist/cjs/floor-selector-Bp_umxgG.cjs +15 -0
  8. package/dist/cjs/{lazy-load-DHtTuPrp.cjs → lazy-load-DWZU-puG.cjs} +2 -2
  9. package/dist/cjs/map-view-with-modal.cjs +45 -4
  10. package/dist/cjs/maplibre-gl-BNL6ASmq.cjs +2 -0
  11. package/dist/cjs/qr-modal-7T6NzJv6.cjs +16 -0
  12. package/dist/cjs/{route-options-H5wyZZ4h.cjs → route-options-DdF4AtDx.cjs} +3 -3
  13. package/dist/cjs/route-view-totems.cjs +7 -6
  14. package/dist/es/assets/back_arrow-B4vxoqtW.js +4 -0
  15. package/dist/es/assets/compact-floor-selector-D-LPjNVW.js +253 -0
  16. package/dist/es/assets/{components-y75xh-dL.js → components-BGe90NOX.js} +199 -44
  17. package/dist/es/assets/map-view-with-modal-CwE9e04X.js +274 -0
  18. package/dist/es/assets/maplibre-gl-BKzNcqp_.js +4 -0
  19. package/dist/es/assets/{route-view-totems-C8X6pCW7.js → route-view-totems-Cu8sG0kp.js} +19 -19
  20. package/dist/es/assets/{utils-C2SiQIHC.js → utils-4sQ3ZnpP.js} +345 -42
  21. package/dist/es/index.js +2 -2
  22. package/dist/es/route-view-totems.js +2 -2
  23. package/dist/iife/map-view-with-modal.js +290 -7
  24. package/dist/iife/route-view-totems.js +100 -17
  25. package/package.json +8 -7
  26. package/dist/cjs/back_arrow-Cb1GjmUe.cjs +0 -2
  27. package/dist/cjs/custom-map-C_Cpnb0N.cjs +0 -8
  28. package/dist/cjs/floor-selector-D6YcNzdw.cjs +0 -20
  29. package/dist/cjs/maplibre-gl-P-Xd6Hdn.cjs +0 -2
  30. package/dist/cjs/qr-modal-CkWqbgpG.cjs +0 -16
  31. package/dist/es/assets/back_arrow-CUOAm8Zc.js +0 -4
  32. package/dist/es/assets/map-view-with-modal-B5Mk49H1.js +0 -140
  33. package/dist/es/assets/maplibre-gl-KgJ_zm92.js +0 -4
@@ -0,0 +1,253 @@
1
+ import { x, a as i, n, t } from './route-view-totems-Cu8sG0kp.js';
2
+ import { B as BaseFloorSelector, e } from './components-BGe90NOX.js';
3
+
4
+ var __defProp = Object.defineProperty;
5
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
6
+ var __typeError = (msg) => {
7
+ throw TypeError(msg);
8
+ };
9
+ var __decorateClass = (decorators, target, key, kind) => {
10
+ var result = kind > 1 ? void 0 : kind ? __getOwnPropDesc(target, key) : target;
11
+ for (var i = decorators.length - 1, decorator; i >= 0; i--)
12
+ if (decorator = decorators[i])
13
+ result = (kind ? decorator(target, key, result) : decorator(result)) || result;
14
+ if (kind && result) __defProp(target, key, result);
15
+ return result;
16
+ };
17
+ var __accessCheck = (obj, member, msg) => member.has(obj) || __typeError("Cannot " + msg);
18
+ var __privateGet = (obj, member, getter) => (__accessCheck(obj, member, "read from private field"), getter ? getter.call(obj) : member.get(obj));
19
+ var __privateAdd = (obj, member, value) => member.has(obj) ? __typeError("Cannot add the same private member more than once") : member instanceof WeakSet ? member.add(obj) : member.set(obj, value);
20
+ var __privateSet = (obj, member, value, setter) => (__accessCheck(obj, member, "write to private field"), member.set(obj, value), value);
21
+ var _borderColor, _borderWidth;
22
+ let CompactFloorSelector = class extends BaseFloorSelector {
23
+ constructor() {
24
+ super(...arguments);
25
+ __privateAdd(this, _borderColor, "#251660");
26
+ __privateAdd(this, _borderWidth, 1);
27
+ this.isOpen = false;
28
+ this._handleClickOutside = (event) => {
29
+ if (this.isOpen && !this.shadowRoot?.contains(event.target)) {
30
+ this.isOpen = false;
31
+ this.requestUpdate();
32
+ }
33
+ };
34
+ }
35
+ get borderColor() {
36
+ return __privateGet(this, _borderColor);
37
+ }
38
+ set borderColor(_) {
39
+ __privateSet(this, _borderColor, _);
40
+ }
41
+ get borderWidth() {
42
+ return __privateGet(this, _borderWidth);
43
+ }
44
+ set borderWidth(_) {
45
+ __privateSet(this, _borderWidth, _);
46
+ }
47
+ _toggleDropdown(event) {
48
+ event.stopPropagation();
49
+ this.isOpen = !this.isOpen;
50
+ this.requestUpdate();
51
+ }
52
+ _selectFloor(floorKey) {
53
+ this.selectFloor(floorKey);
54
+ this.isOpen = false;
55
+ this.requestUpdate();
56
+ }
57
+ connectedCallback() {
58
+ super.connectedCallback();
59
+ document.addEventListener("click", this._handleClickOutside);
60
+ }
61
+ disconnectedCallback() {
62
+ super.disconnectedCallback();
63
+ document.removeEventListener("click", this._handleClickOutside);
64
+ }
65
+ render() {
66
+ if (!this.sdkData) {
67
+ return x`<div>No data</div>`;
68
+ }
69
+ const floors = this.getFloors();
70
+ const currentFloor = this.getCurrentFloor();
71
+ const currentFloorName = currentFloor ? this.getFloorDisplayName(currentFloor) : "Seleccionar piso";
72
+ return x`
73
+ <div class="floor-dropdown">
74
+ <button
75
+ class=${e({
76
+ "floor-button": true,
77
+ active: !!currentFloor,
78
+ open: this.isOpen
79
+ })}
80
+ style="border: ${this.borderWidth}px solid ${this.borderColor};"
81
+ @click=${this._toggleDropdown}
82
+ >
83
+ <span>${currentFloorName}</span>
84
+ <div class="dropdown-arrow"></div>
85
+ </button>
86
+
87
+ <div
88
+ class=${e({
89
+ "floor-list": true,
90
+ open: this.isOpen
91
+ })}
92
+ >
93
+ ${floors.map((floor) => {
94
+ const isActive = this.isFloorActive(floor);
95
+ return x`
96
+ <div
97
+ class=${e({
98
+ "floor-option": true,
99
+ active: isActive
100
+ })}
101
+ @click=${() => this._selectFloor(floor.key)}
102
+ >
103
+ ${this.getFloorDisplayName(floor)}
104
+ </div>
105
+ `;
106
+ })}
107
+ </div>
108
+ </div>
109
+ `;
110
+ }
111
+ };
112
+ _borderColor = new WeakMap();
113
+ _borderWidth = new WeakMap();
114
+ CompactFloorSelector.styles = [
115
+ i`
116
+ :host {
117
+ display: block;
118
+ position: relative;
119
+ z-index: 1000;
120
+ }
121
+
122
+ .floor-dropdown {
123
+ position: relative;
124
+ display: inline-block;
125
+ }
126
+
127
+ .floor-button {
128
+ background: #fff;
129
+ border-radius: 8px;
130
+ padding: 8px 12px;
131
+ font-size: 14px;
132
+ font-weight: 500;
133
+ color: #251660;
134
+ cursor: pointer;
135
+ display: flex;
136
+ align-items: center;
137
+ gap: 8px;
138
+ min-width: 120px;
139
+ box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1);
140
+ transition: all 0.2s ease;
141
+ }
142
+
143
+ .floor-button:hover {
144
+ border-color: #007bff;
145
+ box-shadow: 0 2px 8px rgba(0, 123, 255, 0.2);
146
+ }
147
+
148
+ .floor-button.active {
149
+ background: #fff;
150
+ color: #251660;
151
+ border-color: #251660;
152
+ }
153
+
154
+ .floor-button.disabled {
155
+ opacity: 0.5;
156
+ cursor: not-allowed;
157
+ }
158
+
159
+ .dropdown-arrow {
160
+ width: 0;
161
+ height: 0;
162
+ border-left: 4px solid transparent;
163
+ border-right: 4px solid transparent;
164
+ border-top: 4px solid currentColor;
165
+ transition: transform 0.2s ease;
166
+ }
167
+
168
+ .floor-button.open .dropdown-arrow {
169
+ transform: rotate(180deg);
170
+ }
171
+
172
+ .floor-list {
173
+ position: absolute;
174
+ top: 100%;
175
+ left: 0;
176
+ right: 0;
177
+ background: #fff;
178
+ border: 1px solid #ddd;
179
+ border-radius: 8px;
180
+ box-shadow: 0 4px 12px rgba(0, 0, 0, 0.15);
181
+ max-height: 200px;
182
+ overflow-y: auto;
183
+ z-index: 1001;
184
+ margin-top: 4px;
185
+ display: none;
186
+ }
187
+
188
+ .floor-list.open {
189
+ display: block;
190
+ }
191
+
192
+ .floor-option {
193
+ padding: 8px 12px;
194
+ cursor: pointer;
195
+ border-bottom: 1px solid #f0f0f0;
196
+ transition: background-color 0.2s ease;
197
+ font-size: 14px;
198
+ color: #251660;
199
+ }
200
+
201
+ .floor-option:last-child {
202
+ border-bottom: none;
203
+ }
204
+
205
+ .floor-option:hover {
206
+ background-color: #f8f9fa;
207
+ }
208
+
209
+ .floor-option.active {
210
+ background-color: #f3e7ff;
211
+ color: #251660;
212
+ }
213
+
214
+ .floor-option.disabled {
215
+ opacity: 0.5;
216
+ cursor: not-allowed;
217
+ }
218
+
219
+ .floor-option.disabled:hover {
220
+ background-color: transparent;
221
+ }
222
+
223
+ /* Mobile styles */
224
+ @media (max-width: 768px) {
225
+ .floor-button {
226
+ font-size: 12px;
227
+ padding: 6px 10px;
228
+ min-width: 100px;
229
+ }
230
+
231
+ .floor-option {
232
+ font-size: 12px;
233
+ padding: 6px 10px;
234
+ }
235
+
236
+ .floor-list {
237
+ max-height: 150px;
238
+ }
239
+ }
240
+ `
241
+ ];
242
+ __decorateClass([
243
+ n({ type: String })
244
+ ], CompactFloorSelector.prototype, "borderColor", 1);
245
+ __decorateClass([
246
+ n({ type: Number })
247
+ ], CompactFloorSelector.prototype, "borderWidth", 1);
248
+ CompactFloorSelector = __decorateClass([
249
+ t("compact-floor-selector")
250
+ ], CompactFloorSelector);
251
+
252
+ export { CompactFloorSelector };
253
+ //# sourceMappingURL=compact-floor-selector-D-LPjNVW.js.map
@@ -1,5 +1,5 @@
1
- import { i as i$2, x, r, t as t$1, T } from './route-view-totems-C8X6pCW7.js';
2
- import { R as RouteAnimationController, M as MarkerController } from './utils-C2SiQIHC.js';
1
+ import { i as i$2, x, r, a as i$3, t as t$1, T } from './route-view-totems-Cu8sG0kp.js';
2
+ import { R as RouteAnimationController, M as MarkerController } from './utils-4sQ3ZnpP.js';
3
3
 
4
4
  /**
5
5
  * @license
@@ -42,11 +42,11 @@ class s{get value(){return this.o}set value(s){this.setValue(s);}setValue(s,t=fa
42
42
 
43
43
  const sdkContext = n("lazarillo-sdk");
44
44
 
45
- const style$3 = ":host{display:block;height:100%;width:100%}#map{width:100vw;height:100vh}.maplibregl-canvas{width:100%;height:100%}.maplibregl-ctrl-bottom-right .maplibregl-ctrl{float:right;margin:0 20px 50px 0}.maplibregl-ctrl{bottom:80px;right:40px;border:3px solid #000;padding:0;border-radius:100px;background:#fff;overflow:hidden;display:flex;flex-direction:column;width:70px;height:129px}.maplibregl-ctrl button{background-color:transparent;box-shadow:none;border-radius:0;margin:0;font-size:31px;font-weight:400;width:100%;height:100%;color:#000;transition:background-color .4s ease,color .4s ease}.maplibregl-ctrl button:hover{background-color:#000!important;color:#fff}.maplibregl-ctrl button.maplibregl-ctrl-zoom-in{border-bottom:3px solid #000}.maplibregl-ctrl-group .maplibregl-ctrl-icon{background:none!important;display:none!important}.maplibregl-ctrl-group button.maplibregl-ctrl-zoom-in:after{content:\"+\";display:block;font-size:32px;font-weight:600;line-height:1;text-align:center}.maplibregl-ctrl-group button.maplibregl-ctrl-zoom-out:after{content:\"–\";display:block;font-size:32px;font-weight:600;line-height:1;text-align:center}#modal{position:absolute;width:100%;height:100%;background:#0003;-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);display:flex;align-items:center;justify-content:center;justify-items:center;top:0;left:0;z-index:100}.modal-content{min-width:100px;min-height:100px;background-color:#fff;border:1px solid #000;border-radius:10px;padding:10px;width:fit-content;height:fit-content;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:10px}.modal-text{font-family:Poppins,sans-serif;font-size:20pt;font-weight:500;color:#000}.modal-icon{max-height:100px;align-self:center}.maplibregl-marker:has(.popup){z-index:10}.maplibregl-marker:not(:has(.popup)){z-index:5}";
45
+ const style$3 = ":host{display:block;height:100%;width:100%}#map,.maplibregl-canvas{width:100%;height:100%}.maplibregl-ctrl-bottom-right .maplibregl-ctrl{float:right;margin:0 20px 50px 0}.maplibregl-ctrl{bottom:var(--zoom-button-margin, 80px);right:var(--zoom-button-margin, 40px);border:3px solid #000;padding:0;border-radius:100px;background:#fff;overflow:hidden;display:flex;flex-direction:column;width:var(--zoom-button-size, 70px);height:calc(var(--zoom-button-size, 70px) * 1.8)}.maplibregl-ctrl button{background-color:transparent;box-shadow:none;border-radius:0;margin:0;font-size:calc(var(--zoom-button-size, 70px) * .45);font-weight:400;width:100%;height:100%;color:#000;transition:background-color .4s ease,color .4s ease}.maplibregl-ctrl button:hover{background-color:#000!important;color:#fff}.maplibregl-ctrl button.maplibregl-ctrl-zoom-in{border-bottom:3px solid #000}.maplibregl-ctrl-group .maplibregl-ctrl-icon{background:none!important;display:none!important}.maplibregl-ctrl-group button.maplibregl-ctrl-zoom-in:after{content:\"+\";display:block;font-size:calc(var(--zoom-button-size, 70px) * .46);font-weight:600;line-height:1;text-align:center}.maplibregl-ctrl-group button.maplibregl-ctrl-zoom-out:after{content:\"–\";display:block;font-size:calc(var(--zoom-button-size, 70px) * .46);font-weight:600;line-height:1;text-align:center}#modal{position:absolute;width:100%;height:100%;background:#0003;-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);display:flex;align-items:center;justify-content:center;justify-items:center;top:0;left:0;z-index:100}.modal-content{min-width:100px;min-height:100px;background-color:#fff;border:1px solid #000;border-radius:10px;padding:10px;width:fit-content;height:fit-content;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:10px}@media (max-width: 768px){#modal{align-items:flex-start;padding-top:60px}.modal-content{max-width:90%;margin:0 auto;border-radius:12px;box-shadow:0 4px 12px #00000026}}:host([compact-mode]){border-radius:12px!important;overflow:hidden!important;box-shadow:0 4px 12px #00000026!important}:host([compact-mode]) #map{border-radius:12px}:host([compact-mode]) .maplibregl-canvas{border-radius:12px}.modal-text{font-family:Poppins,sans-serif;font-size:20pt;font-weight:500;color:#000}.modal-icon{height:100px;align-self:center}.maplibregl-marker:has(.popup){z-index:10}.maplibregl-marker:not(:has(.popup)){z-index:5}.maplibregl-ctrl-compass{visibility:hidden;height:0px}";
46
46
 
47
47
  var __defProp$3 = Object.defineProperty;
48
48
  var __getOwnPropDesc$3 = Object.getOwnPropertyDescriptor;
49
- var __decorateClass$3 = (decorators, target, key, kind) => {
49
+ var __decorateClass$4 = (decorators, target, key, kind) => {
50
50
  var result = kind > 1 ? void 0 : kind ? __getOwnPropDesc$3(target, key) : target;
51
51
  for (var i = decorators.length - 1, decorator; i >= 0; i--)
52
52
  if (decorator = decorators[i])
@@ -100,13 +100,24 @@ let CustomMap = class extends i$2 {
100
100
  async firstUpdated() {
101
101
  if (this.shadowRoot) {
102
102
  const style2 = document.createElement("style");
103
- style2.textContent = (await import('./maplibre-gl-KgJ_zm92.js')).default;
103
+ style2.textContent = (await import('./maplibre-gl-BKzNcqp_.js')).default;
104
104
  this.shadowRoot.appendChild(style2);
105
105
  }
106
106
  }
107
107
  async updated() {
108
+ this.updateAttributes();
108
109
  if (!this.sdkData?.sdk) return;
109
- const { sdk, parentPlace, locale, generalConfig, currentFloor, markers, route, isRouteAnimating } = this.sdkData;
110
+ const {
111
+ sdk,
112
+ parentPlace,
113
+ locale,
114
+ generalConfig,
115
+ currentFloor,
116
+ markers,
117
+ route,
118
+ isRouteAnimating,
119
+ cameraInitialized
120
+ } = this.sdkData;
110
121
  if (!this.lzMap && sdk && parentPlace && locale && this.shadowRoot && generalConfig) {
111
122
  this.routeAnimationController.setParentPlace(parentPlace);
112
123
  this.routeAnimationController.setLocale(locale);
@@ -150,9 +161,7 @@ let CustomMap = class extends i$2 {
150
161
  if (currentFloor && currentFloor.key !== this._currentMapFloor && this.mapReady) {
151
162
  this.setCurrentMapFloor(currentFloor.key);
152
163
  }
153
- if (markers.some(
154
- (marker) => !this.markerController.getMarkersIds().includes(marker.id) || markers.length !== this.markerController.getMarkersIds().length
155
- )) {
164
+ if (markers.some((marker) => !this.markerController.getMarkersIds().includes(marker.id)) || markers.length !== this.markerController.getMarkersIds().length) {
156
165
  if (this.mapReady) {
157
166
  this.updateMarkers();
158
167
  } else {
@@ -162,7 +171,7 @@ let CustomMap = class extends i$2 {
162
171
  if (this.pendingUpdateMarkers && this.mapReady) {
163
172
  this.updateMarkers();
164
173
  }
165
- if (this.pendingUpdateCamera && this.sdkData?.destination) {
174
+ if ((this.pendingUpdateCamera || !cameraInitialized && this.mapReady) && this.sdkData?.destination) {
166
175
  this._initializeCamera();
167
176
  this.pendingUpdateCamera = false;
168
177
  }
@@ -192,8 +201,20 @@ let CustomMap = class extends i$2 {
192
201
  bearing: this.config?.mapRotations?.[origin?.lazarilloId ?? ""]?.angle ?? 0,
193
202
  animate: false,
194
203
  pitch: this.config?.pitch ?? 0,
195
- center
204
+ center,
205
+ zoom: this.config?.initialZoom ?? 17
196
206
  });
207
+ const floor = destination?.inFloors?.[0];
208
+ if (floor) {
209
+ this.lzMap?.updateFloor(floor);
210
+ }
211
+ this.dispatchEvent(
212
+ new CustomEvent("cameraInitialized", {
213
+ detail: {},
214
+ bubbles: true,
215
+ composed: true
216
+ })
217
+ );
197
218
  }
198
219
  setCurrentMapFloor(floorId) {
199
220
  if (this._currentMapFloor === floorId || !this.lzMap) return;
@@ -208,6 +229,22 @@ let CustomMap = class extends i$2 {
208
229
  })
209
230
  );
210
231
  }
232
+ updateAttributes() {
233
+ const parentElement = this.closest("map-view-with-modal");
234
+ if (parentElement) {
235
+ const compactMode = parentElement.hasAttribute("compact-mode");
236
+ const zoomSize = parentElement.getAttribute("zoom-size") || "normal";
237
+ if (compactMode) {
238
+ this.setAttribute("compact-mode", "");
239
+ console.log("Modo compacto activado");
240
+ } else {
241
+ this.removeAttribute("compact-mode");
242
+ console.log("Modo compacto desactivado");
243
+ }
244
+ this.setAttribute("zoom-size", zoomSize);
245
+ console.log("Tamaño de zoom aplicado:", zoomSize);
246
+ }
247
+ }
211
248
  render() {
212
249
  return x`<div id="map"></div>
213
250
  <div id="modal" style="display: ${this.modalData ? "flex" : "none"}">
@@ -218,11 +255,97 @@ let CustomMap = class extends i$2 {
218
255
  </div>`;
219
256
  }
220
257
  };
221
- CustomMap.styles = [r(style$3)];
222
- __decorateClass$3([
258
+ CustomMap.styles = [
259
+ i$3`
260
+ :host {
261
+ height: 100%;
262
+ width: 100%;
263
+ }
264
+ `,
265
+ r(style$3),
266
+ i$3`
267
+ :host([compact-mode]) {
268
+ border-radius: 12px !important;
269
+ overflow: hidden !important;
270
+ box-shadow: 0 4px 12px rgba(0, 0, 0, 0.15) !important;
271
+ border: 2px solid #e9ecef !important;
272
+ }
273
+
274
+ :host([compact-mode]) #map {
275
+ border-radius: 12px !important;
276
+ }
277
+
278
+ :host([compact-mode]) .maplibregl-canvas {
279
+ border-radius: 12px !important;
280
+ }
281
+
282
+ :host([zoom-size='small']) {
283
+ --zoom-button-size: 32px;
284
+ --zoom-button-margin: 8px;
285
+ }
286
+
287
+ :host([zoom-size='normal']) {
288
+ --zoom-button-size: 40px;
289
+ --zoom-button-margin: 12px;
290
+ }
291
+
292
+ :host([zoom-size='large']) {
293
+ --zoom-button-size: 48px;
294
+ --zoom-button-margin: 16px;
295
+ }
296
+
297
+ /* Aplicar variables CSS a los botones de zoom */
298
+ :host([zoom-size='small']) .maplibregl-ctrl {
299
+ width: 32px !important;
300
+ height: 58px !important;
301
+ bottom: 8px !important;
302
+ right: 8px !important;
303
+ }
304
+
305
+ :host([zoom-size='normal']) .maplibregl-ctrl {
306
+ width: 40px !important;
307
+ height: 72px !important;
308
+ bottom: 12px !important;
309
+ right: 12px !important;
310
+ }
311
+
312
+ :host([zoom-size='large']) .maplibregl-ctrl {
313
+ width: 48px !important;
314
+ height: 86px !important;
315
+ bottom: 16px !important;
316
+ right: 16px !important;
317
+ }
318
+
319
+ /* Ajustar tamaño de fuente según el tamaño del botón */
320
+ :host([zoom-size='small']) .maplibregl-ctrl button {
321
+ font-size: 14px !important;
322
+ }
323
+
324
+ :host([zoom-size='normal']) .maplibregl-ctrl button {
325
+ font-size: 18px !important;
326
+ }
327
+
328
+ :host([zoom-size='large']) .maplibregl-ctrl button {
329
+ font-size: 22px !important;
330
+ }
331
+
332
+ :host([zoom-size='small']) .maplibregl-ctrl-group button::after {
333
+ font-size: 14px !important;
334
+ }
335
+
336
+ :host([zoom-size='normal']) .maplibregl-ctrl-group button::after {
337
+ font-size: 18px !important;
338
+ }
339
+
340
+ :host([zoom-size='large']) .maplibregl-ctrl-group button::after {
341
+ font-size: 22px !important;
342
+ }
343
+ `
344
+ ];
345
+ __decorateClass$4([
223
346
  c({ context: sdkContext, subscribe: true })
224
347
  ], CustomMap.prototype, "sdkData", 2);
225
- CustomMap = __decorateClass$3([
348
+ CustomMap = __decorateClass$4([
226
349
  t$1("custom-map")
227
350
  ], CustomMap);
228
351
 
@@ -244,20 +367,40 @@ const t={ATTRIBUTE:1},e$1=t=>(...e)=>({_$litDirective$:t,values:e});class i{cons
244
367
  * SPDX-License-Identifier: BSD-3-Clause
245
368
  */const e=e$1(class extends i{constructor(t$1){if(super(t$1),t$1.type!==t.ATTRIBUTE||"class"!==t$1.name||t$1.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,[i]){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 i)i[t]&&!this.nt?.has(t)&&this.st.add(t);return this.render(i)}const r=s.element.classList;for(const t of this.st)t in i||(r.remove(t),this.st.delete(t));for(const t in i){const s=!!i[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}});
246
369
 
247
- const style$2 = ":host{position:absolute;top:0;right:10px}.floor-selector-container{display:flex;flex-direction:row;background:#fff;border-radius:0 0 30px 30px;box-shadow:0 0 15px #00000026;padding:0 24px;gap:8px;min-height:60px}.btn-floor{height:auto;width:100px;vertical-align:middle;font-size:small!important;word-wrap:break-word!important;font-family:Poppins;font-weight:600;font-size:16pt;border-radius:10px;border:0;box-shadow:0 0 15px #00000026}@media only screen and (max-width: 576px){.btn-floor{padding:6px;width:70px;height:auto;font-size:small!important}}.floor-btn-container:hover .floor-btn:not(.active):not(.disabled){width:100%;height:100%;border-radius:0 0 999px 999px;background:#000;color:#fff}.floor-btn{transition:background .2s ease,color .2s ease,transform .2s ease,opacity .2s ease;position:relative;background:transparent;border:none;outline:none;font-family:Poppins,sans-serif;font-weight:600;font-size:16px;padding:0 18px;border-radius:0 0 30px 30px;cursor:pointer;transition:all .2s ease;min-width:70px;height:100%;display:flex;align-items:center;justify-content:center;color:#000;z-index:1}.floor-btn.disabled{color:#c5c3c3;background:transparent;pointer-events:none;-webkit-tap-highlight-color:transparent;user-select:none}.floor-btn.active{color:#fff;background:transparent;z-index:2}.floor-btn.active:after{content:\"\";position:absolute;inset:0 2px;border-radius:0 0 999px 999px;background:#000;color:#fff;z-index:1}.floor-btn.active:before{content:\"\";position:absolute;inset:0 -3px -3px;border-radius:0 0 999px 999px;background:linear-gradient(45.8deg,#f5a 10.03%,#b850c9 25.23%,#6572d6 48.67%,#4eaeb8 72.74%);z-index:0}.floor-btn.active span{z-index:10}@media (max-width: 1100px){.floor-btn-container:hover .floor-btn:not(.active):not(.disabled){border-radius:999px 0 0 999px}.floor-selector-container{right:0;position:fixed;top:50%;transform:translateY(-50%);display:flex;flex-direction:column-reverse;border-radius:30px 0 0 30px;min-width:87px;max-height:100%;height:auto;padding:0;gap:0}.floor-btn-container{padding:0;width:100%}.floor-btn{width:100%;padding:20px;border-radius:999px 0 0 999px}.floor-btn.active:after{position:absolute;inset:2px 0 2px 2px;border-radius:999px 0 0 999px}.floor-btn.active:before{inset:-3px 0 -3px -3px;border-radius:999px 0 0 999px}}";
248
-
249
370
  var __defProp$2 = Object.defineProperty;
250
- var __getOwnPropDesc$2 = Object.getOwnPropertyDescriptor;
251
- var __decorateClass$2 = (decorators, target, key, kind) => {
252
- var result = kind > 1 ? void 0 : kind ? __getOwnPropDesc$2(target, key) : target;
371
+ var __decorateClass$3 = (decorators, target, key, kind) => {
372
+ var result = void 0 ;
253
373
  for (var i = decorators.length - 1, decorator; i >= 0; i--)
254
374
  if (decorator = decorators[i])
255
- result = (kind ? decorator(target, key, result) : decorator(result)) || result;
256
- if (kind && result) __defProp$2(target, key, result);
375
+ result = (decorator(target, key, result) ) || result;
376
+ if (result) __defProp$2(target, key, result);
257
377
  return result;
258
378
  };
259
- let FloorSelector = class extends i$2 {
260
- _selectFloor(floorKey) {
379
+ class BaseFloorSelector extends i$2 {
380
+ getFloors() {
381
+ if (!this.sdkData) return [];
382
+ const { parentPlace, generalConfig } = this.sdkData;
383
+ let floors = parentPlace?.innerFloors || [];
384
+ if (generalConfig?.enabledFloors?.length > 0) {
385
+ floors = floors.filter((floor) => generalConfig.enabledFloors.includes(floor.key));
386
+ }
387
+ return floors;
388
+ }
389
+ getCurrentFloor() {
390
+ return this.sdkData?.currentFloor;
391
+ }
392
+ getEnabledFloors() {
393
+ return this.sdkData?.enabledFloors || [];
394
+ }
395
+ isFloorActive(floor) {
396
+ const currentFloor = this.getCurrentFloor();
397
+ return floor.key === currentFloor?.key;
398
+ }
399
+ isFloorEnabled(floor) {
400
+ const enabledFloors = this.getEnabledFloors();
401
+ return enabledFloors.some((f) => f.key === floor.key);
402
+ }
403
+ selectFloor(floorKey) {
261
404
  this.dispatchEvent(
262
405
  new CustomEvent("floorChange", {
263
406
  detail: floorKey,
@@ -266,21 +409,35 @@ let FloorSelector = class extends i$2 {
266
409
  })
267
410
  );
268
411
  }
412
+ getFloorDisplayName(floor) {
413
+ return floor.name || floor.title || floor.key;
414
+ }
415
+ }
416
+ __decorateClass$3([
417
+ c({ context: sdkContext, subscribe: true })
418
+ ], BaseFloorSelector.prototype, "sdkData");
419
+
420
+ const style$2 = ":host{position:absolute;top:0;right:10px}.floor-selector-container{display:flex;flex-direction:row;background:#fff;border-radius:0 0 30px 30px;box-shadow:0 0 15px #00000026;padding:0 6px;gap:8px;height:65px}.btn-floor{height:auto;width:100px;vertical-align:middle;font-size:small!important;word-wrap:break-word!important;font-family:Poppins;font-weight:600;font-size:16pt;border-radius:10px;border:0;box-shadow:0 0 15px #00000026}@media only screen and (max-width: 576px){.btn-floor{padding:6px;width:70px;height:auto;font-size:small!important}}.floor-btn-container:hover .floor-btn:not(.active):not(.disabled){border-radius:0 0 999px 999px;background:#000;color:#fff}.floor-btn{transition:background .2s ease,color .2s ease,transform .2s ease,opacity .2s ease;position:relative;background:transparent;border:none;outline:none;font-family:Poppins,sans-serif;font-weight:600;font-size:13px;border-radius:0 0 30px 30px;cursor:pointer;transition:all .2s ease;height:100%;min-width:65px;display:flex;align-items:center;justify-content:center;color:#000;z-index:1;span{min-width:50px}}.floor-btn.disabled{color:#c5c3c3;background:transparent;pointer-events:none;-webkit-tap-highlight-color:transparent;user-select:none}.floor-btn.active{color:#fff;background:transparent;z-index:2}.floor-btn.active:after{content:\"\";position:absolute;inset:0 2px;border-radius:0 0 999px 999px;background:#000;color:#fff;z-index:1}.floor-btn.active:before{content:\"\";position:absolute;inset:0 -3px -3px;border-radius:0 0 999px 999px;background:linear-gradient(45.8deg,#f5a 10.03%,#b850c9 25.23%,#6572d6 48.67%,#4eaeb8 72.74%);z-index:0}.floor-btn.active span{z-index:10}@media (max-width: 1100px){.floor-btn-container:hover .floor-btn:not(.active):not(.disabled){border-radius:999px 0 0 999px;background:#000;color:#fff}.floor-selector-container{right:0;position:fixed;top:50%;transform:translateY(-50%);display:flex;flex-direction:column-reverse;border-radius:30px 0 0 30px;min-width:87px;max-height:100%;height:auto;padding:0;gap:0}.floor-btn-container{padding:0;width:100%}.floor-btn{width:100%;padding:20px;border-radius:999px 0 0 999px}.floor-btn.active:after{position:absolute;inset:2px 0 2px 2px;border-radius:999px 0 0 999px}.floor-btn.active:before{inset:-3px 0 -3px -3px;border-radius:999px 0 0 999px}}";
421
+
422
+ var __getOwnPropDesc$2 = Object.getOwnPropertyDescriptor;
423
+ var __decorateClass$2 = (decorators, target, key, kind) => {
424
+ var result = kind > 1 ? void 0 : kind ? __getOwnPropDesc$2(target, key) : target;
425
+ for (var i = decorators.length - 1, decorator; i >= 0; i--)
426
+ if (decorator = decorators[i])
427
+ result = (decorator(result)) || result;
428
+ return result;
429
+ };
430
+ let FloorSelector = class extends BaseFloorSelector {
269
431
  render() {
270
432
  if (!this.sdkData) {
271
433
  return x`<div>No data</div>`;
272
434
  }
273
- const { currentFloor, parentPlace, enabledFloors } = this.sdkData;
274
- let floors = parentPlace?.innerFloors || [];
275
- const generalConfig = this.sdkData?.generalConfig?.enabledFloors || [];
276
- if (generalConfig.length > 0) {
277
- floors = floors.filter((floor) => generalConfig.includes(floor.key));
278
- }
435
+ const floors = this.getFloors();
279
436
  return x`
280
437
  <div class="floor-selector-container">
281
438
  ${floors.map((floor) => {
282
- const isActive = floor.key === currentFloor?.key;
283
- const isEnabled = enabledFloors?.some((f) => f.key === floor.key) || false;
439
+ const isActive = this.isFloorActive(floor);
440
+ const isEnabled = this.isFloorEnabled(floor);
284
441
  return x`
285
442
  <div class="floor-btn-container">
286
443
  <button
@@ -289,9 +446,9 @@ let FloorSelector = class extends i$2 {
289
446
  active: isActive,
290
447
  disabled: !isActive && !isEnabled
291
448
  })}
292
- @click=${() => isEnabled ? this._selectFloor(floor.key) : null}
449
+ @click=${() => isEnabled ? this.selectFloor(floor.key) : null}
293
450
  >
294
- <span>${floor.name}</span>
451
+ <span>${this.getFloorDisplayName(floor)}</span>
295
452
  </button>
296
453
  </div>
297
454
  `;
@@ -301,9 +458,6 @@ let FloorSelector = class extends i$2 {
301
458
  }
302
459
  };
303
460
  FloorSelector.styles = [r(style$2)];
304
- __decorateClass$2([
305
- c({ context: sdkContext, subscribe: true })
306
- ], FloorSelector.prototype, "sdkData", 2);
307
461
  FloorSelector = __decorateClass$2([
308
462
  t$1("floor-selector")
309
463
  ], FloorSelector);
@@ -3386,7 +3540,7 @@ var browserExports = requireBrowser();
3386
3540
 
3387
3541
  const deviceIcon = "<svg width=\"63\" height=\"63\" viewBox=\"0 0 63 63\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\n<g clip-path=\"url(#clip0_15_10760)\">\n<path d=\"M32.8125 55.125H21C19.6076 55.125 18.2723 54.5719 17.2877 53.5873C16.3031 52.6027 15.75 51.2674 15.75 49.875V13.125C15.75 11.7326 16.3031 10.3973 17.2877 9.41269C18.2723 8.42812 19.6076 7.875 21 7.875H42C43.3924 7.875 44.7277 8.42812 45.7123 9.41269C46.6969 10.3973 47.25 11.7326 47.25 13.125V28.875\" stroke=\"#DAEBF2\" stroke-width=\"5.25\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/>\n<path d=\"M28.8758 10.4992H34.1258\" stroke=\"#DAEBF2\" stroke-width=\"5.25\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/>\n<path d=\"M55.4418 52.8193C56.5434 51.7181 57.2937 50.3149 57.5977 48.7872C57.9018 47.2595 57.746 45.676 57.15 44.2369C56.554 42.7978 55.5447 41.5678 54.2496 40.7023C52.9545 39.8369 51.4318 39.375 49.8742 39.375C48.3166 39.375 46.7939 39.8369 45.4988 40.7023C44.2038 41.5678 43.1944 42.7978 42.5984 44.2369C42.0025 45.676 41.8466 47.2595 42.1507 48.7872C42.4548 50.3149 43.205 51.7181 44.3066 52.8193C45.4038 53.9192 47.2597 55.5624 49.8742 57.7517C52.6331 55.4154 54.4916 53.7722 55.4418 52.8193Z\" stroke=\"#DAEBF2\" stroke-width=\"5.25\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/>\n<path d=\"M49.8742 47.25V47.2757\" stroke=\"#DAEBF2\" stroke-width=\"5.25\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/>\n<path d=\"M31.5 44.6258V44.6515\" stroke=\"#DAEBF2\" stroke-width=\"5.25\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/>\n</g>\n<defs>\n<clipPath id=\"clip0_15_10760\">\n<rect width=\"63\" height=\"63\" fill=\"white\"/>\n</clipPath>\n</defs>\n</svg>\n";
3388
3542
 
3389
- const style$1 = ":host{display:block;height:100%;width:100%;user-select:none;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none}.card{margin-top:15px;background:#11032b;color:#fff;border-radius:24px;z-index:10;width:29.79vw;min-width:415px}.modal-content{display:flex;flex-direction:row;align-items:center;gap:16px;padding:16px}.pin-container{display:flex;align-items:center;gap:8px}.qr-text{margin:0;font-size:16px;font-weight:600;font-family:Poppins}.qr-code{display:flex;justify-content:center;align-items:center}.qr-code img{height:auto}";
3543
+ const style$1 = ":host{display:block;height:100%;width:100%;user-select:none;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none}.card{margin-top:15px;background:#11032b;color:#fff;border-radius:24px;z-index:10;width:29.79vw;min-width:415px}.card.hidden{display:none}.modal-content{display:flex;flex-direction:row;align-items:center;gap:16px;padding:16px}.pin-container{display:flex;align-items:center;gap:8px}.qr-text{margin:0;font-size:1rem;font-weight:600;font-family:Poppins}.qr-code{display:flex;justify-content:center;align-items:center}.qr-code img{height:auto}.qr-container{background:#fff;padding:4px}";
3390
3544
 
3391
3545
  var __defProp$1 = Object.defineProperty;
3392
3546
  var __getOwnPropDesc$1 = Object.getOwnPropertyDescriptor;
@@ -3424,8 +3578,9 @@ let QRModal = class extends i$2 {
3424
3578
  }
3425
3579
  }
3426
3580
  render() {
3581
+ const { cameraInitialized } = this.sdkData ?? {};
3427
3582
  return x`
3428
- <div class="card">
3583
+ <div class=${e({ card: true, hidden: !cameraInitialized })}>
3429
3584
  <div class="modal-content">
3430
3585
  <div class="pin-container">
3431
3586
  <span .innerHTML=${deviceIcon}></span>
@@ -3433,7 +3588,7 @@ let QRModal = class extends i$2 {
3433
3588
  <div class="qr-text">
3434
3589
  <span>Continúa la ruta en tu celular, escaneando el código QR</span>
3435
3590
  </div>
3436
- <div class="qr-code">
3591
+ <div class="qr-code qr-container">
3437
3592
  <img id="qr" src="" alt="QR Code" />
3438
3593
  </div>
3439
3594
  </div>
@@ -3454,7 +3609,7 @@ const qrModal = /*#__PURE__*/Object.freeze(/*#__PURE__*/Object.defineProperty({
3454
3609
  get QRModal () { return QRModal; }
3455
3610
  }, Symbol.toStringTag, { value: 'Module' }));
3456
3611
 
3457
- const style = ":host{position:absolute;top:0;left:0;padding:1rem;z-index:10;font-family:Poppins!important;user-select:none}svg{vertical-align:middle}.back-panel{background-color:#11032b;color:#fff;margin-bottom:5px;padding-left:1.2rem;align-items:center;height:55px;position:relative}.back-content{margin:0;position:relative;top:50%;transform:translateY(-50%);font-size:22px;color:#fff;display:flex;align-items:center;gap:8px;cursor:pointer}.route-panel{width:29.79vw;min-width:415px;max-height:75vh;overflow-y:auto;overflow-x:hidden;border-radius:24px;background:#fff;box-shadow:0 0 24px #00000026}.back-text{font-size:18pt;font-weight:600}.back-content img{vertical-align:middle}.route-modal{padding:19px 13px 22px 32px}.icon_switcher_user_type{position:relative;color:#000}.d-flex{display:flex!important}.flex-fill{flex:1 1 auto!important}.place-name{font-weight:700;font-size:32px;line-height:1;letter-spacing:-1.6px;color:#333;margin-left:2px}.repeat-route-btn{display:flex;gap:10px;justify-content:center;align-items:center;text-align:center;background-color:#fff;border:2px solid #000000;border-radius:999px;margin-left:auto;margin-right:0;padding:12px 20px;font-size:20px;font-weight:700;line-height:20px;letter-spacing:-1px;color:#000;transition:background-color .3s ease,color .3s ease;cursor:pointer}.repeat-route-btn[disabled]{color:gray;border-color:gray;cursor:not-allowed;pointer-events:none}.floor-name{color:#427553}.floor-specs{font-family:Poppins;font-weight:600;line-height:14px;size:18px}.route-distance{color:#666}.container-controls{margin-top:16px;align-items:end;gap:11px}.c-route-input{color:#000;display:flex;padding:15px;font-size:16px;font-style:normal;font-weight:600;line-height:16px;letter-spacing:-.8px;align-items:center;gap:9px;border-radius:30px;background:#fff;box-shadow:0 0 10px #0000001a;position:relative;margin-top:12px}.c-route-input .c-route-input-icon svg{width:22px;height:22px}.c-route-input-from{margin-top:0}.c-route-input-from:after{content:\"\";position:absolute;bottom:-50%;left:24px;width:3.998px;height:34.5px;z-index:1;background-image:url(\"data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='4' height='38' viewBox='0 0 4 38' fill='none'%3E%3Cpath d='M-0.00028944 18.9386C-0.00028944 17.8347 0.894666 16.9397 1.99864 16.9397C3.10259 16.9397 3.99756 17.8347 3.99756 18.9386C3.99756 20.0426 3.10259 20.9375 1.99864 20.9375C0.894666 20.9375 -0.00028944 20.0426 -0.00028944 18.9386ZM-0.00028944 27.2198C-0.00028944 26.1159 0.894666 25.2209 1.99864 25.2209C3.10259 25.2209 3.99756 26.1159 3.99756 27.2198C3.99756 28.3238 3.10259 29.2188 1.99864 29.2188C0.894666 29.2188 -0.00028944 28.3238 -0.00028944 27.2198ZM-0.00028944 35.5011C-0.00028944 34.3971 0.894666 33.5021 1.99864 33.5021C3.10259 33.5021 3.99756 34.3971 3.99756 35.5011C3.99756 36.605 3.10259 37.5 1.99864 37.5C0.894666 37.5 -0.00028944 36.605 -0.00028944 35.5011Z' fill='%23D0D0D0'/%3E%3Cpath d='M1.99864 8.49999C0.894666 8.49999 -0.00028944 9.39496 -0.00028944 10.4989C-0.00028944 11.6029 0.894666 12.4978 1.99864 12.4978C3.10259 12.4978 3.99756 11.6029 3.99756 10.4989C3.99756 9.39496 3.10259 8.49999 1.99864 8.49999Z' fill='%23D0D0D0'/%3E%3Cpath d='M1.99864 0C0.894666 0 -0.00028944 0.894973 -0.00028944 1.99892C-0.00028944 3.10289 0.894666 3.99784 1.99864 3.99784C3.10259 3.99784 3.99756 3.10289 3.99756 1.99892C3.99756 0.894973 3.10259 0 1.99864 0Z' fill='%23D0D0D0'/%3E%3C/svg%3E\")}.c-route-input span{padding:0 6px;border-radius:15px;color:#454545;background:#f2f2f2;font-size:10px;font-style:normal;font-weight:600;line-height:14px;letter-spacing:-.5px}.accessibility-switch{display:flex;align-items:center;justify-content:center;min-width:100px;height:50px;border-radius:48px;background-color:#fff;box-shadow:0 0 15px #0003;position:relative}.accessibility-switch:before,.accessibility-switch:after{content:\"\";border-radius:50%;width:50%;height:100%;background:#000;position:absolute;bottom:0;left:0;background:linear-gradient(45.8deg,#f5a 10.03%,#b850c9 25.23%,#6572d6 48.67%,#4eaeb8 72.74%);z-index:0;transition:transform .5s ease}.accessibility-switch:after{background:#000;clip-path:circle(22px);z-index:1}.accessibility-switch.accessible:before,.accessibility-switch.accessible:after{transform:translate(100%)}.accessibility-switch-icon{width:50px;height:100%;display:grid;place-items:center;cursor:pointer;z-index:2;transition:color .5s ease;color:#000}.accessibility-switch-icon.active{color:#fff}.generate-route-btn{border-style:solid;width:100%;border-radius:30px;height:58px;background-color:#11032b;cursor:pointer}.generate-route-btn span{font-family:Poppins;font-size:16px;line-height:16px;font-weight:600;text-align:center;color:#fff}.generate-route-container{width:100%}.mt-3{margin-top:1rem!important}.align-items-center{align-items:center!important}.justify-content-center{justify-content:center!important}";
3612
+ const style = ":host{position:absolute;top:0;left:0;padding:1rem;z-index:10;font-family:Poppins!important;user-select:none}svg{vertical-align:middle}.back-panel{background-color:#11032b;color:#fff;margin-bottom:5px;padding-left:1.2rem;align-items:center;height:55px;position:relative}.back-content{margin:0;position:relative;top:50%;transform:translateY(-50%);font-size:22px;color:#fff;display:flex;align-items:center;gap:8px;cursor:pointer}.route-panel{width:29.79vw;min-width:415px;max-height:75vh;overflow-y:auto;overflow-x:hidden;border-radius:24px;background:#fff;box-shadow:0 0 24px #00000026}.back-text{font-size:24px;font-weight:600}.back-content img{vertical-align:middle}.route-modal{padding:19px 13px 22px 32px}.icon_switcher_user_type{position:relative;color:#000}.d-flex{display:flex!important}.flex-fill{flex:1 1 auto!important}.place-name{font-weight:700;font-size:32px;line-height:1;letter-spacing:-1.6px;color:#333;margin-left:2px}.repeat-route-btn{display:flex;gap:10px;justify-content:center;align-items:center;text-align:center;background-color:#fff;border:2px solid #000000;border-radius:999px;margin-left:auto;margin-right:0;padding:12px 20px;font-size:20px;font-weight:700;line-height:20px;letter-spacing:-1px;color:#000;transition:background-color .3s ease,color .3s ease;cursor:pointer}.repeat-route-btn[disabled]{color:gray;border-color:gray;cursor:not-allowed;pointer-events:none}.floor-name{font-size:1rem;color:#427553}.floor-specs{font-family:Poppins;font-weight:600;line-height:14px;size:18px}.route-distance{color:#666}.container-controls{margin-top:16px;align-items:end;gap:11px}.c-route-input{color:#000;display:flex;padding:15px;font-size:16px;font-style:normal;font-weight:600;line-height:16px;letter-spacing:-.8px;align-items:center;gap:9px;border-radius:30px;background:#fff;box-shadow:0 0 10px #0000001a;position:relative;margin-top:12px}.c-route-input .c-route-input-icon svg{width:22px;height:22px}.c-route-input-from{margin-top:0}.c-route-input-from:after{content:\"\";position:absolute;bottom:-50%;left:24px;width:3.998px;height:34.5px;z-index:1;background-image:url(\"data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='4' height='38' viewBox='0 0 4 38' fill='none'%3E%3Cpath d='M-0.00028944 18.9386C-0.00028944 17.8347 0.894666 16.9397 1.99864 16.9397C3.10259 16.9397 3.99756 17.8347 3.99756 18.9386C3.99756 20.0426 3.10259 20.9375 1.99864 20.9375C0.894666 20.9375 -0.00028944 20.0426 -0.00028944 18.9386ZM-0.00028944 27.2198C-0.00028944 26.1159 0.894666 25.2209 1.99864 25.2209C3.10259 25.2209 3.99756 26.1159 3.99756 27.2198C3.99756 28.3238 3.10259 29.2188 1.99864 29.2188C0.894666 29.2188 -0.00028944 28.3238 -0.00028944 27.2198ZM-0.00028944 35.5011C-0.00028944 34.3971 0.894666 33.5021 1.99864 33.5021C3.10259 33.5021 3.99756 34.3971 3.99756 35.5011C3.99756 36.605 3.10259 37.5 1.99864 37.5C0.894666 37.5 -0.00028944 36.605 -0.00028944 35.5011Z' fill='%23D0D0D0'/%3E%3Cpath d='M1.99864 8.49999C0.894666 8.49999 -0.00028944 9.39496 -0.00028944 10.4989C-0.00028944 11.6029 0.894666 12.4978 1.99864 12.4978C3.10259 12.4978 3.99756 11.6029 3.99756 10.4989C3.99756 9.39496 3.10259 8.49999 1.99864 8.49999Z' fill='%23D0D0D0'/%3E%3Cpath d='M1.99864 0C0.894666 0 -0.00028944 0.894973 -0.00028944 1.99892C-0.00028944 3.10289 0.894666 3.99784 1.99864 3.99784C3.10259 3.99784 3.99756 3.10289 3.99756 1.99892C3.99756 0.894973 3.10259 0 1.99864 0Z' fill='%23D0D0D0'/%3E%3C/svg%3E\")}.c-route-input span{padding:0 6px;border-radius:15px;color:#454545;background:#f2f2f2;font-size:10px;font-style:normal;font-weight:600;line-height:14px;letter-spacing:-.5px}.accessibility-switch{display:flex;align-items:center;justify-content:center;min-width:100px;height:50px;border-radius:48px;background-color:#fff;box-shadow:0 0 15px #0003;position:relative}.accessibility-switch:before,.accessibility-switch:after{content:\"\";border-radius:50%;width:50%;height:100%;background:#000;position:absolute;bottom:0;left:0;background:linear-gradient(45.8deg,#f5a 10.03%,#b850c9 25.23%,#6572d6 48.67%,#4eaeb8 72.74%);z-index:0;transition:transform .5s ease}.accessibility-switch:after{background:#000;clip-path:circle(22px);z-index:1}.accessibility-switch.accessible:before,.accessibility-switch.accessible:after{transform:translate(100%)}.accessibility-switch-icon{width:50px;height:100%;display:grid;place-items:center;cursor:pointer;z-index:2;transition:color .5s ease;color:#000}.accessibility-switch-icon.active{color:#fff}.generate-route-btn{border-style:solid;width:100%;border-radius:30px;height:58px;background-color:#11032b;cursor:pointer}.generate-route-btn span{font-family:Poppins;font-size:1rem;line-height:16px;font-weight:600;text-align:center;color:#fff}.generate-route-container{width:100%}.mt-3{margin-top:1rem!important}.align-items-center{align-items:center!important}.justify-content-center{justify-content:center!important}";
3458
3613
 
3459
3614
  var __defProp = Object.defineProperty;
3460
3615
  var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
@@ -3469,7 +3624,7 @@ var __decorateClass = (decorators, target, key, kind) => {
3469
3624
  const loadAssets = async () => {
3470
3625
  const [accessibilityIcon, backIcon, destinationPoint, originPoint, repeatIcon, walkingIcon] = await Promise.all([
3471
3626
  import('./accessibility-Cnj-vwGM.js'),
3472
- import('./back_arrow-CUOAm8Zc.js'),
3627
+ import('./back_arrow-B4vxoqtW.js'),
3473
3628
  import('./icon-destination-point-DY-ha1KN.js'),
3474
3629
  import('./icon-origin-point-v4_9Pmls.js'),
3475
3630
  import('./repeat_icon-CY61-fSZ.js'),
@@ -3506,7 +3661,7 @@ let RouteOptions = class extends i$2 {
3506
3661
  handleAccessibility() {
3507
3662
  this.dispatchEvent(
3508
3663
  new CustomEvent("accessibilityChange", {
3509
- detail: !!this.sdkData?.accessibleRoute,
3664
+ detail: !this.sdkData?.accessibleRoute,
3510
3665
  bubbles: true,
3511
3666
  composed: true
3512
3667
  })
@@ -3627,5 +3782,5 @@ const routeOptions = /*#__PURE__*/Object.freeze(/*#__PURE__*/Object.defineProper
3627
3782
  get RouteOptions () { return RouteOptions; }
3628
3783
  }, Symbol.toStringTag, { value: 'Module' }));
3629
3784
 
3630
- export { customMap as c, floorSelector as f, i$1 as i, qrModal as q, routeOptions as r, sdkContext as s };
3631
- //# sourceMappingURL=components-y75xh-dL.js.map
3785
+ export { BaseFloorSelector as B, customMap as c, e, floorSelector as f, i$1 as i, qrModal as q, routeOptions as r, sdkContext as s };
3786
+ //# sourceMappingURL=components-BGe90NOX.js.map