umap-project 2.1.3__py3-none-any.whl → 2.2.0b0__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 (196) 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 +29 -151
  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 +82 -73
  25. umap/static/umap/js/modules/dompurify.js +12 -0
  26. umap/static/umap/js/modules/facets.js +148 -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.controls.js +183 -330
  36. umap/static/umap/js/umap.core.js +60 -364
  37. umap/static/umap/js/umap.datalayer.permissions.js +1 -1
  38. umap/static/umap/js/umap.features.js +60 -40
  39. umap/static/umap/js/umap.forms.js +111 -25
  40. umap/static/umap/js/umap.icon.js +11 -4
  41. umap/static/umap/js/umap.importer.js +24 -17
  42. umap/static/umap/js/umap.js +170 -145
  43. umap/static/umap/js/umap.layer.js +71 -40
  44. umap/static/umap/js/umap.permissions.js +9 -11
  45. umap/static/umap/js/umap.popup.js +10 -21
  46. umap/static/umap/js/umap.share.js +11 -8
  47. umap/static/umap/js/umap.tableeditor.js +4 -6
  48. umap/static/umap/js/umap.ui.js +0 -51
  49. umap/static/umap/locale/am_ET.js +242 -227
  50. umap/static/umap/locale/am_ET.json +18 -7
  51. umap/static/umap/locale/ar.js +242 -227
  52. umap/static/umap/locale/ar.json +18 -7
  53. umap/static/umap/locale/ast.js +242 -227
  54. umap/static/umap/locale/ast.json +18 -7
  55. umap/static/umap/locale/bg.js +242 -227
  56. umap/static/umap/locale/bg.json +18 -7
  57. umap/static/umap/locale/br.js +252 -237
  58. umap/static/umap/locale/br.json +22 -11
  59. umap/static/umap/locale/ca.js +242 -227
  60. umap/static/umap/locale/ca.json +18 -7
  61. umap/static/umap/locale/cs_CZ.js +242 -227
  62. umap/static/umap/locale/cs_CZ.json +18 -7
  63. umap/static/umap/locale/da.js +242 -227
  64. umap/static/umap/locale/da.json +18 -7
  65. umap/static/umap/locale/de.js +242 -227
  66. umap/static/umap/locale/de.json +18 -7
  67. umap/static/umap/locale/el.js +242 -227
  68. umap/static/umap/locale/el.json +18 -7
  69. umap/static/umap/locale/en.js +242 -234
  70. umap/static/umap/locale/en.json +19 -8
  71. umap/static/umap/locale/en_US.json +18 -7
  72. umap/static/umap/locale/es.js +242 -227
  73. umap/static/umap/locale/es.json +18 -7
  74. umap/static/umap/locale/et.js +242 -227
  75. umap/static/umap/locale/et.json +18 -7
  76. umap/static/umap/locale/eu.js +227 -199
  77. umap/static/umap/locale/eu.json +1 -1
  78. umap/static/umap/locale/fa_IR.js +242 -227
  79. umap/static/umap/locale/fa_IR.json +18 -7
  80. umap/static/umap/locale/fi.js +242 -227
  81. umap/static/umap/locale/fi.json +18 -7
  82. umap/static/umap/locale/fr.js +242 -234
  83. umap/static/umap/locale/fr.json +18 -7
  84. umap/static/umap/locale/gl.js +242 -227
  85. umap/static/umap/locale/gl.json +18 -7
  86. umap/static/umap/locale/he.js +242 -227
  87. umap/static/umap/locale/he.json +18 -7
  88. umap/static/umap/locale/hr.js +242 -227
  89. umap/static/umap/locale/hr.json +18 -7
  90. umap/static/umap/locale/hu.js +242 -234
  91. umap/static/umap/locale/hu.json +18 -7
  92. umap/static/umap/locale/id.js +242 -227
  93. umap/static/umap/locale/id.json +18 -7
  94. umap/static/umap/locale/is.js +242 -227
  95. umap/static/umap/locale/is.json +18 -7
  96. umap/static/umap/locale/it.js +242 -234
  97. umap/static/umap/locale/it.json +18 -7
  98. umap/static/umap/locale/ja.js +242 -227
  99. umap/static/umap/locale/ja.json +18 -7
  100. umap/static/umap/locale/ko.js +242 -227
  101. umap/static/umap/locale/ko.json +18 -7
  102. umap/static/umap/locale/lt.js +242 -227
  103. umap/static/umap/locale/lt.json +18 -7
  104. umap/static/umap/locale/ms.js +242 -234
  105. umap/static/umap/locale/ms.json +19 -8
  106. umap/static/umap/locale/nl.js +245 -230
  107. umap/static/umap/locale/nl.json +18 -7
  108. umap/static/umap/locale/no.js +242 -227
  109. umap/static/umap/locale/no.json +18 -7
  110. umap/static/umap/locale/pl.js +242 -227
  111. umap/static/umap/locale/pl.json +18 -7
  112. umap/static/umap/locale/pl_PL.json +18 -7
  113. umap/static/umap/locale/pt.js +242 -227
  114. umap/static/umap/locale/pt.json +18 -7
  115. umap/static/umap/locale/pt_BR.js +242 -227
  116. umap/static/umap/locale/pt_BR.json +18 -7
  117. umap/static/umap/locale/pt_PT.js +242 -227
  118. umap/static/umap/locale/pt_PT.json +18 -7
  119. umap/static/umap/locale/ro.js +242 -227
  120. umap/static/umap/locale/ro.json +18 -7
  121. umap/static/umap/locale/ru.js +242 -227
  122. umap/static/umap/locale/ru.json +18 -7
  123. umap/static/umap/locale/si.js +1 -1
  124. umap/static/umap/locale/si.json +1 -1
  125. umap/static/umap/locale/sk_SK.js +242 -227
  126. umap/static/umap/locale/sk_SK.json +18 -7
  127. umap/static/umap/locale/sl.js +242 -227
  128. umap/static/umap/locale/sl.json +18 -7
  129. umap/static/umap/locale/sr.js +242 -227
  130. umap/static/umap/locale/sr.json +18 -7
  131. umap/static/umap/locale/sv.js +242 -227
  132. umap/static/umap/locale/sv.json +18 -7
  133. umap/static/umap/locale/th_TH.js +242 -227
  134. umap/static/umap/locale/th_TH.json +18 -7
  135. umap/static/umap/locale/tr.js +242 -227
  136. umap/static/umap/locale/tr.json +18 -7
  137. umap/static/umap/locale/uk_UA.js +242 -227
  138. umap/static/umap/locale/uk_UA.json +18 -7
  139. umap/static/umap/locale/vi.js +242 -227
  140. umap/static/umap/locale/vi.json +18 -7
  141. umap/static/umap/locale/vi_VN.json +18 -7
  142. umap/static/umap/locale/zh.js +242 -227
  143. umap/static/umap/locale/zh.json +18 -7
  144. umap/static/umap/locale/zh_CN.json +18 -7
  145. umap/static/umap/locale/zh_TW.Big5.json +18 -7
  146. umap/static/umap/locale/zh_TW.js +242 -234
  147. umap/static/umap/locale/zh_TW.json +18 -7
  148. umap/static/umap/map.css +114 -265
  149. umap/static/umap/test/DataLayer.js +463 -0
  150. umap/static/umap/test/Feature.js +0 -226
  151. umap/static/umap/test/TableEditor.js +104 -0
  152. umap/static/umap/test/Util.js +0 -521
  153. umap/static/umap/test/index.html +0 -1
  154. umap/static/umap/unittests/URLs.js +1 -1
  155. umap/static/umap/unittests/utils.js +610 -0
  156. umap/static/umap/vars.css +9 -0
  157. umap/static/umap/vendors/dompurify/purify.es.mjs +1525 -0
  158. umap/static/umap/vendors/iconlayers/iconLayers.js +1 -1
  159. umap/templates/umap/css.html +2 -0
  160. umap/templates/umap/js.html +0 -1
  161. umap/templates/umap/map_detail.html +4 -0
  162. umap/templates/umap/map_table.html +12 -10
  163. umap/templatetags/umap_tags.py +5 -0
  164. umap/tests/integration/conftest.py +12 -1
  165. umap/tests/integration/test_anonymous_owned_map.py +6 -5
  166. umap/tests/integration/test_browser.py +12 -25
  167. umap/tests/integration/test_choropleth.py +1 -1
  168. umap/tests/integration/test_dashboard.py +10 -0
  169. umap/tests/integration/test_datalayer.py +8 -6
  170. umap/tests/integration/test_edit_datalayer.py +24 -19
  171. umap/tests/integration/test_edit_map.py +182 -2
  172. umap/tests/integration/test_edit_marker.py +120 -0
  173. umap/tests/integration/test_edit_polygon.py +122 -0
  174. umap/tests/integration/test_facets_browser.py +104 -14
  175. umap/tests/integration/test_import.py +70 -20
  176. umap/tests/integration/test_map.py +19 -17
  177. umap/tests/integration/test_map_list.py +28 -0
  178. umap/tests/integration/test_owned_map.py +10 -10
  179. umap/tests/integration/test_picto.py +5 -5
  180. umap/tests/integration/test_querystring.py +9 -15
  181. umap/tests/integration/test_slideshow.py +0 -5
  182. umap/tests/integration/test_statics.py +3 -2
  183. umap/tests/integration/test_tableeditor.py +1 -5
  184. umap/tests/integration/test_view_marker.py +64 -0
  185. umap/tests/integration/test_view_polygon.py +59 -0
  186. umap/tests/integration/test_view_polyline.py +51 -0
  187. umap/tests/test_map_views.py +13 -0
  188. {umap_project-2.1.3.dist-info → umap_project-2.2.0b0.dist-info}/METADATA +8 -8
  189. {umap_project-2.1.3.dist-info → umap_project-2.2.0b0.dist-info}/RECORD +194 -178
  190. umap/static/umap/vendors/dompurify/purify.min.js +0 -3
  191. umap/static/umap/vendors/dompurify/purify.min.js.map +0 -1
  192. /umap/tests/integration/{test_polygon.py → test_draw_polygon.py} +0 -0
  193. /umap/tests/integration/{test_polyline.py → test_draw_polyline.py} +0 -0
  194. {umap_project-2.1.3.dist-info → umap_project-2.2.0b0.dist-info}/WHEEL +0 -0
  195. {umap_project-2.1.3.dist-info → umap_project-2.2.0b0.dist-info}/entry_points.txt +0 -0
  196. {umap_project-2.1.3.dist-info → umap_project-2.2.0b0.dist-info}/licenses/LICENSE +0 -0
