gtfs-to-html 2.12.0 → 2.12.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.
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "gtfs-to-html",
3
- "version": "2.12.0",
3
+ "version": "2.12.1",
4
4
  "private": false,
5
5
  "description": "Build human readable transit timetables as HTML, PDF or CSV from GTFS",
6
6
  "keywords": [
@@ -48,8 +48,8 @@
48
48
  },
49
49
  "dependencies": {
50
50
  "@maplibre/maplibre-gl-geocoder": "^1.9.1",
51
- "@turf/helpers": "^7.2.0",
52
- "@turf/simplify": "^7.2.0",
51
+ "@turf/helpers": "^7.3.0",
52
+ "@turf/simplify": "^7.3.0",
53
53
  "anchorme": "^3.0.8",
54
54
  "archiver": "^7.0.1",
55
55
  "cli-table": "^0.3.11",
@@ -60,13 +60,13 @@
60
60
  "gtfs-realtime-pbf-js-module": "^1.0.0",
61
61
  "js-beautify": "^1.15.4",
62
62
  "lodash-es": "^4.17.21",
63
- "maplibre-gl": "^5.12.0",
63
+ "maplibre-gl": "^5.13.0",
64
64
  "marked": "^17.0.0",
65
65
  "moment": "^2.30.1",
66
66
  "pbf": "^4.0.1",
67
67
  "pretty-error": "^4.0.0",
68
68
  "pug": "^3.0.3",
69
- "puppeteer": "^24.29.1",
69
+ "puppeteer": "^24.30.0",
70
70
  "sanitize-filename": "^1.6.3",
71
71
  "sanitize-html": "^2.17.0",
72
72
  "sqlstring": "^2.3.3",
@@ -87,11 +87,11 @@
87
87
  "@types/sanitize-html": "^2.16.0",
88
88
  "@types/sqlstring": "^2.3.2",
89
89
  "@types/toposort": "^2.0.7",
90
- "@types/yargs": "^17.0.34",
90
+ "@types/yargs": "^17.0.35",
91
91
  "husky": "^9.1.7",
92
- "lint-staged": "^16.2.6",
92
+ "lint-staged": "^16.2.7",
93
93
  "prettier": "^3.6.2",
94
- "tsup": "^8.5.0",
94
+ "tsup": "^8.5.1",
95
95
  "typescript": "^5.9.3"
96
96
  },
