@geogirafe/lib-geoportal 1.1.0-dev.2438155631 → 1.1.0-dev.2438431179

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.
Files changed (310) hide show
  1. package/CONTRIBUTING.md +21 -5
  2. package/assets/i18n/de.json +8 -0
  3. package/assets/i18n/en.json +8 -0
  4. package/assets/i18n/fr.json +8 -0
  5. package/assets/i18n/it.json +8 -0
  6. package/base/GirafeDraggableElement.d.ts +1 -1
  7. package/base/GirafeHTMLElement.d.ts +3 -4
  8. package/base/GirafeHTMLElement.js +1 -10
  9. package/base/GirafeResizableElement.d.ts +2 -2
  10. package/base/GirafeResizableElement.js +0 -3
  11. package/buildtools/generate-dev-certs.sh +0 -0
  12. package/buildtools/tools.js +35 -4
  13. package/components/about/component.d.ts +2 -0
  14. package/components/about/component.js +3 -1
  15. package/components/alignnorthbutton-mobile/component.d.ts +2 -0
  16. package/components/alignnorthbutton-mobile/component.js +3 -1
  17. package/components/auth/component.d.ts +2 -0
  18. package/components/auth/component.js +3 -1
  19. package/components/auth-mobile/component.d.ts +2 -0
  20. package/components/auth-mobile/component.js +3 -1
  21. package/components/basemap/component.d.ts +2 -0
  22. package/components/basemap/component.js +3 -1
  23. package/components/contact/component.d.ts +2 -0
  24. package/components/contact/component.js +3 -1
  25. package/components/context-menu/custom-context-menu/component.d.ts +2 -0
  26. package/components/context-menu/custom-context-menu/component.js +4 -2
  27. package/components/context-menu/default-context-menu/component.d.ts +2 -0
  28. package/components/context-menu/default-context-menu/component.js +4 -2
  29. package/components/context-menu/default-context-menu/contextmenumanager.js +1 -1
  30. package/components/coordinate/component.d.ts +2 -0
  31. package/components/coordinate/component.js +3 -1
  32. package/components/cross-section/cross-section-settings/component.d.ts +2 -0
  33. package/components/cross-section/cross-section-settings/component.js +4 -3
  34. package/components/cross-section/cross-section-viewer/component.d.ts +3 -0
  35. package/components/cross-section/cross-section-viewer/component.js +6 -1
  36. package/components/displaymenubutton-mobile/component.d.ts +2 -0
  37. package/components/displaymenubutton-mobile/component.js +3 -1
  38. package/components/displayselectorbutton-mobile/component.d.ts +2 -0
  39. package/components/displayselectorbutton-mobile/component.js +3 -1
  40. package/components/drawing/cesiumDrawing.d.ts +2 -2
  41. package/components/drawing/cesiumDrawing.js +5 -5
  42. package/components/drawing/component-mobile.d.ts +2 -0
  43. package/components/drawing/component-mobile.js +5 -3
  44. package/components/drawing/component.d.ts +12 -9
  45. package/components/drawing/component.js +74 -40
  46. package/components/drawing/drawingFeature.js +2 -2
  47. package/components/drawing/fixed-dimension/component.d.ts +41 -0
  48. package/components/drawing/fixed-dimension/component.js +126 -0
  49. package/components/drawing/olDrawing.d.ts +9 -2
  50. package/components/drawing/olDrawing.js +67 -10
  51. package/components/drawing-container-mobile/component.d.ts +2 -0
  52. package/components/drawing-container-mobile/component.js +4 -2
  53. package/components/edit/component.d.ts +2 -0
  54. package/components/edit/component.js +3 -1
  55. package/components/edit/editform/component.d.ts +2 -0
  56. package/components/edit/editform/component.js +3 -1
  57. package/components/extlayers/component.d.ts +2 -0
  58. package/components/extlayers/component.js +3 -1
  59. package/components/geolocation-mobile/component.d.ts +2 -0
  60. package/components/geolocation-mobile/component.js +3 -1
  61. package/components/help/component.d.ts +2 -0
  62. package/components/help/component.js +3 -1
  63. package/components/infobox/component.d.ts +2 -0
  64. package/components/infobox/component.js +3 -1
  65. package/components/infowindow/component.d.ts +2 -0
  66. package/components/infowindow/component.js +5 -3
  67. package/components/layout/component.d.ts +2 -0
  68. package/components/layout/component.js +3 -1
  69. package/components/lr-panel/component.d.ts +3 -1
  70. package/components/lr-panel/component.js +6 -4
  71. package/components/main.d.ts +2 -0
  72. package/components/main.js +1 -0
  73. package/components/map/component.d.ts +2 -0
  74. package/components/map/component.js +4 -2
  75. package/components/map/tools/swipemanager.js +4 -4
  76. package/components/map/tools/wmtsmanager.d.ts +3 -1
  77. package/components/menu-buttons-mobile/MenuMobile3dButton.d.ts +2 -0
  78. package/components/menu-buttons-mobile/MenuMobile3dButton.js +2 -0
  79. package/components/menu-buttons-mobile/MenuMobileDrawingButton.d.ts +2 -0
  80. package/components/menu-buttons-mobile/MenuMobileDrawingButton.js +2 -0
  81. package/components/menu-buttons-mobile/MenuMobileOfflineButton.d.ts +2 -0
  82. package/components/menu-buttons-mobile/MenuMobileOfflineButton.js +2 -0
  83. package/components/menu-mobile/component.d.ts +2 -0
  84. package/components/menu-mobile/component.js +5 -3
  85. package/components/menubutton/component.d.ts +2 -0
  86. package/components/menubutton/component.js +3 -1
  87. package/components/modals/component.d.ts +2 -0
  88. package/components/modals/component.js +3 -1
  89. package/components/navigation/component.d.ts +2 -0
  90. package/components/navigation/component.js +3 -1
  91. package/components/news/news-button/component.d.ts +2 -0
  92. package/components/news/news-button/component.js +4 -1
  93. package/components/news/news-panel/component.d.ts +2 -0
  94. package/components/news/news-panel/component.js +3 -1
  95. package/components/news/news-panel/newsfeedutils.js +1 -0
  96. package/components/offline/component.d.ts +2 -0
  97. package/components/offline/component.js +3 -1
  98. package/components/print/component.d.ts +2 -0
  99. package/components/print/component.js +3 -1
  100. package/components/print/tools/printMaskManager.js +1 -1
  101. package/components/prototypebanner/component.d.ts +2 -0
  102. package/components/prototypebanner/component.js +3 -1
  103. package/components/querybuilder/component.d.ts +2 -0
  104. package/components/querybuilder/component.js +3 -1
  105. package/components/scale/component.d.ts +2 -0
  106. package/components/scale/component.js +3 -1
  107. package/components/search/component.d.ts +2 -0
  108. package/components/search/component.js +3 -1
  109. package/components/search-mobile/component.d.ts +2 -0
  110. package/components/search-mobile/component.js +3 -1
  111. package/components/selectiongrid/component.d.ts +2 -0
  112. package/components/selectiongrid/component.js +4 -2
  113. package/components/selectionpanel-mobile/component.d.ts +2 -0
  114. package/components/selectionpanel-mobile/component.js +4 -2
  115. package/components/selectiontool/component.d.ts +2 -0
  116. package/components/selectiontool/component.js +3 -1
  117. package/components/selectionwindow/component.d.ts +2 -0
  118. package/components/selectionwindow/component.js +6 -4
  119. package/components/share/component.d.ts +2 -0
  120. package/components/share/component.js +3 -1
  121. package/components/swipe-up-panel-mobile/component.d.ts +2 -0
  122. package/components/swipe-up-panel-mobile/component.js +4 -2
  123. package/components/themes/component.d.ts +3 -1
  124. package/components/themes/component.js +3 -1
  125. package/components/themes-mobile/group/component.d.ts +2 -0
  126. package/components/themes-mobile/group/component.js +3 -1
  127. package/components/themes-mobile/layer/component.d.ts +2 -0
  128. package/components/themes-mobile/layer/component.js +3 -1
  129. package/components/themes-mobile/layer-selected/component.d.ts +2 -0
  130. package/components/themes-mobile/layer-selected/component.js +3 -1
  131. package/components/themes-mobile/theme/component.d.ts +2 -0
  132. package/components/themes-mobile/theme/component.js +3 -1
  133. package/components/themes-mobile/themes-select/component.d.ts +2 -0
  134. package/components/themes-mobile/themes-select/component.js +3 -1
  135. package/components/timerestriction/component.d.ts +2 -0
  136. package/components/timerestriction/component.js +3 -1
  137. package/components/timerestriction/timepicker/component.d.ts +2 -0
  138. package/components/timerestriction/timepicker/component.js +3 -1
  139. package/components/timerestriction/timeslider/component.d.ts +2 -0
  140. package/components/timerestriction/timeslider/component.js +4 -2
  141. package/components/timerestriction/tools/timewidget.d.ts +1 -1
  142. package/components/timerestriction/tools/timewidget.js +3 -7
  143. package/components/treeview/treeviewgroup/component.d.ts +2 -0
  144. package/components/treeview/treeviewgroup/component.js +3 -1
  145. package/components/treeview/treeviewitem/component.d.ts +2 -0
  146. package/components/treeview/treeviewitem/component.js +3 -1
  147. package/components/treeview/treeviewroot/component.d.ts +2 -0
  148. package/components/treeview/treeviewroot/component.js +3 -1
  149. package/components/treeview/treeviewtheme/component.d.ts +2 -0
  150. package/components/treeview/treeviewtheme/component.js +3 -1
  151. package/components/userpreferences/component.d.ts +2 -0
  152. package/components/userpreferences/component.js +3 -1
  153. package/components/videorecord/component.d.ts +2 -0
  154. package/components/videorecord/component.js +3 -1
  155. package/decorators.d.ts +5 -0
  156. package/decorators.js +8 -0
  157. package/models/layers/layerwms.d.ts +0 -1
  158. package/models/layers/layerwms.js +0 -1
  159. package/package.json +46 -39
  160. package/service-worker.js +13 -6
  161. package/templates/api.html +6 -6
  162. package/templates/iframe.html +32 -4
  163. package/templates/index.html +72 -15
  164. package/templates/public/about.json +1 -1
  165. package/templates/tsconfig.json +5 -2
  166. package/templates/vite.config.js +12 -6
  167. package/tools/app/geogirafe-component.d.ts +2 -0
  168. package/tools/app/geogirafe-component.js +2 -6
  169. package/tools/app/geogirafeapp.js +3 -1
  170. package/tools/localfile/localfilemanager.d.ts +5 -1
  171. package/tools/localfile/localfilemanager.js +1 -1
  172. package/tools/logging/logmanager.d.ts +6 -0
  173. package/tools/logging/logmanager.js +11 -0
  174. package/tools/ogcapi/ogcapifeaturesmanager.js +1 -1
  175. package/tools/raster/rasterutils.d.ts +1 -1
  176. package/tools/raster/rasterutils.js +3 -3
  177. package/tools/tests/globalmocking.js +5 -5
  178. package/tools/themes/themesmanager.js +1 -1
  179. package/tools/utils/olutils.js +1 -1
  180. package/tools/wms/wmsclient.d.ts +3 -1
  181. package/base/GirafeHTMLElement.spec.d.ts +0 -1
  182. package/base/GirafeHTMLElement.spec.js +0 -291
  183. package/base/GirafeResizableElement.spec.d.ts +0 -1
  184. package/base/GirafeResizableElement.spec.js +0 -157
  185. package/base/GirafeSingleton.spec.d.ts +0 -1
  186. package/base/GirafeSingleton.spec.js +0 -28
  187. package/components/infowindow/component.spec.d.ts +0 -1
  188. package/components/infowindow/component.spec.js +0 -50
  189. package/components/map/tools/focusfeature.spec.d.ts +0 -1
  190. package/components/map/tools/focusfeature.spec.js +0 -26
  191. package/components/offline/component.spec.d.ts +0 -1
  192. package/components/offline/component.spec.js +0 -76
  193. package/components/print/component.spec.d.ts +0 -1
  194. package/components/print/component.spec.js +0 -47
  195. package/components/print/tools/MFPEncoder.spec.d.ts +0 -1
  196. package/components/print/tools/MFPEncoder.spec.js +0 -207
  197. package/components/print/tools/MFPLegendEncoder.spec.d.ts +0 -1
  198. package/components/print/tools/MFPLegendEncoder.spec.js +0 -298
  199. package/components/print/tools/PrintManager.spec.d.ts +0 -1
  200. package/components/print/tools/PrintManager.spec.js +0 -38
  201. package/components/print/tools/printMaskManager.spec.d.ts +0 -1
  202. package/components/print/tools/printMaskManager.spec.js +0 -35
  203. package/components/print/tools/printUtils.spec.d.ts +0 -1
  204. package/components/print/tools/printUtils.spec.js +0 -26
  205. package/components/selectionwindow/component.spec.d.ts +0 -1
  206. package/components/selectionwindow/component.spec.js +0 -31
  207. package/components/share/sharestate.spec.d.ts +0 -1
  208. package/components/share/sharestate.spec.js +0 -33
  209. package/components/timerestriction/timeslider/component.spec.d.ts +0 -1
  210. package/components/timerestriction/timeslider/component.spec.js +0 -250
  211. package/components/treeview/tools/draghelper.spec.d.ts +0 -1
  212. package/components/treeview/tools/draghelper.spec.js +0 -136
  213. package/components/treeview/tools/treeviewfilter.spec.d.ts +0 -1
  214. package/components/treeview/tools/treeviewfilter.spec.js +0 -205
  215. package/components/userpreferences/component.spec.d.ts +0 -1
  216. package/components/userpreferences/component.spec.js +0 -115
  217. package/tools/configuration/configmanager.spec.d.ts +0 -1
  218. package/tools/configuration/configmanager.spec.js +0 -99
  219. package/tools/error/errormanager.spec.d.ts +0 -1
  220. package/tools/error/errormanager.spec.js +0 -70
  221. package/tools/export/csvmanager.spec.d.ts +0 -1
  222. package/tools/export/csvmanager.spec.js +0 -65
  223. package/tools/export/download.spec.d.ts +0 -1
  224. package/tools/export/download.spec.js +0 -43
  225. package/tools/featuretogriddatabyid.spec.d.ts +0 -1
  226. package/tools/featuretogriddatabyid.spec.js +0 -129
  227. package/tools/i18n/i18nmanager.spec.d.ts +0 -1
  228. package/tools/i18n/i18nmanager.spec.js +0 -241
  229. package/tools/layers/simplemasklayer.spec.d.ts +0 -1
  230. package/tools/layers/simplemasklayer.spec.js +0 -25
  231. package/tools/logging/logmanager.spec.d.ts +0 -1
  232. package/tools/logging/logmanager.spec.js +0 -125
  233. package/tools/offline/offlinemanager.spec.d.ts +0 -1
  234. package/tools/offline/offlinemanager.spec.js +0 -65
  235. package/tools/ogcapi/ogcapiclient.spec.d.ts +0 -1
  236. package/tools/ogcapi/ogcapiclient.spec.js +0 -156
  237. package/tools/ogcapi/ogcapifeaturesclient.spec.d.ts +0 -1
  238. package/tools/ogcapi/ogcapifeaturesclient.spec.js +0 -184
  239. package/tools/ogcapi/ogcapifeaturesmanager.spec.d.ts +0 -1
  240. package/tools/ogcapi/ogcapifeaturesmanager.spec.js +0 -85
  241. package/tools/ogcapi/ogcapifeaturesschema.spec.d.ts +0 -1
  242. package/tools/ogcapi/ogcapifeaturesschema.spec.js +0 -100
  243. package/tools/ordering/orderingmanager.spec.d.ts +0 -1
  244. package/tools/ordering/orderingmanager.spec.js +0 -164
  245. package/tools/resizewindow.spec.d.ts +0 -1
  246. package/tools/resizewindow.spec.js +0 -134
  247. package/tools/share/serializers/activebasemapsserializer.spec.d.ts +0 -1
  248. package/tools/share/serializers/activebasemapsserializer.spec.js +0 -144
  249. package/tools/share/serializers/globeserializer.spec.d.ts +0 -1
  250. package/tools/share/serializers/globeserializer.spec.js +0 -46
  251. package/tools/share/serializers/layerconfigserializer.spec.d.ts +0 -1
  252. package/tools/share/serializers/layerconfigserializer.spec.js +0 -391
  253. package/tools/share/serializers/mappositionserializer.spec.d.ts +0 -1
  254. package/tools/share/serializers/mappositionserializer.spec.js +0 -114
  255. package/tools/share/serializers/selectionserializer.spec.d.ts +0 -1
  256. package/tools/share/serializers/selectionserializer.spec.js +0 -77
  257. package/tools/state/brain/brain.array.spec.d.ts +0 -1
  258. package/tools/state/brain/brain.array.spec.js +0 -364
  259. package/tools/state/brain/brain.base.spec.d.ts +0 -1
  260. package/tools/state/brain/brain.base.spec.js +0 -507
  261. package/tools/state/brain/brain.date.spec.d.ts +0 -1
  262. package/tools/state/brain/brain.date.spec.js +0 -97
  263. package/tools/state/brain/brain.ignored.spec.d.ts +0 -1
  264. package/tools/state/brain/brain.ignored.spec.js +0 -46
  265. package/tools/state/brain/brain.object.spec.d.ts +0 -1
  266. package/tools/state/brain/brain.object.spec.js +0 -154
  267. package/tools/state/brain/brain.primitive.spec.d.ts +0 -1
  268. package/tools/state/brain/brain.primitive.spec.js +0 -211
  269. package/tools/state/brain/brain.supported.spec.d.ts +0 -1
  270. package/tools/state/brain/brain.supported.spec.js +0 -41
  271. package/tools/state/brain/equality.spec.d.ts +0 -1
  272. package/tools/state/brain/equality.spec.js +0 -203
  273. package/tools/state/mapposition.spec.d.ts +0 -1
  274. package/tools/state/mapposition.spec.js +0 -43
  275. package/tools/state/stateToggleManager.spec.d.ts +0 -1
  276. package/tools/state/stateToggleManager.spec.js +0 -66
  277. package/tools/state/statemanager.spec.d.ts +0 -1
  278. package/tools/state/statemanager.spec.js +0 -205
  279. package/tools/state/userinteractionmanager.spec.d.ts +0 -1
  280. package/tools/state/userinteractionmanager.spec.js +0 -125
  281. package/tools/themes/themefavoritesmanager.spec.d.ts +0 -1
  282. package/tools/themes/themefavoritesmanager.spec.js +0 -104
  283. package/tools/themes/themeshelper.spec.d.ts +0 -1
  284. package/tools/themes/themeshelper.spec.js +0 -222
  285. package/tools/themes/themesmanager.spec.d.ts +0 -1
  286. package/tools/themes/themesmanager.spec.js +0 -65
  287. package/tools/time/layertimeformatter.spec.d.ts +0 -1
  288. package/tools/time/layertimeformatter.spec.js +0 -106
  289. package/tools/url/permalinkmanager.spec.d.ts +0 -1
  290. package/tools/url/permalinkmanager.spec.js +0 -182
  291. package/tools/userdata/userdatamanager.spec.d.ts +0 -1
  292. package/tools/userdata/userdatamanager.spec.js +0 -144
  293. package/tools/utils/debounce.spec.d.ts +0 -1
  294. package/tools/utils/debounce.spec.js +0 -58
  295. package/tools/utils/olutils.spec.d.ts +0 -1
  296. package/tools/utils/olutils.spec.js +0 -149
  297. package/tools/utils/pathUtils.spec.d.ts +0 -1
  298. package/tools/utils/pathUtils.spec.js +0 -183
  299. package/tools/utils/utils.spec.d.ts +0 -1
  300. package/tools/utils/utils.spec.js +0 -92
  301. package/tools/wfs/wfsclient.spec.d.ts +0 -1
  302. package/tools/wfs/wfsclient.spec.js +0 -198
  303. package/tools/wfs/wfsmanager.spec.d.ts +0 -1
  304. package/tools/wfs/wfsmanager.spec.js +0 -78
  305. package/tools/wfs/wfsparser.spec.d.ts +0 -1
  306. package/tools/wfs/wfsparser.spec.js +0 -196
  307. package/tools/wms/wmsclient.spec.d.ts +0 -1
  308. package/tools/wms/wmsclient.spec.js +0 -189
  309. package/tools/wms/wmsmanager.spec.d.ts +0 -1
  310. package/tools/wms/wmsmanager.spec.js +0 -60
