umap-project 2.8.1__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 (262) 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/hu/LC_MESSAGES/django.mo +0 -0
  19. umap/locale/hu/LC_MESSAGES/django.po +10 -10
  20. umap/locale/it/LC_MESSAGES/django.mo +0 -0
  21. umap/locale/it/LC_MESSAGES/django.po +142 -98
  22. umap/locale/nl/LC_MESSAGES/django.mo +0 -0
  23. umap/locale/nl/LC_MESSAGES/django.po +196 -151
  24. umap/locale/pt/LC_MESSAGES/django.mo +0 -0
  25. umap/locale/pt/LC_MESSAGES/django.po +115 -71
  26. umap/locale/zh_TW/LC_MESSAGES/django.mo +0 -0
  27. umap/locale/zh_TW/LC_MESSAGES/django.po +109 -65
  28. umap/management/commands/empty_trash.py +12 -1
  29. umap/migrations/0026_datalayer_modified_at_datalayer_share_status.py +26 -0
  30. umap/models.py +43 -13
  31. umap/settings/base.py +5 -2
  32. umap/static/umap/base.css +5 -2
  33. umap/static/umap/content.css +2 -22
  34. umap/static/umap/css/bar.css +39 -10
  35. umap/static/umap/css/contextmenu.css +14 -2
  36. umap/static/umap/css/form.css +33 -39
  37. umap/static/umap/css/icon.css +47 -5
  38. umap/static/umap/css/panel.css +20 -2
  39. umap/static/umap/css/popup.css +0 -1
  40. umap/static/umap/css/tooltip.css +33 -31
  41. umap/static/umap/img/16-white.svg +5 -3
  42. umap/static/umap/img/16.svg +1 -1
  43. umap/static/umap/img/24-white.svg +17 -16
  44. umap/static/umap/img/24.svg +29 -18
  45. umap/static/umap/img/providers/bitbucket.png +0 -0
  46. umap/static/umap/img/providers/github.png +0 -0
  47. umap/static/umap/img/providers/keycloak.png +0 -0
  48. umap/static/umap/img/providers/openstreetmap-oauth2.png +0 -0
  49. umap/static/umap/img/providers/twitter-oauth2.png +0 -0
  50. umap/static/umap/img/source/16-white.svg +6 -4
  51. umap/static/umap/img/source/16.svg +1 -1
  52. umap/static/umap/img/source/24-white.svg +20 -18
  53. umap/static/umap/img/source/24.svg +30 -19
  54. umap/static/umap/js/components/alerts/alert.js +4 -1
  55. umap/static/umap/js/modules/browser.js +8 -8
  56. umap/static/umap/js/modules/caption.js +30 -7
  57. umap/static/umap/js/modules/data/features.js +101 -56
  58. umap/static/umap/js/modules/data/layer.js +108 -83
  59. umap/static/umap/js/modules/form/builder.js +242 -0
  60. umap/static/umap/js/modules/form/fields.js +1346 -0
  61. umap/static/umap/js/modules/formatter.js +9 -8
  62. umap/static/umap/js/modules/help.js +20 -24
  63. umap/static/umap/js/modules/importer.js +6 -3
  64. umap/static/umap/js/modules/permissions.js +11 -6
  65. umap/static/umap/js/modules/rendering/icon.js +5 -1
  66. umap/static/umap/js/modules/rendering/layers/classified.js +12 -8
  67. umap/static/umap/js/modules/rendering/layers/cluster.js +11 -1
  68. umap/static/umap/js/modules/rendering/map.js +1 -23
  69. umap/static/umap/js/modules/rendering/ui.js +20 -38
  70. umap/static/umap/js/modules/rules.js +3 -2
  71. umap/static/umap/js/modules/saving.js +5 -0
  72. umap/static/umap/js/modules/schema.js +8 -6
  73. umap/static/umap/js/modules/share.js +3 -3
  74. umap/static/umap/js/modules/sync/engine.js +56 -26
  75. umap/static/umap/js/modules/sync/updaters.js +15 -6
  76. umap/static/umap/js/modules/sync/websocket.js +50 -37
  77. umap/static/umap/js/modules/tableeditor.js +3 -2
  78. umap/static/umap/js/modules/ui/bar.js +101 -9
  79. umap/static/umap/js/modules/ui/base.js +7 -24
  80. umap/static/umap/js/modules/ui/contextmenu.js +9 -2
  81. umap/static/umap/js/modules/ui/panel.js +5 -1
  82. umap/static/umap/js/modules/ui/tooltip.js +19 -11
  83. umap/static/umap/js/modules/umap.js +124 -71
  84. umap/static/umap/js/modules/utils.js +196 -12
  85. umap/static/umap/js/umap.controls.js +12 -354
  86. umap/static/umap/locale/am_ET.js +17 -5
  87. umap/static/umap/locale/am_ET.json +17 -5
  88. umap/static/umap/locale/ar.js +17 -5
  89. umap/static/umap/locale/ar.json +17 -5
  90. umap/static/umap/locale/ast.js +17 -5
  91. umap/static/umap/locale/ast.json +17 -5
  92. umap/static/umap/locale/bg.js +17 -5
  93. umap/static/umap/locale/bg.json +17 -5
  94. umap/static/umap/locale/br.js +33 -20
  95. umap/static/umap/locale/br.json +33 -20
  96. umap/static/umap/locale/ca.js +17 -5
  97. umap/static/umap/locale/ca.json +17 -5
  98. umap/static/umap/locale/cs_CZ.js +15 -5
  99. umap/static/umap/locale/cs_CZ.json +15 -5
  100. umap/static/umap/locale/da.js +17 -5
  101. umap/static/umap/locale/da.json +17 -5
  102. umap/static/umap/locale/de.js +17 -5
  103. umap/static/umap/locale/de.json +17 -5
  104. umap/static/umap/locale/el.js +63 -51
  105. umap/static/umap/locale/el.json +63 -51
  106. umap/static/umap/locale/en.js +15 -5
  107. umap/static/umap/locale/en.json +15 -5
  108. umap/static/umap/locale/en_US.json +17 -5
  109. umap/static/umap/locale/es.js +25 -13
  110. umap/static/umap/locale/es.json +25 -13
  111. umap/static/umap/locale/et.js +17 -5
  112. umap/static/umap/locale/et.json +17 -5
  113. umap/static/umap/locale/eu.js +17 -5
  114. umap/static/umap/locale/eu.json +17 -5
  115. umap/static/umap/locale/fa_IR.js +17 -5
  116. umap/static/umap/locale/fa_IR.json +17 -5
  117. umap/static/umap/locale/fi.js +17 -5
  118. umap/static/umap/locale/fi.json +17 -5
  119. umap/static/umap/locale/fr.js +16 -6
  120. umap/static/umap/locale/fr.json +16 -6
  121. umap/static/umap/locale/gl.js +357 -345
  122. umap/static/umap/locale/gl.json +357 -345
  123. umap/static/umap/locale/he.js +17 -5
  124. umap/static/umap/locale/he.json +17 -5
  125. umap/static/umap/locale/hr.js +17 -5
  126. umap/static/umap/locale/hr.json +17 -5
  127. umap/static/umap/locale/hu.js +39 -27
  128. umap/static/umap/locale/hu.json +39 -27
  129. umap/static/umap/locale/id.js +17 -5
  130. umap/static/umap/locale/id.json +17 -5
  131. umap/static/umap/locale/is.js +17 -5
  132. umap/static/umap/locale/is.json +17 -5
  133. umap/static/umap/locale/it.js +125 -113
  134. umap/static/umap/locale/it.json +125 -113
  135. umap/static/umap/locale/ja.js +17 -5
  136. umap/static/umap/locale/ja.json +17 -5
  137. umap/static/umap/locale/ko.js +17 -5
  138. umap/static/umap/locale/ko.json +17 -5
  139. umap/static/umap/locale/lt.js +17 -5
  140. umap/static/umap/locale/lt.json +17 -5
  141. umap/static/umap/locale/ms.js +17 -5
  142. umap/static/umap/locale/ms.json +17 -5
  143. umap/static/umap/locale/nl.js +132 -119
  144. umap/static/umap/locale/nl.json +132 -119
  145. umap/static/umap/locale/no.js +17 -5
  146. umap/static/umap/locale/no.json +17 -5
  147. umap/static/umap/locale/pl.js +17 -5
  148. umap/static/umap/locale/pl.json +17 -5
  149. umap/static/umap/locale/pl_PL.json +17 -5
  150. umap/static/umap/locale/pt.js +38 -25
  151. umap/static/umap/locale/pt.json +38 -25
  152. umap/static/umap/locale/pt_BR.js +17 -5
  153. umap/static/umap/locale/pt_BR.json +17 -5
  154. umap/static/umap/locale/pt_PT.js +17 -5
  155. umap/static/umap/locale/pt_PT.json +17 -5
  156. umap/static/umap/locale/ro.js +17 -5
  157. umap/static/umap/locale/ro.json +17 -5
  158. umap/static/umap/locale/ru.js +17 -5
  159. umap/static/umap/locale/ru.json +17 -5
  160. umap/static/umap/locale/sk_SK.js +17 -5
  161. umap/static/umap/locale/sk_SK.json +17 -5
  162. umap/static/umap/locale/sl.js +17 -5
  163. umap/static/umap/locale/sl.json +17 -5
  164. umap/static/umap/locale/sr.js +17 -5
  165. umap/static/umap/locale/sr.json +17 -5
  166. umap/static/umap/locale/sv.js +17 -5
  167. umap/static/umap/locale/sv.json +17 -5
  168. umap/static/umap/locale/th_TH.js +17 -5
  169. umap/static/umap/locale/th_TH.json +17 -5
  170. umap/static/umap/locale/tr.js +17 -5
  171. umap/static/umap/locale/tr.json +17 -5
  172. umap/static/umap/locale/uk_UA.js +17 -5
  173. umap/static/umap/locale/uk_UA.json +17 -5
  174. umap/static/umap/locale/vi.js +17 -5
  175. umap/static/umap/locale/vi.json +17 -5
  176. umap/static/umap/locale/vi_VN.json +17 -5
  177. umap/static/umap/locale/zh.js +17 -5
  178. umap/static/umap/locale/zh.json +17 -5
  179. umap/static/umap/locale/zh_CN.json +17 -5
  180. umap/static/umap/locale/zh_TW.Big5.json +17 -5
  181. umap/static/umap/locale/zh_TW.js +15 -5
  182. umap/static/umap/locale/zh_TW.json +15 -5
  183. umap/static/umap/map.css +29 -76
  184. umap/static/umap/nav.css +6 -3
  185. umap/static/umap/unittests/utils.js +14 -0
  186. umap/static/umap/vars.css +3 -0
  187. umap/static/umap/vendors/dompurify/purify.es.js +138 -354
  188. umap/static/umap/vendors/dompurify/purify.es.mjs.map +1 -1
  189. umap/static/umap/vendors/editable/Leaflet.Editable.js +1 -0
  190. umap/sync/__init__.py +0 -0
  191. umap/sync/app.py +187 -0
  192. umap/sync/payloads.py +56 -0
  193. umap/templates/auth/user_detail.html +4 -0
  194. umap/templates/auth/user_form.html +9 -6
  195. umap/templates/auth/user_stars.html +4 -0
  196. umap/templates/base.html +1 -1
  197. umap/templates/registration/login.html +2 -5
  198. umap/templates/umap/about.html +5 -0
  199. umap/templates/umap/about_summary.html +2 -2
  200. umap/templates/umap/components/provider.html +8 -0
  201. umap/templates/umap/content_footer.html +1 -1
  202. umap/templates/umap/css.html +0 -2
  203. umap/templates/umap/js.html +0 -4
  204. umap/templates/umap/map_detail.html +1 -1
  205. umap/templates/umap/password_change.html +4 -0
  206. umap/templates/umap/password_change_done.html +4 -0
  207. umap/templates/umap/search.html +4 -0
  208. umap/templates/umap/search_bar.html +1 -0
  209. umap/templates/umap/team_confirm_delete.html +4 -0
  210. umap/templates/umap/team_detail.html +4 -0
  211. umap/templates/umap/team_form.html +4 -0
  212. umap/templates/umap/user_dashboard.html +1 -1
  213. umap/templates/umap/user_teams.html +4 -0
  214. umap/tests/base.py +3 -1
  215. umap/tests/integration/conftest.py +16 -23
  216. umap/tests/integration/test_anonymous_owned_map.py +2 -2
  217. umap/tests/integration/test_basics.py +4 -7
  218. umap/tests/integration/test_caption.py +1 -0
  219. umap/tests/integration/test_categorized_layer.py +4 -8
  220. umap/tests/integration/test_choropleth.py +1 -1
  221. umap/tests/integration/test_conditional_rules.py +3 -3
  222. umap/tests/integration/test_draw_polygon.py +14 -22
  223. umap/tests/integration/test_draw_polyline.py +6 -14
  224. umap/tests/integration/test_edit_datalayer.py +11 -11
  225. umap/tests/integration/test_edit_map.py +30 -4
  226. umap/tests/integration/test_edit_marker.py +5 -5
  227. umap/tests/integration/test_edit_polygon.py +6 -6
  228. umap/tests/integration/test_features_id_generation.py +2 -6
  229. umap/tests/integration/test_import.py +115 -29
  230. umap/tests/integration/test_optimistic_merge.py +1 -0
  231. umap/tests/integration/test_owned_map.py +1 -1
  232. umap/tests/integration/test_picto.py +8 -8
  233. umap/tests/integration/test_save.py +3 -2
  234. umap/tests/integration/test_star.py +13 -9
  235. umap/tests/integration/test_tableeditor.py +8 -7
  236. umap/tests/integration/test_view_marker.py +10 -0
  237. umap/tests/integration/test_websocket_sync.py +239 -64
  238. umap/tests/settings.py +2 -0
  239. umap/tests/test_datalayer.py +2 -3
  240. umap/tests/test_datalayer_views.py +20 -1
  241. umap/tests/test_empty_trash.py +10 -3
  242. umap/tests/test_map_views.py +11 -0
  243. umap/utils.py +27 -11
  244. umap/views.py +37 -6
  245. {umap_project-2.8.1.dist-info → umap_project-2.9.0.dist-info}/METADATA +22 -22
  246. {umap_project-2.8.1.dist-info → umap_project-2.9.0.dist-info}/RECORD +249 -250
  247. {umap_project-2.8.1.dist-info → umap_project-2.9.0.dist-info}/WHEEL +1 -1
  248. umap/management/commands/run_websocket_server.py +0 -23
  249. umap/settings/local_s3.py +0 -45
  250. umap/static/umap/bitbucket.png +0 -0
  251. umap/static/umap/github.png +0 -0
  252. umap/static/umap/js/umap.forms.js +0 -1242
  253. umap/static/umap/keycloak.png +0 -0
  254. umap/static/umap/openstreetmap.png +0 -0
  255. umap/static/umap/twitter.png +0 -0
  256. umap/static/umap/vendors/formbuilder/Leaflet.FormBuilder.js +0 -468
  257. umap/static/umap/vendors/toolbar/leaflet.toolbar.css +0 -1
  258. umap/static/umap/vendors/toolbar/leaflet.toolbar.js +0 -1
  259. umap/tests/test_websocket_server.py +0 -22
  260. umap/websocket_server.py +0 -202
  261. {umap_project-2.8.1.dist-info → umap_project-2.9.0.dist-info}/entry_points.txt +0 -0
  262. {umap_project-2.8.1.dist-info → umap_project-2.9.0.dist-info}/licenses/LICENSE +0 -0
