@geops/rvf-mobility-web-component 0.1.128 → 0.1.129

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 (621) hide show
  1. package/CHANGELOG.md +7 -0
  2. package/dist/index.js +22 -1
  3. package/package.json +11 -4
  4. package/.fixpackrc +0 -21
  5. package/.github/CODEOWNERS +0 -37
  6. package/.github/workflows/conventional-pr-title.yml +0 -36
  7. package/.husky/commit-msg +0 -1
  8. package/.husky/post-checkout +0 -1
  9. package/.husky/post-merge +0 -1
  10. package/.husky/post-rebase +0 -1
  11. package/.husky/pre-commit +0 -1
  12. package/.lintstagedrc.js +0 -13
  13. package/.nvmrc +0 -1
  14. package/.prettierrc.js +0 -3
  15. package/.vscode/settings.json +0 -2
  16. package/Logo.svg +0 -10
  17. package/__mocks__/dataurl.js +0 -11
  18. package/__mocks__/mapbox-gl.js +0 -19
  19. package/commitlint.config.cjs +0 -1
  20. package/doc/.eslintrc.json +0 -3
  21. package/doc/.fixpackrc +0 -21
  22. package/doc/.prettierrc +0 -1
  23. package/doc/README.md +0 -14
  24. package/doc/next.config.mjs +0 -8
  25. package/doc/package.json +0 -44
  26. package/doc/postcss.config.mjs +0 -8
  27. package/doc/public/ExportMenu-HGGM7Z53.js +0 -229
  28. package/doc/public/README.md +0 -1
  29. package/doc/public/chunk-5TBO732O.js +0 -1
  30. package/doc/public/chunk-7SZT7G2L.js +0 -3
  31. package/doc/public/chunk-AOWOBR67.js +0 -37
  32. package/doc/public/chunk-CZ6RUAVW.js +0 -3
  33. package/doc/public/chunk-FK6H3RFT.js +0 -1
  34. package/doc/public/chunk-L5TSFF6Q.js +0 -6
  35. package/doc/public/chunk-W5KNTEOZ.js +0 -1
  36. package/doc/public/deflate-7Y7TJOU7.js +0 -1
  37. package/doc/public/html2canvas-HSPYX66M.js +0 -28
  38. package/doc/public/index.es-LIBYYWEU.js +0 -23
  39. package/doc/public/jpeg-IRWWL5ZF.js +0 -1
  40. package/doc/public/lerc-NVL4MKRG.js +0 -6
  41. package/doc/public/lzw-EHQHNZB6.js +0 -1
  42. package/doc/public/packbits-PQSBS4GQ.js +0 -1
  43. package/doc/public/purify.es-4R37HRTQ.js +0 -7
  44. package/doc/public/raw-OK63VTT6.js +0 -1
  45. package/doc/public/webimage-DLGKDXZD.js +0 -1
  46. package/doc/public/zstd-JFJYRN7P.js +0 -1
  47. package/doc/src/app/components/GeopsAPIKeyLink.tsx +0 -6
  48. package/doc/src/app/components/GeopsAPIsLink.tsx +0 -6
  49. package/doc/src/app/components/GeopsMapsAPILink.tsx +0 -8
  50. package/doc/src/app/components/GeopsMobility.tsx +0 -23
  51. package/doc/src/app/components/GeopsMobilityDoc.tsx +0 -39
  52. package/doc/src/app/components/GeopsMobilitySearch.tsx +0 -22
  53. package/doc/src/app/components/GeopsMobilitySearchDoc.tsx +0 -33
  54. package/doc/src/app/components/GeopsRealtimeAPILink.tsx +0 -10
  55. package/doc/src/app/components/GeopsStopsAPILink.tsx +0 -8
  56. package/doc/src/app/components/Link.tsx +0 -9
  57. package/doc/src/app/components/WebComponentDoc.tsx +0 -284
  58. package/doc/src/app/favicon.ico +0 -0
  59. package/doc/src/app/geops-mobility/page.tsx +0 -11
  60. package/doc/src/app/geops-mobility-search/page.tsx +0 -11
  61. package/doc/src/app/globals.css +0 -58
  62. package/doc/src/app/hooks/useAttrFromUrlParams.ts +0 -21
  63. package/doc/src/app/hooks/useIsFullScreen.ts +0 -14
  64. package/doc/src/app/hooks/usePublicKey.ts +0 -19
  65. package/doc/src/app/layout.tsx +0 -53
  66. package/doc/src/app/page.tsx +0 -86
  67. package/doc/src/geops-ui.ts +0 -3
  68. package/doc/tsconfig.json +0 -41
  69. package/docutils.js +0 -417
  70. package/eslint.config.mjs +0 -34
  71. package/favicon.ico +0 -0
  72. package/fonts/source-sans-3/source-sans-3-v15-latin-500.ttf +0 -0
  73. package/fonts/source-sans-3/source-sans-3-v15-latin-500.woff2 +0 -0
  74. package/fonts/source-sans-3/source-sans-3-v15-latin-600.ttf +0 -0
  75. package/fonts/source-sans-3/source-sans-3-v15-latin-600.woff2 +0 -0
  76. package/fonts/source-sans-3/source-sans-3-v15-latin-700.ttf +0 -0
  77. package/fonts/source-sans-3/source-sans-3-v15-latin-700.woff2 +0 -0
  78. package/fonts/source-sans-3/source-sans-3-v15-latin-regular.ttf +0 -0
  79. package/fonts/source-sans-3/source-sans-3-v15-latin-regular.woff2 +0 -0
  80. package/global.d.ts +0 -9
  81. package/iframe.html +0 -233
  82. package/index.html +0 -147
  83. package/index.js +0 -4343
  84. package/input.css +0 -59
  85. package/jest-setup.js +0 -13
  86. package/jest.config.js +0 -17
  87. package/notifications.html +0 -144
  88. package/scripts/build.mjs +0 -15
  89. package/scripts/dev.mjs +0 -27
  90. package/search.html +0 -122
  91. package/src/BaseLayer/BaseLayer.tsx +0 -61
  92. package/src/BaseLayer/index.tsx +0 -1
  93. package/src/Copyright/Copyright.tsx +0 -51
  94. package/src/Copyright/index.tsx +0 -1
  95. package/src/DebugDeparture/DebugDeparture.tsx +0 -120
  96. package/src/DebugDeparture/index.tsx +0 -1
  97. package/src/DebugStop/DebugStop.tsx +0 -47
  98. package/src/DebugStop/index.tsx +0 -1
  99. package/src/Departure/Departure.tsx +0 -57
  100. package/src/Departure/index.tsx +0 -1
  101. package/src/EmbedNavigation/DragPanWarning.ts +0 -133
  102. package/src/EmbedNavigation/EmbedNavigation.tsx +0 -89
  103. package/src/EmbedNavigation/index.js +0 -1
  104. package/src/EmbedNavigation/index.tsx +0 -1
  105. package/src/ExportMenu/ExportMenu.tsx +0 -114
  106. package/src/ExportMenu/index.tsx +0 -1
  107. package/src/ExportMenuButton/ExportMenuButton.tsx +0 -33
  108. package/src/ExportMenuButton/index.tsx +0 -1
  109. package/src/FeatureDetails/FeatureDetails.tsx +0 -62
  110. package/src/FeatureDetails/index.ts +0 -1
  111. package/src/FeaturesInfosListener/FeaturesInfosListener.tsx +0 -142
  112. package/src/FeaturesInfosListener/index.tsx +0 -1
  113. package/src/GeolocationButton/GeolocationButton.tsx +0 -78
  114. package/src/GeolocationButton/index.tsx +0 -1
  115. package/src/I18n/I18n.tsx +0 -38
  116. package/src/I18n/index.tsx +0 -1
  117. package/src/LayerTree/LayerTree.tsx +0 -58
  118. package/src/LayerTree/TreeItem/TreeItem.tsx +0 -153
  119. package/src/LayerTree/TreeItem/index.tsx +0 -1
  120. package/src/LayerTree/index.tsx +0 -1
  121. package/src/LayerTree/layersTreeContext.ts +0 -4
  122. package/src/LayerTree/layersTreeReducer.ts +0 -158
  123. package/src/LayerTreeButton/LayerTreeButton.tsx +0 -33
  124. package/src/LayerTreeButton/index.tsx +0 -1
  125. package/src/LayerTreeMenu/LayerTreeMenu.tsx +0 -147
  126. package/src/LayerTreeMenu/index.tsx +0 -1
  127. package/src/LayoutState/LayoutState.tsx +0 -380
  128. package/src/LayoutState/index.tsx +0 -1
  129. package/src/LinesNetworkPlanDetails/LinesNetworkPlanDetails.tsx +0 -274
  130. package/src/LinesNetworkPlanDetails/index.tsx +0 -1
  131. package/src/LinesNetworkPlanLayer/LinesNetworkPlanLayer.tsx +0 -51
  132. package/src/LinesNetworkPlanLayer/index.tsx +0 -1
  133. package/src/LinesNetworkPlanLayerHighlight/LinesNetworkPlanLayerHighlight.tsx +0 -59
  134. package/src/LinesNetworkPlanLayerHighlight/index.tsx +0 -1
  135. package/src/Map/Map.tsx +0 -166
  136. package/src/Map/index.tsx +0 -1
  137. package/src/MapDispatchEvents/MapDispatchEvents.tsx +0 -87
  138. package/src/MapDispatchEvents/index.tsx +0 -1
  139. package/src/MapLayout/MapLayout.tsx +0 -172
  140. package/src/MapLayout/index.tsx +0 -1
  141. package/src/MapsetLayer/MapsetLayer.tsx +0 -111
  142. package/src/MapsetLayer/index.tsx +0 -1
  143. package/src/MobilityMap/MobilityMap.tsx +0 -338
  144. package/src/MobilityMap/MobilityMapAttributes.test.ts +0 -59
  145. package/src/MobilityMap/MobilityMapAttributes.ts +0 -381
  146. package/src/MobilityMap/MobilityMapEvents.ts +0 -53
  147. package/src/MobilityMap/index.css +0 -0
  148. package/src/MobilityMap/index.tsx +0 -2
  149. package/src/MobilityNotifications/MobilityNotifications.tsx +0 -153
  150. package/src/MobilityNotifications/MobilityNotificationsAttributes.test.ts +0 -35
  151. package/src/MobilityNotifications/MobilityNotificationsAttributes.ts +0 -53
  152. package/src/MobilityNotifications/index.ts +0 -2
  153. package/src/MobilitySearch/MobilitySearch.tsx +0 -35
  154. package/src/MobilitySearch/MobilitySearchAttributes.test.ts +0 -21
  155. package/src/MobilitySearch/MobilitySearchAttributes.ts +0 -87
  156. package/src/MobilitySearch/MobilitySearchEvents.ts +0 -21
  157. package/src/MobilitySearch/index.ts +0 -2
  158. package/src/NotificationDetails/NotificationDetails.tsx +0 -309
  159. package/src/NotificationDetails/index.ts +0 -1
  160. package/src/NotificationsLayer/NotificationsLayer.tsx +0 -124
  161. package/src/NotificationsLayer/index.tsx +0 -1
  162. package/src/Overlay/Overlay.tsx +0 -61
  163. package/src/Overlay/index.tsx +0 -1
  164. package/src/OverlayContent/OverlayContent.tsx +0 -88
  165. package/src/OverlayContent/index.ts +0 -1
  166. package/src/OverlayDetails/OverlayDetails.tsx +0 -93
  167. package/src/OverlayDetails/index.ts +0 -1
  168. package/src/OverlayDetailsFooter/OverlayDetailsFooter.tsx +0 -50
  169. package/src/OverlayDetailsFooter/index.tsx +0 -1
  170. package/src/OverlayDetailsHeader/OverlayDetailsHeader.tsx +0 -30
  171. package/src/OverlayDetailsHeader/index.ts +0 -1
  172. package/src/OverlayFooter/OverlayFooter.tsx +0 -42
  173. package/src/OverlayFooter/index.tsx +0 -1
  174. package/src/OverlayHeader/OverlayHeader.tsx +0 -44
  175. package/src/OverlayHeader/index.tsx +0 -1
  176. package/src/Permalink/Permalink.tsx +0 -89
  177. package/src/Permalink/index.tsx +0 -1
  178. package/src/PermalinkInput/PermalinkInput.tsx +0 -33
  179. package/src/PermalinkInput/index.tsx +0 -1
  180. package/src/RealtimeLayer/RealtimeLayer.tsx +0 -299
  181. package/src/RealtimeLayer/index.tsx +0 -1
  182. package/src/RouteDestination/RouteDestination.test.tsx +0 -13
  183. package/src/RouteDestination/RouteDestination.tsx +0 -15
  184. package/src/RouteDestination/index.tsx +0 -1
  185. package/src/RouteFollowingButton/RouteFollowingButton.tsx +0 -30
  186. package/src/RouteFollowingButton/index.tsx +0 -1
  187. package/src/RouteIcon/RouteIcon.tsx +0 -99
  188. package/src/RouteIcon/index.tsx +0 -1
  189. package/src/RouteIdentifier/RouteIdentifer.tsx +0 -36
  190. package/src/RouteIdentifier/index.tsx +0 -1
  191. package/src/RouteInfos/RouteInfos.tsx +0 -26
  192. package/src/RouteInfos/index.tsx +0 -1
  193. package/src/RouteSchedule/RouteSchedule.tsx +0 -59
  194. package/src/RouteSchedule/firstStation.png +0 -0
  195. package/src/RouteSchedule/index.tsx +0 -1
  196. package/src/RouteSchedule/lastStation.png +0 -0
  197. package/src/RouteSchedule/line.png +0 -0
  198. package/src/RouteSchedule/station.png +0 -0
  199. package/src/RouteScheduleFooter/RouteScheduleFooter.tsx +0 -46
  200. package/src/RouteScheduleFooter/index.tsx +0 -1
  201. package/src/RouteScheduleHeader/RouteScheduleHeader.tsx +0 -23
  202. package/src/RouteScheduleHeader/index.tsx +0 -1
  203. package/src/RouteStop/RouteStop.tsx +0 -108
  204. package/src/RouteStop/index.tsx +0 -1
  205. package/src/RouteStopDelay/RouteStopDelay.tsx +0 -37
  206. package/src/RouteStopDelay/index.tsx +0 -1
  207. package/src/RouteStopName/RouteStopName.tsx +0 -24
  208. package/src/RouteStopName/index.tsx +0 -1
  209. package/src/RouteStopPlatform/RouteStopPlatform.tsx +0 -27
  210. package/src/RouteStopPlatform/index.tsx +0 -1
  211. package/src/RouteStopProgress/RouteStopProgress.tsx +0 -100
  212. package/src/RouteStopProgress/index.tsx +0 -1
  213. package/src/RouteStopServices/RouteStopServices.tsx +0 -26
  214. package/src/RouteStopServices/index.tsx +0 -1
  215. package/src/RouteStopStation/RouteStopStation.tsx +0 -38
  216. package/src/RouteStopStation/index.tsx +0 -1
  217. package/src/RouteStopTime/RouteStopTime.tsx +0 -35
  218. package/src/RouteStopTime/index.tsx +0 -1
  219. package/src/RvfButton/RvfButton.tsx +0 -57
  220. package/src/RvfButton/index.tsx +0 -1
  221. package/src/RvfCheckbox/RvfCheckbox.tsx +0 -31
  222. package/src/RvfCheckbox/index.tsx +0 -1
  223. package/src/RvfCopyright/RvfCopyright.tsx +0 -36
  224. package/src/RvfCopyright/index.tsx +0 -1
  225. package/src/RvfFeatureDetails/RvfFeatureDetails.tsx +0 -46
  226. package/src/RvfFeatureDetails/RvfLineNetworkDetails/RvfLineNetworkDetails.tsx +0 -292
  227. package/src/RvfFeatureDetails/RvfLineNetworkDetails/index.js +0 -1
  228. package/src/RvfFeatureDetails/RvfNotificationDetails/RvfNotificationDetails.tsx +0 -36
  229. package/src/RvfFeatureDetails/RvfNotificationDetails/index.ts +0 -1
  230. package/src/RvfFeatureDetails/RvfSellingPointDetails/RvfSellingPointDetails.tsx +0 -50
  231. package/src/RvfFeatureDetails/RvfSellingPointDetails/index.js +0 -1
  232. package/src/RvfFeatureDetails/RvfSharedMobilityDetail/FloatingVehiclesDetails/FloatingVehiclesDetails.tsx +0 -74
  233. package/src/RvfFeatureDetails/RvfSharedMobilityDetail/FloatingVehiclesDetails/index.tsx +0 -1
  234. package/src/RvfFeatureDetails/RvfSharedMobilityDetail/RvfSharedMobilityDetails.tsx +0 -134
  235. package/src/RvfFeatureDetails/RvfSharedMobilityDetail/StationDetails/StationDetails.tsx +0 -84
  236. package/src/RvfFeatureDetails/RvfSharedMobilityDetail/StationDetails/index.tsx +0 -1
  237. package/src/RvfFeatureDetails/RvfSharedMobilityDetail/index.tsx +0 -1
  238. package/src/RvfFeatureDetails/index.tsx +0 -1
  239. package/src/RvfIconButton/RvfIconButton.tsx +0 -49
  240. package/src/RvfIconButton/index.tsx +0 -1
  241. package/src/RvfInputCopy/RvfInputCopy.tsx +0 -67
  242. package/src/RvfInputCopy/index.tsx +0 -1
  243. package/src/RvfLink/RvfLink.tsx +0 -54
  244. package/src/RvfLink/index.tsx +0 -1
  245. package/src/RvfMainLinkButton/RvfMainLinkButton.tsx +0 -62
  246. package/src/RvfMainLinkButton/index.tsx +0 -1
  247. package/src/RvfMapLayout/RvfMapLayout.tsx +0 -202
  248. package/src/RvfMapLayout/index.tsx +0 -1
  249. package/src/RvfMobilityMap/RvfMobilityMap.tsx +0 -58
  250. package/src/RvfMobilityMap/index.css +0 -13
  251. package/src/RvfMobilityMap/index.tsx +0 -1
  252. package/src/RvfModal/RvfModal.tsx +0 -53
  253. package/src/RvfModal/index.tsx +0 -1
  254. package/src/RvfOpenStrikeNotification/RvfOpenStrikeNotification.tsx +0 -120
  255. package/src/RvfOpenStrikeNotification/index.tsx +0 -1
  256. package/src/RvfOverlayHeader/RvfOverlayHeader.tsx +0 -43
  257. package/src/RvfOverlayHeader/index.tsx +0 -1
  258. package/src/RvfPoisLayer/RvfPoisLayer.tsx +0 -48
  259. package/src/RvfPoisLayer/index.tsx +0 -1
  260. package/src/RvfRadioButton/RvfRadioButton.tsx +0 -16
  261. package/src/RvfRadioButton/index.tsx +0 -1
  262. package/src/RvfRealtimeLayer/RvfRealtimeLayer.tsx +0 -77
  263. package/src/RvfRealtimeLayer/index.tsx +0 -1
  264. package/src/RvfRouteIcon/RvfRouteIcon.tsx +0 -10
  265. package/src/RvfRouteIcon/index.tsx +0 -1
  266. package/src/RvfSearch/RvfSearch.tsx +0 -34
  267. package/src/RvfSearch/index.tsx +0 -1
  268. package/src/RvfSelect/RvfSelect.tsx +0 -24
  269. package/src/RvfSelect/index.tsx +0 -1
  270. package/src/RvfSelectedFeatureHighlightLayer/RvfSelectedFeatureHighlightLayer.tsx +0 -101
  271. package/src/RvfSelectedFeatureHighlightLayer/index.tsx +0 -1
  272. package/src/RvfSellingPointsLayer/RvfSellingPointsLayer.tsx +0 -67
  273. package/src/RvfSellingPointsLayer/index.tsx +0 -1
  274. package/src/RvfSharedMobilityLayerGroup/RvfSharedMobilityLayerGroup.tsx +0 -479
  275. package/src/RvfSharedMobilityLayerGroup/index.tsx +0 -1
  276. package/src/RvfStationsLayer/RvfStationsLayer.tsx +0 -19
  277. package/src/RvfStationsLayer/index.tsx +0 -1
  278. package/src/RvfTarifZonenLayer/RvfTarifZonenLayer.tsx +0 -48
  279. package/src/RvfTarifZonenLayer/index.tsx +0 -1
  280. package/src/ScaleLine/ScaleLine.tsx +0 -52
  281. package/src/ScaleLine/index.css +0 -6
  282. package/src/ScaleLine/index.tsx +0 -1
  283. package/src/ScrollableHandler/ScrollableHandler.tsx +0 -66
  284. package/src/ScrollableHandler/index.tsx +0 -1
  285. package/src/Search/Search.tsx +0 -50
  286. package/src/Search/SearchBase.tsx +0 -187
  287. package/src/Search/SearchHeadless.tsx +0 -79
  288. package/src/Search/index.tsx +0 -3
  289. package/src/SearchButton/SearchButton.tsx +0 -33
  290. package/src/SearchButton/index.tsx +0 -1
  291. package/src/SearchLinesResult/SearchLinesResult.tsx +0 -43
  292. package/src/SearchLinesResult/index.tsx +0 -1
  293. package/src/SearchLinesResults/SearchLinesResults.tsx +0 -106
  294. package/src/SearchLinesResults/index.tsx +0 -1
  295. package/src/SearchLnpStopsResult/SearchLnpStopsResult.tsx +0 -42
  296. package/src/SearchLnpStopsResult/index.tsx +0 -1
  297. package/src/SearchLnpStopsResults/SearchLnpStopsResults.tsx +0 -106
  298. package/src/SearchLnpStopsResults/index.tsx +0 -1
  299. package/src/SearchResult/SearchResult.tsx +0 -25
  300. package/src/SearchResult/index.tsx +0 -1
  301. package/src/SearchResults/SearchResults.tsx +0 -81
  302. package/src/SearchResults/index.tsx +0 -1
  303. package/src/SearchResultsHeader/SearchResultsHeader.tsx +0 -36
  304. package/src/SearchResultsHeader/index.tsx +0 -1
  305. package/src/SearchStopsResult/SearchStopsResult.tsx +0 -43
  306. package/src/SearchStopsResult/index.tsx +0 -1
  307. package/src/SearchStopsResults/SearchStopsResults.tsx +0 -101
  308. package/src/SearchStopsResults/index.tsx +0 -1
  309. package/src/SearchTrainsResult/SearchTrainsResult.tsx +0 -42
  310. package/src/SearchTrainsResult/index.tsx +0 -1
  311. package/src/SearchTrainsResults/SearchTrainsResults.tsx +0 -106
  312. package/src/SearchTrainsResults/index.tsx +0 -1
  313. package/src/ShadowOverflow/ShadowOverflow.tsx +0 -28
  314. package/src/ShadowOverflow/index.tsx +0 -1
  315. package/src/ShareMenu/ShareMenu.tsx +0 -43
  316. package/src/ShareMenu/index.tsx +0 -1
  317. package/src/ShareMenuButton/ShareMenuButton.tsx +0 -34
  318. package/src/ShareMenuButton/index.tsx +0 -1
  319. package/src/SingleClickListener/SingleClickListener.tsx +0 -164
  320. package/src/SingleClickListener/index.tsx +0 -1
  321. package/src/SituationDetails/SituationDetails.tsx +0 -370
  322. package/src/SituationDetails/index.ts +0 -1
  323. package/src/Station/Station.tsx +0 -50
  324. package/src/Station/index.tsx +0 -1
  325. package/src/StationHeader/StationHeader.tsx +0 -32
  326. package/src/StationHeader/index.tsx +0 -1
  327. package/src/StationName/StationName.tsx +0 -21
  328. package/src/StationName/index.tsx +0 -1
  329. package/src/StationServices/StationServices.tsx +0 -80
  330. package/src/StationServices/index.tsx +0 -1
  331. package/src/StationsLayer/StationsLayer.tsx +0 -53
  332. package/src/StationsLayer/index.tsx +0 -1
  333. package/src/StopsSearch/StopsSearch.tsx +0 -344
  334. package/src/StopsSearch/index.tsx +0 -1
  335. package/src/WindowMessageListener/WindowMessageListener.tsx +0 -74
  336. package/src/WindowMessageListener/index.tsx +0 -1
  337. package/src/ZoomButtons/ZoomButtons.tsx +0 -80
  338. package/src/ZoomButtons/index.tsx +0 -1
  339. package/src/icons/Airport/Airport.tsx +0 -17
  340. package/src/icons/Airport/airport-14-svgrepo-com.svg +0 -1
  341. package/src/icons/Airport/index.tsx +0 -1
  342. package/src/icons/ArrowDown/ArrowDown.tsx +0 -22
  343. package/src/icons/ArrowDown/down-open.svg +0 -1
  344. package/src/icons/ArrowDown/index.tsx +0 -1
  345. package/src/icons/ArrowRight/ArrowRight.tsx +0 -19
  346. package/src/icons/ArrowRight/arrow-right.svg +0 -1
  347. package/src/icons/ArrowRight/index.tsx +0 -1
  348. package/src/icons/ArrowUp/ArrowUp.tsx +0 -22
  349. package/src/icons/ArrowUp/index.tsx +0 -1
  350. package/src/icons/ArrowUp/up-open.svg +0 -1
  351. package/src/icons/ArrowUpRight/ArrowUpRight.tsx +0 -35
  352. package/src/icons/ArrowUpRight/index.tsx +0 -1
  353. package/src/icons/ArrowUpRight/up-open.svg +0 -1
  354. package/src/icons/Automat/Automat.tsx +0 -8
  355. package/src/icons/Automat/index.tsx +0 -1
  356. package/src/icons/Automat/rvf_automat.svg +0 -1
  357. package/src/icons/BarAndRestaurants/BarAndRestaurants.tsx +0 -17
  358. package/src/icons/BarAndRestaurants/food-restaurant-svgrepo-com.svg +0 -1
  359. package/src/icons/BarAndRestaurants/index.tsx +0 -1
  360. package/src/icons/Bathroom/Bathroom.tsx +0 -59
  361. package/src/icons/Bathroom/bathroom-restroom-svgrepo-com.svg +0 -1
  362. package/src/icons/Bathroom/index.tsx +0 -1
  363. package/src/icons/Bike/Bike.tsx +0 -8
  364. package/src/icons/Bike/index.tsx +0 -1
  365. package/src/icons/Bike/rvf_shared_bike.svg +0 -1
  366. package/src/icons/BikeStorage/BikeStorage.tsx +0 -17
  367. package/src/icons/BikeStorage/index.tsx +0 -1
  368. package/src/icons/BikeStorage/parking-bicycle-14-svgrepo-com.svg +0 -1
  369. package/src/icons/Cancel/Cancel.tsx +0 -21
  370. package/src/icons/Cancel/cancel.svg +0 -1
  371. package/src/icons/Cancel/index.tsx +0 -1
  372. package/src/icons/Car/Car.tsx +0 -8
  373. package/src/icons/Car/index.tsx +0 -1
  374. package/src/icons/Car/rvf_shared_car.svg +0 -1
  375. package/src/icons/CargoBike/CargoBike.tsx +0 -8
  376. package/src/icons/CargoBike/index.tsx +0 -1
  377. package/src/icons/CargoBike/rvf_shared_cargo_bike.svg +0 -1
  378. package/src/icons/Copy/Copy.tsx +0 -25
  379. package/src/icons/Copy/index.tsx +0 -1
  380. package/src/icons/Doc/Doc.tsx +0 -19
  381. package/src/icons/Doc/doc.svg +0 -1
  382. package/src/icons/Doc/index.tsx +0 -1
  383. package/src/icons/DownOpen/DownOpen.tsx +0 -24
  384. package/src/icons/DownOpen/down-open.svg +0 -1
  385. package/src/icons/DownOpen/index.tsx +0 -1
  386. package/src/icons/Download/Download.tsx +0 -20
  387. package/src/icons/Download/download.svg +0 -1
  388. package/src/icons/Download/index.tsx +0 -1
  389. package/src/icons/Ebike/Ebike.tsx +0 -8
  390. package/src/icons/Ebike/index.tsx +0 -1
  391. package/src/icons/Ebike/rvf_shared_e-bike.svg +0 -1
  392. package/src/icons/Elevator/Elevator.tsx +0 -16
  393. package/src/icons/Elevator/elevator-svgrepo-com.svg +0 -1
  394. package/src/icons/Elevator/index.tsx +0 -1
  395. package/src/icons/Email/Email.tsx +0 -19
  396. package/src/icons/Email/email.svg +0 -1
  397. package/src/icons/Email/index.tsx +0 -1
  398. package/src/icons/FilePdf/FilePdf.tsx +0 -19
  399. package/src/icons/FilePdf/file-pdf.svg +0 -1
  400. package/src/icons/FilePdf/index.tsx +0 -1
  401. package/src/icons/Geolocation/Geolocation.tsx +0 -19
  402. package/src/icons/Geolocation/index.tsx +0 -1
  403. package/src/icons/Geolocation/location.svg +0 -1
  404. package/src/icons/Image/Image.tsx +0 -24
  405. package/src/icons/Image/index.tsx +0 -1
  406. package/src/icons/InPerson/InPerson.tsx +0 -8
  407. package/src/icons/InPerson/index.tsx +0 -1
  408. package/src/icons/InPerson/rvf_persoenlich.svg +0 -1
  409. package/src/icons/Menu/Menu.tsx +0 -32
  410. package/src/icons/Menu/index.tsx +0 -1
  411. package/src/icons/Menu/menu.svg +0 -1
  412. package/src/icons/Minus/Minus.tsx +0 -19
  413. package/src/icons/Minus/index.tsx +0 -1
  414. package/src/icons/Minus/minus-grey.svg +0 -1
  415. package/src/icons/Minus/minus.svg +0 -1
  416. package/src/icons/NoRealtime/NoRealtime.tsx +0 -44
  417. package/src/icons/NoRealtime/index.tsx +0 -1
  418. package/src/icons/NoRealtime/norealtime.svg +0 -1
  419. package/src/icons/Ok/ok-grey.svg +0 -1
  420. package/src/icons/Ok/ok.svg +0 -1
  421. package/src/icons/Plus/Plus.tsx +0 -19
  422. package/src/icons/Plus/index.tsx +0 -1
  423. package/src/icons/Plus/plus.svg +0 -1
  424. package/src/icons/Police/Police.tsx +0 -20
  425. package/src/icons/Police/index.tsx +0 -1
  426. package/src/icons/Police/polizia.png +0 -0
  427. package/src/icons/README.md +0 -52
  428. package/src/icons/Ride/Ride.tsx +0 -8
  429. package/src/icons/Ride/index.tsx +0 -1
  430. package/src/icons/Ride/rvf_shared_ride.svg +0 -1
  431. package/src/icons/Scooter/Scooter.tsx +0 -8
  432. package/src/icons/Scooter/index.tsx +0 -1
  433. package/src/icons/Scooter/rvf_shared_scooter.svg +0 -1
  434. package/src/icons/Search/Search.tsx +0 -38
  435. package/src/icons/Search/index.tsx +0 -1
  436. package/src/icons/Search/search.svg +0 -1
  437. package/src/icons/Share/Share.tsx +0 -24
  438. package/src/icons/Share/index.tsx +0 -1
  439. package/src/icons/Stack/Stack.tsx +0 -24
  440. package/src/icons/Stack/index.tsx +0 -1
  441. package/src/icons/TouchFingers/TouchFingers.tsx +0 -20
  442. package/src/icons/TouchFingers/index.tsx +0 -1
  443. package/src/icons/Tracking/Tracking.tsx +0 -29
  444. package/src/icons/Tracking/airport-14-svgrepo-com.svg +0 -1
  445. package/src/icons/Tracking/index.tsx +0 -1
  446. package/src/icons/Video/Video.tsx +0 -8
  447. package/src/icons/Video/index.tsx +0 -1
  448. package/src/icons/Video/rvf_video.svg +0 -1
  449. package/src/icons/WaitingAreas/WaitingAreas.tsx +0 -16
  450. package/src/icons/WaitingAreas/highway-rest-area-svgrepo-com.svg +0 -1
  451. package/src/icons/WaitingAreas/index.tsx +0 -1
  452. package/src/icons/WaitingAreas/wheelchair-svgrepo-com.svg +0 -1
  453. package/src/icons/Warning/Warning.tsx +0 -56
  454. package/src/icons/Warning/exported_features_20251029101203.kml +0 -20
  455. package/src/icons/Warning/index.tsx +0 -1
  456. package/src/icons/Warning/info-achtung-kreisrot-rot.svg +0 -1
  457. package/src/icons/WheelChair/WheelChair.tsx +0 -16
  458. package/src/icons/WheelChair/disabili.png +0 -0
  459. package/src/icons/WheelChair/index.tsx +0 -1
  460. package/src/icons/WheelChair/wheelchair-svgrepo-com.svg +0 -1
  461. package/src/icons/disruption-type-banner.xcf +0 -0
  462. package/src/icons/rvf_shared_ride_2.svg +0 -1
  463. package/src/icons/sbb_add_stop.png +0 -0
  464. package/src/icons/sbb_add_stop.svg +0 -1
  465. package/src/icons/sbb_alternative.png +0 -0
  466. package/src/icons/sbb_alternative.svg +0 -1
  467. package/src/icons/sbb_cancellation.png +0 -0
  468. package/src/icons/sbb_cancellation.svg +0 -1
  469. package/src/icons/sbb_construction.png +0 -0
  470. package/src/icons/sbb_construction.svg +0 -1
  471. package/src/icons/sbb_construction_banner.png +0 -0
  472. package/src/icons/sbb_delay.png +0 -0
  473. package/src/icons/sbb_delay.svg +0 -1
  474. package/src/icons/sbb_disruption.png +0 -0
  475. package/src/icons/sbb_disruption.svg +0 -1
  476. package/src/icons/sbb_disruption_banner.png +0 -0
  477. package/src/icons/sbb_info.png +0 -0
  478. package/src/icons/sbb_info.svg +0 -1
  479. package/src/icons/sbb_missed_connection.png +0 -0
  480. package/src/icons/sbb_missed_connection.svg +0 -1
  481. package/src/icons/sbb_missed_connection_banner.png +0 -0
  482. package/src/icons/sbb_platform_change.png +0 -0
  483. package/src/icons/sbb_platform_change.svg +0 -1
  484. package/src/icons/sbb_replacementbus.png +0 -0
  485. package/src/icons/sbb_replacementbus.svg +0 -1
  486. package/src/icons/sbb_replacementbus_banner.png +0 -0
  487. package/src/icons/sbb_reroute.png +0 -0
  488. package/src/icons/sbb_reroute.svg +0 -1
  489. package/src/icons/warning-banner.png +0 -0
  490. package/src/icons/warning-banner.xcf +0 -0
  491. package/src/icons/warning.png +0 -0
  492. package/src/index.tsx +0 -44
  493. package/src/indexDoc.ts +0 -35
  494. package/src/logos/00_RegioRad_Stuttgart.svg +0 -1
  495. package/src/logos/01_Call_a_bike.svg +0 -1
  496. package/src/logos/03_KVV_nextbike.svg +0 -1
  497. package/src/logos/05_VrnNextbike.svg +0 -1
  498. package/src/logos/2em_carsharing.svg +0 -1
  499. package/src/logos/CarSharing-Renningen.png +0 -0
  500. package/src/logos/aubonne-basel-pickebike.svg +0 -1
  501. package/src/logos/br_logo.svg +0 -1
  502. package/src/logos/callabike_logo.png +0 -0
  503. package/src/logos/carsharing_stadtmobil_karlsruhe_rhein_neckar.svg +0 -1
  504. package/src/logos/compte-mobilite.png +0 -0
  505. package/src/logos/deer.svg +0 -1
  506. package/src/logos/donkey_republic.png +0 -0
  507. package/src/logos/edrive_carsharing.svg +0 -1
  508. package/src/logos/flinkster_logo.png +0 -0
  509. package/src/logos/gruene-flotte-logo-1.svg +0 -1
  510. package/src/logos/gruene_flotte_logo.png +0 -0
  511. package/src/logos/lasten_velo_freiburg.png +0 -0
  512. package/src/logos/lie_mobil.svg +0 -1
  513. package/src/logos/logo-einfach-mobil-ortenau.png +0 -0
  514. package/src/logos/logo-red.svg +0 -1
  515. package/src/logos/logo_frelo_web_rgb.png +0 -0
  516. package/src/logos/logo_teilauto.png +0 -0
  517. package/src/logos/mein_konrad.svg +0 -1
  518. package/src/logos/mit_fahr_punkt.png +0 -0
  519. package/src/logos/natur_energie_logo.png +0 -0
  520. package/src/logos/natur_energie_logo.xcf +0 -0
  521. package/src/logos/publibike_logo.svg +0 -1
  522. package/src/logos/share-birrer.svg +0 -1
  523. package/src/logos/stadtmobil_suedbaden.svg +0 -1
  524. package/src/logos/stadtwerke_tauberfranken.png +0 -0
  525. package/src/logos/teilauto_biberach.png +0 -0
  526. package/src/logos/velospot_fribourg.png +0 -0
  527. package/src/logos/yoio_logo.png +0 -0
  528. package/src/logos/zeag_carsharing.png +0 -0
  529. package/src/logos/zeo_carsharing.png +0 -0
  530. package/src/logos/zeus_logo.png +0 -0
  531. package/src/logos/zeus_logo.xcf +0 -0
  532. package/src/ui/Button/Button.tsx +0 -64
  533. package/src/ui/Button/index.tsx +0 -1
  534. package/src/ui/Checkbox/Checkbox.tsx +0 -32
  535. package/src/ui/Checkbox/index.tsx +0 -1
  536. package/src/ui/IconButton/IconButton.tsx +0 -64
  537. package/src/ui/IconButton/index.tsx +0 -1
  538. package/src/ui/Input/Input.tsx +0 -24
  539. package/src/ui/Input/index.tsx +0 -1
  540. package/src/ui/InputCopy/InputCopy.tsx +0 -97
  541. package/src/ui/InputCopy/index.tsx +0 -1
  542. package/src/ui/InputSearch/InputSearch.tsx +0 -106
  543. package/src/ui/InputSearch/index.tsx +0 -1
  544. package/src/ui/Link/Link.tsx +0 -49
  545. package/src/ui/Link/index.tsx +0 -1
  546. package/src/ui/Select/Select.tsx +0 -24
  547. package/src/ui/Select/index.tsx +0 -1
  548. package/src/utils/MobilityEvent.ts +0 -22
  549. package/src/utils/applyInitialLayerVisibility.ts +0 -48
  550. package/src/utils/centerOnVehicle.ts +0 -58
  551. package/src/utils/constants.ts +0 -242
  552. package/src/utils/exportPdf.ts +0 -671
  553. package/src/utils/fullTrajectoryStyle.ts +0 -53
  554. package/src/utils/getAllLayers.ts +0 -26
  555. package/src/utils/getBgColor.ts +0 -20
  556. package/src/utils/getDelayColor.test.ts +0 -23
  557. package/src/utils/getDelayColor.ts +0 -23
  558. package/src/utils/getDelayColorForVehicle.test.ts +0 -47
  559. package/src/utils/getDelayColorForVehicle.ts +0 -27
  560. package/src/utils/getDelayString.test.ts +0 -25
  561. package/src/utils/getDelayString.ts +0 -28
  562. package/src/utils/getDelayTextForVehicle.test.ts +0 -32
  563. package/src/utils/getDelayTextForVehicle.ts +0 -25
  564. package/src/utils/getFullTrajectoryAndFit.ts +0 -41
  565. package/src/utils/getHoursAndMinutes.test.ts +0 -15
  566. package/src/utils/getHoursAndMinutes.ts +0 -22
  567. package/src/utils/getLayersAsFlatArray.ts +0 -22
  568. package/src/utils/getLinkByDevice.ts +0 -23
  569. package/src/utils/getMainColorForVehicle.test.ts +0 -25
  570. package/src/utils/getMainColorForVehicle.ts +0 -54
  571. package/src/utils/getPermalinkParameters.ts +0 -35
  572. package/src/utils/getRadius.ts +0 -46
  573. package/src/utils/getStopStatus.test.ts +0 -105
  574. package/src/utils/getStopStatus.ts +0 -171
  575. package/src/utils/getTextColor.ts +0 -10
  576. package/src/utils/getTextColorForVehicle.ts +0 -31
  577. package/src/utils/getTextFontForVehicle.test.ts +0 -7
  578. package/src/utils/getTextFontForVehicle.tsx +0 -17
  579. package/src/utils/getTextForVehicle.test.ts +0 -17
  580. package/src/utils/getTextForVehicle.ts +0 -25
  581. package/src/utils/getUrlFromTemplate.test.ts +0 -23
  582. package/src/utils/getUrlFromTemplate.ts +0 -47
  583. package/src/utils/highlightLinesNetworkPlan.ts +0 -25
  584. package/src/utils/hooks/useDebug.tsx +0 -11
  585. package/src/utils/hooks/useDeparture.tsx +0 -24
  586. package/src/utils/hooks/useFit.tsx +0 -57
  587. package/src/utils/hooks/useFitOnFeatures.tsx +0 -77
  588. package/src/utils/hooks/useI18n.tsx +0 -23
  589. package/src/utils/hooks/useInitialLayersVisiblity.tsx +0 -58
  590. package/src/utils/hooks/useInitialPermalink.tsx +0 -93
  591. package/src/utils/hooks/useLayerConfig.tsx +0 -17
  592. package/src/utils/hooks/useLayersConfig.tsx +0 -49
  593. package/src/utils/hooks/useLnp.tsx +0 -146
  594. package/src/utils/hooks/useMapContext.tsx +0 -166
  595. package/src/utils/hooks/useMocoSituation.tsx +0 -62
  596. package/src/utils/hooks/useParams.ts +0 -5
  597. package/src/utils/hooks/usePermalink.tsx +0 -25
  598. package/src/utils/hooks/useRealtimeDepartures.tsx +0 -45
  599. package/src/utils/hooks/useRealtimeRenderedTrajectory.tsx +0 -42
  600. package/src/utils/hooks/useRealtimeStation.tsx +0 -39
  601. package/src/utils/hooks/useRealtimeStopSequences.tsx +0 -43
  602. package/src/utils/hooks/useRealtimeTrainsByRouteIdentifier.tsx +0 -72
  603. package/src/utils/hooks/useRouteStop.tsx +0 -40
  604. package/src/utils/hooks/useRvfContext.tsx +0 -46
  605. package/src/utils/hooks/useScrollTo.tsx +0 -36
  606. package/src/utils/hooks/useSearchLines.tsx +0 -34
  607. package/src/utils/hooks/useSearchLnpStops.tsx +0 -38
  608. package/src/utils/hooks/useSearchStops.tsx +0 -85
  609. package/src/utils/hooks/useSearchTrains.tsx +0 -83
  610. package/src/utils/hooks/useZoom.tsx +0 -44
  611. package/src/utils/mergePublications.test.ts +0 -91
  612. package/src/utils/mergePublications.ts +0 -52
  613. package/src/utils/realtimeRVFStyle.ts +0 -523
  614. package/src/utils/sharingGraphqlUtils.ts +0 -320
  615. package/src/utils/sharingStylesUtils.ts +0 -222
  616. package/src/utils/sharingWFSUtils.ts +0 -116
  617. package/src/utils/translations.ts +0 -252
  618. package/src/utils/translationsReasons.ts +0 -716
  619. package/tailwind.config.mjs +0 -95
  620. package/testNotification.json +0 -115
  621. package/tsconfig.json +0 -12