umap/__init__.py CHANGED
@@ -1 +1 @@
1
- VERSION = "2.1.3"
1
+ VERSION = "2.2.0b0"
@@ -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
  }
@@ -663,7 +685,7 @@ input[type=hidden].blur + [type="button"] {
663
685
  .copiable-input button {
664
686
  background-repeat: no-repeat;
665
687
  background-image: url('./img/16.svg');
666
- background-position: -45px -140px;
688
+ background-position: -141px -140px;
667
689
  display: inline;
668
690
  padding: 0 10px;
669
691
  height: 32px;
@@ -678,105 +700,10 @@ input[type=hidden].blur + [type="button"] {
678
700
  .leaflet-ui-container {
679
701
  overflow-x: hidden;
680
702
  }
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
703
  .leaflet-top,
715
704
  .leaflet-right {
716
705
  transition: all .7s;
717
706
  }
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
707
 
781
708
 
782
709
  /* *********** */
@@ -897,27 +824,6 @@ input:invalid {
897
824
  /* *********** */
898
825
  /* Close link */
899
826
  /* *********** */
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
827
  #umap-alert-container .umap-close-link {
922
828
  color: #fff;
923
829
  float: right;
@@ -962,35 +868,7 @@ input:invalid {
962
868
  /* *********** */
963
869
  /* Mobile */
964
870
  /* *********** */
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
871
  @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
872
  #umap-alert-container {
995
873
  width: 100%;
996
874
  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 {