@@ -41,33 +41,14 @@ body.login header {
41
41
  display: inline-block;
42
42
  }
43
43
 
44
+ .login-grid span,
44
45
  .login-grid a {
45
46
  border: 1px solid #e5e5e5;
46
- padding: 5px;
47
47
  color: #000;
48
- background-position: center bottom;
49
- background-repeat: no-repeat;
50
- background-size: 92px 92px;
51
48
  height: 92px;
52
49
  width: 92px;
53
50
  margin-inline-end: 10px;
54
51
  }
55
- .login-grid .login-github {
56
- background-image: url("./github.png");
57
- }
58
- .login-grid .login-bitbucket {
59
- background-image: url("./bitbucket.png");
60
- }
61
- .login-grid .login-twitter-oauth2 {
62
- background-image: url("./twitter.png");
63
- }
64
- .login-grid .login-openstreetmap,
65
- .login-grid .login-openstreetmap-oauth2 {
66
- background-image: url("./openstreetmap.png");
67
- }
68
- .login-grid .login-keycloak {
69
- background-image: url("./keycloak.png");
70
- }
71
52
 
72
53
  /* **************************** */
73
54
  /* home */
@@ -164,6 +145,7 @@ h2.tabs a:hover {
164
145
  }
165
146
  .highlights {
166
147
  text-align: center;
148
+ margin-bottom: calc(var(--box-margin) * 2);
167
149
  }
