umap-project 2.1.3__py3-none-any.whl → 2.2.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 (200) hide show
  1. umap/__init__.py +1 -1
  2. umap/context_processors.py +1 -0
  3. umap/locale/br/LC_MESSAGES/django.mo +0 -0
  4. umap/locale/en/LC_MESSAGES/django.po +32 -32
  5. umap/locale/hu/LC_MESSAGES/django.mo +0 -0
  6. umap/locale/it/LC_MESSAGES/django.mo +0 -0
  7. umap/locale/ms/LC_MESSAGES/django.mo +0 -0
  8. umap/migrations/0020_alter_tilelayer_url_template.py +19 -0
  9. umap/migrations/0021_remove_map_description.py +16 -0
  10. umap/models.py +8 -6
  11. umap/settings/base.py +1 -0
  12. umap/static/umap/base.css +43 -156
  13. umap/static/umap/content.css +7 -25
  14. umap/static/umap/css/icon.css +112 -0
  15. umap/static/umap/css/panel.css +140 -0
  16. umap/static/umap/img/16-white.svg +5 -1
  17. umap/static/umap/img/16.svg +7 -4
  18. umap/static/umap/img/24-white.svg +3 -1
  19. umap/static/umap/img/24.svg +3 -4
  20. umap/static/umap/img/source/16-white.svg +176 -940
  21. umap/static/umap/img/source/16.svg +8 -5
  22. umap/static/umap/img/source/24-white.svg +5 -3
  23. umap/static/umap/img/source/24.svg +6 -7
  24. umap/static/umap/js/modules/browser.js +97 -73
  25. umap/static/umap/js/modules/dompurify.js +12 -0
  26. umap/static/umap/js/modules/facets.js +149 -0
  27. umap/static/umap/js/modules/global.js +9 -1
  28. umap/static/umap/js/modules/i18n.js +7 -0
  29. umap/static/umap/js/modules/orderable.js +84 -0
  30. umap/static/umap/js/modules/panel.js +76 -0
  31. umap/static/umap/js/modules/request.js +0 -1
  32. umap/static/umap/js/modules/schema.js +324 -223
  33. umap/static/umap/js/modules/urls.js +1 -16
  34. umap/static/umap/js/modules/utils.js +340 -0
  35. umap/static/umap/js/umap.autocomplete.js +40 -25
  36. umap/static/umap/js/umap.controls.js +227 -369
  37. umap/static/umap/js/umap.core.js +77 -366
  38. umap/static/umap/js/umap.datalayer.permissions.js +1 -1
  39. umap/static/umap/js/umap.features.js +62 -42
  40. umap/static/umap/js/umap.forms.js +128 -36
  41. umap/static/umap/js/umap.icon.js +11 -4
  42. umap/static/umap/js/umap.importer.js +78 -57
  43. umap/static/umap/js/umap.js +179 -156
  44. umap/static/umap/js/umap.layer.js +79 -40
  45. umap/static/umap/js/umap.permissions.js +13 -9
  46. umap/static/umap/js/umap.popup.js +26 -30
  47. umap/static/umap/js/umap.share.js +12 -9
  48. umap/static/umap/js/umap.tableeditor.js +4 -6
  49. umap/static/umap/js/umap.ui.js +10 -60
  50. umap/static/umap/locale/am_ET.js +243 -227
  51. umap/static/umap/locale/am_ET.json +21 -9
  52. umap/static/umap/locale/ar.js +243 -227
  53. umap/static/umap/locale/ar.json +21 -9
  54. umap/static/umap/locale/ast.js +243 -227
  55. umap/static/umap/locale/ast.json +21 -9
  56. umap/static/umap/locale/bg.js +243 -227
  57. umap/static/umap/locale/bg.json +21 -9
  58. umap/static/umap/locale/br.js +253 -237
  59. umap/static/umap/locale/br.json +25 -13
  60. umap/static/umap/locale/ca.js +243 -227
  61. umap/static/umap/locale/ca.json +21 -9
  62. umap/static/umap/locale/cs_CZ.js +243 -227
  63. umap/static/umap/locale/cs_CZ.json +21 -9
  64. umap/static/umap/locale/da.js +243 -227
  65. umap/static/umap/locale/da.json +21 -9
  66. umap/static/umap/locale/de.js +243 -227
  67. umap/static/umap/locale/de.json +21 -9
  68. umap/static/umap/locale/el.js +243 -227
  69. umap/static/umap/locale/el.json +21 -9
  70. umap/static/umap/locale/en.js +243 -234
  71. umap/static/umap/locale/en.json +22 -10
  72. umap/static/umap/locale/en_US.json +21 -9
  73. umap/static/umap/locale/es.js +243 -227
  74. umap/static/umap/locale/es.json +21 -9
  75. umap/static/umap/locale/et.js +243 -227
  76. umap/static/umap/locale/et.json +21 -9
  77. umap/static/umap/locale/eu.js +227 -199
  78. umap/static/umap/locale/eu.json +1 -1
  79. umap/static/umap/locale/fa_IR.js +243 -227
  80. umap/static/umap/locale/fa_IR.json +21 -9
  81. umap/static/umap/locale/fi.js +243 -227
  82. umap/static/umap/locale/fi.json +21 -9
  83. umap/static/umap/locale/fr.js +243 -234
  84. umap/static/umap/locale/fr.json +21 -9
  85. umap/static/umap/locale/gl.js +243 -227
  86. umap/static/umap/locale/gl.json +21 -9
  87. umap/static/umap/locale/he.js +243 -227
  88. umap/static/umap/locale/he.json +21 -9
  89. umap/static/umap/locale/hr.js +243 -227
  90. umap/static/umap/locale/hr.json +21 -9
  91. umap/static/umap/locale/hu.js +243 -234
  92. umap/static/umap/locale/hu.json +21 -9
  93. umap/static/umap/locale/id.js +243 -227
  94. umap/static/umap/locale/id.json +21 -9
  95. umap/static/umap/locale/is.js +243 -227
  96. umap/static/umap/locale/is.json +21 -9
  97. umap/static/umap/locale/it.js +243 -234
  98. umap/static/umap/locale/it.json +21 -9
  99. umap/static/umap/locale/ja.js +243 -227
  100. umap/static/umap/locale/ja.json +21 -9
  101. umap/static/umap/locale/ko.js +243 -227
  102. umap/static/umap/locale/ko.json +21 -9
  103. umap/static/umap/locale/lt.js +243 -227
  104. umap/static/umap/locale/lt.json +21 -9
  105. umap/static/umap/locale/ms.js +243 -234
  106. umap/static/umap/locale/ms.json +22 -10
  107. umap/static/umap/locale/nl.js +246 -230
  108. umap/static/umap/locale/nl.json +21 -9
  109. umap/static/umap/locale/no.js +243 -227
  110. umap/static/umap/locale/no.json +21 -9
  111. umap/static/umap/locale/pl.js +243 -227
  112. umap/static/umap/locale/pl.json +21 -9
  113. umap/static/umap/locale/pl_PL.json +21 -9
  114. umap/static/umap/locale/pt.js +243 -227
  115. umap/static/umap/locale/pt.json +21 -9
  116. umap/static/umap/locale/pt_BR.js +243 -227
  117. umap/static/umap/locale/pt_BR.json +21 -9
  118. umap/static/umap/locale/pt_PT.js +243 -227
  119. umap/static/umap/locale/pt_PT.json +21 -9
  120. umap/static/umap/locale/ro.js +243 -227
  121. umap/static/umap/locale/ro.json +21 -9
  122. umap/static/umap/locale/ru.js +243 -227
  123. umap/static/umap/locale/ru.json +21 -9
  124. umap/static/umap/locale/si.js +1 -1
  125. umap/static/umap/locale/si.json +1 -1
  126. umap/static/umap/locale/sk_SK.js +243 -227
  127. umap/static/umap/locale/sk_SK.json +21 -9
  128. umap/static/umap/locale/sl.js +243 -227
  129. umap/static/umap/locale/sl.json +21 -9
  130. umap/static/umap/locale/sr.js +243 -227
  131. umap/static/umap/locale/sr.json +21 -9
  132. umap/static/umap/locale/sv.js +243 -227
  133. umap/static/umap/locale/sv.json +21 -9
  134. umap/static/umap/locale/th_TH.js +243 -227
  135. umap/static/umap/locale/th_TH.json +21 -9
  136. umap/static/umap/locale/tr.js +243 -227
  137. umap/static/umap/locale/tr.json +21 -9
  138. umap/static/umap/locale/uk_UA.js +243 -227
  139. umap/static/umap/locale/uk_UA.json +21 -9
  140. umap/static/umap/locale/vi.js +243 -227
  141. umap/static/umap/locale/vi.json +21 -9
  142. umap/static/umap/locale/vi_VN.json +21 -9
  143. umap/static/umap/locale/zh.js +243 -227
  144. umap/static/umap/locale/zh.json +21 -9
  145. umap/static/umap/locale/zh_CN.json +21 -9
  146. umap/static/umap/locale/zh_TW.Big5.json +21 -9
  147. umap/static/umap/locale/zh_TW.js +243 -234
  148. umap/static/umap/locale/zh_TW.json +21 -9
  149. umap/static/umap/map.css +124 -264
  150. umap/static/umap/test/DataLayer.js +463 -0
  151. umap/static/umap/test/Feature.js +0 -226
  152. umap/static/umap/test/TableEditor.js +104 -0
  153. umap/static/umap/test/Util.js +0 -521
  154. umap/static/umap/test/index.html +0 -1
  155. umap/static/umap/unittests/URLs.js +1 -1
  156. umap/static/umap/unittests/utils.js +610 -0
  157. umap/static/umap/vars.css +9 -0
  158. umap/static/umap/vendors/dompurify/purify.es.mjs +1525 -0
  159. umap/static/umap/vendors/formbuilder/Leaflet.FormBuilder.js +1 -0
  160. umap/static/umap/vendors/iconlayers/iconLayers.js +1 -1
  161. umap/templates/umap/css.html +2 -0
  162. umap/templates/umap/js.html +0 -1
  163. umap/templates/umap/map_detail.html +4 -0
  164. umap/templates/umap/map_table.html +12 -10
  165. umap/templatetags/umap_tags.py +5 -0
  166. umap/tests/integration/conftest.py +12 -1
  167. umap/tests/integration/test_anonymous_owned_map.py +27 -5
  168. umap/tests/integration/test_basics.py +21 -0
  169. umap/tests/integration/test_browser.py +12 -25
  170. umap/tests/integration/test_choropleth.py +1 -1
  171. umap/tests/integration/test_dashboard.py +10 -0
  172. umap/tests/integration/test_datalayer.py +8 -6
  173. umap/tests/integration/test_edit_datalayer.py +24 -19
  174. umap/tests/integration/test_edit_map.py +189 -2
  175. umap/tests/integration/test_edit_marker.py +120 -0
  176. umap/tests/integration/test_edit_polygon.py +122 -0
  177. umap/tests/integration/test_facets_browser.py +104 -14
  178. umap/tests/integration/test_import.py +72 -20
  179. umap/tests/integration/test_map.py +19 -17
  180. umap/tests/integration/test_map_list.py +28 -0
  181. umap/tests/integration/test_owned_map.py +10 -10
  182. umap/tests/integration/test_picto.py +5 -5
  183. umap/tests/integration/test_querystring.py +9 -15
  184. umap/tests/integration/test_slideshow.py +0 -5
  185. umap/tests/integration/test_statics.py +3 -2
  186. umap/tests/integration/test_tableeditor.py +1 -5
  187. umap/tests/integration/test_tilelayer.py +10 -0
  188. umap/tests/integration/test_view_marker.py +64 -0
  189. umap/tests/integration/test_view_polygon.py +59 -0
  190. umap/tests/integration/test_view_polyline.py +51 -0
  191. umap/tests/test_map_views.py +13 -0
  192. {umap_project-2.1.3.dist-info → umap_project-2.2.0.dist-info}/METADATA +12 -12
  193. {umap_project-2.1.3.dist-info → umap_project-2.2.0.dist-info}/RECORD +198 -182
  194. {umap_project-2.1.3.dist-info → umap_project-2.2.0.dist-info}/WHEEL +1 -1
  195. umap/static/umap/vendors/dompurify/purify.min.js +0 -3
  196. umap/static/umap/vendors/dompurify/purify.min.js.map +0 -1
  197. /umap/tests/integration/{test_polygon.py → test_draw_polygon.py} +0 -0
  198. /umap/tests/integration/{test_polyline.py → test_draw_polyline.py} +0 -0
  199. {umap_project-2.1.3.dist-info → umap_project-2.2.0.dist-info}/entry_points.txt +0 -0
  200. {umap_project-2.1.3.dist-info → umap_project-2.2.0.dist-info}/licenses/LICENSE +0 -0
