@mapsight/ui 7.1.0 → 7.2.0

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 (484) hide show
  1. package/README.md +91 -2
  2. package/dist/components/app.d.ts +1 -1
  3. package/dist/components/app.d.ts.map +1 -1
  4. package/dist/components/feature-details-content/feature-details-content.d.ts +1 -1
  5. package/dist/components/feature-details-content/feature-details-content.d.ts.map +1 -1
  6. package/dist/components/feature-details-content/index.d.ts +1 -1
  7. package/dist/components/feature-details-content/share-feature-link-modal.d.ts +1 -1
  8. package/dist/components/feature-details-content/share-feature-link-modal.d.ts.map +1 -1
  9. package/dist/components/feature-list/context.d.ts +12 -4
  10. package/dist/components/feature-list/context.d.ts.map +1 -1
  11. package/dist/components/feature-list/context.js.map +1 -1
  12. package/dist/components/feature-list/empty-message.d.ts +1 -1
  13. package/dist/components/feature-list/empty-message.d.ts.map +1 -1
  14. package/dist/components/feature-list/filter.d.ts +1 -1
  15. package/dist/components/feature-list/filter.d.ts.map +1 -1
  16. package/dist/components/feature-list/footer.d.ts +1 -1
  17. package/dist/components/feature-list/footer.d.ts.map +1 -1
  18. package/dist/components/feature-list/hooks/useAutoloadFeatureSource.d.ts.map +1 -1
  19. package/dist/components/feature-list/hooks/useAutoloadFeatureSource.js +12 -3
  20. package/dist/components/feature-list/hooks/useAutoloadFeatureSource.js.map +1 -1
  21. package/dist/components/feature-list/index.d.ts +3 -2
  22. package/dist/components/feature-list/index.d.ts.map +1 -1
  23. package/dist/components/feature-list/index.js +30 -42
  24. package/dist/components/feature-list/index.js.map +1 -1
  25. package/dist/components/feature-list/pagination.d.ts +1 -1
  26. package/dist/components/feature-list/pagination.d.ts.map +1 -1
  27. package/dist/components/feature-list/query-input.d.ts +1 -1
  28. package/dist/components/feature-list/query-input.d.ts.map +1 -1
  29. package/dist/components/feature-list/tag-switcher-control.d.ts +4 -0
  30. package/dist/components/feature-list/tag-switcher-control.d.ts.map +1 -0
  31. package/dist/components/feature-list/tag-switcher-control.js +10 -0
  32. package/dist/components/feature-list/tag-switcher-control.js.map +1 -0
  33. package/dist/components/feature-list-cycling/button.d.ts +1 -1
  34. package/dist/components/feature-list-cycling/button.d.ts.map +1 -1
  35. package/dist/components/feature-list-cycling/dot.d.ts +1 -1
  36. package/dist/components/feature-list-cycling/dot.d.ts.map +1 -1
  37. package/dist/components/feature-list-cycling/feature-list-cycling.d.ts +1 -1
  38. package/dist/components/feature-list-cycling/feature-list-cycling.d.ts.map +1 -1
  39. package/dist/components/feature-list-cycling/index.d.ts +1 -1
  40. package/dist/components/feature-list-item/icon.d.ts +8 -6
  41. package/dist/components/feature-list-item/icon.d.ts.map +1 -1
  42. package/dist/components/feature-list-item/icon.js +5 -13
  43. package/dist/components/feature-list-item/icon.js.map +1 -1
  44. package/dist/components/feature-list-item/index.d.ts +1 -1
  45. package/dist/components/feature-list-item/index.d.ts.map +1 -1
  46. package/dist/components/feature-list-sorting/feature-list-sorting.d.ts +1 -1
  47. package/dist/components/feature-list-sorting/feature-list-sorting.d.ts.map +1 -1
  48. package/dist/components/feature-list-sorting/feature-list-sorting.js +3 -12
  49. package/dist/components/feature-list-sorting/feature-list-sorting.js.map +1 -1
  50. package/dist/components/feature-list-sorting/index.d.ts +1 -1
  51. package/dist/components/feature-list-sorting/status-indicator.d.ts +1 -1
  52. package/dist/components/feature-list-sorting/status-indicator.d.ts.map +1 -1
  53. package/dist/components/feature-select-button.d.ts +1 -1
  54. package/dist/components/feature-select-button.d.ts.map +1 -1
  55. package/dist/components/feature-selection-info/close-button.d.ts +1 -1
  56. package/dist/components/feature-selection-info/close-button.d.ts.map +1 -1
  57. package/dist/components/feature-selection-info/container.d.ts +1 -1
  58. package/dist/components/feature-selection-info/container.d.ts.map +1 -1
  59. package/dist/components/feature-selection-info/header.d.ts +1 -1
  60. package/dist/components/feature-selection-info/header.d.ts.map +1 -1
  61. package/dist/components/feature-selection-info/index.d.ts +1 -1
  62. package/dist/components/feature-selection-info/index.d.ts.map +1 -1
  63. package/dist/components/feature-selection-info/with-sticky-header.d.ts +1 -1
  64. package/dist/components/feature-selection-info/with-sticky-header.d.ts.map +1 -1
  65. package/dist/components/feature-selection-info/without-sticky-header.d.ts +1 -1
  66. package/dist/components/feature-selection-info/without-sticky-header.d.ts.map +1 -1
  67. package/dist/components/filter-toggle-control/FilterToggleControl.d.ts +12 -0
  68. package/dist/components/filter-toggle-control/FilterToggleControl.d.ts.map +1 -0
  69. package/dist/components/filter-toggle-control/FilterToggleControl.js +20 -0
  70. package/dist/components/filter-toggle-control/FilterToggleControl.js.map +1 -0
  71. package/dist/components/helping/app-channel.d.ts +1 -1
  72. package/dist/components/helping/app-channel.d.ts.map +1 -1
  73. package/dist/components/helping/app-context.d.ts +1 -1
  74. package/dist/components/helping/app-context.d.ts.map +1 -1
  75. package/dist/components/instance.d.ts +1 -1
  76. package/dist/components/instance.d.ts.map +1 -1
  77. package/dist/components/layer-switcher/GroupedLayerSwitcher.d.ts +1 -1
  78. package/dist/components/layer-switcher/LayerSwitcher.d.ts +1 -1
  79. package/dist/components/layer-switcher/LayerSwitcherContainer.d.ts +3 -2
  80. package/dist/components/layer-switcher/LayerSwitcherContainer.d.ts.map +1 -1
  81. package/dist/components/layer-switcher/LayerSwitcherContainer.js +2 -2
  82. package/dist/components/layer-switcher/LayerSwitcherContainer.js.map +1 -1
  83. package/dist/components/layer-switcher/LayerSwitcherEntry.d.ts +1 -1
  84. package/dist/components/layer-switcher/index.d.ts +1 -1
  85. package/dist/components/layer-switcher/index.js.map +1 -1
  86. package/dist/components/layout/additional-container/content.d.ts +1 -1
  87. package/dist/components/layout/additional-container/content.d.ts.map +1 -1
  88. package/dist/components/layout/additional-container/index.d.ts +1 -1
  89. package/dist/components/layout/additional-container/index.d.ts.map +1 -1
  90. package/dist/components/layout/additional-container/marginal.d.ts +1 -1
  91. package/dist/components/layout/additional-container/marginal.d.ts.map +1 -1
  92. package/dist/components/layout/main-container.d.ts +1 -1
  93. package/dist/components/layout/main-container.d.ts.map +1 -1
  94. package/dist/components/layout/map-row.d.ts +1 -1
  95. package/dist/components/layout/map-row.d.ts.map +1 -1
  96. package/dist/components/layout/title-bar.d.ts +1 -1
  97. package/dist/components/layout/title-bar.d.ts.map +1 -1
  98. package/dist/components/layout/wrapper.d.ts +1 -1
  99. package/dist/components/layout/wrapper.d.ts.map +1 -1
  100. package/dist/components/link-share.d.ts +1 -1
  101. package/dist/components/link-share.d.ts.map +1 -1
  102. package/dist/components/main-panel/container.d.ts +1 -1
  103. package/dist/components/main-panel/container.d.ts.map +1 -1
  104. package/dist/components/main-panel/context.d.ts +1 -1
  105. package/dist/components/main-panel/context.d.ts.map +1 -1
  106. package/dist/components/main-panel/index.d.ts +1 -1
  107. package/dist/components/main-panel/index.d.ts.map +1 -1
  108. package/dist/components/main-panel/list-toggle-button.d.ts +1 -1
  109. package/dist/components/main-panel/list-toggle-button.d.ts.map +1 -1
  110. package/dist/components/map-overlay/attribution-entries.d.ts +1 -1
  111. package/dist/components/map-overlay/attribution-entries.d.ts.map +1 -1
  112. package/dist/components/map-overlay/attribution.d.ts +1 -1
  113. package/dist/components/map-overlay/attribution.d.ts.map +1 -1
  114. package/dist/components/map-overlay/combined-buttons.d.ts +1 -1
  115. package/dist/components/map-overlay/combined-buttons.d.ts.map +1 -1
  116. package/dist/components/map-overlay/index.d.ts +1 -1
  117. package/dist/components/map-overlay/index.d.ts.map +1 -1
  118. package/dist/components/map-overlay/info-overlay-left.d.ts +1 -1
  119. package/dist/components/map-overlay/info-overlay-left.d.ts.map +1 -1
  120. package/dist/components/map-overlay/info-overlay-modal.d.ts +1 -1
  121. package/dist/components/map-overlay/info-overlay-modal.d.ts.map +1 -1
  122. package/dist/components/map-overlay/info-overlay-right.d.ts +1 -1
  123. package/dist/components/map-overlay/info-overlay-right.d.ts.map +1 -1
  124. package/dist/components/map-overlay/layer-switcher-overlay.d.ts +1 -1
  125. package/dist/components/map-overlay/layer-switcher-overlay.d.ts.map +1 -1
  126. package/dist/components/map-overlay/legend.d.ts +1 -1
  127. package/dist/components/map-overlay/legend.d.ts.map +1 -1
  128. package/dist/components/map-overlay/logo.d.ts +1 -1
  129. package/dist/components/map-overlay/logo.d.ts.map +1 -1
  130. package/dist/components/map-overlay/measure-distance-button.d.ts +1 -1
  131. package/dist/components/map-overlay/measure-distance-button.d.ts.map +1 -1
  132. package/dist/components/map-overlay/measure-distance-overlay.d.ts +1 -1
  133. package/dist/components/map-overlay/measure-distance-overlay.d.ts.map +1 -1
  134. package/dist/components/map-overlay/search-overlay.d.ts +1 -1
  135. package/dist/components/map-overlay/search-overlay.d.ts.map +1 -1
  136. package/dist/components/map-overlay/share-position-link-button.d.ts +1 -1
  137. package/dist/components/map-overlay/share-position-link-button.d.ts.map +1 -1
  138. package/dist/components/map-overlay/tool-overlay.d.ts +1 -1
  139. package/dist/components/map-overlay/tool-overlay.d.ts.map +1 -1
  140. package/dist/components/map-overlay/zoom-buttons.d.ts +1 -1
  141. package/dist/components/map-overlay/zoom-buttons.d.ts.map +1 -1
  142. package/dist/components/map-synced-interlay/index.d.ts +1 -1
  143. package/dist/components/map-synced-interlay/map-synced-interlay.d.ts +1 -1
  144. package/dist/components/map-synced-interlay/map-synced-interlay.d.ts.map +1 -1
  145. package/dist/components/map-synced-interlay/tooltip.d.ts +1 -1
  146. package/dist/components/map-synced-interlay/tooltip.d.ts.map +1 -1
  147. package/dist/components/map-wrapper.d.ts +3 -3
  148. package/dist/components/map-wrapper.d.ts.map +1 -1
  149. package/dist/components/map-wrapper.js +4 -7
  150. package/dist/components/map-wrapper.js.map +1 -1
  151. package/dist/components/map.d.ts +1 -1
  152. package/dist/components/map.d.ts.map +1 -1
  153. package/dist/components/mapsight-icon/mapsight-icon.d.ts +10 -0
  154. package/dist/components/mapsight-icon/mapsight-icon.d.ts.map +1 -0
  155. package/dist/components/mapsight-icon/mapsight-icon.js +33 -0
  156. package/dist/components/mapsight-icon/mapsight-icon.js.map +1 -0
  157. package/dist/components/modal.d.ts +1 -1
  158. package/dist/components/modal.d.ts.map +1 -1
  159. package/dist/components/query-input-with-label.d.ts +1 -1
  160. package/dist/components/query-input-with-label.d.ts.map +1 -1
  161. package/dist/components/search/index.d.ts +1 -1
  162. package/dist/components/search/index.d.ts.map +1 -1
  163. package/dist/components/search/result-entry.d.ts +1 -1
  164. package/dist/components/search/result-entry.d.ts.map +1 -1
  165. package/dist/components/search/result.d.ts +1 -1
  166. package/dist/components/search/result.d.ts.map +1 -1
  167. package/dist/components/switcher/GroupedSwitcher.d.ts +1 -1
  168. package/dist/components/switcher/GroupedSwitcher.d.ts.map +1 -1
  169. package/dist/components/switcher/Switcher.d.ts +1 -1
  170. package/dist/components/switcher/Switcher.d.ts.map +1 -1
  171. package/dist/components/switcher/SwitcherButton.d.ts +1 -1
  172. package/dist/components/switcher/SwitcherButton.d.ts.map +1 -1
  173. package/dist/components/switcher/SwitcherEntry.d.ts +1 -1
  174. package/dist/components/switcher/SwitcherEntry.d.ts.map +1 -1
  175. package/dist/components/switcher/SwitcherHeader.d.ts +1 -1
  176. package/dist/components/switcher/SwitcherHeader.d.ts.map +1 -1
  177. package/dist/components/switcher/SwitcherStatusIcon.d.ts +1 -1
  178. package/dist/components/switcher/SwitcherStatusIcon.d.ts.map +1 -1
  179. package/dist/components/tag-switcher/TagSwitcher.d.ts +1 -1
  180. package/dist/components/tag-switcher/TagSwitcher.d.ts.map +1 -1
  181. package/dist/components/tag-switcher/createTagSwitcherEntry.d.ts +1 -1
  182. package/dist/components/tag-switcher/createTagSwitcherHeader.d.ts +1 -1
  183. package/dist/components/tag-switcher/index.d.ts +1 -1
  184. package/dist/components/time-filter.d.ts +1 -1
  185. package/dist/components/time-filter.d.ts.map +1 -1
  186. package/dist/components/view-toggle-button/desktop-button.d.ts +1 -1
  187. package/dist/components/view-toggle-button/desktop-button.d.ts.map +1 -1
  188. package/dist/components/view-toggle-button/index.d.ts +1 -1
  189. package/dist/components/view-toggle-button/mobile-button.d.ts +1 -1
  190. package/dist/components/view-toggle-button/mobile-button.d.ts.map +1 -1
  191. package/dist/components/view-toggle-button/view-toggle-button.d.ts +1 -1
  192. package/dist/components/view-toggle-button/view-toggle-button.d.ts.map +1 -1
  193. package/dist/components/view-toggle-button/viewport-button.d.ts +1 -1
  194. package/dist/components/view-toggle-button/viewport-button.d.ts.map +1 -1
  195. package/dist/config/feature/sources.d.ts +8 -5
  196. package/dist/config/feature/sources.d.ts.map +1 -1
  197. package/dist/config/feature/sources.js +10 -0
  198. package/dist/config/feature/sources.js.map +1 -1
  199. package/dist/config/index.d.ts +1 -1
  200. package/dist/config/map/featureInteractions.js.map +1 -1
  201. package/dist/config/map/layers.d.ts +16 -13
  202. package/dist/config/map/layers.d.ts.map +1 -1
  203. package/dist/config/map/layers.js.map +1 -1
  204. package/dist/config/schema/index.d.ts +195 -0
  205. package/dist/config/schema/index.d.ts.map +1 -0
  206. package/dist/config/schema/index.js +26 -0
  207. package/dist/config/schema/index.js.map +1 -0
  208. package/dist/config/schema/validate.d.ts +8 -0
  209. package/dist/config/schema/validate.d.ts.map +1 -0
  210. package/dist/config/schema/validate.js +7 -0
  211. package/dist/config/schema/validate.js.map +1 -0
  212. package/dist/controllers/defaults.d.ts.map +1 -1
  213. package/dist/controllers/defaults.js +5 -0
  214. package/dist/controllers/defaults.js.map +1 -1
  215. package/dist/filters/tag-filter.d.ts +7 -0
  216. package/dist/filters/tag-filter.d.ts.map +1 -1
  217. package/dist/filters/tag-filter.js +10 -0
  218. package/dist/filters/tag-filter.js.map +1 -1
  219. package/dist/filters/time-filter.d.ts +9 -0
  220. package/dist/filters/time-filter.d.ts.map +1 -1
  221. package/dist/filters/time-filter.js +10 -0
  222. package/dist/filters/time-filter.js.map +1 -1
  223. package/dist/helpers/i18n/de.d.ts.map +1 -1
  224. package/dist/helpers/i18n/de.js +1 -0
  225. package/dist/helpers/i18n/de.js.map +1 -1
  226. package/dist/helpers/i18n/en.d.ts.map +1 -1
  227. package/dist/helpers/i18n/en.js +1 -0
  228. package/dist/helpers/i18n/en.js.map +1 -1
  229. package/dist/helpers/sort-features-by-distance.d.ts +2 -7
  230. package/dist/helpers/sort-features-by-distance.d.ts.map +1 -1
  231. package/dist/helpers/sort-features-by-distance.js +27 -39
  232. package/dist/helpers/sort-features-by-distance.js.map +1 -1
  233. package/dist/hooks/useMapsightIcon.d.ts +8 -0
  234. package/dist/hooks/useMapsightIcon.d.ts.map +1 -0
  235. package/dist/hooks/useMapsightIcon.js +50 -0
  236. package/dist/hooks/useMapsightIcon.js.map +1 -0
  237. package/dist/index.d.ts +2 -2
  238. package/dist/index.d.ts.map +1 -1
  239. package/dist/index.js +12 -2
  240. package/dist/index.js.map +1 -1
  241. package/dist/plugins/browser-defaults.d.ts +2 -0
  242. package/dist/plugins/browser-defaults.d.ts.map +1 -1
  243. package/dist/plugins/browser-defaults.js +5 -0
  244. package/dist/plugins/browser-defaults.js.map +1 -1
  245. package/dist/plugins/common/combined-visible-layers.d.ts +15 -0
  246. package/dist/plugins/common/combined-visible-layers.d.ts.map +1 -0
  247. package/dist/plugins/common/combined-visible-layers.js +63 -0
  248. package/dist/plugins/common/combined-visible-layers.js.map +1 -0
  249. package/dist/plugins/common/runtime-icon-style.d.ts +12 -0
  250. package/dist/plugins/common/runtime-icon-style.d.ts.map +1 -0
  251. package/dist/plugins/common/runtime-icon-style.js +58 -0
  252. package/dist/plugins/common/runtime-icon-style.js.map +1 -0
  253. package/dist/react-modal-app-element.d.ts +6 -0
  254. package/dist/react-modal-app-element.d.ts.map +1 -0
  255. package/dist/react-modal-app-element.js +9 -0
  256. package/dist/react-modal-app-element.js.map +1 -0
  257. package/dist/store/actions.d.ts.map +1 -1
  258. package/dist/store/actions.js +6 -1
  259. package/dist/store/actions.js.map +1 -1
  260. package/dist/store/reducers.d.ts +8 -6
  261. package/dist/store/reducers.d.ts.map +1 -1
  262. package/dist/store/selectors.d.ts +10 -17
  263. package/dist/store/selectors.d.ts.map +1 -1
  264. package/dist/store/selectors.js +9 -1
  265. package/dist/store/selectors.js.map +1 -1
  266. package/dist/types.d.ts +19 -5
  267. package/dist/types.d.ts.map +1 -1
  268. package/package.json +24 -8
  269. package/src/scss/blocks/_features-sorting.scss +0 -13
  270. package/src/scss/blocks/_filter-button.scss +23 -0
  271. package/src/scss/blocks/_filter-toggle-control.scss +15 -0
  272. package/src/scss/default.scss +1 -0
  273. package/src/img/mapsight-ui/check-empty.svg +0 -1
  274. package/src/img/mapsight-ui/check.svg +0 -2
  275. package/src/img/mapsight-ui/close-list.svg +0 -1
  276. package/src/img/mapsight-ui/close.svg +0 -1
  277. package/src/img/mapsight-ui/error.svg +0 -1
  278. package/src/img/mapsight-ui/fullscreen-close.svg +0 -1
  279. package/src/img/mapsight-ui/fullscreen.svg +0 -1
  280. package/src/img/mapsight-ui/geo-active.svg +0 -1
  281. package/src/img/mapsight-ui/geo-error.svg +0 -1
  282. package/src/img/mapsight-ui/geo-inactive.svg +0 -1
  283. package/src/img/mapsight-ui/info.svg +0 -1
  284. package/src/img/mapsight-ui/layers.svg +0 -1
  285. package/src/img/mapsight-ui/loading.svg +0 -1
  286. package/src/img/mapsight-ui/map.svg +0 -1
  287. package/src/img/mapsight-ui/measure-distance.svg +0 -7
  288. package/src/img/mapsight-ui/open-list.svg +0 -1
  289. package/src/img/mapsight-ui/place-marker.svg +0 -4
  290. package/src/img/mapsight-ui/print.svg +0 -4
  291. package/src/img/mapsight-ui/reset-active.svg +0 -1
  292. package/src/img/mapsight-ui/reset.svg +0 -1
  293. package/src/img/mapsight-ui/search.svg +0 -1
  294. package/src/img/mapsight-ui/sharing.svg +0 -7
  295. package/src/img/mapsight-ui/sort-active.svg +0 -1
  296. package/src/img/mapsight-ui/sort.svg +0 -1
  297. package/src/img/mapsight-ui/watermark.svg +0 -1
  298. package/src/img/mapsight-ui/zoom-in.svg +0 -3
  299. package/src/img/mapsight-ui/zoom-out.svg +0 -3
  300. package/src/js/components/app.tsx +0 -232
  301. package/src/js/components/close-overlay-button.tsx +0 -27
  302. package/src/js/components/feature-details-content/feature-details-content-inner.tsx +0 -116
  303. package/src/js/components/feature-details-content/feature-details-content.jsx +0 -185
  304. package/src/js/components/feature-details-content/index.js +0 -16
  305. package/src/js/components/feature-details-content/share-feature-link-modal.jsx +0 -56
  306. package/src/js/components/feature-list/content.jsx +0 -42
  307. package/src/js/components/feature-list/context.tsx +0 -47
  308. package/src/js/components/feature-list/empty-message.jsx +0 -15
  309. package/src/js/components/feature-list/filter.jsx +0 -35
  310. package/src/js/components/feature-list/footer.jsx +0 -5
  311. package/src/js/components/feature-list/grouped-content.jsx +0 -74
  312. package/src/js/components/feature-list/header.jsx +0 -7
  313. package/src/js/components/feature-list/hooks/useAutoloadFeatureSource.ts +0 -25
  314. package/src/js/components/feature-list/hooks/useFeatureListFeatureSource.ts +0 -22
  315. package/src/js/components/feature-list/hooks/useFeatureListItemGroups.ts +0 -127
  316. package/src/js/components/feature-list/hooks/useFeatureListState.ts +0 -98
  317. package/src/js/components/feature-list/hooks/useKeyboardNavigation.js +0 -112
  318. package/src/js/components/feature-list/hooks/useMakeHeaderSticky.js +0 -40
  319. package/src/js/components/feature-list/hooks/usePaginatedFilteredFeatures.ts +0 -129
  320. package/src/js/components/feature-list/hooks/useRestoreDocumentScroll.js +0 -12
  321. package/src/js/components/feature-list/hooks/useSelectFeature.js +0 -88
  322. package/src/js/components/feature-list/index.jsx +0 -278
  323. package/src/js/components/feature-list/pagination.tsx +0 -57
  324. package/src/js/components/feature-list/query-input.jsx +0 -14
  325. package/src/js/components/feature-list-cycling/button.jsx +0 -13
  326. package/src/js/components/feature-list-cycling/dot.jsx +0 -43
  327. package/src/js/components/feature-list-cycling/feature-list-cycling.jsx +0 -153
  328. package/src/js/components/feature-list-cycling/index.js +0 -82
  329. package/src/js/components/feature-list-item/head.jsx +0 -131
  330. package/src/js/components/feature-list-item/hooks/useFeatureListItemScrollAndFocus.js +0 -51
  331. package/src/js/components/feature-list-item/hooks/useFeatureListItemState.ts +0 -75
  332. package/src/js/components/feature-list-item/icon.jsx +0 -35
  333. package/src/js/components/feature-list-item/index.jsx +0 -168
  334. package/src/js/components/feature-list-sorting/feature-list-sorting.tsx +0 -144
  335. package/src/js/components/feature-list-sorting/index.js +0 -22
  336. package/src/js/components/feature-list-sorting/status-indicator.jsx +0 -10
  337. package/src/js/components/feature-select-button.jsx +0 -70
  338. package/src/js/components/feature-selection-info/close-button.jsx +0 -64
  339. package/src/js/components/feature-selection-info/container.jsx +0 -9
  340. package/src/js/components/feature-selection-info/header.tsx +0 -27
  341. package/src/js/components/feature-selection-info/index.tsx +0 -81
  342. package/src/js/components/feature-selection-info/with-sticky-header.tsx +0 -76
  343. package/src/js/components/feature-selection-info/without-sticky-header.jsx +0 -19
  344. package/src/js/components/feature-selection-info/wrapper.jsx +0 -43
  345. package/src/js/components/helping/app-channel.tsx +0 -99
  346. package/src/js/components/helping/app-context.tsx +0 -32
  347. package/src/js/components/helping/visibility-wrapper.jsx +0 -23
  348. package/src/js/components/instance.tsx +0 -48
  349. package/src/js/components/layer-switcher/GroupedLayerSwitcher.js +0 -47
  350. package/src/js/components/layer-switcher/LayerSwitcher.ts +0 -34
  351. package/src/js/components/layer-switcher/LayerSwitcherContainer.tsx +0 -88
  352. package/src/js/components/layer-switcher/LayerSwitcherEntry.ts +0 -152
  353. package/src/js/components/layer-switcher/index.ts +0 -42
  354. package/src/js/components/layout/additional-container/content.jsx +0 -10
  355. package/src/js/components/layout/additional-container/index.jsx +0 -5
  356. package/src/js/components/layout/additional-container/marginal.jsx +0 -10
  357. package/src/js/components/layout/main-container.jsx +0 -5
  358. package/src/js/components/layout/map-row.jsx +0 -5
  359. package/src/js/components/layout/title-bar.tsx +0 -25
  360. package/src/js/components/layout/wrapper.jsx +0 -28
  361. package/src/js/components/link-share.jsx +0 -78
  362. package/src/js/components/main-panel/container.tsx +0 -23
  363. package/src/js/components/main-panel/context.tsx +0 -71
  364. package/src/js/components/main-panel/index.tsx +0 -46
  365. package/src/js/components/main-panel/list-toggle-button.jsx +0 -43
  366. package/src/js/components/map-overlay/area.jsx +0 -17
  367. package/src/js/components/map-overlay/attribution-entries.tsx +0 -33
  368. package/src/js/components/map-overlay/attribution.tsx +0 -25
  369. package/src/js/components/map-overlay/combined-buttons.jsx +0 -5
  370. package/src/js/components/map-overlay/index.jsx +0 -5
  371. package/src/js/components/map-overlay/info-overlay-left.jsx +0 -51
  372. package/src/js/components/map-overlay/info-overlay-modal.tsx +0 -49
  373. package/src/js/components/map-overlay/info-overlay-right.jsx +0 -46
  374. package/src/js/components/map-overlay/layer-switcher-overlay.tsx +0 -100
  375. package/src/js/components/map-overlay/legend.tsx +0 -22
  376. package/src/js/components/map-overlay/logo.jsx +0 -11
  377. package/src/js/components/map-overlay/measure-distance-button.tsx +0 -116
  378. package/src/js/components/map-overlay/measure-distance-overlay.jsx +0 -56
  379. package/src/js/components/map-overlay/mini-legend.jsx +0 -103
  380. package/src/js/components/map-overlay/region-selector.jsx +0 -63
  381. package/src/js/components/map-overlay/search-overlay.jsx +0 -79
  382. package/src/js/components/map-overlay/share-position-link-button.tsx +0 -144
  383. package/src/js/components/map-overlay/tool-overlay.tsx +0 -28
  384. package/src/js/components/map-overlay/user-geo-location-button.jsx +0 -89
  385. package/src/js/components/map-overlay/zoom-button.jsx +0 -98
  386. package/src/js/components/map-overlay/zoom-buttons.jsx +0 -26
  387. package/src/js/components/map-synced-interlay/index.ts +0 -15
  388. package/src/js/components/map-synced-interlay/map-synced-interlay.jsx +0 -22
  389. package/src/js/components/map-synced-interlay/tooltip-content.tsx +0 -22
  390. package/src/js/components/map-synced-interlay/tooltip.tsx +0 -199
  391. package/src/js/components/map-wrapper.tsx +0 -65
  392. package/src/js/components/map.tsx +0 -55
  393. package/src/js/components/modal.tsx +0 -40
  394. package/src/js/components/query-input-with-label.tsx +0 -71
  395. package/src/js/components/query-input.tsx +0 -81
  396. package/src/js/components/search/index.jsx +0 -83
  397. package/src/js/components/search/query-input.jsx +0 -20
  398. package/src/js/components/search/result-entry.jsx +0 -63
  399. package/src/js/components/search/result.jsx +0 -71
  400. package/src/js/components/switcher/GroupedSwitcher.jsx +0 -42
  401. package/src/js/components/switcher/Switcher.jsx +0 -54
  402. package/src/js/components/switcher/SwitcherButton.jsx +0 -23
  403. package/src/js/components/switcher/SwitcherEntry.tsx +0 -164
  404. package/src/js/components/switcher/SwitcherHeader.jsx +0 -58
  405. package/src/js/components/switcher/SwitcherStatusIcon.jsx +0 -36
  406. package/src/js/components/tag-switcher/TagSwitcher.tsx +0 -56
  407. package/src/js/components/tag-switcher/createTagSwitcherEntry.ts +0 -39
  408. package/src/js/components/tag-switcher/createTagSwitcherHeader.ts +0 -47
  409. package/src/js/components/tag-switcher/index.ts +0 -17
  410. package/src/js/components/time-filter.jsx +0 -187
  411. package/src/js/components/view-toggle-button/desktop-button.jsx +0 -13
  412. package/src/js/components/view-toggle-button/index.ts +0 -42
  413. package/src/js/components/view-toggle-button/mobile-button.tsx +0 -13
  414. package/src/js/components/view-toggle-button/view-toggle-button.jsx +0 -74
  415. package/src/js/components/view-toggle-button/viewport-button.tsx +0 -13
  416. package/src/js/config/constants/app.ts +0 -16
  417. package/src/js/config/constants/controllers.ts +0 -11
  418. package/src/js/config/feature/selections.ts +0 -13
  419. package/src/js/config/feature/sources.ts +0 -77
  420. package/src/js/config/index.ts +0 -133
  421. package/src/js/config/map/featureInteractions.ts +0 -53
  422. package/src/js/config/map/interactions.ts +0 -15
  423. package/src/js/config/map/layers.ts +0 -190
  424. package/src/js/controllers/defaults.ts +0 -36
  425. package/src/js/embed/browser.ts +0 -89
  426. package/src/js/embed/node.ts +0 -57
  427. package/src/js/filters/tag-filter.ts +0 -135
  428. package/src/js/filters/time-filter.ts +0 -53
  429. package/src/js/helpers/components.ts +0 -66
  430. package/src/js/helpers/create-action-watcher.ts +0 -35
  431. package/src/js/helpers/events.ts +0 -11
  432. package/src/js/helpers/get-feature-property.ts +0 -14
  433. package/src/js/helpers/i18n/de.ts +0 -145
  434. package/src/js/helpers/i18n/en.ts +0 -140
  435. package/src/js/helpers/i18n/index.ts +0 -41
  436. package/src/js/helpers/makeReplaceableComponent.ts +0 -0
  437. package/src/js/helpers/mod-classes.ts +0 -47
  438. package/src/js/helpers/react.ts +0 -14
  439. package/src/js/helpers/scroll-to-element-top.ts +0 -16
  440. package/src/js/helpers/sort-features-by-distance.ts +0 -102
  441. package/src/js/helpers/sticky.js +0 -143
  442. package/src/js/hooks/useCallbackRef.ts +0 -14
  443. package/src/js/hooks/useControllableState.ts +0 -50
  444. package/src/js/hooks/useDebounce.ts +0 -32
  445. package/src/js/hooks/useHandleEscapeKeyDown.ts +0 -27
  446. package/src/js/hooks/useMapsightPanel.ts +0 -40
  447. package/src/js/hooks/useMountable.ts +0 -47
  448. package/src/js/hooks/usePrevious.ts +0 -15
  449. package/src/js/hooks/useStickyHeader.ts +0 -50
  450. package/src/js/hooks/useUpdateMapSizeCallback.ts +0 -32
  451. package/src/js/hooks/useUpdateMapSizeOnRender.ts +0 -16
  452. package/src/js/hooks/useUpdateMapSizeOnTransitionEnd.ts +0 -40
  453. package/src/js/hooks/useUpdateMapSizeOnViewChange.ts +0 -36
  454. package/src/js/index.ts +0 -320
  455. package/src/js/plugins/browser/app-title.ts +0 -36
  456. package/src/js/plugins/browser/debug.ts +0 -37
  457. package/src/js/plugins/browser/feature-deep-link.ts +0 -223
  458. package/src/js/plugins/browser/local-storage.ts +0 -79
  459. package/src/js/plugins/browser/native-fullscreen.ts +0 -81
  460. package/src/js/plugins/browser/no-scroll.ts +0 -91
  461. package/src/js/plugins/browser/partial-content-changed-event.ts +0 -23
  462. package/src/js/plugins/browser/piwik-track-feature-selection-event.ts +0 -75
  463. package/src/js/plugins/browser/piwik-track-fullscreen-toggle-event.ts +0 -46
  464. package/src/js/plugins/browser/search.ts +0 -42
  465. package/src/js/plugins/browser/share-position-link.ts +0 -463
  466. package/src/js/plugins/browser/toggle-mobile-views.ts +0 -60
  467. package/src/js/plugins/browser/user-geolocation.ts +0 -142
  468. package/src/js/plugins/browser/views.ts +0 -141
  469. package/src/js/plugins/browser-defaults.ts +0 -101
  470. package/src/js/plugins/common/feature-selection-details-url.ts +0 -135
  471. package/src/js/plugins/common/lang.ts +0 -17
  472. package/src/js/plugins/common/measure-distance.ts +0 -223
  473. package/src/js/plugins/common/ol-proxy.ts +0 -68
  474. package/src/js/plugins/common/render-await-feature-details-loaded.ts +0 -154
  475. package/src/js/plugins/common/render-await-list-feature-sources-loaded.ts +0 -109
  476. package/src/js/plugins/server/feature-deep-link.ts +0 -67
  477. package/src/js/plugins/server-defaults.ts +0 -36
  478. package/src/js/renderer/browser-dom.tsx +0 -27
  479. package/src/js/renderer/server-string.tsx +0 -17
  480. package/src/js/server-handler.js +0 -39
  481. package/src/js/store/actions.ts +0 -662
  482. package/src/js/store/reducers.ts +0 -491
  483. package/src/js/store/selectors.ts +0 -483
  484. package/src/js/types.ts +0 -405
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@mapsight/ui",
3
3
  "description": "Mapsight UI for map based web applications using React and Redux",
