@geops/rvf-mobility-web-component 0.1.12 → 0.1.14

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 (100) hide show
  1. package/CHANGELOG.md +47 -0
  2. package/index.html +1 -1
  3. package/index.js +340 -219
  4. package/input.css +2 -8
  5. package/package.json +18 -16
  6. package/scripts/build.mjs +0 -1
  7. package/scripts/dev.mjs +2 -1
  8. package/src/RouteSchedule/RouteSchedule.tsx +3 -1
  9. package/src/RouteStop/RouteStop.tsx +1 -1
  10. package/src/RvfButton/RvfButton.tsx +6 -3
  11. package/src/RvfCheckbox/RvfCheckbox.tsx +10 -3
  12. package/src/RvfExportMenu/RvfExportMenu.tsx +62 -68
  13. package/src/RvfFloatingMenu/RvfFloatingMenu.tsx +3 -3
  14. package/src/RvfIconButton/RvfIconButton.tsx +5 -2
  15. package/src/RvfInputCopy/RvfInputCopy.tsx +57 -0
  16. package/src/RvfInputCopy/index.tsx +1 -0
  17. package/src/RvfLayerTree/RvfLayerTree.tsx +5 -9
  18. package/src/RvfLayerTree/TreeItem/TreeItem.tsx +39 -9
  19. package/src/RvfLayerTree/layersTreeReducer.ts +1 -0
  20. package/src/RvfLayerTreeButton/RvfLayerTreeButton.tsx +27 -0
  21. package/src/RvfLayerTreeButton/index.tsx +1 -0
  22. package/src/RvfLineNetworkPlanLayer/RvfLineNetworkPlanLayer.tsx +9 -5
  23. package/src/RvfMobilityMap/RvfMobilityMap.tsx +253 -35
  24. package/src/RvfOverlayHeader/RvfOverlayHeader.tsx +40 -0
  25. package/src/RvfOverlayHeader/index.tsx +1 -0
  26. package/src/RvfPermalink/RvfPermalink.tsx +18 -0
  27. package/src/RvfPermalink/index.tsx +1 -0
  28. package/src/RvfPoisLayer/RvfPoisLayer.tsx +6 -0
  29. package/src/RvfRadioButton/RvfRadioButton.tsx +1 -1
  30. package/src/RvfSelect/RvfSelect.tsx +2 -2
  31. package/src/RvfSellingPointsLayer/RvfSellingPointsLayer.tsx +25 -6
  32. package/src/RvfShare/RvfPermalinkButton/RvfPermalinkButton.tsx +61 -0
  33. package/src/RvfShare/RvfPermalinkButton/index.tsx +1 -0
  34. package/src/RvfShare/RvfShare.tsx +40 -0
  35. package/src/RvfShare/index.tsx +1 -0
  36. package/src/RvfShareMenuButton/RvfShareMenuButton.tsx +27 -0
  37. package/src/RvfShareMenuButton/index.tsx +1 -0
  38. package/src/RvfSharedMobilityLayerGroup/RvfSharedMobilityLayerGroup.tsx +137 -51
  39. package/src/RvfSingleClickListener/RvfSingleClickListener.tsx +10 -2
  40. package/src/RvfTarifZonenLayer/RvfTarifZonenLayer.tsx +9 -5
  41. package/src/RvfTopics/RvfTopics.tsx +21 -24
  42. package/src/icons/Automat/Automat.tsx +8 -0
  43. package/src/icons/Automat/index.tsx +1 -0
  44. package/src/icons/Automat/rvf_automat.svg +15 -0
  45. package/src/icons/Bike/Bike.tsx +8 -0
  46. package/src/icons/Bike/index.tsx +1 -0
  47. package/src/icons/Bike/rvf_shared_bike.svg +15 -0
  48. package/src/icons/Car/Car.tsx +8 -0
  49. package/src/icons/Car/index.tsx +1 -0
  50. package/src/icons/Car/rvf_shared_car.svg +16 -0
  51. package/src/icons/CargoBike/CargoBike.tsx +8 -0
  52. package/src/icons/CargoBike/index.tsx +1 -0
  53. package/src/icons/CargoBike/rvf_shared_cargo_bike.svg +16 -0
  54. package/src/icons/Copy/Copy.tsx +25 -0
  55. package/src/icons/Copy/index.tsx +1 -0
  56. package/src/icons/Doc/Doc.tsx +19 -0
  57. package/src/icons/Doc/doc.svg +7 -0
  58. package/src/icons/Doc/index.tsx +1 -0
  59. package/src/icons/Ebike/Ebike.tsx +8 -0
  60. package/src/icons/Ebike/index.tsx +1 -0
  61. package/src/icons/Ebike/rvf_shared_e-bike.svg +15 -0
  62. package/src/icons/Email/Email.tsx +19 -0
  63. package/src/icons/Email/email.svg +7 -0
  64. package/src/icons/Email/index.tsx +1 -0
  65. package/src/icons/FilePdf/FilePdf.tsx +19 -0
  66. package/src/icons/FilePdf/file-pdf.svg +7 -0
  67. package/src/icons/FilePdf/index.tsx +1 -0
  68. package/src/icons/Image/Image.tsx +24 -0
  69. package/src/icons/Image/index.tsx +1 -0
  70. package/src/icons/InPerson/InPerson.tsx +8 -0
  71. package/src/icons/InPerson/index.tsx +1 -0
  72. package/src/icons/InPerson/rvf_persoenlich.svg +17 -0
  73. package/src/icons/Minus/minus-grey.svg +7 -0
  74. package/src/icons/Ride/Ride.tsx +8 -0
  75. package/src/icons/Ride/index.tsx +1 -0
  76. package/src/icons/Ride/rvf_shared_ride.svg +15 -0
  77. package/src/icons/Scooter/Scooter.tsx +8 -0
  78. package/src/icons/Scooter/index.tsx +1 -0
  79. package/src/icons/Scooter/rvf_shared_scooter.svg +15 -0
  80. package/src/icons/Share/Share.tsx +24 -0
  81. package/src/icons/Share/index.tsx +1 -0
  82. package/src/icons/Stack/Stack.tsx +24 -0
  83. package/src/icons/Stack/index.tsx +1 -0
  84. package/src/icons/Video/Video.tsx +8 -0
  85. package/src/icons/Video/index.tsx +1 -0
  86. package/src/icons/Video/rvf_video.svg +19 -0
  87. package/src/icons/rvf_shared_ride_2.svg +12 -0
  88. package/src/utils/constants.ts +2 -0
  89. package/src/utils/createMobiDataBwWfsLayer.ts +28 -20
  90. package/src/utils/createSharedMobilityLayer.ts +44 -33
  91. package/src/utils/exportPdf.ts +11 -0
  92. package/src/utils/getAllLayers.ts +25 -0
  93. package/src/utils/hooks/useRvfContext.tsx +45 -0
  94. package/tailwind.config.mjs +32 -29
  95. package/src/FloatingMenu/FloatingMenu.tsx +0 -42
  96. package/src/FloatingMenu/index.tsx +0 -1
  97. package/src/icons/Bicycle/verkehrstraeger-rad-2px-white.svg +0 -19
  98. package/src/icons/Car/verkehrstraeger-auto-2px-white.svg +0 -14
  99. package/src/icons/CargoBicycle/verkehrstraeger-lastenrad-2px-white.svg +0 -27
  100. package/src/icons/Scooter/scooter.svg +0 -10