umap/__init__.py CHANGED
@@ -1 +1 @@
1
- VERSION = "2.1.3"
1
+ VERSION = "2.2.0"
@@ -7,6 +7,7 @@ def settings(request):
7
7
  return {
8
8
  "UMAP_FEEDBACK_LINK": djsettings.UMAP_FEEDBACK_LINK,
9
9
  "SITE_NAME": djsettings.SITE_NAME,
10
+ "SITE_URL": djsettings.SITE_URL,
10
11
  "ENABLE_ACCOUNT_LOGIN": djsettings.ENABLE_ACCOUNT_LOGIN,
11
12
  "UMAP_READONLY": djsettings.UMAP_READONLY,
12
13
  "UMAP_DEMO_SITE": djsettings.UMAP_DEMO_SITE,
Binary file
@@ -8,7 +8,7 @@ msgid ""
8
8
  msgstr ""
9
9
  "Project-Id-Version: PACKAGE VERSION\n"
10
10
  "Report-Msgid-Bugs-To: \n"
11
- "POT-Creation-Date: 2024-03-25 12:41+0000\n"
11
+ "POT-Creation-Date: 2024-04-24 19:16+0000\n"
12
12
  "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
13
13
  "Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
14
14
  "Language-Team: LANGUAGE <LL@li.org>\n"
@@ -25,7 +25,7 @@ msgstr ""
25
25
  msgid "Everyone can edit"
26
26
  msgstr ""
27
27
 
28
- #: forms.py:69 models.py:381
28
+ #: forms.py:69 models.py:384
29
29
  msgid "Inherit"
30
30
  msgstr ""
31
31
 
@@ -33,54 +33,50 @@ msgstr ""
33
33
  msgid "Site is readonly for maintenance"
34
34
  msgstr ""
35
35
 
36
- #: models.py:52
36
+ #: models.py:53
37
37
  msgid "name"
38
38
  msgstr ""
39
39
 
40
- #: models.py:83
40
+ #: models.py:84
41
41
  msgid "details"
42
42
  msgstr ""
43
43
 
44
- #: models.py:84
44
+ #: models.py:85
45
45
  msgid "Link to a page where the licence is detailed."
46
46
  msgstr ""
47
47
 
48
- #: models.py:94
48
+ #: models.py:95
49
49
  msgid "URL template using OSM tile format"
50
50
  msgstr ""
51
51
 
52
- #: models.py:100
52
+ #: models.py:101
53
53
  msgid "Order of the tilelayers in the edit box"
54
54
  msgstr ""
55
55
 
56
- #: models.py:146 models.py:382
56
+ #: models.py:147 models.py:385
57
57
  msgid "Everyone"
58
58
  msgstr ""
59
59
 
60
- #: models.py:147 models.py:153 models.py:383
60
+ #: models.py:148 models.py:154 models.py:386
61
61
  msgid "Editors only"
62
62
  msgstr ""
63
63
 
64
- #: models.py:148 models.py:384
64
+ #: models.py:149 models.py:387
65
65
  msgid "Owner only"
66
66
  msgstr ""
67
67
 
68
- #: models.py:151
68
+ #: models.py:152
69
69
  msgid "Everyone (public)"
70
70
  msgstr ""
71
71
 
72
- #: models.py:152
72
+ #: models.py:153
73
73
  msgid "Anyone with link"
74
74
  msgstr ""
75
75
 
76
- #: models.py:154
76
+ #: models.py:155
77
77
  msgid "Blocked"
78
78
  msgstr ""
79
79
 
80
- #: models.py:157 models.py:391
81
- msgid "description"
82
- msgstr ""
83
-
84
80
  #: models.py:158
85
81
  msgid "center"
86
82
  msgstr ""
@@ -113,7 +109,7 @@ msgstr ""
113
109
  msgid "editors"
114
110
  msgstr ""
115
111
 
116
- #: models.py:186 models.py:405
112
+ #: models.py:186 models.py:408
117
113
  msgid "edit status"
118
114
  msgstr ""
119
115
 
@@ -121,19 +117,23 @@ msgstr ""
121
117
  msgid "share status"
122
118
  msgstr ""
123
119
 
124
- #: models.py:194 models.py:400
120
+ #: models.py:194 models.py:403
125
121
  msgid "settings"
126
122
  msgstr ""
127
123
 
128
- #: models.py:322
124
+ #: models.py:325
129
125
  msgid "Clone of"
130
126
  msgstr ""
131
127
 
132
- #: models.py:395
128
+ #: models.py:394
129
+ msgid "description"
130
+ msgstr ""
131
+
132
+ #: models.py:398
133
133
  msgid "display on load"
134
134
  msgstr ""
135
135
 
136
- #: models.py:396
136
+ #: models.py:399
137
137
  msgid "Display this layer on load."
138
138
  msgstr ""
139
139
 
@@ -345,37 +345,37 @@ msgstr ""
345
345
  msgid "Clone"
346
346
  msgstr ""
347
347
 
348
- #: templates/umap/map_table.html:76 templates/umap/map_table.html:78
348
+ #: templates/umap/map_table.html:77 templates/umap/map_table.html:79
349
349
  msgid "Delete"
350
350
  msgstr ""
351
351
 
352
- #: templates/umap/map_table.html:91
352
+ #: templates/umap/map_table.html:93
353
353
  msgid "first"
354
354
  msgstr ""
355
355
 
356
- #: templates/umap/map_table.html:92
356
+ #: templates/umap/map_table.html:94
357
357
  msgid "previous"
358
358
  msgstr ""
359
359
 
360
- #: templates/umap/map_table.html:100
360
+ #: templates/umap/map_table.html:102
361
361
  #, python-format
362
362
  msgid "Page %(maps_number)s of %(num_pages)s"
363
363
  msgstr ""
364
364
 
365
- #: templates/umap/map_table.html:105
365
+ #: templates/umap/map_table.html:107
366
366
  msgid "next"
367
367
  msgstr ""
368
368
 
369
- #: templates/umap/map_table.html:106
369
+ #: templates/umap/map_table.html:108
370
370
  msgid "last"
371
371
  msgstr ""
372
372
 
373
- #: templates/umap/map_table.html:114
373
+ #: templates/umap/map_table.html:116
374
374
  #, python-format
375
375
  msgid "Lines per page: %(per_page)s"
376
376
  msgstr ""
377
377
 
378
- #: templates/umap/map_table.html:119
378
+ #: templates/umap/map_table.html:121
379
379
  #, python-format
380
380
  msgid "%(count)s maps"
381
381
  msgstr ""
@@ -542,10 +542,10 @@ msgstr ""
542
542
  msgid "Congratulations, your map has been cloned!"
543
543
  msgstr ""
544
544
 
545
- #: views.py:1145
545
+ #: views.py:1146
546
546
  msgid "Layer successfully deleted."
547
547
  msgstr ""
548
548
 
549
- #: views.py:1167
549
+ #: views.py:1168
550
550
  msgid "Permissions updated with success!"
551
551
  msgstr ""
Binary file
Binary file
Binary file
@@ -0,0 +1,19 @@
1
+ # Generated by Django 5.0.2 on 2024-04-17 09:18
2
+
3
+ from django.db import migrations, models
4
+
5
+
6
+ class Migration(migrations.Migration):
7
+ dependencies = [
8
+ ("umap", "0019_migrate_internal_remote_datalayers"),
9
+ ]
10
+
11
+ operations = [
12
+ migrations.AlterField(
13
+ model_name="tilelayer",
14
+ name="url_template",
15
+ field=models.CharField(
16
+ help_text="URL template using OSM tile format", max_length=400
17
+ ),
18
+ ),
19
+ ]
@@ -0,0 +1,16 @@
1
+ # Generated by Django 5.0.4 on 2024-04-24 07:50
2
+
3
+ from django.db import migrations
4
+
5
+
6
+ class Migration(migrations.Migration):
7
+ dependencies = [
8
+ ("umap", "0020_alter_tilelayer_url_template"),
9
+ ]
10
+
11
+ operations = [
12
+ migrations.RemoveField(
13
+ model_name="map",
14
+ name="description",
15
+ ),
16
+ ]
umap/models.py CHANGED
@@ -92,7 +92,7 @@ class Licence(NamedModel):
92
92
 
93
93
  class TileLayer(NamedModel):
94
94
  url_template = models.CharField(
95
- max_length=200, help_text=_("URL template using OSM tile format")
95
+ max_length=400, help_text=_("URL template using OSM tile format")
96
96
  )
97
97
  minZoom = models.IntegerField(default=0)
98
98
  maxZoom = models.IntegerField(default=18)
@@ -155,7 +155,6 @@ class Map(NamedModel):
155
155
  (BLOCKED, _("Blocked")),
156
156
  )
