@maplat/ui 0.10.5 → 0.11.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.
Files changed (173) hide show
  1. package/README.md +38 -1
  2. package/assets/locales/de/translation.json +71 -0
  3. package/{locales → assets/locales}/en/translation.json +12 -6
  4. package/{locales → assets/locales}/ja/translation.json +12 -6
  5. package/{locales → assets/locales}/ko/translation.json +12 -6
  6. package/assets/locales/vi/translation.json +71 -0
  7. package/{locales → assets/locales}/zh/translation.json +12 -6
  8. package/{locales → assets/locales}/zh-TW/translation.json +12 -6
  9. package/assets/parts/attr.png +0 -0
  10. package/assets/parts/border.png +0 -0
  11. package/assets/parts/compass.png +0 -0
  12. package/assets/parts/gps.png +0 -0
  13. package/assets/parts/help.png +0 -0
  14. package/assets/parts/hide_marker.png +0 -0
  15. package/assets/parts/home.png +0 -0
  16. package/assets/parts/marker_list.png +0 -0
  17. package/assets/parts/share.png +0 -0
  18. package/dist/absolute_url.d.ts +1 -0
  19. package/dist/assets/locales/de/translation.json +71 -0
  20. package/dist/assets/locales/en/translation.json +12 -6
  21. package/dist/assets/locales/ja/translation.json +12 -6
  22. package/dist/assets/locales/ko/translation.json +12 -6
  23. package/dist/assets/locales/vi/translation.json +71 -0
  24. package/dist/assets/locales/zh/translation.json +12 -6
  25. package/dist/assets/locales/zh-TW/translation.json +12 -6
  26. package/dist/contextmenu.d.ts +5 -0
  27. package/dist/function.d.ts +2 -0
  28. package/dist/icons.d.ts +7 -0
  29. package/dist/index.d.ts +64 -0
  30. package/dist/maplat-ui.es.js +9383 -0
  31. package/dist/maplat-ui.umd.js +205 -0
  32. package/dist/maplat_control.d.ts +55 -0
  33. package/dist/pointer_images.d.ts +2 -0
  34. package/dist/swiper_ex.d.ts +2 -0
  35. package/dist/types.d.ts +173 -0
  36. package/dist/ui_init.d.ts +4 -0
  37. package/dist/ui_marker.d.ts +9 -0
  38. package/dist/ui_utils.d.ts +9 -0
  39. package/less/contextmenu.css +8 -0
  40. package/less/font-awesome.less +48 -28
  41. package/less/maplat-specific.less +452 -66
  42. package/less/swiper4.css +715 -0
  43. package/less/ui.less +5 -5
  44. package/less/ui_packed.less +3 -3
  45. package/package.json +107 -106
  46. package/src/{absolute_url.js → absolute_url.ts} +1 -1
  47. package/src/contextmenu/base.ts +170 -0
  48. package/src/contextmenu/constants.ts +66 -0
  49. package/src/contextmenu/cssVars.ts +13 -0
  50. package/src/contextmenu/helpers/dom.ts +295 -0
  51. package/src/contextmenu/helpers/mix.ts +120 -0
  52. package/src/contextmenu/html.ts +161 -0
  53. package/src/contextmenu/internal.ts +293 -0
  54. package/src/contextmenu.ts +40 -0
  55. package/src/function.ts +36 -0
  56. package/src/icons.ts +46 -0
  57. package/src/index.ts +520 -0
  58. package/src/maplat_control.ts +686 -0
  59. package/src/pointer_images.ts +101 -0
  60. package/src/{service-worker.js → service-worker/index.ts} +5 -6
  61. package/src/swiper_augment.d.ts +13 -0
  62. package/src/{swiper_ex.js → swiper_ex.ts} +14 -10
  63. package/src/types.d.ts +31 -0
  64. package/src/types.ts +202 -0
  65. package/src/ui_init.ts +1066 -0
  66. package/src/ui_marker.ts +376 -0
  67. package/src/ui_utils.ts +87 -0
  68. package/dist/assets/fonts/a8c0074cf70b152b56105e6c4b227bd8.woff +0 -0
  69. package/dist/assets/fonts/cfeff2e898a64ebe7e6b5ec078b174c3.woff +0 -0
  70. package/dist/assets/images/09c3ce5a86d600e24f8e85de3a019853.png +0 -0
  71. package/dist/assets/images/0beac2cb41dfab43ddfd9df80b32b85d.png +0 -0
  72. package/dist/assets/images/1354b4f40dd58bb0f2a4871cb4ff81d8.png +0 -0
  73. package/dist/assets/images/2a61e310e46b50b5f8ddd5e905ba9db9.png +0 -0
  74. package/dist/assets/images/3131423d782cd3ea89a81247065e7f9d.png +0 -0
  75. package/dist/assets/images/41b2cf0fa604d3f196ca52337d238219.jpg +0 -0
  76. package/dist/assets/images/558bc7e8b9b6c5f41a7141cddb8cdb5e.png +0 -0
  77. package/dist/assets/images/56f7003805ed02f8a21199947651db2e.png +0 -0
  78. package/dist/assets/images/5ba349e3596aca094c41c56966b45dc7.png +0 -0
  79. package/dist/assets/images/6111b8076a2cf81c73f0e46f41a3af60.png +0 -0
  80. package/dist/assets/images/6345ee67d554fbfbf484ba4035ad19d9.jpg +0 -0
  81. package/dist/assets/images/649fce122b354de2ac725ba5f2661955.png +0 -0
  82. package/dist/assets/images/6a580287dea82c2fb9b214321a375145.png +0 -0
  83. package/dist/assets/images/6c5dba7f7d76e74c3a8c7c5b1c3fc544.png +0 -0
  84. package/dist/assets/images/6e1f2f2f6fed3c5cddeb925e7ae75aba.png +0 -0
  85. package/dist/assets/images/799a0177b0dc540682fa4a2e349a8f4f.png +0 -0
  86. package/dist/assets/images/7bef6f357e921c43f4f800cfcb757872.png +0 -0
  87. package/dist/assets/images/7d9d643a903df6f57b8b7386316021e5.png +0 -0
  88. package/dist/assets/images/7df82bae917b68159f84998182f2fdc6.png +0 -0
  89. package/dist/assets/images/8e5d0335f6598b8d874ba23ea9fb295f.png +0 -0
  90. package/dist/assets/images/90c32e751366be22777f3fe40a53fe06.png +0 -0
  91. package/dist/assets/images/9247459937b9c882303962e42bd8d989.png +0 -0
  92. package/dist/assets/images/927c34e7b9b2f95c82ba477993117eaf.png +0 -0
  93. package/dist/assets/images/95e9ca8285131f8ccb6da5052093173c.png +0 -0
  94. package/dist/assets/images/9a243e0cb0fc43e2a016d5d3aaa330d5.png +0 -0
  95. package/dist/assets/images/9ac6d81f417d6a5626b7c8d5a087c32b.png +0 -0
  96. package/dist/assets/images/9d3a01c866095b8b3e8e63f9cf11dd51.png +0 -0
  97. package/dist/assets/images/9df733bcb29a746cb16b47eedea9fc3a.png +0 -0
  98. package/dist/assets/images/acc6eab0ba9c470ae20fb4b74135e865.png +0 -0
  99. package/dist/assets/images/b9ae27f0a01228380dff76a33b605707.jpg +0 -0
  100. package/dist/assets/images/ba48b220f61a6e1028f1854326f43acd.png +0 -0
  101. package/dist/assets/images/bf67cc860289b85c0402a4d4f890a3bd.png +0 -0
  102. package/dist/assets/images/c49f2344772e33256ba24d64b59b20d1.png +0 -0
  103. package/dist/assets/images/ca6b77b234b18e7bb9b1ccda774da286.png +0 -0
  104. package/dist/assets/images/cd213169df16398b0017450e31788d73.png +0 -0
  105. package/dist/assets/images/f101a0974972eeab41189185a5c5b225.png +0 -0
  106. package/dist/assets/images/f115726e6249018905cca51653e1262c.png +0 -0
  107. package/dist/assets/images/f7acb820d978ab2dd69e8bf695c574d1.png +0 -0
  108. package/dist/assets/images/ffea4dd10bf2506aa1e0cd4c61426b42.png +0 -0
  109. package/dist/assets/maplat.css +0 -19
  110. package/dist/assets/maplat.css.map +0 -1
  111. package/dist/assets/maplat.js +0 -3
  112. package/dist/assets/maplat.js.LICENSE.txt +0 -43
  113. package/dist/assets/maplat.js.map +0 -1
  114. package/dist/index.html +0 -39
  115. package/dist/service-worker.js +0 -3
  116. package/dist/service-worker.js.LICENSE.txt +0 -1
  117. package/dist/service-worker.js.map +0 -1
  118. package/fonts/clarenbd-webfont.woff +0 -0
  119. package/fonts/fontawesome-webfont.woff +0 -0
  120. package/legacy/bootstrap-native.js +0 -1935
  121. package/legacy/detect-element-resize.js +0 -153
  122. package/legacy/iziToast.js +0 -1301
  123. package/legacy/page.js +0 -1153
  124. package/legacy/qrcode.js +0 -616
  125. package/legacy/sprintf.js +0 -285
  126. package/less/font-face.less +0 -11
  127. package/less/font-face_packed.less +0 -11
  128. package/parts/attr.png +0 -0
  129. package/parts/blue_marker.png +0 -0
  130. package/parts/bluedot.png +0 -0
  131. package/parts/bluedot_small.png +0 -0
  132. package/parts/bluedot_transparent.png +0 -0
  133. package/parts/border.png +0 -0
  134. package/parts/compass.png +0 -0
  135. package/parts/defaultpin.png +0 -0
  136. package/parts/defaultpin_selected.png +0 -0
  137. package/parts/gps.png +0 -0
  138. package/parts/gsi.jpg +0 -0
  139. package/parts/gsi_ortho.jpg +0 -0
  140. package/parts/help.png +0 -0
  141. package/parts/hide_marker.png +0 -0
  142. package/parts/home.png +0 -0
  143. package/parts/osm.jpg +0 -0
  144. package/parts/red_marker.png +0 -0
  145. package/parts/redcircle.png +0 -0
  146. package/parts/share.png +0 -0
  147. package/src/contextmenu.js +0 -29
  148. package/src/freeze_locales.js +0 -337
  149. package/src/function.js +0 -22
  150. package/src/index.js +0 -1762
  151. package/src/index_packed.js +0 -8
  152. package/src/maplat_control.js +0 -814
  153. package/src/pointer_images.js +0 -81
  154. /package/{parts → assets/parts}/Maplat.png +0 -0
  155. /package/{parts → assets/parts}/all_right_reserved.png +0 -0
  156. /package/{parts → assets/parts}/basemap.png +0 -0
  157. /package/{parts → assets/parts}/cc0.png +0 -0
  158. /package/{parts → assets/parts}/cc_by-nc-nd.png +0 -0
  159. /package/{parts → assets/parts}/cc_by-nc-sa.png +0 -0
  160. /package/{parts → assets/parts}/cc_by-nc.png +0 -0
  161. /package/{parts → assets/parts}/cc_by-nd.png +0 -0
  162. /package/{parts → assets/parts}/cc_by-sa.png +0 -0
  163. /package/{parts → assets/parts}/cc_by.png +0 -0
  164. /package/{parts → assets/parts}/favicon.png +0 -0
  165. /package/{parts → assets/parts}/fullscreen.png +0 -0
  166. /package/{parts → assets/parts}/loading.png +0 -0
  167. /package/{parts → assets/parts}/loading_image.png +0 -0
  168. /package/{parts → assets/parts}/minus.png +0 -0
  169. /package/{parts → assets/parts}/no_image.png +0 -0
  170. /package/{parts → assets/parts}/overlay.png +0 -0
  171. /package/{parts → assets/parts}/pd.png +0 -0
  172. /package/{parts → assets/parts}/plus.png +0 -0
  173. /package/{parts → assets/parts}/slider.png +0 -0
