umap-project 2.8.2__py3-none-any.whl → 2.9.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 (260) hide show
  1. umap/__init__.py +1 -1
  2. umap/admin.py +15 -2
  3. umap/asgi.py +12 -7
  4. umap/context_processors.py +1 -0
  5. umap/locale/br/LC_MESSAGES/django.mo +0 -0
  6. umap/locale/br/LC_MESSAGES/django.po +111 -67
  7. umap/locale/cs_CZ/LC_MESSAGES/django.mo +0 -0
  8. umap/locale/cs_CZ/LC_MESSAGES/django.po +110 -66
  9. umap/locale/el/LC_MESSAGES/django.mo +0 -0
  10. umap/locale/el/LC_MESSAGES/django.po +129 -85
  11. umap/locale/en/LC_MESSAGES/django.po +103 -60
  12. umap/locale/es/LC_MESSAGES/django.mo +0 -0
  13. umap/locale/es/LC_MESSAGES/django.po +114 -69
  14. umap/locale/fr/LC_MESSAGES/django.mo +0 -0
  15. umap/locale/fr/LC_MESSAGES/django.po +105 -61
  16. umap/locale/gl/LC_MESSAGES/django.mo +0 -0
  17. umap/locale/gl/LC_MESSAGES/django.po +216 -171
  18. umap/locale/it/LC_MESSAGES/django.mo +0 -0
  19. umap/locale/it/LC_MESSAGES/django.po +142 -98
  20. umap/locale/nl/LC_MESSAGES/django.mo +0 -0
  21. umap/locale/nl/LC_MESSAGES/django.po +196 -151
  22. umap/locale/pt/LC_MESSAGES/django.mo +0 -0
  23. umap/locale/pt/LC_MESSAGES/django.po +115 -71
  24. umap/locale/zh_TW/LC_MESSAGES/django.mo +0 -0
  25. umap/locale/zh_TW/LC_MESSAGES/django.po +109 -65
  26. umap/management/commands/empty_trash.py +12 -1
  27. umap/migrations/0026_datalayer_modified_at_datalayer_share_status.py +26 -0
  28. umap/models.py +43 -13
  29. umap/settings/base.py +5 -2
  30. umap/static/umap/base.css +5 -2
  31. umap/static/umap/content.css +2 -22
  32. umap/static/umap/css/bar.css +39 -10
  33. umap/static/umap/css/contextmenu.css +14 -2
  34. umap/static/umap/css/form.css +33 -39
  35. umap/static/umap/css/icon.css +47 -5
  36. umap/static/umap/css/panel.css +20 -2
  37. umap/static/umap/css/popup.css +0 -1
  38. umap/static/umap/css/tooltip.css +33 -31
  39. umap/static/umap/img/16-white.svg +5 -3
  40. umap/static/umap/img/16.svg +1 -1
  41. umap/static/umap/img/24-white.svg +17 -16
  42. umap/static/umap/img/24.svg +29 -18
  43. umap/static/umap/img/providers/bitbucket.png +0 -0
  44. umap/static/umap/img/providers/github.png +0 -0
  45. umap/static/umap/img/providers/keycloak.png +0 -0
  46. umap/static/umap/img/providers/openstreetmap-oauth2.png +0 -0
  47. umap/static/umap/img/providers/twitter-oauth2.png +0 -0
  48. umap/static/umap/img/source/16-white.svg +6 -4
  49. umap/static/umap/img/source/16.svg +1 -1
  50. umap/static/umap/img/source/24-white.svg +20 -18
  51. umap/static/umap/img/source/24.svg +30 -19
  52. umap/static/umap/js/components/alerts/alert.js +4 -1
  53. umap/static/umap/js/modules/browser.js +8 -8
  54. umap/static/umap/js/modules/caption.js +30 -7
  55. umap/static/umap/js/modules/data/features.js +101 -56
  56. umap/static/umap/js/modules/data/layer.js +108 -83
  57. umap/static/umap/js/modules/form/builder.js +242 -0
  58. umap/static/umap/js/modules/form/fields.js +1346 -0
  59. umap/static/umap/js/modules/formatter.js +9 -8
  60. umap/static/umap/js/modules/help.js +20 -24
  61. umap/static/umap/js/modules/importer.js +6 -3
  62. umap/static/umap/js/modules/permissions.js +11 -6
  63. umap/static/umap/js/modules/rendering/icon.js +5 -1
  64. umap/static/umap/js/modules/rendering/layers/classified.js +12 -8
  65. umap/static/umap/js/modules/rendering/layers/cluster.js +11 -1
  66. umap/static/umap/js/modules/rendering/map.js +1 -23
  67. umap/static/umap/js/modules/rendering/ui.js +20 -38
  68. umap/static/umap/js/modules/rules.js +3 -2
  69. umap/static/umap/js/modules/saving.js +5 -0
  70. umap/static/umap/js/modules/schema.js +8 -6
  71. umap/static/umap/js/modules/share.js +3 -3
  72. umap/static/umap/js/modules/sync/engine.js +56 -26
  73. umap/static/umap/js/modules/sync/updaters.js +15 -6
  74. umap/static/umap/js/modules/sync/websocket.js +50 -37
  75. umap/static/umap/js/modules/tableeditor.js +3 -2
  76. umap/static/umap/js/modules/ui/bar.js +101 -9
  77. umap/static/umap/js/modules/ui/base.js +7 -24
  78. umap/static/umap/js/modules/ui/contextmenu.js +9 -2
  79. umap/static/umap/js/modules/ui/panel.js +5 -1
  80. umap/static/umap/js/modules/ui/tooltip.js +19 -11
  81. umap/static/umap/js/modules/umap.js +121 -68
  82. umap/static/umap/js/modules/utils.js +196 -12
  83. umap/static/umap/js/umap.controls.js +11 -353
  84. umap/static/umap/locale/am_ET.js +17 -5
  85. umap/static/umap/locale/am_ET.json +17 -5
  86. umap/static/umap/locale/ar.js +17 -5
  87. umap/static/umap/locale/ar.json +17 -5
  88. umap/static/umap/locale/ast.js +17 -5
  89. umap/static/umap/locale/ast.json +17 -5
  90. umap/static/umap/locale/bg.js +17 -5
  91. umap/static/umap/locale/bg.json +17 -5
  92. umap/static/umap/locale/br.js +33 -20
  93. umap/static/umap/locale/br.json +33 -20
  94. umap/static/umap/locale/ca.js +17 -5
  95. umap/static/umap/locale/ca.json +17 -5
  96. umap/static/umap/locale/cs_CZ.js +15 -5
  97. umap/static/umap/locale/cs_CZ.json +15 -5
  98. umap/static/umap/locale/da.js +17 -5
  99. umap/static/umap/locale/da.json +17 -5
  100. umap/static/umap/locale/de.js +17 -5
  101. umap/static/umap/locale/de.json +17 -5
  102. umap/static/umap/locale/el.js +63 -51
  103. umap/static/umap/locale/el.json +63 -51
  104. umap/static/umap/locale/en.js +15 -5
  105. umap/static/umap/locale/en.json +15 -5
  106. umap/static/umap/locale/en_US.json +17 -5
  107. umap/static/umap/locale/es.js +25 -13
  108. umap/static/umap/locale/es.json +25 -13
  109. umap/static/umap/locale/et.js +17 -5
  110. umap/static/umap/locale/et.json +17 -5
  111. umap/static/umap/locale/eu.js +17 -5
  112. umap/static/umap/locale/eu.json +17 -5
  113. umap/static/umap/locale/fa_IR.js +17 -5
  114. umap/static/umap/locale/fa_IR.json +17 -5
  115. umap/static/umap/locale/fi.js +17 -5
  116. umap/static/umap/locale/fi.json +17 -5
  117. umap/static/umap/locale/fr.js +16 -6
  118. umap/static/umap/locale/fr.json +16 -6
  119. umap/static/umap/locale/gl.js +357 -345
  120. umap/static/umap/locale/gl.json +357 -345
  121. umap/static/umap/locale/he.js +17 -5
  122. umap/static/umap/locale/he.json +17 -5
  123. umap/static/umap/locale/hr.js +17 -5
  124. umap/static/umap/locale/hr.json +17 -5
  125. umap/static/umap/locale/hu.js +14 -5
  126. umap/static/umap/locale/hu.json +14 -5
  127. umap/static/umap/locale/id.js +17 -5
  128. umap/static/umap/locale/id.json +17 -5
  129. umap/static/umap/locale/is.js +17 -5
  130. umap/static/umap/locale/is.json +17 -5
  131. umap/static/umap/locale/it.js +125 -113
  132. umap/static/umap/locale/it.json +125 -113
  133. umap/static/umap/locale/ja.js +17 -5
  134. umap/static/umap/locale/ja.json +17 -5
  135. umap/static/umap/locale/ko.js +17 -5
  136. umap/static/umap/locale/ko.json +17 -5
  137. umap/static/umap/locale/lt.js +17 -5
  138. umap/static/umap/locale/lt.json +17 -5
  139. umap/static/umap/locale/ms.js +17 -5
  140. umap/static/umap/locale/ms.json +17 -5
  141. umap/static/umap/locale/nl.js +132 -119
  142. umap/static/umap/locale/nl.json +132 -119
  143. umap/static/umap/locale/no.js +17 -5
  144. umap/static/umap/locale/no.json +17 -5
  145. umap/static/umap/locale/pl.js +17 -5
  146. umap/static/umap/locale/pl.json +17 -5
  147. umap/static/umap/locale/pl_PL.json +17 -5
  148. umap/static/umap/locale/pt.js +38 -25
  149. umap/static/umap/locale/pt.json +38 -25
  150. umap/static/umap/locale/pt_BR.js +17 -5
  151. umap/static/umap/locale/pt_BR.json +17 -5
  152. umap/static/umap/locale/pt_PT.js +17 -5
  153. umap/static/umap/locale/pt_PT.json +17 -5
  154. umap/static/umap/locale/ro.js +17 -5
  155. umap/static/umap/locale/ro.json +17 -5
  156. umap/static/umap/locale/ru.js +17 -5
  157. umap/static/umap/locale/ru.json +17 -5
  158. umap/static/umap/locale/sk_SK.js +17 -5
  159. umap/static/umap/locale/sk_SK.json +17 -5
  160. umap/static/umap/locale/sl.js +17 -5
  161. umap/static/umap/locale/sl.json +17 -5
  162. umap/static/umap/locale/sr.js +17 -5
  163. umap/static/umap/locale/sr.json +17 -5
  164. umap/static/umap/locale/sv.js +17 -5
  165. umap/static/umap/locale/sv.json +17 -5
  166. umap/static/umap/locale/th_TH.js +17 -5
  167. umap/static/umap/locale/th_TH.json +17 -5
  168. umap/static/umap/locale/tr.js +17 -5
  169. umap/static/umap/locale/tr.json +17 -5
  170. umap/static/umap/locale/uk_UA.js +17 -5
  171. umap/static/umap/locale/uk_UA.json +17 -5
  172. umap/static/umap/locale/vi.js +17 -5
  173. umap/static/umap/locale/vi.json +17 -5
  174. umap/static/umap/locale/vi_VN.json +17 -5
  175. umap/static/umap/locale/zh.js +17 -5
  176. umap/static/umap/locale/zh.json +17 -5
  177. umap/static/umap/locale/zh_CN.json +17 -5
  178. umap/static/umap/locale/zh_TW.Big5.json +17 -5
  179. umap/static/umap/locale/zh_TW.js +15 -5
  180. umap/static/umap/locale/zh_TW.json +15 -5
  181. umap/static/umap/map.css +29 -76
  182. umap/static/umap/nav.css +6 -3
  183. umap/static/umap/unittests/utils.js +14 -0
  184. umap/static/umap/vars.css +3 -0
  185. umap/static/umap/vendors/dompurify/purify.es.js +138 -354
  186. umap/static/umap/vendors/dompurify/purify.es.mjs.map +1 -1
  187. umap/static/umap/vendors/editable/Leaflet.Editable.js +1 -0
  188. umap/sync/__init__.py +0 -0
  189. umap/sync/app.py +187 -0
  190. umap/sync/payloads.py +56 -0
  191. umap/templates/auth/user_detail.html +4 -0
  192. umap/templates/auth/user_form.html +9 -6
  193. umap/templates/auth/user_stars.html +4 -0
  194. umap/templates/base.html +1 -1
  195. umap/templates/registration/login.html +2 -5
  196. umap/templates/umap/about.html +5 -0
  197. umap/templates/umap/about_summary.html +2 -2
  198. umap/templates/umap/components/provider.html +8 -0
  199. umap/templates/umap/content_footer.html +1 -1
  200. umap/templates/umap/css.html +0 -2
  201. umap/templates/umap/js.html +0 -4
  202. umap/templates/umap/map_detail.html +1 -1
  203. umap/templates/umap/password_change.html +4 -0
  204. umap/templates/umap/password_change_done.html +4 -0
  205. umap/templates/umap/search.html +4 -0
  206. umap/templates/umap/search_bar.html +1 -0
  207. umap/templates/umap/team_confirm_delete.html +4 -0
  208. umap/templates/umap/team_detail.html +4 -0
  209. umap/templates/umap/team_form.html +4 -0
  210. umap/templates/umap/user_dashboard.html +1 -1
  211. umap/templates/umap/user_teams.html +4 -0
  212. umap/tests/base.py +3 -1
  213. umap/tests/integration/conftest.py +16 -23
  214. umap/tests/integration/test_anonymous_owned_map.py +2 -2
  215. umap/tests/integration/test_basics.py +4 -7
  216. umap/tests/integration/test_caption.py +1 -0
  217. umap/tests/integration/test_categorized_layer.py +4 -8
  218. umap/tests/integration/test_choropleth.py +1 -1
  219. umap/tests/integration/test_conditional_rules.py +3 -3
  220. umap/tests/integration/test_draw_polygon.py +14 -22
  221. umap/tests/integration/test_draw_polyline.py +6 -14
  222. umap/tests/integration/test_edit_datalayer.py +11 -11
  223. umap/tests/integration/test_edit_map.py +30 -4
  224. umap/tests/integration/test_edit_marker.py +5 -5
  225. umap/tests/integration/test_edit_polygon.py +6 -6
  226. umap/tests/integration/test_features_id_generation.py +2 -6
  227. umap/tests/integration/test_import.py +115 -29
  228. umap/tests/integration/test_optimistic_merge.py +1 -0
  229. umap/tests/integration/test_owned_map.py +1 -1
  230. umap/tests/integration/test_picto.py +8 -8
  231. umap/tests/integration/test_save.py +3 -2
  232. umap/tests/integration/test_star.py +13 -9
  233. umap/tests/integration/test_tableeditor.py +8 -7
  234. umap/tests/integration/test_view_marker.py +10 -0
  235. umap/tests/integration/test_websocket_sync.py +239 -64
  236. umap/tests/settings.py +2 -0
  237. umap/tests/test_datalayer.py +2 -3
  238. umap/tests/test_datalayer_views.py +20 -1
  239. umap/tests/test_empty_trash.py +10 -3
  240. umap/tests/test_map_views.py +11 -0
  241. umap/utils.py +27 -11
  242. umap/views.py +37 -6
  243. {umap_project-2.8.2.dist-info → umap_project-2.9.0.dist-info}/METADATA +22 -22
  244. {umap_project-2.8.2.dist-info → umap_project-2.9.0.dist-info}/RECORD +247 -248
  245. {umap_project-2.8.2.dist-info → umap_project-2.9.0.dist-info}/WHEEL +1 -1
  246. umap/management/commands/run_websocket_server.py +0 -23
  247. umap/settings/local_s3.py +0 -45
  248. umap/static/umap/bitbucket.png +0 -0
  249. umap/static/umap/github.png +0 -0
  250. umap/static/umap/js/umap.forms.js +0 -1242
  251. umap/static/umap/keycloak.png +0 -0
  252. umap/static/umap/openstreetmap.png +0 -0
  253. umap/static/umap/twitter.png +0 -0
  254. umap/static/umap/vendors/formbuilder/Leaflet.FormBuilder.js +0 -468
  255. umap/static/umap/vendors/toolbar/leaflet.toolbar.css +0 -1
  256. umap/static/umap/vendors/toolbar/leaflet.toolbar.js +0 -1
  257. umap/tests/test_websocket_server.py +0 -22
  258. umap/websocket_server.py +0 -202
  259. {umap_project-2.8.2.dist-info → umap_project-2.9.0.dist-info}/entry_points.txt +0 -0
  260. {umap_project-2.8.2.dist-info → umap_project-2.9.0.dist-info}/licenses/LICENSE +0 -0