157
157
  slug = models.SlugField(db_index=True)
158
- description = models.TextField(blank=True, null=True, verbose_name=_("description"))
159
158
  center = models.PointField(geography=True, verbose_name=_("center"))
160
159
  zoom = models.IntegerField(default=7, verbose_name=_("zoom"))
161
160
  locate = models.BooleanField(
@@ -198,6 +197,13 @@ class Map(NamedModel):
198
197
  objects = models.Manager()
199
198
  public = PublicManager()
200
199
 
200
+ @property
201
+ def description(self):
202
+ try:
203
+ return self.settings["properties"]["description"]
204
+ except KeyError:
205
+ return ""
206
+
201
207
  @property
202
208
  def preview_settings(self):
203
209
  layers = self.datalayer_set.all()
@@ -213,13 +219,9 @@ class Map(NamedModel):
213
219
  "STATIC_URL": settings.STATIC_URL,
214
220
  "editMode": "disabled",
215
221
  "hash": False,
216
- "attributionControl": False,
217
222
  "scrollWheelZoom": False,
218
- "umapAttributionControl": False,
219
223
  "noControl": True,
220
224
  "umap_id": self.pk,
221
- "onLoadPanel": "none",
222
- "captionBar": False,
223
225
  "schema": self.extra_schema,
224
226
  "slideshow": {},
225
227
  }