@@ -1,6 +1,28 @@
1
+ .dli-chevron {
2
+ display: inline-block;
3
+ vertical-align: middle;
4
+ color: #333;
5
+ line-height: 1;
6
+ width: 1em;
7
+ height: 1em;
8
+ border: 0.1em solid currentColor;
9
+ border-left: 0;
10
+ border-bottom: 0;
11
+ box-sizing: border-box;
12
+ transform: translateX(-25%) rotate(45deg);
13
+ margin: 10px;
14
+ }
15
+
16
+ li:has(+ .open) .dli-chevron {
17
+ transform: translateY(-25%) rotate(135deg);
18
+ }
19
+
1
20
  .ol-ctx-menu-container li {
2
21
  background-size: auto 20px;
3
22
  background-position: top 0px left 0px;
23
+ overflow: hidden;
24
+ white-space: nowrap;
25
+ text-overflow: ellipsis;
4
26
  }
5
27
 
6
28
  .ol-ctx-menu-container li:not(.ol-ctx-menu-separator).selected {
@@ -12,39 +34,114 @@
12
34
  font-family: 'Clarendon';
13
35
  }
14
36
 
15
- .modal_load .close, .modal_gpsW .close, .temp_no_close.close {
37
+ .modal_load .close,
38
+ .modal_gpsW .close,
39
+ .temp_no_close.close {
16
40
  display: none;
17
41
  }
18
42
 
19
- .modal_poi_content, .modal_map_content, .modal_load_content, .modal_gpsW_content, .modal_gpsD_content,
20
- .modal_help_content, .modal_title, .modal_load_title, .modal_gpsW_title, .modal_help_title,
21
- .modal_share_content, .modal_share_title, .modal_hide_marker_content, .modal_hide_marker_title {
43
+ .close {
44
+ font-size: 32px;
45
+ }
46
+
47
+ .modal_poi_content,
48
+ .modal_map_content,
49
+ .modal_load_content,
50
+ .modal_gpsW_content,
51
+ .modal_gpsD_content,
52
+ .modal_help_content,
53
+ .modal_title,
54
+ .modal_load_title,
55
+ .modal_gpsW_title,
56
+ .modal_help_title,
57
+ .modal_share_content,
58
+ .modal_share_title,
59
+ .modal_share_poi,
60
+ .modal_marker_list_content,
61
+ .modal_marker_list_title {
22
62
  display: none;
23
63
  }
24
64
 
25
- .modal_poi .modal_poi_content, .modal_map .modal_map_content,
26
- .modal_load .modal_load_content, .modal_help .modal_help_content,
27
- .modal_gpsW .modal_gpsW_content, .modal_gpsD .modal_gpsD_content,
28
- .modal_share .modal_share_content, .modal_hide_marker .modal_hide_marker_content {
65
+ .modal_poi .modal_poi_content,
66
+ .modal_map .modal_map_content,
67
+ .modal_load .modal_load_content,
68
+ .modal_help .modal_help_content,
69
+ .modal_gpsW .modal_gpsW_content,
70
+ .modal_gpsD .modal_gpsD_content,
71
+ .modal_share .modal_share_content,
72
+ &.state_url .modal_share_poi,
73
+ .modal_marker_list .modal_marker_list_content {
29
74
  display: block;
30
75
  }
31
76
 
32
- .modal_poi .modal_title, .modal_map .modal_title,
33
- .modal_gpsD .modal_title, .modal_help .modal_help_title,
34
- .modal_load .modal_load_title, .modal_gpsW .modal_gpsW_title,
35
- .modal_share .modal_share_title, .modal_hide_marker .modal_hide_marker_title {
77
+ .modal_poi .modal_title,
78
+ .modal_map .modal_title,
79
+ .modal_gpsD .modal_title,
80
+ .modal_help .modal_help_title,
81
+ .modal_load .modal_load_title,
82
+ .modal_gpsW .modal_gpsW_title,
83
+ .modal_share .modal_share_title,
84
+ .modal_marker_list .modal_marker_list_title {
36
85
  display: inline;
37
86
  }
38
87
 
39
- .modal_cache_content, .modal_share_state, .share_help, .border_help, .hide_marker_help {
88
+ .modal_cache_content,
89
+ .modal_share_pos,
90
+ .share_help,
91
+ .border_help,
92
+ .hide_marker_help,
93
+ .marker_list_help {
40
94
  display: none;
41
95
  }
42
96
 
43
- &.enable_cache .modal_cache_content, &.state_url .modal_share_state {
97
+ &.enable_cache .modal_cache_content,
98
+ &.state_url .modal_share_pos {
44
99
  display: block;
45
100
  }
46
101
 
47
- &.enable_share .share_help, &.enable_border .border_help, &.enable_hide_marker .hide_marker_help {
102
+ // Fix POI Iframe Height
103
+ .poi_iframe {
104
+ width: 100%;
105
+ height: 100%;
106
+ min-height: 50vh;
107
+ border: 0;
108
+ }
109
+
110
+ .poi_web {
111
+ width: 100%;
112
+ height: 100%;
113
+ }
114
+
115
+ // Fix Context Menu Wrapping
116
+ .ol-ctx-menu-container {
117
+ width: auto !important;
118
+ min-width: 170px;
119
+ max-width: 300px; // Prevent overly wide menu but allow more space
120
+ z-index: 2000 !important; // Ensure it's above Modal (usually 1050)
121
+
122
+ li {
123
+ white-space: normal !important;
124
+ height: auto !important;
125
+ line-height: 1.3 !important;
126
+ text-overflow: clip !important;
127
+ overflow: visible !important;
128
+ padding: 8px 5px 8px 25px !important; // Ensure space for icon
129
+ background-position: left 5px center !important; // Center icon vertically
130
+ }
131
+ }
132
+
133
+ // Legacy-style Modal margins on mobile
134
+ @media (max-width: 767px) {
135
+ .modal-dialog {
136
+ margin: 10px !important;
137
+ width: auto !important;
138
+ }
139
+ }
140
+
141
+ &.enable_share .share_help,
142
+ &.enable_border .border_help,
143
+ &.enable_hide_marker .hide_marker_help,
144
+ &.enable_marker_list .marker_list_help {
48
145
  display: inline;
49
146
  }
50
147
 
@@ -80,21 +177,79 @@
80
177
  top: calc(.5em + 50px);
81
178
  }
82
179
 
83
- .poi_img, .help_img {
180
+ .poi_img,
181
+ .help_img {
84
182
  position: relative;
85
183
  display: table-cell;
86
184
  text-align: center;
87
185
  vertical-align: middle;
88
186
  }
89
187
 
90
- .poi_img img, .help_img img {
188
+ .poi_img img,
189
+ .help_img img {
91
190
  max-width: 100%;
92
191
  top: 0px;
93
192
  bottom: 0px;
94
193
  left: 0px;
95
194
  right: 0px;
96
195
  margin: auto;
97
- vertical-align: middle; /*IE7*/
196
+ vertical-align: middle;
197
+ /*IE7*/
198
+ }
199
+
200
+ .list_poiitems_div {
201
+ padding-inline-start: 15px;
202
+ display: none;
203
+ }
204
+
205
+ .list_poiitems_div.open {
206
+ display: block;
207
+ }
208
+
209
+ @media (hover: hover) {
210
+
211
+ .list-group-item.layer:hover,
212
+ .list-group-item.poi:hover {
213
+ cursor: pointer;
214
+ background-color: #ccc;
215
+ }
216
+ }
217
+
218
+ @media (hover: none) {
219
+
220
+ .list-group-item.layer:has(.layer_label:active),
221
+ .list-group-item.poi:active {
222
+ cursor: pointer;
223
+ background-color: #ccc;
224
+ }
225
+ }
226
+
227
+ .layer_row,
228
+ .poi_row {
229
+ display: flex;
230
+ justify-content: space-between;
231
+ align-items: center;
232
+ }
233
+
234
+ .layer_label,
235
+ .poi_label {
236
+ text-align: left;
237
+ flex-grow: 1;
238
+ }
239
+
240
+ .layer_onoff {
241
+ text-align: right;
242
+ margin-right: 20px;
243
+ margin-top: 10px;
244
+ }
245
+
246
+ .list_poicontent_div {
247
+ padding-inline-start: 0px;
248
+ display: none;
249
+ }
250
+
251
+ .list_poicontent_div.open {
252
+ display: block;
98
253
  }
99
254
 
100
255
  img.markerlist {
@@ -105,14 +260,17 @@ img.markerlist {
105
260
  left: 0px;
106
261
  right: 0px;
107
262
  margin: auto;
108
- vertical-align: middle; /*IE7*/
263
+ vertical-align: middle;
264
+ /*IE7*/
265
+ display: inline-block;
266
+ padding: 20px;
109
267
  }
110
268
 
111
269
  input[type="checkbox"].markerlist {
112
270
  display: none;
113
271
  }
114
272
 
115
- input[type="checkbox"].markerlist + label.check {
273
+ input[type="checkbox"].markerlist+label.check {
116
274
  position: relative;
117
275
  cursor: pointer;
118
276
  display: inline-block;
@@ -124,12 +282,12 @@ input[type="checkbox"].markerlist + label.check {
124
282
  background-color: #ffffff;
125
283
  }
126
284
 
127
- input[type="checkbox"].markerlist:checked + label.check {
285
+ input[type="checkbox"].markerlist:checked+label.check {
128
286
  border: 1px solid #4db4e4;
129
287
  background-color: #4db4e4;
130
288
  }
131
289
 
132
- input[type="checkbox"].markerlist + label.check::before {
290
+ input[type="checkbox"].markerlist+label.check::before {
133
291
  content: "OFF";
134
292
  position: absolute;
135
293
  top: 4px;
@@ -137,7 +295,7 @@ input[type="checkbox"].markerlist + label.check::before {
137
295
  right: 6px;
138
296
  }
139
297
 
140
- input[type="checkbox"].markerlist:checked + label.check::before {
298
+ input[type="checkbox"].markerlist:checked+label.check::before {
141
299
  content: "ON";
142
300
  position: absolute;
143
301
  left: 6px;
@@ -145,7 +303,7 @@ input[type="checkbox"].markerlist:checked + label.check::before {
145
303
  color: #ffffff;
146
304
  }
147
305
 
148
- input[type="checkbox"].markerlist + label.check > div {
306
+ input[type="checkbox"].markerlist+label.check>div {
149
307
  position: absolute;
150
308
  top: 2px;
151
309
  left: 2px;
@@ -157,7 +315,7 @@ input[type="checkbox"].markerlist + label.check > div {
157
315
  transition: 0.2s;
158
316
  }
159
317
 
160
- input[type="checkbox"].markerlist:checked + label.check > div {
318
+ input[type="checkbox"].markerlist:checked+label.check>div {
161
319
  border: 1px solid transparent;
162
320
  left: 44px;
163
321
  }
@@ -189,6 +347,14 @@ input[type="checkbox"].markerlist:checked + label.check > div {
189
347
  font-size: 18px;
190
348
  }
191
349
 
350
+ @media (max-width: 768px) {
351
+
352
+ .swiper-button-next,
353
+ .swiper-button-prev {
354
+ margin-top: -40px;
355
+ }
356
+ }
357
+
192
358
  @media screen and (max-width: 600px) {
193
359
  .map-title {
194
360
  width: calc(100% - 100px);
@@ -201,7 +367,8 @@ input[type="checkbox"].markerlist:checked + label.check > div {
201
367
  }
202
368
  }
203
369
 
204
- .swiper-container.base-swiper, .swiper-container.overlay-swiper {
370
+ .swiper-container.base-swiper,
371
+ .swiper-container.overlay-swiper {
205
372
  position: absolute;
206
373
  bottom: .5em;
207
374
  bottom: calc(.5em + constant(safe-area-inset-bottom));
@@ -226,7 +393,9 @@ input[type="checkbox"].markerlist:checked + label.check > div {
226
393
  }
227
394
 
228
395
  @media screen and (max-width: 640px) {
229
- .swiper-container.base-swiper, .swiper-container.overlay-swiper {
396
+
397
+ .swiper-container.base-swiper,
398
+ .swiper-container.overlay-swiper {
230
399
  width: 35%;
231
400
  }
232
401
 
@@ -240,7 +409,9 @@ input[type="checkbox"].markerlist:checked + label.check > div {
240
409
  }
241
410
 
242
411
  @media screen and (max-width: 320px) {
243
- .swiper-container.base-swiper, .swiper-container.overlay-swiper {
412
+
413
+ .swiper-container.base-swiper,
414
+ .swiper-container.overlay-swiper {
244
415
  width: 112px;
245
416
  }
246
417
 
@@ -253,7 +424,8 @@ input[type="checkbox"].markerlist:checked + label.check > div {
253
424
  }
254
425
  }
255
426
 
256
- .base-swiper .swiper-slide, .overlay-swiper .swiper-slide {
427
+ .base-swiper .swiper-slide,
428
+ .overlay-swiper .swiper-slide {
257
429
  text-align: center;
258
430
  font-size: 18px;
259
431
  background-color: rgba(0, 0, 0, 0);
@@ -296,17 +468,28 @@ input[type="checkbox"].markerlist:checked + label.check > div {
296
468
  text-align: center;
297
469
  }
298
470
 
299
- .base-swiper .swiper-slide.selected, .overlay-swiper .swiper-slide.selected {
471
+ .base-swiper .swiper-slide.selected,
472
+ .overlay-swiper .swiper-slide.selected {
300
473
  background-color: rgba(0, 0, 255, 0.1);
301
474
  }
302
475
 
303
- .base-next, .base-prev, .overlay-next, .overlay-prev {
476
+ .base-next,
477
+ .base-prev,
478
+ .overlay-next,
479
+ .overlay-prev {
304
480
  margin-top: 0px;
305
481
  top: 15px;
306
482
  bottom: 15px;
307
483
  height: 30px;
308
484
  width: 18px;
309
485
  background-size: 18px 30px;
486
+ background-repeat: no-repeat;
487
+ background-position: center;
488
+
489
+ &:after,
490
+ &:before {
491
+ display: none;
492
+ }
310
493
  }
311
494
 
312
495
  &.show-border {
@@ -315,121 +498,145 @@ input[type="checkbox"].markerlist:checked + label.check > div {
315
498
  border-color: maroon;
316
499
  border-width: 2px;
317
500
  }
501
+
318
502
  .swiper-slide.deeppink {
319
503
  border-style: dashed;
320
504
  border-color: deeppink;
321
505
  border-width: 2px;
322
506
  }
507
+
323
508
  .swiper-slide.indigo {
324
509
  border-style: dashed;
325
510
  border-color: indigo;
326
511
  border-width: 2px;
327
512
  }
513
+
328
514
  .swiper-slide.olive {
329
515
  border-style: dashed;
330
516
  border-color: olive;
331
517
  border-width: 2px;
332
518
  }
519
+
333
520
  .swiper-slide.royalblue {
334
521
  border-style: dashed;
335
522
  border-color: royalblue;
336
523
  border-width: 2px;
337
524
  }
525
+
338
526
  .swiper-slide.red {
339
527
  border-style: dashed;
340
528
  border-color: red;
341
529
  border-width: 2px;
342
530
  }
531
+
343
532
  .swiper-slide.hotpink {
344
533
  border-style: dashed;
345
534
  border-color: hotpink;
346
535
  border-width: 2px;
347
536
  }
537
+
348
538
  .swiper-slide.green {
349
539
  border-style: dashed;
350
540
  border-color: green;
351
541
  border-width: 2px;
352
542
  }
543
+
353
544
  .swiper-slide.yellow {
354
545
  border-style: dashed;
355
546
  border-color: yellow;
356
547
  border-width: 2px;
357
548
  }
549
+
358
550
  .swiper-slide.navy {
359
551
  border-style: dashed;
360
552
  border-color: navy;
361
553
  border-width: 2px;
362
554
  }
555
+
363
556
  .swiper-slide.saddlebrown {
364
557
  border-style: dashed;
365
558
  border-color: saddlebrown;
366
559
  border-width: 2px;
367
560
  }
561
+
368
562
  .swiper-slide.fuchsia {
369
563
  border-style: dashed;
370
564
  border-color: fuchsia;
371
565
  border-width: 2px;
372
566
  }
567
+
373
568
  .swiper-slide.darkslategray {
374
569
  border-style: dashed;
375
570
  border-color: darkslategray;
376
571
  border-width: 2px;
377
572
  }
573
+
378
574
  .swiper-slide.yellowgreen {
379
575
  border-style: dashed;
380
576
  border-color: yellowgreen;
381
577
  border-width: 2px;
382
578
  }
579
+
383
580
  .swiper-slide.blue {
384
581
  border-style: dashed;
385
582
  border-color: blue;
386
583
  border-width: 2px;
387
584
  }
585
+
388
586
  .swiper-slide.mediumvioletred {
389
587
  border-style: dashed;
390
588
  border-color: mediumvioletred;
391
589
  border-width: 2px;
392
590
  }
591
+
393
592
  .swiper-slide.purple {
394
593
  border-style: dashed;
395
594
  border-color: purple;
396
595
  border-width: 2px;
397
596
  }
597
+
398
598
  .swiper-slide.lime {
399
599
  border-style: dashed;
400
600
  border-color: lime;
401
601
  border-width: 2px;
402
602
  }
603
+
403
604
  .swiper-slide.darkorange {
404
605
  border-style: dashed;
405
606
  border-color: darkorange;
406
607
  border-width: 2px;
407
608
  }
609
+
408
610
  .swiper-slide.teal {
409
611
  border-style: dashed;
410
612
  border-color: teal;
411
613
  border-width: 2px;
412
614
  }
615
+
413
616
  .swiper-slide.crimson {
414
617
  border-style: dashed;
415
618
  border-color: crimson;
416
619
  border-width: 2px;
417
620
  }
621
+
418
622
  .swiper-slide.darkviolet {
419
623
  border-style: dashed;
420
624
  border-color: darkviolet;
421
625
  border-width: 2px;
422
626
  }
627
+
423
628
  .swiper-slide.darkolivegreen {
424
629
  border-style: dashed;
425
630
  border-color: darkolivegreen;
426
631
  border-width: 2px;
427
632
  }
633
+
428
634
  .swiper-slide.steelblue {
429
635
  border-style: dashed;
430
636
  border-color: steelblue;
431
637
  border-width: 2px;
432
638
  }
639
+
433
640
  .swiper-slide.aqua {
434
641
  border-style: dashed;
435
642
  border-color: aqua;
@@ -437,7 +644,8 @@ input[type="checkbox"].markerlist:checked + label.check > div {
437
644
  }
438
645
  }
439
646
 
440
- .base-swiper .swiper-slide img, .overlay-swiper .swiper-slide img {
647
+ .base-swiper .swiper-slide img,
648
+ .overlay-swiper .swiper-slide img {
441
649
  position: absolute;
442
650
  top: 0;
443
651
  right: 0;
@@ -447,7 +655,8 @@ input[type="checkbox"].markerlist:checked + label.check > div {
447
655
  z-index: 0;
448
656
  }
449
657
 
450
- .base-swiper .swiper-slide div, .overlay-swiper .swiper-slide div {
658
+ .base-swiper .swiper-slide div,
659
+ .overlay-swiper .swiper-slide div {
451
660
  font-size: 1em;
452
661
  position: absolute;
453
662
  right: 0;
@@ -458,12 +667,16 @@ input[type="checkbox"].markerlist:checked + label.check > div {
458
667
  color: white;
459
668
  background-color: rgba(32, 32, 32, 0.5);
460
669
  }
461
- .base-swiper .swiper-slide div.minimize, .overlay-swiper .swiper-slide div.minimize {
670
+
671
+ .base-swiper .swiper-slide div.minimize,
672
+ .overlay-swiper .swiper-slide div.minimize {
462
673
  font-size: .8em;
463
674
  }
464
675
 
465
676
  .single-map {
466
- .swiper-left-icon, .swiper-right-icon {
677
+
678
+ .swiper-left-icon,
679
+ .swiper-right-icon {
467
680
  display: none;
468
681
  }
469
682
  }
@@ -511,32 +724,58 @@ input[type="checkbox"].markerlist:checked + label.check > div {
511
724
  bottom: calc(115px + .5em + env(safe-area-inset-bottom));
512
725
  }
513
726
 
514
- .ol-border, .ol-hide-marker {
727
+ .ol-border,
728
+ .ol-hide-marker,
729
+ .ol-marker-list {
515
730
  right: .5em;
516
731
  right: calc(.5em + constant(safe-area-inset-right));
517
732
  right: calc(.5em + env(safe-area-inset-right));
518
733
  bottom: calc(105px + .5em);
519
734
  }
520
735
 
521
- &.ol-touch .ol-border, &.ol-touch .ol-hide-marker {
736
+ &.ol-touch .ol-border,
737
+ &.ol-touch .ol-hide-marker,
738
+ &.ol-touch .ol-marker-list {
522
739
  bottom: calc(115px + .5em);
523
740
  bottom: calc(115px + .5em + constant(safe-area-inset-bottom));
524
741
  bottom: calc(115px + .5em + env(safe-area-inset-bottom));
525
742
  }
526
743
 
527
- &.enable_border .ol-hide-marker {
744
+ &.enable_border .ol-hide-marker,
745
+ &.enable_border .ol-marker-list,
746
+ &.enable_hide_marker .ol-marker-list {
528
747
  right: .5em;
529
748
  right: calc(.5em + constant(safe-area-inset-right));
530
749
  right: calc(.5em + env(safe-area-inset-right));
531
750
  bottom: calc(145px + .5em);
532
751
  }
533
752
 
534
- &.enable_border.ol-touch .ol-hide-marker {
753
+ &.enable_border.ol-touch .ol-hide-marker,
754
+ &.enable_border.ol-touch .ol-marker-list,
755
+ &.enable_hide_marker.ol-touch .ol-marker-list {
535
756
  bottom: calc(165px + .5em);
536
757
  bottom: calc(165px + .5em + constant(safe-area-inset-bottom));
537
758
  bottom: calc(165px + .5em + env(safe-area-inset-bottom));
538
759
  }
539
760
 
761
+ &.enable_border.enable_hide_marker .ol-marker-list {
762
+ right: .5em;
763
+ right: calc(.5em + constant(safe-area-inset-right));
764
+ right: calc(.5em + env(safe-area-inset-right));
765
+ bottom: calc(185px + .5em);
766
+ }
767
+
768
+ &.enable_border.enable_hide_marker.ol-touch .ol-marker-list {
769
+ bottom: calc(215px + .5em);
770
+ bottom: calc(215px + .5em + constant(safe-area-inset-bottom));
771
+ bottom: calc(215px + .5em + env(safe-area-inset-bottom));
772
+ }
773
+
774
+
775
+
776
+
777
+
778
+
540
779
  .ol-copyright {
541
780
  right: .5em;
542
781
  right: calc(.5em + constant(safe-area-inset-right));
@@ -573,7 +812,8 @@ input[type="checkbox"].markerlist:checked + label.check > div {
573
812
  display: none;
574
813
  }
575
814
 
576
- &.no_poi .ol-hide-marker {
815
+ &.no_poi .ol-hide-marker,
816
+ &.no_poi .ol-marker-list {
577
817
  display: none;
578
818
  }
579
819
 
@@ -584,70 +824,216 @@ input[type="checkbox"].markerlist:checked + label.check > div {
584
824
  background-color: rgba(120, 5, 8, .2);
585
825
  }
586
826
 
587
- .ol-control.disable button:focus, .ol-control.disable button:hover,
588
- &.show-border .ol-control.ol-border button:focus, &.show-border .ol-control.ol-border button:hover,
589
- &.hide-marker .ol-control.ol-hide-marker button:focus, &.hide-marker .ol-control.ol-hide-marker button:hover{
590
- color: rgba(255, 255, 255, .7);
591
- background-color: rgba(120, 5, 8, .2)
827
+ @media (hover: hover) {
828
+
829
+ .ol-control.disable button:focus,
830
+ .ol-control.disable button:hover,
831
+ &.show-border .ol-control.ol-border button:focus,
832
+ &.show-border .ol-control.ol-border button:hover,
833
+ &.hide-marker .ol-control.ol-hide-marker button:focus,
834
+ &.hide-marker .ol-control.ol-hide-marker button:hover {
835
+ color: rgba(255, 255, 255, .7);
836
+ background-color: rgba(120, 5, 8, .2)
837
+ }
838
+ }
839
+
840
+ @media (hover: none) {
841
+
842
+ .ol-control.disable button:focus,
843
+ .ol-control.disable button:active,
844
+ &.show-border .ol-control.ol-border button:focus,
845
+ &.show-border .ol-control.ol-border button:active,
846
+ &.hide-marker .ol-control.ol-hide-marker button:focus,
847
+ &.hide-marker .ol-control.ol-hide-marker button:active {
848
+ color: rgba(255, 255, 255, .7);
849
+ background-color: rgba(120, 5, 8, .2)
850
+ }
592
851
  }
593
852
 
594
853
  .ol-control button {
595
854
  height: 2.0625em;
596
855
  width: 2.0625em;
856
+ color: rgba(255, 255, 255);
597
857
  background-color: rgba(120, 5, 8, .5);
598
858
  }
599
859
 
600
- .ol-slidercommon {
860
+ .ol-slidernew {
601
861
  display: none;
602
862
  }
603
863
 
604
- &.with-opacity .ol-slidercommon {
605
- display: block;
864
+ &.with-opacity .ol-slidernew {
865
+ appearance: none;
606
866
  bottom: .5em;
607
867
  bottom: calc(.5em + constant(safe-area-inset-bottom));
608
868
  bottom: calc(.5em + env(safe-area-inset-bottom));
609
869
  left: calc(50% - 80px);
610
870
  width: 160px;
611
871
  height: 25px;
612
- padding: 0;
872
+ background: rgba(255, 255, 255, .5);
613
873
  border: 2px solid #666666;
874
+ border-radius: 4px;
875
+
876
+ &[disabled] {
877
+ background: rgba(255, 255, 255, .7);
878
+ }
614
879
  }
615
880
 
616
881
  @media screen and (max-width: 640px) {
617
- &.with-opacity .ol-slidercommon {
882
+ &.with-opacity .ol-slidernew {
618
883
  left: 37.5%;
619
884
  width: 25%;
620
885
  }
621
886
  }
622
887
 
623
888
  @media screen and (max-width: 320px) {
624
- &.with-opacity .ol-slidercommon {
889
+ &.with-opacity .ol-slidernew {
625
890
  left: 120px;
626
891
  width: 80px;
627
892
  }
628
893
  }
629
894
 
630
- &.with-opacity .ol-slidercommon button {
631
- position: relative;
895
+ &.with-opacity .ol-slidernew::-webkit-slider-thumb {
896
+ appearance: none;
632
897
  width: 20px;
633
898
  height: 25px;
634
- margin-left: -2px;
635
- margin-right: 2px;
636
- margin-top: -2px;
899
+ background-color: rgba(120, 5, 8, 0.5);
900
+ border: none;
901
+ border-radius: 4px;
902
+ cursor: pointer;
903
+
904
+ &[disabled] {
905
+ background-color: rgba(120, 5, 8, 0.2);
906
+ }
637
907
  }
638
908
 
639
- &.with-opacity .ol-slidercommon-thumb {
640
- height: 15px;
641
- width: 15px;
642
- margin: 0;
643
- filter: none;
909
+ &.with-opacity .ol-slidernew::-moz-range-thumb {
910
+ appearance: none;
911
+ width: 20px;
912
+ height: 25px;
913
+ background-color: rgba(120, 5, 8, 0.5);
914
+ border: none;
915
+ border-radius: 4px;
916
+ cursor: pointer;
917
+
918
+ &[disabled] {
919
+ background-color: rgba(120, 5, 8, 0.2);
920
+ }
644
921
  }
645
922
 
646
- &.with-opacity .ol-slidercommon.disable button {
647
- color: rgba(255, 255, 255, .7);
648
- background-color: rgba(120, 5, 8, .2);
923
+ @media (hover: hover) {
924
+ &.with-opacity .ol-slidernew:not([disabled])::-webkit-slider-thumb:hover {
925
+ background-color: rgba(120, 5, 8, 0.7);
926
+ }
927
+
928
+ &.with-opacity .ol-slidernew:not([disabled])::-moz-range-thumb:hover {
929
+ background-color: rgba(120, 5, 8, 0.7);
930
+ }
649
931
  }
650
932
 
651
- .ol-control button:focus, .ol-control button:hover {
652
- background-color: rgba(120, 5, 8, .7)
933
+ @media (hover: none) {
934
+ &.with-opacity .ol-slidernew:not([disabled])::-webkit-slider-thumb:active {
935
+ background-color: rgba(120, 5, 8, 0.7);
936
+ }
937
+
938
+ &.with-opacity .ol-slidernew:not([disabled])::-moz-range-thumb:active {
939
+ background-color: rgba(120, 5, 8, 0.7);
940
+ }
941
+ }
942
+
943
+ /* Scrollable modal support */
944
+ .modal-dialog {
945
+ height: calc(100% - 60px);
946
+ margin: 30px auto;
947
+ }
948
+
949
+ .modal-content {
950
+ max-height: 100%;
951
+ display: flex;
952
+ flex-direction: column;
953
+ }
954
+
955
+ .modal-body {
956
+ overflow-y: auto;
957
+ }
958
+
959
+
960
+ /* Share Modal Styles */
961
+ .modal_share .modal-body {
962
+ text-align: center;
963
+ }
964
+
965
+ .share_container {
966
+ display: flex;
967
+ flex-direction: column;
968
+ gap: 20px;
969
+ }
970
+
971
+ .share_section {
972
+ background: #f9f9f9;
973
+ padding: 15px;
974
+ border-radius: 8px;
975
+ }
976
+
977
+ .share_section h3 {
978
+ font-size: 1.1em;
979
+ margin-bottom: 15px;
980
+ text-align: left;
981
+ border-bottom: 1px solid #ddd;
982
+ padding-bottom: 5px;
983
+ }
984
+
985
+ .share_buttons {
986
+ display: flex;
987
+ justify-content: space-around;
988
+ margin-bottom: 15px;
989
+ }
990
+
991
+ .share_buttons button {
992
+ display: flex;
993
+ align-items: center;
994
+ gap: 5px;
995
+ padding: 8px 12px;
996
+ border: 1px solid #ccc;
997
+ border-radius: 4px;
998
+ background: white;
999
+ cursor: pointer;
1000
+ transition: background 0.2s;
1001
+ }
1002
+
1003
+ .share_buttons button:hover {
1004
+ background: #f0f0f0;
1005
+ }
1006
+
1007
+ .qr_code_container {
1008
+ display: flex;
1009
+ justify-content: center;
1010
+ margin-top: 10px;
1011
+ }
1012
+
1013
+ .qr_code_container canvas,
1014
+ .qr_code_container img {
1015
+ border: 1px solid #ddd;
1016
+ padding: 5px;
1017
+ background: white;
1018
+ max-width: 100%;
1019
+ }
1020
+
1021
+ /* Custom Toast Styles */
1022
+ .custom-toast {
1023
+ position: fixed;
1024
+ top: 20px;
1025
+ left: 50%;
1026
+ transform: translateX(-50%);
1027
+ background-color: rgba(0, 0, 0, 0.8);
1028
+ color: white;
1029
+ padding: 10px 20px;
1030
+ border-radius: 4px;
1031
+ z-index: 9999;
1032
+ opacity: 0;
1033
+ transition: opacity 0.3s ease-in-out;
1034
+ pointer-events: none;
1035
+ }
1036
+
1037
+ .custom-toast.show {
1038
+ opacity: 1;
653
1039
  }