@@ -0,0 +1,19 @@
1
+ import { SVGProps } from "preact/compat";
2
+
3
+ function Email(props: SVGProps<SVGSVGElement>) {
4
+ return (
5
+ <svg
6
+ fill="currentColor"
7
+ height="24px"
8
+ version="1.1"
9
+ viewBox="0 0 24 24"
10
+ width="24px"
11
+ xmlns="http://www.w3.org/2000/svg"
12
+ {...props}
13
+ >
14
+ <path d="M20,3 C21.6522847,3 23,4.34771525 23,6 L23,18 C23,19.6522847 21.6522847,21 20,21 L4,21 C2.34771525,21 1,19.6522847 1,18 L1,6 C1,4.34771525 2.34771525,3 4,3 L20,3 Z M20.9999141,7.92 L12.5734623,13.8192319 C12.2291422,14.060256 11.7708578,14.060256 11.4265377,13.8192319 L2.99991414,7.921 L3,18 C3,18.5477153 3.45228475,19 4,19 L20,19 C20.5477153,19 21,18.5477153 21,18 L20.9999141,7.92 Z M20,5 L4,5 C3.61200142,5 3.27189207,5.22696691 3.10652962,5.55404305 L12,11.7793444 L20.8934704,5.55404305 C20.7281079,5.22696691 20.3879986,5 20,5 Z"></path>
15
+ </svg>
16
+ );
17
+ }
18
+
19
+ export default Email;
@@ -0,0 +1,7 @@
1
+ <?xml version="1.0" encoding="UTF-8"?>
2
+ <svg width="24px" height="24px" viewBox="0 0 24 24" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
3
+ <title>iconfont/email</title>
4
+ <g id="iconfont/email" stroke="none" stroke-width="1" fill="none" fill-rule="evenodd">
5
+ <path d="M20,3 C21.6522847,3 23,4.34771525 23,6 L23,18 C23,19.6522847 21.6522847,21 20,21 L4,21 C2.34771525,21 1,19.6522847 1,18 L1,6 C1,4.34771525 2.34771525,3 4,3 L20,3 Z M20.9999141,7.92 L12.5734623,13.8192319 C12.2291422,14.060256 11.7708578,14.060256 11.4265377,13.8192319 L2.99991414,7.921 L3,18 C3,18.5477153 3.45228475,19 4,19 L20,19 C20.5477153,19 21,18.5477153 21,18 L20.9999141,7.92 Z M20,5 L4,5 C3.61200142,5 3.27189207,5.22696691 3.10652962,5.55404305 L12,11.7793444 L20.8934704,5.55404305 C20.7281079,5.22696691 20.3879986,5 20,5 Z" id="Combined-Shape" fill="#000000" fill-rule="nonzero"></path>
6
+ </g>
7
+ </svg>
@@ -0,0 +1 @@
1
+ export { default } from "./Email";
@@ -0,0 +1,19 @@
1
+ import { SVGProps } from "preact/compat";
2
+
3
+ function FilePdf(props: SVGProps<SVGSVGElement>) {
4
+ return (
5
+ <svg
6
+ fill="currentColor"
7
+ height="24px"
8
+ version="1.1"
9
+ viewBox="0 0 24 24"
10
+ width="24px"
11
+ xmlns="http://www.w3.org/2000/svg"
12
+ {...props}
13
+ >
14
+ <path d="M14.333851,0.524944902 C15.3240979,0.524944902 16.2708162,0.931970216 16.9521123,1.65060831 L19.6601968,4.50712568 C20.2956482,5.17739214 20.6498328,6.06578567 20.6498328,6.989403 L20.6441295,6.8269449 L20.7799217,6.82736394 C22.0493783,6.82736394 23.0838705,7.86185614 23.0838705,9.13131271 L23.0838705,16.9550053 C23.0838705,18.2244619 22.0493783,19.2589541 20.7799217,19.2589541 L20.6491295,19.2589449 L20.6498328,21.1711063 C20.6498328,22.3876689 19.6997523,23.3884395 18.5032845,23.469725 L18.345884,23.4750551 L5.654116,23.4750551 C4.38465943,23.4750551 3.35016723,22.4405629 3.35016723,21.1711063 L3.35012953,19.2589449 L3.2200783,19.2589541 C1.95062173,19.2589541 0.916129532,18.2244619 0.916129532,16.9550053 L0.916129532,9.13131271 C0.916129532,7.86185614 1.95062173,6.82736394 3.2200783,6.82736394 L3.35012953,6.8269449 L3.35016723,2.82889367 C3.35016723,1.61233112 4.30024774,0.611560509 5.49671554,0.530275046 L5.654116,0.524944902 Z M18.6491295,19.2589449 L5.35012953,19.2589449 L5.35016723,21.1711063 C5.35016723,21.3124381 5.45233501,21.4347961 5.58536139,21.4668713 L5.654116,21.4750551 L18.345884,21.4750551 C18.5107711,21.4750551 18.6498328,21.3359934 18.6498328,21.1711063 L18.6491295,19.2589449 Z M20.7799217,8.82736394 L3.2200783,8.82736394 C3.05519123,8.82736394 2.91612953,8.96642564 2.91612953,9.13131271 L2.91612953,16.9550053 C2.91612953,17.1198924 3.05519123,17.2589541 3.2200783,17.2589541 L20.7799217,17.2589541 C20.9448088,17.2589541 21.0838705,17.1198924 21.0838705,16.9550053 L21.0838705,9.13131271 C21.0838705,8.96642564 20.9448088,8.82736394 20.7799217,8.82736394 Z M6.88163135,9.95714258 C8.01530296,9.95714258 8.95921292,10.8761681 8.95921292,12.0073412 C8.95921292,13.1385143 8.01530296,14.0575399 6.88163135,14.0575399 L6.68852639,14.0578738 C6.57430081,14.0582023 6.43464619,14.0587651 6.27442514,14.0595258 L6.15312953,14.0589449 L6.15398447,15.5638006 C6.15398447,15.891142 5.91274573,16.1621391 5.59835408,16.208706 L5.50201009,16.215775 C5.14193458,16.215775 4.8500357,15.9238762 4.8500357,15.5638006 L4.8500357,10.6090996 C4.8500357,10.5261224 4.86553682,10.4467656 4.89380125,10.3737672 L4.9099965,10.3356247 L4.9550728,10.2540927 C4.97168253,10.2285555 4.9900323,10.2042541 5.00995403,10.1813565 L5.07354162,10.117692 C5.10991642,10.08595 5.14984887,10.0581798 5.19266344,10.0350591 C5.28471406,9.98533737 5.39006742,9.9571252 5.50201009,9.9571252 L6.88163135,9.95714258 Z M18.3788076,9.90680582 C18.7388831,9.90680582 19.0307819,10.1987047 19.0307819,10.5587802 L19.0237129,10.6551242 C18.977146,10.9695158 18.7061489,11.2107546 18.3788076,11.2107546 L17.0363742,11.211188 L17.0361295,12.2589449 L18.2204517,12.2596857 C18.547793,12.2596857 18.8187901,12.5009245 18.865357,12.8153161 L18.8724261,12.9116601 C18.8724261,13.2717356 18.5805272,13.5636345 18.2204517,13.5636345 L17.0371295,13.5629449 L17.0373485,15.477188 C17.0373485,15.8045294 16.7961098,16.0755264 16.4817181,16.1220933 L16.3853742,16.1291624 C16.0252986,16.1291624 15.7333998,15.8372635 15.7333998,15.477188 L15.7333998,10.5587802 C15.7333998,10.1987047 16.0252986,9.90680582 16.3853742,9.90680582 L18.3788076,9.90680582 Z M11.9708959,9.9571252 C13.5861851,9.9571252 14.5645369,11.2659766 14.5645369,13.0131899 C14.5645369,14.7077468 13.5499832,16.0319073 12.0221206,16.0585501 C11.8857096,16.0609473 11.6697466,16.0631085 11.3948769,16.0650545 C11.1047374,16.0671085 10.8148378,16.0685209 10.6213315,16.0692548 C10.2612142,16.070607 9.96819887,15.7797409 9.96690468,15.4196233 L9.96621658,15.2215819 C9.96613387,15.1974705 9.96603803,15.1695258 9.96592623,15.1369237 L9.96523001,14.9275127 L9.96512487,14.8954109 L9.96416337,14.5905997 C9.96404911,14.553769 9.9639207,14.512331 9.96377396,14.4649732 L9.96313684,14.2484868 L9.96268088,14.0861805 C9.96193709,13.8148606 9.96137743,13.5770131 9.96103434,13.3798419 L9.96021681,12.4953033 L9.96012018,12.4186546 L9.95913004,11.7437816 L9.95822815,11.2090655 C9.95816923,11.1746913 9.95811507,11.1431203 9.95806502,11.1139903 L9.95716429,10.6103248 C9.95648791,10.2497713 10.2485846,9.9571252 10.6091387,9.9571252 Z M11.9708959,11.261074 L11.2621387,11.2612803 L11.26312,11.7686817 L11.263168,11.7990603 L11.2640684,12.4173393 C11.264136,12.4697343 11.2641974,12.5197036 11.2642524,12.5671396 L11.2651206,13.4537367 L11.2652789,13.5330607 L11.2661032,13.8859807 C11.2662652,13.9493586 11.2664392,14.0149387 11.2666247,14.0826059 L11.2670802,14.2447456 C11.2671366,14.2645177 11.267189,14.2826826 11.2672462,14.3022677 L11.2679869,14.5481875 C11.2681523,14.6015453 11.2682901,14.6459412 11.2684103,14.6844841 L11.2681387,14.7622803 L11.3856457,14.7611384 C11.6561647,14.7592232 11.8686746,14.7570966 11.9992976,14.7548011 C12.7356744,14.7419602 13.2605881,14.0568609 13.2605881,13.0131899 L13.256077,12.8346602 C13.2051276,11.8464744 12.7256182,11.261074 11.9708959,11.261074 Z M6.88163135,11.2610914 L6.15501009,11.2617375 L6.15600499,11.2894401 C6.15604635,11.3047033 6.15609578,11.3230733 6.15616992,11.3506282 L6.15712345,11.7498159 L6.15779832,12.2052723 C6.15812951,12.3226514 6.15869681,12.4665222 6.15946337,12.6318056 L6.15999351,12.7430029 L6.15901009,12.7567375 L6.20254142,12.7559106 L6.26823392,12.7555918 C6.42963551,12.7548254 6.57032601,12.7542584 6.68576551,12.7539275 L6.88163135,12.7535911 C7.30283336,12.7535911 7.65526415,12.4104515 7.65526415,12.0073412 L7.648086,11.9079769 C7.59604811,11.549424 7.26773319,11.2610914 6.88163135,11.2610914 Z M14.333851,2.5249449 L5.654116,2.5249449 C5.48922893,2.5249449 5.35016723,2.6640066 5.35016723,2.82889367 L5.35012953,6.8269449 L18.6417033,6.82786432 C18.6112338,6.52599013 18.4959021,6.23873312 18.309047,5.99955271 L18.2087836,5.88313428 L15.5006919,3.02660929 C15.1970627,2.70633815 14.7751521,2.5249449 14.333851,2.5249449 Z"></path>
15
+ </svg>
16
+ );
17
+ }
18
+
19
+ export default FilePdf;
@@ -0,0 +1,7 @@
1
+ <?xml version="1.0" encoding="UTF-8"?>
2
+ <svg width="24px" height="24px" viewBox="0 0 24 24" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
3
+ <title>iconfont/file-pdf</title>
4
+ <g id="iconfont/file-pdf" stroke="none" stroke-width="1" fill="none" fill-rule="evenodd">
5
+ <path d="M14.333851,0.524944902 C15.3240979,0.524944902 16.2708162,0.931970216 16.9521123,1.65060831 L19.6601968,4.50712568 C20.2956482,5.17739214 20.6498328,6.06578567 20.6498328,6.989403 L20.6441295,6.8269449 L20.7799217,6.82736394 C22.0493783,6.82736394 23.0838705,7.86185614 23.0838705,9.13131271 L23.0838705,16.9550053 C23.0838705,18.2244619 22.0493783,19.2589541 20.7799217,19.2589541 L20.6491295,19.2589449 L20.6498328,21.1711063 C20.6498328,22.3876689 19.6997523,23.3884395 18.5032845,23.469725 L18.345884,23.4750551 L5.654116,23.4750551 C4.38465943,23.4750551 3.35016723,22.4405629 3.35016723,21.1711063 L3.35012953,19.2589449 L3.2200783,19.2589541 C1.95062173,19.2589541 0.916129532,18.2244619 0.916129532,16.9550053 L0.916129532,9.13131271 C0.916129532,7.86185614 1.95062173,6.82736394 3.2200783,6.82736394 L3.35012953,6.8269449 L3.35016723,2.82889367 C3.35016723,1.61233112 4.30024774,0.611560509 5.49671554,0.530275046 L5.654116,0.524944902 Z M18.6491295,19.2589449 L5.35012953,19.2589449 L5.35016723,21.1711063 C5.35016723,21.3124381 5.45233501,21.4347961 5.58536139,21.4668713 L5.654116,21.4750551 L18.345884,21.4750551 C18.5107711,21.4750551 18.6498328,21.3359934 18.6498328,21.1711063 L18.6491295,19.2589449 Z M20.7799217,8.82736394 L3.2200783,8.82736394 C3.05519123,8.82736394 2.91612953,8.96642564 2.91612953,9.13131271 L2.91612953,16.9550053 C2.91612953,17.1198924 3.05519123,17.2589541 3.2200783,17.2589541 L20.7799217,17.2589541 C20.9448088,17.2589541 21.0838705,17.1198924 21.0838705,16.9550053 L21.0838705,9.13131271 C21.0838705,8.96642564 20.9448088,8.82736394 20.7799217,8.82736394 Z M6.88163135,9.95714258 C8.01530296,9.95714258 8.95921292,10.8761681 8.95921292,12.0073412 C8.95921292,13.1385143 8.01530296,14.0575399 6.88163135,14.0575399 L6.68852639,14.0578738 C6.57430081,14.0582023 6.43464619,14.0587651 6.27442514,14.0595258 L6.15312953,14.0589449 L6.15398447,15.5638006 C6.15398447,15.891142 5.91274573,16.1621391 5.59835408,16.208706 L5.50201009,16.215775 C5.14193458,16.215775 4.8500357,15.9238762 4.8500357,15.5638006 L4.8500357,10.6090996 C4.8500357,10.5261224 4.86553682,10.4467656 4.89380125,10.3737672 L4.9099965,10.3356247 L4.9550728,10.2540927 C4.97168253,10.2285555 4.9900323,10.2042541 5.00995403,10.1813565 L5.07354162,10.117692 C5.10991642,10.08595 5.14984887,10.0581798 5.19266344,10.0350591 C5.28471406,9.98533737 5.39006742,9.9571252 5.50201009,9.9571252 L6.88163135,9.95714258 Z M18.3788076,9.90680582 C18.7388831,9.90680582 19.0307819,10.1987047 19.0307819,10.5587802 L19.0237129,10.6551242 C18.977146,10.9695158 18.7061489,11.2107546 18.3788076,11.2107546 L17.0363742,11.211188 L17.0361295,12.2589449 L18.2204517,12.2596857 C18.547793,12.2596857 18.8187901,12.5009245 18.865357,12.8153161 L18.8724261,12.9116601 C18.8724261,13.2717356 18.5805272,13.5636345 18.2204517,13.5636345 L17.0371295,13.5629449 L17.0373485,15.477188 C17.0373485,15.8045294 16.7961098,16.0755264 16.4817181,16.1220933 L16.3853742,16.1291624 C16.0252986,16.1291624 15.7333998,15.8372635 15.7333998,15.477188 L15.7333998,10.5587802 C15.7333998,10.1987047 16.0252986,9.90680582 16.3853742,9.90680582 L18.3788076,9.90680582 Z M11.9708959,9.9571252 C13.5861851,9.9571252 14.5645369,11.2659766 14.5645369,13.0131899 C14.5645369,14.7077468 13.5499832,16.0319073 12.0221206,16.0585501 C11.8857096,16.0609473 11.6697466,16.0631085 11.3948769,16.0650545 C11.1047374,16.0671085 10.8148378,16.0685209 10.6213315,16.0692548 C10.2612142,16.070607 9.96819887,15.7797409 9.96690468,15.4196233 L9.96621658,15.2215819 C9.96613387,15.1974705 9.96603803,15.1695258 9.96592623,15.1369237 L9.96523001,14.9275127 L9.96512487,14.8954109 L9.96416337,14.5905997 C9.96404911,14.553769 9.9639207,14.512331 9.96377396,14.4649732 L9.96313684,14.2484868 L9.96268088,14.0861805 C9.96193709,13.8148606 9.96137743,13.5770131 9.96103434,13.3798419 L9.96021681,12.4953033 L9.96012018,12.4186546 L9.95913004,11.7437816 L9.95822815,11.2090655 C9.95816923,11.1746913 9.95811507,11.1431203 9.95806502,11.1139903 L9.95716429,10.6103248 C9.95648791,10.2497713 10.2485846,9.9571252 10.6091387,9.9571252 Z M11.9708959,11.261074 L11.2621387,11.2612803 L11.26312,11.7686817 L11.263168,11.7990603 L11.2640684,12.4173393 C11.264136,12.4697343 11.2641974,12.5197036 11.2642524,12.5671396 L11.2651206,13.4537367 L11.2652789,13.5330607 L11.2661032,13.8859807 C11.2662652,13.9493586 11.2664392,14.0149387 11.2666247,14.0826059 L11.2670802,14.2447456 C11.2671366,14.2645177 11.267189,14.2826826 11.2672462,14.3022677 L11.2679869,14.5481875 C11.2681523,14.6015453 11.2682901,14.6459412 11.2684103,14.6844841 L11.2681387,14.7622803 L11.3856457,14.7611384 C11.6561647,14.7592232 11.8686746,14.7570966 11.9992976,14.7548011 C12.7356744,14.7419602 13.2605881,14.0568609 13.2605881,13.0131899 L13.256077,12.8346602 C13.2051276,11.8464744 12.7256182,11.261074 11.9708959,11.261074 Z M6.88163135,11.2610914 L6.15501009,11.2617375 L6.15600499,11.2894401 C6.15604635,11.3047033 6.15609578,11.3230733 6.15616992,11.3506282 L6.15712345,11.7498159 L6.15779832,12.2052723 C6.15812951,12.3226514 6.15869681,12.4665222 6.15946337,12.6318056 L6.15999351,12.7430029 L6.15901009,12.7567375 L6.20254142,12.7559106 L6.26823392,12.7555918 C6.42963551,12.7548254 6.57032601,12.7542584 6.68576551,12.7539275 L6.88163135,12.7535911 C7.30283336,12.7535911 7.65526415,12.4104515 7.65526415,12.0073412 L7.648086,11.9079769 C7.59604811,11.549424 7.26773319,11.2610914 6.88163135,11.2610914 Z M14.333851,2.5249449 L5.654116,2.5249449 C5.48922893,2.5249449 5.35016723,2.6640066 5.35016723,2.82889367 L5.35012953,6.8269449 L18.6417033,6.82786432 C18.6112338,6.52599013 18.4959021,6.23873312 18.309047,5.99955271 L18.2087836,5.88313428 L15.5006919,3.02660929 C15.1970627,2.70633815 14.7751521,2.5249449 14.333851,2.5249449 Z" id="Combined-Shape" fill="#000000" fill-rule="nonzero"></path>
6
+ </g>
7
+ </svg>
@@ -0,0 +1 @@
1
+ export { default } from "./FilePdf";
@@ -0,0 +1,24 @@
1
+ import { JSX } from "preact";
2
+
3
+ function Image({ ...props }: JSX.SVGAttributes<SVGSVGElement>) {
4
+ return (
5
+ <svg
6
+ fill="none"
7
+ height="24px"
8
+ stroke="currentColor"
9
+ strokeWidth={1.5}
10
+ viewBox="0 0 24 24"
11
+ width="24px"
12
+ xmlns="http://www.w3.org/2000/svg"
13
+ {...props}
14
+ >
15
+ <path
16
+ d="m2.25 15.75 5.159-5.159a2.25 2.25 0 0 1 3.182 0l5.159 5.159m-1.5-1.5 1.409-1.409a2.25 2.25 0 0 1 3.182 0l2.909 2.909m-18 3.75h16.5a1.5 1.5 0 0 0 1.5-1.5V6a1.5 1.5 0 0 0-1.5-1.5H3.75A1.5 1.5 0 0 0 2.25 6v12a1.5 1.5 0 0 0 1.5 1.5Zm10.5-11.25h.008v.008h-.008V8.25Zm.375 0a.375.375 0 1 1-.75 0 .375.375 0 0 1 .75 0Z"
17
+ strokeLinecap="round"
18
+ strokeLinejoin="round"
19
+ />
20
+ </svg>
21
+ );
22
+ }
23
+
24
+ export default Image;
@@ -0,0 +1 @@
1
+ export { default } from "./Image";
@@ -0,0 +1,8 @@
1
+ // @ts-expect-error - svg loaded as dataurl
2
+ import src from "./rvf_persoenlich.svg";
3
+
4
+ function InPerson({ ...props }) {
5
+ return <img alt="InPerson" src={src} title="Persönlich" {...props} />;
6
+ }
7
+
8
+ export default InPerson;
@@ -0,0 +1 @@
1
+ export { default } from "./InPerson";
@@ -0,0 +1,17 @@
1
+ <?xml version="1.0" encoding="UTF-8"?>
2
+ <svg id="Ebene_2" data-name="Ebene 2" xmlns="http://www.w3.org/2000/svg" width="25.64767456" height="25.64767456" viewBox="0 0 25.64767456 25.64767456">
3
+ <g id="rvf_base">
4
+ <g id="rvf_persoenlich">
5
+ <g>
6
+ <path d="M12.82395935,25.14781189C6.02854919,25.14781189.50022888,19.6190033.50022888,12.82359314S6.02854919.49986267,12.82395935.49986267s12.32373047,5.52832031,12.32373047,12.32373047-5.52832031,12.32421875-12.32373047,12.32421875Z" style="fill: #f3c200;"/>
7
+ <path d="M12.82382965,1c6.53012848,0,11.82384491,5.29370117,11.82384491,11.82383728,0,6.53012085-5.29371643,11.82383728-11.82384491,11.82383728-6.53012085,0-11.82382965-5.29371643-11.82382965-11.82383728C1,6.29370117,6.2937088,1,12.82382965,1M12.82382965,0C5.75274658,0,0,5.75274658,0,12.82383728s5.75274658,12.82383728,12.82382965,12.82383728,12.82384491-5.75274658,12.82384491-12.82383728S19.89491272,0,12.82382965,0h0Z" style="fill: #f7f4f4;"/>
8
+ </g>
9
+ <g id="info_info-videoterminal-2px" data-name="info/info-videoterminal-2px">
10
+ <g id="Group-9">
11
+ <path id="Fill-3" d="M9.22383182,20.93333634h-1.44v-6.27271884c0-1.54295975,1.21248001-2.80224014,2.73600014-2.87712021l.14399986-.00287979h4.32c1.54224014,0,2.80152054,1.21248001,2.8764006,2.73599945l.0035994.14400055v6.27271884h-1.44v-6.27271884c0-.75960022-.58751999-1.38168045-1.33271988-1.4364006l-.10728012-.0035994h-4.32c-.75887993,0-1.38096016.58680038-1.43639992,1.33200027l-.00360008.10799973v.50184036" style="fill: #fff; fill-rule: evenodd;"/>
12
+ <path id="Fill-7" d="M12.82383182,7.21747324c.70415977,0,1.27511993.57095982,1.27511993,1.27512028,0,.70488007-.57096016,1.27583954-1.27511993,1.27583954s-1.27511993-.57095947-1.27511993-1.27583954c0-.70416046.57096016-1.27512028,1.27511993-1.27512028M12.82383182,11.20843305c1.49976013,0,2.71511993-1.21608009,2.71511993-2.71583954,0-1.49904018-1.2153598-2.71512028-2.71511993-2.71512028s-2.71511993,1.21608009-2.71511993,2.71512028c0,1.49975945,1.2153598,2.71583954,2.71511993,2.71583954" style="fill: #fff; fill-rule: evenodd;"/>
13
+ </g>
14
+ </g>
15
+ </g>
16
+ </g>
17
+ </svg>
@@ -0,0 +1,7 @@
1
+ <?xml version="1.0" encoding="UTF-8"?>
2
+ <svg width="24px" height="24px" viewBox="0 0 24 24" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
3
+ <title>iconfont/minus</title>
4
+ <g id="iconfont/minus" stroke="#7C7C7C" fill="#7C7C7C" stroke-width="1" fill-rule="evenodd">
5
+ <path d="M19,10.9999 C19.5522847,10.9999 20,11.4476153 20,11.9999 C20,12.5521847 19.5522847,12.9999 19,12.9999 L5,12.9999 C4.44771525,12.9999 4,12.5521847 4,11.9999 C4,11.4476153 4.44771525,10.9999 5,10.9999 L19,10.9999 Z"></path>
6
+ </g>
7
+ </svg>
@@ -0,0 +1,8 @@
1
+ // @ts-expect-error - svg loaded as dataurl
2
+ import src from "./rvf_shared_ride.svg";
3
+
4
+ function Ride({ ...props }) {
5
+ return <img alt="Ride" src={src} title="Mitfahrpunkte" {...props} />;
6
+ }
7
+
8
+ export default Ride;
@@ -0,0 +1 @@
1
+ export { default } from "./Ride";
@@ -0,0 +1,15 @@
1
+ <?xml version="1.0" encoding="UTF-8"?>
2
+ <svg id="Ebene_2" data-name="Ebene 2" xmlns="http://www.w3.org/2000/svg" width="25.64767456" height="25.64768982" viewBox="0 0 25.64767456 25.64768982">
3
+ <g id="rvf_base">
4
+ <g id="rvf_shared_ride">
5
+ <g>
6
+ <path d="M12.82368469,25.14767456C6.02827454,25.14767456.49995422,19.61935425.49995422,12.82394409S6.02827454.50021362,12.82368469.50021362s12.32421875,5.52832031,12.32421875,12.32373047-5.52880859,12.32373047-12.32421875,12.32373047Z" style="fill: #00973b;"/>
7
+ <path d="M12.82383728,1c6.53012848,0,11.82383728,5.29371643,11.82383728,11.82383728,0,6.53013611-5.2937088,11.82385254-11.82383728,11.82385254-6.53012085,0-11.82383728-5.29371643-11.82383728-11.82385254C1,6.29371643,6.29371643,1,12.82383728,1M12.82383728,0C5.75274658,0,0,5.75274658,0,12.82383728s5.75274658,12.82385254,12.82383728,12.82385254,12.82383728-5.75276184,12.82383728-12.82385254S19.89492798,0,12.82383728,0h0Z" style="fill: #f7f4f4;"/>
8
+ </g>
9
+ <g>
10
+ <path d="M18.43790805,8.78152597l-4.85659507.00731315c-.24399321.03723057-.39025617.1954605-.53518946.35369043-.390921.29319075-.845001.44809652-1.31437214.44809652-.36698706,0-.73064996-.09839508-1.0530933-.28521277-.03590091-.02193944-.08576328-.06049968-.21474062-.16487824-.27058647-.21540545-.42017359-.33374548-.68012276-.3530256-.19280117,0-.51590935.06382384-.63424938.0924116-.92611046.23202624-1.68268886,1.08899421-1.83958912,2.08823615.00265933.47402495-.01728562.97131901-.04055473,1.54440388-.03723057.90948967-.07579081,1.85022643.00265933,2.71317789.0797798.88289641.73663345,1.52445893,1.5616895,1.52445893.06781283,0,.13562565-.00398899.20277365-.01329663l.13703842-.04587338.01786735-.00241001v4.35040888c0,.49662923.41684943,1.05774713.80644077,1.26916358.25463051.13828498.5192335.20875713.78716065.20875713.33706964,0,.64422185-.11501587.78250683-.29319075l.06116451-.12166419.1283125.09706542c.27191614.20543297.59502431.31380053.93541811.31380053.83170437,0,1.51315679-.64754601,1.58628827-1.50783814l-.00531865-8.71328336c.02127461-.20277365.15025195-.33175098.35502009-.35236076.26726232-.02592843.54383227-.03523608.82572089-.03523608.3782892,0,.7672157.01662079,1.24190549.03723057.37297055.01595596.7439466.03124709,1.1076095.03124709.27590513,0,.54782126-.00797798.81042976-.03191192.93541811-.07911496,1.42207486-.85031966,1.41941553-1.57033231-.00398899-.70738086-.50460721-1.50584365-1.59559592-1.5889476ZM17.83158161,10.72615849c-.36166841,0-.72799064-.01196697-1.14949389-.02592843-.39358033-.01396146-.78716065-.0272581-1.17409266-.0272581-.323773,0-.64222736.00930764-.95403339.03590091-.82705055.06980732-1.4207452.65951298-1.51315679,1.50584365l.00066483,8.76846439c-.07446114.26859198-.26393816.29784457-.34238829.29784457-.14626296,0-.32643233-.09972474-.35036627-.38161336-.06714799-.781842-.03457124-1.67803504-.00531865-2.48181648.02792293-.76389154.05651069-1.55304669.00664832-2.32092723-.03457124-.34837177-.2752403-.58239251-.59768364-.58239251-.34770694,0-.60965061.26925681-.63624387.65618882l.00797798,4.82069416c-.0505272.17950454-.17950454.28654243-.34438279.28654243-.19745499,0-.33241582-.11966969-.3530256-.30981154l.00398899-8.79705215-.05917002-.13629048c-.11634554-.22005927-.33308065-.35634975-.56510689-.35634975-.31047637,0-.55646408.23269107-.61230993.58172768-.03390641.47867877-.01529113.98195632.00332416,1.48523386.01928012.52056317.03723057,1.01253857-.00332416,1.48257454-.01728562.19811983-.18016937.28654243-.33441031.28654243-.09706542,0-.3257675-.04121956-.36033874-.42615708-.07113698-.82838021-.03124709-1.75515551.00731315-2.65134855.02127461-.50128305.04188439-.99458812.04321406-1.43736599.02260428-.31380053.64355702-.95270373,1.0171924-.98461565.02925259.01728562.07246665.04919754.19944949.14626296.13629048.10238407.28321828.2100868.36100358.25330085.50061822.27457546,1.03780218.41352527,1.59626075.41352527.77519368,0,1.54839287-.27856445,2.21787832-.79912762.19014185.00598348.38294302.00797798.57574419.00797798.45939866,0,.92544563-.01329663,1.46129993-.02858776.43546472-.01196697.87092944-.02393394,1.3010755-.02393394.34637728,0,.69076007.00797798,1.02849453.02925259.34238829.02193944.48732159.19014185.5066017.32643233.02260428.17219139-.13230149.31380053-.23202624.36432773-.2459877.01662079-.49795889.02193944-.75125974.02193944Z" style="fill: #fff; fill-rule: evenodd;"/>
11
+ <path d="M11.67922969,8.57077434c1.35093788,0,2.45056939-1.09963152,2.45056939-2.45123423,0-1.35093788-1.09963152-2.45056939-2.45056939-2.45056939s-2.45056939,1.09963152-2.45056939,2.45056939c0,1.35160271,1.09963152,2.45123423,2.45056939,2.45123423ZM11.67922969,4.92882666c.65685365,0,1.19071345.5338598,1.19071345,1.19071345s-.5338598,1.19137828-1.19071345,1.19137828-1.19071345-.53452463-1.19071345-1.19137828.5338598-1.19071345,1.19071345-1.19071345Z" style="fill: #fff; fill-rule: evenodd;"/>
12
+ </g>
13
+ </g>
14
+ </g>
15
+ </svg>
@@ -0,0 +1,8 @@
1
+ // @ts-expect-error - svg loaded as dataurl
2
+ import scooter from "./rvf_shared_scooter.svg";
3
+
4
+ function Scooter({ ...props }) {
5
+ return <img alt="Scooter" src={scooter} {...props} />;
6
+ }
7
+
8
+ export default Scooter;
@@ -0,0 +1 @@
1
+ export { default } from "./Scooter";
@@ -0,0 +1,15 @@
1
+ <?xml version="1.0" encoding="UTF-8"?>
2
+ <svg id="Ebene_2" data-name="Ebene 2" xmlns="http://www.w3.org/2000/svg" width="25.64767838" height="25.64767456" viewBox="0 0 25.64767838 25.64767456">
3
+ <g id="rvf_base">
4
+ <g id="rvf_shared_scooter">
5
+ <g>
6
+ <path d="M12.82391739,25.14752197C6.02850723,25.14752197.50018692,19.61920166.50018692,12.8237915S6.02850723.50006104,12.82391739.50006104s12.32373047,5.52832031,12.32373047,12.32373047-5.52832031,12.32373047-12.32373047,12.32373047Z" style="fill: #00973b;"/>
7
+ <path d="M12.82384109,1c6.53012085,0,11.82383728,5.29371643,11.82383728,11.82384491,0,6.53012085-5.29371643,11.82382965-11.82383728,11.82382965-6.53012848,0-11.82384109-5.2937088-11.82384109-11.82382965C1,6.29371643,6.29371262,1,12.82384109,1M12.82384109,0C5.7527504,0,0,5.75275421,0,12.82384491c0,7.07108307,5.7527504,12.82382965,12.82384109,12.82382965s12.82383728-5.75274658,12.82383728-12.82382965C25.64767838,5.75275421,19.89493179,0,12.82384109,0h0Z" style="fill: #f7f4f4;"/>
8
+ </g>
9
+ <g id="Group-5">
10
+ <path d="M19.3640435,18.76264753l-1.03417969-3.86083984c-.10400391-.38720703-.50097656-.61914062-.89208984-.51416016-.38769531.10400391-.61816406.50439453-.51416016.89160156l1.03417969,3.85986328c.04980469.18798828.17041016.34472656.33886719.44189453.11230469.06494141.23681641.09814453.36279297.09814453.06347656,0,.12695312-.00830078.18945312-.02539062.18798828-.04980469.34472656-.17041016.44238281-.33886719.09716797-.16845703.12304688-.36474609.07275391-.55224609Z" style="fill: #fff; fill-rule: evenodd;"/>
11
+ <path d="M18.82009819,7.66889753c-.08447266-.31787109-.37353516-.54003906-.70263672-.54003906-.06347656,0-.12695312.00830078-.25244141.04199219l-4.94335938,1.32421875c-.38769531.10400391-.61914062.50390625-.51513672.89160156.08398438.31445312.37255859.53417969.70117188.53417969.05029297,0,.10107422-.00488281.19042969-.01953125l2.00878906-.52490234.53955078,2.01318359.14892578.46386719-2.20458984,3.81787109-.30517578.60791016h-2.70751953c-.04833984-.19384766-.12255859-.39160156-.22607422-.60351562-.09326172-.18798828-.20849609-.36865234-.34228516-.53759766-.57714844-.7265625-1.42919922-1.14355469-2.33837891-1.14355469-1.65185547,0-2.99609375,1.34423828-2.99609375,2.99609375s1.34423828,2.99609375,2.99609375,2.99609375c1.12451172,0,2.14501953-.63085938,2.66210938-1.64697266.11621094-.22998047.19775391-.44824219.17089844-.60449219h2.99560547c.28808594,0,.65820312-.13525391.80761719-.39306641l2.01318359-3.48730469.86279297-1.52880859c.09716797-.16796875.12353516-.36425781.07324219-.55273438l-.74658203-2.78613281,1.59521484-.42724609c.18798828-.04980469.34472656-.17041016.44189453-.33886719.09765625-.16845703.12353516-.36474609.07275391-.55224609ZM6.33132866,16.99067487c0-.359375.12646484-.70019531.36572266-.98486328.07128906-.08544922.15234375-.16357422.23925781-.23095703.27539062-.21240234.59912109-.32421875.93505859-.32421875.33544922,0,.65917969.11181641.93505859.32421875.18212891.140625.32958984.31347656.43066406.50439453h-1.30566406c-.40136719,0-.72802734.32666016-.72802734.72802734s.32666016.72802734.72802734.72802734h1.28417969c-.109375.19726562-.26269531.36962891-.44775391.50341797-.26708984.19091797-.57714844.29199219-.89648438.29199219-.31982422,0-.62988281-.10107422-.89599609-.29199219-.09765625-.07080078-.18896484-.15673828-.27832031-.26269531-.23925781-.28515625-.36572266-.62597656-.36572266-.98535156Z" style="fill: #fff; fill-rule: evenodd;"/>
12
+ </g>
13
+ </g>
14
+ </g>
15
+ </svg>
@@ -0,0 +1,24 @@
1
+ import { JSX } from "preact";
2
+
3
+ function Share({ ...props }: JSX.SVGAttributes<SVGSVGElement>) {
4
+ return (
5
+ <svg
6
+ fill="none"
7
+ height={24}
8
+ stroke="currentColor"
9
+ strokeWidth={1.5}
10
+ viewBox="0 0 24 24"
11
+ width={24}
12
+ xmlns="http://www.w3.org/2000/svg"
13
+ {...props}
14
+ >
15
+ <path
16
+ d="M7.217 10.907a2.25 2.25 0 1 0 0 2.186m0-2.186c.18.324.283.696.283 1.093s-.103.77-.283 1.093m0-2.186 9.566-5.314m-9.566 7.5 9.566 5.314m0 0a2.25 2.25 0 1 0 3.935 2.186 2.25 2.25 0 0 0-3.935-2.186Zm0-12.814a2.25 2.25 0 1 0 3.933-2.185 2.25 2.25 0 0 0-3.933 2.185Z"
17
+ strokeLinecap="round"
18
+ strokeLinejoin="round"
19
+ />
20
+ </svg>
21
+ );
22
+ }
23
+
24
+ export default Share;
@@ -0,0 +1 @@
1
+ export { default } from "./Share";
@@ -0,0 +1,24 @@
1
+ import { JSX } from "preact";
2
+
3
+ function Stack({ ...props }: JSX.SVGAttributes<SVGSVGElement>) {
4
+ return (
5
+ <svg
6
+ fill="none"
7
+ height={24}
8
+ stroke="currentColor"
9
+ strokeWidth={1.5}
10
+ viewBox="0 0 24 24"
11
+ width={24}
12
+ xmlns="http://www.w3.org/2000/svg"
13
+ {...props}
14
+ >
15
+ <path
16
+ d="M6.429 9.75 2.25 12l4.179 2.25m0-4.5 5.571 3 5.571-3m-11.142 0L2.25 7.5 12 2.25l9.75 5.25-4.179 2.25m0 0L21.75 12l-4.179 2.25m0 0 4.179 2.25L12 21.75 2.25 16.5l4.179-2.25m11.142 0-5.571 3-5.571-3"
17
+ strokeLinecap="round"
18
+ strokeLinejoin="round"
19
+ />
20
+ </svg>
21
+ );
22
+ }
23
+
24
+ export default Stack;
@@ -0,0 +1 @@
1
+ export { default } from "./Stack";
@@ -0,0 +1,8 @@
1
+ // @ts-expect-error - svg loaded as dataurl
2
+ import src from "./rvf_video.svg";
3
+
4
+ function Video({ ...props }) {
5
+ return <img alt="Video" src={src} title="Video" {...props} />;
6
+ }
7
+
8
+ export default Video;
@@ -0,0 +1 @@
1
+ export { default } from "./Video";
@@ -0,0 +1,19 @@
1
+ <?xml version="1.0" encoding="UTF-8"?>
2
+ <svg id="Ebene_2" data-name="Ebene 2" xmlns="http://www.w3.org/2000/svg" width="25.64767456" height="25.64767456" viewBox="0 0 25.64767456 25.64767456">
3
+ <g id="rvf_base">
4
+ <g id="rvf_video">
5
+ <g>
6
+ <path d="M12.82368469,25.14781189C6.02827454,25.14781189.49995422,19.6190033.49995422,12.82359314S6.02827454.49986267,12.82368469.49986267s12.32421875,5.52832031,12.32421875,12.32373047-5.52880859,12.32421875-12.32421875,12.32421875Z" style="fill: #f3c200;"/>
7
+ <path d="M12.82383728,1c6.53012848,0,11.82383728,5.29370117,11.82383728,11.82383728,0,6.53012085-5.2937088,11.82383728-11.82383728,11.82383728-6.53012085,0-11.82383728-5.29371643-11.82383728-11.82383728C1,6.29370117,6.29371643,1,12.82383728,1M12.82383728,0C5.75274658,0,0,5.75274658,0,12.82383728s5.75274658,12.82383728,12.82383728,12.82383728,12.82383728-5.75274658,12.82383728-12.82383728S19.89492798,0,12.82383728,0h0Z" style="fill: #f7f4f4;"/>
8
+ </g>
9
+ <g id="info_info-videoterminal-2px" data-name="info/info-videoterminal-2px">
10
+ <g id="Group-9">
11
+ <path id="Fill-1" d="M12.2882218,5.73500377c0-.39743999.32255997-.72.72-.72s.72.32256001.72.72c0,.39744003-.32255997.72-.72.72s-.72-.32255997-.72-.72" style="fill: #fff; fill-rule: evenodd;"/>
12
+ <path id="Fill-3" d="M20.2082218,17.21446833c0,.79559967-.64440033,1.44-1.44,1.44h-.72v-.50184036l-.0035994-.14400055c-.07488007-1.52351944-1.33416046-2.73599945-2.8764006-2.73599945h-4.32l-.14399986.00287979c-1.52352013.07488007-2.73600014,1.33416046-2.73600014,2.87712021v.50184036h-.72c-.79560001,0-1.44-.64440033-1.44-1.44v-7.20000069c0-.79560001.64439999-1.44,1.44-1.44h11.52c.79559967,0,1.44.64439999,1.44,1.44v7.20000069ZM16.6082218,18.65446833h-7.2v-.50184036l.00360008-.10799973c.05543976-.74519989.67751999-1.33200027,1.43639992-1.33200027h4.32l.10728012.0035994c.74519989.05472015,1.33271988.67680038,1.33271988,1.4364006v.50184036ZM18.7682218,7.13446782H7.2482218c-1.59047999,0-2.88,1.28952009-2.88,2.87999983v7.20000069c0,1.59047974,1.28952001,2.88,2.88,2.88h11.52c1.59047974,0,2.88-1.28952026,2.88-2.88v-7.20000069c0-1.59047974-1.28952026-2.87999983-2.88-2.87999983h0Z" style="fill: #fff; fill-rule: evenodd;"/>
13
+ <path id="Fill-5" d="M13.7282218,5.73500377c0-.39743999-.32255997-.72-.72-.72s-.72.32256001-.72.72c0,.39744003.32255997.72.72.72s.72-.32255997.72-.72" style="fill: #fff; fill-rule: evenodd;"/>
14
+ <path id="Fill-7" d="M13.0082218,10.70948371c.70415977,0,1.27511993.57095982,1.27511993,1.27512028,0,.70488007-.57096016,1.27583954-1.27511993,1.27583954s-1.27511993-.57095947-1.27511993-1.27583954c0-.70416046.57096016-1.27512028,1.27511993-1.27512028M13.0082218,14.70044352c1.49976013,0,2.71511993-1.21608009,2.71511993-2.71583954,0-1.49904018-1.2153598-2.71512028-2.71511993-2.71512028s-2.71511993,1.21608009-2.71511993,2.71512028c0,1.49975945,1.2153598,2.71583954,2.71511993,2.71583954" style="fill: #fff; fill-rule: evenodd;"/>
15
+ </g>
16
+ </g>
17
+ </g>
18
+ </g>
19
+ </svg>
@@ -0,0 +1,12 @@
1
+ <?xml version="1.0" encoding="UTF-8"?>
2
+ <svg id="Ebene_2" data-name="Ebene 2" xmlns="http://www.w3.org/2000/svg" width="25.64767456" height="25.64768982" viewBox="0 0 25.64767456 25.64768982">
3
+ <g id="rvf_base">
4
+ <g id="rvf_shared_ride_2">
5
+ <g>
6
+ <path d="M12.82395935,25.14767456C6.02854919,25.14767456.50022888,19.61935425.50022888,12.82394409S6.02854919.50021362,12.82395935.50021362s12.32373047,5.52832031,12.32373047,12.32373047-5.52832031,12.32373047-12.32373047,12.32373047Z" style="fill: #00973b;"/>
7
+ <path d="M12.82382965,1c6.53012848,0,11.82384491,5.29371643,11.82384491,11.82383728,0,6.53013611-5.29371643,11.82385254-11.82384491,11.82385254-6.53012085,0-11.82382965-5.29371643-11.82382965-11.82385254C1,6.29371643,6.2937088,1,12.82382965,1M12.82382965,0C5.75274658,0,0,5.75274658,0,12.82383728s5.75274658,12.82385254,12.82382965,12.82385254,12.82384491-5.75276184,12.82384491-12.82385254S19.89491272,0,12.82382965,0h0Z" style="fill: #f7f4f4;"/>
8
+ </g>
9
+ <path d="M20.5993162,13.06947705c.01806641-.52392578-.22607422-1.02832031-.66113281-1.38085938.17089844-.35986328.18994141-.77636719.04833984-1.16992188-.14404297-.40136719-.44335938-.7265625-.81689453-.89697266.09277344-.8046875-.22900391-1.45996094-.87988281-1.77246094-.18701172-.08984375-.49316406-.15039062-.76220703-.15039062-.18994141,0-.34326172.02929688-.45654297.08642578l-2.15576172,1.08789062c-.21679688-1.35644531-.68652344-2.35888672-1.46728516-3.13818359-.30664062-.30566406-.77783203-.71142578-1.33105469-.71142578-.14697266,0-.29296875.02929688-.43310547.08642578-.93847656.38378906-.84814453,1.22998047-.77587891,1.91015625.02148438.20166016.04345703.40283203.04101562.59472656-.01953125,1.80419922-.78125,3.51757812-2.04638672,4.62304688-.09472656-.09277344-.24121094-.19580078-.44287109-.19580078-.06298828,0-.12695312.01025391-.21875.04248047l-3.40820312,1.71630859.49414062,1.05322266,2.8984375-1.46289062,2.91113281,5.76757812-2.97363281,1.43310547.53759766,1.02832031,3.50097656-1.69384766c.17675781-.08935547.25537109-.31835938.27685547-.51123047.57470703-.06005859,1.10302734-.1484375,1.60888672-.27001953,1.39355469-.33349609,2.66748047-1.00585938,3.89941406-1.65625.56884766-.30029297,1.13769531-.60107422,1.75585938-.89111328.39501953-.296875.62695312-.74951172.63671875-1.24169922.0078125-.40820312-.13769531-.79589844-.40478516-1.09667969.38427734-.29785156.60888672-.72021484.625-1.18994141ZM18.43427714,13.76918408c-.22021484.10009766-.41552734.19140625-.53173828.27490234-.16748047.12060547-.25732422.32617188-.23486328.53759766.02294922.21044922.1484375.38476562.3359375.46582031.06494141.02832031.13476562.04248047.20703125.04248047.13623047,0,.26074219-.05078125.37060547-.09570312.09521484-.03857422.18457031-.07519531.26660156-.07519531.04443359,0,.08496094.01025391.12792969.03320312.13720703.07275391.22460938.18359375.24560547.31201172.02099609.12890625-.02636719.26220703-.06933594.33007812-.61328125.27246094-1.22998047.60449219-1.82666016.92578125-.93115234.50097656-1.89355469,1.01904297-2.86621094,1.32519531-.82080078.25878906-1.68896484.37841797-2.44628906.45751953l-2.51513672-5.01660156c1.72509766-1.484375,2.65087891-3.58056641,2.61035156-5.91992188-.00146484-.07226562-.01416016-.17919922-.02880859-.30273438-.02978516-.24414062-.09179688-.75097656.01757812-.87451172.00537109-.00634766.01123047-.01269531.03710938-.01269531l.03515625.00244141c.05322266.02197266.23876953.17480469.38183594.31396484.72167969.69873047,1.10253906,1.58300781,1.26220703,2.94042969-.03222656.015625-.06591797.03076172-.10107422.04589844-.08203125.03613281-.16357422.07275391-.23632812.12109375-.23291016.15283203-.33496094.41455078-.25976562.66601562.07421875.24707031.296875.41357422.55371094.41357422.07568359,0,.15283203-.01416016.22900391-.04199219.56396484-.20703125,1.15332031-.54638672,1.72363281-.875.58984375-.33935547,1.19921875-.69042969,1.75878906-.87988281.03515625-.01171875.07373047-.01757812.11474609-.01757812.17626953,0,.35595703.10986328.40917969.25097656.15722656.41699219-.41796875.70507812-1.18603516,1.03808594-.30859375.13378906-.57470703.24902344-.74902344.3828125-.18212891.140625-.25195312.37402344-.17675781.59423828.08398438.24609375.31396484.40576172.62890625.40576172h.00390625c.28173828-.01660156.69873047-.25341797,1.13964844-.50390625.28173828-.16015625.57373047-.32617188.75830078-.38574219.03710938-.01220703.07421875-.01855469.11035156-.01855469.17285156,0,.29345703.13964844.34375.25927734.02539062.06005859.09570312.27001953-.06591797.43603516-.10009766.10253906-.18652344.13525391-.30566406.18017578-.06787109.02539062-.13720703.05224609-.20947266.09033203-.11669922.06103516-.26660156.13134766-.42382812.20458984-.31152344.14599609-.63427734.296875-.82958984.43652344-.23388672.16650391-.328125.42822266-.24707031.68212891.07666016.23974609.29101562.40039062.53271484.40039062l.11474609-.01123047.02392578-.00634766c.21582031-.0546875.44824219-.18994141.69433594-.33300781.29833984-.17333984.63671875-.37011719.890625-.37011719.13037109,0,.22753906.05078125.31494141.16503906.12548828.16308594.1015625.25878906.09375.29052734-.06884766.27832031-.64599609.54150391-1.02734375.71582031Z" style="fill: #fff;"/>
10
+ </g>
11
+ </g>
12
+ </svg>
@@ -7,3 +7,5 @@ export const RVF_EXTENT_3857 = transformExtent(
7
7
  "EPSG:4326",
8
8
  "EPSG:3857",
9
9
  );