4
- "version": "7.1.0",
4
+ "version": "7.2.0",
5
5
  "type": "module",
6
6
  "dependencies": {
7
7
  "@reduxjs/toolkit": "^2.11.2",
@@ -18,23 +18,26 @@
18
18
  "react-intersection-observer": "^10.0.3",
19
19
  "react-modal": "^3.16.3",
20
20
  "react-paginate": "^8.3.0",
21
- "react-redux": "^9.2.0",
21
+ "react-redux": "^9.3.0",
22
22
  "redux-batched-actions": "^0.5.0",
23
23
  "redux-thunk": "^3.1.0",
24
- "@mapsight/core": "^14.1.0",
25
- "@mapsight/lib-js": "^3.0.3",
26
- "@mapsight/lib-ol": "^4.0.3",
27
- "@mapsight/lib-redux": "^2.1.0"
24
+ "zod": "^4.4.3",
25
+ "@mapsight/core": "^14.2.0",
26
+ "@mapsight/lib-js": "^3.0.4",
27
+ "@mapsight/lib-ol": "^4.1.0",
28
+ "@mapsight/lib-redux": "^2.2.0",
29
+ "@mapsight/traffic-style": "^5.1.0"
28
30
  },
29
31
  "devDependencies": {
30
32
  "@types/lodash": "^4.17.24",
31
- "@types/react": "^19.2.14",
33
+ "@types/react": "^19.2.15",
32
34
  "@types/react-dom": "^19.2.3",
33
35
  "@types/react-modal": "^3.16.3",
34
36
  "chokidar": "^5.0.0",
35
37
  "react": "^19.2.6",
36
38
  "react-dom": "^19.2.6",
37
- "svgo": "^4.0.1"
39
+ "svgo": "^4.0.1",
40
+ "vitest": "^4.1.6"
38
41
  },