97
97
  "engines": {
@@ -103,7 +103,6 @@ a:hover {
103
103
  flex-shrink: 0;
104
104
  font-weight: bold;
105
105
  color: white;
106
- text-shadow: 0 0 2px rgba(0,0,0,0.5);
107
106
  }
108
107
 
109
108
  .timetable-overview .route-color-swatch-large {
@@ -120,11 +119,10 @@ a:hover {
120
119
  flex-shrink: 0;
121
120
  font-weight: bold;
122
121
  color: white;
123
- text-shadow: 0 0 4px rgba(0,0,0,0.5);
124
122
  }
125
123
 
126
- .timetable-overview .btn-blue {
127
- color: rgb(255 255 255);
124
+ .timetable-overview .btn-active {
125
+ color: rgb(255, 255, 255);
128
126
  padding: 0.75rem 1.5rem;
129
127
  background-color: rgb(37 99 235);
130
128
  border-radius: 0.375rem;
@@ -135,7 +133,7 @@ a:hover {
135
133
  text-decoration: none;
136
134
  }
137
135
 
138
- .timetable-overview .btn-blue:hover {
136
+ .timetable-overview .btn-active:hover {
139
137
  background-color: rgb(29 78 216);
140
138
  text-decoration: none;
141
139
  }
@@ -201,8 +201,8 @@ a:hover {
201
201
  display: none;
202
202
  }
203
203
 
204
- .timetable-page .btn-blue {
205
- color: rgb(255 255 255);
204
+ .timetable-page .btn-active {
205
+ color: rgb(255, 255, 255);
206
206
  padding: 0.75rem 1.5rem;
207
207
  background-color: rgb(37 99 235);
208
208
  border-radius: 0.375rem;
@@ -213,12 +213,12 @@ a:hover {
213
213
  text-decoration: none;
214
214
  }
215
215
 
216
- .timetable-page .btn-blue:hover {
216
+ .timetable-page .btn-active:hover {
217
217
  background-color: rgb(29 78 216);
218
218
  text-decoration: none;
219
219
  }
220
220
 
221
- .timetable-page .btn-gray {
221
+ .timetable-page .btn-inactive {
222
222
  color: rgb(75 85 99);
223
223
  padding: 0.75rem 1.5rem;
224
224
  background-color: rgb(209 213 219);
@@ -230,7 +230,7 @@ a:hover {
230
230
  text-decoration: none;
231
231
  }
232
232
 
233
- .timetable-page .btn-gray:hover {
233
+ .timetable-page .btn-inactive:hover {
234
234
  background-color: rgb(201, 206, 213);
235
235
  text-decoration: none;
236
236
  }
@@ -427,7 +427,6 @@ a:hover {
427
427
  flex-shrink: 0;
428
428
  font-weight: bold;
429
429
  color: white;
430
- text-shadow: 0 0 2px rgba(0,0,0,0.5);
431
430
  }
432
431
 
433
432
  .timetable-page .route-color-swatch-large {
@@ -444,7 +443,6 @@ a:hover {
444
443
  flex-shrink: 0;
445
444
  font-weight: bold;
446
445
  color: white;
447
- text-shadow: 0 0 4px rgba(0,0,0,0.5);
448
446
  }
449
447
 
450
448
  /* Map Styles */
@@ -678,7 +676,6 @@ a:hover {
678
676
  flex-shrink: 0;
679
677
  font-weight: bold;
680
678
  color: white;
681
- text-shadow: 0 0 2px rgba(0,0,0,0.5);
682
679
  }
683
680
 
684
681
  .timetable-page .timetable-alerts .alert-header .alert-title {
@@ -99,7 +99,7 @@ function formatStopPopup(feature) {
99
99
  container.appendChild(routeList);
100
100
 
101
101
  const streetviewLink = document.createElement('a');
102
- streetviewLink.className = 'btn-blue btn-sm';
102
+ streetviewLink.className = 'btn-active btn-sm';
103
103
  streetviewLink.href = `https://www.google.com/maps/@?api=1&map_action=pano&viewpoint=${feature.geometry.coordinates[1]},${feature.geometry.coordinates[0]}&heading=0&pitch=0&fov=90`;
104
104
  streetviewLink.target = '_blank';
105
105
  streetviewLink.rel = 'noopener noreferrer';
@@ -68,7 +68,7 @@ function formatAlertAsHtml(
68
68
  if (alert.alert.url?.translation?.[0].text) {
69
69
  const moreInfoLink = document.createElement('a');
70
70
  moreInfoLink.href = alert.alert.url.translation[0].text;
71
- moreInfoLink.classList.add('btn-blue', 'btn-sm', 'alert-more-info');
71
+ moreInfoLink.classList.add('btn-active', 'btn-sm', 'alert-more-info');
72
72
  moreInfoLink.textContent = 'More Info';
73
73
  alertBody.appendChild(moreInfoLink);
74
74
  }
@@ -194,7 +194,7 @@ async function updateAlerts() {
194
194
  // Replace the empty message if present
195
195
  const emptyMessage = document.querySelector('.timetable-alert-empty');
196
196
  if (emptyMessage) {
197
- emptyMessage.style.display = '';
197
+ emptyMessage.style.display = 'block';
198
198
  }
199
199
  }
200
200
  } catch (error) {
@@ -194,7 +194,7 @@ function getStopPopupHtml(feature, stop) {
194
194
  html.appendChild(routeList);
195
195
 
196
196
  const streetviewLink = document.createElement('a');
197
- streetviewLink.className = 'btn-blue btn-sm';
197
+ streetviewLink.className = 'btn-active btn-sm';
198
198
  streetviewLink.href = `https://www.google.com/maps/@?api=1&map_action=pano&viewpoint=${feature.geometry.coordinates[1]},${feature.geometry.coordinates[0]}&heading=0&pitch=0&fov=90`;
199
199
  streetviewLink.target = '_blank';
200
200
  streetviewLink.rel = 'noopener noreferrer';
@@ -13,8 +13,8 @@ function showSelectedTimetable() {
13
13
  .forEach((element) => {
14
14
  const label = element.closest('label');
15
15
  if (label) {
16
- label.classList.toggle('btn-blue', element.checked);
17
- label.classList.toggle('btn-gray', !element.checked);
16
+ label.classList.toggle('btn-active', element.checked);
17
+ label.classList.toggle('btn-inactive', !element.checked);
18
18
  }
19
19
  });
20
20
 
@@ -23,8 +23,8 @@ function showSelectedTimetable() {
23
23
  .forEach((element) => {
24
24
  const label = element.closest('label');
25
25
  if (label) {
26
- label.classList.toggle('btn-blue', element.checked);
27
- label.classList.toggle('btn-gray', !element.checked);
26
+ label.classList.toggle('btn-active', element.checked);
27
+ label.classList.toggle('btn-inactive', !element.checked);
28
28
  }
29
29
  });
30
30
 
@@ -27,7 +27,7 @@ if timetablePage.consolidatedTimetables.length > 1
27
27
  div
28
28
  h3= dayList
29
29
  each timetable in group
30
- a.btn-blue(href=`#${cssEscape(`timetable_id_${timetable.timetable_id}`)}`)= timetable.timetable_label
30
+ a.btn-active(href=`#${cssEscape(`timetable_id_${timetable.timetable_id}`)}`)= timetable.timetable_label
31
31
 
32
32
  if config.menuType === 'radio'
33
33
  .timetable-radio-menu
@@ -36,13 +36,13 @@ if timetablePage.consolidatedTimetables.length > 1
36
36
  #direction_name_selector
37
37
  h3 Service Direction
38
38
  each timetable, idx in uniqueDirectionTimetables
39
- label(class=idx === 0 ? 'btn-blue' : 'btn-gray')
39
+ label(class=idx === 0 ? 'btn-active' : 'btn-inactive')
40
40
  input.hidden(type="radio" name="directionId" autocomplete="off" value=timetable.direction_id checked=(idx === 0))
41
41
  span= timetable.direction_name || timetable.timetable_label
42
42
  div(hidden=timetablePage.dayLists.length <= 1)
43
43
  #day_list_selector
44
44
  h3 Day of Week
45
45
  each dayList, idx in timetablePage.dayLists
46
- label(class=idx === 0 ? 'btn-blue' : 'btn-gray')
46
+ label(class=idx === 0 ? 'btn-active' : 'btn-inactive')
47
47
  input.hidden(type="radio" name="dayList" autocomplete="off" value=dayList checked=(idx === 0))
48
48
  span= dayList