react-spatial 1.2.2 → 1.2.3-beta.1

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 (185) hide show
  1. package/components/BaseLayerSwitcher/BaseLayerSwitcher.js +163 -221
  2. package/components/BaseLayerSwitcher/BaseLayerSwitcher.js.map +7 -1
  3. package/components/BaseLayerSwitcher/index.js +1 -3
  4. package/components/BaseLayerSwitcher/index.js.map +7 -1
  5. package/components/BasicMap/BasicMap.js +147 -285
  6. package/components/BasicMap/BasicMap.js.map +7 -1
  7. package/components/BasicMap/index.js +1 -3
  8. package/components/BasicMap/index.js.map +7 -1
  9. package/components/CanvasSaveButton/CanvasSaveButton.js +165 -419
  10. package/components/CanvasSaveButton/CanvasSaveButton.js.map +7 -1
  11. package/components/CanvasSaveButton/index.js +1 -3
  12. package/components/CanvasSaveButton/index.js.map +7 -1
  13. package/components/Copyright/Copyright.js +29 -70
  14. package/components/Copyright/Copyright.js.map +7 -1
  15. package/components/Copyright/index.js +1 -3
  16. package/components/Copyright/index.js.map +7 -1
  17. package/components/FeatureExportButton/FeatureExportButton.js +40 -106
  18. package/components/FeatureExportButton/FeatureExportButton.js.map +7 -1
  19. package/components/FeatureExportButton/index.js +1 -3
  20. package/components/FeatureExportButton/index.js.map +7 -1
  21. package/components/FilterButton/FilterButton.js +41 -106
  22. package/components/FilterButton/FilterButton.js.map +7 -1
  23. package/components/FilterButton/index.js +1 -3
  24. package/components/FilterButton/index.js.map +7 -1
  25. package/components/FitExtent/FitExtent.js +17 -50
  26. package/components/FitExtent/FitExtent.js.map +7 -1
  27. package/components/FitExtent/index.js +1 -3
  28. package/components/FitExtent/index.js.map +7 -1
  29. package/components/FollowButton/FollowButton.js +41 -111
  30. package/components/FollowButton/FollowButton.js.map +7 -1
  31. package/components/FollowButton/index.js +1 -3
  32. package/components/FollowButton/index.js.map +7 -1
  33. package/components/Geolocation/Geolocation.js +104 -213
  34. package/components/Geolocation/Geolocation.js.map +7 -1
  35. package/components/Geolocation/index.js +1 -3
  36. package/components/Geolocation/index.js.map +7 -1
  37. package/components/LayerTree/LayerTree.js +204 -410
  38. package/components/LayerTree/LayerTree.js.map +7 -1
  39. package/components/LayerTree/index.js +1 -3
  40. package/components/LayerTree/index.js.map +7 -1
  41. package/components/MousePosition/MousePosition.js +61 -130
  42. package/components/MousePosition/MousePosition.js.map +7 -1
  43. package/components/MousePosition/index.js +1 -3
  44. package/components/MousePosition/index.js.map +7 -1
  45. package/components/NorthArrow/NorthArrow.js +22 -62
  46. package/components/NorthArrow/NorthArrow.js.map +7 -1
  47. package/components/NorthArrow/index.js +1 -3
  48. package/components/NorthArrow/index.js.map +7 -1
  49. package/components/Overlay/Overlay.js +83 -130
  50. package/components/Overlay/Overlay.js.map +7 -1
  51. package/components/Overlay/index.js +1 -3
  52. package/components/Overlay/index.js.map +7 -1
  53. package/components/Permalink/Permalink.js +150 -244
  54. package/components/Permalink/Permalink.js.map +7 -1
  55. package/components/Permalink/index.js +1 -3
  56. package/components/Permalink/index.js.map +7 -1
  57. package/components/Popup/Popup.js +106 -233
  58. package/components/Popup/Popup.js.map +7 -1
  59. package/components/Popup/index.js +1 -3
  60. package/components/Popup/index.js.map +7 -1
  61. package/components/ResizeHandler/ResizeHandler.js +58 -113
  62. package/components/ResizeHandler/ResizeHandler.js.map +7 -1
  63. package/components/ResizeHandler/index.js +1 -3
  64. package/components/ResizeHandler/index.js.map +7 -1
  65. package/components/RouteSchedule/RouteSchedule.js +150 -283
  66. package/components/RouteSchedule/RouteSchedule.js.map +7 -1
  67. package/components/RouteSchedule/index.js +1 -3
  68. package/components/RouteSchedule/index.js.map +7 -1
  69. package/components/ScaleLine/ScaleLine.js +21 -45
  70. package/components/ScaleLine/ScaleLine.js.map +7 -1
  71. package/components/ScaleLine/index.js +1 -3
  72. package/components/ScaleLine/index.js.map +7 -1
  73. package/components/Search/Search.js +122 -186
  74. package/components/Search/Search.js.map +7 -1
  75. package/components/Search/SearchService.js +45 -69
  76. package/components/Search/SearchService.js.map +7 -1
  77. package/components/Search/engines/Engine.js +18 -25
  78. package/components/Search/engines/Engine.js.map +7 -1
  79. package/components/Search/engines/StopFinder.js +21 -38
  80. package/components/Search/engines/StopFinder.js.map +7 -1
  81. package/components/Search/index.js +3 -6
  82. package/components/Search/index.js.map +7 -1
  83. package/components/StopsFinder/StopsFinder.js +123 -174
  84. package/components/StopsFinder/StopsFinder.js.map +7 -1
  85. package/components/StopsFinder/StopsFinderOption.js +37 -54
  86. package/components/StopsFinder/StopsFinderOption.js.map +7 -1
  87. package/components/StopsFinder/index.js +1 -3
  88. package/components/StopsFinder/index.js.map +7 -1
  89. package/components/TrackerControl/TrackerControl.js +73 -128
  90. package/components/TrackerControl/TrackerControl.js.map +7 -1
  91. package/components/TrackerControl/index.js +1 -3
  92. package/components/TrackerControl/index.js.map +7 -1
  93. package/components/Zoom/Zoom.js +69 -112
  94. package/components/Zoom/Zoom.js.map +7 -1
  95. package/components/Zoom/index.js +1 -3
  96. package/components/Zoom/index.js.map +7 -1
  97. package/package.json +10 -5
  98. package/themes/default/components.scss +0 -1
  99. package/themes/default/examples.scss +0 -1
  100. package/utils/GlobalsForOle.js +63 -64
  101. package/utils/GlobalsForOle.js.map +7 -1
  102. package/utils/KML.js +178 -364
  103. package/utils/KML.js.map +7 -1
  104. package/utils/KMLFormat.js +37 -73
  105. package/utils/KMLFormat.js.map +7 -1
  106. package/utils/Styles.js +24 -32
  107. package/utils/Styles.js.map +7 -1
  108. package/utils/getPolygonPattern.js +11 -44
  109. package/utils/getPolygonPattern.js.map +7 -1
  110. package/utils/timeUtils.js +16 -35
  111. package/utils/timeUtils.js.map +7 -1
  112. package/LayerService.js +0 -193
  113. package/LayerService.js.map +0 -1
  114. package/LayerService.test.js +0 -160
  115. package/LayerService.test.js.map +0 -1
  116. package/Projections.js +0 -16
  117. package/Projections.js.map +0 -1
  118. package/components/BaseLayerSwitcher/BaseLayerSwitcher.test.js +0 -88
  119. package/components/BaseLayerSwitcher/BaseLayerSwitcher.test.js.map +0 -1
  120. package/components/BaseLayerToggler/BaseLayerToggler.js +0 -490
  121. package/components/BaseLayerToggler/BaseLayerToggler.js.map +0 -1
  122. package/components/BaseLayerToggler/BaseLayerToggler.md.scss +0 -9
  123. package/components/BaseLayerToggler/BaseLayerToggler.scss +0 -49
  124. package/components/BaseLayerToggler/BaseLayerToggler.test.js +0 -127
  125. package/components/BaseLayerToggler/BaseLayerToggler.test.js.map +0 -1
  126. package/components/BaseLayerToggler/index.js +0 -3
  127. package/components/BaseLayerToggler/index.js.map +0 -1
  128. package/components/BasicMap/BasicMap.test.js +0 -288
  129. package/components/BasicMap/BasicMap.test.js.map +0 -1
  130. package/components/CanvasSaveButton/CanvasSaveButton.test.js +0 -173
  131. package/components/CanvasSaveButton/CanvasSaveButton.test.js.map +0 -1
  132. package/components/Copyright/Copyright.test.js +0 -133
  133. package/components/Copyright/Copyright.test.js.map +0 -1
  134. package/components/FeatureExportButton/FeatureExportButton.test.js +0 -407
  135. package/components/FeatureExportButton/FeatureExportButton.test.js.map +0 -1
  136. package/components/FilterButton/FilterButton.test.js +0 -48
  137. package/components/FilterButton/FilterButton.test.js.map +0 -1
  138. package/components/FitExtent/FitExtent.test.js +0 -44
  139. package/components/FitExtent/FitExtent.test.js.map +0 -1
  140. package/components/FollowButton/FollowButton.test.js +0 -57
  141. package/components/FollowButton/FollowButton.test.js.map +0 -1
  142. package/components/Geolocation/Geolocation.test.js +0 -263
  143. package/components/Geolocation/Geolocation.test.js.map +0 -1
  144. package/components/LayerTree/LayerTree.test.js +0 -323
  145. package/components/LayerTree/LayerTree.test.js.map +0 -1
  146. package/components/MousePosition/MousePosition.test.js +0 -125
  147. package/components/MousePosition/MousePosition.test.js.map +0 -1
  148. package/components/NorthArrow/NorthArrow.test.js +0 -106
  149. package/components/NorthArrow/NorthArrow.test.js.map +0 -1
  150. package/components/Overlay/Overlay.test.js +0 -145
  151. package/components/Overlay/Overlay.test.js.map +0 -1
  152. package/components/Permalink/Permalink.test.js +0 -267
  153. package/components/Permalink/Permalink.test.js.map +0 -1
  154. package/components/Popup/Popup.test.js +0 -291
  155. package/components/Popup/Popup.test.js.map +0 -1
  156. package/components/ResizeHandler/ResizeHandler.test.js +0 -410
  157. package/components/ResizeHandler/ResizeHandler.test.js.map +0 -1
  158. package/components/RouteSchedule/RouteSchedule.test.js +0 -102
  159. package/components/RouteSchedule/RouteSchedule.test.js.map +0 -1
  160. package/components/ScaleLine/ScaleLine.test.js +0 -32
  161. package/components/ScaleLine/ScaleLine.test.js.map +0 -1
  162. package/components/Search/Search.test.js +0 -15
  163. package/components/Search/Search.test.js.map +0 -1
  164. package/components/StopsFinder/StopsFinder.test.js +0 -19
  165. package/components/StopsFinder/StopsFinder.test.js.map +0 -1
  166. package/components/TrackerControl/TrackerControl.test.js +0 -17
  167. package/components/TrackerControl/TrackerControl.test.js.map +0 -1
  168. package/components/Zoom/Zoom.test.js +0 -150
  169. package/components/Zoom/Zoom.test.js.map +0 -1
  170. package/propTypes.js +0 -55
  171. package/propTypes.js.map +0 -1
  172. package/setupTests.js +0 -5
  173. package/setupTests.js.map +0 -1
  174. package/styleguidist/ComponentsList.js +0 -52
  175. package/styleguidist/ComponentsList.js.map +0 -1
  176. package/styleguidist/StyleGuide.js +0 -253
  177. package/styleguidist/StyleGuide.js.map +0 -1
  178. package/utils/KML.test.js +0 -163
  179. package/utils/KML.test.js.map +0 -1
  180. package/utils/KMLFormat.test.js +0 -22
  181. package/utils/KMLFormat.test.js.map +0 -1
  182. package/utils/getPolygonPattern.test.js +0 -66
  183. package/utils/getPolygonPattern.test.js.map +0 -1
  184. package/utils/timeUtils.test.js +0 -32
  185. package/utils/timeUtils.test.js.map +0 -1