168
150
  .highlights img.colophon {
169
151
  display: inline-block;
@@ -202,8 +184,6 @@ input[type="submit"],
202
184
  }
203
185
  .wrapper .button,
204
186
  .wrapper input {
205
- height: 56px;
206
- line-height: 43px;
207
187
  font-weight: bold;
208
188
  }
209
189
 
@@ -1,7 +1,6 @@
1
1
  .umap-main-edit-toolbox [type=button] {
2
2
  color: #fff;
3
3
  font-size: 1em;
4
- border: none;
5
4
  background-color: var(--color-darkGray);
6
5
  width: auto;
7
6
  margin-bottom: 0;
@@ -11,7 +10,7 @@
11
10
  }
12
11
 
13
12
  .leaflet-container [type=button].umap-help-link {
14
- padding-bottom: 3px;
13
+ padding: 0 var(--text-margin);
15
14
  background-color: inherit;
16
15
  }
17
16
  .leaflet-container .edit-save,
@@ -20,8 +19,6 @@
20
19
  .leaflet-container .connected-peers
21
20
  {
22
21
  display: block;
23
- border: none;
24
- border-radius: 20px;
25
22
  height: 32px;
26
23
  line-height: 30px;
27
24
  padding: 0 20px;
@@ -32,16 +29,16 @@
32
29
  background-color: var(--color-lightCyan);
33
30
  color: var(--color-dark);
34
31
  }
32
+ .dark [type=button].connected-peers:hover
33
+ {
34
+ text-decoration: none;
35
+ border: 0.5px solid var(--color-brightCyan);
36
+ }
35
37
  .dark .off.connected-peers {
36
38
  background-color: var(--color-lightGray);
37
39
  color: var(--color-darkGray);
38
40
  }
39
41
 
40
- .leaflet-container .edit-cancel,
41
- .leaflet-container .edit-disable,
42
- .leaflet-container .connected-peers{
43
- border: 0.5px solid rgba(153, 153, 153, 0.40);
44
- }
45
42
  .leaflet-container .edit-cancel:hover,
46
43
  .leaflet-container .edit-disable:hover {
47
44
  border: 0.5px solid rgba(153, 153, 153, 0.80);
@@ -120,7 +117,7 @@
120
117
  column-gap: 10px;
121
118
  }
