draw-libre 0.6.1 → 1.0.1

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,178 +1,242 @@
1
- <section >
2
-
3
1
  # DrawLibre
4
2
 
5
- > Early supporter? Your makes a difference!
3
+ A drawing tool for [MapLibre GL](https://maplibre.org/) and [Mapbox GL](https://docs.mapbox.com/mapbox-gl-js/) maps. Draw linestrings (open and closed) and polygons with undo/redo, geometry breaking, and full style customization.
4
+
5
+ Works with maplibre-gl v2–v6, mapbox-gl v1–v3, and all projections.
6
+
7
+ **React users:** check out [draw-libre-react](https://github.com/UsikianLevon/draw-libre-react).
6
8
 
7
- 📣 **Using React?** There's an official wrapper available: [draw-libre-react](https://github.com/UsikianLevon/draw-libre-react) — no need to write glue code!
9
+ ## Features
8
10
 
9
- ## Features
11
+ - Draw linestrings and polygons
12
+ - Close open linestrings, break closed geometries
13
+ - Undo/redo
14
+ - Remove a point with the cross button that appears when you hover or tap it
15
+ - Manual or automatic midpoint generation
16
+ - Initialize from existing GeoJSON
17
+ - Customizable controls, labels, and layer styles
18
+ - Event-driven: subscribe to point add/remove/move, mode changes, save, etc.
10
19
 
11
- - 🔁 Undo/redo
12
- - ✂️ Can break a closed geometry
13
- - 🖊️ Draw linestrings (including closed ones) and polygons
14
- - 🌍 Compatible with maplibre-gl (v2–v5) and mapbox-gl (v1–v3) and all projections
15
- - 🧩 Customizable UI and controls
16
- - ⚡ Event-driven architecture for easy integration
20
+ ### Point generation modes
17
21
 
18
- ### 🎯 Manual Point Generation (extra points are added when a line is clicked)
22
+ **Manual** click on a line segment to insert a point:
19
23
 
20
- <img src="https://i.giphy.com/media/v1.Y2lkPTc5MGI3NjExaDZscnowMHNndmtiZzcwb3Bvc2Y2b29qbHdndndndGE3Mzk5Z2Q0cSZlcD12MV9pbnRlcm5hbF9naWZfYnlfaWQmY3Q9Zw/m6lig0ZCfL45FZQo7b/giphy.gif" width="800" alt="Manual Point Generation">
24
+ <img src="https://i.giphy.com/media/v1.Y2lkPTc5MGI3NjExaDZscnowMHNndmtiZzcwb3Bvc2Y2b29qbHdndndndGE3Mzk5Z2Q0cSZlcD12MV9pbnRlcm5hbF9naWZfYnlfaWQmY3Q9Zw/m6lig0ZCfL45FZQo7b/giphy.gif" width="800" alt="Manual point generation">
21
25
 
22
- ### 🤖 Automatic Point Generation (an auxiliary point is generated between every two primary points.)
26
+ **Auto** midpoints are generated between every two primary points:
23
27
 
24
- <img src="https://media2.giphy.com/media/v1.Y2lkPTc5MGI3NjExY2VieG1rd3ZkaWt5azVhYWpqaWEwZnVybGdjYW90d2xwNWwzeWtzayZlcD12MV9pbnRlcm5hbF9naWZfYnlfaWQmY3Q9Zw/6ohjkf9L1NWUESTaQA/giphy.gif" width="800" alt="Automatic Point Generation">
25
- </section>
28
+ <img src="https://media2.giphy.com/media/v1.Y2lkPTc5MGI3NjExY2VieG1rd3ZkaWt5azVhYWpqaWEwZnVybGdjYW90d2xwNWwzeWtzayZlcD12MV9pbnRlcm5hbF9naWZfYnlfaWQmY3Q9Zw/6ohjkf9L1NWUESTaQA/giphy.gif" width="800" alt="Automatic point generation">
26
29
 
27
- ## 📦 Installation
30
+ ## Installation
28
31
 
29
32
  ```bash
30
33
  npm install draw-libre
31
34
  ```
32
35
 
33
- ## Quick Start
36
+ ## Quick start
34
37
 
35
38
  ```javascript
36
- import maplibregl from "maplibre-gl";
39
+ import * as maplibregl from "maplibre-gl";
37
40
  import DrawLibre from "draw-libre";
38
41
  import "draw-libre/dist/index.css";
39
42
 
40
43
  const map = new maplibregl.Map({
41
- container: ...,
42
- style: ...,
44
+ container: "map",
45
+ style: "https://demotiles.maplibre.org/style.json",
43
46
  });
44
47
 
45
- const draw = DrawLibre.getInstance();
48
+ const draw = new DrawLibre();
46
49
 
47
- map.on("load", (event) => {
48
- event.target.addControl(draw, "top-left");
50
+ map.on("load", (e) => {
51
+ e.target.addControl(draw, "top-left");
49
52
  });
50
53
  ```
51
54
 
52
- ## ⚙️ API
55
+ ## Configuration
53
56
 
54
- ### 🛠️ Configuration
57
+ All options are optional.
55
58
 
56
59
  ```javascript
57
- const draw = DrawLibre.getInstance({
58
- pointGeneration: "manual", // or "auto"; pointGeneration controls whether additional points are automatically generated on the line or if you place them manually by clicking.
60
+ const draw = new DrawLibre({
61
+ // "manual" (default) click on a segment to add a point
62
+ // "auto" — midpoints are generated automatically
63
+ pointGeneration: "manual",
64
+
59
65
  modes: {
60
- initial: null, // default value; can be "line" or "polygon". Initial mode for drawing
61
- breakGeometry: { visible: true }, // Controls visibility of the break geometry button
66
+ initial: null, // starting mode: null | "line" | "polygon"
67
+ breakGeometry: { visible: true },
62
68
  line: {
63
- closeGeometry: true, // Enables/disables ability to close a LineString
64
- visible: true, // Controls visibility of the line drawing button
69
+ closeGeometry: true, // allow closing a linestring
70
+ visible: true,
65
71
  },
66
- polygon: { visible: true }, // Controls visibility of the polygon drawing button
72
+ polygon: { visible: true },
67
73
  },
74
+
68
75
  panel: {
69
- size: "medium", // "large" || "small" - Controls size of the panel that appears after pressing a button
76
+ size: "medium", // "small" | "medium" | "large"
77
+ // Every button is hidden by default and the panel appears only when at least one is visible: true
70
78
  buttons: {
71
- delete: { visible: true }, // Controls visibility of the delete all points button
72
- redo: { visible: true }
79
+ delete: { visible: true },
80
+ redo: { visible: true },
81
+ undo: { visible: true },
73
82
  save: {
74
- clearOnSave: true, // Whether to clear all points after saving
75
- visible: true, // Controls visibility of the save button
83
+ clearOnSave: true, // clear drawing after save
84
+ visible: true,
76
85
  },
77
- undo: { visible: true }, // Controls visibility of the undo button
78
86
  },
79
87
  },
88
+
80
89
  locale: {
81
- // Customize button labels and tooltips
82
- break: "Break",
83
- closeLine: "Close",
84
- createPolygon: "Create",
85
- delete: "Delete",
90
+ break: "Split",
91
+ closeLine: "Close the line",
92
+ createPolygon: "Create a polygon",
93
+ delete: "Delete all",
86
94
  line: "Line",
87
95
  polygon: "Polygon",
96
+ removePoint: "Remove point",
88
97
  save: "Save",
89
98
  undo: "Undo",
90
99
  redo: "Redo",
91
100
  },
101
+
102
+ // Override layer paint properties.
103
+ // See MapLibre style spec for available options. Mapbox-only paint properties are accepted too.
92
104
  layersPaint: {
93
- // Customize layer styles here. Refer to MapLibre's layer specifications for options.
94
105
  onLinePoint: {}, // CircleLayerSpecification["paint"]
95
106
  firstPoint: {}, // CircleLayerSpecification["paint"]
96
107
  points: {}, // CircleLayerSpecification["paint"]
108
+ auxiliaryPoint: {}, // CircleLayerSpecification["paint"]
97
109
  line: {}, // LineLayerSpecification["paint"]
110
+ dynamicLine: {}, // LineLayerSpecification["paint"]; defaults to `line` + a dash pattern
98
111
  polygon: {}, // FillLayerSpecification["paint"]
99
112
  breakLine: {}, // LineLayerSpecification["paint"]
100
113
  },
101
- dynamicLine: true, // Whether to draw a dynamic line following the cursor after placing the first point. It's always false for mobile phones(when the viewport is less than 768)
114
+
115
+ // Show a dynamic line following the cursor after placing the first point.
116
+ // Always false on devices without hover, such as touch screens.
117
+ dynamicLine: true,
118
+
119
+ // Initialize with existing geometry
102
120
  initial: {
103
- // Initialize with pre-existing GeoJSON data
104
- closeGeometry: false, // Specify if the geometry is closed. Must be true if the geometry type is polygon.
105
- generateId: true, // Whether to generate unique IDs for your geometries. Should be true if there are no IDs for each point in `steps`.
106
- geometry: "line", // "line" | "polygon" - Specifies the type of geometry to initialize
121
+ geometry: "line", // "line" | "polygon"
122
+ // true draws a closed shape: the first and last steps must match, with at least three different points.
123
+ // A polygon with false starts as an open line in polygon mode; a click on its first point closes and fills it.
124
+ closeGeometry: false,
125
+ generateId: true, // generate IDs for steps without one; with false every step needs an id
107
126
  steps: [
108
- // Array of {id?: string | number, lat: number, lng: number}
109
- // The first and the last point should be the same if the geometry is closed.
110
- // The closeGeometry also should be true in this case.
127
+ // { id?: string, lat: number, lng: number }
111
128
  { lat: 40, lng: 30 },
112
129
  { lat: 31, lng: 21 },
113
- { lat: 31, lng: 21 },
130
+ { lat: 35, lng: 25 },
114
131
  ],
115
132
  },
116
133
  });
117
134
  ```
118
135
 
119
- ### 📡 Events
120
-
121
- Import events from the library:
136
+ ## Events
122
137
 
123
138
  ```javascript
124
- import DrawLibre, { type PointAddEvent } from "draw-libre";
139
+ const draw = new DrawLibre();
140
+
141
+ const subscription = draw.on("mdl:add", (event) => {
142
+ console.log(event.id, event.coordinates);
143
+ });
125
144
 
126
- map.on(mdl:add, (event: PointAddEvent) => {
127
- console.log("Add event", event);
145
+ // later
146
+ subscription.unsubscribe();
147
+
148
+ draw.once("mdl:save", (event) => {
149
+ console.log(event.steps);
128
150
  });
151
+
152
+ const onModeChange = (event) => console.log(event.mode);
153
+ draw.on("mdl:modechanged", onModeChange);
154
+ draw.off("mdl:modechanged", onModeChange);
129
155
  ```
130
156
 
131
- Available events:
157
+ Listeners can be added before `map.addControl(draw)` and keep working after `map.removeControl(draw)` when the same instance is added again. In TypeScript every event name and payload is typed, `DrawLibreEventType` maps each name to its payload type.
158
+
159
+ If a listener throws, delivery of that event stops there: later listeners do not run, the instance channel does not receive it when the throw came from a map listener, and an event fired from inside a listener is dropped. The error reaches the call that triggered the event.
160
+
161
+ The same events are also fired on the map, so `map.on("mdl:add", …)` keeps working with every supported version. With maplibre-gl v6 the map typings accept only built-in event names, so in TypeScript use `draw.on`.
132
162
 
133
- - `mdl:rightclickremove` (PointRightClickRemoveEvent) — Fired when a point is removed by right-clicking on it.
134
- - `mdl:pointenter` (PointEnterEvent) Fired when the cursor enters a point
135
- - `mdl:pointleave` (PointLeaveEvent) Fired when the cursor leaves a point
136
- - `mdl:moveend` (PointMoveEvent) Fired when a point is moved
137
- - `mdl:add` (PointAddEvent) Fired when a point is added
138
- - `mdl:undo` (UndoEvent) Fired when the undo button is clicked
139
- - `mdl:removeall` (RemoveAllEvent) Fired when all points are removed by clicking the delete button
140
- - `mdl:save` (SaveEvent) Fired when the save button is clicked
141
- - `mdl:modechanged` (ModeChangeEvent) Fired when the drawing mode is changed
142
- - `mdl:undostackchanged` (UndoStackChangeEvent) Fired when the undo stack is changed
143
- - `mdl:redostackchanged` (RedoStackChangeEvent) Fired when the redo stack is changed
163
+ | Event | Type | Description |
164
+ | ---------------------- | ---------------------- | ------------------------ |
165
+ | `mdl:add` | `PointAddEvent` | Point added |
166
+ | `mdl:pointremove` | `PointRemoveEvent` | Point removed |
167
+ | `mdl:pointenter` | `PointEnterEvent` | Cursor entered a point |
168
+ | `mdl:pointleave` | `PointLeaveEvent` | Cursor left a point |
169
+ | `mdl:moveend` | `PointMoveEvent` | Point drag finished |
170
+ | `mdl:undo` | `UndoEvent` | Undo triggered |
171
+ | `mdl:redo` | `RedoEvent` | Redo triggered |
172
+ | `mdl:removeall` | `RemoveAllEvent` | All points deleted |
173
+ | `mdl:save` | `SaveEvent` | Save triggered |
174
+ | `mdl:break` | `BreakEvent` | Line split in break mode |
175
+ | `mdl:modechanged` | `ModeChangeEvent` | Drawing mode changed |
176
+ | `mdl:undostackchanged` | `UndoStackChangeEvent` | Undo stack updated |
177
+ | `mdl:redostackchanged` | `RedoStackChangeEvent` | Redo stack updated |
144
178
 
145
- ### 🧠 Methods
179
+ ## Methods
146
180
 
147
181
  ```javascript
148
- const draw = DrawLibre.getInstance();
182
+ const draw = new DrawLibre();
149
183
 
150
- // Retrieves a step from the store by its ID.
184
+ // Find a step or node by ID, null for an unknown ID
151
185
  draw.findStepById(id: string)
152
-
153
- // Retrieves a node from the store by its ID.
154
186
  draw.findNodeById(id: string)
155
187
 
156
- // Get all steps, optionally specifying the return type. Selecting 'linkedlist' will return a circular doubly linked list. Have fun.
188
+ // Get all steps as an array or a circular doubly linked list
157
189
  draw.getAllSteps(type?: "array" | "linkedlist")
158
190
 
159
- // Set new steps. If ID is not provided, it will be generated automatically
160
- draw.setSteps(steps: {lat: number; lng: number; id?: string}[])
191
+ // Replace all steps. IDs are generated if not provided.
192
+ draw.setSteps(steps: { lat: number; lng: number; id?: string }[])
161
193
 
162
- // Remove all steps
194
+ // Remove all steps, an alias of clear()
163
195
  draw.removeAllSteps()
196
+ ```
164
197
 
165
- // If you don't like the panel, you can hide it in options and use these handlers to create your own panel
166
- // Clear all steps from the drawing
167
- draw.clear()
168
- // Save the current drawing state
169
- draw.save()
170
- // Undo the last action. Pass the original(!) DOM event when the dynamic line is enabled. Check the mdl:undostackchanged to disable/enable the button
171
- draw.undo(e)
172
- // Redo the last undone action. Pass the original(!) DOM event when the dynamic line is enabled. Check the mdl:redostackchanged to disable/enable the button
173
- draw.redo(e)
198
+ The built-in panel is off by default. Without it you can drive the drawing programmatically:
199
+
200
+ ```javascript
201
+ draw.undo(); // undo last action, pass a DOM event to forward it as originalEvent
202
+ draw.redo(); // redo last undone action, same for the event
203
+ draw.clear(); // remove all steps
204
+ draw.save(); // trigger save
174
205
  ```
175
206
 
176
- ## 📄 License
207
+ Check `mdl:undostackchanged` / `mdl:redostackchanged` to know when undo/redo are available.
208
+
209
+ ## One control at a time
210
+
211
+ Only one `DrawLibre` control can be mounted per loaded copy of the library, including across different maps.
212
+ Remove the current control before adding another.
213
+
214
+ Adding or removing a control from a listener running during `addControl` or `removeControl` throws.
215
+ Removing it from a later event, such as `mdl:save`, is supported.
216
+
217
+ Every state method — `setSteps`, `getAllSteps`, `findStepById`, `findNodeById`, `undo`, `redo`, `clear`,
218
+ `save`, `removeAllSteps` — throws before the control is added to a map and after it is removed. `on`, `once`
219
+ and `off` work before `addControl` and keep working across a remove and add cycle.
220
+
221
+ ### Recovery after a failed mount
222
+
223
+ Add the control after the map style has loaded. `addSource` throws while the style is still loading, and that
224
+ is a normal reason for a mount to fail.
225
+
226
+ When a mount fails, the control removes what it created, releases the guard and rethrows the error, so a new
227
+ `addControl` is allowed. If a part of the control did not finish setting itself up, some of its map handlers or
228
+ DOM nodes may survive. Reload the page when you need to be sure nothing is left over.
229
+
230
+ Once a control is mounted, the guard is released only by `removeControl`. `map.remove()` calls `onRemove` on
231
+ every control, so destroying a map frees it, but dropping a map reference without calling `map.remove()` leaves
232
+ the guard held and no new `DrawLibre` can be mounted on that page.
233
+
234
+ ## TypeScript
235
+
236
+ The type declarations do not import maplibre-gl or mapbox-gl, `map.addControl(draw)` type-checks with both. With mapbox-gl v3 and `skipLibCheck: false`, install `@types/geojson`, the mapbox-gl typings need it.
237
+
238
+ `event.target` and `UnifiedMap` are typed as `MapLike`. Cast them to the `Map` type of your engine to call its methods, for example `event.target as maplibregl.Map`.
239
+
240
+ ## License
177
241
 
178
- This project is licensed under the [MIT License](https://opensource.org/licenses/MIT).
242
+ [MIT](https://opensource.org/licenses/MIT)
package/dist/index.css CHANGED
@@ -1,2 +1,2 @@
1
- .popup-container{display:block;position:absolute;z-index:1000;pointer-events:none;top:0;left:0}.popup-text{display:inline-block;padding:4px 16px;background-color:#4d4d4d;border-radius:18px;color:#fff;font-size:14px}.popup-text-bottom{opacity:0;transform:translateY(16px);transition:all .2s ease-out;transition-delay:.25s}.popup-text-left{opacity:0;transform:translate(16px);transition:all .3s ease-out}.popup-text-active{transform:translate(0);opacity:1}.undo{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='currentColor' stroke-width='2' stroke-linecap='round' stroke-linejoin='round' class='lucide lucide-undo-icon lucide-undo'%3E%3Cpath d='M3 7v6h6'/%3E%3Cpath d='M21 17a9 9 0 0 0-9-9 9 9 0 0 0-6 2.3L3 13'/%3E%3C/svg%3E")}.redo{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='currentColor' stroke-width='2' stroke-linecap='round' stroke-linejoin='round' class='lucide lucide-redo-icon lucide-redo'%3E%3Cpath d='M21 7v6h-6'/%3E%3Cpath d='M3 17a9 9 0 0 1 9-9 9 9 0 0 1 6 2.3l3 2.7'/%3E%3C/svg%3E")}.delete{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='64 64 896 896' focusable='false' data-icon='delete' fill='currentColor' aria-hidden='true'%3E%3Cpath d='M360 184h-8c4.4 0 8-3.6 8-8v8h304v-8c0 4.4 3.6 8 8 8h-8v72h72v-80c0-35.3-28.7-64-64-64H352c-35.3 0-64 28.7-64 64v80h72v-72zm504 72H160c-17.7 0-32 14.3-32 32v32c0 4.4 3.6 8 8 8h60.4l24.7 523c1.6 34.1 29.8 61 63.9 61h454c34.2 0 62.3-26.8 63.9-61l24.7-523H888c4.4 0 8-3.6 8-8v-32c0-17.7-14.3-32-32-32zM731.3 840H292.7l-24.2-512h487l-24.2 512z'%3E%3C/path%3E%3C/svg%3E")}.save{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='64 64 896 896' focusable='false' data-icon='check' fill='currentColor' aria-hidden='true'%3E%3Cpath d='M912 190h-69.9c-9.8 0-19.1 4.5-25.1 12.2L404.7 724.5 207 474a32 32 0 00-25.1-12.2H112c-6.7 0-10.4 7.7-6.3 12.9l273.9 347c12.8 16.2 37.4 16.2 50.3 0l488.4-618.9c4.1-5.1.4-12.8-6.3-12.8z'%3E%3C/path%3E%3C/svg%3E")}.mdl-dashboard{display:flex;align-items:center;background-color:#fff;border-radius:4px}.mdl-dashboard-container{position:absolute;z-index:1000000;pointer-events:auto}.mdl-dashboard-container.hidden{opacity:0;pointer-events:none}.mdl-panel-button{background-color:transparent;border:0;box-sizing:border-box;cursor:pointer;display:block;height:28px;outline:none;padding:0;width:28px}.mdl-panel-button:disabled{opacity:.25;cursor:not-allowed}.mdl-panel-button:hover{background-color:#0000000d}.icon{background-position:50%;background-repeat:no-repeat;display:block;height:18px}.mdl-panel-button:not(:last-child) .icon{border-right:1px solid #ddd}.mdl-panel-button-small{width:20px;height:20px}.mdl-panel-button-medium{width:24px;height:24px}.mdl-panel-button-large{width:28px;height:28px}.icon-small{height:14px}.icon-medium{height:16px}.icon-large{height:18px}.hide-panel{visibility:hidden}.line{transform:rotate(44deg);background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' xmlns:svg='http://www.w3.org/2000/svg' xmlns:rdf='http://www.w3.org/1999/02/22-rdf-syntax-ns%23' xmlns:cc='http://creativecommons.org/ns%23' xmlns:dc='http://purl.org/dc/elements/1.1/' fill='%23000000' width='10' height='16' viewBox='-3 0 0.22850401 0.63333199' version='1.1' id='svg1' xml:space='preserve'%3E%3Cdefs id='defs1'/%3E%3Ctitle id='title1'%3Eline-chart%3C/title%3E%3Cmetadata id='metadata1'%3E%3Crdf:RDF%3E%3Ccc:Work rdf:about=''%3E%3Cdc:title%3Eline-chart%3C/dc:title%3E%3C/cc:Work%3E%3C/rdf:RDF%3E%3C/metadata%3E%3Cg style='fill:none' id='g1' transform='matrix(0.04,0,0,0.04,-3.48332,-0.48336)'%3E%3Cpath fill-rule='evenodd' clip-rule='evenodd' d='m 14.9997,12.084 c -1.6109,0 -2.9167,1.3058 -2.9167,2.9167 0,1.3212 0.8786,2.4373 2.0833,2.7958 v 4.4083 c -1.2047,0.3585 -2.0833,1.4746 -2.0833,2.7959 0,1.6108 1.3058,2.9166 2.9167,2.9166 1.3212,0 2.4373,-0.8785 2.7959,-2.0833 V 14.1673 C 17.437,12.9625 16.3209,12.084 14.9997,12.084 Z m -1.25,2.9167 c 0,-0.6904 0.5596,-1.25 1.25,-1.25 0.6903,0 1.25,0.5596 1.25,1.25 0,0.6903 -0.5597,1.25 -1.25,1.25 -0.6904,0 -1.25,-0.5597 -1.25,-1.25 z m 2.0833,7.2041 c 0.9407,0.2799 1.6826,1.0218 1.9626,1.9625 V 15.834 c -0.28,0.9407 -1.0219,1.6826 -1.9626,1.9625 z m -0.8333,1.5459 c -0.6904,0 -1.25,0.5596 -1.25,1.25 0,0.6903 0.5596,1.25 1.25,1.25 0.6903,0 1.25,-0.5597 1.25,-1.25 0,-0.6904 -0.5597,-1.25 -1.25,-1.25 z' fill='%2315181a' id='path1'/%3E%3C/g%3E%3C/svg%3E")}.polygon{background-image:url("data:image/svg+xml,%3Csvg width='20' height='20' viewBox='0 0 20 20' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath fill-rule='evenodd' clip-rule='evenodd' d='M4.99967 2.08398C3.38884 2.08398 2.08301 3.38982 2.08301 5.00065C2.08301 6.32191 2.96155 7.43797 4.16634 7.79654L4.16634 12.2048C2.96155 12.5633 2.08301 13.6794 2.08301 15.0007C2.08301 16.6115 3.38884 17.9173 4.99967 17.9173C6.32093 17.9173 7.437 17.0388 7.79556 15.834H12.2038C12.5624 17.0388 13.6784 17.9173 14.9997 17.9173C16.6105 17.9173 17.9163 16.6115 17.9163 15.0007C17.9163 13.6794 17.0378 12.5633 15.833 12.2048V7.79653C17.0378 7.43797 17.9163 6.32191 17.9163 5.00065C17.9163 3.38982 16.6105 2.08398 14.9997 2.08398C13.6784 2.08398 12.5624 2.96253 12.2038 4.16732L7.79556 4.16732C7.437 2.96253 6.32093 2.08398 4.99967 2.08398ZM3.74967 5.00065C3.74967 4.31029 4.30932 3.75065 4.99967 3.75065C5.69003 3.75065 6.24967 4.31029 6.24967 5.00065C6.24967 5.69101 5.69003 6.25065 4.99967 6.25065C4.30932 6.25065 3.74967 5.69101 3.74967 5.00065ZM5.83301 12.2048C6.77375 12.4847 7.51558 13.2266 7.79556 14.1673L12.2038 14.1673C12.4838 13.2266 13.2256 12.4847 14.1663 12.2048L14.1663 7.79654C13.2256 7.51656 12.4838 6.77473 12.2038 5.83398L7.79556 5.83398C7.51558 6.77472 6.77375 7.51656 5.83301 7.79653L5.83301 12.2048ZM13.7497 5.00065C13.7497 4.31029 14.3093 3.75065 14.9997 3.75065C15.69 3.75065 16.2497 4.31029 16.2497 5.00065C16.2497 5.69101 15.69 6.25065 14.9997 6.25065C14.3093 6.25065 13.7497 5.69101 13.7497 5.00065ZM4.99967 13.7507C4.30932 13.7507 3.74967 14.3103 3.74967 15.0007C3.74967 15.691 4.30932 16.2507 4.99967 16.2507C5.69003 16.2507 6.24967 15.691 6.24967 15.0007C6.24967 14.3103 5.69003 13.7507 4.99967 13.7507ZM13.7497 15.0007C13.7497 14.3103 14.3093 13.7507 14.9997 13.7507C15.69 13.7507 16.2497 14.3103 16.2497 15.0007C16.2497 15.691 15.69 16.2507 14.9997 16.2507C14.3093 16.2507 13.7497 15.691 13.7497 15.0007Z' fill='%2315181A'/%3E%3C/svg%3E%0A")}.break{background-image:url("data:image/svg+xml,%3Csvg width='20' height='20' viewBox='0 0 20 20' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M4.16667 1.66602C4.6269 1.66602 5 2.03911 5 2.49935V5.83268H15V2.49935C15 2.03911 15.3731 1.66602 15.8333 1.66602C16.2936 1.66602 16.6667 2.03911 16.6667 2.49935V5.83268C16.6667 6.75316 15.9205 7.49935 15 7.49935H5C4.07953 7.49935 3.33333 6.75316 3.33333 5.83268V2.49935C3.33333 2.03911 3.70643 1.66602 4.16667 1.66602Z' fill='%2315181A'/%3E%3Cpath d='M4.16667 18.3327C4.6269 18.3327 5 17.9596 5 17.4993V14.166H15V17.4993C15 17.9596 15.3731 18.3327 15.8333 18.3327C16.2936 18.3327 16.6667 17.9596 16.6667 17.4993V14.166C16.6667 13.2455 15.9205 12.4993 15 12.4993H5C4.07953 12.4993 3.33333 13.2455 3.33333 14.166V17.4993C3.33333 17.9596 3.70643 18.3327 4.16667 18.3327Z' fill='%2315181A'/%3E%3Cpath d='M13.3333 9.16602H11.4583C10.9981 9.16602 10.625 9.53911 10.625 9.99935C10.625 10.4596 10.9981 10.8327 11.4583 10.8327H13.3333C13.7936 10.8327 14.1667 10.4596 14.1667 9.99935C14.1667 9.53911 13.7936 9.16602 13.3333 9.16602Z' fill='%2315181A'/%3E%3Cpath d='M8.54167 9.16602H6.66667C6.20643 9.16602 5.83333 9.53911 5.83333 9.99935C5.83333 10.4596 6.20643 10.8327 6.66667 10.8327H8.54167C9.0019 10.8327 9.375 10.4596 9.375 9.99935C9.375 9.53911 9.0019 9.16602 8.54167 9.16602Z' fill='%2315181A'/%3E%3Cpath d='M3.75 9.16601H2.08333C1.6231 9.16601 1.25 9.53911 1.25 9.99935C1.25 10.4596 1.6231 10.8327 2.08333 10.8327H3.75C4.21024 10.8327 4.58333 10.4596 4.58333 9.99935C4.58333 9.53911 4.21024 9.16601 3.75 9.16601Z' fill='%2315181A'/%3E%3Cpath d='M17.9167 9.16601H16.25C15.7898 9.16601 15.4167 9.53911 15.4167 9.99935C15.4167 10.4596 15.7898 10.8327 16.25 10.8327H17.9167C18.3769 10.8327 18.75 10.4596 18.75 9.99935C18.75 9.53911 18.3769 9.16601 17.9167 9.16601Z' fill='%2315181A'/%3E%3C/svg%3E%0A")}.control-button:first-child{border-top-left-radius:4px;border-top-right-radius:4px}.maplibregl-ctrl-group button.control-button-active{background-color:#edeaea}.control-button:disabled{opacity:.25}.maplibregl-popup-tip,.mapboxgl-popup-tip{display:none!important}.maplibregl-popup-content,.mapboxgl-popup-content{padding:0!important}
1
+ .mdl-tooltip{display:block;position:fixed;z-index:1000;pointer-events:none;top:0;left:0}.mdl-tooltip-text{display:inline-block;padding:4px 16px;background-color:#4d4d4d;border-radius:18px;color:#fff;font-size:14px}.mdl-tooltip-text-bottom{opacity:0;transform:translateY(16px);transition:all .2s ease-out;transition-delay:.25s}.mdl-tooltip-text-left{opacity:0;transform:translate(16px);transition:all .3s ease-out}.mdl-tooltip-text-right{opacity:0;transform:translate(-16px);transition:all .3s ease-out}.mdl-tooltip-text-active{transform:translate(0);opacity:1}.mdl-icon-undo{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='currentColor' stroke-width='2' stroke-linecap='round' stroke-linejoin='round' class='lucide lucide-undo-icon lucide-undo'%3E%3Cpath d='M3 7v6h6'/%3E%3Cpath d='M21 17a9 9 0 0 0-9-9 9 9 0 0 0-6 2.3L3 13'/%3E%3C/svg%3E")}.mdl-icon-redo{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='currentColor' stroke-width='2' stroke-linecap='round' stroke-linejoin='round' class='lucide lucide-redo-icon lucide-redo'%3E%3Cpath d='M21 7v6h-6'/%3E%3Cpath d='M3 17a9 9 0 0 1 9-9 9 9 0 0 1 6 2.3l3 2.7'/%3E%3C/svg%3E")}.mdl-icon-delete{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='64 64 896 896' focusable='false' data-icon='delete' fill='currentColor' aria-hidden='true'%3E%3Cpath d='M360 184h-8c4.4 0 8-3.6 8-8v8h304v-8c0 4.4 3.6 8 8 8h-8v72h72v-80c0-35.3-28.7-64-64-64H352c-35.3 0-64 28.7-64 64v80h72v-72zm504 72H160c-17.7 0-32 14.3-32 32v32c0 4.4 3.6 8 8 8h60.4l24.7 523c1.6 34.1 29.8 61 63.9 61h454c34.2 0 62.3-26.8 63.9-61l24.7-523H888c4.4 0 8-3.6 8-8v-32c0-17.7-14.3-32-32-32zM731.3 840H292.7l-24.2-512h487l-24.2 512z'%3E%3C/path%3E%3C/svg%3E")}.mdl-icon-save{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='64 64 896 896' focusable='false' data-icon='check' fill='currentColor' aria-hidden='true'%3E%3Cpath d='M912 190h-69.9c-9.8 0-19.1 4.5-25.1 12.2L404.7 724.5 207 474a32 32 0 00-25.1-12.2H112c-6.7 0-10.4 7.7-6.3 12.9l273.9 347c12.8 16.2 37.4 16.2 50.3 0l488.4-618.9c4.1-5.1.4-12.8-6.3-12.8z'%3E%3C/path%3E%3C/svg%3E")}.mdl-dashboard{display:flex;align-items:center;background-color:#fff;border-radius:4px;box-shadow:0 0 0 2px #0000001a}.mdl-dashboard-container{position:absolute;z-index:1000000;pointer-events:auto}.mdl-dashboard-container.mdl-hidden{opacity:0;pointer-events:none}.mdl-panel-button{background-color:transparent;border:0;box-sizing:border-box;cursor:pointer;display:block;height:28px;outline:none;padding:0;width:28px}.mdl-panel-button:disabled{opacity:.25;cursor:not-allowed}.mdl-panel-button:hover{background-color:#0000000d}.mdl-icon{background-position:50%;background-repeat:no-repeat;display:block;height:18px}.mdl-panel-button:not(:last-child) .mdl-icon{border-right:1px solid #ddd}.mdl-panel-button-small{width:20px;height:20px}.mdl-panel-button-medium{width:24px;height:24px}.mdl-panel-button-large{width:28px;height:28px}.mdl-icon-small{height:14px}.mdl-icon-medium{height:16px}.mdl-icon-large{height:18px}.mdl-icon-line{transform:rotate(44deg);background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' xmlns:svg='http://www.w3.org/2000/svg' xmlns:rdf='http://www.w3.org/1999/02/22-rdf-syntax-ns%23' xmlns:cc='http://creativecommons.org/ns%23' xmlns:dc='http://purl.org/dc/elements/1.1/' fill='%23000000' width='10' height='16' viewBox='-3 0 0.22850401 0.63333199' version='1.1' id='svg1' xml:space='preserve'%3E%3Cdefs id='defs1'/%3E%3Ctitle id='title1'%3Eline-chart%3C/title%3E%3Cmetadata id='metadata1'%3E%3Crdf:RDF%3E%3Ccc:Work rdf:about=''%3E%3Cdc:title%3Eline-chart%3C/dc:title%3E%3C/cc:Work%3E%3C/rdf:RDF%3E%3C/metadata%3E%3Cg style='fill:none' id='g1' transform='matrix(0.04,0,0,0.04,-3.48332,-0.48336)'%3E%3Cpath fill-rule='evenodd' clip-rule='evenodd' d='m 14.9997,12.084 c -1.6109,0 -2.9167,1.3058 -2.9167,2.9167 0,1.3212 0.8786,2.4373 2.0833,2.7958 v 4.4083 c -1.2047,0.3585 -2.0833,1.4746 -2.0833,2.7959 0,1.6108 1.3058,2.9166 2.9167,2.9166 1.3212,0 2.4373,-0.8785 2.7959,-2.0833 V 14.1673 C 17.437,12.9625 16.3209,12.084 14.9997,12.084 Z m -1.25,2.9167 c 0,-0.6904 0.5596,-1.25 1.25,-1.25 0.6903,0 1.25,0.5596 1.25,1.25 0,0.6903 -0.5597,1.25 -1.25,1.25 -0.6904,0 -1.25,-0.5597 -1.25,-1.25 z m 2.0833,7.2041 c 0.9407,0.2799 1.6826,1.0218 1.9626,1.9625 V 15.834 c -0.28,0.9407 -1.0219,1.6826 -1.9626,1.9625 z m -0.8333,1.5459 c -0.6904,0 -1.25,0.5596 -1.25,1.25 0,0.6903 0.5596,1.25 1.25,1.25 0.6903,0 1.25,-0.5597 1.25,-1.25 0,-0.6904 -0.5597,-1.25 -1.25,-1.25 z' fill='%2315181a' id='path1'/%3E%3C/g%3E%3C/svg%3E")}.mdl-icon-polygon{background-image:url("data:image/svg+xml,%3Csvg width='20' height='20' viewBox='0 0 20 20' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath fill-rule='evenodd' clip-rule='evenodd' d='M4.99967 2.08398C3.38884 2.08398 2.08301 3.38982 2.08301 5.00065C2.08301 6.32191 2.96155 7.43797 4.16634 7.79654L4.16634 12.2048C2.96155 12.5633 2.08301 13.6794 2.08301 15.0007C2.08301 16.6115 3.38884 17.9173 4.99967 17.9173C6.32093 17.9173 7.437 17.0388 7.79556 15.834H12.2038C12.5624 17.0388 13.6784 17.9173 14.9997 17.9173C16.6105 17.9173 17.9163 16.6115 17.9163 15.0007C17.9163 13.6794 17.0378 12.5633 15.833 12.2048V7.79653C17.0378 7.43797 17.9163 6.32191 17.9163 5.00065C17.9163 3.38982 16.6105 2.08398 14.9997 2.08398C13.6784 2.08398 12.5624 2.96253 12.2038 4.16732L7.79556 4.16732C7.437 2.96253 6.32093 2.08398 4.99967 2.08398ZM3.74967 5.00065C3.74967 4.31029 4.30932 3.75065 4.99967 3.75065C5.69003 3.75065 6.24967 4.31029 6.24967 5.00065C6.24967 5.69101 5.69003 6.25065 4.99967 6.25065C4.30932 6.25065 3.74967 5.69101 3.74967 5.00065ZM5.83301 12.2048C6.77375 12.4847 7.51558 13.2266 7.79556 14.1673L12.2038 14.1673C12.4838 13.2266 13.2256 12.4847 14.1663 12.2048L14.1663 7.79654C13.2256 7.51656 12.4838 6.77473 12.2038 5.83398L7.79556 5.83398C7.51558 6.77472 6.77375 7.51656 5.83301 7.79653L5.83301 12.2048ZM13.7497 5.00065C13.7497 4.31029 14.3093 3.75065 14.9997 3.75065C15.69 3.75065 16.2497 4.31029 16.2497 5.00065C16.2497 5.69101 15.69 6.25065 14.9997 6.25065C14.3093 6.25065 13.7497 5.69101 13.7497 5.00065ZM4.99967 13.7507C4.30932 13.7507 3.74967 14.3103 3.74967 15.0007C3.74967 15.691 4.30932 16.2507 4.99967 16.2507C5.69003 16.2507 6.24967 15.691 6.24967 15.0007C6.24967 14.3103 5.69003 13.7507 4.99967 13.7507ZM13.7497 15.0007C13.7497 14.3103 14.3093 13.7507 14.9997 13.7507C15.69 13.7507 16.2497 14.3103 16.2497 15.0007C16.2497 15.691 15.69 16.2507 14.9997 16.2507C14.3093 16.2507 13.7497 15.691 13.7497 15.0007Z' fill='%2315181A'/%3E%3C/svg%3E%0A")}.mdl-icon-break{background-image:url("data:image/svg+xml,%3Csvg width='20' height='20' viewBox='0 0 20 20' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M4.16667 1.66602C4.6269 1.66602 5 2.03911 5 2.49935V5.83268H15V2.49935C15 2.03911 15.3731 1.66602 15.8333 1.66602C16.2936 1.66602 16.6667 2.03911 16.6667 2.49935V5.83268C16.6667 6.75316 15.9205 7.49935 15 7.49935H5C4.07953 7.49935 3.33333 6.75316 3.33333 5.83268V2.49935C3.33333 2.03911 3.70643 1.66602 4.16667 1.66602Z' fill='%2315181A'/%3E%3Cpath d='M4.16667 18.3327C4.6269 18.3327 5 17.9596 5 17.4993V14.166H15V17.4993C15 17.9596 15.3731 18.3327 15.8333 18.3327C16.2936 18.3327 16.6667 17.9596 16.6667 17.4993V14.166C16.6667 13.2455 15.9205 12.4993 15 12.4993H5C4.07953 12.4993 3.33333 13.2455 3.33333 14.166V17.4993C3.33333 17.9596 3.70643 18.3327 4.16667 18.3327Z' fill='%2315181A'/%3E%3Cpath d='M13.3333 9.16602H11.4583C10.9981 9.16602 10.625 9.53911 10.625 9.99935C10.625 10.4596 10.9981 10.8327 11.4583 10.8327H13.3333C13.7936 10.8327 14.1667 10.4596 14.1667 9.99935C14.1667 9.53911 13.7936 9.16602 13.3333 9.16602Z' fill='%2315181A'/%3E%3Cpath d='M8.54167 9.16602H6.66667C6.20643 9.16602 5.83333 9.53911 5.83333 9.99935C5.83333 10.4596 6.20643 10.8327 6.66667 10.8327H8.54167C9.0019 10.8327 9.375 10.4596 9.375 9.99935C9.375 9.53911 9.0019 9.16602 8.54167 9.16602Z' fill='%2315181A'/%3E%3Cpath d='M3.75 9.16601H2.08333C1.6231 9.16601 1.25 9.53911 1.25 9.99935C1.25 10.4596 1.6231 10.8327 2.08333 10.8327H3.75C4.21024 10.8327 4.58333 10.4596 4.58333 9.99935C4.58333 9.53911 4.21024 9.16601 3.75 9.16601Z' fill='%2315181A'/%3E%3Cpath d='M17.9167 9.16601H16.25C15.7898 9.16601 15.4167 9.53911 15.4167 9.99935C15.4167 10.4596 15.7898 10.8327 16.25 10.8327H17.9167C18.3769 10.8327 18.75 10.4596 18.75 9.99935C18.75 9.53911 18.3769 9.16601 17.9167 9.16601Z' fill='%2315181A'/%3E%3C/svg%3E%0A")}.mdl-control-button:first-child{border-top-left-radius:4px;border-top-right-radius:4px}.maplibregl-ctrl-group button.mdl-control-button-active{background-color:#edeaea}.mdl-control-button:disabled{opacity:.25}.mdl-point-remove{background-color:#fff;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23333333' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M18 6 6 18'/%3E%3Cpath d='m6 6 12 12'/%3E%3C/svg%3E");background-position:50%;background-repeat:no-repeat;background-size:13px 13px;border:0;border-radius:50%;box-shadow:0 1px 4px #00000059;box-sizing:border-box;cursor:pointer;height:26px;left:0;outline:none;padding:0;position:absolute;top:0;width:26px;z-index:1000000}.mdl-point-remove:hover{background-color:#f2f2f2}.mdl-point-remove:active{background-color:#e0e0e0}.mdl-point-remove:before{bottom:0;content:"";position:absolute;top:0;width:5px}.mdl-point-remove[data-side=right]:before{left:-5px}.mdl-point-remove[data-side=left]:before{right:-5px}.mdl-point-remove.mdl-hidden{opacity:0;pointer-events:none;visibility:hidden}
2
2
  /*# sourceMappingURL=index.css.map */
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/components/tooltip/tooltip.css","../src/components/panel/panel.css","../src/components/side-control/control.css","../src/draw.css"],"sourcesContent":[".popup-container {\n display: block;\n position: absolute;\n z-index: 1000;\n pointer-events: none;\n top: 0;\n left: 0;\n}\n\n.popup-text {\n display: inline-block;\n padding: 4px 16px;\n background-color: #4d4d4d;\n border-radius: 18px;\n color: #fff;\n font-size: 14px;\n}\n\n.popup-text-bottom {\n opacity: 0;\n transform: translateY(16px);\n transition: all 0.2s ease-out;\n transition-delay: 0.25s;\n}\n\n.popup-text-left {\n opacity: 0;\n transform: translateX(16px);\n transition: all 0.3s ease-out;\n}\n\n.popup-text-active {\n transform: translate(0px);\n opacity: 1;\n}\n",".undo {\n background-image: url(\"data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='currentColor' stroke-width='2' stroke-linecap='round' stroke-linejoin='round' class='lucide lucide-undo-icon lucide-undo'%3E%3Cpath d='M3 7v6h6'/%3E%3Cpath d='M21 17a9 9 0 0 0-9-9 9 9 0 0 0-6 2.3L3 13'/%3E%3C/svg%3E\");\n}\n\n.redo {\n background-image: url(\"data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='currentColor' stroke-width='2' stroke-linecap='round' stroke-linejoin='round' class='lucide lucide-redo-icon lucide-redo'%3E%3Cpath d='M21 7v6h-6'/%3E%3Cpath d='M3 17a9 9 0 0 1 9-9 9 9 0 0 1 6 2.3l3 2.7'/%3E%3C/svg%3E\");\n}\n\n.delete {\n background-image: url(\"data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='64 64 896 896' focusable='false' data-icon='delete' fill='currentColor' aria-hidden='true'%3E%3Cpath d='M360 184h-8c4.4 0 8-3.6 8-8v8h304v-8c0 4.4 3.6 8 8 8h-8v72h72v-80c0-35.3-28.7-64-64-64H352c-35.3 0-64 28.7-64 64v80h72v-72zm504 72H160c-17.7 0-32 14.3-32 32v32c0 4.4 3.6 8 8 8h60.4l24.7 523c1.6 34.1 29.8 61 63.9 61h454c34.2 0 62.3-26.8 63.9-61l24.7-523H888c4.4 0 8-3.6 8-8v-32c0-17.7-14.3-32-32-32zM731.3 840H292.7l-24.2-512h487l-24.2 512z'%3E%3C/path%3E%3C/svg%3E\");\n}\n\n.save {\n background-image: url(\"data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='64 64 896 896' focusable='false' data-icon='check' fill='currentColor' aria-hidden='true'%3E%3Cpath d='M912 190h-69.9c-9.8 0-19.1 4.5-25.1 12.2L404.7 724.5 207 474a32 32 0 00-25.1-12.2H112c-6.7 0-10.4 7.7-6.3 12.9l273.9 347c12.8 16.2 37.4 16.2 50.3 0l488.4-618.9c4.1-5.1.4-12.8-6.3-12.8z'%3E%3C/path%3E%3C/svg%3E\");\n}\n\n.mdl-dashboard {\n display: flex;\n align-items: center;\n background-color: white;\n border-radius: 4px;\n}\n\n.mdl-dashboard-container {\n position: absolute;\n z-index: 1000000;\n pointer-events: auto;\n}\n\n.mdl-dashboard-container.hidden {\n opacity: 0;\n pointer-events: none;\n}\n\n.mdl-panel-button {\n background-color: transparent;\n border: 0;\n box-sizing: border-box;\n cursor: pointer;\n display: block;\n height: 28px;\n outline: none;\n padding: 0;\n width: 28px;\n}\n\n.mdl-panel-button:disabled {\n opacity: 0.25;\n cursor: not-allowed;\n}\n\n.mdl-panel-button:hover {\n background-color: #0000000d;\n}\n\n.icon {\n background-position: 50%;\n background-repeat: no-repeat;\n display: block;\n height: 18px;\n}\n\n.mdl-panel-button:not(:last-child) .icon {\n border-right: 1px solid #ddd;\n}\n\n.mdl-panel-button-small {\n width: 20px;\n height: 20px;\n}\n\n.mdl-panel-button-medium {\n width: 24px;\n height: 24px;\n}\n.mdl-panel-button-large {\n width: 28px;\n height: 28px;\n}\n\n.icon-small {\n height: 14px;\n}\n\n.icon-medium {\n height: 16px;\n}\n\n.icon-large {\n height: 18px;\n}\n\n.hide-panel {\n visibility: hidden;\n}\n",".line {\n transform: rotate(44deg);\n background-image: url(\"data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' xmlns:svg='http://www.w3.org/2000/svg' xmlns:rdf='http://www.w3.org/1999/02/22-rdf-syntax-ns%23' xmlns:cc='http://creativecommons.org/ns%23' xmlns:dc='http://purl.org/dc/elements/1.1/' fill='%23000000' width='10' height='16' viewBox='-3 0 0.22850401 0.63333199' version='1.1' id='svg1' xml:space='preserve'%3E%3Cdefs id='defs1'/%3E%3Ctitle id='title1'%3Eline-chart%3C/title%3E%3Cmetadata id='metadata1'%3E%3Crdf:RDF%3E%3Ccc:Work rdf:about=''%3E%3Cdc:title%3Eline-chart%3C/dc:title%3E%3C/cc:Work%3E%3C/rdf:RDF%3E%3C/metadata%3E%3Cg style='fill:none' id='g1' transform='matrix(0.04,0,0,0.04,-3.48332,-0.48336)'%3E%3Cpath fill-rule='evenodd' clip-rule='evenodd' d='m 14.9997,12.084 c -1.6109,0 -2.9167,1.3058 -2.9167,2.9167 0,1.3212 0.8786,2.4373 2.0833,2.7958 v 4.4083 c -1.2047,0.3585 -2.0833,1.4746 -2.0833,2.7959 0,1.6108 1.3058,2.9166 2.9167,2.9166 1.3212,0 2.4373,-0.8785 2.7959,-2.0833 V 14.1673 C 17.437,12.9625 16.3209,12.084 14.9997,12.084 Z m -1.25,2.9167 c 0,-0.6904 0.5596,-1.25 1.25,-1.25 0.6903,0 1.25,0.5596 1.25,1.25 0,0.6903 -0.5597,1.25 -1.25,1.25 -0.6904,0 -1.25,-0.5597 -1.25,-1.25 z m 2.0833,7.2041 c 0.9407,0.2799 1.6826,1.0218 1.9626,1.9625 V 15.834 c -0.28,0.9407 -1.0219,1.6826 -1.9626,1.9625 z m -0.8333,1.5459 c -0.6904,0 -1.25,0.5596 -1.25,1.25 0,0.6903 0.5596,1.25 1.25,1.25 0.6903,0 1.25,-0.5597 1.25,-1.25 0,-0.6904 -0.5597,-1.25 -1.25,-1.25 z' fill='%2315181a' id='path1'/%3E%3C/g%3E%3C/svg%3E\");\n}\n\n.polygon {\n background-image: url(\"data:image/svg+xml,%3Csvg width='20' height='20' viewBox='0 0 20 20' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath fill-rule='evenodd' clip-rule='evenodd' d='M4.99967 2.08398C3.38884 2.08398 2.08301 3.38982 2.08301 5.00065C2.08301 6.32191 2.96155 7.43797 4.16634 7.79654L4.16634 12.2048C2.96155 12.5633 2.08301 13.6794 2.08301 15.0007C2.08301 16.6115 3.38884 17.9173 4.99967 17.9173C6.32093 17.9173 7.437 17.0388 7.79556 15.834H12.2038C12.5624 17.0388 13.6784 17.9173 14.9997 17.9173C16.6105 17.9173 17.9163 16.6115 17.9163 15.0007C17.9163 13.6794 17.0378 12.5633 15.833 12.2048V7.79653C17.0378 7.43797 17.9163 6.32191 17.9163 5.00065C17.9163 3.38982 16.6105 2.08398 14.9997 2.08398C13.6784 2.08398 12.5624 2.96253 12.2038 4.16732L7.79556 4.16732C7.437 2.96253 6.32093 2.08398 4.99967 2.08398ZM3.74967 5.00065C3.74967 4.31029 4.30932 3.75065 4.99967 3.75065C5.69003 3.75065 6.24967 4.31029 6.24967 5.00065C6.24967 5.69101 5.69003 6.25065 4.99967 6.25065C4.30932 6.25065 3.74967 5.69101 3.74967 5.00065ZM5.83301 12.2048C6.77375 12.4847 7.51558 13.2266 7.79556 14.1673L12.2038 14.1673C12.4838 13.2266 13.2256 12.4847 14.1663 12.2048L14.1663 7.79654C13.2256 7.51656 12.4838 6.77473 12.2038 5.83398L7.79556 5.83398C7.51558 6.77472 6.77375 7.51656 5.83301 7.79653L5.83301 12.2048ZM13.7497 5.00065C13.7497 4.31029 14.3093 3.75065 14.9997 3.75065C15.69 3.75065 16.2497 4.31029 16.2497 5.00065C16.2497 5.69101 15.69 6.25065 14.9997 6.25065C14.3093 6.25065 13.7497 5.69101 13.7497 5.00065ZM4.99967 13.7507C4.30932 13.7507 3.74967 14.3103 3.74967 15.0007C3.74967 15.691 4.30932 16.2507 4.99967 16.2507C5.69003 16.2507 6.24967 15.691 6.24967 15.0007C6.24967 14.3103 5.69003 13.7507 4.99967 13.7507ZM13.7497 15.0007C13.7497 14.3103 14.3093 13.7507 14.9997 13.7507C15.69 13.7507 16.2497 14.3103 16.2497 15.0007C16.2497 15.691 15.69 16.2507 14.9997 16.2507C14.3093 16.2507 13.7497 15.691 13.7497 15.0007Z' fill='%2315181A'/%3E%3C/svg%3E%0A\");\n}\n\n.break {\n background-image: url(\"data:image/svg+xml,%3Csvg width='20' height='20' viewBox='0 0 20 20' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M4.16667 1.66602C4.6269 1.66602 5 2.03911 5 2.49935V5.83268H15V2.49935C15 2.03911 15.3731 1.66602 15.8333 1.66602C16.2936 1.66602 16.6667 2.03911 16.6667 2.49935V5.83268C16.6667 6.75316 15.9205 7.49935 15 7.49935H5C4.07953 7.49935 3.33333 6.75316 3.33333 5.83268V2.49935C3.33333 2.03911 3.70643 1.66602 4.16667 1.66602Z' fill='%2315181A'/%3E%3Cpath d='M4.16667 18.3327C4.6269 18.3327 5 17.9596 5 17.4993V14.166H15V17.4993C15 17.9596 15.3731 18.3327 15.8333 18.3327C16.2936 18.3327 16.6667 17.9596 16.6667 17.4993V14.166C16.6667 13.2455 15.9205 12.4993 15 12.4993H5C4.07953 12.4993 3.33333 13.2455 3.33333 14.166V17.4993C3.33333 17.9596 3.70643 18.3327 4.16667 18.3327Z' fill='%2315181A'/%3E%3Cpath d='M13.3333 9.16602H11.4583C10.9981 9.16602 10.625 9.53911 10.625 9.99935C10.625 10.4596 10.9981 10.8327 11.4583 10.8327H13.3333C13.7936 10.8327 14.1667 10.4596 14.1667 9.99935C14.1667 9.53911 13.7936 9.16602 13.3333 9.16602Z' fill='%2315181A'/%3E%3Cpath d='M8.54167 9.16602H6.66667C6.20643 9.16602 5.83333 9.53911 5.83333 9.99935C5.83333 10.4596 6.20643 10.8327 6.66667 10.8327H8.54167C9.0019 10.8327 9.375 10.4596 9.375 9.99935C9.375 9.53911 9.0019 9.16602 8.54167 9.16602Z' fill='%2315181A'/%3E%3Cpath d='M3.75 9.16601H2.08333C1.6231 9.16601 1.25 9.53911 1.25 9.99935C1.25 10.4596 1.6231 10.8327 2.08333 10.8327H3.75C4.21024 10.8327 4.58333 10.4596 4.58333 9.99935C4.58333 9.53911 4.21024 9.16601 3.75 9.16601Z' fill='%2315181A'/%3E%3Cpath d='M17.9167 9.16601H16.25C15.7898 9.16601 15.4167 9.53911 15.4167 9.99935C15.4167 10.4596 15.7898 10.8327 16.25 10.8327H17.9167C18.3769 10.8327 18.75 10.4596 18.75 9.99935C18.75 9.53911 18.3769 9.16601 17.9167 9.16601Z' fill='%2315181A'/%3E%3C/svg%3E%0A\");\n}\n\n.control-button:first-child {\n border-top-left-radius: 4px;\n border-top-right-radius: 4px;\n}\n\n/* otherwise if we just .control-button-active, then maplibre will have higher importance */\n.maplibregl-ctrl-group button.control-button-active {\n background-color: #edeaea;\n}\n\n.control-button:disabled {\n opacity: 0.25;\n}\n",".maplibregl-popup-tip,\n.mapboxgl-popup-tip {\n display: none !important;\n}\n\n.maplibregl-popup-content,\n.mapboxgl-popup-content {\n padding: 0 !important;\n}\n"],"mappings":"AAAA,CAAC,gBACC,QAAS,MACT,SAAU,SACV,QAAS,KACT,eAAgB,KAChB,IAAK,EACL,KAAM,CACR,CAEA,CAAC,WACC,QAAS,aAVX,QAWW,IAAI,KACb,iBAAkB,QAZpB,cAaiB,KACf,MAAO,KACP,UAAW,IACb,CAEA,CAAC,kBACC,QAAS,EACT,UAAW,WAAW,MACtB,WAAY,IAAI,IAAK,SACrB,iBAAkB,IACpB,CAEA,CAAC,gBACC,QAAS,EACT,UAAW,UAAW,MACtB,WAAY,IAAI,IAAK,QACvB,CAEA,CAAC,kBACC,UAAW,UAAU,GACrB,QAAS,CACX,CClCA,CAAC,KACC,iBAAkB,mUACpB,CAEA,CAAC,KACC,iBAAkB,qUACpB,CAEA,CAAC,OACC,iBAAkB,iiBACpB,CAEA,CAAC,KACC,iBAAkB,qYACpB,CAEA,CAAC,cACC,QAAS,KACT,YAAa,OACb,iBAAkB,KAnBpB,cAoBiB,GACjB,CAEA,CAAC,wBACC,SAAU,SACV,QAAS,QACT,eAAgB,IAClB,CAEA,CANC,uBAMuB,CAAC,OACvB,QAAS,EACT,eAAgB,IAClB,CAEA,CAAC,iBACC,iBAAkB,YAClB,OAAQ,EACR,WAAY,WACZ,OAAQ,QACR,QAAS,MACT,OAAQ,KACR,QAAS,KAzCX,QA0CW,EACT,MAAO,IACT,CAEA,CAZC,gBAYgB,UACf,QAAS,IACT,OAAQ,WACV,CAEA,CAjBC,gBAiBgB,OACf,iBAAkB,SACpB,CAEA,CAAC,KACC,oBAAqB,IACrB,kBAAmB,UACnB,QAAS,MACT,OAAQ,IACV,CAEA,CA5BC,gBA4BgB,KAAK,aAAa,CAPlC,KAQC,aAAc,IAAI,MAAM,IAC1B,CAEA,CAAC,uBACC,MAAO,KACP,OAAQ,IACV,CAEA,CAAC,wBACC,MAAO,KACP,OAAQ,IACV,CACA,CAAC,uBACC,MAAO,KACP,OAAQ,IACV,CAEA,CAAC,WACC,OAAQ,IACV,CAEA,CAAC,YACC,OAAQ,IACV,CAEA,CAAC,WACC,OAAQ,IACV,CAEA,CAAC,WACC,WAAY,MACd,CC9FA,CAAC,KACC,UAAW,OAAO,OAClB,iBAAkB,m9CACpB,CAEA,CAAC,QACC,iBAAkB,u5DACpB,CAEA,CAAC,MACC,iBAAkB,syDACpB,CAEA,CAAC,cAAc,aACb,uBAAwB,IACxB,wBAAyB,GAC3B,CAGA,CAAC,sBAAsB,MAAM,CAAC,sBAC5B,iBAAkB,OACpB,CAEA,CAVC,cAUc,UACb,QAAS,GACX,CCzBA,CAAC,qBACD,CAAC,mBACC,QAAS,cACX,CAEA,CAAC,yBACD,CAAC,uBAND,QAOW,WACX","names":[]}
1
+ {"version":3,"sources":["../src/components/tooltip/tooltip.css","../src/components/panel/panel.css","../src/components/side-control/control.css","../src/components/remove-button/remove-button.css"],"sourcesContent":[".mdl-tooltip {\n display: block;\n position: fixed;\n z-index: 1000;\n pointer-events: none;\n top: 0;\n left: 0;\n}\n\n.mdl-tooltip-text {\n display: inline-block;\n padding: 4px 16px;\n background-color: #4d4d4d;\n border-radius: 18px;\n color: #fff;\n font-size: 14px;\n}\n\n.mdl-tooltip-text-bottom {\n opacity: 0;\n transform: translateY(16px);\n transition: all 0.2s ease-out;\n transition-delay: 0.25s;\n}\n\n.mdl-tooltip-text-left {\n opacity: 0;\n transform: translateX(16px);\n transition: all 0.3s ease-out;\n}\n\n.mdl-tooltip-text-right {\n opacity: 0;\n transform: translateX(-16px);\n transition: all 0.3s ease-out;\n}\n\n.mdl-tooltip-text-active {\n transform: translate(0px);\n opacity: 1;\n}\n",".mdl-icon-undo {\n background-image: url(\"data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='currentColor' stroke-width='2' stroke-linecap='round' stroke-linejoin='round' class='lucide lucide-undo-icon lucide-undo'%3E%3Cpath d='M3 7v6h6'/%3E%3Cpath d='M21 17a9 9 0 0 0-9-9 9 9 0 0 0-6 2.3L3 13'/%3E%3C/svg%3E\");\n}\n\n.mdl-icon-redo {\n background-image: url(\"data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='currentColor' stroke-width='2' stroke-linecap='round' stroke-linejoin='round' class='lucide lucide-redo-icon lucide-redo'%3E%3Cpath d='M21 7v6h-6'/%3E%3Cpath d='M3 17a9 9 0 0 1 9-9 9 9 0 0 1 6 2.3l3 2.7'/%3E%3C/svg%3E\");\n}\n\n.mdl-icon-delete {\n background-image: url(\"data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='64 64 896 896' focusable='false' data-icon='delete' fill='currentColor' aria-hidden='true'%3E%3Cpath d='M360 184h-8c4.4 0 8-3.6 8-8v8h304v-8c0 4.4 3.6 8 8 8h-8v72h72v-80c0-35.3-28.7-64-64-64H352c-35.3 0-64 28.7-64 64v80h72v-72zm504 72H160c-17.7 0-32 14.3-32 32v32c0 4.4 3.6 8 8 8h60.4l24.7 523c1.6 34.1 29.8 61 63.9 61h454c34.2 0 62.3-26.8 63.9-61l24.7-523H888c4.4 0 8-3.6 8-8v-32c0-17.7-14.3-32-32-32zM731.3 840H292.7l-24.2-512h487l-24.2 512z'%3E%3C/path%3E%3C/svg%3E\");\n}\n\n.mdl-icon-save {\n background-image: url(\"data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='64 64 896 896' focusable='false' data-icon='check' fill='currentColor' aria-hidden='true'%3E%3Cpath d='M912 190h-69.9c-9.8 0-19.1 4.5-25.1 12.2L404.7 724.5 207 474a32 32 0 00-25.1-12.2H112c-6.7 0-10.4 7.7-6.3 12.9l273.9 347c12.8 16.2 37.4 16.2 50.3 0l488.4-618.9c4.1-5.1.4-12.8-6.3-12.8z'%3E%3C/path%3E%3C/svg%3E\");\n}\n\n.mdl-dashboard {\n display: flex;\n align-items: center;\n background-color: white;\n border-radius: 4px;\n box-shadow: 0 0 0 2px rgba(0, 0, 0, 0.1);\n}\n\n.mdl-dashboard-container {\n position: absolute;\n z-index: 1000000;\n pointer-events: auto;\n}\n\n.mdl-dashboard-container.mdl-hidden {\n opacity: 0;\n pointer-events: none;\n}\n\n.mdl-panel-button {\n background-color: transparent;\n border: 0;\n box-sizing: border-box;\n cursor: pointer;\n display: block;\n height: 28px;\n outline: none;\n padding: 0;\n width: 28px;\n}\n\n.mdl-panel-button:disabled {\n opacity: 0.25;\n cursor: not-allowed;\n}\n\n.mdl-panel-button:hover {\n background-color: #0000000d;\n}\n\n.mdl-icon {\n background-position: 50%;\n background-repeat: no-repeat;\n display: block;\n height: 18px;\n}\n\n.mdl-panel-button:not(:last-child) .mdl-icon {\n border-right: 1px solid #ddd;\n}\n\n.mdl-panel-button-small {\n width: 20px;\n height: 20px;\n}\n\n.mdl-panel-button-medium {\n width: 24px;\n height: 24px;\n}\n.mdl-panel-button-large {\n width: 28px;\n height: 28px;\n}\n\n.mdl-icon-small {\n height: 14px;\n}\n\n.mdl-icon-medium {\n height: 16px;\n}\n\n.mdl-icon-large {\n height: 18px;\n}\n",".mdl-icon-line {\n transform: rotate(44deg);\n background-image: url(\"data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' xmlns:svg='http://www.w3.org/2000/svg' xmlns:rdf='http://www.w3.org/1999/02/22-rdf-syntax-ns%23' xmlns:cc='http://creativecommons.org/ns%23' xmlns:dc='http://purl.org/dc/elements/1.1/' fill='%23000000' width='10' height='16' viewBox='-3 0 0.22850401 0.63333199' version='1.1' id='svg1' xml:space='preserve'%3E%3Cdefs id='defs1'/%3E%3Ctitle id='title1'%3Eline-chart%3C/title%3E%3Cmetadata id='metadata1'%3E%3Crdf:RDF%3E%3Ccc:Work rdf:about=''%3E%3Cdc:title%3Eline-chart%3C/dc:title%3E%3C/cc:Work%3E%3C/rdf:RDF%3E%3C/metadata%3E%3Cg style='fill:none' id='g1' transform='matrix(0.04,0,0,0.04,-3.48332,-0.48336)'%3E%3Cpath fill-rule='evenodd' clip-rule='evenodd' d='m 14.9997,12.084 c -1.6109,0 -2.9167,1.3058 -2.9167,2.9167 0,1.3212 0.8786,2.4373 2.0833,2.7958 v 4.4083 c -1.2047,0.3585 -2.0833,1.4746 -2.0833,2.7959 0,1.6108 1.3058,2.9166 2.9167,2.9166 1.3212,0 2.4373,-0.8785 2.7959,-2.0833 V 14.1673 C 17.437,12.9625 16.3209,12.084 14.9997,12.084 Z m -1.25,2.9167 c 0,-0.6904 0.5596,-1.25 1.25,-1.25 0.6903,0 1.25,0.5596 1.25,1.25 0,0.6903 -0.5597,1.25 -1.25,1.25 -0.6904,0 -1.25,-0.5597 -1.25,-1.25 z m 2.0833,7.2041 c 0.9407,0.2799 1.6826,1.0218 1.9626,1.9625 V 15.834 c -0.28,0.9407 -1.0219,1.6826 -1.9626,1.9625 z m -0.8333,1.5459 c -0.6904,0 -1.25,0.5596 -1.25,1.25 0,0.6903 0.5596,1.25 1.25,1.25 0.6903,0 1.25,-0.5597 1.25,-1.25 0,-0.6904 -0.5597,-1.25 -1.25,-1.25 z' fill='%2315181a' id='path1'/%3E%3C/g%3E%3C/svg%3E\");\n}\n\n.mdl-icon-polygon {\n background-image: url(\"data:image/svg+xml,%3Csvg width='20' height='20' viewBox='0 0 20 20' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath fill-rule='evenodd' clip-rule='evenodd' d='M4.99967 2.08398C3.38884 2.08398 2.08301 3.38982 2.08301 5.00065C2.08301 6.32191 2.96155 7.43797 4.16634 7.79654L4.16634 12.2048C2.96155 12.5633 2.08301 13.6794 2.08301 15.0007C2.08301 16.6115 3.38884 17.9173 4.99967 17.9173C6.32093 17.9173 7.437 17.0388 7.79556 15.834H12.2038C12.5624 17.0388 13.6784 17.9173 14.9997 17.9173C16.6105 17.9173 17.9163 16.6115 17.9163 15.0007C17.9163 13.6794 17.0378 12.5633 15.833 12.2048V7.79653C17.0378 7.43797 17.9163 6.32191 17.9163 5.00065C17.9163 3.38982 16.6105 2.08398 14.9997 2.08398C13.6784 2.08398 12.5624 2.96253 12.2038 4.16732L7.79556 4.16732C7.437 2.96253 6.32093 2.08398 4.99967 2.08398ZM3.74967 5.00065C3.74967 4.31029 4.30932 3.75065 4.99967 3.75065C5.69003 3.75065 6.24967 4.31029 6.24967 5.00065C6.24967 5.69101 5.69003 6.25065 4.99967 6.25065C4.30932 6.25065 3.74967 5.69101 3.74967 5.00065ZM5.83301 12.2048C6.77375 12.4847 7.51558 13.2266 7.79556 14.1673L12.2038 14.1673C12.4838 13.2266 13.2256 12.4847 14.1663 12.2048L14.1663 7.79654C13.2256 7.51656 12.4838 6.77473 12.2038 5.83398L7.79556 5.83398C7.51558 6.77472 6.77375 7.51656 5.83301 7.79653L5.83301 12.2048ZM13.7497 5.00065C13.7497 4.31029 14.3093 3.75065 14.9997 3.75065C15.69 3.75065 16.2497 4.31029 16.2497 5.00065C16.2497 5.69101 15.69 6.25065 14.9997 6.25065C14.3093 6.25065 13.7497 5.69101 13.7497 5.00065ZM4.99967 13.7507C4.30932 13.7507 3.74967 14.3103 3.74967 15.0007C3.74967 15.691 4.30932 16.2507 4.99967 16.2507C5.69003 16.2507 6.24967 15.691 6.24967 15.0007C6.24967 14.3103 5.69003 13.7507 4.99967 13.7507ZM13.7497 15.0007C13.7497 14.3103 14.3093 13.7507 14.9997 13.7507C15.69 13.7507 16.2497 14.3103 16.2497 15.0007C16.2497 15.691 15.69 16.2507 14.9997 16.2507C14.3093 16.2507 13.7497 15.691 13.7497 15.0007Z' fill='%2315181A'/%3E%3C/svg%3E%0A\");\n}\n\n.mdl-icon-break {\n background-image: url(\"data:image/svg+xml,%3Csvg width='20' height='20' viewBox='0 0 20 20' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M4.16667 1.66602C4.6269 1.66602 5 2.03911 5 2.49935V5.83268H15V2.49935C15 2.03911 15.3731 1.66602 15.8333 1.66602C16.2936 1.66602 16.6667 2.03911 16.6667 2.49935V5.83268C16.6667 6.75316 15.9205 7.49935 15 7.49935H5C4.07953 7.49935 3.33333 6.75316 3.33333 5.83268V2.49935C3.33333 2.03911 3.70643 1.66602 4.16667 1.66602Z' fill='%2315181A'/%3E%3Cpath d='M4.16667 18.3327C4.6269 18.3327 5 17.9596 5 17.4993V14.166H15V17.4993C15 17.9596 15.3731 18.3327 15.8333 18.3327C16.2936 18.3327 16.6667 17.9596 16.6667 17.4993V14.166C16.6667 13.2455 15.9205 12.4993 15 12.4993H5C4.07953 12.4993 3.33333 13.2455 3.33333 14.166V17.4993C3.33333 17.9596 3.70643 18.3327 4.16667 18.3327Z' fill='%2315181A'/%3E%3Cpath d='M13.3333 9.16602H11.4583C10.9981 9.16602 10.625 9.53911 10.625 9.99935C10.625 10.4596 10.9981 10.8327 11.4583 10.8327H13.3333C13.7936 10.8327 14.1667 10.4596 14.1667 9.99935C14.1667 9.53911 13.7936 9.16602 13.3333 9.16602Z' fill='%2315181A'/%3E%3Cpath d='M8.54167 9.16602H6.66667C6.20643 9.16602 5.83333 9.53911 5.83333 9.99935C5.83333 10.4596 6.20643 10.8327 6.66667 10.8327H8.54167C9.0019 10.8327 9.375 10.4596 9.375 9.99935C9.375 9.53911 9.0019 9.16602 8.54167 9.16602Z' fill='%2315181A'/%3E%3Cpath d='M3.75 9.16601H2.08333C1.6231 9.16601 1.25 9.53911 1.25 9.99935C1.25 10.4596 1.6231 10.8327 2.08333 10.8327H3.75C4.21024 10.8327 4.58333 10.4596 4.58333 9.99935C4.58333 9.53911 4.21024 9.16601 3.75 9.16601Z' fill='%2315181A'/%3E%3Cpath d='M17.9167 9.16601H16.25C15.7898 9.16601 15.4167 9.53911 15.4167 9.99935C15.4167 10.4596 15.7898 10.8327 16.25 10.8327H17.9167C18.3769 10.8327 18.75 10.4596 18.75 9.99935C18.75 9.53911 18.3769 9.16601 17.9167 9.16601Z' fill='%2315181A'/%3E%3C/svg%3E%0A\");\n}\n\n.mdl-control-button:first-child {\n border-top-left-radius: 4px;\n border-top-right-radius: 4px;\n}\n\n/* otherwise if we just .mdl-control-button-active, then maplibre will have higher importance */\n.maplibregl-ctrl-group button.mdl-control-button-active {\n background-color: #edeaea;\n}\n\n.mdl-control-button:disabled {\n opacity: 0.25;\n}\n",".mdl-point-remove {\n background-color: #fff;\n background-image: url(\"data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23333333' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M18 6 6 18'/%3E%3Cpath d='m6 6 12 12'/%3E%3C/svg%3E\");\n background-position: 50%;\n background-repeat: no-repeat;\n background-size: 13px 13px;\n border: 0;\n border-radius: 50%;\n box-shadow: 0 1px 4px #00000059;\n box-sizing: border-box;\n cursor: pointer;\n height: 26px;\n left: 0;\n outline: none;\n padding: 0;\n position: absolute;\n top: 0;\n width: 26px;\n z-index: 1000000;\n}\n\n.mdl-point-remove:hover {\n background-color: #f2f2f2;\n}\n\n.mdl-point-remove:active {\n background-color: #e0e0e0;\n}\n\n.mdl-point-remove::before {\n bottom: 0;\n content: \"\";\n position: absolute;\n top: 0;\n width: 5px;\n}\n\n.mdl-point-remove[data-side=\"right\"]::before {\n left: -5px;\n}\n\n.mdl-point-remove[data-side=\"left\"]::before {\n right: -5px;\n}\n\n.mdl-point-remove.mdl-hidden {\n opacity: 0;\n pointer-events: none;\n visibility: hidden;\n}\n"],"mappings":"AAAA,CAAC,YACC,QAAS,MACT,SAAU,MACV,QAAS,KACT,eAAgB,KAChB,IAAK,EACL,KAAM,CACR,CAEA,CAAC,iBACC,QAAS,aAVX,QAWW,IAAI,KACb,iBAAkB,QAZpB,cAaiB,KACf,MAAO,KACP,UAAW,IACb,CAEA,CAAC,wBACC,QAAS,EACT,UAAW,WAAW,MACtB,WAAY,IAAI,IAAK,SACrB,iBAAkB,IACpB,CAEA,CAAC,sBACC,QAAS,EACT,UAAW,UAAW,MACtB,WAAY,IAAI,IAAK,QACvB,CAEA,CAAC,uBACC,QAAS,EACT,UAAW,UAAW,OACtB,WAAY,IAAI,IAAK,QACvB,CAEA,CAAC,wBACC,UAAW,UAAU,GACrB,QAAS,CACX,CCxCA,CAAC,cACC,iBAAkB,mUACpB,CAEA,CAAC,cACC,iBAAkB,qUACpB,CAEA,CAAC,gBACC,iBAAkB,iiBACpB,CAEA,CAAC,cACC,iBAAkB,qYACpB,CAEA,CAAC,cACC,QAAS,KACT,YAAa,OACb,iBAAkB,KAnBpB,cAoBiB,IACf,WAAY,EAAE,EAAE,EAAE,IAAI,SACxB,CAEA,CAAC,wBACC,SAAU,SACV,QAAS,QACT,eAAgB,IAClB,CAEA,CANC,uBAMuB,CAAC,WACvB,QAAS,EACT,eAAgB,IAClB,CAEA,CAAC,iBACC,iBAAkB,YAClB,OAAQ,EACR,WAAY,WACZ,OAAQ,QACR,QAAS,MACT,OAAQ,KACR,QAAS,KA1CX,QA2CW,EACT,MAAO,IACT,CAEA,CAZC,gBAYgB,UACf,QAAS,IACT,OAAQ,WACV,CAEA,CAjBC,gBAiBgB,OACf,iBAAkB,SACpB,CAEA,CAAC,SACC,oBAAqB,IACrB,kBAAmB,UACnB,QAAS,MACT,OAAQ,IACV,CAEA,CA5BC,gBA4BgB,KAAK,aAAa,CAPlC,SAQC,aAAc,IAAI,MAAM,IAC1B,CAEA,CAAC,uBACC,MAAO,KACP,OAAQ,IACV,CAEA,CAAC,wBACC,MAAO,KACP,OAAQ,IACV,CACA,CAAC,uBACC,MAAO,KACP,OAAQ,IACV,CAEA,CAAC,eACC,OAAQ,IACV,CAEA,CAAC,gBACC,OAAQ,IACV,CAEA,CAAC,eACC,OAAQ,IACV,CC3FA,CAAC,cACC,UAAW,OAAO,OAClB,iBAAkB,m9CACpB,CAEA,CAAC,iBACC,iBAAkB,u5DACpB,CAEA,CAAC,eACC,iBAAkB,syDACpB,CAEA,CAAC,kBAAkB,aACjB,uBAAwB,IACxB,wBAAyB,GAC3B,CAGA,CAAC,sBAAsB,MAAM,CAAC,0BAC5B,iBAAkB,OACpB,CAEA,CAVC,kBAUkB,UACjB,QAAS,GACX,CCzBA,CAAC,iBACC,iBAAkB,KAClB,iBAAkB,wPAClB,oBAAqB,IACrB,kBAAmB,UACnB,gBAAiB,KAAK,KACtB,OAAQ,EANV,cAOiB,IACf,WAAY,EAAE,IAAI,IAAI,UACtB,WAAY,WACZ,OAAQ,QACR,OAAQ,KACR,KAAM,EACN,QAAS,KAbX,QAcW,EACT,SAAU,SACV,IAAK,EACL,MAAO,KACP,QAAS,OACX,CAEA,CArBC,gBAqBgB,OACf,iBAAkB,OACpB,CAEA,CAzBC,gBAyBgB,QACf,iBAAkB,OACpB,CAEA,CA7BC,gBA6BgB,QACf,OAAQ,EACR,QAAS,GACT,SAAU,SACV,IAAK,EACL,MAAO,GACT,CAEA,CArCC,gBAqCgB,CAAC,gBAAkB,QAClC,KAAM,IACR,CAEA,CAzCC,gBAyCgB,CAAC,eAAiB,QACjC,MAAO,IACT,CAEA,CA7CC,gBA6CgB,CAAC,WAChB,QAAS,EACT,eAAgB,KAChB,WAAY,MACd","names":[]}