umap/static/umap/map.css CHANGED
@@ -102,12 +102,12 @@ html[dir="rtl"] .leaflet-tooltip-pane > * {
102
102
  .umap-control-more,
103
103
  .umap-control-less {
104
104
  background-image: url('./img/24-white.svg');
105
- background-position: -72px -366px;
105
+ background-position: -72px -402px;
106
106
  text-indent: -9999px;
107
107
  margin-bottom: 0;
108
108
  }
109
109
  .umap-control-less {
110
- background-position: -108px -366px;
110
+ background-position: -108px -402px;
111
111
  }
112
112
  .umap-more-controls .display-on-more,
113
113
  .umap-more-controls .umap-control-less {
@@ -134,12 +134,6 @@ html[dir="rtl"] .leaflet-tooltip-pane > * {
134
134
  background-position: -72px -144px;
135
135
  box-shadow: 0 0 4px 0 black inset;
136
136
  }
137
- .leaflet-control-star [type="button"] {
138
- background-position: -144px -144px;
139
- }
140
- .leaflet-control-star.starred [type="button"] {
141
- background-position: -108px -144px;
142
- }
143
137
  .leaflet-control-search [type="button"] {
144
138
  background-position: -36px -108px;
145
139
  display: block;
@@ -183,7 +177,6 @@ html[dir="rtl"] .leaflet-tooltip-pane > * {
183
177
  line-height: var(--control-size);
184
178
  display: block;
185
179
  }
186
- .leaflet-control-toolbar .leaflet-toolbar-icon.dark:hover,
187
180
  .edit-enable [type="button"]:hover {
188
181
  background-color: #4d5759;
189
182
  }
@@ -324,7 +317,6 @@ ul.photon-autocomplete {
324
317
  .leaflet-editable-drawing {
325
318
  cursor: crosshair;
326
319
  }
327
- .leaflet-control-toolbar > li > .leaflet-toolbar-icon,
328
320
  .umap-toolbar a,
329
321
  .umap-toolbar a:hover {
330
322
  height: var(--control-size);
@@ -338,9 +330,6 @@ ul.photon-autocomplete {
338
330
  background-image: url('./img/24.svg');
339
331
  background-size: auto auto;
340
332
  }
341
- .leaflet-control-toolbar li .leaflet-toolbar-icon.dark {
342
- background-image: url('./img/24-white.svg');
343
- }
344
333
  .umap-toolbar {
345
334
  margin-top: 0;
346
335
  }
@@ -387,11 +376,13 @@ ul.photon-autocomplete {
387
376
  .umap-toolbar .umap-draw-polygon-multi {
388
377
  background-position: 0 -108px;
389
378
  }
390
- .umap-edit-enabled .leaflet-control-toolbar > li > .leaflet-toolbar-icon,
391
379
  .umap-edit-enabled .umap-toolbar a {
392
380
  display: block;
393
381
  }
394
-
382
+ .leaflet-middle-icon,
383
+ .leaflet-vertex-icon {
384
+ border-radius: 50%;
385
+ }
395
386
 
396
387
  /* ********************************* */
397
388
  /* Third party plugin override */
@@ -429,10 +420,10 @@ ul.photon-autocomplete {
429
420
  width: 16px;
430
421
  height: 16px;
431
422
  margin-inline-start: 5px;
432
- background-position: -4px -4px;
423
+ background-position: 2px -4px;
433
424
  background-repeat: no-repeat;
434
425
  background-image: url('./img/16.svg');
435
- background-color: var(--color-darkGray) !important;
426
+ background-color: transparent !important;
436
427
  vertical-align: middle;
437
428
  text-indent: -9999px;
438
429
  min-height: inherit;
@@ -447,31 +438,8 @@ ul.photon-autocomplete {
447
438
  border-top: 1px solid #aaa;
448
439
  padding-top: 10px;
449
440
  }
450
- .umap-edit-actions {
451
- padding-top: 5px;
452
- clear: both;
453
- }
454
- .umap-edit-actions li {
455
- height: var(--control-size);
456
- line-height: var(--control-size);
457
- cursor: pointer;
458
- margin-bottom: 5px;
459
- border-radius: 2px;
460
- border: 1px solid #222;
461
- }
462
- .umap-edit-actions li i {
463
- background-image: url('./img/24-white.svg');
464
- background-repeat: no-repeat;
465
- display: table-cell;
466
- width: var(--control-size);
467
- height: var(--control-size);
468
- }
469
- .umap-edit-actions li span {
470
- display: table-cell;
471
- vertical-align: middle;
472
- }
473
- .umap-edit-actions li:hover {
474
- background-color: #353c3e;
441
+ .umap-getstarted button {
442
+ width: 100%;
475
443
  }
476
444
  .umap-help {
477
445
  font-style: italic;
@@ -510,9 +478,6 @@ ul.photon-autocomplete {
510
478
  .layer-edit {
511
479
  background-position: -50px -49px;
512
480
  }
513
- .umap-toggle-edit {
514
- background-position: -44px -48px;
515
- }
516
481
  .readonly .layer-edit,
517
482
  .off .layer-edit {
518
483
  background-position: -50px -73px;
@@ -521,28 +486,6 @@ ul.photon-autocomplete {
521
486
  .off .layer-delete {
522
487
  background-position: -122px -121px;
523
488
  }
524
- .umap-new-hole {
525
- background-position: -71px -94px;
526
- }
527
- .umap-delete-one-of-multi {
528
- background-position: -97px -70px;
529
- }
530
- .umap-delete-all,
531
- .umap-delete-one-of-one {
532
- background-position: -119px -48px;
533
- }
534
- .umap-delete-vertex {
535
- background-position: -119px -94px;
536
- }
537
- .umap-continue-line {
538
- background-position: -96px 1px;
539
- }
540
- .umap-split-line {
541
- background-position: -119px -22px;
542
- }
543
- .umap-extract-shape-from-multi{
544
- background-position: -119px 2px;
545
- }
546
489
  .umap-browser .feature-title {
547
490
  width: inherit;
548
491
  cursor: inherit;
@@ -574,11 +517,11 @@ ul.photon-autocomplete {
574
517
  /* ********************************* */
575
518
  a.umap-control-browse,
576
519
  .umap-control-browse [type="button"] {
577
- background-position: -36px -72px;
520
+ background-position: -144px -180px;
578
521
  }
579
522
  a.umap-control-caption,
580
523
  .umap-control-caption [type="button"] {
581
- background-position: -72px -72px;
524
+ background-position: -144px -36px;
582
525
  }
583
526
  .leaflet-inplace-toolbar a {
584
527
  background-repeat: no-repeat;
@@ -694,8 +637,18 @@ a.umap-control-caption,
694
637
  .datalayer-name {
695
638
  cursor: pointer;
696
639
  }
697
- .umap-caption .umap-map-author {
698
- padding-inline-start: 31px;
640
+ .umap-caption .dates {
641
+ color: var(--color-mediumGray);
642
+ }
643
+ .umap-caption .header {
644
+ display: flex;
645
+ }
646
+ .umap-caption .header i.icon {
647
+ flex-shrink: 0;
648
+ }
649
+ .umap-caption hgroup p,
650
+ .umap-caption hgroup button {
651
+ margin: 0;
699
652
  }
700
653
  .umap-browser .main-toolbox {
701
654
  padding-left: 4px; /* Align with toolbox below */
@@ -713,7 +666,7 @@ a.umap-control-caption,
713
666
  /* Tilelayer switcher */
714
667
  /* ********************************* */
715
668
 
716
- .umap-tilelayer-switcher-container li {
669
+ .umap-edit-tilelayers li {
717
670
  border: 1px solid rgb(116, 116, 116);
718
671
  border-radius: 4px 4px 4px 4px;
719
672
  margin-bottom: 14px;
@@ -725,7 +678,7 @@ a.umap-control-caption,
725
678
  margin-left: auto;
726
679
  margin-right: auto;
727
680
  }
728
- .umap-tilelayer-switcher-container li div {
681
+ .umap-edit-tilelayers li div {
729
682
  background-color: rgb(116, 116, 116);
730
683
  bottom: 0;
731
684
  color: rgb(247, 246, 241);
@@ -737,8 +690,8 @@ a.umap-control-caption,
737
690
  width: 100%;
738
691
  text-align: center;
739
692
  }
740
- .umap-tilelayer-switcher-container li:hover div:before,
741
- .umap-tilelayer-switcher-container .selected div:before {
693
+ .umap-edit-tilelayers li:hover div:before,
694
+ .umap-edit-tilelayers .selected div:before {
742
695
  content: "✓";
743
696
  font-size: 1.3em;
744
697
  line-height: 56px;
@@ -746,7 +699,7 @@ a.umap-control-caption,
746
699
  position: absolute;
747
700
  inset-inline-start: 7px;
748
701
  }
749
- .umap-tilelayer-switcher-container li img {
702
+ .umap-edit-tilelayers li img {
750
703
  display: block;
751
704
  max-width: 100%;
752
705
  }
umap/static/umap/nav.css CHANGED
@@ -27,6 +27,10 @@ footer a.branding {
27
27
  font-weight: bold;
28
28
  padding-inline-start: 70px;
29
29
  display: inline-block;
30
+ text-decoration: none;
31
+ }
32
+ footer a.branding:hover {
33
+ text-decoration: underline;
30
34
  }
31
35
  html[dir="rtl"] footer a.branding {
32
36
  background-position: right center;
@@ -41,7 +45,7 @@ footer .i18n_switch {
41
45
  display: flex;
42
46
  flex-direction: column;
43
47
  }
44
- .umap-nav a {
48
+ .umap-nav a:not(.button) {
45
49
  color: var(--color-darkBlue);
46
50
  padding: .4rem;
47
51
  }
@@ -51,7 +55,7 @@ footer .i18n_switch {
51
55
  .umap-nav h1 {
52
56
  margin-bottom: 0;
53
57
  }
54
- .umap-nav h1 a {
58
+ .umap-nav h1 a:not(.button) {
55
59
  background-image: url("./img/logo.svg");
56
60
  background-position: left center;
57
61
  background-repeat: no-repeat;
@@ -74,7 +78,6 @@ html[dir="rtl"] .umap-nav h1 a {
74
78
  .umap-nav .button,
75
79
  .umap-nav .button:hover {
76
80
  text-decoration: none;
77
- min-width: 150px;
78
81
  margin-inline-start: 1rem;
79
82
  }
80
83
 
@@ -54,6 +54,13 @@ describe('Utils', () => {
54
54
  )
55
55
  })
56
56
 
57
+ it('should handle links with another url in path', () => {
58
+ assert.equal(
59
+ Utils.toHTML('A simple https://osm.org/https://anotherurl.com link'),
60
+ 'A simple <a href="https://osm.org/https://anotherurl.com" target="_blank">https://osm.org/https://anotherurl.com</a> link'
61
+ )
62
+ })
63
+
57
64
  it('should handle simple link inside parenthesis', () => {
58
65
  assert.equal(
59
66
  Utils.toHTML('A simple link (http://osm.org)'),
@@ -172,6 +179,13 @@ describe('Utils', () => {
172
179
  )
173
180
  })
174
181
 
182
+ it('http link with http link as in path', () => {
183
+ assert.equal(
184
+ Utils.toHTML('A phrase with a [[https://iframeurl.com/https://another.com]].'),
185
+ 'A phrase with a <a href="https://iframeurl.com/https://another.com" target="_blank">https://iframeurl.com/https://another.com</a>.'
186
+ )
187
+ })
188
+
175
189
  it('simple bullet points', () => {
176
190
  assert.equal(
177
191
  Utils.toHTML('* First point\n* Second point\n* Last point'),
umap/static/umap/vars.css CHANGED
@@ -24,6 +24,8 @@
24
24
  --button-primary-color: var(--color-darkBlue);
25
25
  --button-neutral-background: var(--color-lightGray);
26
26
  --button-neutral-color: var(--color-darkGray);
27
+ --button-padding: 8px 16px;
28
+ --button-padding-small: 2px 8px;
27
29
 
28
30
  /* Sizes and spaces */
29
31
  --gutter: 8px;
@@ -38,6 +40,7 @@
38
40
  --control-size: 36px;
39
41
  --border-radius: 4px;
40
42
  --box-padding: 20px;
43
+ --small-box-padding: 4px;
41
44
  --box-margin: 14px;
42
45
  --text-margin: 7px;
43
46