122
119
  .umap-right-edit-toolbox {
123
- align-items: baseline;
120
+ align-items: center;
124
121
  }
125
122
 
126
123
  .umap-main-edit-toolbox .logo {
@@ -204,3 +201,35 @@
204
201
  .umap-caption-bar-enabled {
205
202
  --current-footer-height: var(--footer-height);
206
203
  }
204
+ .umap-edit-bar {
205
+ position: absolute;
206
+ right: var(--panel-gutter);
207
+ display: none;
208
+ top: calc(var(--current-header-height) + var(--panel-gutter));
209
+ flex-direction: column;
210
+ z-index: var(--zindex-panels);
211
+ width: var(--control-size);
212
+ background-color: var(--background-color);
213
+ border-radius: var(--border-radius);
214
+ }
215
+ .umap-edit-enabled .umap-edit-bar {
216
+ display: flex;
217
+ }
218
+ .umap-edit-bar li {
219
+ width: var(--control-size);
220
+ height: var(--control-size);
221
+ }
222
+ .umap-edit-bar button {
223
+ padding: 0;
224
+ border-radius: 0;
225
+ }
226
+ .umap-edit-bar li:first-of-type button {
227
+ border-radius: var(--border-radius) var(--border-radius) 0 0;
228
+ }
229
+ .umap-edit-bar li:last-of-type button {
230
+ border-radius: 0 0 var(--border-radius) var(--border-radius);
231
+ }
232
+ .umap-edit-bar hr {
233
+ padding: 0;
234
+ margin: 0;
235
+ }
@@ -1,12 +1,20 @@
1
1
  .umap-contextmenu {
2
2
  background-color: var(--background-color);
3
- padding: calc(var(--box-padding) / 2) var(--box-padding);
3
+ padding: calc(var(--box-padding) / 2) calc(var(--box-padding) / 2);
4
4
  position: fixed;
5
5
  z-index: var(--zindex-contextmenu);
6
6
  border-radius: var(--border-radius);
7
7
  box-shadow: var(--block-shadow);
8
+ display: flex;
9
+ flex-direction: column;
8
10
  }
9
- .umap-contextmenu li + li {
11
+ .umap-contextmenu-rows {
12
+ flex-direction: row;
13
+ align-items: center;
14
+ justify-content: center;
15
+ align-content: center;
16
+ }
17
+ .umap-contextmenu:not(.umap-contextmenu-rows) li + li {
10
18
  margin-top: var(--text-margin);
11
19
  }
12
20
 
@@ -14,3 +22,7 @@
14
22
  margin-top: var(--text-margin);
15
23
  margin-bottom: var(--text-margin);
16
24
  }
25
+
26
+ .dark.umap-contextmenu li button .icon:hover {
27
+ background-color: var(--color-mediumGray);
28
+ }
@@ -1,3 +1,4 @@
1
+ .umap-form-inline .formbox,
1
2
  .umap-form-inline {
2
3
  display: inline;
3
4
  }
@@ -75,18 +76,18 @@ select[multiple="multiple"] {
75
76
  .button,
76
77
  [type="button"],
77
78
  input[type="submit"] {
78
- display: block;
79
+ display: flex;
80
+ align-items: center;
79
81
  margin-bottom: 14px;
80
82
  text-align: center;
81
83
  border-radius: 2px;
82
84
  font-weight: normal;
83
85
  cursor: pointer;
84
- padding: 7px 14px;
85
- min-height: 32px;
86
- line-height: 32px;
86
+ padding: var(--button-padding);
87
87
  border: none;
88
88
  text-decoration: none;
89
89
  background-color: white;
90
+ justify-content: center;
90
91
  }
91
92
  .dark .button,
92
93
  .dark [type="button"] {
@@ -131,6 +132,14 @@ button.flat:hover,
131
132
  .dark [type="button"].flat:hover {
132
133
  text-decoration: underline;
133
134
  }
135
+ .dark button.round,
136
+ button.round {
137
+ border-radius: 20px;
138
+ border: 0.5px solid rgba(153, 153, 153, 0.40);
139
+ }
140
+ button.round.small {
141
+ padding: var(--button-padding-small);
142
+ }
134
143
  .help-text, .helptext {
135
144
  display: block;
136
145
  padding: 7px 7px;
@@ -337,11 +346,12 @@ input.switch:checked ~ label:after {
337
346
  width: 100%
338
347
  }
339
348
  .button-bar {
340
- grid-gap: 7px;
349
+ grid-gap: var(--gutter);
341
350
  }
342
351
  .umap-multiplechoice.by2,
343
352
  .button-bar.half {
344
353
  grid-template-columns: 1fr 1fr;
354
+ justify-items: center;
345
355
  }
346
356
  .button-bar.by3,
347
357
  .button-bar.by5,
@@ -358,6 +368,7 @@ input.switch:checked ~ label:after {
358
368
  .button-bar .button,
359
369
  .button-bar [type="button"] {
360
370
  display: inline-block;
371
+ width: 100%;
361
372
  }
362
373
  .umap-multiplechoice input[type='radio'] {
363
374
  display: none;
@@ -381,16 +392,19 @@ input.switch:checked ~ label:after {
381
392
  box-shadow: inset 0 0 6px 0px #2c3233;
382
393
  color: var(--color-darkGray);
383
394
  }
384
- .inheritable .header,
385
- .inheritable {
386
- clear: both;
387
- overflow: hidden;
395
+ .inheritable .header .buttons {
396
+ padding: 0;
388
397
  }
389
398
  .inheritable .header {
390
399
  margin-bottom: 5px;
400
+ display: flex;
401
+ align-items: center;
402
+ align-content: center;
403
+ justify-content: space-between;
391
404
  }
392
405
  .inheritable .header label {
393
406
  padding-top: 6px;
407
+ width: initial;
394
408
  }
395
409
  .inheritable + .inheritable {
396
410
  border-top: 1px solid #222;
@@ -400,22 +414,11 @@ input.switch:checked ~ label:after {
400
414
  .umap-field-iconUrl .action-button,
401
415
  .inheritable .define,
402
416
  .inheritable .undefine {
403
- float: inline-end;
404
417
  width: initial;
405
418
  min-height: 18px;
406
419
  line-height: 18px;
407
420
  margin-bottom: 0;
408
421
  }
409
- .inheritable .quick-actions {
410
- float: inline-end;
411
- }
412
- .inheritable .quick-actions .formbox {
413
- margin-bottom: 0;
414
- }
415
- .inheritable .quick-actions input {
416
- width: 100px;
417
- margin-inline-end: 5px;
418
- }
419
422
  .inheritable .define,
420
423
  .inheritable.undefined .undefine,
421
424
  .inheritable.undefined .show-on-defined {
@@ -476,15 +479,6 @@ i.info {
476
479
  .umap-download:before {
477
480
  background-position: -72px -78px;
478
481
  }
479
- .permissions-panel,
480
- .umap-upload,
481
- .umap-share,
482
- .umap-datalayer-container,
483
- .umap-layer-properties-container,
484
- .umap-browse-data,
485
- .umap-tilelayer-switcher-container {
486
- padding: 0 10px;
487
- }
488
482
  .umap-field-datalist {
489
483
  display: flex;
490
484
  justify-content: space-between;
@@ -493,12 +487,15 @@ i.info {
493
487
  padding: 0 5px;
494
488
  }
495
489
  .flat-tabs {
496
- display: flex;
490
+ display: none;
497
491
  justify-content: space-around;
498
492
  font-size: 1.2em;
499
493
  margin-bottom: 20px;
500
494
  border-bottom: 1px solid #bebebe;
501
495
  }
496
+ .flat-tabs:has(.flat) {
497
+ display: flex;
498
+ }
502
499
  .flat-tabs button {
503
500
  padding: 10px;
504
501
  text-decoration: none;
@@ -534,7 +531,7 @@ i.info {
534
531
  background-color: #999;
535
532
  text-align: center;
536
533
  margin-bottom: 5px;
537
- display: block;
534
+ display: inline-block;
538
535
  color: black;
539
536
  font-weight: bold;
540
537
  }
@@ -559,7 +556,6 @@ i.info {
559
556
  clear: both;
560
557
  margin-bottom: 20px;
561
558
  overflow: hidden;
562
- display: none;
563
559
  }
564
560
  .umap-color-picker span {
565
561
  width: 20px;
@@ -577,17 +573,11 @@ input.blur {
577
573
  border-start-end-radius: 0;
578
574
  border-end-end-radius: 0;
579
575
  }
580
- .blur + .button:before,
581
- .blur + [type="button"]:before {
582
- content: '✔';
583
- }
584
576
  .blur + .button,
585
577
  .blur + [type="button"] {
586
578
  width: 40px;
587
- height: 18px;
588
579
  display: inline-block;
589
580
  vertical-align: middle;
590
- line-height: 18px;
591
581
  border-start-start-radius: 0;
592
582
  border-end-start-radius: 0;
593
583
  box-sizing: border-box;
@@ -596,6 +586,10 @@ input[type=hidden].blur + .button,
596
586
  input[type=hidden].blur + [type="button"] {
597
587
  display: none;
598
588
  }
589
+ .blur-container {
590
+ display: flex;
591
+ align-items: stretch;
592
+ }
599
593
  .copiable-input {
600
594
  display: flex;
601
595
  align-items: end;
@@ -615,6 +609,6 @@ input[type=hidden].blur + [type="button"] {
615
609
  input.highlightable:not(:placeholder-shown) {
616
610
  border: 1px solid var(--color-brightCyan);
617
611
  }
618
- .umap-upload [type=url] {
612
+ .umap-import [type=url] {
619
613
  margin-bottom: 0;
620
614
  }
@@ -17,11 +17,11 @@
17
17
  background-image: url('../img/24.svg');
18
18
  --tile: -36px;
19
19
  height: 36px;
20
- line-height: 36px;
21
20
  width: 36px;
22
21
  }
23
22
  .icon + span {
24
- margin-inline-start: 10px;
23
+ margin-inline-start: 5px;
24
+ margin-inline-end: 5px;
25
25
  }
26
26
  html[dir="rtl"] .icon {
27
27
  transform: scaleX(-1);
@@ -62,15 +62,30 @@ html[dir="rtl"] .icon {
62
62
  .icon-caption {
63
63
  background-position: calc(var(--tile) * 4) var(--tile);
64
64
  }
65
+ .icon-center {
66
+ background-position: calc(var(--tile) * 4) calc(var(--tile) * 2);
67
+ }
68
+ .icon-clone {
69
+ background-position: calc(var(--tile) * 7) calc(var(--tile) * 2);
70
+ }
65
71
  .icon-close {
66
72
  background-position: var(--tile) 0px;
67
73
  }
74
+ .icon-continue-line {
75
+ background-position: calc(var(--tile) * 4) 0;
76
+ }
68
77
  .icon-copy {
69
78
  background-position: calc(var(--tile) * 2) calc(var(--tile) * 4);
70
79
  }
71
80
  .icon-delete {
72
81
  background-position: calc(var(--tile) * 5) calc(var(--tile) * 2);
73
82
  }
83
+ .icon-delete-shape {
84
+ background-position: calc(var(--tile) * 4) calc(var(--tile) * 3);
85
+ }
86
+ .icon-delete-vertex {
87
+ background-position: calc(var(--tile) * 5) calc(var(--tile) * 4);
88
+ }
74
89
  .readonly .icon-delete,
75
90
  .off .icon-delete {
76
91
  background-position: calc(var(--tile) * 5) calc(var(--tile) * 5);
@@ -83,6 +98,9 @@ html[dir="rtl"] .icon {
83
98
  cursor: move;
84
99
  float: inline-end;
85
100
  }
101
+ .icon-empty {
102
+ background-position: calc(var(--tile) * 7) calc(var(--tile) * 3);
103
+ }
86
104
  .icon-eye {
87
105
  background-position: calc(var(--tile) * 2) var(--tile);
88
106
  }
@@ -95,12 +113,21 @@ html[dir="rtl"] .icon {
95
113
  .off .icon-edit {
96
114
  background-position: calc(var(--tile) * 2) calc(var(--tile) * 3);
97
115
  }
116
+ .icon-extract-shape {
117
+ background-position: calc(var(--tile) * 5) 0;
118
+ }
98
119
  .icon-filters {
99
120
  background-position: 0px var(--tile);
100
121
  }
101
122
  .icon-forward {
102
123
  background-position: calc(var(--tile) * 6) calc(var(--tile) * 6);
103
124
  }
125
+ .icon-help {
126
+ background-position: 0 0;
127
+ }
128
+ .icon-hole {
129
+ background-position: calc(var(--tile) * 3) calc(var(--tile) * 4);
130
+ }
104
131
  .icon-key {
105
132
  background-position: calc(var(--tile) * 6) calc(var(--tile) * 5);
106
133
  }
@@ -114,16 +141,22 @@ html[dir="rtl"] .icon {
114
141
  background-position: calc(var(--tile) * 7) 0;
115
142
  }
116
143
  .icon-marker {
117
- background-position: calc(var(--tile) * 3) calc(var(--tile) * 5);
144
+ background-position: calc(var(--tile) * 7) var(--tile);
145
+ }
146
+ .icon-multipolygon {
147
+ background-position: calc(var(--tile) * 7) calc(var(--tile) * 5);
148
+ }
149
+ .icon-multiline {
150
+ background-position: calc(var(--tile) * 7) calc(var(--tile) * 7);
118
151
  }
119
152
  .icon-peers {
120
153
  background-position: calc(var(--tile) * 3) calc(var(--tile) * 2);
121
154
  }
122
155
  .icon-polygon {
123
- background-position: var(--tile) calc(var(--tile) * 3);
156
+ background-position: calc(var(--tile) * 7) calc(var(--tile) * 4);
124
157
  }
125
158
  .icon-polyline {
126
- background-position: 0 calc(var(--tile) * 3);
159
+ background-position: calc(var(--tile) * 7) calc(var(--tile) * 6);
127
160
  }
128
161
  .icon-profile {
129
162
  background-position: 0 calc(var(--tile) * 4);
@@ -153,6 +186,15 @@ html[dir="rtl"] .icon {
153
186
  .icon-share {
154
187
  background-position: 0px calc(var(--tile) * 5);
155
188
  }
189
+ .icon-split-line {
190
+ background-position: calc(var(--tile) * 5) var(--tile);
191
+ }
192
+ .icon-star {
193
+ background-position: var(--tile) calc(var(--tile) * 7);
194
+ }
195
+ .icon-starred {
196
+ background-position: 0 calc(var(--tile) * 7);
197
+ }
156
198
  .icon-table {
157
199
  background-position: calc(var(--tile) * 2) 0px;
158
200
  }
@@ -9,7 +9,7 @@
9
9
  background-color: var(--background-color);
10
10
  color: var(--text-color);
11
11
  cursor: initial;
12
- border-radius: 5px;
12
+ border-radius: var(--border-radius);
13
13
  border: 1px solid var(--color-lightGray);
14
14
  bottom: calc(var(--current-footer-height) + var(--panel-bottom));
15
15
  box-sizing: border-box;
@@ -42,7 +42,8 @@
42
42
  padding: var(--panel-gutter);
43
43
  }
44
44
  .panel h3 {
45
- line-height: 120%;
45
+ display: flex;
46
+ align-items: center;
46
47
  }
47
48
  .panel .counter::before {
48
49
  counter-increment: step;
@@ -106,3 +107,20 @@
106
107
  border-bottom-right-radius: 0;
107
108
  }
108
109
  }
110
+
111
+ :has(.right[data-highlight="caption"]) li[data-ref="caption"] button,
112
+ :has(.right[data-highlight="caption"]) li[data-ref="caption"] button:hover,
113
+ :has(.right[data-highlight="import"]) li[data-ref="import"] button,
114
+ :has(.right[data-highlight="import"]) li[data-ref="import"] button:hover,
115
+ :has(.right[data-highlight="layers"]) li[data-ref="layers"] button,
116
+ :has(.right[data-highlight="layers"]) li[data-ref="layers"] button:hover,
117
+ :has(.right[data-highlight="tilelayers"]) li[data-ref="tilelayers"] button,
118
+ :has(.right[data-highlight="tilelayers"]) li[data-ref="tilelayers"] button:hover,
119
+ :has(.right[data-highlight="center"]) li[data-ref="center"] button,
120
+ :has(.right[data-highlight="center"]) li[data-ref="center"] button:hover,
121
+ :has(.right[data-highlight="permissions"]) li[data-ref="permissions"] button,
122
+ :has(.right[data-highlight="permissions"]) li[data-ref="permissions"] button:hover,
123
+ :has(.right[data-highlight="settings"]) li[data-ref="settings"] button,
124
+ :has(.right[data-highlight="settings"]) li[data-ref="settings"] button:hover {
125
+ background-color: var(--color-mediumGray);
126
+ }
@@ -89,7 +89,6 @@ span.popup-icon {
89
89
  .umap-popup-container ul {
90
90
  list-style-type: disc;
91
91
  }
92
- .leaflet-control-toolbar,
93
92
  .leaflet-bar {
94
93
  box-shadow: none;
95
94
  }
@@ -1,59 +1,61 @@
1
- #umap-tooltip-container {
2
- line-height: 20px;
1
+ .umap-tooltip-container {
3
2
  padding: 5px 10px;
4
3
  width: auto;
4
+ min-width: 100px;
5
+ max-width: 300px;
5
6
  position: absolute;
6
7
  box-shadow: var(--block-shadow);
7
8
  display: none;
8
- background-color: rgba(40, 40, 40, 0.9);
9
9
  color: #eeeeec;
10
- font-size: 0.8em;
11
- border-radius: 2px;
10
+ border-radius: var(--border-radius);
12
11
  z-index: var(--zindex-tooltip);
13
12
  font-weight: normal;
14
- max-width: 300px;
13
+ --tooltip-color: var(--color-darkGray);
14
+ background-color: var(--tooltip-color);
15
+ --arrow-size: 8px;
16
+ }
17
+ .tooltip-accent {
18
+ --tooltip-color: var(--color-lightCyan);
15
19
  }
16
- .umap-tooltip #umap-tooltip-container {
20
+ .umap-tooltip .umap-tooltip-container {
17
21
  display: block;
18
22
  }
19
- #umap-tooltip-container.tooltip-top:after {
23
+ .umap-tooltip-container.tooltip-top:after {
20
24
  top: 100%;
21
- left: calc(50% - 11px);
25
+ left: calc(50% - var(--arrow-size));
22
26
  border: solid transparent;
23
27
  content: " ";
24
28
  height: 0;
25
29
  width: 0;
26
30
  position: absolute;
27
31
  pointer-events: none;
28
- border-top-color: rgba(30, 30, 30, 0.8);
29
- border-width: 11px;
30
- margin-left: calc(-50% + 21px);
32
+ border-top-color: var(--tooltip-color);
33
+ border-width: var(--arrow-size);
34
+ margin-left: calc(-50% + 2 * var(--arrow-size));
31
35
  }
32
- #umap-tooltip-container.tooltip-bottom:before {
33
- top: -22px;
34
- left: calc(50% - 11px);
36
+ .umap-tooltip-container.tooltip-bottom:before {
37
+ top: calc(var(--arrow-size) * -2);
38
+ left: calc(50% - var(--arrow-size));
35
39
  border: solid transparent;
36
40
  content: " ";
37
41
  height: 0;
38
42
  width: 0;
39
43
  position: absolute;
40
44
  pointer-events: none;
41
- border-top-color: rgba(30, 30, 30, 0.7);
42
- border-width: 11px;
45
+ border-top-color: var(--tooltip-color);
46
+ border-width: var(--arrow-size);
43
47
  transform: rotate(180deg);
44
48
  }
45
- #umap-tooltip-container.tooltip.tooltip-left:after {
46
- left: 100%;
47
- top: 50%;
48
- border: solid transparent;
49
- content: " ";
50
- height: 0;
51
- width: 0;
52
- position: absolute;
53
- pointer-events: none;
54
- border-color: rgba(136, 183, 213, 0);
55
- border-left-color: #333;
56
- border-width: 11px;
57
- margin-top: -10px;
49
+ .tooltip-accent ul {
50
+ padding-top: var(--small-box-padding);
51
+ padding-bottom: var(--small-box-padding);
52
+ }
53
+ .tooltip-accent li {
54
+ background-color: var(--color-light);
55
+ color: var(--color-dark);
56
+ padding: var(--small-box-padding);
57
+ margin-bottom: var(--small-box-padding);
58
+ }
59
+ .tooltip-accent li:last-of-type {
60
+ margin-bottom: 0;
58
61
  }
59
-
@@ -130,9 +130,9 @@
130
130
  <rect id="rect4243-2-5" x="89" y="901.36" width="2" height="2" fill="#f2f2f2"/>
131
131
  <path id="delete-30-7" d="m131 937.36v1c-1.4286 0-3.2857 0.5999-4 2v1h10v-1c-0.71429-1.4001-2.5714-2-4-2v-1zm-4 5 2 9h6l2-9z" fill="#b3b3b3" stroke="#999" stroke-width=".25"/>
132
132
  <path id="path437" d="m113.29 943.47 0.9072 0.5491c0.1786 0.10817 0.2366 0.34196 0.1294 0.52223-0.0319 0.0535-0.0764 0.0983-0.1294 0.13055l-7.0072 4.2412-7.0071-4.2412c-0.17869-0.10817-0.23664-0.34196-0.12942-0.52222 0.0319-0.0536 0.0763-0.0984 0.12942-0.13056l0.90714-0.5491 6.0999 3.6922zm0 3.578 0.9072 0.5491c0.1786 0.1081 0.2366 0.3419 0.1294 0.5222-0.0319 0.0535-0.0764 0.0983-0.1294 0.1306l-6.6189 4.0061c-0.239 0.1447-0.53753 0.1447-0.77652 0l-6.6188-4.0061c-0.17869-0.1082-0.23664-0.342-0.12942-0.5223 0.0319-0.0536 0.0763-0.0984 0.12942-0.1305l0.90714-0.5491 6.0999 3.6921zm-5.7117-10.575 6.6189 4.0062c0.1786 0.10815 0.2366 0.34196 0.1294 0.52222-0.0319 0.0536-0.0764 0.0984-0.1294 0.13056l-7.0072 4.2412-7.0071-4.2412c-0.17869-0.10815-0.23664-0.34196-0.12942-0.52222 0.0319-0.0536 0.0763-0.0984 0.12942-0.13056l6.6188-4.0062c0.23899-0.14465 0.53752-0.14465 0.77652 0z" fill="#f2f2f2" stroke="#999" stroke-width=".178"/>
133
- <path id="linestring" d="m7 889.36v2h1.8828l6.1172 3.0586v0.23438l-6.707 6.707h-1.293v2h2v-1.293l6.707-6.707h1.293v-2h-1.8828l-6.1172-3.0586v-0.94141z" color="#000000" fill="#f2f2f2" fill-rule="evenodd" stroke="#999" stroke-width=".2"/>
134
- <path id="polygon" d="m29 888.36v2h0.92773l-0.85547 12h-1.0723v2h2v-1.1992l8-1.6016v0.80078h2v-2h-0.77734l1.5547-7h1.2227v-2h-2v0.72656l-9-2.4531v-1.2734z" fill="#f2f2f2" fill-rule="evenodd" stroke="#999" stroke-width=".2"/>
135
- <path id="marker" d="m84 936.36c-2.625 0-5.25 1.7022-6 5.1064 0 2.0426 1.5 6.1277 6 10.894 4.5-4.7659 6-8.851 6-10.894-0.75-3.4042-3.375-5.1064-6-5.1064zm0 2.383c1.6569 0 3 1.2193 3 2.7234s-1.3431 2.7234-3 2.7234c-1.6568 0-3-1.2194-3-2.7234s1.3432-2.7234 3-2.7234z" fill="#f2f2f2" stroke="#999" stroke-width=".25"/>
133
+ <path id="linestring" d="m175 961.25v2h1.8828l6.1172 3.0586v0.23437l-6.707 6.707h-1.293v2h2v-1.293l6.707-6.707h1.293v-2h-1.8828l-6.1172-3.0586v-0.94141z" color="#000000" fill="#f2f2f2" fill-rule="evenodd" stroke="#999" stroke-width=".2"/>
134
+ <path id="polygon" d="m174 912.36v2h0.92773l-0.85547 12h-1.0723v2h2v-1.1992l8-1.6016v0.80078h2v-2h-0.77735l1.5547-7h1.2227v-2h-2v0.72656l-9-2.4531v-1.2734z" fill="#f2f2f2" fill-rule="evenodd" stroke="#999" stroke-width=".2"/>
135
+ <path id="marker" d="m180 840.36c-2.625 0-5.25 1.7022-6 5.1064 0 2.0426 1.5 6.1277 6 10.894 4.5-4.7659 6-8.851 6-10.894-0.75-3.4042-3.375-5.1064-6-5.1064zm0 2.383c1.6569 0 3 1.2193 3 2.7234s-1.3431 2.7234-3 2.7234c-1.6568 0-3-1.2194-3-2.7234s1.3432-2.7234 3-2.7234z" fill="#f2f2f2" stroke="#999" stroke-width=".25"/>
136
136
  <g id="settings" class="sprite" transform="matrix(.16295 0 0 .16296 27.835 912.23)" fill="#f2f2f2" stroke="#999" stroke-width="1.4974">
137
137
  <path id="path27812" d="m98.762 43.652c-0.186-1.386-1.481-2.582-2.876-2.659l-6.172-0.337c-1.395-0.076-2.899-1.224-3.341-2.55l-2.28-5.518c-0.629-1.249-0.379-3.121 0.553-4.161l4.122-4.6c0.933-1.042 0.962-2.77 0.066-3.842l-8.813-8.813c-1.073-0.897-2.803-0.867-3.845 0.065l-4.598 4.122c-1.039 0.934-2.915 1.182-4.161 0.551l-5.521-2.279c-1.324-0.442-2.472-1.945-2.549-3.34l-0.337-6.17c-0.077-1.396-1.272-2.691-2.659-2.878 0 0-3.252-0.44-6.248-0.44-2.991 0-6.243 0.44-6.243 0.44-1.386 0.188-2.582 1.483-2.658 2.878l-0.338 6.17c-0.076 1.396-1.224 2.898-2.551 3.34l-5.517 2.279c-1.249 0.631-3.122 0.382-4.161-0.551l-4.601-4.122c-1.042-0.932-2.769-0.962-3.842-0.065l-8.813 8.813c-0.897 1.073-0.867 2.801 0.066 3.842l4.122 4.6c0.933 1.041 1.182 2.913 0.551 4.161l-2.279 5.518c-0.442 1.326-1.946 2.474-3.34 2.55l-6.17 0.337c-1.396 0.077-2.691 1.272-2.879 2.659 0 0-0.439 3.253-0.439 6.243s0.44 6.24 0.44 6.24c0.188 1.389 1.483 2.582 2.879 2.659l6.169 0.339c1.396 0.075 2.898 1.225 3.341 2.549l2.278 5.517c0.631 1.248 0.381 3.122-0.551 4.163l-4.122 4.598c-0.933 1.042-0.963 2.771-0.066 3.845l8.814 8.813c1.073 0.896 2.801 0.866 3.842-0.066l4.6-4.122c1.041-0.932 2.913-1.182 4.161-0.553l5.517 2.28c1.327 0.441 2.475 1.946 2.55 3.343l0.338 6.168c0.076 1.395 1.272 2.692 2.658 2.88 0 0 3.252 0.439 6.244 0.439 2.996 0 6.25-0.439 6.25-0.439 1.385-0.188 2.58-1.485 2.657-2.88l0.337-6.168c0.077-1.396 1.225-2.901 2.551-3.343l5.517-2.28c1.248-0.629 3.122-0.379 4.163 0.553l4.598 4.122c1.042 0.933 2.771 0.964 3.843 0.067l8.815-8.814c0.896-1.073 0.866-2.803-0.066-3.845l-4.122-4.598c-0.932-1.041-1.182-2.915-0.553-4.163l2.28-5.517c0.441-1.324 1.946-2.474 3.341-2.549l6.172-0.339c1.395-0.077 2.692-1.271 2.876-2.659 0 0 0.441-3.25 0.441-6.24s-0.441-6.243-0.441-6.243zm-48.658 18.709c-6.886 0-12.468-5.585-12.468-12.467 0-6.885 5.582-12.467 12.468-12.467 6.89 0 12.475 5.582 12.475 12.467-1e-3 6.882-5.586 12.467-12.475 12.467z" fill="#f2f2f2" stroke="#999" stroke-width="1.4974"/>
138
138
  </g>
@@ -208,5 +208,7 @@
208
208
  <g id="g2-67" transform="translate(170.12 814.31)" clip-path="url(#clip0_2695_1939)">
209
209
  <path id="path1-5" d="m8.8453 14.83c-0.28116 0.6439-1.1722 0.6439-1.4533 0l-0.73138-1.6751c-0.65086-1.4907-1.8224-2.6774-3.2837-3.326l-2.0131-0.89358c-0.64004-0.28408-0.64004-1.2152 0-1.4993l1.9502-0.86569c1.4989-0.66535 2.6914-1.8959 3.3312-3.4375l0.74086-1.7852c0.27491-0.66247 1.1902-0.66247 1.4652 0l0.74083 1.7852c0.63972 1.5416 1.8322 2.7722 3.3311 3.4375l1.9503 0.86569c0.64 0.2841 0.64 1.2152 0 1.4993l-2.0131 0.89358c-1.4613 0.64864-2.6328 1.8353-3.2837 3.326zm-5.0624-6.6444c1.9049 0.84555 3.4537 2.2354 4.3357 4.1478 0.88202-1.9124 2.4308-3.3022 4.3356-4.1478-1.9276-0.85565-3.4813-2.3132-4.3356-4.2596-0.85434 1.9463-2.4081 3.4039-4.3357 4.2596zm12.385 10.723 0.2057-0.4714c0.3667-0.8405 1.0271-1.5098 1.8511-1.8758l0.6336-0.2816c0.3428-0.1523 0.3428-0.6504 0-0.8026l-0.5981-0.2658c-0.8453-0.3755-1.5175-1.0695-1.8779-1.9386l-0.2112-0.5094c-0.1473-0.355-0.6381-0.355-0.7853 0l-0.2112 0.5094c-0.3603 0.8691-1.0326 1.5631-1.8778 1.9386l-0.5983 0.2658c-0.3427 0.1522-0.3427 0.6503 0 0.8026l0.6337 0.2816c0.8241 0.366 1.4844 1.0353 1.8511 1.8758l0.2057 0.4714c0.1505 0.3451 0.6283 0.3451 0.7789 0zm-0.8557-3.0358 0.4687-0.4655 0.459 0.4655-0.459 0.4524z" fill="#efefef"/>
210
210
  </g>
211
+ <path id="star" class="sprite" d="m7.6698 998.86 1.3886-5.255-4.0585-3.2468h5.1831l1.8193-5.4949 1.8147 5.4939h5.1829l-4.0615 3.2496 1.3838 5.2564-4.3249-3.0123z" fill="#efefef"/>
212
+ <path id="starred" class="sprite" d="m31.67 998.86 1.3886-5.255-4.0585-3.2468h5.1831l1.8193-5.4949 1.8147 5.4939h5.1829l-4.0615 3.2496 1.3838 5.2565-4.3249-3.0123z" fill="none" stroke="#efefef" stroke-linecap="square" stroke-linejoin="round"/>
211
213
  </g>
212
214
  </svg>