transit-departures-widget 2.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.eslintrc.json +28 -0
- package/.husky/pre-commit +4 -0
- package/CHANGELOG.md +141 -0
- package/LICENSE.md +21 -0
- package/README.md +237 -0
- package/app/index.js +73 -0
- package/bin/transit-departures-widget.js +38 -0
- package/config-sample.json +13 -0
- package/docs/images/transit-departures-widget-logo.svg +18 -0
- package/index.js +1 -0
- package/lib/file-utils.js +109 -0
- package/lib/log-utils.js +77 -0
- package/lib/transit-departures-widget.js +84 -0
- package/lib/utils.js +256 -0
- package/locales/en.json +20 -0
- package/locales/pl.json +20 -0
- package/package.json +75 -0
- package/public/css/transit-departures-widget-styles.css +200 -0
- package/public/img/refresh.svg +1 -0
- package/public/js/transit-departures-widget.js +612 -0
- package/views/widget/layout.pug +19 -0
- package/views/widget/widget.pug +63 -0
- package/views/widget/widget_full.pug +3 -0
|
@@ -0,0 +1,200 @@
|
|
|
1
|
+
/* General Styles */
|
|
2
|
+
|
|
3
|
+
body {
|
|
4
|
+
font-family: 'Helvetica Neue', Helvetica, Arial, sans-serif;
|
|
5
|
+
font-size: 14px;
|
|
6
|
+
line-height: 1.4;
|
|
7
|
+
color: #333333;
|
|
8
|
+
background-color: #ffffff;
|
|
9
|
+
}
|
|
10
|
+
|
|
11
|
+
.transit-departures-widget {
|
|
12
|
+
max-width: 600px;
|
|
13
|
+
}
|
|
14
|
+
|
|
15
|
+
.transit-departures-widget .hidden-form {
|
|
16
|
+
display: none;
|
|
17
|
+
}
|
|
18
|
+
|
|
19
|
+
.transit-departures-widget .stop-code-invalid {
|
|
20
|
+
display: none;
|
|
21
|
+
color: #821515;
|
|
22
|
+
padding-bottom: 10px;
|
|
23
|
+
}
|
|
24
|
+
|
|
25
|
+
.transit-departures-widget .departure-results {
|
|
26
|
+
display: none;
|
|
27
|
+
margin-top: 25px;
|
|
28
|
+
}
|
|
29
|
+
|
|
30
|
+
.transit-departures-widget .departure-results-none {
|
|
31
|
+
display: none;
|
|
32
|
+
margin-top: 10px;
|
|
33
|
+
}
|
|
34
|
+
|
|
35
|
+
.transit-departures-widget .departure-results-error {
|
|
36
|
+
display: none;
|
|
37
|
+
margin-top: 10px;
|
|
38
|
+
color: #821515;
|
|
39
|
+
}
|
|
40
|
+
|
|
41
|
+
.transit-departures-widget .departure-results-stop,
|
|
42
|
+
.transit-departures-widget .departure-results-stop-unknown {
|
|
43
|
+
font-size: 24px;
|
|
44
|
+
line-height: 1;
|
|
45
|
+
}
|
|
46
|
+
|
|
47
|
+
.transit-departures-widget .departure-result {
|
|
48
|
+
background-color: #eee;
|
|
49
|
+
display: flex;
|
|
50
|
+
align-items: center;
|
|
51
|
+
justify-content: space-between;
|
|
52
|
+
margin-top: 8px;
|
|
53
|
+
}
|
|
54
|
+
|
|
55
|
+
.transit-departures-widget .departure-results-header {
|
|
56
|
+
display: flex;
|
|
57
|
+
justify-content: space-between;
|
|
58
|
+
align-items: flex-end;
|
|
59
|
+
}
|
|
60
|
+
|
|
61
|
+
.transit-departures-widget .departure-results-fetchtime {
|
|
62
|
+
flex-shrink: 0;
|
|
63
|
+
font-size: 12px;
|
|
64
|
+
margin-left: 8px;
|
|
65
|
+
padding: 0 0 0 15px;
|
|
66
|
+
border: none;
|
|
67
|
+
background-color: transparent;
|
|
68
|
+
background-image: url('../img/refresh.svg');
|
|
69
|
+
background-repeat: no-repeat;
|
|
70
|
+
background-size: 12px 12px;
|
|
71
|
+
background-position-y: 1px;
|
|
72
|
+
}
|
|
73
|
+
|
|
74
|
+
.transit-departures-widget .departure-results-fetchtime:hover {
|
|
75
|
+
text-decoration: underline;
|
|
76
|
+
}
|
|
77
|
+
|
|
78
|
+
.transit-departures-widget .departure-result-route-name {
|
|
79
|
+
display: flex;
|
|
80
|
+
align-items: center;
|
|
81
|
+
line-height: 1;
|
|
82
|
+
}
|
|
83
|
+
|
|
84
|
+
.transit-departures-widget .departure-result-route-direction {
|
|
85
|
+
font-size: 22px;
|
|
86
|
+
margin-top: 2px;
|
|
87
|
+
}
|
|
88
|
+
|
|
89
|
+
.transit-departures-widget .departure-result-route-circle {
|
|
90
|
+
margin: 5px 9px 5px;
|
|
91
|
+
width: 30px;
|
|
92
|
+
height: 30px;
|
|
93
|
+
border-radius: 50%;
|
|
94
|
+
line-height: 30px;
|
|
95
|
+
text-align: center;
|
|
96
|
+
flex-shrink: 0;
|
|
97
|
+
overflow: hidden;
|
|
98
|
+
}
|
|
99
|
+
|
|
100
|
+
.transit-departures-widget .departure-result-times {
|
|
101
|
+
display: flex;
|
|
102
|
+
align-items: stretch;
|
|
103
|
+
flex-shrink: 0;
|
|
104
|
+
align-self: stretch;
|
|
105
|
+
}
|
|
106
|
+
|
|
107
|
+
.transit-departures-widget .departure-result-time-container {
|
|
108
|
+
padding: 0 5px;
|
|
109
|
+
width: 76px;
|
|
110
|
+
border-left: 1px solid #ddd;
|
|
111
|
+
align-self: stretch;
|
|
112
|
+
display: flex;
|
|
113
|
+
align-items: center;
|
|
114
|
+
justify-content: center;
|
|
115
|
+
flex-shrink: 0;
|
|
116
|
+
flex-grow: 0;
|
|
117
|
+
}
|
|
118
|
+
|
|
119
|
+
.transit-departures-widget .departure-result-time {
|
|
120
|
+
font-size: 24px;
|
|
121
|
+
}
|
|
122
|
+
|
|
123
|
+
.transit-departures-widget .departure-result-time-label {
|
|
124
|
+
font-size: 14px;
|
|
125
|
+
padding-left: 2px;
|
|
126
|
+
}
|
|
127
|
+
|
|
128
|
+
.transit-departures-widget .loader,
|
|
129
|
+
.transit-departures-widget .loader:after {
|
|
130
|
+
border-radius: 50%;
|
|
131
|
+
width: 10em;
|
|
132
|
+
height: 10em;
|
|
133
|
+
}
|
|
134
|
+
|
|
135
|
+
.transit-departures-widget .loader {
|
|
136
|
+
margin: 20px auto;
|
|
137
|
+
font-size: 10px;
|
|
138
|
+
position: relative;
|
|
139
|
+
text-indent: -9999em;
|
|
140
|
+
border-top: 1.1em solid rgba(79, 79, 79, 0.2);
|
|
141
|
+
border-right: 1.1em solid rgba(79, 79, 79, 0.2);
|
|
142
|
+
border-bottom: 1.1em solid rgba(79, 79, 79, 0.2);
|
|
143
|
+
border-left: 1.1em solid #4f4f4f;
|
|
144
|
+
-webkit-transform: translateZ(0);
|
|
145
|
+
-ms-transform: translateZ(0);
|
|
146
|
+
transform: translateZ(0);
|
|
147
|
+
-webkit-animation: transitDeparturesWidgetLoader 1.1s infinite linear;
|
|
148
|
+
animation: transitDeparturesWidgetLoader 1.1s infinite linear;
|
|
149
|
+
display: none;
|
|
150
|
+
}
|
|
151
|
+
|
|
152
|
+
@-webkit-keyframes transitDeparturesWidgetLoader {
|
|
153
|
+
0% {
|
|
154
|
+
-webkit-transform: rotate(0deg);
|
|
155
|
+
transform: rotate(0deg);
|
|
156
|
+
}
|
|
157
|
+
100% {
|
|
158
|
+
-webkit-transform: rotate(360deg);
|
|
159
|
+
transform: rotate(360deg);
|
|
160
|
+
}
|
|
161
|
+
}
|
|
162
|
+
|
|
163
|
+
@keyframes transitDeparturesWidgetLoader {
|
|
164
|
+
0% {
|
|
165
|
+
-webkit-transform: rotate(0deg);
|
|
166
|
+
transform: rotate(0deg);
|
|
167
|
+
}
|
|
168
|
+
100% {
|
|
169
|
+
-webkit-transform: rotate(360deg);
|
|
170
|
+
transform: rotate(360deg);
|
|
171
|
+
}
|
|
172
|
+
}
|
|
173
|
+
|
|
174
|
+
.autocomplete {
|
|
175
|
+
background: white;
|
|
176
|
+
z-index: 1000;
|
|
177
|
+
overflow: auto;
|
|
178
|
+
box-sizing: border-box;
|
|
179
|
+
border: 1px solid rgba(0, 0, 0, 0.125);
|
|
180
|
+
}
|
|
181
|
+
|
|
182
|
+
.autocomplete * {
|
|
183
|
+
font: inherit;
|
|
184
|
+
}
|
|
185
|
+
|
|
186
|
+
.autocomplete > div {
|
|
187
|
+
padding: 4px 4px;
|
|
188
|
+
}
|
|
189
|
+
|
|
190
|
+
.autocomplete .group {
|
|
191
|
+
background: #eee;
|
|
192
|
+
}
|
|
193
|
+
|
|
194
|
+
.autocomplete > div:hover:not(.group),
|
|
195
|
+
.autocomplete > div.selected {
|
|
196
|
+
background: #007bff;
|
|
197
|
+
color: #fff;
|
|
198
|
+
font-weight: bold;
|
|
199
|
+
cursor: pointer;
|
|
200
|
+
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" version="1.1" x="0px" y="0px" viewBox="0 0 256 256" style="enable-background:new 0 0 256 256;" xml:space="preserve"><path d="M226.74,199.28c-0.76,0.48-1.68,0.49-2.46,0.04l-16.82-9.7l-1.08,1.29c-19.26,23.11-47.55,36.37-77.61,36.37 c-48.57,0-90.32-34.6-99.26-82.27c-0.43-2.31,0.18-4.68,1.69-6.5c1.53-1.85,3.78-2.91,6.18-2.91H50.9c3.77,0,6.98,2.59,7.81,6.3 c3.49,15.69,12.32,29.94,24.87,40.12c12.73,10.33,28.78,16.02,45.21,16.02c19.4,0,37.57-7.62,51.17-21.45l1.81-1.84l-15.56-8.98 c-0.78-0.45-1.22-1.25-1.19-2.15c0.03-0.9,0.54-1.67,1.35-2.05l53.59-25.73c0.71-0.35,1.52-0.32,2.21,0.08 c0.69,0.4,1.12,1.08,1.18,1.88l4.51,59.27C227.92,197.99,227.5,198.81,226.74,199.28z"></path><path d="M226.03,119.33c-1.53,1.85-3.78,2.91-6.18,2.91h-13.51c-3.77,0-6.98-2.59-7.81-6.3c-3.49-15.69-12.32-29.94-24.87-40.12 c-12.73-10.33-28.78-16.02-45.21-16.02c-19.4,0-37.57,7.62-51.17,21.45l-1.81,1.84l15.56,8.98c0.78,0.45,1.22,1.25,1.19,2.15 c-0.03,0.9-0.54,1.67-1.35,2.05L37.29,122c-0.71,0.35-1.52,0.32-2.21-0.08c-0.69-0.4-1.12-1.08-1.18-1.88l-4.51-59.27 c-0.07-0.9,0.35-1.72,1.11-2.2s1.68-0.49,2.46-0.04l16.82,9.7l1.08-1.29c19.26-23.11,47.55-36.37,77.61-36.37 c48.57,0,90.32,34.6,99.26,82.27C228.15,115.14,227.54,117.51,226.03,119.33z"></path></svg>
|