@@ -1,83 +1,49 @@
1
- /* eslint-disable react/no-unused-prop-types */
2
- /* eslint-disable react/prop-types */
3
- import React from 'react';
4
- import PropTypes from 'prop-types';
5
- import { TrackerLayer } from 'mobility-toolbox-js/ol';
6
- import { getBgColor } from 'mobility-toolbox-js/common/trackerConfig';
7
- import { getHoursAndMinutes, getDelayString } from '../../utils/timeUtils';
8
- import ReactTransitPropTypes from '../../propTypes';
9
- import firstStation from '../../images/RouteSchedule/firstStation.png';
10
- import station from '../../images/RouteSchedule/station.png';
11
- import lastStation from '../../images/RouteSchedule/lastStation.png';
12
- import line from '../../images/RouteSchedule/line.png';
13
-
14
- /**
15
- * Returns a color class to display the delay.
16
- * @param {Number} time Delay time in milliseconds.
17
- */
18
- var getDelayColor = function (time) {
19
- var secs = Math.round(((time / 1800 / 2) * 3600) / 1000);
1
+ import React from "react";
2
+ import PropTypes from "prop-types";
3
+ import {
4
+ RealtimeLayer as TrackerLayer,
5
+ trackerConfig
6
+ } from "mobility-toolbox-js/ol";
7
+ import { getHoursAndMinutes, getDelayString } from "../../utils/timeUtils";
8
+ import ReactTransitPropTypes from "../../propTypes";
9
+ import firstStation from "../../images/RouteSchedule/firstStation.png";
10
+ import station from "../../images/RouteSchedule/station.png";
11
+ import lastStation from "../../images/RouteSchedule/lastStation.png";
12
+ import line from "../../images/RouteSchedule/line.png";
13
+ const { getBgColor } = trackerConfig;
14
+ const getDelayColor = (time) => {
15
+ const secs = Math.round(time / 1800 / 2 * 3600 / 1e3);
20
16
  if (secs >= 3600) {
21
- return 'dark-red';
17
+ return "dark-red";
22
18
  }
23
19
  if (secs >= 500) {
24
- return 'middle-red';
20
+ return "middle-red";
25
21
  }
26
22
  if (secs >= 300) {
27
- return 'light-red';
23
+ return "light-red";
28
24
  }
29
25
  if (secs >= 180) {
30
- return 'orange';
26
+ return "orange";
31
27
  }
32
- return 'green';
28
+ return "green";
33
29
  };
34
-
35
- /**
36
- * Returns true if the train doesn't stop to the station.
37
- * @param {Object} stop Station information.
38
- */
39
- var isNotStop = function (stop) {
30
+ const isNotStop = (stop) => {
40
31
  return !stop.arrivalTime && !stop.departureTime;
41
32
  };
42
-
43
- /**
44
- * Returns if the station has already been passed by the vehicule.
45
- * @param {Object} stop Station information.
46
- * @param {number} time The current time to test in ms.
47
- * @param {Array<Object>} stops the list of all stops of the train.
48
- * @param {idx} idx The index of the stop object in the stops array.
49
- */
50
- var isPassed = function (stop, time, stops, idx) {
51
- // If the train doesn't stop to the stop object, we test if the stop just before has been passed or not.
52
- // if yes the current stop is considered as passed.
33
+ const isPassed = (stop, time, stops, idx) => {
53
34
  if (isNotStop(stop)) {
54
35
  if (stops[idx - 1] && idx > 0) {
55
36
  return isPassed(stops[idx - 1], time, stops, idx);
56
37
  }
57
38
  return true;
58
39
  }
59
-
60
- // Sometimes stop.departureDelay is undefined.
61
- var timeToCompare = stop.departureTime || stop.arrivalTime || 0;
62
- var delayToCompare = stop.departureDelay || stop.arrivalDelay || 0;
40
+ const timeToCompare = stop.departureTime || stop.arrivalTime || 0;
41
+ const delayToCompare = stop.departureDelay || stop.arrivalDelay || 0;
63
42
  return timeToCompare + delayToCompare <= time;
64
43
  };
65
-
66
- /**
67
- * Returns an image for first, middle or last stations.
68
- * @param {Number} stations The stations list.
69
- * @param {Number} index Index of the station in the list.
70
- * @param {Boolean} isStationPassed If the train is already passed at this station.
71
- * @param {Boolean} isNotStation If the train doesn't stop to this station.
72
- */
73
- var defaultRenderStationImg = function (
74
- stations,
75
- index,
76
- isStationPassed,
77
- isNotStation
78
- ) {
79
- var length = stations.length;
80
- var src = station.src || station;
44
+ const defaultRenderStationImg = (stations, index, isStationPassed, isNotStation) => {
45
+ const { length } = stations;
46
+ let src = station.src || station;
81
47
  if (index === 0) {
82
48
  src = firstStation.src || firstStation;
83
49
  } else if (index === length - 1) {
@@ -85,267 +51,168 @@ var defaultRenderStationImg = function (
85
51
  } else if (isNotStation) {
86
52
  src = line.src || line;
87
53
  }
88
- return React.createElement( 'img', { src: src, alt: "routeScheduleLine", className: "rt-route-icon" });
54
+ return /* @__PURE__ */ React.createElement("img", {
55
+ src,
56
+ alt: "routeScheduleLine",
57
+ className: "rt-route-icon"
58
+ });
89
59
  };
90
-
91
- var defaultRenderStation = function (ref) {
92
- var lineInfos = ref.lineInfos;
93
- var onStationClick = ref.onStationClick;
94
- var trackerLayer = ref.trackerLayer;
95
- var renderStationImg = ref.renderStationImg;
96
- var stop = ref.stop;
97
- var idx = ref.idx;
98
-
99
- var stationId = stop.stationId;
100
- var arrivalDelay = stop.arrivalDelay;
101
- var departureDelay = stop.departureDelay;
102
- var arrivalTime = stop.arrivalTime;
103
- var departureTime = stop.departureTime;
104
- var state = stop.state;
105
- var stationName = stop.stationName;
106
- var cancelled = state === 'JOURNEY_CANCELLED' || state === 'STOP_CANCELLED';
107
- var stations = lineInfos.stations;
108
- var isFirstStation = idx === 0;
109
- var isLastStation = idx === stations.length - 1;
110
- var isStationPassed = isPassed(stop, trackerLayer.time, stations, idx);
111
- var isNotStation = isNotStop(stop);
112
- return (
113
- React.createElement( 'div', {
114
- // Train line can go in circle so begin and end have the same id,
115
- // using the time in the key should fix the issue.
116
- key: (stationId || stationName) + arrivalTime + departureTime, role: "button", className: [
117
- 'rt-route-station',
118
- isStationPassed ? ' rt-passed' : '',
119
- isNotStation ? ' rt-no-stop' : '' ].join(''), onClick: function (e) {
120
- return onStationClick(stop, e);
121
- }, tabIndex: 0, onKeyPress: function (e) {
122
- return e.which === 13 && onStationClick(stop, e);
123
- } },
124
- React.createElement( 'div', { className: "rt-route-delay" },
125
- typeof arrivalDelay === 'undefined' || isFirstStation || cancelled ? (
126
- ''
127
- ) : (
128
- React.createElement( 'span', {
129
- className: ("rt-route-delay-arrival" + (" " + (getDelayColor(
130
- arrivalDelay
131
- )))) },
132
- ("+" + (getDelayString(arrivalDelay)))
133
- )
134
- ),
135
- typeof departureDelay === 'undefined' || isLastStation || cancelled ? (
136
- ''
137
- ) : (
138
- React.createElement( 'span', {
139
- className: ("rt-route-delay-departure" + (" " + (getDelayColor(
140
- departureDelay
141
- )))) },
142
- ("+" + (getDelayString(departureDelay)))
143
- )
144
- )
145
- ),
146
- React.createElement( 'div', { className: "rt-route-times" },
147
- React.createElement( 'span', {
148
- className: ("rt-route-time-arrival " + (cancelled ? 'rt-route-cancelled' : '')) },
149
- getHoursAndMinutes(arrivalTime)
150
- ),
151
- React.createElement( 'span', {
152
- className: ("rt-route-time-departure " + (cancelled ? 'rt-route-cancelled' : '')) },
153
- getHoursAndMinutes(departureTime)
154
- )
155
- ),
156
- renderStationImg(stations, idx, isStationPassed, isNotStation),
157
- React.createElement( 'div', { className: cancelled ? 'rt-route-cancelled' : '' }, stationName)
158
- )
159
- );
60
+ const defaultRenderStation = ({
61
+ lineInfos,
62
+ onStationClick,
63
+ trackerLayer,
64
+ renderStationImg,
65
+ stop,
66
+ idx
67
+ }) => {
68
+ const {
69
+ stationId,
70
+ arrivalDelay,
71
+ departureDelay,
72
+ arrivalTime,
73
+ departureTime,
74
+ state,
75
+ stationName
76
+ } = stop;
77
+ const cancelled = state === "JOURNEY_CANCELLED" || state === "STOP_CANCELLED";
78
+ const { stations } = lineInfos;
79
+ const isFirstStation = idx === 0;
80
+ const isLastStation = idx === stations.length - 1;
81
+ const isStationPassed = isPassed(stop, trackerLayer.time, stations, idx);
82
+ const isNotStation = isNotStop(stop);
83
+ return /* @__PURE__ */ React.createElement("div", {
84
+ key: (stationId || stationName) + arrivalTime + departureTime,
85
+ role: "button",
86
+ className: [
87
+ "rt-route-station",
88
+ isStationPassed ? " rt-passed" : "",
89
+ isNotStation ? " rt-no-stop" : ""
90
+ ].join(""),
91
+ onClick: (e) => {
92
+ return onStationClick(stop, e);
93
+ },
94
+ tabIndex: 0,
95
+ onKeyPress: (e) => {
96
+ return e.which === 13 && onStationClick(stop, e);
97
+ }
98
+ }, /* @__PURE__ */ React.createElement("div", {
99
+ className: "rt-route-delay"
100
+ }, typeof arrivalDelay === "undefined" || isFirstStation || cancelled ? "" : /* @__PURE__ */ React.createElement("span", {
101
+ className: `rt-route-delay-arrival${` ${getDelayColor(
102
+ arrivalDelay
103
+ )}`}`
104
+ }, `+${getDelayString(arrivalDelay)}`), typeof departureDelay === "undefined" || isLastStation || cancelled ? "" : /* @__PURE__ */ React.createElement("span", {
105
+ className: `rt-route-delay-departure${` ${getDelayColor(
106
+ departureDelay
107
+ )}`}`
108
+ }, `+${getDelayString(departureDelay)}`)), /* @__PURE__ */ React.createElement("div", {
109
+ className: "rt-route-times"
110
+ }, /* @__PURE__ */ React.createElement("span", {
111
+ className: `rt-route-time-arrival ${cancelled ? "rt-route-cancelled" : ""}`
112
+ }, getHoursAndMinutes(arrivalTime)), /* @__PURE__ */ React.createElement("span", {
113
+ className: `rt-route-time-departure ${cancelled ? "rt-route-cancelled" : ""}`
114
+ }, getHoursAndMinutes(departureTime))), renderStationImg(stations, idx, isStationPassed, isNotStation), /* @__PURE__ */ React.createElement("div", {
115
+ className: cancelled ? "rt-route-cancelled" : ""
116
+ }, stationName));
160
117
  };
161
-
162
- var renderRouteIdentifier = function (ref) {
163
- var routeIdentifier = ref.routeIdentifier;
164
- var longName = ref.longName;
165
-
118
+ const renderRouteIdentifier = ({ routeIdentifier, longName }) => {
166
119
  if (routeIdentifier) {
167
- // first part of the id, without leading zeros.
168
- var id = parseInt(routeIdentifier.split('.')[0], 10);
120
+ const id = parseInt(routeIdentifier.split(".")[0], 10);
169
121
  if (!longName.includes(id)) {
170
- return (" (" + id + ")");
122
+ return ` (${id})`;
171
123
  }
172
124
  }
173
125
  return null;
174
126
  };
175
-
176
- var defaultRenderHeader = function (ref) {
177
- var lineInfos = ref.lineInfos;
178
- var renderHeaderButtons = ref.renderHeaderButtons;
179
-
180
- var type = lineInfos.type;
181
- var vehicleType = lineInfos.vehicleType;
182
- var shortName = lineInfos.shortName;
183
- var longName = lineInfos.longName;
184
- var stroke = lineInfos.stroke;
185
- var destination = lineInfos.destination;
186
- var routeIdentifier = lineInfos.routeIdentifier;
187
- var textColor = lineInfos.text_color;
188
- return (
189
- React.createElement( 'div', { className: "rt-route-header" },
190
- React.createElement( 'span', {
191
- className: "rt-route-icon", style: {
192
- /* stylelint-disable-next-line value-keyword-case */
193
- backgroundColor: stroke || getBgColor(type || vehicleType),
194
- color: textColor || 'black',
195
- } },
196
- shortName
197
- ),
198
- React.createElement( 'div', { className: "rt-route-title" },
199
- React.createElement( 'span', { className: "rt-route-name" }, destination),
200
- React.createElement( 'span', null,
201
- longName,
202
- renderRouteIdentifier(lineInfos)
203
- )
204
- ),
205
- React.createElement( 'div', { className: "rt-route-buttons" },
206
- renderHeaderButtons(routeIdentifier)
207
- )
208
- )
209
- );
127
+ const defaultRenderHeader = ({ lineInfos, renderHeaderButtons }) => {
128
+ const {
129
+ type,
130
+ vehicleType,
131
+ shortName,
132
+ longName,
133
+ stroke,
134
+ destination,
135
+ routeIdentifier,
136
+ text_color: textColor
137
+ } = lineInfos;
138
+ return /* @__PURE__ */ React.createElement("div", {
139
+ className: "rt-route-header"
140
+ }, /* @__PURE__ */ React.createElement("span", {
141
+ className: "rt-route-icon",
142
+ style: {
143
+ backgroundColor: stroke || getBgColor(type || vehicleType),
144
+ color: textColor || "black"
145
+ }
146
+ }, shortName), /* @__PURE__ */ React.createElement("div", {
147
+ className: "rt-route-title"
148
+ }, /* @__PURE__ */ React.createElement("span", {
149
+ className: "rt-route-name"
150
+ }, destination), /* @__PURE__ */ React.createElement("span", null, longName, renderRouteIdentifier(lineInfos))), /* @__PURE__ */ React.createElement("div", {
151
+ className: "rt-route-buttons"
152
+ }, renderHeaderButtons(routeIdentifier)));
210
153
  };
211
-
212
- var defaultRenderFooter = function (props) {
213
- var lineInfos = props.lineInfos;
214
- var renderCopyright = props.renderCopyright;
154
+ const defaultRenderFooter = (props) => {
155
+ const { lineInfos, renderCopyright } = props;
215
156
  if (!lineInfos.operator && !lineInfos.publisher) {
216
157
  return null;
217
158
  }
218
- return React.createElement( 'div', { className: "rt-route-footer" }, renderCopyright(Object.assign({}, props)));
159
+ return /* @__PURE__ */ React.createElement("div", {
160
+ className: "rt-route-footer"
161
+ }, renderCopyright({ ...props }));
219
162
  };
220
-
221
- var defaultRenderLink = function (text, url) {
222
- return (
223
- React.createElement( 'div', { className: "rt-route-copyright-link" },
224
- url ? (
225
- React.createElement( 'a', { href: url, target: "_blank", rel: "noreferrer" },
226
- text
227
- )
228
- ) : (
229
- React.createElement( React.Fragment, null, text )
230
- )
231
- )
232
- );
163
+ const defaultRenderLink = (text, url) => {
164
+ return /* @__PURE__ */ React.createElement("div", {
165
+ className: "rt-route-copyright-link"
166
+ }, url ? /* @__PURE__ */ React.createElement("a", {
167
+ href: url,
168
+ target: "_blank",
169
+ rel: "noreferrer"
170
+ }, text) : /* @__PURE__ */ React.createElement(React.Fragment, null, text));
233
171
  };
234
-
235
- var defaultRenderCopyright = function (ref) {
236
- var lineInfos = ref.lineInfos;
237
-
238
- return (
239
- React.createElement( 'span', { className: "rt-route-copyright" },
240
- lineInfos.operator &&
241
- defaultRenderLink(lineInfos.operator, lineInfos.operatorUrl),
242
- lineInfos.operator && lineInfos.publisher && React.createElement( 'span', null, " - " ),
243
- lineInfos.publisher &&
244
- defaultRenderLink(lineInfos.publisher, lineInfos.publisherUrl),
245
- lineInfos.license && React.createElement( 'span', null, " (" ),
246
- lineInfos.license &&
247
- defaultRenderLink(lineInfos.license, lineInfos.licenseUrl),
248
- lineInfos.license && ')'
249
- )
250
- );
172
+ const defaultRenderCopyright = ({ lineInfos }) => {
173
+ return /* @__PURE__ */ React.createElement("span", {
174
+ className: "rt-route-copyright"
175
+ }, lineInfos.operator && defaultRenderLink(lineInfos.operator, lineInfos.operatorUrl), lineInfos.operator && lineInfos.publisher && /* @__PURE__ */ React.createElement("span", null, "\xA0-\xA0"), lineInfos.publisher && defaultRenderLink(lineInfos.publisher, lineInfos.publisherUrl), lineInfos.license && /* @__PURE__ */ React.createElement("span", null, "\xA0("), lineInfos.license && defaultRenderLink(lineInfos.license, lineInfos.licenseUrl), lineInfos.license && ")");
251
176
  };
252
-
253
- var propTypes = {
254
- /**
255
- * CSS class of the route schedule wrapper.
256
- */
177
+ const propTypes = {
257
178
  className: PropTypes.string,
258
-
259
- /**
260
- * Trajectory stations informations.
261
- */
262
179
  lineInfos: ReactTransitPropTypes.lineInfos,
263
-
264
- /**
265
- * Trackerlayer.
266
- */
267
180
  trackerLayer: PropTypes.instanceOf(TrackerLayer).isRequired,
268
-
269
- /**
270
- * Render Header of the route scheduler.
271
- */
272
181
  renderHeader: PropTypes.func,
273
-
274
- /**
275
- * Render Footer of the route scheduler.
276
- */
277
182
  renderFooter: PropTypes.func,
278
-
279
- /**
280
- * Render Copyright of the route scheduler.
281
- */
282
183
  renderCopyright: PropTypes.func,
283
-
284
- /**
285
- * Render the status of the station image.
286
- */
287
184
  renderStationImg: PropTypes.func,
288
-
289
- /**
290
- * Render a station.
291
- */
292
185
  renderStation: PropTypes.func,
293
-
294
- /**
295
- * Function triggered on station's click event.
296
- */
297
186
  onStationClick: PropTypes.func,
298
-
299
- /**
300
- * Function to render header buttons.
301
- */
302
- renderHeaderButtons: PropTypes.func,
187
+ renderHeaderButtons: PropTypes.func
303
188
  };
304
-
305
- var defaultProps = {
306
- className: 'rt-route-schedule',
189
+ const defaultProps = {
190
+ className: "rt-route-schedule",
307
191
  lineInfos: null,
308
192
  renderHeader: defaultRenderHeader,
309
193
  renderStation: defaultRenderStation,
310
194
  renderStationImg: defaultRenderStationImg,
311
195
  renderCopyright: defaultRenderCopyright,
312
196
  renderFooter: defaultRenderFooter,
313
- renderHeaderButtons: function () {
197
+ renderHeaderButtons: () => {
314
198
  return null;
315
199
  },
316
- onStationClick: function () {},
200
+ onStationClick: () => {
201
+ }
317
202
  };
318
-
319
- /**
320
- * RouteSchedule displays information, stops and punctuality about the clicked route.
321
- */
322
203
  function RouteSchedule(props) {
323
- var lineInfos = props.lineInfos;
324
- var className = props.className;
325
- var renderStation = props.renderStation;
326
- var renderHeader = props.renderHeader;
327
- var renderFooter = props.renderFooter;
328
-
204
+ const { lineInfos, className, renderStation, renderHeader, renderFooter } = props;
329
205
  if (!lineInfos) {
330
206
  return null;
331
207
  }
332
-
333
- return (
334
- React.createElement( 'div', { className: className },
335
- renderHeader(Object.assign({}, props)),
336
- React.createElement( 'div', { className: "rt-route-body" },
337
- lineInfos.stations.map(function (stop, idx) {
338
- return renderStation(Object.assign({}, props, {stop: stop, idx: idx}));
339
- })
340
- ),
341
- renderFooter(Object.assign({}, props))
342
- )
343
- );
208
+ return /* @__PURE__ */ React.createElement("div", {
209
+ className
210
+ }, renderHeader({ ...props }), /* @__PURE__ */ React.createElement("div", {
211
+ className: "rt-route-body"
212
+ }, lineInfos.stations.map((stop, idx) => {
213
+ return renderStation({ ...props, stop, idx });
214
+ })), renderFooter({ ...props }));
344
215
  }
345
-
346
216
  RouteSchedule.propTypes = propTypes;
347
217
  RouteSchedule.defaultProps = defaultProps;
348
-
349
218
  export default React.memo(RouteSchedule);
350
-
351
- //# sourceMappingURL=RouteSchedule.js.map
@@ -1 +1,7 @@
1
- {"version":3,"file":"RouteSchedule.js","sources":["../../../src/components/RouteSchedule/RouteSchedule.js"],"sourcesContent":["/* eslint-disable react/no-unused-prop-types */\n/* eslint-disable react/prop-types */\nimport React from 'react';\nimport PropTypes from 'prop-types';\nimport { TrackerLayer } from 'mobility-toolbox-js/ol';\nimport { getBgColor } from 'mobility-toolbox-js/common/trackerConfig';\nimport { getHoursAndMinutes, getDelayString } from '../../utils/timeUtils';\nimport ReactTransitPropTypes from '../../propTypes';\nimport firstStation from '../../images/RouteSchedule/firstStation.png';\nimport station from '../../images/RouteSchedule/station.png';\nimport lastStation from '../../images/RouteSchedule/lastStation.png';\nimport line from '../../images/RouteSchedule/line.png';\n\n/**\n * Returns a color class to display the delay.\n * @param {Number} time Delay time in milliseconds.\n */\nconst getDelayColor = (time) => {\n const secs = Math.round(((time / 1800 / 2) * 3600) / 1000);\n if (secs >= 3600) {\n return 'dark-red';\n }\n if (secs >= 500) {\n return 'middle-red';\n }\n if (secs >= 300) {\n return 'light-red';\n }\n if (secs >= 180) {\n return 'orange';\n }\n return 'green';\n};\n\n/**\n * Returns true if the train doesn't stop to the station.\n * @param {Object} stop Station information.\n */\nconst isNotStop = (stop) => {\n return !stop.arrivalTime && !stop.departureTime;\n};\n\n/**\n * Returns if the station has already been passed by the vehicule.\n * @param {Object} stop Station information.\n * @param {number} time The current time to test in ms.\n * @param {Array<Object>} stops the list of all stops of the train.\n * @param {idx} idx The index of the stop object in the stops array.\n */\nconst isPassed = (stop, time, stops, idx) => {\n // If the train doesn't stop to the stop object, we test if the stop just before has been passed or not.\n // if yes the current stop is considered as passed.\n if (isNotStop(stop)) {\n if (stops[idx - 1] && idx > 0) {\n return isPassed(stops[idx - 1], time, stops, idx);\n }\n return true;\n }\n\n // Sometimes stop.departureDelay is undefined.\n const timeToCompare = stop.departureTime || stop.arrivalTime || 0;\n const delayToCompare = stop.departureDelay || stop.arrivalDelay || 0;\n return timeToCompare + delayToCompare <= time;\n};\n\n/**\n * Returns an image for first, middle or last stations.\n * @param {Number} stations The stations list.\n * @param {Number} index Index of the station in the list.\n * @param {Boolean} isStationPassed If the train is already passed at this station.\n * @param {Boolean} isNotStation If the train doesn't stop to this station.\n */\nconst defaultRenderStationImg = (\n stations,\n index,\n isStationPassed,\n isNotStation,\n) => {\n const { length } = stations;\n let src = station.src || station;\n if (index === 0) {\n src = firstStation.src || firstStation;\n } else if (index === length - 1) {\n src = lastStation.src || lastStation;\n } else if (isNotStation) {\n src = line.src || line;\n }\n return <img src={src} alt=\"routeScheduleLine\" className=\"rt-route-icon\" />;\n};\n\nconst defaultRenderStation = ({\n lineInfos,\n onStationClick,\n trackerLayer,\n renderStationImg,\n stop,\n idx,\n}) => {\n const {\n stationId,\n arrivalDelay,\n departureDelay,\n arrivalTime,\n departureTime,\n state,\n stationName,\n } = stop;\n const cancelled = state === 'JOURNEY_CANCELLED' || state === 'STOP_CANCELLED';\n const { stations } = lineInfos;\n const isFirstStation = idx === 0;\n const isLastStation = idx === stations.length - 1;\n const isStationPassed = isPassed(stop, trackerLayer.time, stations, idx);\n const isNotStation = isNotStop(stop);\n return (\n <div\n // Train line can go in circle so begin and end have the same id,\n // using the time in the key should fix the issue.\n key={(stationId || stationName) + arrivalTime + departureTime}\n role=\"button\"\n className={[\n 'rt-route-station',\n isStationPassed ? ' rt-passed' : '',\n isNotStation ? ' rt-no-stop' : '',\n ].join('')}\n onClick={(e) => {\n return onStationClick(stop, e);\n }}\n tabIndex={0}\n onKeyPress={(e) => {\n return e.which === 13 && onStationClick(stop, e);\n }}\n >\n <div className=\"rt-route-delay\">\n {typeof arrivalDelay === 'undefined' || isFirstStation || cancelled ? (\n ''\n ) : (\n <span\n className={`rt-route-delay-arrival${` ${getDelayColor(\n arrivalDelay,\n )}`}`}\n >\n {`+${getDelayString(arrivalDelay)}`}\n </span>\n )}\n {typeof departureDelay === 'undefined' || isLastStation || cancelled ? (\n ''\n ) : (\n <span\n className={`rt-route-delay-departure${` ${getDelayColor(\n departureDelay,\n )}`}`}\n >\n {`+${getDelayString(departureDelay)}`}\n </span>\n )}\n </div>\n <div className=\"rt-route-times\">\n <span\n className={`rt-route-time-arrival ${\n cancelled ? 'rt-route-cancelled' : ''\n }`}\n >\n {getHoursAndMinutes(arrivalTime)}\n </span>\n <span\n className={`rt-route-time-departure ${\n cancelled ? 'rt-route-cancelled' : ''\n }`}\n >\n {getHoursAndMinutes(departureTime)}\n </span>\n </div>\n {renderStationImg(stations, idx, isStationPassed, isNotStation)}\n <div className={cancelled ? 'rt-route-cancelled' : ''}>{stationName}</div>\n </div>\n );\n};\n\nconst renderRouteIdentifier = ({ routeIdentifier, longName }) => {\n if (routeIdentifier) {\n // first part of the id, without leading zeros.\n const id = parseInt(routeIdentifier.split('.')[0], 10);\n if (!longName.includes(id)) {\n return ` (${id})`;\n }\n }\n return null;\n};\n\nconst defaultRenderHeader = ({ lineInfos, renderHeaderButtons }) => {\n const {\n type,\n vehicleType,\n shortName,\n longName,\n stroke,\n destination,\n routeIdentifier,\n text_color: textColor,\n } = lineInfos;\n return (\n <div className=\"rt-route-header\">\n <span\n className=\"rt-route-icon\"\n style={{\n /* stylelint-disable-next-line value-keyword-case */\n backgroundColor: stroke || getBgColor(type || vehicleType),\n color: textColor || 'black',\n }}\n >\n {shortName}\n </span>\n <div className=\"rt-route-title\">\n <span className=\"rt-route-name\">{destination}</span>\n <span>\n {longName}\n {renderRouteIdentifier(lineInfos)}\n </span>\n </div>\n <div className=\"rt-route-buttons\">\n {renderHeaderButtons(routeIdentifier)}\n </div>\n </div>\n );\n};\n\nconst defaultRenderFooter = (props) => {\n const { lineInfos, renderCopyright } = props;\n if (!lineInfos.operator && !lineInfos.publisher) {\n return null;\n }\n return <div className=\"rt-route-footer\">{renderCopyright({ ...props })}</div>;\n};\n\nconst defaultRenderLink = (text, url) => {\n return (\n <div className=\"rt-route-copyright-link\">\n {url ? (\n <a href={url} target=\"_blank\" rel=\"noreferrer\">\n {text}\n </a>\n ) : (\n <>{text}</>\n )}\n </div>\n );\n};\n\nconst defaultRenderCopyright = ({ lineInfos }) => {\n return (\n <span className=\"rt-route-copyright\">\n {lineInfos.operator &&\n defaultRenderLink(lineInfos.operator, lineInfos.operatorUrl)}\n {lineInfos.operator && lineInfos.publisher && <span>&nbsp;-&nbsp;</span>}\n {lineInfos.publisher &&\n defaultRenderLink(lineInfos.publisher, lineInfos.publisherUrl)}\n {lineInfos.license && <span>&nbsp;(</span>}\n {lineInfos.license &&\n defaultRenderLink(lineInfos.license, lineInfos.licenseUrl)}\n {lineInfos.license && ')'}\n </span>\n );\n};\n\nconst propTypes = {\n /**\n * CSS class of the route schedule wrapper.\n */\n className: PropTypes.string,\n\n /**\n * Trajectory stations informations.\n */\n lineInfos: ReactTransitPropTypes.lineInfos,\n\n /**\n * Trackerlayer.\n */\n trackerLayer: PropTypes.instanceOf(TrackerLayer).isRequired,\n\n /**\n * Render Header of the route scheduler.\n */\n renderHeader: PropTypes.func,\n\n /**\n * Render Footer of the route scheduler.\n */\n renderFooter: PropTypes.func,\n\n /**\n * Render Copyright of the route scheduler.\n */\n renderCopyright: PropTypes.func,\n\n /**\n * Render the status of the station image.\n */\n renderStationImg: PropTypes.func,\n\n /**\n * Render a station.\n */\n renderStation: PropTypes.func,\n\n /**\n * Function triggered on station's click event.\n */\n onStationClick: PropTypes.func,\n\n /**\n * Function to render header buttons.\n */\n renderHeaderButtons: PropTypes.func,\n};\n\nconst defaultProps = {\n className: 'rt-route-schedule',\n lineInfos: null,\n renderHeader: defaultRenderHeader,\n renderStation: defaultRenderStation,\n renderStationImg: defaultRenderStationImg,\n renderCopyright: defaultRenderCopyright,\n renderFooter: defaultRenderFooter,\n renderHeaderButtons: () => {\n return null;\n },\n onStationClick: () => {},\n};\n\n/**\n * RouteSchedule displays information, stops and punctuality about the clicked route.\n */\nfunction RouteSchedule(props) {\n const { lineInfos, className, renderStation, renderHeader, renderFooter } =\n props;\n\n if (!lineInfos) {\n return null;\n }\n\n return (\n <div className={className}>\n {renderHeader({ ...props })}\n <div className=\"rt-route-body\">\n {lineInfos.stations.map((stop, idx) => {\n return renderStation({ ...props, stop, idx });\n })}\n </div>\n {renderFooter({ ...props })}\n </div>\n );\n}\n\nRouteSchedule.propTypes = propTypes;\nRouteSchedule.defaultProps = defaultProps;\n\nexport default React.memo(RouteSchedule);\n"],"names":["const","let"],"mappings":"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"}
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../../src/components/RouteSchedule/RouteSchedule.js"],
4
+ "sourcesContent": ["/* eslint-disable react/no-unused-prop-types */\n/* eslint-disable react/prop-types */\nimport React from 'react';\nimport PropTypes from 'prop-types';\nimport {\n RealtimeLayer as TrackerLayer,\n trackerConfig,\n} from 'mobility-toolbox-js/ol';\nimport { getHoursAndMinutes, getDelayString } from '../../utils/timeUtils';\nimport ReactTransitPropTypes from '../../propTypes';\nimport firstStation from '../../images/RouteSchedule/firstStation.png';\nimport station from '../../images/RouteSchedule/station.png';\nimport lastStation from '../../images/RouteSchedule/lastStation.png';\nimport line from '../../images/RouteSchedule/line.png';\n\nconst { getBgColor } = trackerConfig;\n\n/**\n * Returns a color class to display the delay.\n * @param {Number} time Delay time in milliseconds.\n */\nconst getDelayColor = (time) => {\n const secs = Math.round(((time / 1800 / 2) * 3600) / 1000);\n if (secs >= 3600) {\n return 'dark-red';\n }\n if (secs >= 500) {\n return 'middle-red';\n }\n if (secs >= 300) {\n return 'light-red';\n }\n if (secs >= 180) {\n return 'orange';\n }\n return 'green';\n};\n\n/**\n * Returns true if the train doesn't stop to the station.\n * @param {Object} stop Station information.\n */\nconst isNotStop = (stop) => {\n return !stop.arrivalTime && !stop.departureTime;\n};\n\n/**\n * Returns if the station has already been passed by the vehicule.\n * @param {Object} stop Station information.\n * @param {number} time The current time to test in ms.\n * @param {Array<Object>} stops the list of all stops of the train.\n * @param {idx} idx The index of the stop object in the stops array.\n */\nconst isPassed = (stop, time, stops, idx) => {\n // If the train doesn't stop to the stop object, we test if the stop just before has been passed or not.\n // if yes the current stop is considered as passed.\n if (isNotStop(stop)) {\n if (stops[idx - 1] && idx > 0) {\n return isPassed(stops[idx - 1], time, stops, idx);\n }\n return true;\n }\n\n // Sometimes stop.departureDelay is undefined.\n const timeToCompare = stop.departureTime || stop.arrivalTime || 0;\n const delayToCompare = stop.departureDelay || stop.arrivalDelay || 0;\n return timeToCompare + delayToCompare <= time;\n};\n\n/**\n * Returns an image for first, middle or last stations.\n * @param {Number} stations The stations list.\n * @param {Number} index Index of the station in the list.\n * @param {Boolean} isStationPassed If the train is already passed at this station.\n * @param {Boolean} isNotStation If the train doesn't stop to this station.\n */\nconst defaultRenderStationImg = (\n stations,\n index,\n isStationPassed,\n isNotStation,\n) => {\n const { length } = stations;\n let src = station.src || station;\n if (index === 0) {\n src = firstStation.src || firstStation;\n } else if (index === length - 1) {\n src = lastStation.src || lastStation;\n } else if (isNotStation) {\n src = line.src || line;\n }\n return <img src={src} alt=\"routeScheduleLine\" className=\"rt-route-icon\" />;\n};\n\nconst defaultRenderStation = ({\n lineInfos,\n onStationClick,\n trackerLayer,\n renderStationImg,\n stop,\n idx,\n}) => {\n const {\n stationId,\n arrivalDelay,\n departureDelay,\n arrivalTime,\n departureTime,\n state,\n stationName,\n } = stop;\n const cancelled = state === 'JOURNEY_CANCELLED' || state === 'STOP_CANCELLED';\n const { stations } = lineInfos;\n const isFirstStation = idx === 0;\n const isLastStation = idx === stations.length - 1;\n const isStationPassed = isPassed(stop, trackerLayer.time, stations, idx);\n const isNotStation = isNotStop(stop);\n return (\n <div\n // Train line can go in circle so begin and end have the same id,\n // using the time in the key should fix the issue.\n key={(stationId || stationName) + arrivalTime + departureTime}\n role=\"button\"\n className={[\n 'rt-route-station',\n isStationPassed ? ' rt-passed' : '',\n isNotStation ? ' rt-no-stop' : '',\n ].join('')}\n onClick={(e) => {\n return onStationClick(stop, e);\n }}\n tabIndex={0}\n onKeyPress={(e) => {\n return e.which === 13 && onStationClick(stop, e);\n }}\n >\n <div className=\"rt-route-delay\">\n {typeof arrivalDelay === 'undefined' || isFirstStation || cancelled ? (\n ''\n ) : (\n <span\n className={`rt-route-delay-arrival${` ${getDelayColor(\n arrivalDelay,\n )}`}`}\n >\n {`+${getDelayString(arrivalDelay)}`}\n </span>\n )}\n {typeof departureDelay === 'undefined' || isLastStation || cancelled ? (\n ''\n ) : (\n <span\n className={`rt-route-delay-departure${` ${getDelayColor(\n departureDelay,\n )}`}`}\n >\n {`+${getDelayString(departureDelay)}`}\n </span>\n )}\n </div>\n <div className=\"rt-route-times\">\n <span\n className={`rt-route-time-arrival ${\n cancelled ? 'rt-route-cancelled' : ''\n }`}\n >\n {getHoursAndMinutes(arrivalTime)}\n </span>\n <span\n className={`rt-route-time-departure ${\n cancelled ? 'rt-route-cancelled' : ''\n }`}\n >\n {getHoursAndMinutes(departureTime)}\n </span>\n </div>\n {renderStationImg(stations, idx, isStationPassed, isNotStation)}\n <div className={cancelled ? 'rt-route-cancelled' : ''}>{stationName}</div>\n </div>\n );\n};\n\nconst renderRouteIdentifier = ({ routeIdentifier, longName }) => {\n if (routeIdentifier) {\n // first part of the id, without leading zeros.\n const id = parseInt(routeIdentifier.split('.')[0], 10);\n if (!longName.includes(id)) {\n return ` (${id})`;\n }\n }\n return null;\n};\n\nconst defaultRenderHeader = ({ lineInfos, renderHeaderButtons }) => {\n const {\n type,\n vehicleType,\n shortName,\n longName,\n stroke,\n destination,\n routeIdentifier,\n text_color: textColor,\n } = lineInfos;\n return (\n <div className=\"rt-route-header\">\n <span\n className=\"rt-route-icon\"\n style={{\n /* stylelint-disable-next-line value-keyword-case */\n backgroundColor: stroke || getBgColor(type || vehicleType),\n color: textColor || 'black',\n }}\n >\n {shortName}\n </span>\n <div className=\"rt-route-title\">\n <span className=\"rt-route-name\">{destination}</span>\n <span>\n {longName}\n {renderRouteIdentifier(lineInfos)}\n </span>\n </div>\n <div className=\"rt-route-buttons\">\n {renderHeaderButtons(routeIdentifier)}\n </div>\n </div>\n );\n};\n\nconst defaultRenderFooter = (props) => {\n const { lineInfos, renderCopyright } = props;\n if (!lineInfos.operator && !lineInfos.publisher) {\n return null;\n }\n return <div className=\"rt-route-footer\">{renderCopyright({ ...props })}</div>;\n};\n\nconst defaultRenderLink = (text, url) => {\n return (\n <div className=\"rt-route-copyright-link\">\n {url ? (\n <a href={url} target=\"_blank\" rel=\"noreferrer\">\n {text}\n </a>\n ) : (\n <>{text}</>\n )}\n </div>\n );\n};\n\nconst defaultRenderCopyright = ({ lineInfos }) => {\n return (\n <span className=\"rt-route-copyright\">\n {lineInfos.operator &&\n defaultRenderLink(lineInfos.operator, lineInfos.operatorUrl)}\n {lineInfos.operator && lineInfos.publisher && <span>&nbsp;-&nbsp;</span>}\n {lineInfos.publisher &&\n defaultRenderLink(lineInfos.publisher, lineInfos.publisherUrl)}\n {lineInfos.license && <span>&nbsp;(</span>}\n {lineInfos.license &&\n defaultRenderLink(lineInfos.license, lineInfos.licenseUrl)}\n {lineInfos.license && ')'}\n </span>\n );\n};\n\nconst propTypes = {\n /**\n * CSS class of the route schedule wrapper.\n */\n className: PropTypes.string,\n\n /**\n * Trajectory stations informations.\n */\n lineInfos: ReactTransitPropTypes.lineInfos,\n\n /**\n * Trackerlayer.\n */\n trackerLayer: PropTypes.instanceOf(TrackerLayer).isRequired,\n\n /**\n * Render Header of the route scheduler.\n */\n renderHeader: PropTypes.func,\n\n /**\n * Render Footer of the route scheduler.\n */\n renderFooter: PropTypes.func,\n\n /**\n * Render Copyright of the route scheduler.\n */\n renderCopyright: PropTypes.func,\n\n /**\n * Render the status of the station image.\n */\n renderStationImg: PropTypes.func,\n\n /**\n * Render a station.\n */\n renderStation: PropTypes.func,\n\n /**\n * Function triggered on station's click event.\n */\n onStationClick: PropTypes.func,\n\n /**\n * Function to render header buttons.\n */\n renderHeaderButtons: PropTypes.func,\n};\n\nconst defaultProps = {\n className: 'rt-route-schedule',\n lineInfos: null,\n renderHeader: defaultRenderHeader,\n renderStation: defaultRenderStation,\n renderStationImg: defaultRenderStationImg,\n renderCopyright: defaultRenderCopyright,\n renderFooter: defaultRenderFooter,\n renderHeaderButtons: () => {\n return null;\n },\n onStationClick: () => {},\n};\n\n/**\n * RouteSchedule displays information, stops and punctuality about the clicked route.\n */\nfunction RouteSchedule(props) {\n const { lineInfos, className, renderStation, renderHeader, renderFooter } =\n props;\n\n if (!lineInfos) {\n return null;\n }\n\n return (\n <div className={className}>\n {renderHeader({ ...props })}\n <div className=\"rt-route-body\">\n {lineInfos.stations.map((stop, idx) => {\n return renderStation({ ...props, stop, idx });\n })}\n </div>\n {renderFooter({ ...props })}\n </div>\n );\n}\n\nRouteSchedule.propTypes = propTypes;\nRouteSchedule.defaultProps = defaultProps;\n\nexport default React.memo(RouteSchedule);\n"],
5
+ "mappings": "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",
6
+ "names": []
7
+ }
@@ -1,3 +1 @@
1
- export { default } from './RouteSchedule';
2
-
3
- //# sourceMappingURL=index.js.map
1
+ export { default } from "./RouteSchedule";
@@ -1 +1,7 @@
1
- {"version":3,"file":"index.js","sources":["../../../src/components/RouteSchedule/index.js"],"sourcesContent":["export { default } from './RouteSchedule';\n"],"names":[],"mappings":"AAAA,SAAS,OAAO,QAAQ,iBAAiB,CAAC;"}
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../../src/components/RouteSchedule/index.js"],
4
+ "sourcesContent": ["export { default } from './RouteSchedule';\n"],
5
+ "mappings": "AAAA,wBAAwB;",
6
+ "names": []
7
+ }