@@ -1,35 +0,0 @@
1
- import { memo } from "preact/compat";
2
-
3
- import I18n from "../I18n";
4
- import StopsSearch from "../StopsSearch/StopsSearch";
5
-
6
- import MobilitySearchAttributes from "./MobilitySearchAttributes";
7
-
8
- // @ts-expect-error tailwind must be added for the search web component
9
- import tailwind from "../style.css";
10
-
11
- import type { StopsSearchProps } from "../StopsSearch/StopsSearch";
12
-
13
- export type MobilitySearchProps = StopsSearchProps;
14
-
15
- function MobilitySearch(props: MobilitySearchProps) {
16
- const { lang } = props;
17
- return (
18
- <I18n lang={lang}>
19
- <style>{tailwind}</style>
20
- <StopsSearch {...props} />
21
- </I18n>
22
- );
23
- }
24
-
25
- // We creates a wrapper to inject the default props values from MobilityMapAttributes.
26
- const defaultProps = {};
27
- Object.entries(MobilitySearchAttributes).forEach(([key]) => {
28
- defaultProps[key] = MobilitySearchAttributes[key].defaultValue || null;
29
- });
30
-
31
- function MobilitySearchWithDefaultProps(props: MobilitySearchProps) {
32
- return <MobilitySearch {...defaultProps} {...props} />;
33
- }
34
-
35
- export default memo(MobilitySearchWithDefaultProps);
@@ -1,21 +0,0 @@
1
- import attributes from "./MobilitySearchAttributes";
2
-
3
- describe("MobilityMapAttributes", () => {
4
- Object.entries(attributes).forEach(([key, value]) => {
5
- test(`${key} has a description`, () => {
6
- expect(value.description).toBeDefined();
7
- });
8
-
9
- if (value.type === "boolean") {
10
- test(`${key} has a defaultValue for boolean`, () => {
11
- expect(value.defaultValue).toMatch(/^(true|false)$/);
12
- });
13
- }
14
-
15
- if (value.defaultValue === "true" || value.defaultValue === "false") {
16
- test(`${key} is boolean when defaultValue is true or false`, () => {
17
- expect(value.type).toBe("boolean");
18
- });
19
- }
20
- });
21
- });
@@ -1,87 +0,0 @@
1
- import type { WebComponentAttributeDoc } from "../MobilityMap/MobilityMapAttributes";
2
-
3
- const geopsApiLink = `<a href="https://developer.geops.io/">geOps API key</a>`;
4
- const geopsStopsApiLink = `<a href="https://developer.geops.io/apis/stops">geOps Stops API</a>`;
5
-
6
- export type MobilitySearchAttributeName =
7
- | "apikey"
8
- | "bbox"
9
- | "countrycode"
10
- | "event"
11
- | "field"
12
- | "lang"
13
- | "limit"
14
- | "mots"
15
- | "onselect"
16
- | "params"
17
- | "prefagencies"
18
- | "reflocation"
19
- | "url";
20
-
21
- export type MobilitySearchAttributes = Record<
22
- MobilitySearchAttributeName,
23
- WebComponentAttributeDoc
24
- >;
25
-
26
- const attrs: MobilitySearchAttributes = {
27
- apikey: {
28
- description: `Your ${geopsApiLink}`,
29
- public: true,
30
- },
31
- bbox: {
32
- description: `The extent where to search the stops (minx,miny,maxx,maxy). See the ${geopsStopsApiLink} documentation.`,
33
- public: true,
34
- },
35
- countrycode: {
36
- description: "The country code to filter the results (IT, DE, CH ...)",
37
- public: true,
38
- },
39
- event: {
40
- defaultValue: "mwc:stopssearchselect",
41
- description: "The event's name to listen to when a stop is selected.",
42
- public: true,
43
- },
44
- field: {
45
- description: `Which field to look up, default all of them, Possible values:id, name, coords. See the ${geopsStopsApiLink} documentation.`,
46
- public: true,
47
- },
48
- lang: {
49
- defaultValue: "en",
50
- description:
51
- "The language to use for the search input texts. Supported languages are : de, en, fr, it.",
52
- public: true,
53
- },
54
- limit: {
55
- defaultValue: "5",
56
- description: `The number of suggestions to show. See the ${geopsStopsApiLink} documentation.`,
57
- public: true,
58
- },
59
- mots: {
60
- description: `Commas separated list of mots used to filter the results (rail, bus, coach, foot, tram, subway, gondola, funicular, ferry, car). See the ${geopsStopsApiLink} documentation.`,
61
- public: true,
62
- },
63
- onselect: {
64
- description: null, //`Function called when a stop is selected. The function receives the selected stop as parameter.`,
65
- public: false,
66
- },
67
- params: {
68
- description: `JSON string with additional parameters to pass to the request to the API. Ex: {"{ 'key': 'value' }"}. See the ${geopsStopsApiLink} documentation.`,
69
- public: true,
70
- },
71
- prefagencies: {
72
- description: `comma seperated list, order chooses which agency will be preferred as
73
- ident_source (for id and code fields). Possible values: sbb, db. See the ${geopsStopsApiLink} documentation.`,
74
- public: true,
75
- },
76
- reflocation: {
77
- description: `Coordinates in WGS84 (in lat,lon order) used to rank stops close to this position higher. See the ${geopsStopsApiLink} documentation.`,
78
- public: true,
79
- },
80
- url: {
81
- defaultValue: "https://api.geops.io/stops/v1/",
82
- description: `The URL to the ${geopsStopsApiLink}.`,
83
- public: true,
84
- },
85
- };
86
-
87
- export default attrs;
@@ -1,21 +0,0 @@
1
- import MobilityMapEvents from "../MobilityMap/MobilityMapEvents";
2
-
3
- import type { WebComponentEventDoc } from "../MobilityMap/MobilityMapEvents";
4
-
5
- export type MobilitySearchEventName = "mwc:attribute" | "mwc:stopssearchselect";
6
-
7
- export type MobilitySearchAttributes = Record<
8
- MobilitySearchEventName,
9
- WebComponentEventDoc
10
- >;
11
-
12
- const attrs: MobilitySearchAttributes = {
13
- "mwc:attribute": MobilityMapEvents["mwc:attribute"],
14
- "mwc:stopssearchselect": {
15
- description:
16
- "Event fired when a stop is selected in the stops search results. The event data contains the selected stop.",
17
- public: true,
18
- },
19
- };
20
-
21
- export default attrs;
@@ -1,2 +0,0 @@
1
- export { default } from "./MobilitySearch";
2
- export { default as MobilitySearchAttributes } from "./MobilitySearchAttributes";
@@ -1,309 +0,0 @@
1
- import {
2
- type AffectedTimeIntervalType,
3
- type PublicationType,
4
- type TextualContentType,
5
- } from "mobility-toolbox-js/types";
6
- import { twMerge } from "tailwind-merge";
7
-
8
- import Warning from "../icons/Warning";
9
- import ShadowOverflow from "../ShadowOverflow";
10
- import Link from "../ui/Link";
11
- import useI18n from "../utils/hooks/useI18n";
12
- import useMapContext from "../utils/hooks/useMapContext";
13
- import useMocoSituation from "../utils/hooks/useMocoSituation";
14
- import mergePublications from "../utils/mergePublications";
15
-
16
- import type {
17
- MultilingualTextualContentType,
18
- RealtimeLine,
19
- RealtimeMot,
20
- } from "mobility-toolbox-js/types";
21
- import type { Feature } from "ol";
22
-
23
- const toShortDate = (date: Date, showTime, showYear?: boolean) => {
24
- const time = date.toLocaleTimeString(["de"], {
25
- hour: "2-digit",
26
- minute: "2-digit",
27
- });
28
- const dateString = date.toLocaleDateString(["de"], {
29
- day: "2-digit",
30
- month: "short",
31
- weekday: "short",
32
- year: showYear ? "numeric" : undefined,
33
- });
34
-
35
- return `${dateString}${showTime && showTime !== time ? ` ${time}` : ""}`
36
- .replace(",", "")
37
- .replace(/\./, "")
38
- .replace(/\.$/, "");
39
- };
40
-
41
- export type NotificationLine = {
42
- mot?: RealtimeMot;
43
- operator_name?: string;
44
- short_name?: string;
45
- tags?: string[];
46
- } & RealtimeLine;
47
-
48
- function NotificationDetails({
49
- className,
50
- ...props
51
- }: {
52
- className?: string;
53
- feature: Feature;
54
- }) {
55
- const { locale, t } = useI18n();
56
- const { notificationId, notificationSupportedLanguages } = useMapContext();
57
- const situationParsed = useMocoSituation(notificationId);
58
-
59
- // moco export v2
60
- let textualContentMultilingual: Partial<MultilingualTextualContentType> = {};
61
- let textualContent: Partial<TextualContentType> = {};
62
- let timeIntervalsToDisplay = [];
63
- let publicationsToDisplay: PublicationType[] = [];
64
- let reasonsToDisplay: string[] = [];
65
-
66
- // const situationParsed: SituationType = JSON.parse(situation) || {};
67
- const publicationsArr: PublicationType[] =
68
- situationParsed?.publications || [];
69
-
70
- // Find the current publication(s) at the current date
71
- publicationsToDisplay =
72
- publicationsArr?.filter(({ publicationWindows }) => {
73
- // In some cases publicationWindows can be undefined here but defined at the
74
- // root of the object so we apply the root publicationWindows to all publications with empty one
75
- if (
76
- !publicationWindows?.length &&
77
- situationParsed?.publicationWindows?.length
78
- ) {
79
- // @ts-expect-error we should not set this value directly
80
- // eslint-disable-next-line no-param-reassign
81
- publicationWindows = situationParsed.publicationWindows;
82
- }
83
-
84
- return publicationWindows.find(({ endTime, startTime }) => {
85
- const now = new Date();
86
- const startT = new Date(startTime);
87
- const endT = new Date(endTime);
88
- return startT <= now && now <= endT;
89
- });
90
- }) || [];
91
-
92
- // Merge similar publications
93
- publicationsToDisplay = mergePublications(publicationsToDisplay);
94
-
95
- // Display the current and next affected time intervals not the one in the past
96
- timeIntervalsToDisplay =
97
- (situationParsed?.affectedTimeIntervals || []).filter(
98
- ({ endTime, startTime }) => {
99
- const now = new Date();
100
- const startT = new Date(startTime);
101
- const endT = new Date(endTime);
102
- return (startT <= now && now <= endT) || now < startT;
103
- },
104
- ) || [];
105
-
106
- // Display the reasons
107
- reasonsToDisplay = (situationParsed?.reasons || []).map(({ name }) => {
108
- return name && t(name.replace(".", ""));
109
- });
110
-
111
- return (
112
- <ShadowOverflow {...props} className={twMerge("px-4 text-base", className)}>
113
- <div>
114
- {publicationsToDisplay?.map(
115
- ({
116
- id,
117
- infoLinks,
118
- publicationLines,
119
- publicationStops,
120
- textualContentLarge,
121
- textualContentMedium,
122
- textualContentSmall,
123
- }) => {
124
- let localeToUse = locale();
125
-
126
- // We use a supported language by the notification.
127
- if (
128
- !!notificationSupportedLanguages?.length &&
129
- !notificationSupportedLanguages.includes(localeToUse)
130
- ) {
131
- localeToUse = notificationSupportedLanguages[0];
132
- }
133
-
134
- // Get the textual content in German
135
- textualContentMultilingual =
136
- textualContentLarge ||
137
- textualContentMedium ||
138
- textualContentSmall;
139
-
140
- textualContent = textualContentMultilingual?.[localeToUse];
141
-
142
- if (!textualContent?.summary) {
143
- // Try to find textualContent with a title using fallback languages
144
- // If we do not find a fallback we stick to the current language.
145
- for (const fallbackLang of notificationSupportedLanguages) {
146
- const goodTextualContent =
147
- textualContentMultilingual?.[fallbackLang];
148
- if (goodTextualContent?.summary) {
149
- localeToUse = fallbackLang;
150
- textualContent = goodTextualContent;
151
- break;
152
- }
153
- }
154
- }
155
-
156
- let pubLines =
157
- publicationLines?.flatMap((publication) => {
158
- return (
159
- publication.lines?.map(({ name }) => {
160
- return name;
161
- }) || []
162
- );
163
- }) || [];
164
- pubLines = [...new Set(pubLines)]; // Remove duplicates
165
-
166
- let stations = publicationStops.map((publication) => {
167
- return publication?.name || "";
168
- });
169
-
170
- stations = [...new Set(stations)]; // Remove duplicates
171
-
172
- return (
173
- <div className={"text-base"} key={id}>
174
- <div className="text-xs uppercase">{reasonsToDisplay}</div>
175
- <h3 className="space-x-2 text-lg leading-[1.3] font-bold text-balance">
176
- <span className={"inline-block align-middle"}>
177
- <Warning />
178
- </span>
179
- <span
180
- className={"align-middle *:inline"}
181
- dangerouslySetInnerHTML={{
182
- __html: textualContent?.summary,
183
- }}
184
- ></span>
185
- </h3>
186
- <hr className="my-1" />
187
-
188
- {timeIntervalsToDisplay?.map(
189
- ({
190
- dailyEndTime,
191
- dailyStartTime,
192
- endTime,
193
- startTime,
194
- }: AffectedTimeIntervalType) => {
195
- const hasDailyTime = dailyEndTime && dailyStartTime;
196
- const isStartCurrentYear =
197
- new Date().getFullYear() ===
198
- new Date(startTime).getFullYear();
199
- const isEndCurrentYear =
200
- new Date().getFullYear() ===
201
- new Date(endTime).getFullYear();
202
- const isEndInfinite = endTime.includes("2500");
203
-
204
- return (
205
- <div
206
- className="text-sm font-bold text-balance"
207
- key={startTime}
208
- >
209
- <span>
210
- {t("from_to", {
211
- from: toShortDate(
212
- new Date(startTime),
213
- !hasDailyTime,
214
- !isStartCurrentYear,
215
- ),
216
- to: !isEndInfinite
217
- ? toShortDate(
218
- new Date(endTime),
219
- !hasDailyTime,
220
- !isEndCurrentYear,
221
- )
222
- : undefined,
223
- })}
224
- </span>
225
- {hasDailyTime && (
226
- <span>{` (${t("daily_from_to", {
227
- from: dailyStartTime,
228
- to: dailyEndTime,
229
- })})`}</span>
230
- )}
231
- </div>
232
- );
233
- },
234
- )}
235
- <div className={"my-4 flex flex-col gap-4"}>
236
- {textualContent?.description && (
237
- <div
238
- dangerouslySetInnerHTML={{
239
- __html: textualContent?.description,
240
- }}
241
- />
242
- )}
243
- {!!infoLinks?.length && (
244
- <div className={"space-y-1"}>
245
- {infoLinks.map(({ label, uri }) => {
246
- const title = label?.[localeToUse] || uri || "";
247
- return (
248
- <Link
249
- className={"block"}
250
- href={uri}
251
- key={uri}
252
- title={title}
253
- >
254
- {title}
255
- </Link>
256
- );
257
- })}
258
- </div>
259
- )}
260
- {!!pubLines?.length && (
261
- <div>
262
- <div className={"font-bold"}>{t("affected_lines")}:</div>
263
- <div className={"flex flex-wrap gap-1 text-sm"}>
264
- {pubLines?.map((name) => {
265
- return (
266
- <div
267
- // px-4px and py-2px are important for bermekt
268
- className={
269
- "rounded-md bg-black px-[4px] py-[2px] font-bold text-white"
270
- }
271
- key={name}
272
- >
273
- {name}
274
- </div>
275
- );
276
- })}
277
- </div>
278
- </div>
279
- )}
280
- {!!stations?.length && (
281
- <div>
282
- <div className={"font-bold"}>{t("affected_stops")}:</div>
283
- <div className={"flex flex-wrap gap-1 text-sm"}>
284
- {stations.map((name) => {
285
- return (
286
- <div
287
- className={
288
- "rounded-md bg-black px-2 py-1 font-bold text-white"
289
- }
290
- key={name}
291
- >
292
- {name}
293
- </div>
294
- );
295
- })}
296
- </div>
297
- </div>
298
- )}
299
- </div>
300
- </div>
301
- );
302
- },
303
- )}
304
- </div>
305
- </ShadowOverflow>
306
- );
307
- }
308
-
309
- export default NotificationDetails;
@@ -1 +0,0 @@
1
- export { default } from "../RvfFeatureDetails/RvfNotificationDetails";
@@ -1,124 +0,0 @@
1
- import { MocoLayer, type MocoLayerOptions } from "mobility-toolbox-js/ol";
2
- import { unByKey } from "ol/Observable";
3
- import { memo } from "preact/compat";
4
- import { useEffect, useMemo, useState } from "preact/hooks";
5
-
6
- import { LAYER_NAME_NOTIFICATIONS, MAX_EXTENT } from "../utils/constants";
7
- import useMapContext from "../utils/hooks/useMapContext";
8
-
9
- function NotificationsLayer(props?: Partial<MocoLayerOptions>) {
10
- const {
11
- apikey,
12
- baseLayer,
13
- linesNetworkPlanLayer,
14
- map,
15
- notificationat,
16
- notificationtenant,
17
- notificationurl,
18
- previewNotifications,
19
- setNotificationsLayer,
20
- } = useMapContext();
21
- const [isLnpVisible, setIsLnpVisible] = useState(
22
- !!linesNetworkPlanLayer?.getVisible(),
23
- );
24
-
25
- const layer = useMemo(() => {
26
- if (!baseLayer) {
27
- return null;
28
- }
29
- const mocoLayer = new MocoLayer({
30
- apiKey: apikey,
31
- apiParameters: {
32
- bbox: MAX_EXTENT,
33
- contentMedium: true,
34
- hasGeoms: undefined,
35
- // isEdited: true,
36
- publicNow: true,
37
- },
38
- maplibreLayer: baseLayer,
39
- name: LAYER_NAME_NOTIFICATIONS,
40
- publicAt: notificationat ? new Date(notificationat) : undefined,
41
- situations: previewNotifications,
42
- tenant: notificationtenant,
43
- url: notificationurl,
44
- ...(props || {}),
45
- loadAll: !previewNotifications,
46
- });
47
- if (!!previewNotifications && !mocoLayer.getVisible()) {
48
- mocoLayer.setVisible(true);
49
- }
50
- return mocoLayer;
51
- }, [
52
- baseLayer,
53
- apikey,
54
- notificationat,
55
- previewNotifications,
56
- notificationtenant,
57
- notificationurl,
58
- props,
59
- ]);
60
-
61
- useEffect(() => {
62
- setNotificationsLayer?.(layer);
63
- }, [layer, setNotificationsLayer]);
64
-
65
- useEffect(() => {
66
- if (!map || !layer) {
67
- return;
68
- }
69
-
70
- // ONLY RVF for now: Optimization to avoid slowing down others requests
71
- // on bad network environment
72
- const key = map.once("rendercomplete", () => {
73
- map.addLayer(layer);
74
- });
75
-
76
- return () => {
77
- map.removeLayer(layer);
78
- unByKey(key);
79
- };
80
- }, [map, layer]);
81
-
82
- // Watch lnp visibility
83
- useEffect(() => {
84
- const key = linesNetworkPlanLayer?.on("change:visible", () => {
85
- const visible = linesNetworkPlanLayer.getVisible();
86
- setIsLnpVisible(visible);
87
- });
88
- setIsLnpVisible(linesNetworkPlanLayer?.getVisible() || false);
89
- return () => {
90
- unByKey(key);
91
- };
92
- }, [linesNetworkPlanLayer]);
93
-
94
- // Change the layersFilter based on lnp visibility
95
- // Moco layers must de hidden by default otherwise, on load, everything is displayed
96
- useEffect(() => {
97
- if (!layer) {
98
- return;
99
- }
100
- const visible = layer.getVisible();
101
- if (visible) {
102
- layer.setVisible(false);
103
- }
104
-
105
- if (isLnpVisible) {
106
- layer.layersFilter = (layerSpec) => {
107
- return layerSpec.metadata?.["general.filter"] === "moco.lnp";
108
- };
109
- } else {
110
- layer.layersFilter = (layerSpec) => {
111
- return layerSpec.metadata?.["general.filter"] === "moco";
112
- };
113
- }
114
-
115
- layer.setVisible(visible);
116
- return () => {
117
- layer.applyLayoutVisibility();
118
- };
119
- }, [isLnpVisible, layer, linesNetworkPlanLayer]);
120
-
121
- return null;
122
- }
123
-
124
- export default memo(NotificationsLayer);
@@ -1 +0,0 @@
1
- export { default } from "./NotificationsLayer";
@@ -1,61 +0,0 @@
1
- import { twMerge } from "tailwind-merge";
2
-
3
- import ScrollableHandler from "../ScrollableHandler";
4
-
5
- import type { HTMLAttributes, PreactDOMAttributes } from "preact";
6
-
7
- import type { ScrollableHandlerProps } from "../ScrollableHandler";
8
-
9
- export type OverlayProps = {
10
- className;
11
- ScrollableHandlerProps?: ScrollableHandlerProps;
12
- } & HTMLAttributes<HTMLDivElement> &
13
- PreactDOMAttributes;
14
-
15
- function Overlay({
16
- children,
17
- className,
18
- ScrollableHandlerProps = {},
19
- }: OverlayProps) {
20
- let hasChildren = !!children;
21
- if (Array.isArray(children)) {
22
- hasChildren =
23
- children?.length &&
24
- (children || []).find((c) => {
25
- return !!c;
26
- });
27
- }
28
-
29
- if (!hasChildren) {
30
- return null;
31
- }
32
-
33
- return (
34
- <div
35
- className={
36
- (twMerge(
37
- `pointer-events-auto relative z-50 flex flex-col overflow-hidden bg-white transition-[min-height,max-height] @lg:transition-[width]`,
38
- ),
39
- className)
40
- }
41
- >
42
- <ScrollableHandler
43
- className="absolute inset-0 flex h-[65px] touch-none justify-center @lg/main:hidden"
44
- style={{ width: "100%" }}
45
- {...ScrollableHandlerProps}
46
- >
47
- <div
48
- className="m-2 mr-[-60px] bg-gray-300"
49
- style={{
50
- borderRadius: 2,
51
- height: 4,
52
- width: 32,
53
- }}
54
- />
55
- </ScrollableHandler>
56
- {children}
57
- </div>
58
- );
59
- }
60
-
61
- export default Overlay;
@@ -1 +0,0 @@
1
- export { default } from "./Overlay";