@opengis/gis 0.2.112 → 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 CHANGED
@@ -1,5 +1,148 @@
1
- # Vue 3 + Vite
1
+ <!-- ![alt text](https://cdn.softpro.ua/data/npm/admin/opengis-admin.png) -->
2
2
 
3
- This template should help get you started developing with Vue 3 in Vite. The template uses Vue 3 `<script setup>` SFCs, check out the [script setup docs](https://v3.vuejs.org/api/sfc-script-setup.html#sfc-script-setup) to learn more.
3
+ # @opengis/gis
4
4
 
5
- Learn more about IDE Support for Vue in the [Vue Docs Scaling up Guide](https://vuejs.org/guide/scaling-up/tooling.html#ide-support).
5
+ [![NPM version](https://img.shields.io/npm/v/@opengis/gis?style=plain)](https://www.npmjs.com/package/@opengis/gis)
6
+ [![NPM last update](https://img.shields.io/npm/last-update/@opengis/gis?style=plain)]()
7
+ [![NPM downloads](https://img.shields.io/npm/dw/@opengis/gis?style=plain)]()
8
+ [![js-standard-style](https://img.shields.io/badge/code%20style-standard-brightgreen.svg?style=plain)](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>&nbsp;&nbsp;
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>&nbsp;&nbsp;
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>&nbsp;&nbsp;
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>&nbsp;&nbsp;
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-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}
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}