@opengis/gis 0.2.111 → 0.2.113
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +146 -3
- package/dist/index.css +1 -1
- package/dist/index.js +2265 -2194
- package/dist/index.umd.cjs +28 -28
- package/module/test/cls/doc_status.json +31 -31
- package/module/test/select/core.user_uid.sql +1 -1
- package/package.json +3 -3
- package/server/plugins/vite.js +0 -1
- package/server/routes/map/controllers/clearTiles.js +34 -0
- package/server/routes/map/index.mjs +5 -1
- package/server/routes/map/vtile1.js +14 -11
package/README.md
CHANGED
|
@@ -1,5 +1,148 @@
|
|
|
1
|
-
|
|
1
|
+
<!--  -->
|
|
2
2
|
|
|
3
|
-
|
|
3
|
+
# @opengis/gis
|
|
4
4
|
|
|
5
|
-
|
|
5
|
+
[](https://www.npmjs.com/package/@opengis/gis)
|
|
6
|
+
[]()
|
|
7
|
+
[]()
|
|
8
|
+
[](http://standardjs.com/)
|
|
9
|
+
|
|
10
|
+
Tools for mapping, geodata management, and integration into modern web services.
|
|
11
|
+
|
|
12
|
+
## Features
|
|
13
|
+
|
|
14
|
+
- **Interactive Web Maps** – View and explore geographic data online.
|
|
15
|
+
- **Dataset Management** – Upload and manage spatial data (Shapefile, GeoJSON, CSV, etc.).
|
|
16
|
+
- **Raster Visualization** – Display satellite images and raster layers.
|
|
17
|
+
- **Layer Control** – Add, remove, and organize map layers.
|
|
18
|
+
- **User & Admin Management** – Control access and permissions.
|
|
19
|
+
- **API & OGC Standards Support** – Supports WMS, WFS, WMTS services.
|
|
20
|
+
- **Cloud Access** – Use the GIS platform from any device via the web.
|
|
21
|
+
- **High-Performance Processing** – Handles large spatial datasets efficiently.
|
|
22
|
+
|
|
23
|
+
## Install
|
|
24
|
+
|
|
25
|
+
```bash
|
|
26
|
+
npm i @opengis/gis
|
|
27
|
+
```
|
|
28
|
+
|
|
29
|
+
## Usage Portal
|
|
30
|
+
|
|
31
|
+
```vue
|
|
32
|
+
<template>
|
|
33
|
+
<!--$route.params.id-->
|
|
34
|
+
<MapWidget :id="'home'" />
|
|
35
|
+
</template>
|
|
36
|
+
|
|
37
|
+
<script setup lang="ts">
|
|
38
|
+
const MapWidget = defineAsyncComponent(() =>
|
|
39
|
+
import("@opengis/gis").then((m) => m.MapWidget),
|
|
40
|
+
);
|
|
41
|
+
</script>
|
|
42
|
+
```
|
|
43
|
+
|
|
44
|
+
## Usage Admin
|
|
45
|
+
|
|
46
|
+
```js
|
|
47
|
+
// router.config
|
|
48
|
+
export default [
|
|
49
|
+
{
|
|
50
|
+
path: "/gis.registers/:id?",
|
|
51
|
+
component: () => import("@opengis/gis").then((m) => m.Register),
|
|
52
|
+
},
|
|
53
|
+
{
|
|
54
|
+
path: "/gis.services/:id?",
|
|
55
|
+
component: () => import("@opengis/gis").then((m) => m.Service),
|
|
56
|
+
},
|
|
57
|
+
{
|
|
58
|
+
path: "/gis.rasters/:id?",
|
|
59
|
+
component: () => import("@opengis/gis").then((m) => m.Raster),
|
|
60
|
+
},
|
|
61
|
+
{
|
|
62
|
+
path: "/gis.cartocss/:id?",
|
|
63
|
+
component: () => import("@opengis/gis").then((m) => m.CartoCSS),
|
|
64
|
+
},
|
|
65
|
+
{
|
|
66
|
+
path: "/gis.maps/:id?",
|
|
67
|
+
component: () => import("@opengis/gis").then((m) => m.MapSettings),
|
|
68
|
+
},
|
|
69
|
+
];
|
|
70
|
+
```
|
|
71
|
+
|
|
72
|
+
## Config
|
|
73
|
+
|
|
74
|
+
```js
|
|
75
|
+
// main.ts
|
|
76
|
+
app.config.globalProperties.$settings = {
|
|
77
|
+
map: {
|
|
78
|
+
center: [34.71, 48.51],
|
|
79
|
+
zoom: 14,
|
|
80
|
+
basemaps: [
|
|
81
|
+
{
|
|
82
|
+
name: "Оглядова карта",
|
|
83
|
+
url: "https://data.gki.com.ua/api-user/rtile/voyager/ua/{z}/{x}/{y}.png",
|
|
84
|
+
},
|
|
85
|
+
{
|
|
86
|
+
name: "Ортофото 1:10K",
|
|
87
|
+
url: "https://data.gki.com.ua/api-user/rtile/orto10/ua/{z}/{x}/{y}.png",
|
|
88
|
+
},
|
|
89
|
+
{
|
|
90
|
+
name: "Open Street Maps",
|
|
91
|
+
url: "https://tile.openstreetmap.org.ua/styles/osm-bright/{z}/{x}/{y}.png",
|
|
92
|
+
},
|
|
93
|
+
{
|
|
94
|
+
name: "Топографічна карта 1:2000",
|
|
95
|
+
url: "/api/gis-rtile/3830082297432900636/{z}/{x}/{y}.png",
|
|
96
|
+
preview: "/api/gis-rtile/3830082297432900636/17/78138/45286.png",
|
|
97
|
+
},
|
|
98
|
+
],
|
|
99
|
+
},
|
|
100
|
+
};
|
|
101
|
+
```
|
|
102
|
+
|
|
103
|
+
## Documentation
|
|
104
|
+
|
|
105
|
+
For a detailed understanding of `cms`, its features, and how to use them, refer to our [Documentation](https://gis.opengis.info/).
|
|
106
|
+
|
|
107
|
+
## Technology stack
|
|
108
|
+
|
|
109
|
+
<a href="https://fastify.dev/" target="_blank">
|
|
110
|
+
<img src="https://img.shields.io/badge/Fastify-323330?style=for-the-badge&logo=fastify" /></a>
|
|
111
|
+
|
|
112
|
+
<a href="https://vuejs.org/" target="_blank">
|
|
113
|
+
<img src="https://img.shields.io/badge/Vue%20js-323330?style=for-the-badge&logo=vuedotjs&logoColor=4FC08D" /></a>
|
|
114
|
+
|
|
115
|
+
<a href="https://vite.dev/" target="_blank">
|
|
116
|
+
<img src="https://img.shields.io/badge/Vite-323330?style=for-the-badge&logo=vite" /></a>
|
|
117
|
+
|
|
118
|
+
<a href="https://www.postgresql.org/" target="_blank">
|
|
119
|
+
<img src="https://img.shields.io/badge/PostgreSQL-323330?style=for-the-badge&logo=postgresql&logoColor=white" /></a>
|
|
120
|
+
|
|
121
|
+
<a href="https://redis.io/" target="_blank">
|
|
122
|
+
<img src="https://img.shields.io/badge/redis-323330.svg?&style=for-the-badge&logo=redis&logoColor=%23DD0031" /></a>
|
|
123
|
+
|
|
124
|
+
<a href="https://nodejs.org/" target="_blank">
|
|
125
|
+
<img src="https://img.shields.io/badge/Node.js-323330?style=for-the-badge&logo=node.js&logoColor=white" /></a>
|
|
126
|
+
|
|
127
|
+
## Contribute
|
|
128
|
+
|
|
129
|
+
Feel free to contact us through our website [SOFTPRO.UA](https://softpro.ua) or email <info@softpro.ua>
|
|
130
|
+
|
|
131
|
+
- Report bugs
|
|
132
|
+
- Share your ideas
|
|
133
|
+
- Ask questions
|
|
134
|
+
|
|
135
|
+
## Follow Us
|
|
136
|
+
|
|
137
|
+
[Official site](https://softpro.ua)
|
|
138
|
+
|
|
139
|
+
<p>
|
|
140
|
+
<a href="https://www.instagram.com/gissoftpro/" target="_blank"><img src="https://cdn.softpro.ua/data/npm/instagram.png" alt="Softpro Instagram" title="oftpro Instagram"></a>
|
|
141
|
+
<a href="https://www.facebook.com/gissoftpro" target="_blank"><img src="https://cdn.softpro.ua/data/npm/facebook.png" alt="Softpro Facebook" title="Softpro Facebook"></a>
|
|
142
|
+
<a href="https://t.me/softprogis" target="_blank"><img src="https://cdn.softpro.ua/data/npm/telegram.png" alt="Softpro Telegram" title="Softpro Telegram"></a>
|
|
143
|
+
<a href="https://www.linkedin.com/in/softpro-ukraine-a8876b282/recent-activity/all/" target="_blank"><img src="https://cdn.softpro.ua/data/npm/social/linkedin.png" alt="Softpro Linkedin" title="Softpro LinkedIn"></a>
|
|
144
|
+
</p>
|
|
145
|
+
|
|
146
|
+
## License
|
|
147
|
+
|
|
148
|
+
Copyright © SOFTPRO. All rights reserved.
|
package/dist/index.css
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
th[data-v-25566600]{position:sticky;top:0;background:#fff}.map-view-root[data-v-d6e61166]{position:relative}.mapLayer-filter[data-v-cc1f0579]{display:inline-flex;position:relative}.mapLayer-filter__trigger[data-v-cc1f0579]{display:inline-flex;align-items:center;justify-content:center;padding:0;color:inherit;text-decoration:none;cursor:pointer;border-radius:50%;transition:background .2s ease}.mapLayer-filter__trigger[data-v-cc1f0579]:hover:not(.mapLayer-filter__trigger--disabled){background:#d4dae033}.mapLayer-filter__trigger:hover:not(.mapLayer-filter__trigger--disabled) .mapLayer-filter__icon[data-v-cc1f0579]{color:#1d4ed8}.mapLayer-filter__trigger--disabled[data-v-cc1f0579]{cursor:not-allowed;opacity:.5;pointer-events:auto}.mapLayer-filter__icon[data-v-cc1f0579]{display:inline-flex;align-items:center;justify-content:center;width:18px;height:18px;color:#475569;transition:color .2s ease}.mapLayer-filter__trigger--disabled .mapLayer-filter__icon[data-v-cc1f0579]{color:inherit}.mapLayer-filter__popover[data-v-cc1f0579]{position:absolute;max-width:min-content}.mapLayer-filter__popover--static[data-v-cc1f0579]{position:static;top:auto;left:auto;transform:none!important}.map-filter[data-v-cc1f0579]{background:#fffffff0;border:1px solid rgba(148,163,184,.35);border-radius:16px;padding:16px}.map-filter__header[data-v-cc1f0579]{display:flex;align-items:center;justify-content:space-between;margin-bottom:12px}.map-filter__title[data-v-cc1f0579]{margin:0;font-size:15px;font-weight:600;color:#1f2937}.map-filter__close[data-v-cc1f0579]{width:24px;height:24px;border:none;border-radius:50%;background:#94a3b833;color:#475569;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;font-size:18px;line-height:1}.map-filter__close[data-v-cc1f0579]:hover{background:#3b82f633;color:#2563eb}.filter-badge__hint[data-v-cc1f0579]{position:fixed;transform:translate(-50%);max-width:220px;font-size:11px;line-height:1.3;color:#1f2937;background:#fffffff2;border:1px solid rgba(148,163,184,.35);border-radius:6px;padding:6px 8px;box-shadow:0 8px 16px #0f172a1f;pointer-events:none;white-space:normal;z-index:1000}.map-filter[data-v-98772410]{background:#fffffff0;border:1px solid rgba(148,163,184,.35);border-radius:16px;padding:16px;box-shadow:0 16px 32px #0f172a1a;min-width:240px}.map-filter__header[data-v-98772410]{display:flex;align-items:center;justify-content:space-between}.map-filter__title[data-v-98772410]{margin:0;font-size:15px;font-weight:600;color:#1f2937}.map-filter__close[data-v-98772410]{width:24px;height:24px;border:none;border-radius:50%;background:#94a3b833;color:#475569;cursor:pointer}.map-filter__close[data-v-98772410]:hover{background:#3b82f633;color:#2563eb}.card[data-v-79735544]{font-family:inherit}.fade-enter-active[data-v-79735544],.fade-leave-active[data-v-79735544]{transition:opacity .2s ease}.fade-enter-from[data-v-79735544],.fade-leave-to[data-v-79735544]{opacity:0}.map-center-control[data-v-03fa94f6]{display:flex;gap:.5rem}.map-widget__filter-host[data-v-66d33228]{position:absolute;left:10px;top:100px;align-self:stretch;pointer-events:auto;z-index:21}.mapLayer-info[data-v-cc1cc7bf]{display:inline-flex;position:relative}.mapLayer-info__trigger[data-v-cc1cc7bf]{display:inline-flex;align-items:center;justify-content:center;padding:0;color:inherit;text-decoration:none;cursor:pointer}.mapLayer-info__icon[data-v-cc1cc7bf]{display:inline-flex;align-items:center;justify-content:center;width:18px;height:18px;transition:color .2s ease}.mapLayer-info__icon[data-v-cc1cc7bf]:hover{color:#1d4ed8}.mapLayer-info__popover[data-v-cc1cc7bf]{position:absolute;min-width:200px}.mapLayer-info__inner[data-v-cc1cc7bf]{display:flex;flex-direction:column;gap:0}.mapLayer-info__item[data-v-cc1cc7bf]{display:grid;grid-template-columns:120px 1fr;gap:12px;align-items:flex-start;padding:6px 0;border-bottom:1px solid #e2e8f0}.mapLayer-info__item[data-v-cc1cc7bf]:last-child{border-bottom:none}.mapLayer-info__item-label[data-v-cc1cc7bf]{font-size:12px;color:#475569;font-weight:600}.mapLayer-info__item-value[data-v-cc1cc7bf]{font-size:13px;color:#1f2937}.mapLayer-info__item-value--break-all[data-v-cc1cc7bf]{word-break:break-all}.map-info[data-v-813e24fb]{width:100%}.map-info__header[data-v-813e24fb]{display:flex;justify-content:space-between;align-items:flex-start;gap:30px;padding:20px 20px 12px}.map-info__actions[data-v-813e24fb]{display:flex;align-items:center;gap:8px}.map-info__title[data-v-813e24fb]{margin:0;font-size:18px;line-height:1.3;font-weight:600;color:#1f2937}.map-info__menu[data-v-813e24fb]{position:relative}.map-info__menu-button[data-v-813e24fb]{display:inline-flex;align-items:center;justify-content:center;width:32px;height:32px;border:none;border-radius:50%;background:transparent;cursor:pointer;transition:background .2s ease}.map-info__menu-button[data-v-813e24fb]:hover{background:#94a3b833}.map-info__popover[data-v-813e24fb]{position:absolute;background:#fff;box-shadow:0 10px 40px 10px #00000014;border-radius:12px;padding:8px 12px;min-width:160px;z-index:50}.map-info__popover-link[data-v-813e24fb]{display:block;padding:6px 0;font-size:13px;color:#1f2937;text-decoration:none}.map-info__popover-link[data-v-813e24fb]:hover{color:#1d4ed8}.map-info__content[data-v-813e24fb]{padding:0 20px 20px;font-size:14px;color:#34495e;transition:max-height .3s ease,opacity .3s ease,padding .3s ease;overflow:hidden;max-height:1000px;opacity:1}.map-info__content--collapsed[data-v-813e24fb]{max-height:0;opacity:0;padding:0 20px 5px}.map-info__content[data-v-813e24fb] p{margin:0 0 12px}.map-info__toggle-button[data-v-813e24fb]{display:inline-flex;align-items:center;justify-content:center;width:32px;height:32px;border:none;border-radius:50%;background:transparent;cursor:pointer;transition:background .2s ease}.map-info__toggle-button[data-v-813e24fb]:hover{background:#94a3b833}.map-info__toggle-icon--rotated[data-v-813e24fb]{transform:rotate(180deg)}.opacity-btn[data-v-b278347a]{display:inline-flex;align-items:center;justify-content:center;padding:4px 8px;border-radius:8px;border:none;background:transparent;color:#475569;cursor:pointer;transition:background .2s ease,color .2s ease}.opacity-btn[data-v-b278347a]:hover{background:#94a3b829;color:#1f2937}.opacity-popover[data-v-b278347a]{position:fixed;z-index:102;padding:12px;width:260px;background:#fff;border-radius:12px;box-shadow:0 16px 32px #0f172a26}.opacity-popover__content[data-v-b278347a]{display:flex;align-items:center;gap:8px}.opacity-popover__label[data-v-b278347a]{font-size:12px;color:#6b7280}.opacity-popover__range[data-v-b278347a]{flex:1 1 auto;accent-color:#2563eb}.opacity-popover__value[data-v-b278347a]{font-size:12px;color:#475569}.layers-panel[data-v-57bebfd3]{display:flex;flex-direction:column;background:#fff;border:1px solid rgba(148,163,184,.35);border-radius:16px;padding:16px;box-shadow:0 16px 32px #0f172a1a;min-width:220px}.layers-panel__header[data-v-57bebfd3]{display:flex;justify-content:space-between;align-items:center;gap:16px}.layers-panel__header-actions[data-v-57bebfd3]{display:flex;align-items:center;gap:12px;flex-wrap:wrap}.layers-panel__heading-title[data-v-57bebfd3]{display:flex;align-items:baseline;gap:8px}.layers-panel__count[data-v-57bebfd3]{font-size:12px;text-transform:none;color:#475569}.layers-panel__bulk-actions[data-v-57bebfd3]{display:flex;align-items:center;gap:6px}.layers-panel__header-link[data-v-57bebfd3]{border:none;background:transparent;padding:0;font-size:12px;font-weight:500;color:#2563eb;cursor:pointer;transition:color .2s ease}.layers-panel__header-link[data-v-57bebfd3]:hover{color:#1d4ed8}.layers-panel__header-controls[data-v-57bebfd3]{display:flex;align-items:center;gap:6px}.layers-panel__heading[data-v-57bebfd3]{display:flex;flex-direction:column;gap:6px}.layers-panel__title[data-v-57bebfd3]{font-size:18px;font-weight:600;color:#1f2937}.layers-panel__clear[data-v-57bebfd3]{display:inline-flex;align-items:center;gap:6px;padding:6px 12px;border-radius:10px;border:1px solid rgba(59,130,246,.6);background-color:#3b82f614;color:#1d4ed8;font-size:12px;font-weight:500;line-height:1;transition:background-color .15s ease,color .15s ease}.layers-panel__clear[data-v-57bebfd3]:hover{background-color:#2563eb26;color:#1e40af}.layers-panel__item[data-v-57bebfd3]{display:flex;align-items:center;justify-content:space-between;gap:12px}.layers-panel__label[data-v-57bebfd3]{display:flex;flex-direction:column;gap:4px;color:#334155;width:100%}.layers-panel__label-row[data-v-57bebfd3]{display:flex;align-items:center;gap:12px}.layers-panel__title-block[data-v-57bebfd3]{display:inline-flex;align-items:center;gap:8px;flex:1;min-width:0}.layers-panel__checkbox[data-v-57bebfd3]{-webkit-appearance:none;-moz-appearance:none;appearance:none;width:18px;height:18px;border:2px solid var(--layers-panel-checkbox-color, #94a3b8);border-radius:4px;display:inline-flex;align-items:center;justify-content:center;cursor:pointer;background:#fff;transition:all .15s ease}.layers-panel__checkbox[data-v-57bebfd3]:checked{background:var(--layers-panel-checkbox-color, #94a3b8);border-color:var(--layers-panel-checkbox-color, #94a3b8)}.layers-panel__checkbox[data-v-57bebfd3]:checked:after{content:"";width:9px;height:9px;display:block;background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='9' viewBox='0 0 12 9' fill='none'%3E%3Cpath d='M10.3332 1.5L4.49984 7.33333L1.6665 4.5' stroke='%23fff' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center/contain no-repeat}.layers-panel__checkbox[data-v-57bebfd3]:hover{border-color:var(--layers-panel-checkbox-color, #94a3b8);box-shadow:none}.layers-panel__name[data-v-57bebfd3]{font-size:14px;font-weight:400;color:#1f2937;min-width:0}.layers-panel__meta[data-v-57bebfd3]{display:flex;align-items:center;gap:4px;margin-left:auto}.layers-panel__actions[data-v-57bebfd3]{display:flex;align-items:center;gap:4px}.layers-panel__action[data-v-57bebfd3]{display:inline-flex;align-items:center;justify-content:center;width:28px;height:28px;border:none;background:transparent;cursor:pointer;padding:0;color:#475569}.layers-panel__action[data-v-57bebfd3]:hover{color:#1d4ed8}.layers-panel__content[data-v-57bebfd3]{display:flex;flex-direction:column;gap:10px;transition:max-height .3s ease,opacity .3s ease;overflow:hidden;max-height:10000px;opacity:1;margin-top:15px}.layers-panel__content--collapsed[data-v-57bebfd3]{margin-top:-5px;max-height:0;opacity:0;gap:0}.layers-panel__toggle-button[data-v-57bebfd3]{display:inline-flex;align-items:center;justify-content:center;width:32px;height:32px;border:none;border-radius:50%;background:transparent;cursor:pointer;transition:background .2s ease}.layers-panel__toggle-button[data-v-57bebfd3]:hover{background:#94a3b833}.layers-panel__toggle-icon--rotated[data-v-57bebfd3]{transform:rotate(180deg);transition:transform .3s ease}.catalog-tab[data-v-36ed2aad]{display:flex;flex-direction:column;flex:1 1 auto;min-height:0}.catalog-tab__search[data-v-36ed2aad]{position:sticky;top:0;background:inherit;z-index:1;padding-bottom:8px}.catalog-tab__list[data-v-36ed2aad]{flex:1 1 auto;display:flex;flex-direction:column;overflow-y:auto;min-height:0;padding-bottom:8px}.fade-enter-active[data-v-36ed2aad],.fade-leave-active[data-v-36ed2aad]{transition:all .2s ease}.fade-enter-from[data-v-36ed2aad],.fade-leave-to[data-v-36ed2aad]{opacity:0;max-height:0}.filter-badge[data-v-36ed2aad]{display:inline-flex;align-items:center;gap:4px;padding:4px;border-radius:9999px;background:#94a3b826;color:#475569;font-size:11px;font-weight:600;border:none;cursor:pointer;transition:background .2s ease,color .2s ease}.filter-badge[data-v-36ed2aad]:hover{background:#94a3b840;color:#1f2937}.filter-badge--disabled[data-v-36ed2aad]{cursor:not-allowed;background:#94a3b814;color:#475569b3}.filter-badge__icon[data-v-36ed2aad]{width:14px;height:14px}.filter-badge__hint[data-v-36ed2aad]{position:fixed;transform:translate(-50%);max-width:220px;font-size:11px;line-height:1.3;color:#1f2937;background:#fffffff2;border:1px solid rgba(148,163,184,.35);border-radius:6px;padding:6px 8px;box-shadow:0 8px 16px #0f172a1f;pointer-events:none;white-space:normal;z-index:1000}.selected-tab[data-v-aabdc291]{display:flex;flex-direction:column;gap:12px;height:100%;min-height:0}.selected-tab__actions[data-v-aabdc291]{flex:0 0 auto}.selected-tab__add[data-v-aabdc291]{display:flex;align-items:center;justify-content:center;gap:8px;width:100%;padding:8px 12px;border-radius:10px;background:#3b82f614;color:#2563eb;border:none;cursor:pointer;transition:background .2s ease,color .2s ease}.selected-tab__add[data-v-aabdc291]:hover{background:#3b82f629;color:#1d4ed8}.selected-tab__empty[data-v-aabdc291]{flex:1 1 auto;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;border:1px dashed rgba(148,163,184,.6);border-radius:16px;padding:24px;background:#f8fafce6;text-align:center;color:#6b7280}.selected-tab__empty-title[data-v-aabdc291]{margin:0;font-weight:600;color:#1f2937}.selected-tab__empty-text[data-v-aabdc291]{margin:0;font-size:13px}.selected-tab__scroll[data-v-aabdc291]{flex:1 1 auto;min-height:0;overflow-y:auto;padding-right:4px;display:flex;flex-direction:column}.selected-tab__scroll>div[data-v-aabdc291]{display:flex;flex-direction:column;gap:8px}.selected-tab__item[data-v-aabdc291]{border:1px solid #e5e7eb;border-radius:10px;padding:12px;background:#fff;color:#4b5563;font-size:13px;transition:background .2s ease,border-color .2s ease}.selected-tab__item[data-v-aabdc291]:hover{background:#f8fafccc}.selected-tab__item--dragging[data-v-aabdc291]{opacity:.5}.selected-tab__item--over[data-v-aabdc291]{border-color:#2563eb;background:#3b82f61f}.selected-tab__item-header[data-v-aabdc291]{display:flex;align-items:center;justify-content:space-between;gap:12px}.selected-tab__item-info[data-v-aabdc291]{display:flex;align-items:center;gap:8px;cursor:move;color:#1f2937}.selected-tab__item-handle[data-v-aabdc291]{color:#64748bcc;font-size:16px}.selected-tab__item-checkbox[data-v-aabdc291]{width:16px;height:16px;accent-color:#2563eb}.selected-tab__item-controls[data-v-aabdc291]{display:flex;align-items:center;gap:8px}.selected-tab__item-opacity[data-v-aabdc291],.selected-tab__item-menu[data-v-aabdc291]{display:inline-flex;align-items:center;justify-content:center;padding:4px 8px;border-radius:8px;border:none;background:transparent;color:#475569;cursor:pointer;transition:background .2s ease,color .2s ease}.selected-tab__item-opacity[data-v-aabdc291]:hover,.selected-tab__item-menu[data-v-aabdc291]:hover{background:#94a3b829;color:#1f2937}.selected-tab__popover[data-v-aabdc291]{position:fixed;z-index:102;padding:12px;width:240px;background:#fff;border-radius:12px;box-shadow:0 16px 32px #0f172a26}.selected-tab__popover-content[data-v-aabdc291]{display:flex;align-items:center;gap:8px}.selected-tab__popover-label[data-v-aabdc291]{font-size:12px;color:#6b7280}.selected-tab__popover-range[data-v-aabdc291]{flex:1 1 auto;accent-color:#2563eb}.selected-tab__popover-value[data-v-aabdc291]{font-size:12px;color:#475569}.selected-tab__menu[data-v-aabdc291]{position:fixed;z-index:102;background:#fff;border-radius:12px;box-shadow:0 16px 32px #0f172a26;padding:12px}.selected-tab__menu-inner[data-v-aabdc291]{display:flex;flex-direction:column;gap:4px;width:190px}.selected-tab__menu-item[data-v-aabdc291]{display:flex;align-items:center;gap:8px;padding:6px 8px;border:none;background:transparent;color:#1f2937;font-size:13px;text-align:left;cursor:pointer;transition:background .2s ease}.selected-tab__menu-item[data-v-aabdc291]:hover{background:#94a3b829}.selected-tab__menu-item--disabled[data-v-aabdc291]{color:#63666a99;cursor:not-allowed}.selected-tab__menu-item--danger[data-v-aabdc291]{color:#dc2626}.selected-tab__menu-item--danger[data-v-aabdc291]:hover{background:#dc26261f}.filter-tab[data-v-c6632fbd]{display:flex;flex-direction:column;gap:16px;height:100%;min-height:0}.filter-tab__header[data-v-c6632fbd]{display:flex;align-items:flex-start;justify-content:space-between;gap:16px}.filter-tab__subtitle[data-v-c6632fbd]{margin:0 0 4px;font-size:12px;font-weight:500;color:#6b7280}.filter-tab__title[data-v-c6632fbd]{margin:0;font-size:16px;font-weight:600;color:#1f2937}.filter-tab__content[data-v-c6632fbd]{flex:1 1 auto;min-height:0;background:#fffffff0;border:1px solid rgba(148,163,184,.35);box-shadow:0 16px 32px #0f172a1a}.filter-tab__scroll[data-v-c6632fbd]{max-height:100%;overflow-y:auto;padding:0}.filter-tab__empty[data-v-c6632fbd]{padding:24px;text-align:center;background:#f8fafce6;border:1px dashed rgba(148,163,184,.6);border-radius:16px}.filter-tab__empty-title[data-v-c6632fbd]{margin:0 0 8px;font-size:15px;font-weight:600;color:#1f2937}.filter-tab__empty-text[data-v-c6632fbd]{margin:0;font-size:13px;color:#6b7280}.map-catalog-widget[data-v-99290304]{display:flex;flex-direction:column;max-height:100%;overflow:hidden}.map-catalog-widget__body[data-v-99290304]{flex:1 1 auto;min-height:0;display:flex;flex-direction:column}.map-catalog-widget__scroll[data-v-99290304]{flex:1 1 auto;min-height:0;overflow-y:auto;padding-right:4px}.map-catalog-widget__content[data-v-99290304]{flex:1 1 auto;min-height:0;display:flex;flex-direction:column;transition:max-height .3s ease,opacity .3s ease;overflow:hidden;max-height:10000px;opacity:1}.map-catalog-widget__content--collapsed[data-v-99290304]{max-height:0;opacity:0;padding:0}.map-catalog-widget__toggle-button[data-v-99290304]{display:inline-flex;align-items:center;justify-content:center;width:32px;height:32px;border:none;border-radius:50%;background:transparent;cursor:pointer;transition:background .2s ease}.map-catalog-widget__toggle-button[data-v-99290304]:hover{background:#94a3b833}.map-catalog-widget__toggle-icon--rotated[data-v-99290304]{transform:rotate(180deg);transition:transform .3s ease}.map-attribute__filter[data-v-9686ce7b] .filter-badge{display:inline-flex;align-items:center;justify-content:center;width:36px;height:36px;border-radius:9999px;background:#94a3b82e;color:#475569;border:none;padding:0;transition:background-color .15s ease}.map-attribute__filter[data-v-9686ce7b] .filter-badge:hover,.map-attribute__filter[data-v-9686ce7b] .filter-badge.filter-badge--active{background:#2563eb2e;color:#1d4ed8}.map-attribute__filter[data-v-9686ce7b] .filter-badge__icon{width:16px;height:16px}.map-attribute__filter[data-v-9686ce7b] .filter-badge__panel{border-radius:16px;box-shadow:0 16px 32px #0f172a14}.map-search-widget[data-v-ba50488b]{width:100%}.map-print-control[data-v-4fae7635]{z-index:35;display:flex;flex-direction:column;align-items:flex-end;gap:12px}[data-v-4fae7635] .mapboxgl-export-list{display:none;min-width:280px;padding:20px 16px 16px;border-radius:16px;background:#fffffffa;box-shadow:0 18px 40px #0f172a40;color:#0f172a;font-size:14px;line-height:1.4;margin-right:40px}[data-v-4fae7635] .mapboxgl-export-list table{width:100%;border-collapse:separate;border-spacing:0 12px}[data-v-4fae7635] .mapboxgl-export-list td:first-child{width:35%;font-weight:500;color:#334155;padding-right:12px}[data-v-4fae7635] .mapboxgl-export-list label{display:inline-flex;align-items:center}[data-v-4fae7635] .mapboxgl-export-list select{width:100%;height:36px;border-radius:10px;border:1px solid rgba(15,23,42,.1);padding:0 12px;font-size:14px;color:#0f172a;background:#fff;-webkit-appearance:none;-moz-appearance:none;appearance:none}[data-v-4fae7635] .mapboxgl-export-list select:focus{outline:none;border-color:#0f172a40;box-shadow:0 0 0 2px #3b82f633}[data-v-4fae7635] .mapboxgl-export-list .generate-button{margin-top:12px;width:100%;height:40px;border-radius:12px;border:none;background:linear-gradient(134deg,#2563eb,#1d4ed8);color:#fff;font-weight:600;cursor:pointer;transition:transform .2s ease,box-shadow .2s ease}[data-v-4fae7635] .mapboxgl-export-list .generate-button:hover{transform:translateY(-1px);box-shadow:0 14px 28px #2563eb59}[data-v-4fae7635] .mapboxgl-export-list .generate-button:active{transform:translateY(0);box-shadow:0 10px 20px #2563eb4d}.cursor-coordinates[data-v-334315d9]{display:flex;align-items:center;gap:8px;padding:8px 12px;border-radius:12px;background:#ffffffeb;color:#1f2937;box-shadow:0 10px 22px #0f172a29;font-size:12px;max-width:240px}.cursor-coordinates__icon[data-v-334315d9]{display:flex;align-items:center;justify-content:center;width:24px;height:24px;color:#2563eb}.cursor-coordinates__icon svg[data-v-334315d9]{width:100%;height:100%}.cursor-coordinates__text[data-v-334315d9]{white-space:nowrap;font-family:ui-monospace,SFMono-Regular,SFMono,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace}.minimap[data-v-bc754c89]{position:relative}.minimap__button[data-v-bc754c89]{width:32px;height:32px;border-radius:50%;border:1px solid rgba(148,163,184,.35);background:#ffffffeb;color:#334155;display:inline-flex;align-items:center;justify-content:center;cursor:pointer;box-shadow:0 6px 16px #0f172a1f;transition:all .2s ease}.minimap__button[data-v-bc754c89]:hover{border-color:#3b82f680;color:#1d4ed8}.minimap__button-icon[data-v-bc754c89]{transition:transform .2s ease}.minimap__wrapper[data-v-bc754c89]{position:absolute;bottom:2.5rem;right:2rem;border-radius:10px;overflow:hidden;border:1px solid rgba(148,163,184,.4);box-shadow:0 10px 22px #0f172a1f;background:#fff}.minimap-slide-enter-active[data-v-bc754c89],.minimap-slide-leave-active[data-v-bc754c89]{transition:opacity .2s ease,transform .2s ease}.minimap-slide-enter-from[data-v-bc754c89],.minimap-slide-leave-to[data-v-bc754c89]{opacity:0;transform:translate(12px)}.drawing-panel-range[data-v-4cee5a30]{-webkit-appearance:none;-moz-appearance:none;appearance:none;background:#e5e7eb}.drawing-panel-range[data-v-4cee5a30]::-webkit-slider-thumb{-webkit-appearance:none;width:16px;height:16px;background:#3b82f6;border-radius:50%;cursor:pointer;box-shadow:0 1px 3px #0003}.drawing-panel-range[data-v-4cee5a30]::-moz-range-thumb{width:16px;height:16px;background:#3b82f6;border:none;border-radius:50%;cursor:pointer;box-shadow:0 1px 3px #0003}.drawing-canvas-wrap[data-v-ed2688bc]{position:absolute;top:0;right:0;bottom:0;left:0;z-index:30;pointer-events:auto;touch-action:none}.drawing-canvas-wrap--eraser[data-v-ed2688bc]{cursor:none}.drawing-canvas[data-v-ed2688bc]{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;display:block;background:transparent}.drawing-canvas--preview[data-v-ed2688bc]{pointer-events:none}.drawing-canvas__eraser-cursor[data-v-ed2688bc]{position:fixed;pointer-events:none;border:2px solid rgba(100,116,139,.8);border-radius:50%;background:#ffffff26;box-sizing:border-box;z-index:1000}.map-widget[data-v-524cd6dd]{position:relative;width:100%;background:#f1f5f9;overflow:hidden}.map-widget__view[data-v-524cd6dd]{font-family:inherit;width:100%;height:100%}.map-widget__state[data-v-524cd6dd]{position:absolute;top:16px;left:50%;transform:translate(-50%);background:#fffffff2;border:1px solid rgba(148,163,184,.4);border-radius:12px;padding:10px 18px;font-size:14px;color:#1f2937;z-index:30;box-shadow:0 12px 24px #0f172a1f}.map-widget__state--error[data-v-524cd6dd]{color:#b91c1c;border-color:#dc262659}.map-widget__filter-host[data-v-524cd6dd]{position:absolute;left:430px;flex:0 0 auto;width:0;align-self:stretch;pointer-events:auto;z-index:21}.map-widget__overlay-grid[data-v-524cd6dd]{position:absolute;top:0;right:0;bottom:0;left:0;font-family:inherit;z-index:20;pointer-events:none;display:flex;justify-content:space-between;padding:16px 16px 36px}.map-widget__side[data-v-524cd6dd]{flex:0 0 auto;display:flex;flex-direction:column;justify-content:flex-start;height:100%;width:min(100%,400px);pointer-events:none}.map-widget__side--right[data-v-524cd6dd]{align-items:flex-end}.map-widget__stack-wrapper[data-v-524cd6dd]{display:flex;flex-direction:column;min-height:0;pointer-events:none;max-height:100%;max-width:calc(100% - 29px)}.map-widget__stack-wrapper--top[data-v-524cd6dd]{flex:1 1 auto}.map-widget__stack-wrapper--bottom[data-v-524cd6dd]{flex:0 0 auto;margin-top:auto;padding-top:16px}.map-widget__stack[data-v-524cd6dd]{display:flex;flex-direction:column;gap:12px;max-height:100%;min-height:0;width:min(100%,400px);pointer-events:auto;overflow-y:auto;padding-right:4px}.map-overlay__item[data-v-524cd6dd]{display:contents;flex-direction:column;flex:0 1 auto;max-width:100%;max-height:100%;min-height:0;width:100%;overflow:hidden}.map-widget__filter-host[data-v-524cd6dd]{left:16px;top:16px;z-index:82}@media(min-width:768px){.map-widget__filter-host[data-v-524cd6dd]{left:397px}}[data-v-54593f35] .hide-add-btn button.rounded-full{display:none!important}.custom-pagination[data-v-e728e68b] .items-center{display:block}.maplibregl-ctrl.maplibregl-ctrl-attrib.maplibregl-compact.maplibregl-compact{display:none}.maplibre-demo-map-container{height:100%;width:100%;position:relative}#maplibre-demo-map{height:100%;width:100%;position:absolute}.map-widgets-flex{width:100%;height:100%;display:flex;justify-content:space-between;padding:20px;box-sizing:border-box}.widgets-left,.widgets-right{display:flex;flex-direction:column;gap:10px;height:100%;width:400px;pointer-events:none}.widgets-right .widget-column{align-items:flex-end}.widgets-left{align-items:flex-start}.widget-column{display:flex;flex-direction:column;gap:10px;z-index:10;height:100%}.widgets-top{overflow-y:auto}.widgets-bottom{flex-shrink:0}.widgets-top,.widgets-bottom{display:flex;flex-direction:column;gap:8px;pointer-events:auto;overflow-y:auto}.widgets-top{align-items:flex-start}.widgets-bottom{align-items:flex-end;margin-top:auto}.widgets-left{justify-content:flex-start}
|
|
1
|
+
th[data-v-25566600]{position:sticky;top:0;background:#fff}.map-view-root[data-v-d6e61166]{position:relative}.mapLayer-filter[data-v-cc1f0579]{display:inline-flex;position:relative}.mapLayer-filter__trigger[data-v-cc1f0579]{display:inline-flex;align-items:center;justify-content:center;padding:0;color:inherit;text-decoration:none;cursor:pointer;border-radius:50%;transition:background .2s ease}.mapLayer-filter__trigger[data-v-cc1f0579]:hover:not(.mapLayer-filter__trigger--disabled){background:#d4dae033}.mapLayer-filter__trigger:hover:not(.mapLayer-filter__trigger--disabled) .mapLayer-filter__icon[data-v-cc1f0579]{color:#1d4ed8}.mapLayer-filter__trigger--disabled[data-v-cc1f0579]{cursor:not-allowed;opacity:.5;pointer-events:auto}.mapLayer-filter__icon[data-v-cc1f0579]{display:inline-flex;align-items:center;justify-content:center;width:18px;height:18px;color:#475569;transition:color .2s ease}.mapLayer-filter__trigger--disabled .mapLayer-filter__icon[data-v-cc1f0579]{color:inherit}.mapLayer-filter__popover[data-v-cc1f0579]{position:absolute;max-width:min-content}.mapLayer-filter__popover--static[data-v-cc1f0579]{position:static;top:auto;left:auto;transform:none!important}.map-filter[data-v-cc1f0579]{background:#fffffff0;border:1px solid rgba(148,163,184,.35);border-radius:16px;padding:16px}.map-filter__header[data-v-cc1f0579]{display:flex;align-items:center;justify-content:space-between;margin-bottom:12px}.map-filter__title[data-v-cc1f0579]{margin:0;font-size:15px;font-weight:600;color:#1f2937}.map-filter__close[data-v-cc1f0579]{width:24px;height:24px;border:none;border-radius:50%;background:#94a3b833;color:#475569;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;font-size:18px;line-height:1}.map-filter__close[data-v-cc1f0579]:hover{background:#3b82f633;color:#2563eb}.filter-badge__hint[data-v-cc1f0579]{position:fixed;transform:translate(-50%);max-width:220px;font-size:11px;line-height:1.3;color:#1f2937;background:#fffffff2;border:1px solid rgba(148,163,184,.35);border-radius:6px;padding:6px 8px;box-shadow:0 8px 16px #0f172a1f;pointer-events:none;white-space:normal;z-index:1000}.map-filter[data-v-98772410]{background:#fffffff0;border:1px solid rgba(148,163,184,.35);border-radius:16px;padding:16px;box-shadow:0 16px 32px #0f172a1a;min-width:240px}.map-filter__header[data-v-98772410]{display:flex;align-items:center;justify-content:space-between}.map-filter__title[data-v-98772410]{margin:0;font-size:15px;font-weight:600;color:#1f2937}.map-filter__close[data-v-98772410]{width:24px;height:24px;border:none;border-radius:50%;background:#94a3b833;color:#475569;cursor:pointer}.map-filter__close[data-v-98772410]:hover{background:#3b82f633;color:#2563eb}.card[data-v-79735544]{font-family:inherit}.fade-enter-active[data-v-79735544],.fade-leave-active[data-v-79735544]{transition:opacity .2s ease}.fade-enter-from[data-v-79735544],.fade-leave-to[data-v-79735544]{opacity:0}.map-center-control[data-v-03fa94f6]{display:flex;gap:.5rem}.map-widget__filter-host[data-v-88ab1a84]{position:absolute;left:10px;top:100px;align-self:stretch;pointer-events:auto;z-index:21}.mapLayer-info[data-v-cc1cc7bf]{display:inline-flex;position:relative}.mapLayer-info__trigger[data-v-cc1cc7bf]{display:inline-flex;align-items:center;justify-content:center;padding:0;color:inherit;text-decoration:none;cursor:pointer}.mapLayer-info__icon[data-v-cc1cc7bf]{display:inline-flex;align-items:center;justify-content:center;width:18px;height:18px;transition:color .2s ease}.mapLayer-info__icon[data-v-cc1cc7bf]:hover{color:#1d4ed8}.mapLayer-info__popover[data-v-cc1cc7bf]{position:absolute;min-width:200px}.mapLayer-info__inner[data-v-cc1cc7bf]{display:flex;flex-direction:column;gap:0}.mapLayer-info__item[data-v-cc1cc7bf]{display:grid;grid-template-columns:120px 1fr;gap:12px;align-items:flex-start;padding:6px 0;border-bottom:1px solid #e2e8f0}.mapLayer-info__item[data-v-cc1cc7bf]:last-child{border-bottom:none}.mapLayer-info__item-label[data-v-cc1cc7bf]{font-size:12px;color:#475569;font-weight:600}.mapLayer-info__item-value[data-v-cc1cc7bf]{font-size:13px;color:#1f2937}.mapLayer-info__item-value--break-all[data-v-cc1cc7bf]{word-break:break-all}.map-info[data-v-813e24fb]{width:100%}.map-info__header[data-v-813e24fb]{display:flex;justify-content:space-between;align-items:flex-start;gap:30px;padding:20px 20px 12px}.map-info__actions[data-v-813e24fb]{display:flex;align-items:center;gap:8px}.map-info__title[data-v-813e24fb]{margin:0;font-size:18px;line-height:1.3;font-weight:600;color:#1f2937}.map-info__menu[data-v-813e24fb]{position:relative}.map-info__menu-button[data-v-813e24fb]{display:inline-flex;align-items:center;justify-content:center;width:32px;height:32px;border:none;border-radius:50%;background:transparent;cursor:pointer;transition:background .2s ease}.map-info__menu-button[data-v-813e24fb]:hover{background:#94a3b833}.map-info__popover[data-v-813e24fb]{position:absolute;background:#fff;box-shadow:0 10px 40px 10px #00000014;border-radius:12px;padding:8px 12px;min-width:160px;z-index:50}.map-info__popover-link[data-v-813e24fb]{display:block;padding:6px 0;font-size:13px;color:#1f2937;text-decoration:none}.map-info__popover-link[data-v-813e24fb]:hover{color:#1d4ed8}.map-info__content[data-v-813e24fb]{padding:0 20px 20px;font-size:14px;color:#34495e;transition:max-height .3s ease,opacity .3s ease,padding .3s ease;overflow:hidden;max-height:1000px;opacity:1}.map-info__content--collapsed[data-v-813e24fb]{max-height:0;opacity:0;padding:0 20px 5px}.map-info__content[data-v-813e24fb] p{margin:0 0 12px}.map-info__toggle-button[data-v-813e24fb]{display:inline-flex;align-items:center;justify-content:center;width:32px;height:32px;border:none;border-radius:50%;background:transparent;cursor:pointer;transition:background .2s ease}.map-info__toggle-button[data-v-813e24fb]:hover{background:#94a3b833}.map-info__toggle-icon--rotated[data-v-813e24fb]{transform:rotate(180deg)}.opacity-btn[data-v-b278347a]{display:inline-flex;align-items:center;justify-content:center;padding:4px 8px;border-radius:8px;border:none;background:transparent;color:#475569;cursor:pointer;transition:background .2s ease,color .2s ease}.opacity-btn[data-v-b278347a]:hover{background:#94a3b829;color:#1f2937}.opacity-popover[data-v-b278347a]{position:fixed;z-index:102;padding:12px;width:260px;background:#fff;border-radius:12px;box-shadow:0 16px 32px #0f172a26}.opacity-popover__content[data-v-b278347a]{display:flex;align-items:center;gap:8px}.opacity-popover__label[data-v-b278347a]{font-size:12px;color:#6b7280}.opacity-popover__range[data-v-b278347a]{flex:1 1 auto;accent-color:#2563eb}.opacity-popover__value[data-v-b278347a]{font-size:12px;color:#475569}.layers-panel[data-v-0636139f]{display:flex;flex-direction:column;background:#fff;border:1px solid rgba(148,163,184,.35);border-radius:16px;padding:16px;box-shadow:0 16px 32px #0f172a1a;min-width:220px}.layers-panel__header[data-v-0636139f]{display:flex;justify-content:space-between;align-items:center;gap:16px}.layers-panel__header-actions[data-v-0636139f]{display:flex;align-items:center;gap:12px;flex-wrap:wrap}.layers-panel__heading-title[data-v-0636139f]{display:flex;align-items:baseline;gap:8px}.layers-panel__count[data-v-0636139f]{font-size:12px;text-transform:none;color:#475569}.layers-panel__bulk-actions[data-v-0636139f]{display:flex;align-items:center;gap:6px}.layers-panel__header-link[data-v-0636139f]{border:none;background:transparent;padding:0;font-size:12px;font-weight:500;color:#2563eb;cursor:pointer;transition:color .2s ease}.layers-panel__header-link[data-v-0636139f]:hover{color:#1d4ed8}.layers-panel__header-controls[data-v-0636139f]{display:flex;align-items:center;gap:6px}.layers-panel__heading[data-v-0636139f]{display:flex;flex-direction:column;gap:6px}.layers-panel__title[data-v-0636139f]{font-size:18px;font-weight:600;color:#1f2937}.layers-panel__clear[data-v-0636139f]{display:inline-flex;align-items:center;gap:6px;padding:6px 12px;border-radius:10px;border:1px solid rgba(59,130,246,.6);background-color:#3b82f614;color:#1d4ed8;font-size:12px;font-weight:500;line-height:1;transition:background-color .15s ease,color .15s ease}.layers-panel__clear[data-v-0636139f]:hover{background-color:#2563eb26;color:#1e40af}.layers-panel__item[data-v-0636139f]{display:flex;align-items:center;justify-content:space-between;gap:12px}.layers-panel__label[data-v-0636139f]{display:flex;flex-direction:column;gap:4px;color:#334155;width:100%}.layers-panel__label-row[data-v-0636139f]{display:flex;align-items:center;gap:12px}.layers-panel__title-block[data-v-0636139f]{display:inline-flex;align-items:center;gap:8px;flex:1;min-width:0}.layers-panel__checkbox[data-v-0636139f]{-webkit-appearance:none;-moz-appearance:none;appearance:none;width:18px;height:18px;border:2px solid var(--layers-panel-checkbox-color, #94a3b8);border-radius:4px;display:inline-flex;align-items:center;justify-content:center;cursor:pointer;background:#fff;transition:all .15s ease}.layers-panel__checkbox[data-v-0636139f]:checked{background:var(--layers-panel-checkbox-color, #94a3b8);border-color:var(--layers-panel-checkbox-color, #94a3b8)}.layers-panel__checkbox[data-v-0636139f]:checked:after{content:"";width:9px;height:9px;display:block;background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='9' viewBox='0 0 12 9' fill='none'%3E%3Cpath d='M10.3332 1.5L4.49984 7.33333L1.6665 4.5' stroke='%23fff' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center/contain no-repeat}.layers-panel__checkbox[data-v-0636139f]:hover{border-color:var(--layers-panel-checkbox-color, #94a3b8);box-shadow:none}.layers-panel__name[data-v-0636139f]{font-size:14px;font-weight:400;color:#1f2937;min-width:0}.layers-panel__meta[data-v-0636139f]{display:flex;align-items:center;gap:4px;margin-left:auto}.layers-panel__actions[data-v-0636139f]{display:flex;align-items:center;gap:4px}.layers-panel__action[data-v-0636139f]{display:inline-flex;align-items:center;justify-content:center;width:28px;height:28px;border:none;background:transparent;cursor:pointer;padding:0;color:#475569}.layers-panel__action[data-v-0636139f]:hover{color:#1d4ed8}.layers-panel__content[data-v-0636139f]{display:flex;flex-direction:column;gap:10px;transition:max-height .3s ease,opacity .3s ease;overflow:hidden;max-height:10000px;opacity:1;margin-top:15px}.layers-panel__content--collapsed[data-v-0636139f]{margin-top:-5px;max-height:0;opacity:0;gap:0}.layers-panel__toggle-button[data-v-0636139f]{display:inline-flex;align-items:center;justify-content:center;width:32px;height:32px;border:none;border-radius:50%;background:transparent;cursor:pointer;transition:background .2s ease}.layers-panel__toggle-button[data-v-0636139f]:hover{background:#94a3b833}.layers-panel__toggle-icon--rotated[data-v-0636139f]{transform:rotate(180deg);transition:transform .3s ease}.catalog-tab[data-v-36ed2aad]{display:flex;flex-direction:column;flex:1 1 auto;min-height:0}.catalog-tab__search[data-v-36ed2aad]{position:sticky;top:0;background:inherit;z-index:1;padding-bottom:8px}.catalog-tab__list[data-v-36ed2aad]{flex:1 1 auto;display:flex;flex-direction:column;overflow-y:auto;min-height:0;padding-bottom:8px}.fade-enter-active[data-v-36ed2aad],.fade-leave-active[data-v-36ed2aad]{transition:all .2s ease}.fade-enter-from[data-v-36ed2aad],.fade-leave-to[data-v-36ed2aad]{opacity:0;max-height:0}.filter-badge[data-v-36ed2aad]{display:inline-flex;align-items:center;gap:4px;padding:4px;border-radius:9999px;background:#94a3b826;color:#475569;font-size:11px;font-weight:600;border:none;cursor:pointer;transition:background .2s ease,color .2s ease}.filter-badge[data-v-36ed2aad]:hover{background:#94a3b840;color:#1f2937}.filter-badge--disabled[data-v-36ed2aad]{cursor:not-allowed;background:#94a3b814;color:#475569b3}.filter-badge__icon[data-v-36ed2aad]{width:14px;height:14px}.filter-badge__hint[data-v-36ed2aad]{position:fixed;transform:translate(-50%);max-width:220px;font-size:11px;line-height:1.3;color:#1f2937;background:#fffffff2;border:1px solid rgba(148,163,184,.35);border-radius:6px;padding:6px 8px;box-shadow:0 8px 16px #0f172a1f;pointer-events:none;white-space:normal;z-index:1000}.selected-tab[data-v-aabdc291]{display:flex;flex-direction:column;gap:12px;height:100%;min-height:0}.selected-tab__actions[data-v-aabdc291]{flex:0 0 auto}.selected-tab__add[data-v-aabdc291]{display:flex;align-items:center;justify-content:center;gap:8px;width:100%;padding:8px 12px;border-radius:10px;background:#3b82f614;color:#2563eb;border:none;cursor:pointer;transition:background .2s ease,color .2s ease}.selected-tab__add[data-v-aabdc291]:hover{background:#3b82f629;color:#1d4ed8}.selected-tab__empty[data-v-aabdc291]{flex:1 1 auto;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;border:1px dashed rgba(148,163,184,.6);border-radius:16px;padding:24px;background:#f8fafce6;text-align:center;color:#6b7280}.selected-tab__empty-title[data-v-aabdc291]{margin:0;font-weight:600;color:#1f2937}.selected-tab__empty-text[data-v-aabdc291]{margin:0;font-size:13px}.selected-tab__scroll[data-v-aabdc291]{flex:1 1 auto;min-height:0;overflow-y:auto;padding-right:4px;display:flex;flex-direction:column}.selected-tab__scroll>div[data-v-aabdc291]{display:flex;flex-direction:column;gap:8px}.selected-tab__item[data-v-aabdc291]{border:1px solid #e5e7eb;border-radius:10px;padding:12px;background:#fff;color:#4b5563;font-size:13px;transition:background .2s ease,border-color .2s ease}.selected-tab__item[data-v-aabdc291]:hover{background:#f8fafccc}.selected-tab__item--dragging[data-v-aabdc291]{opacity:.5}.selected-tab__item--over[data-v-aabdc291]{border-color:#2563eb;background:#3b82f61f}.selected-tab__item-header[data-v-aabdc291]{display:flex;align-items:center;justify-content:space-between;gap:12px}.selected-tab__item-info[data-v-aabdc291]{display:flex;align-items:center;gap:8px;cursor:move;color:#1f2937}.selected-tab__item-handle[data-v-aabdc291]{color:#64748bcc;font-size:16px}.selected-tab__item-checkbox[data-v-aabdc291]{width:16px;height:16px;accent-color:#2563eb}.selected-tab__item-controls[data-v-aabdc291]{display:flex;align-items:center;gap:8px}.selected-tab__item-opacity[data-v-aabdc291],.selected-tab__item-menu[data-v-aabdc291]{display:inline-flex;align-items:center;justify-content:center;padding:4px 8px;border-radius:8px;border:none;background:transparent;color:#475569;cursor:pointer;transition:background .2s ease,color .2s ease}.selected-tab__item-opacity[data-v-aabdc291]:hover,.selected-tab__item-menu[data-v-aabdc291]:hover{background:#94a3b829;color:#1f2937}.selected-tab__popover[data-v-aabdc291]{position:fixed;z-index:102;padding:12px;width:240px;background:#fff;border-radius:12px;box-shadow:0 16px 32px #0f172a26}.selected-tab__popover-content[data-v-aabdc291]{display:flex;align-items:center;gap:8px}.selected-tab__popover-label[data-v-aabdc291]{font-size:12px;color:#6b7280}.selected-tab__popover-range[data-v-aabdc291]{flex:1 1 auto;accent-color:#2563eb}.selected-tab__popover-value[data-v-aabdc291]{font-size:12px;color:#475569}.selected-tab__menu[data-v-aabdc291]{position:fixed;z-index:102;background:#fff;border-radius:12px;box-shadow:0 16px 32px #0f172a26;padding:12px}.selected-tab__menu-inner[data-v-aabdc291]{display:flex;flex-direction:column;gap:4px;width:190px}.selected-tab__menu-item[data-v-aabdc291]{display:flex;align-items:center;gap:8px;padding:6px 8px;border:none;background:transparent;color:#1f2937;font-size:13px;text-align:left;cursor:pointer;transition:background .2s ease}.selected-tab__menu-item[data-v-aabdc291]:hover{background:#94a3b829}.selected-tab__menu-item--disabled[data-v-aabdc291]{color:#63666a99;cursor:not-allowed}.selected-tab__menu-item--danger[data-v-aabdc291]{color:#dc2626}.selected-tab__menu-item--danger[data-v-aabdc291]:hover{background:#dc26261f}.filter-tab[data-v-c6632fbd]{display:flex;flex-direction:column;gap:16px;height:100%;min-height:0}.filter-tab__header[data-v-c6632fbd]{display:flex;align-items:flex-start;justify-content:space-between;gap:16px}.filter-tab__subtitle[data-v-c6632fbd]{margin:0 0 4px;font-size:12px;font-weight:500;color:#6b7280}.filter-tab__title[data-v-c6632fbd]{margin:0;font-size:16px;font-weight:600;color:#1f2937}.filter-tab__content[data-v-c6632fbd]{flex:1 1 auto;min-height:0;background:#fffffff0;border:1px solid rgba(148,163,184,.35);box-shadow:0 16px 32px #0f172a1a}.filter-tab__scroll[data-v-c6632fbd]{max-height:100%;overflow-y:auto;padding:0}.filter-tab__empty[data-v-c6632fbd]{padding:24px;text-align:center;background:#f8fafce6;border:1px dashed rgba(148,163,184,.6);border-radius:16px}.filter-tab__empty-title[data-v-c6632fbd]{margin:0 0 8px;font-size:15px;font-weight:600;color:#1f2937}.filter-tab__empty-text[data-v-c6632fbd]{margin:0;font-size:13px;color:#6b7280}.map-catalog-widget[data-v-99290304]{display:flex;flex-direction:column;max-height:100%;overflow:hidden}.map-catalog-widget__body[data-v-99290304]{flex:1 1 auto;min-height:0;display:flex;flex-direction:column}.map-catalog-widget__scroll[data-v-99290304]{flex:1 1 auto;min-height:0;overflow-y:auto;padding-right:4px}.map-catalog-widget__content[data-v-99290304]{flex:1 1 auto;min-height:0;display:flex;flex-direction:column;transition:max-height .3s ease,opacity .3s ease;overflow:hidden;max-height:10000px;opacity:1}.map-catalog-widget__content--collapsed[data-v-99290304]{max-height:0;opacity:0;padding:0}.map-catalog-widget__toggle-button[data-v-99290304]{display:inline-flex;align-items:center;justify-content:center;width:32px;height:32px;border:none;border-radius:50%;background:transparent;cursor:pointer;transition:background .2s ease}.map-catalog-widget__toggle-button[data-v-99290304]:hover{background:#94a3b833}.map-catalog-widget__toggle-icon--rotated[data-v-99290304]{transform:rotate(180deg);transition:transform .3s ease}.map-attribute__filter[data-v-9686ce7b] .filter-badge{display:inline-flex;align-items:center;justify-content:center;width:36px;height:36px;border-radius:9999px;background:#94a3b82e;color:#475569;border:none;padding:0;transition:background-color .15s ease}.map-attribute__filter[data-v-9686ce7b] .filter-badge:hover,.map-attribute__filter[data-v-9686ce7b] .filter-badge.filter-badge--active{background:#2563eb2e;color:#1d4ed8}.map-attribute__filter[data-v-9686ce7b] .filter-badge__icon{width:16px;height:16px}.map-attribute__filter[data-v-9686ce7b] .filter-badge__panel{border-radius:16px;box-shadow:0 16px 32px #0f172a14}.map-search-widget[data-v-ba50488b]{width:100%}.map-print-control[data-v-4fae7635]{z-index:35;display:flex;flex-direction:column;align-items:flex-end;gap:12px}[data-v-4fae7635] .mapboxgl-export-list{display:none;min-width:280px;padding:20px 16px 16px;border-radius:16px;background:#fffffffa;box-shadow:0 18px 40px #0f172a40;color:#0f172a;font-size:14px;line-height:1.4;margin-right:40px}[data-v-4fae7635] .mapboxgl-export-list table{width:100%;border-collapse:separate;border-spacing:0 12px}[data-v-4fae7635] .mapboxgl-export-list td:first-child{width:35%;font-weight:500;color:#334155;padding-right:12px}[data-v-4fae7635] .mapboxgl-export-list label{display:inline-flex;align-items:center}[data-v-4fae7635] .mapboxgl-export-list select{width:100%;height:36px;border-radius:10px;border:1px solid rgba(15,23,42,.1);padding:0 12px;font-size:14px;color:#0f172a;background:#fff;-webkit-appearance:none;-moz-appearance:none;appearance:none}[data-v-4fae7635] .mapboxgl-export-list select:focus{outline:none;border-color:#0f172a40;box-shadow:0 0 0 2px #3b82f633}[data-v-4fae7635] .mapboxgl-export-list .generate-button{margin-top:12px;width:100%;height:40px;border-radius:12px;border:none;background:linear-gradient(134deg,#2563eb,#1d4ed8);color:#fff;font-weight:600;cursor:pointer;transition:transform .2s ease,box-shadow .2s ease}[data-v-4fae7635] .mapboxgl-export-list .generate-button:hover{transform:translateY(-1px);box-shadow:0 14px 28px #2563eb59}[data-v-4fae7635] .mapboxgl-export-list .generate-button:active{transform:translateY(0);box-shadow:0 10px 20px #2563eb4d}.cursor-coordinates[data-v-334315d9]{display:flex;align-items:center;gap:8px;padding:8px 12px;border-radius:12px;background:#ffffffeb;color:#1f2937;box-shadow:0 10px 22px #0f172a29;font-size:12px;max-width:240px}.cursor-coordinates__icon[data-v-334315d9]{display:flex;align-items:center;justify-content:center;width:24px;height:24px;color:#2563eb}.cursor-coordinates__icon svg[data-v-334315d9]{width:100%;height:100%}.cursor-coordinates__text[data-v-334315d9]{white-space:nowrap;font-family:ui-monospace,SFMono-Regular,SFMono,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace}.minimap[data-v-bc754c89]{position:relative}.minimap__button[data-v-bc754c89]{width:32px;height:32px;border-radius:50%;border:1px solid rgba(148,163,184,.35);background:#ffffffeb;color:#334155;display:inline-flex;align-items:center;justify-content:center;cursor:pointer;box-shadow:0 6px 16px #0f172a1f;transition:all .2s ease}.minimap__button[data-v-bc754c89]:hover{border-color:#3b82f680;color:#1d4ed8}.minimap__button-icon[data-v-bc754c89]{transition:transform .2s ease}.minimap__wrapper[data-v-bc754c89]{position:absolute;bottom:2.5rem;right:2rem;border-radius:10px;overflow:hidden;border:1px solid rgba(148,163,184,.4);box-shadow:0 10px 22px #0f172a1f;background:#fff}.minimap-slide-enter-active[data-v-bc754c89],.minimap-slide-leave-active[data-v-bc754c89]{transition:opacity .2s ease,transform .2s ease}.minimap-slide-enter-from[data-v-bc754c89],.minimap-slide-leave-to[data-v-bc754c89]{opacity:0;transform:translate(12px)}.drawing-panel-range[data-v-4cee5a30]{-webkit-appearance:none;-moz-appearance:none;appearance:none;background:#e5e7eb}.drawing-panel-range[data-v-4cee5a30]::-webkit-slider-thumb{-webkit-appearance:none;width:16px;height:16px;background:#3b82f6;border-radius:50%;cursor:pointer;box-shadow:0 1px 3px #0003}.drawing-panel-range[data-v-4cee5a30]::-moz-range-thumb{width:16px;height:16px;background:#3b82f6;border:none;border-radius:50%;cursor:pointer;box-shadow:0 1px 3px #0003}.drawing-canvas-wrap[data-v-ed2688bc]{position:absolute;top:0;right:0;bottom:0;left:0;z-index:30;pointer-events:auto;touch-action:none}.drawing-canvas-wrap--eraser[data-v-ed2688bc]{cursor:none}.drawing-canvas[data-v-ed2688bc]{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;display:block;background:transparent}.drawing-canvas--preview[data-v-ed2688bc]{pointer-events:none}.drawing-canvas__eraser-cursor[data-v-ed2688bc]{position:fixed;pointer-events:none;border:2px solid rgba(100,116,139,.8);border-radius:50%;background:#ffffff26;box-sizing:border-box;z-index:1000}.map-widget[data-v-524cd6dd]{position:relative;width:100%;background:#f1f5f9;overflow:hidden}.map-widget__view[data-v-524cd6dd]{font-family:inherit;width:100%;height:100%}.map-widget__state[data-v-524cd6dd]{position:absolute;top:16px;left:50%;transform:translate(-50%);background:#fffffff2;border:1px solid rgba(148,163,184,.4);border-radius:12px;padding:10px 18px;font-size:14px;color:#1f2937;z-index:30;box-shadow:0 12px 24px #0f172a1f}.map-widget__state--error[data-v-524cd6dd]{color:#b91c1c;border-color:#dc262659}.map-widget__filter-host[data-v-524cd6dd]{position:absolute;left:430px;flex:0 0 auto;width:0;align-self:stretch;pointer-events:auto;z-index:21}.map-widget__overlay-grid[data-v-524cd6dd]{position:absolute;top:0;right:0;bottom:0;left:0;font-family:inherit;z-index:20;pointer-events:none;display:flex;justify-content:space-between;padding:16px 16px 36px}.map-widget__side[data-v-524cd6dd]{flex:0 0 auto;display:flex;flex-direction:column;justify-content:flex-start;height:100%;width:min(100%,400px);pointer-events:none}.map-widget__side--right[data-v-524cd6dd]{align-items:flex-end}.map-widget__stack-wrapper[data-v-524cd6dd]{display:flex;flex-direction:column;min-height:0;pointer-events:none;max-height:100%;max-width:calc(100% - 29px)}.map-widget__stack-wrapper--top[data-v-524cd6dd]{flex:1 1 auto}.map-widget__stack-wrapper--bottom[data-v-524cd6dd]{flex:0 0 auto;margin-top:auto;padding-top:16px}.map-widget__stack[data-v-524cd6dd]{display:flex;flex-direction:column;gap:12px;max-height:100%;min-height:0;width:min(100%,400px);pointer-events:auto;overflow-y:auto;padding-right:4px}.map-overlay__item[data-v-524cd6dd]{display:contents;flex-direction:column;flex:0 1 auto;max-width:100%;max-height:100%;min-height:0;width:100%;overflow:hidden}.map-widget__filter-host[data-v-524cd6dd]{left:16px;top:16px;z-index:82}@media (min-width: 768px){.map-widget__filter-host[data-v-524cd6dd]{left:397px}}[data-v-54593f35] .hide-add-btn button.rounded-full{display:none!important}.custom-pagination[data-v-e728e68b] .items-center{display:block}.maplibregl-ctrl.maplibregl-ctrl-attrib.maplibregl-compact.maplibregl-compact{display:none}.maplibre-demo-map-container{height:100%;width:100%;position:relative}#maplibre-demo-map{height:100%;width:100%;position:absolute}.map-widgets-flex{width:100%;height:100%;display:flex;justify-content:space-between;padding:20px;box-sizing:border-box}.widgets-left,.widgets-right{display:flex;flex-direction:column;gap:10px;height:100%;width:400px;pointer-events:none}.widgets-right .widget-column{align-items:flex-end}.widgets-left{align-items:flex-start}.widget-column{display:flex;flex-direction:column;gap:10px;z-index:10;height:100%}.widgets-top{overflow-y:auto}.widgets-bottom{flex-shrink:0}.widgets-top,.widgets-bottom{display:flex;flex-direction:column;gap:8px;pointer-events:auto;overflow-y:auto}.widgets-top{align-items:flex-start}.widgets-bottom{align-items:flex-end;margin-top:auto}.widgets-left{justify-content:flex-start}
|