package/CONTRIBUTING.md CHANGED
@@ -82,29 +82,45 @@ You can contact us through the following channels:
82
82
 
83
83
  ## Thank you!
84
84
 
85
- > « We ourselves feel that what we are doing is just a drop in the ocean.
85
+ > « We ourselves feel that what we are doing is just a drop in the ocean.
86
86
  > But the ocean would be less because of that missing drop. »
87
87
 
88
88
  A big thank to all the contributors of GeoGirafe, in alphabetical order:
89
89
 
90
90
  - Anja Sutter @u222052 (Geoinformation Basel-Landschaft)
91
- - Anne Maier @svamaa (Geoinformation Basel-Stadt)
91
+ - Alexandre Junod @AlexandreJunod (SIT Yverdon-les-bains)
92
+ - Anne Philipp @svamaa (Geoinformation Basel-Stadt)
92
93
  - Arnaud Poncet-Montanges @ponceta (SIGIP)
94
+ - Barbara Bombelli @barbara.bombelli (Geoinformation Ticino)
93
95
  - Ben Koch @beeekey (OpenGIS)
94
96
  - Benjamin Gerber @ger-benjamin (Camptocamp SA)
95
97
  - Clemens Rudert @crud3_rt (OpenGIS)
96
98
  - Corentin Junod @D0lpic (SITN Neuchâtel)
97
99
  - Daniel Gnerre @gnerred (Cartoriviera)
100
+ - Daniel Kastner @danielkastner (Karakun)
98
101
  - Didier Dupertuis @dddpt (OpenGIS)
99
102
  - Dietmar Schneider @sdietmar (Techplus Tirol)
100
103
  - Guillaume Remy @remyguillaume (Geoinformation Basel-Stadt)
104
+ - Jonathan Lurie @jonathanlurie (Camptocamp SA)
101
105
  - Karsten Deininger @kdeininger (Geoinformation Basel-Landschaft)
102
- - Loris Hubler @hubi_bs (Geoinformation Basel-Stadt)
106
+ - Laurent Lienher @llienher (JaquierPointet SA)
107
+ - Loris Hubler @lhubler (Geoinformation Basel-Stadt)
108
+ - Lucie Nicolier @lucienicolier (JaquierPointet SA)
103
109
  - Matthew Parkan @matthew.parkan (SITN Neuchâtel)
104
110
  - Michael Müller @michmuel (Geoinformation Basel-Landschaft)
105
- - Olivier Monod @monodo (Yverdon-les-bains)
111
+ - Moritz Kirmse @mki-c2c (Camptocamp SA)
112
+ - Nicolas Blanc @nicolas-sitylb (SIT Yverdon-les-bains)
113
+ - Olivier Monod @monodo (SIT Yverdon-les-bains)
106
114
  - Patricia Moll @piMoll (OpenGIS)
107
115
  - Pauline Fanguin @pfanguin (Cartolacote)
116
+ - Philipp Franke @philippfra (Geoinformation Basel-Landschaft)
108
117
  - Rémi Bovard @rbovard (Cartoriviera)
109
- - Ruth Albrecht (Geoinformation Basel-Landschaft)
110
118
  - Stéphane Malta e Sousa @maltaesousa (SITN Neuchâtel)
119
+
120
+ And a special thank you to :
121
+ - Ruth Albrecht (Geoinformation Basel-Landschaft).
122
+ <img src=".gitlab/ruth.png" width="80" />
123
+
124
+ She supported GeoGirafe from its very beginning but sadly left us far too soon.
125
+ We are not forgetting you.
126
+
@@ -70,9 +70,11 @@
70
70
  "Define time restriction on group": "Zeitliche Begrenzung für Gruppe definieren",
71
71
  "Define time restriction on layer": "Zeitliche Begrenzung für Layer definieren",
72
72
  "delete": "Löschen",
73
+ "Delete all shapes": "Alle Formen löschen",
73
74
  "Delete bookmark": "Lesezeichen löschen",
74
75
  "Delete Feature": "Funktion löschen",
75
76
  "Delete feature": "Objekt löschen",
77
+ "Delete Features": "Objekte löschen",
76
78
  "Delete shape": "Form löschen",
77
79
  "Delete Theme": "Thema löschen",
78
80
  "delete_help": "Profil-Linie löschen",
@@ -85,6 +87,7 @@
85
87
  "Do you want to delete this theme?": "Möchten Sie dieses Thema löschen?",
