umap-project 3.1.2__py3-none-any.whl → 3.3.0__py3-none-any.whl

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.

Potentially problematic release.


This version of umap-project might be problematic. Click here for more details.

Files changed (199) hide show
  1. umap/__init__.py +1 -1
  2. umap/locale/en/LC_MESSAGES/django.mo +0 -0
  3. umap/locale/en/LC_MESSAGES/django.po +22 -18
  4. umap/locale/fr/LC_MESSAGES/django.mo +0 -0
  5. umap/locale/fr/LC_MESSAGES/django.po +21 -17
  6. umap/management/commands/export_pictogram.py +29 -0
  7. umap/management/commands/migrate_to_S3.py +5 -1
  8. umap/management/commands/purge_old_versions.py +8 -6
  9. umap/settings/__init__.py +21 -0
  10. umap/settings/base.py +3 -0
  11. umap/static/umap/content.css +7 -2
  12. umap/static/umap/css/contextmenu.css +58 -2
  13. umap/static/umap/css/form.css +175 -45
  14. umap/static/umap/css/icon.css +97 -3
  15. umap/static/umap/css/panel.css +31 -1
  16. umap/static/umap/img/16-white.svg +21 -40
  17. umap/static/umap/img/16.svg +1 -1
  18. umap/static/umap/img/24-white.svg +9 -9
  19. umap/static/umap/img/24.svg +23 -10
  20. umap/static/umap/img/source/16-white.svg +23 -41
  21. umap/static/umap/img/source/16.svg +1 -1
  22. umap/static/umap/img/source/24-white.svg +11 -11
  23. umap/static/umap/img/source/24.svg +25 -12
  24. umap/static/umap/js/modules/browser.js +1 -1
  25. umap/static/umap/js/modules/caption.js +8 -0
  26. umap/static/umap/js/modules/data/features.js +331 -202
  27. umap/static/umap/js/modules/data/layer.js +263 -152
  28. umap/static/umap/js/modules/facets.js +2 -2
  29. umap/static/umap/js/modules/form/builder.js +11 -7
  30. umap/static/umap/js/modules/form/fields.js +66 -26
  31. umap/static/umap/js/modules/formatter.js +78 -28
  32. umap/static/umap/js/modules/importer.js +6 -1
  33. umap/static/umap/js/modules/importers/opendata.js +138 -33
  34. umap/static/umap/js/modules/importers/openrouteservice.js +140 -0
  35. umap/static/umap/js/modules/managers.js +67 -0
  36. umap/static/umap/js/modules/printer.js +107 -0
  37. umap/static/umap/js/modules/rendering/controls.js +78 -2
  38. umap/static/umap/js/modules/rendering/icon.js +116 -87
  39. umap/static/umap/js/modules/rendering/layers/classified.js +8 -7
  40. umap/static/umap/js/modules/rendering/layers/cluster.js +199 -63
  41. umap/static/umap/js/modules/rendering/map.js +6 -2
  42. umap/static/umap/js/modules/rendering/template.js +71 -1
  43. umap/static/umap/js/modules/rendering/ui.js +111 -34
  44. umap/static/umap/js/modules/rules.js +76 -23
  45. umap/static/umap/js/modules/schema.js +27 -0
  46. umap/static/umap/js/modules/share.js +19 -12
  47. umap/static/umap/js/modules/slideshow.js +1 -1
  48. umap/static/umap/js/modules/sync/updaters.js +1 -6
  49. umap/static/umap/js/modules/tableeditor.js +13 -37
  50. umap/static/umap/js/modules/templates.js +7 -6
  51. umap/static/umap/js/modules/ui/bar.js +6 -1
  52. umap/static/umap/js/modules/ui/base.js +24 -9
  53. umap/static/umap/js/modules/ui/contextmenu.js +17 -7
  54. umap/static/umap/js/modules/ui/dialog.js +7 -4
  55. umap/static/umap/js/modules/ui/panel.js +7 -0
  56. umap/static/umap/js/modules/umap.js +84 -67
  57. umap/static/umap/js/modules/utils.js +8 -7
  58. umap/static/umap/js/umap.controls.js +22 -57
  59. umap/static/umap/locale/am_ET.js +81 -9
  60. umap/static/umap/locale/am_ET.json +81 -9
  61. umap/static/umap/locale/ar.js +81 -9
  62. umap/static/umap/locale/ar.json +81 -9
  63. umap/static/umap/locale/ast.js +81 -9
  64. umap/static/umap/locale/ast.json +81 -9
  65. umap/static/umap/locale/bg.js +81 -9
  66. umap/static/umap/locale/bg.json +81 -9
  67. umap/static/umap/locale/br.js +68 -29
  68. umap/static/umap/locale/br.json +68 -29
  69. umap/static/umap/locale/ca.js +88 -16
  70. umap/static/umap/locale/ca.json +88 -16
  71. umap/static/umap/locale/cs_CZ.js +81 -9
  72. umap/static/umap/locale/cs_CZ.json +81 -9
  73. umap/static/umap/locale/da.js +48 -9
  74. umap/static/umap/locale/da.json +48 -9
  75. umap/static/umap/locale/de.js +48 -9
  76. umap/static/umap/locale/de.json +48 -9
  77. umap/static/umap/locale/el.js +58 -13
  78. umap/static/umap/locale/el.json +58 -13
  79. umap/static/umap/locale/en.js +48 -9
  80. umap/static/umap/locale/en.json +48 -9
  81. umap/static/umap/locale/en_US.json +81 -9
  82. umap/static/umap/locale/es.js +48 -9
  83. umap/static/umap/locale/es.json +48 -9
  84. umap/static/umap/locale/et.js +81 -9
  85. umap/static/umap/locale/et.json +81 -9
  86. umap/static/umap/locale/eu.js +97 -25
  87. umap/static/umap/locale/eu.json +97 -25
  88. umap/static/umap/locale/fa_IR.js +81 -9
  89. umap/static/umap/locale/fa_IR.json +81 -9
  90. umap/static/umap/locale/fi.js +81 -9
  91. umap/static/umap/locale/fi.json +81 -9
  92. umap/static/umap/locale/fr.js +48 -9
  93. umap/static/umap/locale/fr.json +48 -9
  94. umap/static/umap/locale/gl.js +81 -9
  95. umap/static/umap/locale/gl.json +81 -9
  96. umap/static/umap/locale/he.js +81 -9
  97. umap/static/umap/locale/he.json +81 -9
  98. umap/static/umap/locale/hr.js +81 -9
  99. umap/static/umap/locale/hr.json +81 -9
  100. umap/static/umap/locale/hu.js +72 -27
  101. umap/static/umap/locale/hu.json +72 -27
  102. umap/static/umap/locale/id.js +81 -9
  103. umap/static/umap/locale/id.json +81 -9
  104. umap/static/umap/locale/is.js +81 -9
  105. umap/static/umap/locale/is.json +81 -9
  106. umap/static/umap/locale/it.js +48 -9
  107. umap/static/umap/locale/it.json +48 -9
  108. umap/static/umap/locale/ja.js +81 -9
  109. umap/static/umap/locale/ja.json +81 -9
  110. umap/static/umap/locale/ko.js +81 -9
  111. umap/static/umap/locale/ko.json +81 -9
  112. umap/static/umap/locale/lt.js +81 -9
  113. umap/static/umap/locale/lt.json +81 -9
  114. umap/static/umap/locale/ms.js +81 -9
  115. umap/static/umap/locale/ms.json +81 -9
  116. umap/static/umap/locale/nl.js +48 -9
  117. umap/static/umap/locale/nl.json +48 -9
  118. umap/static/umap/locale/no.js +81 -9
  119. umap/static/umap/locale/no.json +81 -9
  120. umap/static/umap/locale/pl.js +81 -9
  121. umap/static/umap/locale/pl.json +81 -9
  122. umap/static/umap/locale/pl_PL.json +81 -9
  123. umap/static/umap/locale/pt.js +81 -9
  124. umap/static/umap/locale/pt.json +81 -9
  125. umap/static/umap/locale/pt_BR.js +91 -19
  126. umap/static/umap/locale/pt_BR.json +91 -19
  127. umap/static/umap/locale/pt_PT.js +81 -9
  128. umap/static/umap/locale/pt_PT.json +81 -9
  129. umap/static/umap/locale/ro.js +81 -9
  130. umap/static/umap/locale/ro.json +81 -9
  131. umap/static/umap/locale/ru.js +81 -9
  132. umap/static/umap/locale/ru.json +81 -9
  133. umap/static/umap/locale/sk_SK.js +81 -9
  134. umap/static/umap/locale/sk_SK.json +81 -9
  135. umap/static/umap/locale/sl.js +81 -9
  136. umap/static/umap/locale/sl.json +81 -9
  137. umap/static/umap/locale/sr.js +81 -9
  138. umap/static/umap/locale/sr.json +81 -9
  139. umap/static/umap/locale/sv.js +81 -9
  140. umap/static/umap/locale/sv.json +81 -9
  141. umap/static/umap/locale/th_TH.js +81 -9
  142. umap/static/umap/locale/th_TH.json +81 -9
  143. umap/static/umap/locale/tr.js +81 -9
  144. umap/static/umap/locale/tr.json +81 -9
  145. umap/static/umap/locale/uk_UA.js +81 -9
  146. umap/static/umap/locale/uk_UA.json +81 -9
  147. umap/static/umap/locale/vi.js +81 -9
  148. umap/static/umap/locale/vi.json +81 -9
  149. umap/static/umap/locale/vi_VN.json +81 -9
  150. umap/static/umap/locale/zh.js +81 -9
  151. umap/static/umap/locale/zh.json +81 -9
  152. umap/static/umap/locale/zh_CN.json +81 -9
  153. umap/static/umap/locale/zh_TW.Big5.json +81 -9
  154. umap/static/umap/locale/zh_TW.js +98 -26
  155. umap/static/umap/locale/zh_TW.json +98 -26
  156. umap/static/umap/map.css +325 -102
  157. umap/static/umap/vars.css +1 -0
  158. umap/static/umap/vendors/betterknown/betterknown.mjs +287 -0
  159. umap/static/umap/vendors/editable/Leaflet.Editable.js +3 -1
  160. umap/static/umap/vendors/openrouteservice/ors-js-client.js +521 -0
  161. umap/static/umap/vendors/openrouteservice/ors-js-client.js.map +1 -0
  162. umap/static/umap/vendors/simple-elevation-chart/elevation.js +63 -0
  163. umap/static/umap/vendors/simple-elevation-chart/elevation.svg +8 -0
  164. umap/static/umap/vendors/snapdom/snapdom.min.mjs +3 -0
  165. umap/storage/fs.py +3 -2
  166. umap/storage/staticfiles.py +12 -0
  167. umap/templates/base.html +4 -1
  168. umap/templates/umap/css.html +0 -4
  169. umap/templates/umap/js.html +1 -3
  170. umap/tests/base.py +9 -1
  171. umap/tests/integration/test_basics.py +3 -1
  172. umap/tests/integration/test_conditional_rules.py +79 -37
  173. umap/tests/integration/test_datalayer.py +1 -1
  174. umap/tests/integration/test_draw_polygon.py +3 -5
  175. umap/tests/integration/test_draw_polyline.py +4 -6
  176. umap/tests/integration/test_draw_route.py +178 -0
  177. umap/tests/integration/test_edit_datalayer.py +1 -1
  178. umap/tests/integration/test_edit_map.py +1 -1
  179. umap/tests/integration/test_edit_marker.py +8 -8
  180. umap/tests/integration/test_edit_polygon.py +2 -2
  181. umap/tests/integration/test_export_map.py +84 -10
  182. umap/tests/integration/test_import.py +140 -0
  183. umap/tests/integration/test_map_preview.py +1 -1
  184. umap/tests/integration/test_optimistic_merge.py +72 -12
  185. umap/tests/integration/test_share.py +1 -1
  186. umap/tests/integration/test_tableeditor.py +10 -7
  187. umap/tests/integration/test_websocket_sync.py +4 -4
  188. umap/utils.py +37 -0
  189. umap/views.py +18 -2
  190. umap_project-3.3.0.dist-info/METADATA +76 -0
  191. {umap_project-3.1.2.dist-info → umap_project-3.3.0.dist-info}/RECORD +194 -188
  192. umap/static/umap/vendors/markercluster/MarkerCluster.Default.css +0 -60
  193. umap/static/umap/vendors/markercluster/MarkerCluster.css +0 -14
  194. umap/static/umap/vendors/markercluster/leaflet.markercluster.js +0 -2
  195. umap/static/umap/vendors/markercluster/leaflet.markercluster.js.map +0 -1
  196. umap_project-3.1.2.dist-info/METADATA +0 -68
  197. {umap_project-3.1.2.dist-info → umap_project-3.3.0.dist-info}/WHEEL +0 -0
  198. {umap_project-3.1.2.dist-info → umap_project-3.3.0.dist-info}/entry_points.txt +0 -0
  199. {umap_project-3.1.2.dist-info → umap_project-3.3.0.dist-info}/licenses/LICENSE +0 -0