10
+
11
+ export const LAYER_PROP_IS_EXPORTING = "isExporting";
@@ -6,6 +6,8 @@ import { bbox as bboxStrategy } from "ol/loadingstrategy.js";
6
6
  import { Vector } from "ol/source";
7
7
  import { Circle, Fill, Stroke, Style, Text } from "ol/style";
8
8
 
9
+ import { LAYER_PROP_IS_EXPORTING } from "./constants";
10
+
9
11
  function createMobiDataBwWfsLayer(
10
12
  name: string,
11
13
  color: string,
@@ -33,6 +35,7 @@ function createMobiDataBwWfsLayer(
33
35
  );
34
36
  },
35
37
  });
38
+
36
39
  const style = new Style({
37
40
  image: new Circle({
38
41
  declutterMode: "declutter",
@@ -59,26 +62,6 @@ function createMobiDataBwWfsLayer(
59
62
  }),
60
63
  });
61
64
 
62
- const styleFunction = (feature) => {
63
- const clone = style.clone();
64
- clone.getText().setText(feature.get("num_vehicles_available")?.toString());
65
- const isFreeFloat = !feature.get("num_vehicles_available")?.toString();
66
- if (isFreeFloat) {
67
- (clone.getImage() as Circle).setRadius(6);
68
- }
69
- clone.setZIndex(parseInt(getUid(feature), 10));
70
- return [
71
- clone,
72
- // new Style({
73
- // text: new Text({
74
- // fill: new Fill({ color: color }),
75
- // offsetY: 15,
76
- // stroke: new Stroke({ color: "white", width: 2 }),
77
- // text: feature.get("form_factor") || name,
78
- // }),
79
- // }),
80
- ];
81
- };
82
65
  const layer = new VectorLayer({
83
66
  // @ts-expect-error - custom properties
84
67
  isQueryable: true,
@@ -110,6 +93,31 @@ function createMobiDataBwWfsLayer(
110
93
  // },
111
94
  });
112
95
 
96
+ const styleFunction = (feature: Feature) => {
97
+ if (layer.get(LAYER_PROP_IS_EXPORTING)) {
98
+ return null;
99
+ }
100
+ const clone = style.clone();
101
+
102
+ clone.getText().setText(feature.get("num_vehicles_available")?.toString());
103
+ const isFreeFloat = !feature.get("num_vehicles_available")?.toString();
104
+ if (isFreeFloat) {
105
+ (clone.getImage() as Circle).setRadius(6);
106
+ }
107
+ clone.setZIndex(parseInt(getUid(feature), 10));
108
+ return [
109
+ clone,
110
+ // new Style({
111
+ // text: new Text({
112
+ // fill: new Fill({ color: color }),
113
+ // offsetY: 15,
114
+ // stroke: new Stroke({ color: "white", width: 2 }),
115
+ // text: feature.get("form_factor") || name,
116
+ // }),
117
+ // }),
118
+ ];
119
+ };
120
+
113
121
  source.on("addfeature", function (event) {
114
122
  const feature = event.feature;
115
123
  feature.setStyle(styleFunction);
@@ -7,13 +7,14 @@ import { Cluster, Vector } from "ol/source";
7
7
  import { Circle, Fill, Icon, Stroke, Style, Text } from "ol/style";
8
8
 
9
9
  // @ts-expect-error - load svg as data url
10
- import bicycle from "../icons/Bicycle/verkehrstraeger-rad-2px-white.svg";
10
+ import bicycle from "../icons/Bike/rvf_shared_bike.svg";
11
11
  // @ts-expect-error - load svg as data url
12
- import car from "../icons/Car/verkehrstraeger-auto-2px-white.svg";
12
+ import car from "../icons/Car/rvf_shared_car.svg";
13
13
  // @ts-expect-error - load svg as data url
14
- import cargoBicycle from "../icons/CargoBicycle/verkehrstraeger-lastenrad-2px-white.svg";
14
+ import cargoBicycle from "../icons/CargoBike/rvf_shared_cargo_bike.svg";
15
15
  // @ts-expect-error - load svg as data url
16
- import scooter from "../icons/Scooter/scooter.svg";
16
+ import scooter from "../icons/Scooter/rvf_shared_scooter.svg";
17
+ import { LAYER_PROP_IS_EXPORTING } from "./constants";
17
18
 
18
19
  const iconByFormFactor = {
19
20
  bicycle,
@@ -25,6 +26,7 @@ const iconByFormFactor = {
25
26
  function createSharedMobilityLayer(
26
27
  name: string,
27
28
  color: string,
29
+ formFactor: string,
28
30
  layerOptions: Options = {
29
31
  minZoom: 17.99,
30
32
  },
@@ -54,21 +56,27 @@ function createSharedMobilityLayer(
54
56
  xhr.onerror = onError;
55
57
  xhr.onload = function () {
56
58
  if (xhr.status == 200) {
57
- const features = source.getFormat().readFeatures(xhr.responseText);
58
- if (features) {
59
- features.forEach((feature) => {
60
- // The WFS returns everytime a different id for the same vehicle, so we set the vehicle_id as id.
61
- // and remove the previous feature with the same id.
62
- const vehicleId = feature.get("vehicle_id");
63
- if (vehicleId) {
64
- feature.setId(vehicleId);
65
- const featuresToRemove = source.getFeatures().filter((feat) => {
66
- return feat.getId() === feature.getId();
67
- });
68
- source.removeFeatures(featuresToRemove);
59
+ const features = source
60
+ .getFormat()
61
+ .readFeatures(xhr.responseText)
62
+ ?.filter((feature) => {
63
+ if (formFactor) {
64
+ return feature.get("form_factor") === formFactor;
69
65
  }
66
+ return true;
70
67
  });
71
- }
68
+ features?.forEach((feature) => {
69
+ // The WFS returns everytime a different id for the same vehicle, so we set the vehicle_id as id.
70
+ // and remove the previous feature with the same id.
71
+ const vehicleId = feature.get("vehicle_id");
72
+ if (vehicleId) {
73
+ feature.setId(vehicleId);
74
+ const featuresToRemove = source.getFeatures().filter((feat) => {
75
+ return feat.getId() === feature.getId();
76
+ });
77
+ source.removeFeatures(featuresToRemove);
78
+ }
79
+ });
72
80
  source.addFeatures(features);
73
81
  success(features);
74
82
  } else {
@@ -109,25 +117,25 @@ function createSharedMobilityLayer(
109
117
  iconStyleByFormFactor[key] = new Style({
110
118
  image: new Icon({
111
119
  src: value || iconByFormFactor["scooter"],
112
- width: 17,
120
+ width: 25,
113
121
  }),
114
122
  });
115
123
  });
116
124
 
117
- const backgroundStyle = new Style({
118
- image: new Circle({
119
- declutterMode: "declutter",
120
- displacement: [0, 0],
121
- fill: new Fill({
122
- color: "#00973c",
123
- }),
124
- radius: 12,
125
- }),
126
- stroke: new Stroke({
127
- color: "white",
128
- width: 2,
129
- }),
130
- });
125
+ // const backgroundStyle = new Style({
126
+ // image: new Circle({
127
+ // declutterMode: "declutter",
128
+ // displacement: [0, 0],
129
+ // fill: new Fill({
130
+ // color: "#00973c",
131
+ // }),
132
+ // radius: 12,
133
+ // }),
134
+ // stroke: new Stroke({
135
+ // color: "white",
136
+ // width: 2,
137
+ // }),
138
+ // });
131
139
 
132
140
  const clusterSource = new Cluster({
133
141
  distance: 40,
@@ -135,6 +143,9 @@ function createSharedMobilityLayer(
135
143
  });
136
144
 
137
145
  const styleFunction = (feature) => {
146
+ if (layer.get(LAYER_PROP_IS_EXPORTING)) {
147
+ return null;
148
+ }
138
149
  const clone = style.clone();
139
150
 
140
151
  clone.getText().setText(feature.get("features").length);
@@ -143,7 +154,7 @@ function createSharedMobilityLayer(
143
154
  const formFactor =
144
155
  feature.get("features")?.[0].get?.("form_factor") || "scooter";
145
156
 
146
- return [clone, backgroundStyle, iconStyleByFormFactor[formFactor]];
157
+ return [clone, iconStyleByFormFactor[formFactor]];
147
158
  };
148
159
 
149
160
  const layer = new VectorLayer({
@@ -526,6 +526,8 @@ export interface CopyrightExportOptions {
526
526
 
527
527
  export interface MapExportOptions {
528
528
  copyrightOptions?: CopyrightExportOptions;
529
+ onAfter?: (map: Map, layers: BaseLayer[]) => void;
530
+ onBefore?: (map: Map, layers: BaseLayer[]) => void;
529
531
  pixelRatio?: number;
530
532
  text?: string;
531
533
  useCopyright?: boolean;
@@ -539,11 +541,14 @@ async function exportPdf(
539
541
  mapExportOptions: MapExportOptions = {},
540
542
  ): Promise<boolean> {
541
543
  const {
544
+ onAfter,
545
+ onBefore,
542
546
  pixelRatio = 3,
543
547
  useCopyright = true,
544
548
  useMaxExtent = false,
545
549
  usePlaceholder = true,
546
550
  } = mapExportOptions;
551
+
547
552
  const format = formatOptions?.format || "A4";
548
553
  const sizePt = sizesByFormat72Dpi[format as string] || (format as number[]);
549
554
  const size = sizePt.map((n) => {
@@ -590,6 +595,9 @@ async function exportPdf(
590
595
 
591
596
  map.getLayers().clear();
592
597
 
598
+ // Hide/show some layer before export
599
+ onBefore?.(map, layers);
600
+
593
601
  // Creates a new map with proper size and extent
594
602
  const mapToExport = await createMapToExport(map, layers, extent, size, {
595
603
  pixelRatio: pixelRatio,
@@ -612,6 +620,9 @@ async function exportPdf(
612
620
 
613
621
  document.body.style.overflow = "auto";
614
622
 
623
+ // Undo what you have done on onBefore
624
+ onAfter?.(map, layers);
625
+
615
626
  // Reset map to previous state
616
627
  map.setLayers(layers);
617
628
 
@@ -0,0 +1,25 @@
1
+ import { Collection } from "ol";
2
+ import BaseLayer from "ol/layer/Base";
3
+ import Group from "ol/layer/Group";
4
+
5
+ const getAllLayers = (
6
+ layersOrLayerGroup: BaseLayer[] | Collection<BaseLayer> | Group,
7
+ ) => {
8
+ const allLayers = [];
9
+ function addLayersFrom(layers: BaseLayer[] | Collection<BaseLayer>) {
10
+ layers.forEach(function (layer) {
11
+ if (layer instanceof Group) {
12
+ addLayersFrom((layer as Group).getLayers());
13
+ } else {
14
+ allLayers.push(layer);
15
+ }
16
+ });
17
+ }
18
+ addLayersFrom(
19
+ (layersOrLayerGroup as Group)?.getLayers?.() ||
20
+ (layersOrLayerGroup as BaseLayer[] | Collection<BaseLayer>),
21
+ );
22
+ return allLayers;
23
+ };
24
+
25
+ export default getAllLayers;