86
88
  "Do you want to logout ?": "Möchten Sie sich abmelden?",
87
89
  "Do you want to remove \"${feature.name}\" ?": "Möchten Sie \"${feature.name}\" entfernen?",
90
+ "Do you want to remove all features?": "Möchten Sie alle Objekte entfernen?",
88
91
  "Documentation": "Dokumentation",
89
92
  "does not contain": "enthält nicht",
90
93
  "does not equal": "ungleich",
@@ -102,6 +105,7 @@
102
105
  "Draw polygons": "Polygone zeichnen",
103
106
  "draw_profile": "Profil-Linie zeichnen",
104
107
  "draw_profile_help": "Profil-Linien-Zeichnen auf der Karte umschalten",
108
+ "Drawing List": "Zeichnungsliste",
105
109
  "drawing-panel": "Zeichnen & messen",
106
110
  "drawingFillColor": "Zeichnen Füllfarbe",
107
111
  "Drawings": "Zeichnungen",
@@ -142,7 +146,10 @@
142
146
  "Filter layer": "Layer filtern",
143
147
  "Filter layer tree...": "Layerliste filtern...",
144
148
  "Filtering deactivated: layers in layergroup don't have identical attributes.": "Filterung deaktiviert: Layer in der Layergruppe haben nicht identische Attribute.",
149
+ "Fix height to": "Höhe festlegen auf",
145
150
  "Fix length to": "Länge festlegen auf",
151
+ "Fix side length to": "Seitenlänge festlegen auf",
152
+ "Fix width to": "Breite festlegen auf",
146
153
  "Font": "Schriftart",
147
154
  "Format": "Format",
148
155
  "fr": "Französisch",
@@ -378,6 +385,7 @@
378
385
  "selectStrokeColor": "Auswahl Strichfarbe",
379
386
  "Send": "Senden",
380
387
  "Send message": "Nachricht senden",
388
+ "Settings": "Einstellungen",
381
389
  "Shadows": "Schatten",
382
390
  "Share this map": "Diese Karte teilen",
383
391
  "share-panel": "Karte teilen oder einbetten",
@@ -70,9 +70,11 @@
70
70
  "Define time restriction on group": "Define time restriction on group",
71
71
  "Define time restriction on layer": "Define time restriction on layer",
72
72
  "delete": "Delete",
73
+ "Delete all shapes": "Delete all shapes",
73
74
  "Delete bookmark": "Delete bookmark",
74
75
  "Delete Feature": "Delete Feature",
75
76
  "Delete feature": "Delete feature",
77
+ "Delete Features": "Delete Features",
76
78
  "Delete shape": "Delete shape",
77
79
  "Delete Theme": "Delete Theme",
78
80
  "delete_help": "Delete profile line",
@@ -85,6 +87,7 @@
85
87
  "Do you want to delete this theme?": "Do you want to delete this theme?",
86
88
  "Do you want to logout ?": "Do you want to logout?",
87
89
  "Do you want to remove \"${feature.name}\" ?": "Do you want to remove \"${feature.name}\"?",
90
+ "Do you want to remove all features?": "Do you want to remove all features?",
88
91
  "Documentation": "Documentation",
89
92
  "does not contain": "does not contain",
90
93
  "does not equal": "does not equal",
@@ -102,6 +105,7 @@
102
105
  "Draw polygons": "Draw polygons",
103
106
  "draw_profile": "Draw profile line",
104
107
  "draw_profile_help": "Toggle profile line drawing on map",
108
+ "Drawing List": "Drawings List",
105
109
  "drawing-panel": "Draw & measure",
106
110
  "drawingFillColor": "Drawing fill color",
107
111
  "Drawings": "Drawings",
@@ -143,7 +147,10 @@
143
147
  "Filter layer": "Filter layer",
144
148
  "Filter layer tree...": "Filter layer tree...",
145
149
  "Filtering deactivated: layers in layergroup don't have identical attributes.": "Filtering deactivated: layers in layergroup don't have identical attributes.",
150
+ "Fix height to": "Fix height to",
146
151
  "Fix length to": "Fix length to",
152
+ "Fix side length to": "Fix side length to",
153
+ "Fix width to": "Fix width to",
147
154
  "Font": "Font",
148
155
  "Format": "Format",
149
156
  "fr": "French",
@@ -379,6 +386,7 @@
379
386
  "selectStrokeColor": "Selection stroke color",
380
387
  "Send": "Send",
381
388
  "Send message": "Send message",
389
+ "Settings": "Settings",
382
390
  "Shadows": "Shadows",
383
391
  "Share this map": "Share this map",
384
392
  "share-panel": "Share or embed map",
@@ -70,9 +70,11 @@
70
70
  "Define time restriction on group": "Définir la restriction temporelle pour le groupe",
71
71
  "Define time restriction on layer": "Définir la restriction temporelle sur la couche",
72
72
  "delete": "Supprimer",
73
+ "Delete all shapes": "Supprimer toutes les formes",
73
74
  "Delete bookmark": "Supprimer le favori",
74
75
  "Delete Feature": "Supprimer la fonctionnalité",
75
76
  "Delete feature": "Suppression de l'entité",
77
+ "Delete Features": "Supprimer les objets",
76
78
  "Delete shape": "Supprimer la forme",
77
79
  "Delete Theme": "Supprimer le thème",
78
80
  "delete_help": "Supprimer la ligne de profil",
@@ -85,6 +87,7 @@
85
87
  "Do you want to delete this theme?": "Voulez-vous supprimer ce thème ?",
86
88
  "Do you want to logout ?": "Voulez-vous vous déconnecter ?",
87
89
  "Do you want to remove \"${feature.name}\" ?": "Voulez-vous supprimer \"${feature.name}\" ?",
90
+ "Do you want to remove all features?": "Voulez-vous supprimer tous les objets ?",
88
91
  "Documentation": "Documentation",
89
92
  "does not contain": "ne contient pas",
90
93
  "does not equal": "n'est pas égal à",
@@ -102,6 +105,7 @@
102
105
  "Draw polygons": "Tracer des polygones",
103
106
  "draw_profile": "Dessiner",
104
107
  "draw_profile_help": "Activer/désactiver le dessin de la ligne de profil sur la carte",
108
+ "Drawing List": "Liste des dessins",
105
109
  "drawing-panel": "Dessiner & mesurer",
106
110
  "drawingFillColor": "Couleur de remplissage du dessin",
107
111
  "Drawings": "Dessins",
@@ -142,7 +146,10 @@
142
146
  "Filter layer": "Filtrer la couche",
143
147
  "Filter layer tree...": "Filtrer les couches...",
144
148
  "Filtering deactivated: layers in layergroup don't have identical attributes.": "Filtrage désactivé : les couches dans le groupe de couches n'ont pas d'attributs identiques.",
149
+ "Fix height to": "Fixer la hauteur à",
145
150
  "Fix length to": "Fixer la longueur à",
151
+ "Fix side length to": "Fixer la longueur du côté à",
152
+ "Fix width to": "Fixer la largeur à",
146
153
  "Font": "Police",
147
154
  "Format": "Format",
148
155
  "fr": "Français",
@@ -378,6 +385,7 @@
378
385
  "selectStrokeColor": "Couleur du trait de sélection",
379
386
  "Send": "Envoyer",
380
387
  "Send message": "Envoyer un message",
388
+ "Settings": "Paramètres",
381
389
  "Shadows": "Ombres",
382
390
  "Share this map": "Partager cette carte",
383
391
  "share-panel": "Partager ou intégrer la carte",
@@ -70,9 +70,11 @@
70
70
  "Define time restriction on group": "Definire la restrizione temporale del gruppo",
71
71
  "Define time restriction on layer": "Definire la restrizione temporale del livello",
72
72
  "delete": "Elimina",
73
+ "Delete all shapes": "Elimina tutte le forme",
73
74
  "Delete bookmark": "Elimina segnalibro",
74
75
  "Delete Feature": "Elimina funzionalità",
75
76
  "Delete feature": "Eliminare l'elemento",
77
+ "Delete Features": "Elimina oggetti",
76
78
  "Delete shape": "Elimina forma",
77
79
  "Delete Theme": "Elimina tema",
78
80
  "delete_help": "Elimina la linea di profilo",
@@ -85,6 +87,7 @@
85
87
  "Do you want to delete this theme?": "Vuoi eliminare questo tema?",
86
88
  "Do you want to logout ?": "Vuoi disconnetterti?",
87
89
  "Do you want to remove \"${feature.name}\" ?": "Vuoi rimuovere \"${feature.name}\"?",
90
+ "Do you want to remove all features?": "Vuoi rimuovere tutti gli oggetti?",
88
91
  "Documentation": "Documentazione",
89
92
  "does not contain": "non contiene",
90
93
  "does not equal": "diverso da",
@@ -102,6 +105,7 @@
102
105
  "Draw polygons": "Disegnare un poligono",
103
106
  "draw_profile": "Disegna linea di profilo",
104
107
  "draw_profile_help": "Attiva/disattiva il disegno della linea di profilo sulla mappa",
108
+ "Drawing List": "Elenco dei disegni",
105
109
  "drawing-panel": "Disegna e misura",
106
110
  "drawingFillColor": "Colore di riempimento del disegno",
107
111
  "Drawings": "Disegni",
@@ -142,7 +146,10 @@
142
146
  "Filter layer": "Filtra layer",
143
147
  "Filter layer tree...": "Albero dei livelli di filtraggio...",
144
148
  "Filtering deactivated: layers in layergroup don't have identical attributes.": "Filtro disattivato: i layer nel gruppo non hanno attributi identici.",
149
+ "Fix height to": "Fissa l’altezza a",
145
150
  "Fix length to": "Fissa la lunghezza a",
151
+ "Fix side length to": "Fissare la lunghezza del lato a",
152
+ "Fix width to": "Fissa la larghezza a",
146
153
  "Font": "Carattere",
147
154
  "Format": "Formato",
148
155
  "fr": "Francese",
@@ -378,6 +385,7 @@
378
385
  "selectStrokeColor": "Colore del tratto di selezione",
379
386
  "Send": "Invia",
380
387
  "Send message": "Invia messaggio",
388
+ "Settings": "Impostazioni",
381
389
  "Shadows": "Ombre",
382
390
  "Share this map": "Condividi questa mappa",
383
391
  "share-panel": "Condividi o incorpora la mappa",
@@ -1,5 +1,5 @@
1
1
  import GirafeHTMLElement from './GirafeHTMLElement.js';