umap/settings/base.py CHANGED
@@ -239,6 +239,7 @@ UMAP_EXTRA_URLS = {
239
239
  "routing": "http://www.openstreetmap.org/directions?engine=osrm_car&route={lat},{lng}&locale={locale}#map={zoom}/{lat}/{lng}", # noqa
240
240
  "ajax_proxy": "/ajax-proxy/?url={url}&ttl={ttl}",
241
241
  "search": "https://photon.komoot.io/api/?",
242
+ "edit_in_osm": "https://www.openstreetmap.org/edit#map={zoom}/{lat}/{lng}",
242
243
  }
243
244
  UMAP_KEEP_VERSIONS = env.int("UMAP_KEEP_VERSIONS", default=10)
244
245
  SITE_URL = env("SITE_URL", default="http://umap.org")
umap/static/umap/base.css CHANGED
@@ -21,6 +21,9 @@ a {
21
21
  text-decoration: none;
22
22
  color: SeaGreen;
23
23
  }
24
+ button {
25
+ cursor: pointer;
26
+ }
24
27
  hr {
25
28
  clear: both;
26
29
  width: 100%;
@@ -132,7 +135,7 @@ ul {
132
135
  /* forms */
133
136
  /* *********** */
134
137
  input[type="text"], input[type="password"], input[type="date"],
135
- input[type="datetime"], input[type="email"], input[type="number"],
138
+ input[type="datetime-local"], input[type="email"], input[type="number"],
136
139
  input[type="search"], input[type="tel"], input[type="time"],
137
140
  input[type="url"], textarea {
138
141
  background-color: white;
@@ -160,6 +163,8 @@ input[type="checkbox"] {
160
163
  textarea {
161
164
  height: inherit;
162
165
  padding: 7px;
166
+ min-height: 15rem;
167
+ min-height: 6rlh;
163
168
  }
164
169
  select {
165
170
  border: 1px solid #222;
@@ -258,6 +263,9 @@ input[type="checkbox"] + label {
258
263
  display: inline;
259
264
  padding: 0 14px;
260
265
  }
266
+ label input[type="radio"] {
267
+ margin-right: 10px;
268
+ }
261
269
  select + .error,
262
270
  input + .error {
263
271
  display: block;
@@ -273,12 +281,23 @@ input + .error {
273
281
  input[type="file"] + .error {
274
282
  margin-top: 0;
275
283
  }
284
+ input:invalid {
285
+ border-color: red;
286
+ background-color: darkred;
287
+ }
288
+ .dark input, .dark textarea {
289
+ background-color: #232729;
290
+ border-color: #1b1f20;
291
+ color: #efefef;
292
+ }
276
293
  .fieldset {
277
- border: 1px solid #222;
278
294
  margin-bottom: 5px;
279
295
  border-top-left-radius: 4px;
280
296
  border-top-right-radius: 4px;
281
297
  }
298
+ .dark .fieldset {
299
+ border: 1px solid #222;
300
+ }
282
301
  .fieldset .fields {
283
302
  visibility: hidden;
284
303
  opacity: 0;
@@ -296,7 +315,7 @@ input[type="file"] + .error {
296
315
  text-align: left;
297
316
  display: block;
298
317
  cursor: pointer;
299
- background-color: #eee;
318
+ background-color: var(--color-lightGray);
300
319
  height: 30px;
301
320
  line-height: 30px;
302
321
  margin: 0;
@@ -327,6 +346,11 @@ input[type="file"] + .error {
327
346
  .fieldset.toggle.on .legend:before {
328
347
  background-position: -144px -51px;
329
348
  }
349
+ fieldset legend {
350
+ font-size: 1.1rem;
351
+ padding: 0 5px;
352
+ }
353
+
330
354
  /* Switch */
331
355
  input.switch:empty {
332
356
  display: none;
@@ -528,7 +552,7 @@ i.info {
528
552
  background-position: -150px -78px;
529
553
  }
530
554
  .umap-delete:before {
531
- background-position: -40px -8px;
555
+ background-position: -32px -8px;
532
556
  }
533
557
  .umap-edit:before {
534
558
  background-position: -6px -6px;
@@ -542,12 +566,10 @@ i.info {
542
566
  .permissions-panel,
543
567
  .umap-upload,
544
568
  .umap-share,
545
- .umap-edit-container,
546
569
  .umap-datalayer-container,
547
570
  .umap-layer-properties-container,
548
571
  .umap-browse-data,
549
572
  .umap-facet-search,
550
- .umap-browse-datalayers,
551
573
  .umap-tilelayer-switcher-container {
552
574
  padding: 0 10px;
553
575
  }
@@ -558,20 +580,29 @@ i.info {
558
580
  margin-top: -8px;
559
581
  padding: 0 5px;
560
582
  }
561
- .pictogram-tabs {
583
+ .flat-tabs {
562
584
  display: flex;
563
585
  justify-content: space-around;
564
586
  font-size: 1.2em;
565
- padding-bottom: 20px;
587
+ margin-bottom: 20px;
588
+ border-bottom: 1px solid #bebebe;
566
589
  }
567
- .pictogram-tabs button {
590
+ .flat-tabs button {
568
591
  padding: 10px;
569
- color: #fff;
570
592
  text-decoration: none;
571
593
  cursor: pointer;
594
+ border-bottom: 1px solid transparent;
572
595
  }
573
- .pictogram-tabs .on {
596
+ .flat-tabs button:hover,
597
+ .flat-tabs .on {
574
598
  font-weight: bold;
599
+ border-bottom: 1px solid #444;
600
+ }
601
+ .dark .flat-tabs button {
602
+ color: #fff;
603
+ }
604
+ .dark .flat-tabs button:hover,
605
+ .dark .flat-tabs .on {
575
606
  border-bottom: 1px solid #fff;
576
607
  }
577
608
  .umap-pictogram-category h6 {
@@ -663,7 +694,7 @@ input[type=hidden].blur + [type="button"] {
663
694
  .copiable-input button {
664
695
  background-repeat: no-repeat;
665
696
  background-image: url('./img/16.svg');
666
- background-position: -45px -140px;
697
+ background-position: -141px -140px;
667
698
  display: inline;
668
699
  padding: 0 10px;
669
700
  height: 32px;
@@ -678,105 +709,10 @@ input[type=hidden].blur + [type="button"] {
678
709
  .leaflet-ui-container {
679
710
  overflow-x: hidden;
680
711
  }
681
- #umap-ui-container {
682
- /* Added for playwright to consider the element as non visible */
683
- /* as being out of the visible viewport is not enough */
684
- visibility: hidden;
685
- position: absolute;
686
- bottom: 0;
687
- padding: 0 10px;
688
- border-left: 1px solid var(--color-lightGray);
689
- overflow-x: auto;
690
- z-index: 1010;
691
- background-color: #fff;
692
- opacity: 0.98;
693
- cursor: initial;
694
- }
695
- #umap-ui-container.login-panel {
696
- position: fixed; /* Should not scroll when used in content pages (like home page) */
697
- z-index: 1011; /* Above a map panel if any */
698
- }
699
- #umap-ui-container.dark {
700
- border-left: 1px solid #222;
701
- background-color: var(--color-darkGray);
702
- color: #efefef;
703
- }
704
- #umap-ui-container.fullwidth {
705
- width: 100%;
706
- right: -100%;
707
- z-index: 10000;
708
- padding-left: 0;
709
- padding-right: 0;
710
- }
711
- .umap-caption-bar-enabled #umap-ui-container {
712
- bottom: 46px;
713
- }
714
712
  .leaflet-top,
715
713
  .leaflet-right {
716
714
  transition: all .7s;
717
715
  }
718
- .umap-ui .leaflet-right {
719
- right: 400px;
720
- }
721
- #umap-ui-container,
722
- #umap-alert-container,
723
- #umap-tooltip-container {
724
- -moz-box-sizing:border-box;
725
- -webkit-box-sizing:border-box;
726
- box-sizing: border-box;
727
- }
728
- #umap-ui-container .umap-popup-content img {
729
- /* See https://github.com/Leaflet/Leaflet/commit/61d746818b99d362108545c151a27f09d60960ee#commitcomment-6061847 */
730
- max-width: 99% !important;
731
- }
732
- #umap-ui-container .umap-popup-content {
733
- max-height: inherit;
734
- }
735
- #umap-ui-container .body {
736
- clear: both;
737
- height: calc(100% - 54px); /* Minus size of toolbox */
738
- }
739
- #umap-ui-container .toolbox {
740
- padding: 5px 10px;
741
- overflow: hidden;
742
- display: flex;
743
- flex-direction: row-reverse;
744
- font-size: 10px;
745
- justify-content: flex-start;
746
- gap: 5px;
747
- }
748
- #umap-ui-container .toolbox li {
749
- color: #2e3436;
750
- line-height: 32px;
751
- cursor: pointer;
752
- float: right;
753
- display: inline;
754
- padding: 0 7px;
755
- border: 1px solid #b6b6b3;
756
- border-radius: 2px;
757
- }
758
- #umap-ui-container.dark .toolbox li {
759
- color: #d3dfeb;
760
- border: 1px solid #202425;
761
- }
762
- #umap-ui-container .toolbox li:hover {
763
- color: #2e3436;
764
- background-color: #d4d4d2;
765
- }
766
- #umap-ui-container.dark .toolbox li:hover {
767
- color: #eeeeec;
768
- background-color: #353c3e;
769
- }
770
- .dark input, .dark textarea {
771
- background-color: #232729;
772
- border-color: #1b1f20;
773
- /*box-shadow: inset 0 0 0 1px #215d9c;*/
774
- color: #efefef;
775
- }
776
- input:invalid {
777
- border-color: red;
778
- background-color: darkred;
779
- }
780
716
 
781
717
 
782
718
  /* *********** */
@@ -897,27 +833,6 @@ input:invalid {
897
833
  /* *********** */
898
834
  /* Close link */
899
835
  /* *********** */
900
- .umap-close-icon {
901
- background-repeat: no-repeat;
902
- background-image: url('./img/16.svg');
903
- background-position: -28px -6px;
904
- display: inline;
905
- padding: 0 10px;
906
- vertical-align: middle;
907
- }
908
- .dark .umap-close-icon {
909
- background-image: url('./img/16-white.svg');
910
- }
911
- .dark .umap-close-link {
912
- border: 1px solid #202425;
913
- color: #eeeeec;
914
- padding: 0 7px;
915
- line-height: 32px;
916
- background-color: var(--color-darkGray);
917
- }
918
- .dark .umap-close-link:hover {
919
- background-color: #2e3436;
920
- }
921
836
  #umap-alert-container .umap-close-link {
922
837
  color: #fff;
923
838
  float: right;
@@ -962,35 +877,7 @@ input:invalid {
962
877
  /* *********** */
963
878
  /* Mobile */
964
879
  /* *********** */
965
- @media all and (orientation:landscape) {
966
- .umap-edit-enabled #umap-ui-container {
967
- top: 46px;
968
- }
969
- #umap-ui-container {
970
- width: 400px;
971
- right: -400px;
972
- top: 0;
973
- }
974
- .umap-ui #umap-ui-container {
975
- right: 0;
976
- visibility: visible;
977
- }
978
- }
979
880
  @media all and (orientation:portrait) {
980
- #umap-ui-container {
981
- height: 50%;
982
- max-height: 400px;
983
- width: 100%;
984
- bottom: 0;
985
- right: -100%;
986
- }
987
- .umap-ui #umap-ui-container {
988
- right: 0;
989
- visibility: visible;
990
- }
991
- .umap-ui .leaflet-right {
992
- right: 0;
993
- }
994
881
  #umap-alert-container {
995
882
  width: 100%;
996
883
  left: 0;
@@ -17,22 +17,6 @@ input:-moz-placeholder, :-moz-placeholder {
17
17
  color: #a5a5a5;
18
18
  }
19
19
 
20
- #umap-ui-container textarea {
21
- height: 100px;
22
- margin-bottom: 14px;
23
- }
24
- #umap-ui-container select {
25
- margin-bottom: 10px;
26
- }
27
-
28
- #umap-ui-container.warning .button {
29
- background-color: #c60f13;
30
- border: 1px solid #7f0a0c;
31
- }
32
- #umap-ui-container.warning .button:hover {
33
- background-color: #970b0e;
34
- }
35
-
36
20
 