39
42
  "exports": {
40
43
  "./*": {
@@ -54,8 +57,20 @@
54
57
  "./config/*": {
55
58
  "types": "./dist/config/*.d.ts",
56
59
  "default": "./dist/config/*.js"
60
+ },
61
+ "./config/schema/*": {
62
+ "types": "./dist/config/schema/*.d.ts",
63
+ "default": "./dist/config/schema/*.js"
64
+ },
65
+ "./embed/*": {
66
+ "types": "./dist/embed/*.d.ts",
67
+ "default": "./dist/embed/*.js"
57
68
  }
58
69
  },
70
+ "files": [
71
+ "dist",
72
+ "src/scss"
73
+ ],
59
74
  "license": "UNLICENSED",
60
75
  "peerDependencies": {
61
76
  "react": "^19.2.6",
@@ -72,6 +87,7 @@
72
87
  "clean": "rimraf dist/*",
73
88
  "clean-build": "run-s clean build",
74
89
  "lint": "eslint",
90
+ "test": "vitest run",
75
91
  "typecheck": "tsc --noEmit",
76
92
  "watch": "run-s build:modules watch:build",
77
93
  "watch:build": "run-p watch:build:*",
@@ -7,17 +7,4 @@
7
7
  margin: 5px 0 5px 3px;
8
8
  font-size: variables.$ms3-fontSizeInput;
9
9
  }
10
-
11
- &__panel {
12
- padding: 12px 20px 12px 10px;
13
- margin-top: 10px;
14
- box-shadow: -1px 3px 10px -6px black;
15
- border: 1px solid variables.$ms3-borderColor;
16
- background: variables.$ms3-pageBackgroundColor;
17
- text-align: left;
18
- }
19
-
20
- .ms3-wrapper--mobile & {
21
- margin-top: 7px;
22
- }
23
10
  }