2
- declare class GirafeDraggableElement extends GirafeHTMLElement {
2
+ declare abstract class GirafeDraggableElement extends GirafeHTMLElement {
3
3
  private header?;
4
4
  private closeButton?;
5
5
  private container?;
@@ -3,13 +3,12 @@ import { Callback } from '../tools/state/statemanager.js';
3
3
  import { GgUserInteractionEvent } from '../tools/state/userinteractionevent.js';
4
4
  import IGirafeContext from '../tools/context/icontext.js';
5
5
  declare abstract class GirafeHTMLElement extends HTMLElement {
6
- protected templateUrl: string | null;
7
- protected styleUrl: string | null;
8
- protected styleUrls: string[] | null;
6
+ protected abstract templateUrl: string | null;
7
+ protected abstract styleUrls: string[] | null;
9
8
  protected template: Hole | (() => Hole);
10
9
  readonly name: string;
11
10
  protected shadow: ShadowRoot;
12
- private displayStyle?;
11
+ protected displayStyle?: string;
13
12
  private timeoutId?;
14
13
  protected rendered: boolean;
15
14
  private readonly callbacks;
@@ -1,9 +1,6 @@
1
1
  // SPDX-License-Identifier: Apache-2.0
2
2
  import { render as uRender, html as uHtml } from 'uhtml';
3
3
  class GirafeHTMLElement extends HTMLElement {
4
- templateUrl = null;
5
- styleUrl = null;
6
- styleUrls = null;
7
4
  template;
8
5
  name;
9
6
  shadow;
@@ -65,13 +62,7 @@ class GirafeHTMLElement extends HTMLElement {
65
62
  return elem;
66
63
  }
67
64
  // Otherwise, we try to find a parent recursively
68
- let parent = null;
69
- if (elem instanceof ShadowRoot) {
70
- parent = elem.host;
71
- }
72
- else {
73
- parent = elem.parentNode;
74
- }
65
+ const parent = elem instanceof ShadowRoot ? elem.host : elem.parentNode;
75
66
  return this.getParentOfType(parentNodeName, parent, elem);
76
67
  }
77
68
  /**
@@ -1,5 +1,5 @@
1
1
  import GirafeHTMLElement from './GirafeHTMLElement.js';
2
- declare class GirafeResizableElement extends GirafeHTMLElement {
2
+ declare abstract class GirafeResizableElement extends GirafeHTMLElement {
3
3
  private gutter?;
4
4
  private closeButton?;
5
5
  protected readonly dock: 'left' | 'right' | 'bottom';
@@ -19,7 +19,7 @@ declare class GirafeResizableElement extends GirafeHTMLElement {
19
19
  private mousedown;
20
20
  private mousemove;
21
21
  private mouseup;
22
- protected closePanel(): void;
22
+ protected abstract closePanel(): void;
23
23
  protected clean(): void;
24
24
  private restoreLastDimensions;
25
25
  private togglePanelInternal;
@@ -106,9 +106,6 @@ class GirafeResizableElement extends GirafeHTMLElement {
106
106
  this.lastHeight = Number.parseFloat(getComputedStyle(this).height);
107
107
  this.dispatchEvent(new CustomEvent('resize-end'));
108
108
  }
109
- closePanel() {
110
- throw new Error('This function must be overriden to close and clean the associated panel');
111
- }
112
109
  clean() {
113
110
  this.style.width = '';
114
111
  this.style.height = '';
File without changes
@@ -3,6 +3,7 @@ import MagicString from 'magic-string';
3
3
  import fs from 'fs-extra';
4
4
  import path from 'path';
5
5
  import { minify } from 'minify';
6
+ import fg from 'fast-glob';
6
7
 
7
8
  export function findFilesRecursive(sourceDir, allowedExtensions, fileList = []) {
8
9
  const childs = fs.readdirSync(sourceDir);
@@ -23,12 +24,39 @@ export function findFilesRecursive(sourceDir, allowedExtensions, fileList = [])
23
24
  return fileList;
24
25
  }
25
26
 
27
+ export function deleteFilesRecursive(sourceDir, extensionsToDelete, fileList = []) {
28
+ const childs = fs.readdirSync(sourceDir);
29
+
30
+ childs.forEach((filename) => {
31
+ const src = path.join(sourceDir, filename);
32
+
33
+ if (fs.statSync(src).isDirectory()) {
34
+ deleteFilesRecursive(src, extensionsToDelete, fileList);
35
+ } else if (extensionsToDelete.some((ext) => filename.endsWith(ext))) {
36
+ console.info(`Deleting file ${src}`);
37
+ fileList.push(src);
38
+ fs.unlinkSync(src);
39
+ }
40
+ });
41
+ }
42
+
26
43
  export function deleteDirectory(sourceDir) {
27
44
  if (fs.existsSync(sourceDir)) {
45
+ console.info(`Deleting directory ${sourceDir} recursively`);
28
46
  fs.rmSync(sourceDir, { recursive: true });
29
47
  }
30
48
  }
31
49
 
50
+ export function deleteFiles(patterns) {
51
+ for (const pattern of patterns) {
52
+ const filesToDelete = fg.globSync(pattern, { absolute: true });
53
+ for (const fileToDelete of filesToDelete) {
54
+ console.info(`Deleting file ${fileToDelete}`);
55
+ fs.rmSync(fileToDelete);
56
+ }
57
+ }
58
+ }
59
+
32
60
  export function copy(filename, sourceDir, targetDir) {
33
61
  const source = path.join(sourceDir, filename);
34
62
  const target = path.join(targetDir, filename);
@@ -82,7 +110,10 @@ async function getHtmlCode(currentFilename, relativeHtmlPath, styleCode) {
82
110
  removeAttributeQuotes: false
83
111
  }
84
112
  });
85
- htmlCode = `template = () => { return uHtml\`${styleCode}\n${htmlCode}\`; }`;
113
+ htmlCode = `
114
+ templateUrl = null;
115
+ styleUrls = null;
116
+ template = () => { return uHtml\`${styleCode}\n${htmlCode}\`; }`;
86
117
  return htmlCode;
87
118
  } catch (error) {
88
119
  console.error(`Error reading html file for ${currentFilename}: ${error}`);
@@ -136,9 +167,9 @@ function isStringCommented(line) {
136
167
  }
137
168
 
138
169
  // Regex definitions
139
- export const styleRegex = /styleUrl *= *['"](.*)['"] *;?/g;
140
- export const stylesRegex = /styleUrls *= *\[([\s\S]*?)\] *;?/gs;
141
- export const htmlRegex = /templateUrl *= *['"](.*)['"] *;?/g;
170
+ export const styleRegex = /(?:override\s+)?styleUrl *= *['"](.*)['"] *;?/g;
171
+ export const stylesRegex = /(?:override\s+)?styleUrls *= *\[([\s\S]*?)\] *;?/gs;
172
+ export const htmlRegex = /(?:override\s+)?templateUrl *= *['"](.*)['"] *;?/g;
142
173
 
143
174
  export async function inlineTemplate(filename) {
144
175
  // Read the file
@@ -1,6 +1,8 @@
1
1
  import GirafeHTMLElement from '../../base/GirafeHTMLElement.js';
2
2
  import IGirafePanel from '../../tools/state/igirafepanel.js';
3
3
  declare class AboutComponent extends GirafeHTMLElement implements IGirafePanel {
4
+ templateUrl: null;
5
+ styleUrls: null;
4
6
  template: () => import("uhtml").Hole;
5
7
  isPanelVisible: boolean;
6
8
  panelTitle: string;
@@ -2,9 +2,11 @@ import { html as uHtml } from 'uhtml';
2
2
  // SPDX-License-Identifier: Apache-2.0
3
3
  import GirafeHTMLElement from '../../base/GirafeHTMLElement.js';
4
4
  class AboutComponent extends GirafeHTMLElement {
5
+ templateUrl = null;
6
+ styleUrls = null;
5
7
  template = () => {
6
8
  return uHtml `<style>
7
- *{font-family:Arial,sans-serif}.hidden{display:none!important}.gg-rotate90{transform:rotate(90deg)}.gg-rotate180{transform:rotate(180deg)}.gg-rotate270{transform:rotate(270deg)}img{filter:var(--svg-filter)}img.legend-image{filter:var(--svg-map-filter);background:var(--svg-legend-bkg)}div{scrollbar-width:thin}a,a:visited{color:var(--link-color)}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@keyframes spin-wait{0%{transform:rotate(0)}7%{transform:rotate(360deg)}to{transform:rotate(360deg)}}.gg-spin{animation-name:spin;animation-duration:2s;animation-timing-function:linear;animation-iteration-count:infinite}.gg-spin-wait{animation-name:spin-wait;animation-duration:10s;animation-timing-function:linear;animation-iteration-count:infinite}::-webkit-scrollbar{width:5px}::-webkit-scrollbar-thumb{background:#999}.gg-button,.gg-select,.gg-input,.gg-textarea{background-color:var(--bkg-color);color:var(--text-color);border:var(--app-standard-border);box-sizing:border-box;cursor:pointer;border-radius:3px;outline:0;margin:0;padding:0 0 0 .5rem;display:inline-block}.gg-label{background-color:var(--bkg-color);color:var(--text-color);border:none;align-items:center;margin:0;padding:0;display:flex}.gg-button,.gg-select,.gg-input,.gg-label{min-height:calc(var(--app-standard-height)/1.5)}.gg-textarea{max-height:initial;resize:vertical;height:6rem;padding:.5rem;line-height:1.3rem}.gg-input{cursor:text}.gg-checkbox{accent-color:var(--text-color);width:1.2rem}.gg-range{accent-color:var(--text-color)}.gg-button{padding:0 .5rem}.gg-button.active{border:solid 1px var(--text-color-grad2);background-color:var(--text-color-grad2);color:var(--bkg-color)}.gg-button:disabled{color:gray;cursor:not-allowed;background-color:#d3d3d3;border:none}.gg-input:disabled,.gg-select:disabled,.gg-textarea:disabled{color:gray;cursor:not-allowed;background-color:#d3d3d3}.gg-button>img{vertical-align:middle}.gg-icon-button{color:var(--text-color);cursor:pointer;background-color:#0000;border:none;flex-direction:column;justify-content:center;align-items:center;padding:0;display:flex}.gg-icon{justify-content:center;align-items:center;display:flex}.gg-big,.gg-big-withtext{min-width:var(--app-standard-height);min-height:var(--app-standard-height);max-height:var(--app-standard-height)}.gg-big img,.gg-big-withtext img{width:calc(var(--app-standard-height) - 1.5rem);margin:0}.gg-big-withtext span{font-variant:small-caps;padding:0 1rem;font-size:.9rem}.gg-medium,.gg-medium-withtext{min-width:calc(var(--app-standard-height)/1.2);min-height:calc(var(--app-standard-height)/1.2);max-height:calc(var(--app-standard-height)/1.2);flex-direction:row}.gg-medium img{width:calc(var(--app-standard-height)/2.4);margin:0}.gg-medium-withtext img{width:calc(var(--app-standard-height)/2.4);margin-left:.5rem}.gg-medium-withtext span{padding:0 1rem 0 .5rem;font-size:.9rem}.gg-small,.gg-small-withtext{min-width:calc(var(--app-standard-height)/2);min-height:calc(var(--app-standard-height)/2);max-height:calc(var(--app-standard-height)/2);flex-direction:row}.gg-small img{width:calc(var(--app-standard-height)/3);margin:0}.gg-small-withtext img{width:calc(var(--app-standard-height)/3);margin-left:.5rem}.gg-small-withtext span{padding:0 .5rem 0 .3rem;font-size:.9rem}.gg-button:hover,.gg-select:hover,.gg-input:hover,.gg-textarea:hover,.gg-icon-button:hover{background-color:var(--bkg-color-grad1)}.gg-opacity{opacity:.5}.gg-opacity:hover{opacity:1;background-color:#0000}.gg-tabs{cursor:pointer;grid-auto-flow:column;padding-bottom:1rem;font-size:1rem;display:grid}.gg-tab{border:none;border-bottom:var(--app-standard-border);cursor:pointer;color:var(--text-color);background:0 0;padding:.5rem}.gg-tab.active{border-bottom:solid 1px var(--text-color)}.girafe-button-big,.girafe-button-large,.girafe-button-small,.girafe-button-tiny{color:var(--text-color);background-color:#0000;border:none;flex-direction:column;display:flex}.girafe-button-big:hover,.girafe-button-large:hover,.girafe-button-small:hover,.girafe-button-tiny:hover{background-color:var(--bkg-color-grad1);cursor:pointer}.girafe-button-big.dark,.girafe-button-large.dark,.girafe-button-small.dark,.girafe-button-tiny.dark{background-color:var(--bkg-color);filter:invert()}.girafe-button-big{width:var(--app-standard-height);height:var(--app-standard-height);align-items:center;padding:1rem}.girafe-button-big img{overflow:hidden}.girafe-button-large{flex-direction:row}.girafe-button-large img{height:2rem;margin:.3rem}.girafe-button-large span{height:2rem;margin:.3rem;line-height:2rem}.girafe-button-small{min-width:calc(var(--app-standard-height)/2);height:calc(var(--app-standard-height)/2);align-items:center;padding:.5rem}.girafe-button-small img{overflow:hidden}.girafe-button-small span{text-align:left;text-overflow:ellipsis;width:100%;overflow:hidden}.girafe-button-tiny{align-items:center;width:1rem;height:1rem;padding:0}.girafe-button-tiny img{overflow:hidden}.girafe-onboarding-theme{background-color:var(--bkg-color)!important;color:var(--text-color)!important}.girafe-onboarding-theme button{background-color:var(--bkg-color)!important;color:var(--text-color)!important;text-shadow:none!important}.girafe-onboarding-theme button.driver-popover-close-btn{z-index:10000}
9
+ *{font-family:Arial,sans-serif}.hidden{display:none!important}.gg-rotate90{transform:rotate(90deg)}.gg-rotate180{transform:rotate(180deg)}.gg-rotate270{transform:rotate(270deg)}img{filter:var(--svg-filter)}img.legend-image{filter:var(--svg-map-filter);background:var(--svg-legend-bkg)}div{scrollbar-width:thin}a,a:visited{color:var(--link-color)}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@keyframes spin-wait{0%{transform:rotate(0)}7%{transform:rotate(360deg)}to{transform:rotate(360deg)}}.gg-spin{animation-name:spin;animation-duration:2s;animation-timing-function:linear;animation-iteration-count:infinite}.gg-spin-wait{animation-name:spin-wait;animation-duration:10s;animation-timing-function:linear;animation-iteration-count:infinite}::-webkit-scrollbar{width:5px}::-webkit-scrollbar-thumb{background:#999}.gg-button,.gg-select,.gg-input,.gg-textarea{background-color:var(--bkg-color);color:var(--text-color);border:var(--app-standard-border);box-sizing:border-box;cursor:pointer;border-radius:3px;outline:0;margin:0;padding:0 0 0 .5rem;display:inline-block}.gg-label{background-color:var(--bkg-color);color:var(--text-color);border:none;align-items:center;margin:0;padding:0;display:flex}.gg-button,.gg-select,.gg-input,.gg-label{min-height:calc(var(--app-standard-height) / 1.5)}.gg-textarea{max-height:initial;resize:vertical;height:6rem;padding:.5rem;line-height:1.3rem}.gg-input{cursor:text}.gg-checkbox{accent-color:var(--text-color);width:1.2rem}.gg-range{accent-color:var(--text-color)}.gg-button{padding:0 .5rem}.gg-button.active{border:solid 1px var(--text-color-grad2);background-color:var(--text-color-grad2);color:var(--bkg-color)}.gg-button:disabled{color:gray;cursor:not-allowed;background-color:#d3d3d3;border:none}.gg-input:disabled,.gg-select:disabled,.gg-textarea:disabled{color:gray;cursor:not-allowed;background-color:#d3d3d3}.gg-button>img{vertical-align:middle}.gg-icon-button{color:var(--text-color);cursor:pointer;background-color:#0000;border:none;flex-direction:column;justify-content:center;align-items:center;padding:0;display:flex}.gg-icon{justify-content:center;align-items:center;display:flex}.gg-big,.gg-big-withtext{min-width:var(--app-standard-height);min-height:var(--app-standard-height);max-height:var(--app-standard-height)}.gg-big img,.gg-big-withtext img{width:calc(var(--app-standard-height) - 1.5rem);margin:0}.gg-big-withtext span{font-variant:small-caps;padding:0 1rem;font-size:.9rem}.gg-medium,.gg-medium-withtext{min-width:calc(var(--app-standard-height) / 1.2);min-height:calc(var(--app-standard-height) / 1.2);max-height:calc(var(--app-standard-height) / 1.2);flex-direction:row}.gg-medium img{width:calc(var(--app-standard-height) / 2.4);margin:0}.gg-medium-withtext img{width:calc(var(--app-standard-height) / 2.4);margin-left:.5rem}.gg-medium-withtext span{padding:0 1rem 0 .5rem;font-size:.9rem}.gg-small,.gg-small-withtext{min-width:calc(var(--app-standard-height) / 2);min-height:calc(var(--app-standard-height) / 2);max-height:calc(var(--app-standard-height) / 2);flex-direction:row}.gg-small img{width:calc(var(--app-standard-height) / 3);margin:0}.gg-small-withtext img{width:calc(var(--app-standard-height) / 3);margin-left:.5rem}.gg-small-withtext span{padding:0 .5rem 0 .3rem;font-size:.9rem}.gg-button:hover,.gg-select:hover,.gg-input:hover,.gg-textarea:hover,.gg-icon-button:hover{background-color:var(--bkg-color-grad1)}.gg-opacity{opacity:.5}.gg-opacity:hover{opacity:1;background-color:#0000}.gg-tabs{cursor:pointer;grid-auto-flow:column;padding-bottom:1rem;font-size:1rem;display:grid}.gg-tab{border:none;border-bottom:var(--app-standard-border);cursor:pointer;color:var(--text-color);background:0 0;padding:.5rem}.gg-tab.active{border-bottom:solid 1px var(--text-color)}.girafe-button-big,.girafe-button-large,.girafe-button-small,.girafe-button-tiny{color:var(--text-color);background-color:#0000;border:none;flex-direction:column;display:flex}.girafe-button-big:hover,.girafe-button-large:hover,.girafe-button-small:hover,.girafe-button-tiny:hover{background-color:var(--bkg-color-grad1);cursor:pointer}.girafe-button-big.dark,.girafe-button-large.dark,.girafe-button-small.dark,.girafe-button-tiny.dark{background-color:var(--bkg-color);filter:invert()}.girafe-button-big{width:var(--app-standard-height);height:var(--app-standard-height);align-items:center;padding:1rem}.girafe-button-big img{overflow:hidden}.girafe-button-large{flex-direction:row}.girafe-button-large img{height:2rem;margin:.3rem}.girafe-button-large span{height:2rem;margin:.3rem;line-height:2rem}.girafe-button-small{min-width:calc(var(--app-standard-height) / 2);height:calc(var(--app-standard-height) / 2);align-items:center;padding:.5rem}.girafe-button-small img{overflow:hidden}.girafe-button-small span{text-align:left;text-overflow:ellipsis;width:100%;overflow:hidden}.girafe-button-tiny{align-items:center;width:1rem;height:1rem;padding:0}.girafe-button-tiny img{overflow:hidden}.girafe-onboarding-theme{background-color:var(--bkg-color)!important;color:var(--text-color)!important}.girafe-onboarding-theme button{background-color:var(--bkg-color)!important;color:var(--text-color)!important;text-shadow:none!important}.girafe-onboarding-theme button.driver-popover-close-btn{z-index:10000}
8
10
  </style><style>
9
11
  .panel{color:var(--text-color)}.panel>div{padding:1rem}img.logo{filter:var(--svg-filter);opacity:.8;height:4rem}.list{flex-direction:column;margin-top:1rem;display:flex}
10
12
  </style>
@@ -1,5 +1,7 @@
1
1
  import GirafeHTMLElement from '../../base/GirafeHTMLElement.js';
2
2
  export default class AlignNorthButtonMobile extends GirafeHTMLElement {
3
+ templateUrl: null;
4
+ styleUrls: null;
3
5
  template: () => import("uhtml").Hole;
4
6
  constructor();
5
7
  protected connectedCallback(): void;
@@ -2,9 +2,11 @@ import { html as uHtml } from 'uhtml';
2
2
  // SPDX-License-Identifier: Apache-2.0
3
3
  import GirafeHTMLElement from '../../base/GirafeHTMLElement.js';
4
4
  export default class AlignNorthButtonMobile extends GirafeHTMLElement {
5
+ templateUrl = null;
6
+ styleUrls = null;
5
7
  template = () => {
6
8
  return uHtml `<style>
7
- *{font-family:Arial,sans-serif}.hidden{display:none!important}.gg-rotate90{transform:rotate(90deg)}.gg-rotate180{transform:rotate(180deg)}.gg-rotate270{transform:rotate(270deg)}img{filter:var(--svg-filter)}img.legend-image{filter:var(--svg-map-filter);background:var(--svg-legend-bkg)}div{scrollbar-width:thin}a,a:visited{color:var(--link-color)}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@keyframes spin-wait{0%{transform:rotate(0)}7%{transform:rotate(360deg)}to{transform:rotate(360deg)}}.gg-spin{animation-name:spin;animation-duration:2s;animation-timing-function:linear;animation-iteration-count:infinite}.gg-spin-wait{animation-name:spin-wait;animation-duration:10s;animation-timing-function:linear;animation-iteration-count:infinite}::-webkit-scrollbar{width:5px}::-webkit-scrollbar-thumb{background:#999}.gg-button,.gg-select,.gg-input,.gg-textarea{background-color:var(--bkg-color);color:var(--text-color);border:var(--app-standard-border);box-sizing:border-box;cursor:pointer;border-radius:3px;outline:0;margin:0;padding:0 0 0 .5rem;display:inline-block}.gg-label{background-color:var(--bkg-color);color:var(--text-color);border:none;align-items:center;margin:0;padding:0;display:flex}.gg-button,.gg-select,.gg-input,.gg-label{min-height:calc(var(--app-standard-height)/1.5)}.gg-textarea{max-height:initial;resize:vertical;height:6rem;padding:.5rem;line-height:1.3rem}.gg-input{cursor:text}.gg-checkbox{accent-color:var(--text-color);width:1.2rem}.gg-range{accent-color:var(--text-color)}.gg-button{padding:0 .5rem}.gg-button.active{border:solid 1px var(--text-color-grad2);background-color:var(--text-color-grad2);color:var(--bkg-color)}.gg-button:disabled{color:gray;cursor:not-allowed;background-color:#d3d3d3;border:none}.gg-input:disabled,.gg-select:disabled,.gg-textarea:disabled{color:gray;cursor:not-allowed;background-color:#d3d3d3}.gg-button>img{vertical-align:middle}.gg-icon-button{color:var(--text-color);cursor:pointer;background-color:#0000;border:none;flex-direction:column;justify-content:center;align-items:center;padding:0;display:flex}.gg-icon{justify-content:center;align-items:center;display:flex}.gg-big,.gg-big-withtext{min-width:var(--app-standard-height);min-height:var(--app-standard-height);max-height:var(--app-standard-height)}.gg-big img,.gg-big-withtext img{width:calc(var(--app-standard-height) - 1.5rem);margin:0}.gg-big-withtext span{font-variant:small-caps;padding:0 1rem;font-size:.9rem}.gg-medium,.gg-medium-withtext{min-width:calc(var(--app-standard-height)/1.2);min-height:calc(var(--app-standard-height)/1.2);max-height:calc(var(--app-standard-height)/1.2);flex-direction:row}.gg-medium img{width:calc(var(--app-standard-height)/2.4);margin:0}.gg-medium-withtext img{width:calc(var(--app-standard-height)/2.4);margin-left:.5rem}.gg-medium-withtext span{padding:0 1rem 0 .5rem;font-size:.9rem}.gg-small,.gg-small-withtext{min-width:calc(var(--app-standard-height)/2);min-height:calc(var(--app-standard-height)/2);max-height:calc(var(--app-standard-height)/2);flex-direction:row}.gg-small img{width:calc(var(--app-standard-height)/3);margin:0}.gg-small-withtext img{width:calc(var(--app-standard-height)/3);margin-left:.5rem}.gg-small-withtext span{padding:0 .5rem 0 .3rem;font-size:.9rem}.gg-button:hover,.gg-select:hover,.gg-input:hover,.gg-textarea:hover,.gg-icon-button:hover{background-color:var(--bkg-color-grad1)}.gg-opacity{opacity:.5}.gg-opacity:hover{opacity:1;background-color:#0000}.gg-tabs{cursor:pointer;grid-auto-flow:column;padding-bottom:1rem;font-size:1rem;display:grid}.gg-tab{border:none;border-bottom:var(--app-standard-border);cursor:pointer;color:var(--text-color);background:0 0;padding:.5rem}.gg-tab.active{border-bottom:solid 1px var(--text-color)}.girafe-button-big,.girafe-button-large,.girafe-button-small,.girafe-button-tiny{color:var(--text-color);background-color:#0000;border:none;flex-direction:column;display:flex}.girafe-button-big:hover,.girafe-button-large:hover,.girafe-button-small:hover,.girafe-button-tiny:hover{background-color:var(--bkg-color-grad1);cursor:pointer}.girafe-button-big.dark,.girafe-button-large.dark,.girafe-button-small.dark,.girafe-button-tiny.dark{background-color:var(--bkg-color);filter:invert()}.girafe-button-big{width:var(--app-standard-height);height:var(--app-standard-height);align-items:center;padding:1rem}.girafe-button-big img{overflow:hidden}.girafe-button-large{flex-direction:row}.girafe-button-large img{height:2rem;margin:.3rem}.girafe-button-large span{height:2rem;margin:.3rem;line-height:2rem}.girafe-button-small{min-width:calc(var(--app-standard-height)/2);height:calc(var(--app-standard-height)/2);align-items:center;padding:.5rem}.girafe-button-small img{overflow:hidden}.girafe-button-small span{text-align:left;text-overflow:ellipsis;width:100%;overflow:hidden}.girafe-button-tiny{align-items:center;width:1rem;height:1rem;padding:0}.girafe-button-tiny img{overflow:hidden}.girafe-onboarding-theme{background-color:var(--bkg-color)!important;color:var(--text-color)!important}.girafe-onboarding-theme button{background-color:var(--bkg-color)!important;color:var(--text-color)!important;text-shadow:none!important}.girafe-onboarding-theme button.driver-popover-close-btn{z-index:10000}
9
+ *{font-family:Arial,sans-serif}.hidden{display:none!important}.gg-rotate90{transform:rotate(90deg)}.gg-rotate180{transform:rotate(180deg)}.gg-rotate270{transform:rotate(270deg)}img{filter:var(--svg-filter)}img.legend-image{filter:var(--svg-map-filter);background:var(--svg-legend-bkg)}div{scrollbar-width:thin}a,a:visited{color:var(--link-color)}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@keyframes spin-wait{0%{transform:rotate(0)}7%{transform:rotate(360deg)}to{transform:rotate(360deg)}}.gg-spin{animation-name:spin;animation-duration:2s;animation-timing-function:linear;animation-iteration-count:infinite}.gg-spin-wait{animation-name:spin-wait;animation-duration:10s;animation-timing-function:linear;animation-iteration-count:infinite}::-webkit-scrollbar{width:5px}::-webkit-scrollbar-thumb{background:#999}.gg-button,.gg-select,.gg-input,.gg-textarea{background-color:var(--bkg-color);color:var(--text-color);border:var(--app-standard-border);box-sizing:border-box;cursor:pointer;border-radius:3px;outline:0;margin:0;padding:0 0 0 .5rem;display:inline-block}.gg-label{background-color:var(--bkg-color);color:var(--text-color);border:none;align-items:center;margin:0;padding:0;display:flex}.gg-button,.gg-select,.gg-input,.gg-label{min-height:calc(var(--app-standard-height) / 1.5)}.gg-textarea{max-height:initial;resize:vertical;height:6rem;padding:.5rem;line-height:1.3rem}.gg-input{cursor:text}.gg-checkbox{accent-color:var(--text-color);width:1.2rem}.gg-range{accent-color:var(--text-color)}.gg-button{padding:0 .5rem}.gg-button.active{border:solid 1px var(--text-color-grad2);background-color:var(--text-color-grad2);color:var(--bkg-color)}.gg-button:disabled{color:gray;cursor:not-allowed;background-color:#d3d3d3;border:none}.gg-input:disabled,.gg-select:disabled,.gg-textarea:disabled{color:gray;cursor:not-allowed;background-color:#d3d3d3}.gg-button>img{vertical-align:middle}.gg-icon-button{color:var(--text-color);cursor:pointer;background-color:#0000;border:none;flex-direction:column;justify-content:center;align-items:center;padding:0;display:flex}.gg-icon{justify-content:center;align-items:center;display:flex}.gg-big,.gg-big-withtext{min-width:var(--app-standard-height);min-height:var(--app-standard-height);max-height:var(--app-standard-height)}.gg-big img,.gg-big-withtext img{width:calc(var(--app-standard-height) - 1.5rem);margin:0}.gg-big-withtext span{font-variant:small-caps;padding:0 1rem;font-size:.9rem}.gg-medium,.gg-medium-withtext{min-width:calc(var(--app-standard-height) / 1.2);min-height:calc(var(--app-standard-height) / 1.2);max-height:calc(var(--app-standard-height) / 1.2);flex-direction:row}.gg-medium img{width:calc(var(--app-standard-height) / 2.4);margin:0}.gg-medium-withtext img{width:calc(var(--app-standard-height) / 2.4);margin-left:.5rem}.gg-medium-withtext span{padding:0 1rem 0 .5rem;font-size:.9rem}.gg-small,.gg-small-withtext{min-width:calc(var(--app-standard-height) / 2);min-height:calc(var(--app-standard-height) / 2);max-height:calc(var(--app-standard-height) / 2);flex-direction:row}.gg-small img{width:calc(var(--app-standard-height) / 3);margin:0}.gg-small-withtext img{width:calc(var(--app-standard-height) / 3);margin-left:.5rem}.gg-small-withtext span{padding:0 .5rem 0 .3rem;font-size:.9rem}.gg-button:hover,.gg-select:hover,.gg-input:hover,.gg-textarea:hover,.gg-icon-button:hover{background-color:var(--bkg-color-grad1)}.gg-opacity{opacity:.5}.gg-opacity:hover{opacity:1;background-color:#0000}.gg-tabs{cursor:pointer;grid-auto-flow:column;padding-bottom:1rem;font-size:1rem;display:grid}.gg-tab{border:none;border-bottom:var(--app-standard-border);cursor:pointer;color:var(--text-color);background:0 0;padding:.5rem}.gg-tab.active{border-bottom:solid 1px var(--text-color)}.girafe-button-big,.girafe-button-large,.girafe-button-small,.girafe-button-tiny{color:var(--text-color);background-color:#0000;border:none;flex-direction:column;display:flex}.girafe-button-big:hover,.girafe-button-large:hover,.girafe-button-small:hover,.girafe-button-tiny:hover{background-color:var(--bkg-color-grad1);cursor:pointer}.girafe-button-big.dark,.girafe-button-large.dark,.girafe-button-small.dark,.girafe-button-tiny.dark{background-color:var(--bkg-color);filter:invert()}.girafe-button-big{width:var(--app-standard-height);height:var(--app-standard-height);align-items:center;padding:1rem}.girafe-button-big img{overflow:hidden}.girafe-button-large{flex-direction:row}.girafe-button-large img{height:2rem;margin:.3rem}.girafe-button-large span{height:2rem;margin:.3rem;line-height:2rem}.girafe-button-small{min-width:calc(var(--app-standard-height) / 2);height:calc(var(--app-standard-height) / 2);align-items:center;padding:.5rem}.girafe-button-small img{overflow:hidden}.girafe-button-small span{text-align:left;text-overflow:ellipsis;width:100%;overflow:hidden}.girafe-button-tiny{align-items:center;width:1rem;height:1rem;padding:0}.girafe-button-tiny img{overflow:hidden}.girafe-onboarding-theme{background-color:var(--bkg-color)!important;color:var(--text-color)!important}.girafe-onboarding-theme button{background-color:var(--bkg-color)!important;color:var(--text-color)!important;text-shadow:none!important}.girafe-onboarding-theme button.driver-popover-close-btn{z-index:10000}
8
10
  </style><style>
9
11
  #north-button,#north-button:focus{background-color:#fff;outline:none}.black-to-red{filter:invert(27%)sepia(50%)saturate(3000%)brightness(95%)contrast()}
10
12
  </style>
@@ -1,5 +1,7 @@
1
1
  import GirafeHTMLElement from '../../base/GirafeHTMLElement.js';
2
2
  export default class OauthComponent extends GirafeHTMLElement {
3
+ templateUrl: null;
4
+ styleUrls: null;
3
5
  template: () => import("uhtml").Hole;
4
6
  userIconUrl?: string;
5
7
  constructor(name?: string);
@@ -2,9 +2,11 @@ import { html as uHtml } from 'uhtml';
2
2
  // SPDX-License-Identifier: Apache-2.0
3
3
  import GirafeHTMLElement from '../../base/GirafeHTMLElement.js';
4
4
  export default class OauthComponent extends GirafeHTMLElement {
5
+ templateUrl = null;
6
+ styleUrls = null;
5
7
  template = () => {
6
8
  return uHtml `<style>
7
- *{font-family:Arial,sans-serif}.hidden{display:none!important}.gg-rotate90{transform:rotate(90deg)}.gg-rotate180{transform:rotate(180deg)}.gg-rotate270{transform:rotate(270deg)}img{filter:var(--svg-filter)}img.legend-image{filter:var(--svg-map-filter);background:var(--svg-legend-bkg)}div{scrollbar-width:thin}a,a:visited{color:var(--link-color)}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@keyframes spin-wait{0%{transform:rotate(0)}7%{transform:rotate(360deg)}to{transform:rotate(360deg)}}.gg-spin{animation-name:spin;animation-duration:2s;animation-timing-function:linear;animation-iteration-count:infinite}.gg-spin-wait{animation-name:spin-wait;animation-duration:10s;animation-timing-function:linear;animation-iteration-count:infinite}::-webkit-scrollbar{width:5px}::-webkit-scrollbar-thumb{background:#999}.gg-button,.gg-select,.gg-input,.gg-textarea{background-color:var(--bkg-color);color:var(--text-color);border:var(--app-standard-border);box-sizing:border-box;cursor:pointer;border-radius:3px;outline:0;margin:0;padding:0 0 0 .5rem;display:inline-block}.gg-label{background-color:var(--bkg-color);color:var(--text-color);border:none;align-items:center;margin:0;padding:0;display:flex}.gg-button,.gg-select,.gg-input,.gg-label{min-height:calc(var(--app-standard-height)/1.5)}.gg-textarea{max-height:initial;resize:vertical;height:6rem;padding:.5rem;line-height:1.3rem}.gg-input{cursor:text}.gg-checkbox{accent-color:var(--text-color);width:1.2rem}.gg-range{accent-color:var(--text-color)}.gg-button{padding:0 .5rem}.gg-button.active{border:solid 1px var(--text-color-grad2);background-color:var(--text-color-grad2);color:var(--bkg-color)}.gg-button:disabled{color:gray;cursor:not-allowed;background-color:#d3d3d3;border:none}.gg-input:disabled,.gg-select:disabled,.gg-textarea:disabled{color:gray;cursor:not-allowed;background-color:#d3d3d3}.gg-button>img{vertical-align:middle}.gg-icon-button{color:var(--text-color);cursor:pointer;background-color:#0000;border:none;flex-direction:column;justify-content:center;align-items:center;padding:0;display:flex}.gg-icon{justify-content:center;align-items:center;display:flex}.gg-big,.gg-big-withtext{min-width:var(--app-standard-height);min-height:var(--app-standard-height);max-height:var(--app-standard-height)}.gg-big img,.gg-big-withtext img{width:calc(var(--app-standard-height) - 1.5rem);margin:0}.gg-big-withtext span{font-variant:small-caps;padding:0 1rem;font-size:.9rem}.gg-medium,.gg-medium-withtext{min-width:calc(var(--app-standard-height)/1.2);min-height:calc(var(--app-standard-height)/1.2);max-height:calc(var(--app-standard-height)/1.2);flex-direction:row}.gg-medium img{width:calc(var(--app-standard-height)/2.4);margin:0}.gg-medium-withtext img{width:calc(var(--app-standard-height)/2.4);margin-left:.5rem}.gg-medium-withtext span{padding:0 1rem 0 .5rem;font-size:.9rem}.gg-small,.gg-small-withtext{min-width:calc(var(--app-standard-height)/2);min-height:calc(var(--app-standard-height)/2);max-height:calc(var(--app-standard-height)/2);flex-direction:row}.gg-small img{width:calc(var(--app-standard-height)/3);margin:0}.gg-small-withtext img{width:calc(var(--app-standard-height)/3);margin-left:.5rem}.gg-small-withtext span{padding:0 .5rem 0 .3rem;font-size:.9rem}.gg-button:hover,.gg-select:hover,.gg-input:hover,.gg-textarea:hover,.gg-icon-button:hover{background-color:var(--bkg-color-grad1)}.gg-opacity{opacity:.5}.gg-opacity:hover{opacity:1;background-color:#0000}.gg-tabs{cursor:pointer;grid-auto-flow:column;padding-bottom:1rem;font-size:1rem;display:grid}.gg-tab{border:none;border-bottom:var(--app-standard-border);cursor:pointer;color:var(--text-color);background:0 0;padding:.5rem}.gg-tab.active{border-bottom:solid 1px var(--text-color)}.girafe-button-big,.girafe-button-large,.girafe-button-small,.girafe-button-tiny{color:var(--text-color);background-color:#0000;border:none;flex-direction:column;display:flex}.girafe-button-big:hover,.girafe-button-large:hover,.girafe-button-small:hover,.girafe-button-tiny:hover{background-color:var(--bkg-color-grad1);cursor:pointer}.girafe-button-big.dark,.girafe-button-large.dark,.girafe-button-small.dark,.girafe-button-tiny.dark{background-color:var(--bkg-color);filter:invert()}.girafe-button-big{width:var(--app-standard-height);height:var(--app-standard-height);align-items:center;padding:1rem}.girafe-button-big img{overflow:hidden}.girafe-button-large{flex-direction:row}.girafe-button-large img{height:2rem;margin:.3rem}.girafe-button-large span{height:2rem;margin:.3rem;line-height:2rem}.girafe-button-small{min-width:calc(var(--app-standard-height)/2);height:calc(var(--app-standard-height)/2);align-items:center;padding:.5rem}.girafe-button-small img{overflow:hidden}.girafe-button-small span{text-align:left;text-overflow:ellipsis;width:100%;overflow:hidden}.girafe-button-tiny{align-items:center;width:1rem;height:1rem;padding:0}.girafe-button-tiny img{overflow:hidden}.girafe-onboarding-theme{background-color:var(--bkg-color)!important;color:var(--text-color)!important}.girafe-onboarding-theme button{background-color:var(--bkg-color)!important;color:var(--text-color)!important;text-shadow:none!important}.girafe-onboarding-theme button.driver-popover-close-btn{z-index:10000}
9
+ *{font-family:Arial,sans-serif}.hidden{display:none!important}.gg-rotate90{transform:rotate(90deg)}.gg-rotate180{transform:rotate(180deg)}.gg-rotate270{transform:rotate(270deg)}img{filter:var(--svg-filter)}img.legend-image{filter:var(--svg-map-filter);background:var(--svg-legend-bkg)}div{scrollbar-width:thin}a,a:visited{color:var(--link-color)}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@keyframes spin-wait{0%{transform:rotate(0)}7%{transform:rotate(360deg)}to{transform:rotate(360deg)}}.gg-spin{animation-name:spin;animation-duration:2s;animation-timing-function:linear;animation-iteration-count:infinite}.gg-spin-wait{animation-name:spin-wait;animation-duration:10s;animation-timing-function:linear;animation-iteration-count:infinite}::-webkit-scrollbar{width:5px}::-webkit-scrollbar-thumb{background:#999}.gg-button,.gg-select,.gg-input,.gg-textarea{background-color:var(--bkg-color);color:var(--text-color);border:var(--app-standard-border);box-sizing:border-box;cursor:pointer;border-radius:3px;outline:0;margin:0;padding:0 0 0 .5rem;display:inline-block}.gg-label{background-color:var(--bkg-color);color:var(--text-color);border:none;align-items:center;margin:0;padding:0;display:flex}.gg-button,.gg-select,.gg-input,.gg-label{min-height:calc(var(--app-standard-height) / 1.5)}.gg-textarea{max-height:initial;resize:vertical;height:6rem;padding:.5rem;line-height:1.3rem}.gg-input{cursor:text}.gg-checkbox{accent-color:var(--text-color);width:1.2rem}.gg-range{accent-color:var(--text-color)}.gg-button{padding:0 .5rem}.gg-button.active{border:solid 1px var(--text-color-grad2);background-color:var(--text-color-grad2);color:var(--bkg-color)}.gg-button:disabled{color:gray;cursor:not-allowed;background-color:#d3d3d3;border:none}.gg-input:disabled,.gg-select:disabled,.gg-textarea:disabled{color:gray;cursor:not-allowed;background-color:#d3d3d3}.gg-button>img{vertical-align:middle}.gg-icon-button{color:var(--text-color);cursor:pointer;background-color:#0000;border:none;flex-direction:column;justify-content:center;align-items:center;padding:0;display:flex}.gg-icon{justify-content:center;align-items:center;display:flex}.gg-big,.gg-big-withtext{min-width:var(--app-standard-height);min-height:var(--app-standard-height);max-height:var(--app-standard-height)}.gg-big img,.gg-big-withtext img{width:calc(var(--app-standard-height) - 1.5rem);margin:0}.gg-big-withtext span{font-variant:small-caps;padding:0 1rem;font-size:.9rem}.gg-medium,.gg-medium-withtext{min-width:calc(var(--app-standard-height) / 1.2);min-height:calc(var(--app-standard-height) / 1.2);max-height:calc(var(--app-standard-height) / 1.2);flex-direction:row}.gg-medium img{width:calc(var(--app-standard-height) / 2.4);margin:0}.gg-medium-withtext img{width:calc(var(--app-standard-height) / 2.4);margin-left:.5rem}.gg-medium-withtext span{padding:0 1rem 0 .5rem;font-size:.9rem}.gg-small,.gg-small-withtext{min-width:calc(var(--app-standard-height) / 2);min-height:calc(var(--app-standard-height) / 2);max-height:calc(var(--app-standard-height) / 2);flex-direction:row}.gg-small img{width:calc(var(--app-standard-height) / 3);margin:0}.gg-small-withtext img{width:calc(var(--app-standard-height) / 3);margin-left:.5rem}.gg-small-withtext span{padding:0 .5rem 0 .3rem;font-size:.9rem}.gg-button:hover,.gg-select:hover,.gg-input:hover,.gg-textarea:hover,.gg-icon-button:hover{background-color:var(--bkg-color-grad1)}.gg-opacity{opacity:.5}.gg-opacity:hover{opacity:1;background-color:#0000}.gg-tabs{cursor:pointer;grid-auto-flow:column;padding-bottom:1rem;font-size:1rem;display:grid}.gg-tab{border:none;border-bottom:var(--app-standard-border);cursor:pointer;color:var(--text-color);background:0 0;padding:.5rem}.gg-tab.active{border-bottom:solid 1px var(--text-color)}.girafe-button-big,.girafe-button-large,.girafe-button-small,.girafe-button-tiny{color:var(--text-color);background-color:#0000;border:none;flex-direction:column;display:flex}.girafe-button-big:hover,.girafe-button-large:hover,.girafe-button-small:hover,.girafe-button-tiny:hover{background-color:var(--bkg-color-grad1);cursor:pointer}.girafe-button-big.dark,.girafe-button-large.dark,.girafe-button-small.dark,.girafe-button-tiny.dark{background-color:var(--bkg-color);filter:invert()}.girafe-button-big{width:var(--app-standard-height);height:var(--app-standard-height);align-items:center;padding:1rem}.girafe-button-big img{overflow:hidden}.girafe-button-large{flex-direction:row}.girafe-button-large img{height:2rem;margin:.3rem}.girafe-button-large span{height:2rem;margin:.3rem;line-height:2rem}.girafe-button-small{min-width:calc(var(--app-standard-height) / 2);height:calc(var(--app-standard-height) / 2);align-items:center;padding:.5rem}.girafe-button-small img{overflow:hidden}.girafe-button-small span{text-align:left;text-overflow:ellipsis;width:100%;overflow:hidden}.girafe-button-tiny{align-items:center;width:1rem;height:1rem;padding:0}.girafe-button-tiny img{overflow:hidden}.girafe-onboarding-theme{background-color:var(--bkg-color)!important;color:var(--text-color)!important}.girafe-onboarding-theme button{background-color:var(--bkg-color)!important;color:var(--text-color)!important;text-shadow:none!important}.girafe-onboarding-theme button.driver-popover-close-btn{z-index:10000}
8
10
  </style><style>
9
11
  .container{border-right:var(--app-standard-border);flex-direction:row;align-items:center;display:flex}.name{text-align:left;flex-direction:column;display:flex}.user-avatar{--svg-filter:none}
10
12
  </style>
@@ -1,5 +1,7 @@
1
1
  import OauthComponent from '../auth/component.js';
2
2
  export default class MobileOauthComponent extends OauthComponent {
3
+ templateUrl: null;
4
+ styleUrls: null;
3
5
  template: () => import("uhtml").Hole;
4
6
  constructor();
5
7
  }
@@ -2,9 +2,11 @@ import { html as uHtml } from 'uhtml';
2
2
  // SPDX-License-Identifier: Apache-2.0
3
3
  import OauthComponent from '../auth/component.js';
4
4
  export default class MobileOauthComponent extends OauthComponent {
5
+ templateUrl = null;
6
+ styleUrls = null;
5
7
  template = () => {
6
8
  return uHtml `<style>
7
- .hidden{display:none}.gg-tabs{cursor:pointer;grid-auto-flow:column;padding-bottom:1rem;font-size:1rem;display:grid}.gg-tab{border:none;border-bottom:var(--app-standard-border);cursor:pointer;color:var(--text-color);background:0 0;padding:.5rem}.gg-tab.active{border-bottom:solid 1px var(--text-color)}.gg-icon-button,.gg-button{color:var(--text-color);cursor:pointer;background-color:#0000;border:none;flex-direction:column;justify-content:center;align-items:center;padding:0;display:flex}.gg-button{text-align:left}.gg-small{flex-direction:row}.gg-small img{width:calc(var(--app-standard-height)/2.5);margin:0}.gg-small span{margin-left:.5rem;font-size:1rem}.girafe-button-big{filter:drop-shadow(0 0 8px #0000004d);background-color:var(--bkg-color);width:3.5rem;height:3.5rem;color:var(--text-color);border:none;border-radius:4rem;flex-direction:column;align-items:center;padding:.5rem;display:flex}.girafe-button-big img{width:95%;height:auto;padding:5%;overflow:hidden}.girafe-button-big:hover,.girafe-button-large:hover,.girafe-button-small:hover,.girafe-button-tiny:hover{background-color:var(--bkg-color)}
9
+ .hidden{display:none}.gg-tabs{cursor:pointer;grid-auto-flow:column;padding-bottom:1rem;font-size:1rem;display:grid}.gg-tab{border:none;border-bottom:var(--app-standard-border);cursor:pointer;color:var(--text-color);background:0 0;padding:.5rem}.gg-tab.active{border-bottom:solid 1px var(--text-color)}.gg-icon-button,.gg-button{color:var(--text-color);cursor:pointer;background-color:#0000;border:none;flex-direction:column;justify-content:center;align-items:center;padding:0;display:flex}.gg-button{text-align:left}.gg-small{flex-direction:row}.gg-small img{width:calc(var(--app-standard-height) / 2.5);margin:0}.gg-small span{margin-left:.5rem;font-size:1rem}.girafe-button-big{filter:drop-shadow(0 0 8px #0000004d);background-color:var(--bkg-color);width:3.5rem;height:3.5rem;color:var(--text-color);border:none;border-radius:4rem;flex-direction:column;align-items:center;padding:.5rem;display:flex}.girafe-button-big img{width:95%;height:auto;padding:5%;overflow:hidden}.girafe-button-big:hover,.girafe-button-large:hover,.girafe-button-small:hover,.girafe-button-tiny:hover{background-color:var(--bkg-color)}
8
10
  </style><style>
9
11
  .container{filter:drop-shadow(0 4px 7px #0004382c);background-color:#fff;border-radius:8px;flex-direction:column;padding:1em;display:flex}.container:active{background-color:#c6ceda}.container>button{background:0 0;border:none;flex-direction:column;flex:1;justify-content:center;align-items:center;display:flex}.container>button>img{opacity:.7;width:25%;padding-bottom:1em}.container>button>span{color:#3f68a7;flex:1;justify-content:center;align-items:center;font-size:1.2em;font-weight:600;display:flex}
10
12
  </style>
@@ -1,6 +1,8 @@
1
1
  import GirafeHTMLElement from '../../base/GirafeHTMLElement.js';
2
2
  import Basemap from '../../models/basemaps/basemap.js';
3
3
  declare class BasemapComponent extends GirafeHTMLElement {
4
+ templateUrl: null;
5
+ styleUrls: null;
4
6
  template: () => import("uhtml").Hole;
5
7
  constructor();
6
8
  changeBasemap(basemap: Basemap): void;
@@ -4,9 +4,11 @@ import { html as uHtml } from 'uhtml';
4
4
  import GirafeHTMLElement from '../../base/GirafeHTMLElement.js';
5
5
  import { applyOpacityToLayers } from '../../tools/utils/utils.js';
6
6
  class BasemapComponent extends GirafeHTMLElement {
7
+ templateUrl = null;
8
+ styleUrls = null;
7
9
  template = () => {
8
10
  return uHtml `<style>
9
- *{font-family:Arial,sans-serif}.hidden{display:none!important}.gg-rotate90{transform:rotate(90deg)}.gg-rotate180{transform:rotate(180deg)}.gg-rotate270{transform:rotate(270deg)}img{filter:var(--svg-filter)}img.legend-image{filter:var(--svg-map-filter);background:var(--svg-legend-bkg)}div{scrollbar-width:thin}a,a:visited{color:var(--link-color)}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@keyframes spin-wait{0%{transform:rotate(0)}7%{transform:rotate(360deg)}to{transform:rotate(360deg)}}.gg-spin{animation-name:spin;animation-duration:2s;animation-timing-function:linear;animation-iteration-count:infinite}.gg-spin-wait{animation-name:spin-wait;animation-duration:10s;animation-timing-function:linear;animation-iteration-count:infinite}::-webkit-scrollbar{width:5px}::-webkit-scrollbar-thumb{background:#999}.gg-button,.gg-select,.gg-input,.gg-textarea{background-color:var(--bkg-color);color:var(--text-color);border:var(--app-standard-border);box-sizing:border-box;cursor:pointer;border-radius:3px;outline:0;margin:0;padding:0 0 0 .5rem;display:inline-block}.gg-label{background-color:var(--bkg-color);color:var(--text-color);border:none;align-items:center;margin:0;padding:0;display:flex}.gg-button,.gg-select,.gg-input,.gg-label{min-height:calc(var(--app-standard-height)/1.5)}.gg-textarea{max-height:initial;resize:vertical;height:6rem;padding:.5rem;line-height:1.3rem}.gg-input{cursor:text}.gg-checkbox{accent-color:var(--text-color);width:1.2rem}.gg-range{accent-color:var(--text-color)}.gg-button{padding:0 .5rem}.gg-button.active{border:solid 1px var(--text-color-grad2);background-color:var(--text-color-grad2);color:var(--bkg-color)}.gg-button:disabled{color:gray;cursor:not-allowed;background-color:#d3d3d3;border:none}.gg-input:disabled,.gg-select:disabled,.gg-textarea:disabled{color:gray;cursor:not-allowed;background-color:#d3d3d3}.gg-button>img{vertical-align:middle}.gg-icon-button{color:var(--text-color);cursor:pointer;background-color:#0000;border:none;flex-direction:column;justify-content:center;align-items:center;padding:0;display:flex}.gg-icon{justify-content:center;align-items:center;display:flex}.gg-big,.gg-big-withtext{min-width:var(--app-standard-height);min-height:var(--app-standard-height);max-height:var(--app-standard-height)}.gg-big img,.gg-big-withtext img{width:calc(var(--app-standard-height) - 1.5rem);margin:0}.gg-big-withtext span{font-variant:small-caps;padding:0 1rem;font-size:.9rem}.gg-medium,.gg-medium-withtext{min-width:calc(var(--app-standard-height)/1.2);min-height:calc(var(--app-standard-height)/1.2);max-height:calc(var(--app-standard-height)/1.2);flex-direction:row}.gg-medium img{width:calc(var(--app-standard-height)/2.4);margin:0}.gg-medium-withtext img{width:calc(var(--app-standard-height)/2.4);margin-left:.5rem}.gg-medium-withtext span{padding:0 1rem 0 .5rem;font-size:.9rem}.gg-small,.gg-small-withtext{min-width:calc(var(--app-standard-height)/2);min-height:calc(var(--app-standard-height)/2);max-height:calc(var(--app-standard-height)/2);flex-direction:row}.gg-small img{width:calc(var(--app-standard-height)/3);margin:0}.gg-small-withtext img{width:calc(var(--app-standard-height)/3);margin-left:.5rem}.gg-small-withtext span{padding:0 .5rem 0 .3rem;font-size:.9rem}.gg-button:hover,.gg-select:hover,.gg-input:hover,.gg-textarea:hover,.gg-icon-button:hover{background-color:var(--bkg-color-grad1)}.gg-opacity{opacity:.5}.gg-opacity:hover{opacity:1;background-color:#0000}.gg-tabs{cursor:pointer;grid-auto-flow:column;padding-bottom:1rem;font-size:1rem;display:grid}.gg-tab{border:none;border-bottom:var(--app-standard-border);cursor:pointer;color:var(--text-color);background:0 0;padding:.5rem}.gg-tab.active{border-bottom:solid 1px var(--text-color)}.girafe-button-big,.girafe-button-large,.girafe-button-small,.girafe-button-tiny{color:var(--text-color);background-color:#0000;border:none;flex-direction:column;display:flex}.girafe-button-big:hover,.girafe-button-large:hover,.girafe-button-small:hover,.girafe-button-tiny:hover{background-color:var(--bkg-color-grad1);cursor:pointer}.girafe-button-big.dark,.girafe-button-large.dark,.girafe-button-small.dark,.girafe-button-tiny.dark{background-color:var(--bkg-color);filter:invert()}.girafe-button-big{width:var(--app-standard-height);height:var(--app-standard-height);align-items:center;padding:1rem}.girafe-button-big img{overflow:hidden}.girafe-button-large{flex-direction:row}.girafe-button-large img{height:2rem;margin:.3rem}.girafe-button-large span{height:2rem;margin:.3rem;line-height:2rem}.girafe-button-small{min-width:calc(var(--app-standard-height)/2);height:calc(var(--app-standard-height)/2);align-items:center;padding:.5rem}.girafe-button-small img{overflow:hidden}.girafe-button-small span{text-align:left;text-overflow:ellipsis;width:100%;overflow:hidden}.girafe-button-tiny{align-items:center;width:1rem;height:1rem;padding:0}.girafe-button-tiny img{overflow:hidden}.girafe-onboarding-theme{background-color:var(--bkg-color)!important;color:var(--text-color)!important}.girafe-onboarding-theme button{background-color:var(--bkg-color)!important;color:var(--text-color)!important;text-shadow:none!important}.girafe-onboarding-theme button.driver-popover-close-btn{z-index:10000}
11
+ *{font-family:Arial,sans-serif}.hidden{display:none!important}.gg-rotate90{transform:rotate(90deg)}.gg-rotate180{transform:rotate(180deg)}.gg-rotate270{transform:rotate(270deg)}img{filter:var(--svg-filter)}img.legend-image{filter:var(--svg-map-filter);background:var(--svg-legend-bkg)}div{scrollbar-width:thin}a,a:visited{color:var(--link-color)}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@keyframes spin-wait{0%{transform:rotate(0)}7%{transform:rotate(360deg)}to{transform:rotate(360deg)}}.gg-spin{animation-name:spin;animation-duration:2s;animation-timing-function:linear;animation-iteration-count:infinite}.gg-spin-wait{animation-name:spin-wait;animation-duration:10s;animation-timing-function:linear;animation-iteration-count:infinite}::-webkit-scrollbar{width:5px}::-webkit-scrollbar-thumb{background:#999}.gg-button,.gg-select,.gg-input,.gg-textarea{background-color:var(--bkg-color);color:var(--text-color);border:var(--app-standard-border);box-sizing:border-box;cursor:pointer;border-radius:3px;outline:0;margin:0;padding:0 0 0 .5rem;display:inline-block}.gg-label{background-color:var(--bkg-color);color:var(--text-color);border:none;align-items:center;margin:0;padding:0;display:flex}.gg-button,.gg-select,.gg-input,.gg-label{min-height:calc(var(--app-standard-height) / 1.5)}.gg-textarea{max-height:initial;resize:vertical;height:6rem;padding:.5rem;line-height:1.3rem}.gg-input{cursor:text}.gg-checkbox{accent-color:var(--text-color);width:1.2rem}.gg-range{accent-color:var(--text-color)}.gg-button{padding:0 .5rem}.gg-button.active{border:solid 1px var(--text-color-grad2);background-color:var(--text-color-grad2);color:var(--bkg-color)}.gg-button:disabled{color:gray;cursor:not-allowed;background-color:#d3d3d3;border:none}.gg-input:disabled,.gg-select:disabled,.gg-textarea:disabled{color:gray;cursor:not-allowed;background-color:#d3d3d3}.gg-button>img{vertical-align:middle}.gg-icon-button{color:var(--text-color);cursor:pointer;background-color:#0000;border:none;flex-direction:column;justify-content:center;align-items:center;padding:0;display:flex}.gg-icon{justify-content:center;align-items:center;display:flex}.gg-big,.gg-big-withtext{min-width:var(--app-standard-height);min-height:var(--app-standard-height);max-height:var(--app-standard-height)}.gg-big img,.gg-big-withtext img{width:calc(var(--app-standard-height) - 1.5rem);margin:0}.gg-big-withtext span{font-variant:small-caps;padding:0 1rem;font-size:.9rem}.gg-medium,.gg-medium-withtext{min-width:calc(var(--app-standard-height) / 1.2);min-height:calc(var(--app-standard-height) / 1.2);max-height:calc(var(--app-standard-height) / 1.2);flex-direction:row}.gg-medium img{width:calc(var(--app-standard-height) / 2.4);margin:0}.gg-medium-withtext img{width:calc(var(--app-standard-height) / 2.4);margin-left:.5rem}.gg-medium-withtext span{padding:0 1rem 0 .5rem;font-size:.9rem}.gg-small,.gg-small-withtext{min-width:calc(var(--app-standard-height) / 2);min-height:calc(var(--app-standard-height) / 2);max-height:calc(var(--app-standard-height) / 2);flex-direction:row}.gg-small img{width:calc(var(--app-standard-height) / 3);margin:0}.gg-small-withtext img{width:calc(var(--app-standard-height) / 3);margin-left:.5rem}.gg-small-withtext span{padding:0 .5rem 0 .3rem;font-size:.9rem}.gg-button:hover,.gg-select:hover,.gg-input:hover,.gg-textarea:hover,.gg-icon-button:hover{background-color:var(--bkg-color-grad1)}.gg-opacity{opacity:.5}.gg-opacity:hover{opacity:1;background-color:#0000}.gg-tabs{cursor:pointer;grid-auto-flow:column;padding-bottom:1rem;font-size:1rem;display:grid}.gg-tab{border:none;border-bottom:var(--app-standard-border);cursor:pointer;color:var(--text-color);background:0 0;padding:.5rem}.gg-tab.active{border-bottom:solid 1px var(--text-color)}.girafe-button-big,.girafe-button-large,.girafe-button-small,.girafe-button-tiny{color:var(--text-color);background-color:#0000;border:none;flex-direction:column;display:flex}.girafe-button-big:hover,.girafe-button-large:hover,.girafe-button-small:hover,.girafe-button-tiny:hover{background-color:var(--bkg-color-grad1);cursor:pointer}.girafe-button-big.dark,.girafe-button-large.dark,.girafe-button-small.dark,.girafe-button-tiny.dark{background-color:var(--bkg-color);filter:invert()}.girafe-button-big{width:var(--app-standard-height);height:var(--app-standard-height);align-items:center;padding:1rem}.girafe-button-big img{overflow:hidden}.girafe-button-large{flex-direction:row}.girafe-button-large img{height:2rem;margin:.3rem}.girafe-button-large span{height:2rem;margin:.3rem;line-height:2rem}.girafe-button-small{min-width:calc(var(--app-standard-height) / 2);height:calc(var(--app-standard-height) / 2);align-items:center;padding:.5rem}.girafe-button-small img{overflow:hidden}.girafe-button-small span{text-align:left;text-overflow:ellipsis;width:100%;overflow:hidden}.girafe-button-tiny{align-items:center;width:1rem;height:1rem;padding:0}.girafe-button-tiny img{overflow:hidden}.girafe-onboarding-theme{background-color:var(--bkg-color)!important;color:var(--text-color)!important}.girafe-onboarding-theme button{background-color:var(--bkg-color)!important;color:var(--text-color)!important;text-shadow:none!important}.girafe-onboarding-theme button.driver-popover-close-btn{z-index:10000}
10
12
  </style><style>
11
13
  .basemap-button{background-color:var(--bkg-color);color:var(--text-color);border:var(--app-standard-border);box-sizing:border-box;cursor:pointer;box-shadow:var(--bx-shdw);border-width:2px;border-radius:4px;outline:0;margin:0;padding:5px;display:inline-flex}#container{flex-direction:column;width:max-content;display:inline-flex}.basemap-icon{background:var(--svg-legend-bkg);filter:var(--svg-map-filter)}.active-basemap{background-color:var(--bkg-color-grad2)!important}.opacity-slider{flex-direction:row;height:20px;padding:0 5px;display:flex}.opacity-slider img{height:16px;position:relative;top:2px}.opacity-slider input[type=range]{flex-grow:1}.basemap-container{flex-direction:column;display:flex}.basemap-container button{color:var(--text-color);background-color:#0000;border:none;flex-direction:row;flex-grow:1;display:flex}.basemap-container button img{height:2rem;margin:.3rem}.basemap-container button span{height:2rem;margin:.3rem;line-height:2rem}.basemap-container:hover{background-color:var(--bkg-color-grad1)}.basemaps-with-opacity-separator{border-top:1px solid var(--bkg-color-grad2);height:1px;margin:6px 8px}
12
14
  </style>
@@ -1,6 +1,8 @@
1
1
  import GirafeHTMLElement from '../../base/GirafeHTMLElement.js';
2
2
  import IGirafePanel from '../../tools/state/igirafepanel.js';
3
3
  declare class ContactComponent extends GirafeHTMLElement implements IGirafePanel {
4
+ templateUrl: null;
5
+ styleUrls: null;
4
6
  template: () => import("uhtml").Hole;
5
7
  isPanelVisible: boolean;
6
8
  panelTitle: string;