37
21
  /* **************** */
38
22
  /* Login icons */
@@ -194,9 +178,6 @@ h2.tabs a:hover {
194
178
  color: #efefef;
195
179
  text-decoration: underline;
196
180
  }
197
- body.content #umap-ui-container {
198
- background-color: #fff;
199
- }
200
181
 
201
182
 
202
183
  /* **************************** */
@@ -356,23 +337,24 @@ ul.umap-autocomplete {
356
337
  height: 36px;
357
338
  width: 36px;
358
339
  margin: 3px;
340
+ background-position: initial;
359
341
  }
360
- .icon-view {
342
+ .content .icon-view {
361
343
  background-image: url('./img/icon-view.svg');
362
344
  }
363
- .icon-share {
345
+ .content .icon-share {
364
346
  background-image: url('./img/icon-share.svg');
365
347
  }
366
- .icon-edit {
348
+ .content .icon-edit {
367
349
  background-image: url('./img/icon-edit.svg');
368
350
  }
369
- .icon-download {
351
+ .content .icon-download {
370
352
  background-image: url('./img/icon-download.svg');
371
353
  }
372
- .icon-duplicate {
354
+ .content .icon-duplicate {
373
355
  background-image: url('./img/icon-duplicate.svg');
374
356
  }
375
- .icon-delete {
357
+ .content .icon-delete {
376
358
  background-image: url('./img/icon-delete.svg');
377
359
  }
378
360
  .table-header {