@@ -7,229 +7,323 @@
7
7
  border: none;
8
8
  background-color: initial;
9
9
  }
10
+
10
11
  .icon-16 {
11
12
  height: 24px;
12
13
  line-height: 24px;
13
14
  width: 24px;
14
15
  --tile: -24px;
15
16
  }
17
+
16
18
  .icon-24 {
17
19
  background-image: url('../img/24.svg');
18
20
  --tile: -36px;
19
21
  height: 36px;
20
22
  width: 36px;
21
23
  }
22
- .icon + span {
24
+
25
+ .icon+span {
23
26
  margin-inline-start: 5px;
24
27
  margin-inline-end: 5px;
25
28
  }
29
+
26
30
  html[dir="rtl"] .icon {
27
- transform: scaleX(-1);
31
+ transform: scaleX(-1);
28
32
  }
33
+
29
34
  .icon-block {
30
35
  display: block;
31
36
  float: inline-start;
32
37
  margin-inline-end: 10px;
33
38
  }
34
- .icon-block + span {
39
+
40
+ .icon-block+span {
35
41
  margin-inline-start: 0;
36
42
  }
43
+
37
44
  .icon-16.icon-white,
38
45
  .dark .icon-16 {
39
46
  background-image: url('../img/16-white.svg');
40
47
  }
48
+
41
49
  .icon-24.icon-white,
42
50
  .dark .icon-24 {
43
51
  background-image: url('../img/24-white.svg');
44
52
  }
53
+
45
54
  .icon-16.icon-black,
46
55
  .icon-16 {
47
56
  background-image: url('../img/16.svg');
48
57
  }
58
+
49
59
  .icon-24.icon-black,
50
60
  .icon-24 {
51
61
  background-image: url('../img/24.svg');
52
62
  }
63
+
53
64
  .icon-add {
54
65
  background-position: var(--tile) var(--tile);
55
66
  }
67
+
56
68
  .icon-back {
57
69
  background-position: calc(var(--tile) * 5) calc(var(--tile) * 6);
58
70
  }
71
+
59
72
  .icon-backup {
60
73
  background-position: var(--tile) calc(var(--tile) * 6);
61
74
  }
75
+
62
76
  .icon-caption {
63
77
  background-position: calc(var(--tile) * 4) var(--tile);
64
78
  }
79
+
65
80
  .icon-center {
66
81
  background-position: calc(var(--tile) * 4) calc(var(--tile) * 2);
67
82
  }
83
+
68
84
  .icon-clone {
69
85
  background-position: calc(var(--tile) * 7) calc(var(--tile) * 2);
70
86
  }
87
+
71
88
  .icon-close {
72
89
  background-position: var(--tile) 0px;
73
90
  }
91
+
74
92
  .icon-continue-line {
75
93
  background-position: calc(var(--tile) * 4) 0;
76
94
  }
95
+
77
96
  .icon-copy {
78
97
  background-position: calc(var(--tile) * 4) calc(var(--tile) * 7);
79
98
  }
99
+
80
100
  .icon-delete {
81
101
  background-position: calc(var(--tile) * 5) calc(var(--tile) * 2);
82
102
  }
103
+
83
104
  .icon-delete-shape {
84
105
  background-position: calc(var(--tile) * 4) calc(var(--tile) * 3);
85
106
  }
107
+
86
108
  .icon-delete-vertex {
87
109
  background-position: calc(var(--tile) * 5) calc(var(--tile) * 4);
88
110
  }
111
+
89
112
  .readonly .icon-delete,
90
113
  .off .icon-delete {
91
114
  background-position: calc(var(--tile) * 5) calc(var(--tile) * 5);
92
115
  }
116
+
93
117
  .icon-download {
94
118
  background-position: 0 calc(var(--tile) * 6);
95
119
  }
120
+
96
121
  .icon-drag {
97
122
  background-position: calc(var(--tile) * 3) calc(var(--tile) * 3);
98
123
  cursor: move;
99
124
  float: inline-end;
125
+ visibility: hidden;
100
126
  }
127
+
128
+ .orderable:hover .icon-drag {
129
+ visibility: visible;
130
+ }
131
+
101
132
  .icon-empty {
102
133
  background-position: calc(var(--tile) * 7) calc(var(--tile) * 3);
103
134
  }
135
+
104
136
  .icon-eye {
105
137
  background-position: calc(var(--tile) * 2) var(--tile);
106
138
  }
139
+
107
140
  .off .icon-eye {
108
141
  background-position: calc(var(--tile) * 3) var(--tile);
109
142
  }
143
+
110
144
  .icon-edit {
111
145
  background-position: calc(var(--tile) * 2) calc(var(--tile) * 2);
112
146
  }
147
+
113
148
  .off .icon-edit {
114
149
  background-position: calc(var(--tile) * 2) calc(var(--tile) * 3);
115
150
  }
151
+
116
152
  .icon-external-link {
117
153
  background-position: calc(var(--tile) * 6) calc(var(--tile) * 7);
118
154
  }
155
+
119
156
  .icon-extract-shape {
120
157
  background-position: calc(var(--tile) * 5) 0;
121
158
  }
159
+
122
160
  .icon-filters {
123
161
  background-position: 0px var(--tile);
124
162
  }
163
+
125
164
  .icon-forward {
126
165
  background-position: calc(var(--tile) * 6) calc(var(--tile) * 6);
127
166
  }
167
+
128
168
  .icon-help {
129
169
  background-position: 0 0;
130
170
  }
171
+
131
172
  .icon-hole {
132
173
  background-position: calc(var(--tile) * 3) calc(var(--tile) * 4);
133
174
  }
175
+
134
176
  .icon-key {
135
177
  background-position: calc(var(--tile) * 6) calc(var(--tile) * 5);
136
178
  }
179
+
137
180
  .icon-layers {
138
181
  background-position: calc(var(--tile) * 4) calc(var(--tile) * 5);
139
182
  }
183
+
140
184
  .icon-list {
141
185
  background-position: var(--tile) calc(var(--tile) * 4);
142
186
  }
187
+
143
188
  .icon-magic {
144
189
  background-position: calc(var(--tile) * 7) 0;
145
190
  }
191
+
146
192
  .icon-marker {
147
193
  background-position: calc(var(--tile) * 7) var(--tile);
148
194
  }
195
+
149
196
  .icon-marker-plus {
150
197
  background-position: calc(var(--tile) * 8) var(--tile);
151
198
  }
199
+
200
+ .icon-merge {
201
+ background-position: calc(var(--tile) * 4) calc(var(--tile) * 4);
202
+ }
203
+
204
+ .icon-mountain {
205
+ background-position: calc(var(--tile) * 8) 0;
206
+ }
207
+
152
208
  .icon-multipolygon {
153
209
  background-position: calc(var(--tile) * 7) calc(var(--tile) * 5);
154
210
  }
211
+
155
212
  .icon-multiline {
156
213
  background-position: calc(var(--tile) * 7) calc(var(--tile) * 7);
157
214
  }
215
+
158
216
  .icon-peers {
159
217
  background-position: calc(var(--tile) * 3) calc(var(--tile) * 2);
160
218
  }
219
+
161
220
  .icon-polygon {
162
221
  background-position: calc(var(--tile) * 7) calc(var(--tile) * 4);
163
222
  }
223
+
164
224
  .icon-polygon-plus {
165
225
  background-position: calc(var(--tile) * 8) calc(var(--tile) * 4);
166
226
  }
227
+
167
228
  .icon-polyline {
168
229
  background-position: calc(var(--tile) * 7) calc(var(--tile) * 6);
169
230
  }
231
+
170
232
  .icon-profile {
171
233
  background-position: 0 calc(var(--tile) * 4);
172
234
  }
235
+
236
+ .icon-print {
237
+ background-position: calc(var(--tile) * 1) calc(var(--tile) * 3);
238
+ }
239
+
173
240
  .icon-redo {
174
241
  background-position: calc(var(--tile) * 3) calc(var(--tile) * 7);
175
242
  }
243
+
176
244
  .icon-resize {
177
245
  background-position: calc(var(--tile) * 3) calc(var(--tile) * 6);
178
246
  }
247
+
179
248
  .icon-undo,
180
249
  .icon-restore {
181
250
  background-position: calc(var(--tile) * 2) calc(var(--tile) * 7);
182
251
  }
252
+
183
253
  .expanded .icon-resize {
184
254
  background-position: calc(var(--tile) * 2) calc(var(--tile) * 6);
185
255
  }
256
+
257
+ .icon-route {
258
+ background-position: calc(var(--tile) * 8) calc(var(--tile) * 6);
259
+ }
260
+
186
261
  .icon-save {
187
262
  background-position: calc(var(--tile) * 6) var(--tile);
188
263
  }
264
+
189
265
  /* FIXME move to a 16-disabled.svg sprite ? */
190
266
  .icon-save-disabled {
191
267
  background-position: calc(var(--tile) * 6) 0;
192
268
  }
269
+
193
270
  .icon-search {
194
271
  background-position: var(--tile) calc(var(--tile) * 5);
195
272
  }
273
+
196
274
  .icon-settings {
197
275
  background-position: var(--tile) calc(var(--tile) * 4);
198
276
  }
277
+
199
278
  .icon-share {
200
279
  background-position: 0px calc(var(--tile) * 5);
201
280
  }
281
+
202
282
  .icon-split-line {
203
283
  background-position: calc(var(--tile) * 5) var(--tile);
204
284
  }
285
+
205
286
  .icon-star {
206
287
  background-position: var(--tile) calc(var(--tile) * 7);
207
288
  }
289
+
208
290
  .icon-starred {
209
291
  background-position: 0 calc(var(--tile) * 7);
210
292
  }
293
+
211
294
  .icon-table {
212
295
  background-position: calc(var(--tile) * 2) 0px;
213
296
  }
297
+
214
298
  .readonly .icon-table,
215
299
  .off .icon-table {
216
300
  background-position: calc(var(--tile) * 3) 0px;
217
301
  }
302
+
218
303
  .remotelayer .icon-table {
219
304
  display: none !important;
220
305
  }
306
+
221
307
  .icon-template {
222
308
  background-position: calc(var(--tile) * 5) calc(var(--tile) * 7);
223
309
  }
310
+
224
311
  .icon-tilelayer {
225
312
  background-position: calc(var(--tile) * 4) calc(var(--tile) * 6);
226
313
  }
314
+
315
+ .icon-transfer-shape {
316
+ background-position: calc(var(--tile) * 5) calc(var(--tile) * 3);
317
+ }
318
+
227
319
  .icon-upload {
228
320
  background-position: calc(var(--tile) * 6) calc(var(--tile) * 4);
229
321
  }
322
+
230
323
  .icon-zoom {
231
324
  background-position: 0px calc(var(--tile) * 2);
232
325
  }
326
+
233
327
  .off .icon-zoom {
234
328
  background-position: var(--tile) calc(var(--tile) * 2);
235
329
  }
@@ -15,14 +15,17 @@
15
15
  box-sizing: border-box;
16
16
  counter-reset: step;
17
17
  }
18
+
18
19
  .panel.dark {
19
20
  border: 1px solid #222;
20
21
  }
22
+
21
23
  .panel.full {
22
24
  width: initial;
23
25
  right: -100%;
24
26
  z-index: calc(var(--zindex-panels) + 1);
25
27
  }
28
+
26
29
  .panel.full.on {
27
30
  visibility: visible;
28
31
  right: calc(var(--panel-gutter) * 2 + var(--control-size));
@@ -30,29 +33,45 @@
30
33
  height: initial;
31
34
  max-height: initial;
32
35
  }
36
+
33
37
  .panel .umap-popup-content img {
34
38
  /* See https://github.com/Leaflet/Leaflet/commit/61d746818b99d362108545c151a27f09d60960ee#commitcomment-6061847 */
35
39
  max-width: 99% !important;
36
40
  }
41
+
37
42
  .panel .umap-popup-content {
38
43
  max-height: inherit;
39
44
  }
45
+
40
46
  .panel .body {
41
- height: calc(100% - var(--panel-header-height)); /* Minus size of toolbox */
47
+ /* Minus size of toolbox */
48
+ height: calc(100% - var(--panel-header-height));
42
49
  padding: var(--panel-gutter);
43
50
  }
51
+
44
52
  .panel h3 {
45
53
  display: flex;
46
54
  align-items: center;
47
55
  }
56
+
48
57
  .panel .counter::before {
49
58
  counter-increment: step;
50
59
  content: counter(step) ". ";
51
60
  }
61
+
52
62
  .panel .counter {
53
63
  display: block;
54
64
  margin-top: var(--panel-gutter);
55
65
  }
66
+
67
+ .panel.dark details[open] {
68
+ border-left: 2px solid var(--color-accent);
69
+ }
70
+
71
+ .panel.dark details[open] summary {
72
+ background-color: var(--color-veryDarkGray);
73
+ }
74
+
56
75
  @media all and (orientation:landscape) {
57
76
  .panel {
58
77
  top: var(--current-header-height);
@@ -60,28 +79,35 @@
60
79
  width: var(--panel-width);
61
80
  max-width: calc(100% - var(--panel-gutter) * 2 - var(--control-size))
62
81
  }
82
+
63
83
  .panel.condensed {
64
84
  max-height: calc(min(500px, 100% - var(--current-header-height) - var(--current-footer-height) - var(--panel-gutter) * 2));
65
85
  bottom: initial;
66
86
  }
87
+
67
88
  .panel.right {
68
89
  right: calc(0px - var(--panel-width));
69
90
  }
91
+
70
92
  .panel.left {
71
93
  left: calc(0px - var(--panel-width));
72
94
  }
95
+
73
96
  .panel.left.on {
74
97
  left: calc(var(--panel-gutter) * 2 + var(--control-size));
75
98
  visibility: visible;
76
99
  }
100
+
77
101
  .panel.right.on {
78
102
  right: calc(var(--panel-gutter) * 2 + var(--control-size));
79
103
  visibility: visible;
80
104
  }
105
+
81
106
  .panel-left-on .panel.full {
82
107
  left: calc(var(--panel-gutter) * 3 + var(--control-size) + var(--panel-width));
83
108
  }
84
109
  }
110
+
85
111
  @media all and (orientation:portrait) {
86
112
  .panel {
87
113
  height: 50%;
@@ -90,18 +116,22 @@
90
116
  bottom: var(--current-footer-height);
91
117
  right: -100%;
92
118
  }
119
+
93
120
  .panel.left {
94
121
  left: -100%;
95
122
  }
123
+
96
124
  .panel.on {
97
125
  right: 0;
98
126
  left: 0;
99
127
  visibility: visible;
100
128
  }
129
+
101
130
  .panel.expanded {
102
131
  height: calc(100% - var(--current-footer-height));
103
132
  max-height: calc(100% - var(--current-footer-height));
104
133
  }
134
+
105
135
  .umap-caption-bar-enabled .panel {
106
136
  border-bottom-left-radius: 0;
107
137
  border-bottom-right-radius: 0;
@@ -56,9 +56,6 @@
56
56
  <path id="path4349-2-2-3-3" d="m174.01 986.33-1.9668 0.36719 2.4629 13.188 1.9648-0.36719z" color="#000000" color-rendering="auto" fill="#f2f2f2" fill-rule="evenodd" image-rendering="auto" shape-rendering="auto" solid-color="#000000" stroke="#999" stroke-width=".25" style="isolation:auto;mix-blend-mode:normal;text-decoration-color:#000000;text-decoration-line:none;text-decoration-style:solid;text-indent:0;text-transform:none;white-space:normal"/>
57
57
  <g id="g4621"></g>
58
58
  </g>
59
- <path id="path4349-2-2-9-3-8-3" d="m111.29 865.52-1.4668 13.336 1.9883 0.21875 1.4668-13.336z" color="#000000" color-rendering="auto" fill="#f2f2f2" fill-rule="evenodd" image-rendering="auto" shape-rendering="auto" solid-color="#000000" stroke="#999" stroke-width=".25" style="isolation:auto;mix-blend-mode:normal;text-decoration-color:#000000;text-decoration-line:none;text-decoration-style:solid;text-indent:0;text-transform:none;white-space:normal"/>
60
- <path id="path4349-2-2-3-3-8" d="m104.35 865.65-1.9668 0.36719 2.4629 13.188 1.9648-0.36719z" color="#000000" color-rendering="auto" fill="#f2f2f2" fill-rule="evenodd" image-rendering="auto" shape-rendering="auto" solid-color="#000000" stroke="#999" stroke-width=".25" style="isolation:auto;mix-blend-mode:normal;text-decoration-color:#000000;text-decoration-line:none;text-decoration-style:solid;text-indent:0;text-transform:none;white-space:normal"/>
61
- <path id="path4349-2-2-9-3-8-7" d="m107.63 913.08-1.4668 13.336 1.9883 0.2188 1.4668-13.336z" color="#000000" color-rendering="auto" fill="#f2f2f2" fill-rule="evenodd" image-rendering="auto" shape-rendering="auto" solid-color="#000000" stroke="#999" stroke-width=".25" style="isolation:auto;mix-blend-mode:normal;text-decoration-color:#000000;text-decoration-line:none;text-decoration-style:solid;text-indent:0;text-transform:none;white-space:normal"/>
62
59
  <path id="rect4918" d="m126.54 912.3-1.3223 1.1269 4.666 5.4766v2.7305l-3.4473 4.8613 1.3086 0.9297 3.752-5.293h2.3867v-4h-2.375z" fill="#f2f2f2" stroke="#999" stroke-linecap="round" stroke-linejoin="round" stroke-width=".25"/>
63
60
  <g id="g4621-0-6" transform="translate(-45.69 -70.017)" fill="#4d4d4d">
64
61
  <g id="g4400-8-39-2-3-1-1-8" transform="matrix(.57449 0 0 .57449 77.91 445.57)" fill-rule="evenodd" stroke="#4d4d4d" stroke-width="4.2244">
@@ -69,31 +66,12 @@
69
66
  <path id="path4353-1-6-1-3-3-9" transform="matrix(1.9 0 0 1.9 -245.02 606.04)" d="m222.11 179.64-1.0488 1.0488 1.582 1.5801-1.582 1.582 1.0488 1.0469 1.582-1.5801 1.5801 1.5801 1.0488-1.0469-1.582-1.582 1.582-1.5801-1.0488-1.0488-1.5801 1.5801z" color="#000000" color-rendering="auto" fill="#f2f2f2" fill-rule="evenodd" image-rendering="auto" shape-rendering="auto" solid-color="#000000" stroke="none" style="isolation:auto;mix-blend-mode:normal;text-decoration-color:#000000;text-decoration-line:none;text-decoration-style:solid;text-indent:0;text-transform:none;white-space:normal"/>
70
67
  </g>
71
68
  </g>
72
- <path id="path4873" d="m108.15 816.36v3.8267h3.8544v-3.8267zm0.51755 4.3517-1.2459 2.3132 1.1669 0.61848 1.244-2.3151zm-1.8689 3.4717-0.27666 0.51571h-2.426v2.2441l-4.0916 4.064 1.3626 1.3528 3.862-3.8342h2.7214v-3.6959l0.015-0.028-0.015-8e-3v-0.0953h-0.17879l-0.97303-0.51571z" color="#000000" color-rendering="auto" fill="#f2f2f2" fill-rule="evenodd" image-rendering="auto" shape-rendering="auto" solid-color="#000000" stroke="#999" stroke-width=".25" style="isolation:auto;mix-blend-mode:normal;text-decoration-color:#000000;text-decoration-line:none;text-decoration-style:solid;text-indent:0;text-transform:none;white-space:normal"/>
73
69
  <g id="g4244" transform="matrix(.51357 -.54309 .54309 .51357 -590.02 601.73)">
74
70
  <path id="path4240" transform="matrix(.91922 .97205 -.97205 .91922 152.14 647.93)" d="m220.49 133.52c-0.33017 0.01-0.66239 0.0456-0.99414 0.10742-2.2249 0.41425-4.0267 1.9575-4.832 4.0098l-0.87696-1.8164a0.50005 0.50005 0 0 0-0.83398-0.11328 0.50005 0.50005 0 0 0-0.0664 0.54883l1.459 3.0195a0.50005 0.50005 0 0 0 0.60742 0.25586l2.8438-0.94532a0.50028 0.50028 0 1 0-0.31641-0.94922l-2.002 0.66797c0.61312-1.8902 2.2073-3.3241 4.2012-3.6953 2.2474-0.41845 4.5146 0.59912 5.6953 2.5566 1.1807 1.9575 1.022 4.4377-0.39648 6.2305-1.4185 1.7928-3.7961 2.5154-5.9727 1.8164a0.50005 0.50005 0 1 0-0.30469 0.95117c2.5704 0.82539 5.3874-0.0294 7.0625-2.1465 0.4188-0.52924 0.74532-1.1114 0.97657-1.7207 0.69373-1.828 0.53599-3.9147-0.50977-5.6484-1.22-2.0227-3.4291-3.1977-5.7402-3.1289z" color="#000000" color-rendering="auto" fill="#f2f2f2" image-rendering="auto" shape-rendering="auto" solid-color="#000000" stroke="#999" stroke-linecap="round" stroke-linejoin="round" stroke-width=".25" style="isolation:auto;mix-blend-mode:normal;text-decoration-color:#000000;text-decoration-line:none;text-decoration-style:solid;text-indent:0;text-transform:none;white-space:normal"/>
75
71
  </g>
76
72
  <g id="g4244-6" transform="matrix(-.51357 -.54309 -.54309 .51357 734.02 601.73)">
77
73
  <path id="path4240-7" transform="matrix(.91922 .97205 -.97205 .91922 152.14 647.93)" d="m220.49 133.52c-0.33017 0.01-0.66239 0.0456-0.99414 0.10742-2.2249 0.41425-4.0267 1.9575-4.832 4.0098l-0.87696-1.8164a0.50005 0.50005 0 0 0-0.83398-0.11328 0.50005 0.50005 0 0 0-0.0664 0.54883l1.459 3.0195a0.50005 0.50005 0 0 0 0.60742 0.25586l2.8438-0.94532a0.50028 0.50028 0 1 0-0.31641-0.94922l-2.002 0.66797c0.61312-1.8902 2.2073-3.3241 4.2012-3.6953 2.2474-0.41845 4.5146 0.59912 5.6953 2.5566 1.1807 1.9575 1.022 4.4377-0.39648 6.2305-1.4185 1.7928-3.7961 2.5154-5.9727 1.8164a0.50005 0.50005 0 1 0-0.30469 0.95117c2.5704 0.82539 5.3874-0.0294 7.0625-2.1465 0.4188-0.52924 0.74532-1.1114 0.97657-1.7207 0.69373-1.828 0.53599-3.9147-0.50977-5.6484-1.22-2.0227-3.4291-3.1977-5.7402-3.1289z" color="#000000" color-rendering="auto" fill="#f2f2f2" image-rendering="auto" shape-rendering="auto" solid-color="#000000" stroke="#999" stroke-linecap="round" stroke-linejoin="round" stroke-width=".25" style="isolation:auto;mix-blend-mode:normal;text-decoration-color:#000000;text-decoration-line:none;text-decoration-style:solid;text-indent:0;text-transform:none;white-space:normal"/>
78
74
  </g>
79
- <g id="delete-vertex" transform="translate(-90,-64)">
80
- <path id="path4349-2-2-9-3-8-3-5" transform="translate(0 852.36)" d="m227.55 53.105-6.0547 3.0273h-3.4414v3.5176l-2.9512 5.9023 1.7891 0.89453 3.1562-6.3145h2.0059v-2.043l6.3906-3.1953z" color="#000000" color-rendering="auto" fill="#f2f2f2" image-rendering="auto" shape-rendering="auto" solid-color="#000000" stroke="#999" stroke-width=".25" style="isolation:auto;mix-blend-mode:normal;text-decoration-color:#000000;text-decoration-line:none;text-decoration-style:solid;text-indent:0;text-transform:none;white-space:normal"/>
81
- <path id="path4353-1-6-1-3-5-1-9" d="m217 907.36 6 6" fill="none" stroke="#fff" stroke-width="2.482"/>
82
- <path id="path4353-1-6-1-3-5-1" d="m217 907.36 6 6" fill="none" stroke="#4d4d4d" stroke-width="1.4822"/>
83
- </g>
84
- <g id="split-line">
85
- <path id="path4349-2-2-9-3-8-9" d="m135.12 817.45-1.4688 13.336 1.9883 0.21875 1.4668-13.336z" color="#000000" color-rendering="auto" fill="#f2f2f2" image-rendering="auto" shape-rendering="auto" solid-color="#000000" stroke="#999" stroke-width=".25" style="isolation:auto;mix-blend-mode:normal;text-decoration-color:#000000;text-decoration-line:none;text-decoration-style:solid;text-indent:0;text-transform:none;white-space:normal"/>
86
- <path id="path4349-2-2-3-3-3" d="m129.66 830.95-2.4614-13.189" fill="none" stroke="#808080" stroke-width="2"/>
87
- </g>
88
- <g id="g4621-0-6-2" transform="translate(-73.385 -72.287)" fill="#4d4d4d">
89
- <g id="g4400-8-39-2-3-1-1-8-9" transform="matrix(.57449 0 0 .57449 77.91 445.57)" fill-rule="evenodd" stroke="#4d4d4d" stroke-width="4.2244">
90
- <path id="path4353-1-6-1-3-6-5-5-7" d="m175.81 948.25 8.3885 8.3497"/>
91
- <path id="path4355-9-7-1-7-3-31-4-6" d="m176 956.36 8.1554-8.1943"/>
92
- </g>
93
- <g id="g4400-8-39-2-3-3-7-9" transform="matrix(.52631 0 0 .52631 86.649 491.41)" stroke="#000" stroke-width="2.8163">
94
- <path id="path4353-1-6-1-3-3-9-1" transform="matrix(1.9 0 0 1.9 -245.02 606.04)" d="m222.11 179.64-1.0488 1.0488 1.582 1.5801-1.582 1.582 1.0488 1.0469 1.582-1.5801 1.5801 1.5801 1.0488-1.0469-1.582-1.582 1.582-1.5801-1.0488-1.0488-1.5801 1.5801z" color="#000000" color-rendering="auto" fill="#f2f2f2" fill-rule="evenodd" image-rendering="auto" shape-rendering="auto" solid-color="#000000" stroke="none" style="isolation:auto;mix-blend-mode:normal;text-decoration-color:#000000;text-decoration-line:none;text-decoration-style:solid;text-indent:0;text-transform:none;white-space:normal"/>
95
- </g>
96
- </g>
97
75
  <g id="g4621-0-6-9" transform="translate(-70.311 -96.405)" fill="#4d4d4d">
98
76
  <g id="g4400-8-39-2-3-1-1-8-0" transform="matrix(.57449 0 0 .57449 77.91 445.57)" fill-rule="evenodd" stroke="#4d4d4d" stroke-width="4.2244">
99
77
  <path id="path4353-1-6-1-3-6-5-5-4" d="m175.81 948.25 8.3885 8.3497"/>
@@ -103,24 +81,6 @@
103
81
  <path id="path4353-1-6-1-3-3-9-4" transform="matrix(1.9 0 0 1.9 -245.02 606.04)" d="m222.11 179.64-1.0488 1.0488 1.582 1.5801-1.582 1.582 1.0488 1.0469 1.582-1.5801 1.5801 1.5801 1.0488-1.0469-1.582-1.582 1.582-1.5801-1.0488-1.0488-1.5801 1.5801z" color="#000000" color-rendering="auto" fill="#f2f2f2" fill-rule="evenodd" image-rendering="auto" shape-rendering="auto" solid-color="#000000" stroke="none" style="isolation:auto;mix-blend-mode:normal;text-decoration-color:#000000;text-decoration-line:none;text-decoration-style:solid;text-indent:0;text-transform:none;white-space:normal"/>
104
82
  </g>
105
83
  </g>
106
- <g id="g4621-0-6-0" transform="translate(-69.564 -120.09)" fill="#4d4d4d">
107
- <g id="g4400-8-39-2-3-1-1-8-2" transform="matrix(.57449 0 0 .57449 77.91 445.57)" fill-rule="evenodd" stroke="#4d4d4d" stroke-width="4.2244">
108
- <path id="path4353-1-6-1-3-6-5-5-5" d="m175.81 948.25 8.3885 8.3497"/>
109
- <path id="path4355-9-7-1-7-3-31-4-69" d="m176 956.36 8.1554-8.1943"/>
110
- </g>
111
- <g id="g4400-8-39-2-3-3-7-2" transform="matrix(.52631 0 0 .52631 86.649 491.41)" stroke="#000" stroke-width="2.8163">
112
- <path id="path4353-1-6-1-3-3-9-8" transform="matrix(1.9 0 0 1.9 -245.02 606.04)" d="m222.11 179.64-1.0488 1.0488 1.582 1.5801-1.582 1.582 1.0488 1.0469 1.582-1.5801 1.5801 1.5801 1.0488-1.0469-1.582-1.582 1.582-1.5801-1.0488-1.0488-1.5801 1.5801z" color="#000000" color-rendering="auto" fill="#f2f2f2" fill-rule="evenodd" image-rendering="auto" shape-rendering="auto" solid-color="#000000" stroke="none" style="isolation:auto;mix-blend-mode:normal;text-decoration-color:#000000;text-decoration-line:none;text-decoration-style:solid;text-indent:0;text-transform:none;white-space:normal"/>
113
- </g>
114
- </g>
115
- <g id="g4621-0-6-5" transform="translate(-76.593 -120.17)" fill="#4d4d4d">
116
- <g id="g4400-8-39-2-3-1-1-8-6" transform="matrix(.57449 0 0 .57449 77.91 445.57)" fill-rule="evenodd" stroke="#4d4d4d" stroke-width="4.2244">
117
- <path id="path4353-1-6-1-3-6-5-5-2" d="m175.81 948.25 8.3885 8.3497"/>
118
- <path id="path4355-9-7-1-7-3-31-4-0" d="m176 956.36 8.1554-8.1943"/>
119
- </g>
120
- <g id="g4400-8-39-2-3-3-7-0" transform="matrix(.52631 0 0 .52631 86.649 491.41)" stroke="#000" stroke-width="2.8163">
121
- <path id="path4353-1-6-1-3-3-9-6" transform="matrix(1.9 0 0 1.9 -245.02 606.04)" d="m222.11 179.64-1.0488 1.0488 1.582 1.5801-1.582 1.582 1.0488 1.0469 1.582-1.5801 1.5801 1.5801 1.0488-1.0469-1.582-1.582 1.582-1.5801-1.0488-1.0488-1.5801 1.5801z" color="#000000" color-rendering="auto" fill="#f2f2f2" fill-rule="evenodd" image-rendering="auto" shape-rendering="auto" solid-color="#000000" stroke="none" style="isolation:auto;mix-blend-mode:normal;text-decoration-color:#000000;text-decoration-line:none;text-decoration-style:solid;text-indent:0;text-transform:none;white-space:normal"/>
122
- </g>
123
- </g>
124
84
  <rect id="rect4237" x="77" y="889.36" width="2" height="2" fill="#f2f2f2"/>
125
85
  <rect id="rect4239" x="81" y="889.36" width="2" height="2" fill="#f2f2f2"/>
126
86
  <rect id="rect4241" x="85" y="889.36" width="2" height="2" fill="#f2f2f2"/>
@@ -235,5 +195,26 @@
235
195
  <path id="path1-5-9" d="m18 14v5a2 2 0 0 1-2 2h-11a2 2 0 0 1-2-2v-11c0-1.1 0.9-2 2-2h5m5-3h6v6m-11 5 10.2-10.2" stroke="#8cdcd9" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.8"/>
236
196
  </g>
237
197
  <path id="path1-6-5" d="m140 990.81v7.7786c0 0.42956-0.35816 0.77777-0.8 0.77777h-6.4v-8.5563zm-8.8 4.6667v3.8897h-6.4c-0.44182 0-0.8-0.34821-0.8-0.77777v-3.1119zm0-10.11v8.5548h-7.2v-7.777c0-0.42956 0.35818-0.77778 0.8-0.77778zm8 0c0.44185 0 0.80001 0.34822 0.80001 0.77778v3.1103h-7.2v-3.8881z" fill="#f2f2f2"/>
198
+ <path id="path1-35" d="m112 820.36c-2.2093 0-4 1.7907-4 4 0 2.2093 1.7907 4 4 4s4-1.7907 4-4c0-2.2093-1.7907-4-4-4zm-0.66666 1.3333h1.3333v2h2v1.3333h-2v2h-1.3333v-2h-2v-1.3333h2z" fill="#f2f2f2" stroke="#aaa" stroke-width=".25"/>
199
+ <path id="path2-62" d="m102 822.36c-1.105 0-2 0.895-2 2s0.895 2 2 2 2-0.895 2-2-0.895-2-2-2z" fill="#f2f2f2" stroke="#aaa" stroke-width=".25"/>
200
+ <path id="path1-1" d="m105 823.36v2h2v-2z" fill="#f2f2f2" stroke="#aaa" stroke-width=".25"/>
201
+ <path id="path1-9-6" d="m126 843.36c-1 0-2 1-2 2v2h3l2 1-2 1h-3v2c0 1 1 2 2 2h1c2 0 2.487-0.974 3-2l1-2 9-5s0-1-2-1l-7.031 3.906-0.969-1.906c-0.494-0.988-1-2-3-2zm0 1h2l1 2h-4v-1c0-1.013 1-1 1-1zm8.094 4.719-2 1 5.906 3.281c2 0 2-1 2-1zm-9.094 1.281h4l-1 2h-2s-1 0-1-1z" fill="#f2f2f2" stroke="#999" stroke-width=".25"/>
202
+ <g id="extract" transform="translate(0,-1)" fill="#f2f2f2" stroke="#999" stroke-width=".25">
203
+ <path id="path1-62" d="m130.41 820.36v1.414l1.414 1.414-1.547 1.548c0.295 0.142 0.596 0.33 0.84 0.574 0.252 0.251 0.432 0.536 0.574 0.84l1.548-1.547 1.414 1.414h1.414v-5.657z"/>
204
+ <path id="path2-61" d="m129 825.42c-1.105 0-2 0.896-2 2 0 1.105 0.895 2 2 2s2-0.895 2-2c0-1.104-0.895-2-2-2z"/>
205
+ </g>
206
+ <path id="path10" d="m108.6 915.36-2.4238 2.4238 0.84766 0.84961 0.97656-0.97656v3.9512h-4v4.5996h1.1992v-3.3984h6.8008v3.3984h1.1992v-4.5996h-4v-3.9512l0.97656 0.97656 0.84766-0.84961z" fill="#f2f2f2" fill-rule="evenodd" stop-color="#000000" stroke="#999" stroke-width=".25"/>
207
+ <g id="path4349-2-2-9-3-8-5" transform="translate(1.2058)" fill="#f2f2f2" fill-rule="evenodd" stroke="#999" stroke-opacity=".91765" stroke-width=".25">
208
+ <path id="path12" d="m135.89 902.81 1.4677-13.336" stop-color="#000000"/>
209
+ <path id="path13" d="m136.36 889.36-1.4688 13.336 1.9883 0.21875 1.4668-13.336z" stop-color="#000000"/>
210
+ </g>
211
+ <g id="path4349-2-2-3-3-3" transform="translate(-1.0154)" fill="#f2f2f2" fill-rule="evenodd" stroke="#999" stroke-opacity=".91765" stroke-width=".25">
212
+ <path id="path14" d="m128.44 902.94-2.4614-13.189" stop-color="#000000"/>
213
+ <path id="path15" d="m126.97 889.57-1.9668 0.36719 2.4609 13.188 1.9668-0.36719z" stop-color="#000000"/>
214
+ </g>
215
+ <g id="path4353-1-6-1-3-7" transform="matrix(.37216 -.37216 .37216 .37216 -289.48 608.42)" fill="#f2f2f2" fill-rule="evenodd" stroke="#999" stroke-opacity=".91765" stroke-width=".475">
216
+ <path id="path20" d="m176 948.36 8 8" stop-color="#000000"/>
217
+ <path id="path21" d="m183 947.37-3.0045 3.0046-3.0019-3.0019-1.9917 1.9864 3.0046 3.0045-3.0072 3.0072 1.9943 1.989 3.0045-3.0046 3.0046 3.0046 1.989-1.989-3.0045-3.0045 3.0045-3.0046-1.9917-1.9917z" stop-color="#000000"/>
218
+ </g>
238
219
  </g>
239
220
  </svg>