@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
@@ -1,51 +0,0 @@
1
- import {memo, useCallback} from "react";
2
- import {useDispatch, useSelector} from "react-redux";
3
-
4
- import {translate} from "../../helpers/i18n";
5
-
6
- import {setOverlayModalVisible} from "../../store/actions";
7
-
8
- import {
9
- isOverlayModalVisibleSelector,
10
- isViewMobileOrMapOnlySelector,
11
- } from "../../store/selectors";
12
-
13
- import Logo from "./logo";
14
-
15
- function InfoOverlayLeft() {
16
- const dispatch = useDispatch();
17
-
18
- const isMobileOrMapOnly = useSelector(isViewMobileOrMapOnlySelector);
19
- const isOverlayModalVisible = useSelector(isOverlayModalVisibleSelector);
20
-
21
- const expand = useCallback(() => {
22
- dispatch(setOverlayModalVisible(true));
23
- }, [dispatch]);
24
-
25
- return (
26
- <div className="ms3-info-overlay__area ms3-info-overlay__area--left">
27
- {/* we are already handling breakpoints in css, but im keeping this condition,
28
- cause of unknown invariants in regard to *isMobileOrMapOnly* & css */}
29
- {!isMobileOrMapOnly && (
30
- <div className="ms3-info-overlay__logo ms3-info-overlay__desktop-content">
31
- <Logo />
32
- </div>
33
- )}
34
-
35
- <div className="ms3-info-overlay__mobile-content">
36
- <button
37
- type="button"
38
- className="ms3-map-overlay__button ms3-map-overlay__button--with-icon ms3-map-overlay__button--info"
39
- aria-expanded={isOverlayModalVisible}
40
- onClick={expand}
41
- >
42
- <span className="ms3-map-overlay__button__label">
43
- {translate("ui.map-overlay.info.open")}
44
- </span>
45
- </button>
46
- </div>
47
- </div>
48
- );
49
- }
50
-
51
- export default memo(InfoOverlayLeft);
@@ -1,49 +0,0 @@
1
- import type {PropsWithChildren} from "react";
2
- import {memo, useCallback, useEffect} from "react";
3
- import {useDispatch, useSelector} from "react-redux";
4
-
5
- import {translate} from "../../helpers/i18n";
6
- import {setOverlayModalVisible} from "../../store/actions";
7
- import {
8
- isOverlayModalVisibleSelector,
9
- isViewMobileOrMapOnlySelector,
10
- } from "../../store/selectors";
11
- import Modal from "../modal";
12
-
13
- const InfoOverlayModal = memo(InfoOverlayModel_);
14
-
15
- function InfoOverlayModel_({children}: PropsWithChildren) {
16
- const dispatch = useDispatch();
17
-
18
- const isExpanded = useSelector(isOverlayModalVisibleSelector);
19
- const isMobileOrMapOnly = useSelector(isViewMobileOrMapOnlySelector);
20
-
21
- // close modals on view-switch to something else than mobile
22
- useEffect(() => {
23
- if (!isMobileOrMapOnly) {
24
- dispatch(setOverlayModalVisible(false));
25
- }
26
- }, [dispatch, isMobileOrMapOnly]);
27
-
28
- const collapse = useCallback(() => {
29
- dispatch(setOverlayModalVisible(false));
30
- }, [dispatch]);
31
-
32
- return (
33
- <Modal
34
- isOpen={isExpanded}
35
- contentLabel={translate("ui.map-overlay.info.modal.label")}
36
- closeLabel={
37
- isMobileOrMapOnly
38
- ? translate("ui.map-overlay.info.closeSources")
39
- : translate("ui.map-overlay.info.closeLegend")
40
- }
41
- headline={translate("ui.map-overlay.info.modal.headline")}
42
- onRequestClose={collapse}
43
- >
44
- {children}
45
- </Modal>
46
- );
47
- }
48
-
49
- export default InfoOverlayModal;
@@ -1,46 +0,0 @@
1
- import {
2
- reduceLayersToLegends,
3
- visibleLayersWithLegendsSelector,
4
- } from "@mapsight/core/lib/map/selectors";
5
- import {memo, useCallback} from "react";
6
- import {useDispatch, useSelector} from "react-redux";
7
- import {createSelector} from "@reduxjs/toolkit";
8
-
9
- import {MAP} from "../../config/constants/controllers";
10
-
11
- import {translate} from "../../helpers/i18n";
12
- import {setOverlayModalVisible} from "../../store/actions";
13
-
14
- import Attribution from "./attribution";
15
-
16
- const legendsSelector = createSelector(
17
- (state) => visibleLayersWithLegendsSelector(state[MAP]),
18
- // we need to run this as well, cause it's filtering stuff
19
- reduceLayersToLegends,
20
- );
21
-
22
- function InfoOverlayRight() {
23
- const dispatch = useDispatch();
24
-
25
- const legends = useSelector(legendsSelector);
26
-
27
- const expand = useCallback(() => {
28
- dispatch(setOverlayModalVisible(true));
29
- }, [dispatch]);
30
-
31
- const hasLegend = Object.keys(legends).length > 0;
32
-
33
- return (
34
- <div className="ms3-info-overlay__desktop-content ms3-info-overlay__area ms3-info-overlay__area--right">
35
- <Attribution>
36
- {hasLegend && (
37
- <button type="button" onClick={expand}>
38
- {translate("ui.map-overlay.info.legend")}
39
- </button>
40
- )}
41
- </Attribution>
42
- </div>
43
- );
44
- }
45
-
46
- export default memo(InfoOverlayRight);
@@ -1,100 +0,0 @@
1
- import {memo, useCallback, useState} from "react";
2
- import {useSelector} from "react-redux";
3
-
4
- import {FocusTrap} from "focus-trap-react";
5
-
6
- import {translate} from "../../helpers/i18n";
7
- import {isViewMobileOrMapOnlySelector} from "../../store/selectors";
8
- import LayerSwitcher from "../layer-switcher";
9
- import Modal from "../modal";
10
-
11
- const LayerSwitcherContent = memo(function LayerSwitcherContent({
12
- isExpanded,
13
- closeSearch,
14
- }: {
15
- isExpanded: boolean;
16
- closeSearch: () => void;
17
- }) {
18
- const isMobileOrMapOnly = useSelector(isViewMobileOrMapOnlySelector);
19
-
20
- if (isMobileOrMapOnly) {
21
- return (
22
- <Modal
23
- isOpen={isExpanded}
24
- contentLabel={translate(
25
- "ui.map-overlay.layer-switcher.modal.label",
26
- )}
27
- closeLabel={translate(
28
- "ui.map-overlay.layer-switcher.closeLayers",
29
- )}
30
- headline={translate("ui.map-overlay.layer-switcher.layers")}
31
- onRequestClose={closeSearch}
32
- >
33
- <LayerSwitcher onClose={closeSearch} />
34
- </Modal>
35
- );
36
- }
37
-
38
- if (isExpanded) {
39
- return (
40
- <FocusTrap
41
- focusTrapOptions={{
42
- clickOutsideDeactivates: true,
43
- onDeactivate: closeSearch,
44
- }}
45
- >
46
- <div>
47
- <LayerSwitcher onClose={closeSearch} />
48
- </div>
49
- </FocusTrap>
50
- );
51
- }
52
-
53
- return <div className="ms3-layer-switcher-placeholder" />;
54
- });
55
-
56
- function LayerSwitcherOverlay() {
57
- const [isExpanded, setIsExpanded] = useState(false);
58
-
59
- const handleOpen = useCallback(() => setIsExpanded(true), []);
60
- const handleClose = useCallback(() => setIsExpanded(false), []);
61
-
62
- return (
63
- <div
64
- className={`ms3-layer-switcher-overlay ${
65
- isExpanded ? "ms3-layer-switcher-overlay--expanded" : ""
66
- }`}
67
- >
68
- <button
69
- type="button"
70
- className="ms3-map-overlay__button ms3-map-overlay__button--with-icon ms3-map-overlay__button--layers"
71
- onClick={handleOpen}
72
- aria-expanded={isExpanded}
73
- >
74
- <span className="ms3-map-overlay__button__label">
75
- <span aria-hidden="true">
76
- {translate("ui.map-overlay.layer-switcher.layers")}
77
- </span>
78
-
79
- <span className="ms3-visuallyhidden">
80
- {isExpanded &&
81
- translate(
82
- "ui.map-overlay.layer-switcher.closeLayers",
83
- )}
84
- {!isExpanded &&
85
- translate(
86
- "ui.map-overlay.layer-switcher.openLayers",
87
- )}
88
- </span>
89
- </span>
90
- </button>
91
-
92
- <LayerSwitcherContent
93
- isExpanded={isExpanded}
94
- closeSearch={handleClose}
95
- />
96
- </div>
97
- );
98
- }
99
-
100
- export default memo(LayerSwitcherOverlay);
@@ -1,22 +0,0 @@
1
- import {useSelector} from "react-redux";
2
-
3
- import {createSelector} from "@reduxjs/toolkit";
4
-
5
- import {
6
- reduceLayersToLegends,
7
- visibleLayersWithLegendsSelector,
8
- } from "@mapsight/core/lib/map/selectors";
9
-
10
- import {MAP} from "../../config/constants/controllers";
11
- import AttributionEntries from "./attribution-entries";
12
-
13
- // die anzuzeigenden Legenden hier selbst berechnen zusammen mit den css-Namen
14
- const legendsSelector = createSelector(
15
- (state) => visibleLayersWithLegendsSelector(state[MAP]),
16
- reduceLayersToLegends,
17
- );
18
-
19
- export default function Legend() {
20
- const legends = useSelector(legendsSelector);
21
- return <AttributionEntries attributions={legends} />;
22
- }
@@ -1,11 +0,0 @@
1
- import {translate} from "../../helpers/i18n";
2
-
3
- export default function MapOverlayLogo() {
4
- return (
5
- <div className="ms3-logo">
6
- <span className="ms3-visuallyhidden">
7
- {translate("ui.map-overlay.logo.copyright")}
8
- </span>
9
- </div>
10
- );
11
- }
@@ -1,116 +0,0 @@
1
- import {Fragment, useCallback, useEffect, useMemo} from "react";
2
- import {useDispatch, useSelector} from "react-redux";
3
-
4
- import {createSelector} from "@reduxjs/toolkit";
5
-
6
- import {removeAllFeatures} from "@mapsight/core/lib/feature-sources/actions";
7
- import {createFilteredFeatureSourceSelector} from "@mapsight/core/lib/feature-sources/selectors";
8
-
9
- import {FEATURE_SOURCES, MAP} from "../../config/constants/controllers";
10
- import {translate} from "../../helpers/i18n";
11
- import useControllableState from "../../hooks/useControllableState";
12
- import {
13
- createActivateAction,
14
- createDeactivateAction,
15
- } from "../../plugins/common/measure-distance";
16
- import MeasureDistanceInfo from "./measure-distance-overlay";
17
- import ToolOverlay from "./tool-overlay";
18
-
19
- /*
20
- TODO: aria? abort on escape key press?
21
- */
22
- type MeasureDistanceButtonProps = {
23
- pluginName?: string;
24
- opened?: boolean;
25
- onOpenedChange?: (opened: boolean) => void;
26
- };
27
-
28
- const MeasureDistanceButton = ({
29
- pluginName = "measureDistance",
30
- opened,
31
- onOpenedChange,
32
- }: MeasureDistanceButtonProps) => {
33
- const [isOpened = false, setIsOpened] = useControllableState({
34
- prop: opened,
35
- defaultProp: false,
36
- onChange: onOpenedChange,
37
- });
38
-
39
- const activate = useMemo(
40
- () => createActivateAction(MAP, pluginName),
41
- [pluginName],
42
- );
43
- const deactivate = useMemo(
44
- () => createDeactivateAction(MAP, pluginName),
45
- [pluginName],
46
- );
47
- const resetAction = useMemo(
48
- () => removeAllFeatures(FEATURE_SOURCES, `${pluginName}_featureSource`),
49
- [pluginName],
50
- );
51
- const featureSelector = useMemo(
52
- () =>
53
- createSelector(
54
- createFilteredFeatureSourceSelector(
55
- FEATURE_SOURCES,
56
- `${pluginName}_featureSource`,
57
- MAP,
58
- ),
59
- (featureSourceState) => featureSourceState?.data?.features?.[0],
60
- ),
61
- [pluginName],
62
- );
63
-
64
- const dispatch = useDispatch();
65
- const feature = useSelector(featureSelector);
66
-
67
- const toggle = useCallback(() => {
68
- setIsOpened(!isOpened);
69
- }, [isOpened, setIsOpened]);
70
-
71
- const close = useCallback(() => {
72
- setIsOpened(false);
73
- }, [setIsOpened]);
74
-
75
- useEffect(() => {
76
- dispatch(isOpened ? activate : deactivate);
77
- }, [dispatch, deactivate, isOpened, activate]);
78
-
79
- const closeAndReset = useCallback(
80
- function () {
81
- dispatch(resetAction);
82
- close();
83
- },
84
- [close, dispatch, resetAction],
85
- );
86
-
87
- return (
88
- <Fragment>
89
- <button
90
- className="ms3-map-overlay__button ms3-map-overlay__button--with-icon ms3-map-overlay__button--measure-distance"
91
- type="button"
92
- onClick={toggle}
93
- >
94
- <span className="ms3-map-overlay__button__label">
95
- {translate("ui.measure-distance.title")}
96
- </span>
97
- </button>
98
-
99
- {isOpened && (
100
- <ToolOverlay
101
- label={translate("ui.measure-distance.title")}
102
- onClose={closeAndReset}
103
- text={translate(
104
- feature
105
- ? "ui.measure-distance.instructions-done"
106
- : "ui.measure-distance.instructions",
107
- )}
108
- >
109
- {feature && <MeasureDistanceInfo feature={feature} />}
110
- </ToolOverlay>
111
- )}
112
- </Fragment>
113
- );
114
- };
115
-
116
- export default MeasureDistanceButton;
@@ -1,56 +0,0 @@
1
- import GeoJSON from "ol/format/GeoJSON";
2
-
3
- import {getLength} from "ol/sphere";
4
- import {useMemo} from "react";
5
-
6
- import {translate} from "../../helpers/i18n";
7
-
8
- const geoJsonFormat = new GeoJSON();
9
- const meterFormat = new Intl.NumberFormat(undefined, {
10
- style: "unit",
11
- maximumFractionDigits: 2,
12
- unit: "meter",
13
- });
14
- const kilometerFormat = new Intl.NumberFormat(undefined, {
15
- style: "unit",
16
- maximumFractionDigits: 2,
17
- unit: "kilometer",
18
- });
19
-
20
- function formatLength(length) {
21
- const isKilometer = length > 1000;
22
- const format = isKilometer ? kilometerFormat : meterFormat;
23
- const amount = isKilometer ? length / 1000 : length;
24
- return format.format(amount);
25
- }
26
-
27
- function MeasureDistanceInfo({feature}) {
28
- const fGeo = feature?.geometry;
29
- const geometry = useMemo(() => {
30
- if (fGeo?.type !== "LineString") {
31
- return null;
32
- }
33
-
34
- return geoJsonFormat.readGeometry(fGeo, {
35
- featureProjection: "EPSG:3857",
36
- dataProjection: "EPSG:4326",
37
- });
38
- }, [fGeo]);
39
-
40
- if (!geometry) {
41
- return null;
42
- }
43
-
44
- const length = getLength(geometry);
45
- const formattedValue = formatLength(length);
46
-
47
- return (
48
- <div className="ms3-measure-distance">
49
- {translate("ui.measure-distance.measurement")}
50
- {": "}
51
- {formattedValue}
52
- </div>
53
- );
54
- }
55
-
56
- export default MeasureDistanceInfo;
@@ -1,103 +0,0 @@
1
- import {visibleLayersWithMiniLegendsSelector} from "@mapsight/core/lib/map/selectors";
2
-
3
- import getPath from "@mapsight/lib-js/object/getPath";
4
- import escapeCssName from "@mapsight/lib-js/string/escapeCssName";
5
- import {memo, useCallback} from "react";
6
- import {useDispatch, useSelector} from "react-redux";
7
-
8
- import {MAP} from "../../config/constants/controllers";
9
- import {translate} from "../../helpers/i18n";
10
- import {setMiniLegendLayer, setOverlayModalVisible} from "../../store/actions";
11
- import {
12
- isOverlayModalVisibleSelector,
13
- miniLegendLayerIdSelector,
14
- } from "../../store/selectors";
15
-
16
- const layersSelector = (state) =>
17
- visibleLayersWithMiniLegendsSelector(state[MAP]);
18
-
19
- /**
20
- * this is meant to be used as or included in any project side component in Components
21
- *
22
- * @type {React.NamedExoticComponent<object>}
23
- */
24
- const MiniLegend = memo(function MiniLegend() {
25
- const dispatch = useDispatch();
26
- const layersWithMiniLegends = useSelector(layersSelector);
27
- const currentKey = useSelector(miniLegendLayerIdSelector);
28
- const isOverlayModalVisible = useSelector(isOverlayModalVisibleSelector);
29
-
30
- const openBigLegend = useCallback(
31
- () => dispatch(setOverlayModalVisible(true)),
32
- [dispatch],
33
- );
34
-
35
- const onSelectChange = useCallback(
36
- /** @param {React.ChangeEvent<HTMLSelectElement>} e event */
37
- (e) => {
38
- console.log("MiniLegend onSelectChange", e);
39
- dispatch(setMiniLegendLayer(e.target.value));
40
- },
41
- [dispatch],
42
- );
43
-
44
- const keys = layersWithMiniLegends && Object.keys(layersWithMiniLegends);
45
- if (!keys || !keys.length) {
46
- return null;
47
- }
48
-
49
- const currentLayer = layersWithMiniLegends[currentKey];
50
- const cssName = escapeCssName(
51
- getPath(currentLayer, ["metaData", "title"]) || currentKey,
52
- );
53
- const currentLegend = getPath(currentLayer, ["metaData", "miniLegend"]);
54
-
55
- return (
56
- <div className={`ms3-mini-legend ms3-mini-legend--${cssName}`}>
57
- <div className="ms3-mini-legend__select" aria-hidden={true}>
58
- <select
59
- value={currentKey}
60
- onChange={onSelectChange}
61
- disabled={keys.length === 1}
62
- >
63
- {Object.keys(layersWithMiniLegends).map((key) => (
64
- <option key={key} value={key}>
65
- {getPath(layersWithMiniLegends[key], [
66
- "metaData",
67
- "title",
68
- ]) || key}
69
- </option>
70
- ))}
71
- </select>
72
- </div>
73
-
74
- {typeof currentLegend === "string" ? (
75
- <div
76
- aria-hidden={true}
77
- className="ms3-mini-legend__legend"
78
- dangerouslySetInnerHTML={{__html: currentLegend}}
79
- />
80
- ) : (
81
- <div aria-hidden={true} className="ms3-mini-legend__legend">
82
- {getPath(currentLayer, ["metaData", "miniLegend"])}
83
- </div>
84
- )}
85
-
86
- <div className="ms3-mini-legend__more">
87
- <button
88
- type="button"
89
- onClick={openBigLegend}
90
- aria-expanded={isOverlayModalVisible}
91
- >
92
- <span className="ms3-visuallyhidden">
93
- {translate("ui.map-overlay.info.open")}
94
- </span>
95
- {/* eslint-disable-next-line no-irregular-whitespace */}
96
- <span aria-hidden={true}>. . .</span>
97
- </button>
98
- </div>
99
- </div>
100
- );
101
- });
102
-
103
- export default MiniLegend;
@@ -1,63 +0,0 @@
1
- import {memo, useCallback} from "react";
2
- import {useDispatch, useSelector} from "react-redux";
3
- import {setSelectedRegionIdAndAnimateMap} from "../../store/actions";
4
-
5
- import {regionsSelector, selectedRegionIdSelector} from "../../store/selectors";
6
-
7
- const RegionSelectorEntry = memo(
8
- /**
9
- * @param {{
10
- * regionId: string,
11
- * region: {label: string}
12
- * }} props props
13
- * @returns {import('react').ReactElement} element
14
- */
15
- function RegionSelectorEntry({regionId, region}) {
16
- const dispatch = useDispatch();
17
-
18
- const onClick = useCallback(() => {
19
- dispatch(setSelectedRegionIdAndAnimateMap(regionId));
20
- }, [dispatch, regionId]);
21
-
22
- const selectedRegionId = useSelector(selectedRegionIdSelector);
23
-
24
- return (
25
- <li
26
- className={`ms3-region-selector-entry${
27
- regionId === selectedRegionId
28
- ? " ms3-region-selector-entry--selected"
29
- : ""
30
- }`}
31
- >
32
- <button type="button" onClick={onClick}>
33
- {region.label}
34
- </button>
35
- </li>
36
- );
37
- },
38
- );
39
-
40
- const RegionSelector = memo(function RegionSelector({
41
- as: T = "ul",
42
- style = {},
43
- }) {
44
- const regions = useSelector(regionsSelector);
45
-
46
- if (!regions) {
47
- return null;
48
- }
49
-
50
- return (
51
- <T
52
- className="ms3-region-selector [ ms3-hint--right ms3-hint--rounded ]"
53
- style={style}
54
- aria-label="Gebiet auf Karte zentrieren …"
55
- >
56
- {Object.entries(regions).map(([id, region]) => (
57
- <RegionSelectorEntry key={id} regionId={id} region={region} />
58
- ))}
59
- </T>
60
- );
61
- });
62
-
63
- export default RegionSelector;
@@ -1,79 +0,0 @@
1
- import {memo, useCallback, useState} from "react";
2
- import {useSelector} from "react-redux";
3
- import {translate} from "../../helpers/i18n";
4
-
5
- import {
6
- haveSearchInMapSelector,
7
- isViewMobileOrMapOnlySelector,
8
- } from "../../store/selectors";
9
- import Modal from "../modal";
10
-
11
- import Search from "../search";
12
-
13
- function SearchOverlay() {
14
- const [isExpanded, setIsExpanded] = useState(false);
15
-
16
- const searchInMap = useSelector(haveSearchInMapSelector);
17
- const isMobileOrMapOnly = useSelector(isViewMobileOrMapOnlySelector);
18
-
19
- const toggleIsExpanded = useCallback(() => {
20
- setIsExpanded((prevVal) => !prevVal);
21
- }, [setIsExpanded]);
22
-
23
- const closeSearch = useCallback(() => {
24
- setIsExpanded(false);
25
- }, [setIsExpanded]);
26
-
27
- if (searchInMap === false) {
28
- return null;
29
- }
30
-
31
- let children;
32
- if (isMobileOrMapOnly) {
33
- children = (
34
- <div>
35
- <button
36
- type="button"
37
- className="ms3-map-overlay__button ms3-map-overlay__button--with-icon ms3-map-overlay__button--search"
38
- onClick={toggleIsExpanded}
39
- >
40
- <span className="ms3-map-overlay__button__label">
41
- <span className="ms3-visuallyhidden">
42
- {translate(
43
- isExpanded
44
- ? "ui.map-overlay.search.close"
45
- : "ui.map-overlay.search.open",
46
- )}
47
- </span>
48
- </span>
49
- </button>
50
-
51
- <Modal
52
- isOpen={isExpanded}
53
- contentLabel={translate(
54
- "ui.map-overlay.search.modal.label",
55
- )}
56
- closeLabel={translate("ui.map-overlay.search.close")}
57
- headline={translate("ui.map-overlay.search.modal.headline")}
58
- onRequestClose={closeSearch}
59
- >
60
- <Search closeSearch={closeSearch} />
61
- </Modal>
62
- </div>
63
- );
64
- } else {
65
- children = <Search />;
66
- }
67
-
68
- return (
69
- <div
70
- className={`ms3-search-overlay ${
71
- isExpanded ? "ms3-search-overlay--expanded" : ""
72
- }`}
73
- >
74
- {children}
75
- </div>
76
- );
77
- }
78
-
79
- export default memo(SearchOverlay);