@@ -59,6 +59,29 @@
59
59
  background-image: url(variables.$ms3-uiIconPath + "sort-active.svg");
60
60
  }
61
61
 
62
+ &--icon-tags,
63
+ &--icon-tags-active {
64
+ height: 33px;
65
+ width: 40px;
66
+ background: transparent url(variables.$ms3-uiIconPath + "layers.svg") no-repeat
67
+ center;
68
+
69
+ i {
70
+ @include visually-hidden.visually-hidden;
71
+ }
72
+
73
+ &:hover,
74
+ &:focus {
75
+ background: transparent url(variables.$ms3-uiIconPath + "layers.svg")
76
+ no-repeat center;
77
+ filter: brightness(0.85);
78
+ }
79
+ }
80
+
81
+ &--icon-tags-active {
82
+ filter: brightness(0.85);
83
+ }
84
+
62
85
  &--icon-reset {
63
86
  height: 33px;
64
87
  width: 40px;
@@ -0,0 +1,15 @@
1
+ @use "../variables";
2
+
3
+ .ms3-filter-toggle-control {
4
+ &__panel {
5
+ padding: 12px 20px 12px 10px;
6
+ margin-top: 10px;
7
+ border: 1px solid variables.$ms3-borderColor;
8
+ background: variables.$ms3-pageBackgroundColor;
9
+ text-align: left;
10
+ }
11
+
12
+ .ms3-wrapper--mobile & {
13
+ margin-top: 7px;
14
+ }
15
+ }
@@ -13,6 +13,7 @@
13
13
  @use "blocks/feature-link";
14
14
  @use "blocks/feature-selection-info";
15
15
  @use "blocks/features-sorting";
16
+ @use "blocks/filter-toggle-control";
16
17
  @use "blocks/filter";
17
18
  @use "blocks/filter-button";
18
19
  @use "blocks/flex";
@@ -1 +0,0 @@
1
- <svg xmlns="http://www.w3.org/2000/svg" width="12" height="12"><path fill-rule="evenodd" fill="#0e78ad" d="M0 11.969V0h12v11.969H0zM10.438 1.562H1.563v8.844h8.875V1.562z"/></svg>
@@ -1,2 +0,0 @@
1
- <svg xmlns="http://www.w3.org/2000/svg" width="18" height="15" viewBow="0 0 18 15"><path fill-rule="evenodd" fill="#0e78ad" d="M8.43 11.22l.038.036L6.63 13.01l-.105-.101L4.86 11.42l.052-.053L.847 7.481l1.789-1.755 4.061 3.85L15.478.764l1.829 1.731L8.43 11.22zM3.563 4.563v.604L2.176 3.801 2 3.969V3h9.027L9.42 4.563H3.563zM2.23 11.551l1.333 1.155v.7h.807l.842.73.219.21.01-.011.731.634H2v-3.9l.366.35-.136.132zm10.208 1.855V9.719L14 8.196v6.773H7.051l1.603-1.563h3.784z"/></svg>
2
-
@@ -1 +0,0 @@
1
- <svg xmlns="http://www.w3.org/2000/svg" width="31" height="25"><path fill-rule="evenodd" fill="#0E78AD" d="M23.238 14.564a7.078 7.078 0 1 1 0-14.156 7.078 7.078 0 0 1 0 14.156zm3.933-9.546l-1.445-1.445-2.46 2.46-2.457-2.457-1.445 1.445 2.456 2.457-2.463 2.463 1.445 1.445 2.464-2.463 2.466 2.467 1.445-1.445-2.466-2.467 2.46-2.46zM6.031 10h8.484c.203.706.489 1.376.847 2H6.031v-2zm17.208 6.571c.963 0 1.89-.153 2.761-.43V18H6v-2h14.093a9.041 9.041 0 0 0 3.146.571zM1.997 24.788a1.791 1.791 0 1 1 .002-3.582 1.791 1.791 0 0 1-.002 3.582zm0-6a1.791 1.791 0 1 1 .002-3.582 1.791 1.791 0 0 1-.002 3.582zm0-6a1.791 1.791 0 1 1 .002-3.582 1.791 1.791 0 0 1-.002 3.582zM26 24H6v-2h20v2z"/></svg>
@@ -1 +0,0 @@
1
- <svg xmlns="http://www.w3.org/2000/svg" width="11" height="11"><path fill-rule="evenodd" fill="#0e78ad" d="M10.252 9.264l-1.411 1.412-3.533-3.533-3.56 3.56L.336 9.291l3.56-3.56L.35 2.186 1.762.774 5.308 4.32 8.827.801l1.411 1.412L6.72 5.731l3.532 3.533z"/></svg>
@@ -1 +0,0 @@
1
- <svg xmlns="http://www.w3.org/2000/svg" width="15" height="14"><path fill-rule="evenodd" fill="#cc100c" d="M7.061 13.997A6.968 6.968 0 1 1 7.062.062a6.968 6.968 0 0 1-.001 13.935zm.005-12.228A5.266 5.266 0 1 0 7.067 12.3a5.266 5.266 0 0 0-.001-10.53zM6.026 9.03H8v1.963H6.026V9.03zm0-5.998H8v4.924H6.026V3.032z"/></svg>
@@ -1 +0,0 @@
1
- <svg xmlns="http://www.w3.org/2000/svg" width="20" height="20"><path fill-rule="evenodd" fill="#0e78ad" d="M17.92 6.537l.085 1.474h-5.041l-.003.031h-.956v-.031h-.031l.009-.969.022-.002V2.042h1.496l-.305 3.385 4.591-4.59 1.37 1.37-4.618 4.617 3.381-.287zm-9.925 6.455v4.997H6.499l.305-3.385-4.591 4.59-1.37-1.37 4.618-4.617-3.381.287-.085-1.473h5.041l.003-.032h.956v.032h.031l-.009.969-.022.002zm0-4.95h-.956l-.003-.031H1.995l.085-1.474 3.381.287L.843 2.207l1.37-1.37 4.591 4.59-.305-3.385h1.496V7.04l.022.002.009.969h-.031v.031zm4.01 3.947h.956l.003.032h5.041l-.085 1.473-3.381-.287 4.618 4.617-1.37 1.37-4.591-4.59.305 3.385h-1.496v-4.997l-.022-.002-.009-.969h.031v-.032z"/></svg>
@@ -1 +0,0 @@
1
- <svg xmlns="http://www.w3.org/2000/svg" width="19" height="17"><path fill-rule="evenodd" fill="#0e78ad" d="M17.995.992v4.997h-1.496l.305-3.385-4.591 4.59-1.37-1.37 4.618-4.617-3.381.287-.085-1.473h5.041l.003-.032h.956v.032h.031l-.009.969-.022.002zM6.92 14.537l.085 1.474H1.964l-.003.031h-.956v-.031H.974l.009-.969.022-.002v-4.998h1.496l-.305 3.385 4.591-4.59 1.37 1.37-4.618 4.617 3.381-.287zm-.133-7.343l-4.591-4.59.305 3.385H1.005V.992L.983.99.974.021h.031v-.032h.956l.003.032h5.041L6.92 1.494l-3.381-.287 4.618 4.617-1.37 1.37zm5.426 1.643l4.591 4.59-.305-3.385h1.496v4.998l.022.002.009.969h-.031v.031h-.956l-.003-.031h-5.041l.085-1.474 3.381.287-4.618-4.617 1.37-1.37z"/></svg>
@@ -1 +0,0 @@
1
- <svg xmlns="http://www.w3.org/2000/svg" width="18.94" height="18.938" viewBox="0 0 18.94 18.938"><path fill="#0e78ad" fill-rule="evenodd" d="M9.49 2.432a6.99 6.99 0 1 1-6.99 6.99 6.991 6.991 0 0 1 6.99-6.99zm0 1.33a5.661 5.661 0 1 1-5.67 5.66 5.664 5.664 0 0 1 5.67-5.66zm0 2.667a2.994 2.994 0 1 1-3 2.993 2.992 2.992 0 0 1 3-2.993zM8.47.001h2v2.406h-2V.001zm0 16.468h2v2.469h-2v-2.469zm8.06-8h2.41v2h-2.41v-2zM0 8.469h2.47v2H0v-2z"/></svg>
@@ -1 +0,0 @@
1
- <svg xmlns="http://www.w3.org/2000/svg" width="18.21" height="18.219" viewBox="0 0 18.21 18.219"><path fill="#a8a8a8" fill-rule="evenodd" d="M9.11-.013A9.109 9.109 0 1 1 0 9.095 9.11 9.11 0 0 1 9.11-.013zm0 1.726a7.382 7.382 0 1 1-7.38 7.382 7.378 7.378 0 0 1 7.38-7.382zm0 3.478a3.9 3.9 0 1 1-3.9 3.9 3.9 3.9 0 0 1 3.9-3.9zM7.79-3.192h2.6v3.138h-2.6v-3.138zm0 21.477h2.6v3.22h-2.6v-3.22zM18.3 7.852h3.14v2.608H18.3V7.852zm-21.56 0h3.22v2.608h-3.22V7.852z"/></svg>
@@ -1 +0,0 @@
1
- <svg xmlns="http://www.w3.org/2000/svg" width="18.21" height="18.219" viewBox="0 0 18.21 18.219"><path fill="#a8a8a8" fill-rule="evenodd" d="M9.11-.013A9.109 9.109 0 1 1 0 9.095 9.11 9.11 0 0 1 9.11-.013zm0 1.726a7.382 7.382 0 1 1-7.38 7.382 7.378 7.378 0 0 1 7.38-7.382zm0 3.478a3.9 3.9 0 1 1-3.9 3.9 3.9 3.9 0 0 1 3.9-3.9zM7.79-3.192h2.6v3.138h-2.6v-3.138zm0 21.477h2.6v3.22h-2.6v-3.22zM18.3 7.852h3.14v2.608H18.3V7.852zm-21.56 0h3.22v2.608h-3.22V7.852z"/></svg>
@@ -1 +0,0 @@
1
- <svg xmlns="http://www.w3.org/2000/svg" width="9" height="18"><path fill-rule="evenodd" fill="#0e78ad" d="M6.607 17.775H1.705c.005 0-.763-.127-.861-.626C.736 16.594.722 16.244 1 16s.316 0 1 0h1V8H2c-.654 0-.458-.04-1 0-.376.028-.632-.587-.632-1.163 0-.576.265-.846.632-.837.336.008.326 0 1 0h4c.146.112 0 .805 0 1v9h2c.283.244.5.584.467 1.149-.05.871.801.626-1.86.626zM6 6c-.146-.112.273 0 0 0zm2 10c-.283-.244.674 0 0 0zM5.806 2.845C5.596 3.085 4.781 3 4 3H3c.062-.001 0-.327 0-1C3 .75 2.993.409 3 0c.001-.033.228 0 1 0h2c.062.002.001.895 0 1-.006.452.016 1.606-.194 1.845zM3 3c-.036 0-.033 0 0 0z"/></svg>
@@ -1 +0,0 @@
1
- <svg xmlns="http://www.w3.org/2000/svg" width="25" height="21"><path fill-rule="evenodd" fill="#0e78ad" d="M.091 10.461l3.133-1.657 2.101.901-1.19.601 9.547 3.928 6.714-3.394-1.059-.436 1.782-.942 3.134 1.343-10.46 5.53L.091 10.461zm0-4L10.55.93l13.703 5.875-10.46 5.53L.091 6.461zM10.85 2.912L4.135 6.306l9.547 3.928 6.714-3.394-9.546-3.928zM5.325 13.705l-1.19.601 9.547 3.928 6.714-3.394-1.059-.436 1.782-.942 3.134 1.343-10.46 5.53L.091 14.461l3.133-1.657 2.101.901z"/></svg>
@@ -1 +0,0 @@
1
- <svg xmlns="http://www.w3.org/2000/svg" width="15" height="15"><path fill="#0e78ad" d="M9.2 2.8c-.5-.2-1.1-.3-1.7-.3-2.8 0-5.1 2.3-5.1 5.1s2.3 5.1 5.1 5.1 5.1-2.3 5.1-5.1c0-.7-.2-1.4-.4-2l1.4-1.4c.6 1 .9 2.2.9 3.4 0 3.8-3.1 7-7 7s-7-3.1-7-7 3.1-7 7-7c1.1 0 2.2.3 3.1.8L9.2 2.8z"/></svg>
@@ -1 +0,0 @@
1
- <svg xmlns="http://www.w3.org/2000/svg" width="31" height="29"><path fill-rule="evenodd" fill="#0E78AD" d="M22.208 11.306l-5.859 9.673h-.697l-5.857-9.673h.031a6.864 6.864 0 0 1-.865-3.315A7.038 7.038 0 0 1 16 .955a7.037 7.037 0 0 1 7.039 7.036 6.933 6.933 0 0 1-.852 3.315h.021zm-6.465 6.809h.493l4.16-6.807h-8.789l4.136 6.807zm.286-15.14a5.007 5.007 0 0 0-5.011 5.003 4.93 4.93 0 0 0 1.303 3.328h7.416a4.93 4.93 0 0 0 1.303-3.328 5.007 5.007 0 0 0-5.011-5.003zm.001 7.06a2.06 2.06 0 1 1 0-4.117c1.139 0 2.063.922 2.063 2.059a2.06 2.06 0 0 1-2.063 2.058zm-4.536 6.529l-6.515 3.617 2.295 1.136 5.528-2.744.727 1.116-4.777 2.358 3.472 1.718 3.336-1.656 1.423.003.67-1.042 5.586-2.773-3.011-1.236.894-1.392 9.349 3.98-13.459 8.53L.935 20.336l9.539-5.337 1.02 1.565zm15.12 3.12l-1.727-.71-3.645 1.8 1.123 1.707 4.249-2.797zM16.9 26.078l4.424-2.912-1.24-1.821-6.381 3.151 3.197 1.582z"/></svg>
@@ -1,7 +0,0 @@
1
- <svg xmlns="http://www.w3.org/2000/svg" width="25" height="24">
2
- <path fill="none" stroke="#0E78AD" stroke-linecap="square" stroke-width="2" d="m3.94 21.857 3-9 5.143-5.143L19.368 3" />
3
- <path fill="#0E78AD"
4
- d="M1.421 22.323A3.429 3.429 0 0 1 4.5 17.145a3.43 3.43 0 0 1 3.434 3.427A3.429 3.429 0 0 1 4.5 23.997a3.429 3.429 0 0 1-3.078-1.674ZM5.52 13.46a2.101 2.101 0 0 1 1.887-3.173c1.162 0 2.104.94 2.104 2.1a2.101 2.101 0 0 1-2.104 2.1 2.101 2.101 0 0 1-1.886-1.026Zm7.03-4.116a2.101 2.101 0 1 1 0-4.2c1.162 0 2.104.94 2.104 2.1a2.101 2.101 0 0 1-2.104 2.1Zm8.235-2.489a3.429 3.429 0 1 1 0-6.852 3.43 3.43 0 0 1 3.434 3.426 3.429 3.429 0 0 1-3.434 3.426Z" />
5
- <path fill="#0E78AD"
6
- d="M13 13.155h1.658v.934c.593-.726 1.3-1.089 2.12-1.089.435 0 .812.09 1.132.27.32.181.583.454.788.82.299-.366.62-.639.967-.82.345-.18.714-.27 1.107-.27.5 0 .922.102 1.268.306.345.204.604.504.774.9.124.292.186.764.186 1.417V20h-1.799v-3.913c0-.678-.062-1.117-.186-1.314-.166-.258-.422-.387-.768-.387a1.22 1.22 0 0 0-.71.232 1.287 1.287 0 0 0-.48.68c-.099.299-.148.77-.148 1.415V20H17.11v-3.751c0-.666-.032-1.096-.096-1.29a.823.823 0 0 0-.298-.431c-.134-.095-.317-.142-.547-.142-.277 0-.527.075-.749.225-.222.15-.38.368-.477.651-.096.284-.144.755-.144 1.412V20H13v-6.845Z" />
7
- </svg>
@@ -1 +0,0 @@
1
- <svg xmlns="http://www.w3.org/2000/svg" width="25" height="16"><path fill-rule="evenodd" fill="#0E78AD" d="M6 15v-2h19v2H6zm0-8h19v2H6V7zm0-6h19v2H6V1zM1.997 15.788a1.791 1.791 0 1 1 .002-3.582 1.791 1.791 0 0 1-.002 3.582zm0-6a1.791 1.791 0 1 1 .002-3.582 1.791 1.791 0 0 1-.002 3.582zm0-6A1.791 1.791 0 1 1 1.999.206a1.791 1.791 0 0 1-.002 3.582z"/></svg>
@@ -1,4 +0,0 @@
1
- <svg xmlns="http://www.w3.org/2000/svg" width="14" height="19" viewBox="0 0 14 19">
2
- <path fill="#0E78AD"
3
- d="M13.17 9.82L7.35 19h-.7L.83 9.82h.03A6.28 6.28 0 010 6.68C0 2.98 3.13 0 7 0c1.86 0 3.64.7 4.95 1.95a6.34 6.34 0 011.2 7.87h.02zm-6.43 6.46h.5l3.48-6.49H3.33l3.41 6.49zm.29-14.36c-1.32 0-2.59.5-3.52 1.38a4.54 4.54 0 00-.17 6.5h7.38a4.54 4.54 0 00-.17-6.5 5.11 5.11 0 00-3.52-1.38zm0 6.7a2.07 2.07 0 01-1.84-.96 1.88 1.88 0 010-2 2.07 2.07 0 011.84-.95 2 2 0 012.05 1.95c0 .52-.22 1.02-.6 1.38-.39.37-.9.58-1.45.58z" />
4
- </svg>
@@ -1,4 +0,0 @@
1
- <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 100 100" width="34" height="34">
2
- <path fill="#207ab6"
3
- d="M 30 29 v -13 a 4 4 0 0 1 4 -4 h 32 a 4 4 0 0 1 4 4 v 13 Z M 14 28 h 72 a 4 4 0 0 1 4 4 v 24 a 4 4 0 0 1 -4 4 h -12 v -12 a 4 4 0 0 0 -4 -4 h -40 a 4 4 0 0 0 -4 4 v 12 h -12 a 4 4 0 0 1 -4 -4 v -24 a 4 4 0 0 1 4 -4 Z M 82 32 a 4 4 0 1 0 0 8 a 4 4 0 1 0 0 -8 Z M 66 43 h 6 v 43 a 4 4 0 0 1 -4 4 h -24 l -16 -16 v -31 h 6 v 29 l 12 12 h 18 a 2 2 0 0 0 2 -2 v -39 Z"/>
4
- </svg>
@@ -1 +0,0 @@
1
- <svg xmlns="http://www.w3.org/2000/svg" width="15" height="14" viewBox="0 0 15 14"><path fill="#cc100c" d="M11.859.01l1.854 1.9L3.081 12.828l-1.854-1.9zm1.866 10.94l-1.854 1.9L1.239 1.938l1.853-1.9z"/></svg>
@@ -1 +0,0 @@
1
- <svg xmlns="http://www.w3.org/2000/svg" width="15" height="14" viewBox="0 0 15 14"><path fill="#0e78ad" d="M11.859.01l1.854 1.9L3.081 12.828l-1.854-1.9zm1.866 10.94l-1.854 1.9L1.239 1.938l1.853-1.9z"/></svg>
@@ -1 +0,0 @@
1
- <svg xmlns="http://www.w3.org/2000/svg" width="17.125" height="16.688" viewBox="0 0 17.125 16.688"><path fill="#0e78ad" fill-rule="evenodd" d="M6.443.001A6.443 6.443 0 1 1 0 6.443 6.443 6.443 0 0 1 6.443.001zm0 2.013a4.43 4.43 0 1 1-4.429 4.429 4.429 4.429 0 0 1 4.428-4.429zm9.282 14.677l-5.364-5.364 1.391-1.389 5.364 5.364z"/></svg>
@@ -1,7 +0,0 @@
1
- <svg xmlns="http://www.w3.org/2000/svg" width="21" height="21" viewBox="0 0 122.9 114.3">
2
- <g fill="#0e78ad">
3
- <path d="m122.9 35.3-35 35.3V53c-22-4.6-39.5.5-52.8 17.3A52.4 52.4 0 0 1 88 17.9V0z"/>
4
- <path
5
- d="M7 23.7h35.5a70 70 0 0 0-12.2 13.9H13.8v62.9h80.6V85.8l13.8-13.5v35.1c0 3.8-3 7-6.9 7H7a7 7 0 0 1-6.9-7V30.7c0-3.9 3-7 7-7"/>
6
- </g>
7
- </svg>
@@ -1 +0,0 @@
1
- <svg xmlns="http://www.w3.org/2000/svg" width="19" height="14" viewBox="0 0 19 14"><path fill="#cc100c" d="M0 4h8v2H0V4zm0 4h10v2H0V8zm0 4h13v2H0v-2zM14 0h2v6h-2V0zm-2.97 3.938h7.94L15 9.634z"/></svg>
@@ -1 +0,0 @@
1
- <svg xmlns="http://www.w3.org/2000/svg" width="19" height="14" viewBox="0 0 19 14"><path fill="#0e78ad" d="M0 4h8v2H0V4zm0 4h10v2H0V8zm0 4h13v2H0v-2zM14 0h2v6h-2V0zm-2.97 3.938h7.94L15 9.634z"/></svg>
@@ -1 +0,0 @@
1
- <svg version="1" xmlns="http://www.w3.org/2000/svg" width="840" height="280"><defs><filter id="a" x="-50%" y="-50%" width="200%" height="200%"><feOffset result="offOut" in="SourceAlpha" dx="2" dy="2"/><feGaussianBlur result="blurOut" in="offOut" stdDeviation="7"/><feBlend in="SourceGraphic" in2="blurOut"/></filter></defs><path fill="#fff" filter="url(#a)" transform="translate(10 10)" d="M761.1 17.1c-14.3 5-22.7 19.7-19.9 34.9 1.3 7.2 3.7 11.6 9 16.6 7.2 7 11.9 8.9 21.8 8.9s14.6-1.9 21.8-8.9c5.3-5 7.7-9.4 9-16.6 4.4-23.9-18.6-43.1-41.7-34.9zM780.9 30c10.9 5.5 13.3 19 5 28.4-7 8-17.5 8.7-25.1 1.8-4.7-4.3-6.8-8.5-6.8-13.9 0-4.3 2.8-11 5.6-13.5 5.8-5.1 14.6-6.3 21.3-2.8zM604.8 41.9c-12 4.7-18 11.7-20.8 24.2-2.3 10.1 2.2 22.6 10.7 29.5 20.6 16.9 51.5 2.5 51.5-24.1 0-9.2-3.1-16.3-10.1-22.7-9.1-8.5-20.7-11-31.3-6.9zm19.3 13.3c11 6.2 12.9 19.8 4.1 29.1C616.9 96 597 87.6 597 71.1c0-4.5 2.6-10.5 5.7-13.3 5.5-5 15.1-6.2 21.4-2.6zm104.1 12c-2.2 1.1-3.9 4.9-3.3 7.8.1.8 4.6 5.9 9.9 11.2 8.1 8.2 10.2 9.8 12.8 9.8 3.9 0 6.7-3 6.6-7.2-.1-2.6-1.7-4.8-9.4-12.4-9.5-9.5-12.5-11.2-16.6-9.2zm-22.5 22c-2.7 2.1-3.7 6-2.2 9.3.7 1.7 5.1 6.7 9.8 11.2 7.2 7.1 8.9 8.3 11.8 8.3 1.9 0 3.9-.4 4.5-.8 2-1.3 3.6-5.3 3-7.6-.3-1.2-5-6.5-10.4-11.9-10.2-9.9-12.7-11.3-16.5-8.5zm-62.2 9.9c-8.4 8.2-10.5 10.8-10.5 13.1 0 3.8 3.2 6.8 7.3 6.8 2.9 0 4.6-1.3 13-9.9 10.3-10.4 11.4-12.8 8-16.9-1-1.2-3-2.4-4.6-2.8-2.5-.6-3.8.4-13.2 9.7zm26.1 9.3c-14.1 6-22.6 20.9-19.7 34.6 3.5 16.3 17.1 26.9 33.1 25.7 16.5-1.1 29.1-14.3 29.3-30.7.2-22.2-22.7-38-42.7-29.6zm20.5 12.8c11.5 6.4 13 21.1 3.2 29.8-6.9 6-14.8 6.5-22.5 1.3-9.2-6.2-10.3-21.1-2.1-28.5 5.5-5 15.1-6.2 21.4-2.6zM297 170.6c-7.5 2-12.9 6.1-16.2 12.4-3.2 6-3.6 11.2-1.3 16.7 3.3 7.8 8.9 11 27.1 15.3 19.1 4.6 23.4 7.3 23.4 15.2 0 9.6-6.5 14.2-20 14.3-7.3 0-9.3-.4-13.5-2.6-5.7-2.9-9.3-7.5-10.1-13.1l-.7-3.8h-4.8c-4.8 0-4.9.1-4.9 3.1 0 6.2 2.3 11.3 7.6 16.6 7 7 15.5 9.7 28.4 9.1 7.7-.4 9.8-.9 15.7-3.9 8.7-4.4 12.2-9.2 13-17.6.7-7.3-.7-11.9-4.9-16.2-4.6-4.7-9.3-6.8-23-10-18.5-4.4-22.1-6.4-23.4-12.7-.8-3.9 1.7-9.8 5.1-12 5.7-3.7 20.7-3.6 25.9.2 2.3 1.8 5.7 7.4 7 11.7.5 1.5 1.5 1.8 5.3 1.5l4.8-.3-.3-3.5c-1.6-16.4-20-25.8-40.2-20.4zm106.6 1.4c-13.8 5.8-21.3 16.9-23.6 34.6-1.9 14.6 2.4 27.6 12.1 36.9 8.4 8 13.1 9.9 25.4 9.9 11.3.1 17.3-1.9 23.2-7.6l3.2-3.1.9 2.4c.5 1.3 1.1 3.3 1.3 4.4.3 1.5 1.3 2.1 4.2 2.3l3.7.3-.2-21.3-.3-21.3h-35v9l12.9.3 12.9.3-.6 4.4c-1.9 13.6-13.8 22.6-27.9 21.1-7.6-.8-12.6-3.4-17.6-9.2-5.3-6.3-7.7-13.7-7.5-23.9.1-13 4.6-23.2 12.6-29 3.6-2.6 5.1-3 12.9-3.3 6.7-.3 9.9 0 13.3 1.3 5.1 1.9 11.1 8.2 12 12.6.6 2.8.9 2.9 6.2 2.9 5.5 0 5.5 0 4.9-2.8-1.4-5.7-5.8-13.2-9.6-16.2-6.9-5.5-12.5-7.4-23-7.7-8.6-.2-10.1 0-16.4 2.7zM15 211.5V252h20l.2-29.7.3-29.7 8.1 29.4 8.1 29.5 8.4.3 8.4.2 8-29.2 8-29.3.3 29.3.2 29.2h21v-81H74.3l-2.7 10.2c-1.5 5.7-4.7 17.7-7 26.8-2.4 9.1-4.6 15.8-4.9 15-.4-.8-2.9-10.5-5.7-21.5-2.9-11-5.8-22.4-6.7-25.3l-1.4-5.2H15v40.5zm128-40.2c0 .2-6.7 18.3-15 40.1-8.2 21.9-15 40-15 40.2 0 .2 4.9.4 10.9.4h10.9l2.3-6.8 2.4-6.7h28.8l2.2 6.5 2.2 6.5 11.1.3 11.2.3-3.1-8.3c-1.7-4.6-8.4-22.8-15.1-40.6l-12-32.2h-10.9c-6 0-10.9.2-10.9.3zm15.6 37l4.1 13.2-8.5.3c-4.6.2-8.7.1-8.9-.2-.6-.6 7.9-26.6 8.7-26.6.3 0 2.3 6 4.6 13.3zm42.4 3.2V252h21v-27h12.3c14.4 0 21-1.6 26.3-6.2 6.2-5.4 7.9-10 7.9-20.8 0-10.9-1.8-15.7-8.1-20.8-6.3-5.2-12.3-6.2-37.2-6.2H201v40.5zm42.8-21c3.6 3 4.8 7.3 3.2 11.9-1.6 5.1-6 6.8-16.2 6.4l-8.3-.3-.3-10.3-.3-10.2h9.5c8.6 0 9.7.2 12.4 2.5zm110.2 21V252h11v-81h-11v40.5zm116 0V252h11v-37h42v37h11v-81h-11v35h-42v-35h-11v40.5zm73-36v4.5h27v72h11v-72h27v-9h-65v4.5z"/></svg>
@@ -1,3 +0,0 @@
1
- <svg xmlns="http://www.w3.org/2000/svg" width="40" height="40" viewBox="0 0 40 40">
2
- <path fill="#0e78ad" stroke="#0e78ad" d="M20.5 14.5h-1v5h-5v1h5v5h1v-5h5v-1h-5v-5z"/>
3
- </svg>
@@ -1,3 +0,0 @@
1
- <svg xmlns="http://www.w3.org/2000/svg" width="40" height="40" viewBox="0 0 40 40">
2
- <path fill="#0e78ad" stroke="none" d="M14 19h12v2H14z"/>
3
- </svg>
@@ -1,232 +0,0 @@
1
- import {Fragment} from "react";
2
- import {useSelector} from "react-redux";
3
-
4
- import {createSelector} from "@reduxjs/toolkit";
5
-
6
- import {useContextComponentWithFallback} from "../helpers/components";
7
- import {
8
- isViewFullscreen,
9
- isViewMapOnly,
10
- isViewMobile,
11
- layerSwitcherConfigExternalSelector,
12
- layerSwitcherShowExternalSelector,
13
- listUiOptionDetailsSelector,
14
- listVisible,
15
- mapAndListVisible,
16
- mapVisible,
17
- pageTitleShowSelector,
18
- tagSwitcherShowSelector,
19
- timeFilterVisible,
20
- viewSelector,
21
- } from "../store/selectors";
22
- import FeatureList from "./feature-list";
23
- import VisibilityWrapper from "./helping/visibility-wrapper";
24
- import LayerSwitcher from "./layer-switcher/index";
25
- import AdditionalContainer from "./layout/additional-container";
26
- import AdditionalContent from "./layout/additional-container/content";
27
- import Marginal from "./layout/additional-container/marginal";
28
- import MainContainer from "./layout/main-container";
29
- import MapRow from "./layout/map-row";
30
- import TitleBar from "./layout/title-bar";
31
- // Layout
32
- import AppWrapper from "./layout/wrapper";
33
- import MainPanel from "./main-panel";
34
- import MainPanelContainer from "./main-panel/container";
35
- import {MainPanelContextProvider} from "./main-panel/context";
36
- import MainPanelListToggleButton from "./main-panel/list-toggle-button";
37
- // Components
38
- import Map from "./map";
39
- import MapOverlay from "./map-overlay";
40
- import MapOverlayArea from "./map-overlay/area";
41
- import Attribution from "./map-overlay/attribution";
42
- import InfoOverlayLeft from "./map-overlay/info-overlay-left";
43
- import InfoOverlayModal from "./map-overlay/info-overlay-modal";
44
- import InfoOverlayRight from "./map-overlay/info-overlay-right";
45
- import LayerSwitcherOverlay from "./map-overlay/layer-switcher-overlay";
46
- import Legend from "./map-overlay/legend";
47
- import Logo from "./map-overlay/logo";
48
- import RegionSelector from "./map-overlay/region-selector";
49
- import SearchOverlay from "./map-overlay/search-overlay";
50
- import UserGeoLocationButton from "./map-overlay/user-geo-location-button";
51
- import ZoomButtons from "./map-overlay/zoom-buttons";
52
- import MapSyncedInterlay from "./map-synced-interlay/index";
53
- import MapWrapper from "./map-wrapper";
54
- import TagSwitcher from "./tag-switcher/index";
55
- import TimeFilter from "./time-filter";
56
- import DesktopViewToggleButton from "./view-toggle-button/desktop-button";
57
- import MobileViewToggleButton from "./view-toggle-button/mobile-button";
58
- import ViewportViewToggleButton from "./view-toggle-button/viewport-button";
59
-
60
- const marginalLeftSelector = createSelector(
61
- [layerSwitcherShowExternalSelector, tagSwitcherShowSelector],
62
- (layerSwitcherShowExternal, tagSwitcherShow) => {
63
- return layerSwitcherShowExternal || tagSwitcherShow;
64
- },
65
- );
66
-
67
- /**
68
- * @returns {import('react').ReactElement} element
69
- */
70
- function App() {
71
- const view = useSelector(viewSelector);
72
- const isMobile = isViewMobile(view);
73
- const isFullscreen = isViewFullscreen(view);
74
- const isMapOnly = isViewMapOnly(view);
75
- const showAdditional = !isFullscreen && !isMapOnly;
76
- const showDetailsInList = useSelector(listUiOptionDetailsSelector);
77
- const showListInMapRow =
78
- useSelector(listVisible) && !showDetailsInList && isFullscreen;
79
-
80
- const mapOverlayStart = useContextComponentWithFallback("MapOverlayStart");
81
- const mapOverlayTopLeft =
82
- useContextComponentWithFallback("MapOverlayTopLeft");
83
- const mapOverlayBottomLeft = useContextComponentWithFallback(
84
- "MapOverlayBottomLeft",
85
- );
86
- const mapOverlayTopRight =
87
- useContextComponentWithFallback("MapOverlayTopRight");
88
- const mapOverlayBottomRight = useContextComponentWithFallback(
89
- "MapOverlayBottomRight",
90
- );
91
- const mapOverlayEnd = useContextComponentWithFallback("MapOverlayEnd");
92
- const mapOverlayModal = useContextComponentWithFallback("MapOverlayModal");
93
-
94
- return (
95
- <AppWrapper>
96
- <MainContainer>
97
- <VisibilityWrapper visibleSelector={pageTitleShowSelector}>
98
- <TitleBar />
99
- </VisibilityWrapper>
100
-
101
- <VisibilityWrapper visibleSelector={mapVisible}>
102
- <MapRow>
103
- {!isMobile && (
104
- <MainPanelContextProvider
105
- collapsible={showListInMapRow}
106
- showSelectionInfo={!showDetailsInList}
107
- showList={showListInMapRow}
108
- panelPosition="left"
109
- >
110
- <MainPanelContainer>
111
- <MainPanelListToggleButton />
112
- <MainPanel />
113
- </MainPanelContainer>
114
- </MainPanelContextProvider>
115
- )}
116
-
117
- <MapWrapper>
118
- <Map />
119
- <MapSyncedInterlay />
120
- <MapOverlay>
121
- {mapOverlayStart()}
122
-
123
- <MapOverlayArea position="top-left">
124
- {mapOverlayTopLeft(
125
- <Fragment>
126
- <SearchOverlay />
127
- <RegionSelector />
128
- </Fragment>,
129
- )}
130
- </MapOverlayArea>
131
-
132
- <MapOverlayArea position="bottom-left">
133
- {mapOverlayBottomLeft(
134
- <Fragment>
135
- <InfoOverlayLeft />
136
- </Fragment>,
137
- )}
138
- </MapOverlayArea>
139
-
140
- <MapOverlayArea position="top-right">
141
- {mapOverlayTopRight(
142
- <Fragment>
143
- <LayerSwitcherOverlay />
144
- <DesktopViewToggleButton />
145
- </Fragment>,
146
- )}
147
- </MapOverlayArea>
148
-
149
- <MapOverlayArea position="bottom-right">
150
- {mapOverlayBottomRight(
151
- <Fragment>
152
- <ZoomButtons />
153
- <UserGeoLocationButton />
154
- <MobileViewToggleButton />
155
- <InfoOverlayRight />
156
- </Fragment>,
157
- )}
158
- </MapOverlayArea>
159
-
160
- {mapOverlayEnd()}
161
-
162
- <InfoOverlayModal>
163
- {mapOverlayModal(
164
- <Fragment>
165
- {isMobile && <Attribution />}
166
- <Legend />
167
- <Logo />
168
- </Fragment>,
169
- )}
170
- </InfoOverlayModal>
171
- </MapOverlay>
172
- </MapWrapper>
173
- </MapRow>
174
- </VisibilityWrapper>
175
-
176
- {isMapOnly && (
177
- <MainPanelContextProvider
178
- panelPosition="below"
179
- showSelectionInfo={true}
180
- >
181
- <MainPanelContainer>
182
- <MainPanel />
183
- </MainPanelContainer>
184
- </MainPanelContextProvider>
185
- )}
186
- </MainContainer>
187
-
188
- {showAdditional && (
189
- <AdditionalContainer>
190
- <VisibilityWrapper visibleSelector={marginalLeftSelector}>
191
- <Marginal position="left">
192
- <VisibilityWrapper
193
- visibleSelector={(state) =>
194
- !!layerSwitcherConfigExternalSelector(state)
195
- }
196
- >
197
- <LayerSwitcher
198
- configSelector={
199
- layerSwitcherConfigExternalSelector
200
- }
201
- />
202
- </VisibilityWrapper>
203
- <VisibilityWrapper
204
- visibleSelector={tagSwitcherShowSelector}
205
- >
206
- <TagSwitcher />
207
- </VisibilityWrapper>
208
- </Marginal>
209
- </VisibilityWrapper>
210
-
211
- <AdditionalContent>
212
- <VisibilityWrapper visibleSelector={listVisible}>
213
- <FeatureList enableKeyboardControl={true} />
214
- </VisibilityWrapper>
215
- </AdditionalContent>
216
-
217
- <VisibilityWrapper visibleSelector={timeFilterVisible}>
218
- <Marginal position="right">
219
- <TimeFilter />
220
- </Marginal>
221
- </VisibilityWrapper>
222
- </AdditionalContainer>
223
- )}
224
-
225
- <VisibilityWrapper visibleSelector={mapAndListVisible}>
226
- <ViewportViewToggleButton />
227
- </VisibilityWrapper>
228
- </AppWrapper>
229
- );
230
- }
231
-
232
- export default App;
@@ -1,27 +0,0 @@
1
- import type {ComponentPropsWithoutRef, FC, MouseEvent} from "react";
2
-
3
- import {translate} from "../helpers/i18n";
4
-
5
- export type Props = {
6
- label?: string;
7
- onClose?: (event: MouseEvent<HTMLButtonElement>) => void;
8
- } & ComponentPropsWithoutRef<"button">;
9
-
10
- const CloseOverlayButton: FC<Props> = ({
11
- label = translate("close"),
12
- onClose,
13
- ...attributes
14
- }) => {
15
- return (
16
- <button
17
- className="ms3-dialog-close-button"
18
- type="button"
19
- onClick={onClose}
20
- {...attributes}
21
- >
22
- <span className="ms3-visuallyhidden">{label}</span>
23
- </button>
24
- );
25
- };
26
-
27
- export default CloseOverlayButton;
@@ -1,116 +0,0 @@
1
- import type {PropsWithChildren, ReactNode} from "react";
2
- import {memo, useCallback, useContext, useEffect, useRef} from "react";
3
-
4
- import {ComponentsContext} from "../../helpers/components";
5
- import getFeatureProperty from "../../helpers/get-feature-property";
6
- import {translate} from "../../helpers/i18n";
7
- import type {MapsightUiFeature} from "../../types";
8
-
9
- export type Props = PropsWithChildren<{
10
- feature: MapsightUiFeature;
11
- url?: string;
12
- hasError: boolean;
13
- html?: string;
14
- handleContentChange?: (element: HTMLElement | null) => void;
15
- }>;
16
-
17
- function FeatureDetailsContentInner({
18
- feature,
19
- url,
20
- hasError,
21
- html,
22
- handleContentChange,
23
- }: Props) {
24
- const comps = useContext(ComponentsContext);
25
-
26
- // NOTE(PG): using useCallback in addition to useRef alone so we actually get called when node changes
27
- const containerRef = useRef<HTMLElement | null>(null);
28
- const containerRefSetter = useCallback(
29
- (element: HTMLElement | null) => {
30
- containerRef.current = element;
31
- if (element && handleContentChange) {
32
- handleContentChange(element);
33
- }
34
- },
35
- [handleContentChange],
36
- );
37
-
38
- const desc = getFeatureProperty(feature, "description");
39
-
40
- // NOTE(PG): Using useEffect to detect content changes (here: props), maybe we could move this up into the parent comp?
41
- useEffect(() => {
42
- handleContentChange?.(containerRef.current);
43
- }, [handleContentChange, html, hasError, desc]);
44
-
45
- let content: ReactNode = null;
46
- if (url) {
47
- if (html) {
48
- // success
49
- content = (
50
- <div
51
- className="ms3-feature-details-content ms3-feature-details-content--html"
52
- dangerouslySetInnerHTML={{__html: html}}
53
- ref={containerRefSetter}
54
- />
55
- );
56
- } else if (hasError) {
57
- // error
58
- content = (
59
- <div
60
- className="ms3-feature-details-content ms3-feature-details-content--error"
61
- ref={containerRefSetter}
62
- >
63
- {translate("ui.feature-details.content-inner.error")}
64
- <br />
65
-
66
- <a href={url}>
67
- {translate("ui.feature-details.content-inner.gotoPage")}
68
- </a>
69
- </div>
70
- );
71
- } else {
72
- // loading
73
- content = (
74
- <div
75
- className="ms3-feature-details-content ms3-feature-details-content--loading"
76
- ref={containerRefSetter}
77
- >
78
- {translate("ui.feature-details.content-inner.loading")}
79
- </div>
80
- );
81
- }
82
- } else {
83
- if (desc) {
84
- content = (
85
- <div
86
- className="ms3-feature-details-content ms3-feature-details-content--description"
87
- dangerouslySetInnerHTML={{__html: desc}}
88
- ref={containerRefSetter}
89
- />
90
- );
91
- }
92
- }
93
-
94
- if (comps.FeatureDetailsContent) {
95
- content = (
96
- <comps.FeatureDetailsContent
97
- feature={feature}
98
- url={url}
99
- hasError={hasError}
100
- html={html}
101
- >
102
- {content}
103
- </comps.FeatureDetailsContent>
104
- );
105
- }
106
-
107
- return content;
108
- }
109
-
110
- export default memo(FeatureDetailsContentInner);
111
-
112
- declare module "../../helpers/components" {
113
- interface ComponentProps {
114
- FeatureDetailsContent: Props;
115
- }
116
- }