@raruto/leaflet-elevation 2.0.3 → 2.0.4

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/src/index.css CHANGED
@@ -11,57 +11,44 @@
11
11
  /* prevent overlapping the .elevation-detached chart */
12
12
  }
13
13
 
14
- .elevation-detached {
15
- font: 12px/1.5 "Helvetica Neue", Arial, Helvetica, sans-serif;
16
- height: auto;
17
- width: 100%;
18
- position: relative;
19
- z-index: 0;
20
- }
21
-
22
- .elevation-detached .elevation {
23
- width: 100%;
24
- }
25
-
26
- .elevation-detached .background {
27
- max-width: 100%;
28
- }
29
-
30
- .elevation-control.elevation .background {
14
+ .elevation-control .background {
31
15
  background-color: var(--ele-bg, rgba(70, 130, 180, 0.2));
32
16
  border-radius: 5px;
33
17
  overflow: visible;
34
18
  display: block;
35
19
  touch-action: none;
36
20
  user-select: none;
21
+ max-width: 100%;
37
22
  }
38
23
 
39
- .elevation-control.elevation .axis .tick,
40
- .elevation-control.elevation .axis .domain {
24
+ .elevation-control .grid,
25
+ .elevation-control .area > foreignObject,
26
+ .elevation-control .axis,
27
+ .elevation-control .tooltip,
28
+ .height-focus.line {
41
29
  pointer-events: none;
42
30
  }
43
31
 
44
- .elevation-control.elevation .axis line,
45
- .elevation-control.elevation .axis path {
32
+ .elevation-control .axis line,
33
+ .elevation-control .axis path {
46
34
  stroke: var(--ele-axis, #2D1130);
47
35
  stroke-width: 1;
48
36
  fill: none;
49
37
  }
50
38
 
51
- .elevation-control.elevation .grid .tick line {
39
+ .elevation-control .grid .tick line {
52
40
  stroke: var(--ele-grid, #EEE);
53
41
  stroke-width: 1px;
54
42
  shape-rendering: crispEdges;
55
43
  }
56
44
 
57
- .elevation-control.elevation .grid path {
45
+ .elevation-control .grid path {
58
46
  stroke-width: 0;
59
- pointer-events: none;
60
47
  }
61
48
 
62
- .elevation-control.elevation .axis text,
63
- .elevation-control.elevation .legend text,
64
- .elevation-control.elevation .point text {
49
+ .elevation-control .axis text,
50
+ .elevation-control .legend text,
51
+ .elevation-control .point text {
65
52
  fill: #000;
66
53
  font-weight: 700;
67
54
  paint-order: stroke fill;
@@ -69,181 +56,120 @@
69
56
  stroke-width: 2px
70
57
  }
71
58
 
72
- .elevation-control.elevation .y.axis text {
59
+ .elevation-control .y.axis text {
73
60
  text-anchor: end;
74
61
  }
75
62
 
76
- .elevation-control.elevation .area {
63
+ .elevation-control .area {
77
64
  fill: var(--ele-area, #4682B4);
78
65
  stroke: var(--ele-stroke, #000);
79
66
  stroke-width: 1.2;
80
67
  paint-order: stroke fill;
81
68
  }
82
69
 
83
- .elevation-detached .elevation-control.elevation .area {
84
- fill-opacity: var(--ele-alpha, 0.8);
85
- }
86
-
87
- .elevation-control.elevation .horizontal-drag-line {
88
- stroke: transparent;
70
+ .elevation-control .horizontal-drag-line {
89
71
  cursor: row-resize;
90
- stroke-width: 1.1;
72
+ stroke: transparent;
91
73
  stroke-dasharray: 5;
74
+ stroke-width: 1.1;
92
75
  }
93
76
 
94
- .elevation-control.elevation .active .horizontal-drag-line {
77
+ .elevation-control .active .horizontal-drag-line {
95
78
  stroke: #000;
96
79
  }
97
80
 
98
- .elevation-control.elevation .horizontal-drag-label {
99
- font-weight: 700;
81
+ .elevation-control .horizontal-drag-label {
100
82
  fill: #000;
83
+ font-weight: 700;
101
84
  paint-order: stroke;
102
85
  stroke: #FFF;
103
86
  stroke-width: 2px;
104
- pointer-events: none;
105
87
  }
106
88
 
107
- .elevation-control.elevation .ruler {
108
- cursor: row-resize;
89
+ .elevation-control .ruler {
109
90
  color: #000;
91
+ cursor: row-resize;
110
92
  }
111
93
 
112
- .elevation-control.elevation .mouse-focus-line {
94
+ .elevation-control .mouse-focus-line {
113
95
  stroke: #000;
114
96
  stroke-width: 1;
115
- pointer-events: none;
116
97
  }
117
98
 
118
- .elevation-control.elevation .mouse-focus-label-rect {
99
+ .elevation-control .mouse-focus-label-rect {
119
100
  fill: #000;
120
101
  fill-opacity: 0.75;
121
- pointer-events: none;
122
102
  stroke-width: 1;
123
103
  stroke: #444;
124
104
  }
125
105
 
126
- .elevation-control.elevation .mouse-focus-label-text {
106
+ .elevation-control .mouse-focus-label-text {
127
107
  fill: #FFF;
128
- pointer-events: none;
129
108
  font-size: 10px;
130
109
  }
131
110
 
132
- .elevation-control.elevation .brush .overlay {
111
+ .elevation-control .brush .overlay {
133
112
  cursor: unset;
134
113
  }
135
114
 
136
- .elevation-control.elevation .brush .selection {
115
+ .elevation-control .brush .selection {
137
116
  fill: var(--ele-brush, rgba(23, 74, 117, 0.4));
138
117
  stroke: none;
139
118
  fill-opacity: unset;
140
119
  }
141
120
 
142
- .elevation-control.elevation .elevation-toggle {
143
- cursor: pointer;
144
- box-shadow: 0 1px 7px rgba(0, 0, 0, 0.4);
145
- border-radius: 5px;
146
- width: 36px;
147
- height: 36px;
148
- background-color: #F8F8F9;
149
- }
150
-
151
121
  .elevation-summary {
152
122
  font-family: "Lucida Grande", "Lucida Sans Unicode", Verdana, Arial, Helvetica, sans-serif;
153
123
  font-size: 12px;
154
- margin: 0 auto;
124
+ margin: var(--ele-sum-margin, 0 auto);
125
+ text-shadow: var(--ele-sum-shadow, 1px 0 0 #FFF, -1px 0 0 #FFF, 0 1px 0 #FFF, 0 -1px 0 #FFF, 1px 1px #FFF, -1px -1px 0 #FFF, 1px -1px 0 #FFF, -1px 1px 0 #FFF);
155
126
  }
156
127
 
157
- .leaflet-control-container .elevation-summary {
158
- text-shadow:
159
- 1.5px 0 0 #FFF,
160
- -1.5px 0 0 #FFF,
161
- 0 1.5px 0 #FFF,
162
- 0 -1.5px 0 #FFF,
163
- 1px 1px #FFF,
164
- -1px -1px 0 #FFF,
165
- 1px -1px 0 #FFF,
166
- -1px 1px 0 #FFF;
128
+ .elevation-summary>span:not(:last-child):after {
129
+ content: var(--ele-sum-sep, '');
167
130
  }
168
131
 
169
- .elevation-detached .elevation-summary {
170
- margin: 0 45px;
171
- }
172
-
173
- .elevation-summary.multiline-summary {
174
- margin-right: 30px;
175
- }
176
-
177
- .elevation-detached .elevation-summary.multiline-summary {
178
- margin-bottom: 12px;
179
- margin-top: 12px;
180
- line-height: 2;
181
- }
182
-
183
- .elevation-summary.inline-summary>span:not(:last-child):after {
184
- content: "\0020\2014\0020";
185
- }
186
-
187
- .elevation-summary.multiline-summary>span {
132
+ .multiline-summary>span {
188
133
  display: block;
189
134
  }
190
135
 
191
- .elevation-summary.multiline-summary .download {
136
+ .multiline-summary .download {
192
137
  float: right;
193
- margin-top: -2.5em;
138
+ margin-top: -3em;
139
+ margin-right: 2em;
194
140
  font-weight: bold;
195
141
  font-size: 1.2em;
196
142
  }
197
143
 
198
- .elevation-detached .elevation-summary.multiline-summary .download {
199
- margin-top: -3.5em;
200
- }
201
-
202
144
  .elevation-summary .summaryvalue {
203
145
  font-weight: bold;
204
146
  }
205
147
 
206
- .elevation-control.elevation-collapsed .background,
207
- .elevation-control.elevation-collapsed .elevation-summary {
208
- display: none;
209
- }
210
-
211
- .elevation-control.elevation-collapsed .elevation-toggle {
212
- display: block;
213
- }
214
-
215
- .elevation-control.elevation .elevation-toggle-icon {
216
- background: var(--ele-icon, url(../images/elevation-lime.svg)) no-repeat center center;
217
- }
218
-
219
- .elevation-control.elevation.elevation-expanded .elevation-toggle-icon.close-button {
220
- background: transparent;
221
- position: absolute;
148
+ .elevation-toggle-icon {
149
+ background: var(--ele-toggle-bg, var(--ele-icon, url(../images/elevation-lime.svg)) no-repeat center center);
150
+ background-color: #fff;
222
151
  right: 5px;
223
152
  top: 5px;
224
- height: 20px;
225
- width: 20px;
153
+ height: var(--ele-toggle-size, 36px);
154
+ width: var(--ele-toggle-size, 36px);
155
+ cursor: pointer;
156
+ box-shadow: 0 1px 7px rgba(0, 0, 0, 0.4);
157
+ border-radius: 5px;
158
+ display: inline-block;
159
+ position: var(--ele-toggle-pos, relative);
226
160
  }
227
161
 
228
- .elevation-control.elevation.elevation-expanded .elevation-toggle-icon.close-button:before {
162
+ .elevation-toggle-icon:before {
229
163
  content: '\2716';
230
- display: inline-block;
164
+ display: var(--ele-close-btn, none);
231
165
  color: #000;
232
- position: absolute;
233
- left: 0;
234
- right: 0;
235
- top: 0;
236
- bottom: 0;
166
+ width: 100%;
237
167
  line-height: 20px;
238
168
  text-align: center;
239
169
  font-weight: bold;
240
170
  font-size: 15px;
241
171
  }
242
172
 
243
- .elevation-control.elevation g.area > foreignObject {
244
- pointer-events: none;
245
- }
246
-
247
173
  .leaflet-elevation-pane .height-focus,
248
174
  .leaflet-overlay-pane .height-focus {
249
175
  stroke: #000;
@@ -252,7 +178,6 @@
252
178
 
253
179
  .leaflet-elevation-pane .height-focus.line,
254
180
  .leaflet-overlay-pane .height-focus.line {
255
- pointer-events: none;
256
181
  stroke-width: 2;
257
182
  }
258
183
 
@@ -272,22 +197,73 @@
272
197
  width: 100%;
273
198
  height: 100%;
274
199
  display: inline-block;
200
+ background: var(--ele-marker) no-repeat center center / contain;
275
201
  }
276
202
 
277
- .elevation-waypoint-icon:before {
278
- background: url(../images/elevation-pushpin.svg) no-repeat center center / contain;
203
+ .elevation-polyline {
204
+ stroke: var(--ele-poly, var(--ele-area, #000));
205
+ filter: drop-shadow(1px 1px 0 #FFF) drop-shadow(-1px -1px 0 #FFF) drop-shadow(1px -1px 0 #FFF) drop-shadow(-1px 1px 0 #FFF);
279
206
  }
280
207
 
281
- .elevation-position-icon:before {
282
- background: url(../images/elevation-position.svg) no-repeat center center / contain;
208
+ /* CHART STATES /////////////////////////////////////////////////// */
209
+
210
+ .elevation-detached {
211
+ font: 12px/1.5 "Helvetica Neue", Arial, Helvetica, sans-serif;
212
+ height: auto;
213
+ width: 100%;
214
+ position: relative;
215
+ z-index: 0;
283
216
  }
284
217
 
285
- .elevation-polyline {
286
- stroke: var(--ele-poly, var(--ele-area, #000));
287
- filter: drop-shadow(1px 1px 0 #FFF) drop-shadow(-1px -1px 0 #FFF) drop-shadow(1px -1px 0 #FFF) drop-shadow(-1px 1px 0 #FFF);
218
+ .elevation-detached .area {
219
+ fill-opacity: var(--ele-alpha, 0.8);
220
+ }
221
+
222
+ .elevation-detached.elevation-collapsed .elevation-summary {
223
+ display: block;
224
+ }
225
+
226
+ .elevation-detached.elevation-collapsed .elevation-toggle-icon {
227
+ top: 5px;
228
+ right: 9px;
229
+ bottom: 5px;
230
+ margin: auto;
231
+ }
232
+
233
+ .elevation-control.elevation-collapsed > * {
234
+ display: none;
235
+ }
236
+
237
+ .elevation-control.elevation-collapsed > .elevation-toggle-icon {
238
+ display: inline-block;
239
+ }
240
+
241
+ .elevation-detached {
242
+ --ele-sum-margin: 12px 35px;
243
+ --ele-sum-shadow: none;
244
+ --ele-toggle-pos: absolute;
245
+ }
246
+
247
+ .elevation-expanded {
248
+ --ele-close-btn: inline-block;
249
+ --ele-toggle-bg: transparent;
250
+ --ele-toggle-pos: absolute;
251
+ --ele-toggle-size: 20px;
252
+ }
253
+
254
+ .inline-summary {
255
+ --ele-sum-sep: "\0020\2014\0020";
256
+ }
257
+
258
+ .elevation-waypoint-icon {
259
+ --ele-marker: url(../images/elevation-pushpin.svg);
260
+ }
261
+
262
+ .elevation-position-icon {
263
+ --ele-marker: url(../images/elevation-position.svg);
288
264
  }
289
265
 
290
- /* LIME THEME //////////////////////////////////////////////// */
266
+ /* LIME THEME ///////////////////////////////////////////////////// */
291
267
  .lime-theme {
292
268
  --ele-bg: rgba(156, 194, 34, 0.2);
293
269
  --ele-axis: #566B13;
@@ -306,7 +282,7 @@
306
282
  --ele-icon: url(../images/elevation-steelblue.svg);
307
283
  }
308
284
 
309
- /* PURPLE THEME //////////////////////////////////////////////// */
285
+ /* PURPLE THEME /////////////////////////////////////////////////// */
310
286
  .purple-theme {
311
287
  --ele-bg: rgba(115, 44, 123, 0.2);
312
288
  --ele-area: #732C7B;
@@ -314,17 +290,17 @@
314
290
  --ele-icon: url(../images/elevation-purple.svg);
315
291
  }
316
292
 
317
- /* YELLOW THEME //////////////////////////////////////////////// */
293
+ /* YELLOW THEME /////////////////////////////////////////////////// */
318
294
  .yellow-theme {
319
295
  --ele-area: #FF0;
320
296
  }
321
297
 
322
- /* RED THEME //////////////////////////////////////////////// */
298
+ /* RED THEME ////////////////////////////////////////////////////// */
323
299
  .red-theme {
324
300
  --ele-area: #F00;
325
301
  }
326
302
 
327
- /* MAGENTA THEME //////////////////////////////////////////////// */
303
+ /* MAGENTA THEME ////////////////////////////////////////////////// */
328
304
  .magenta-theme {
329
305
  --ele-bg: rgba(255, 255, 255, 0.47);
330
306
  --ele-area: #FF005E;
@@ -338,7 +314,7 @@
338
314
  --ele-circle: #fff;
339
315
  }
340
316
 
341
- .elevation-detached .lightblue-theme.elevation-control.elevation .area {
317
+ .elevation-detached.lightblue-theme .area {
342
318
  stroke: #3366CC;
343
319
  }
344
320
 
package/src/options.js CHANGED
@@ -2,10 +2,11 @@ import * as _ from './utils';
2
2
 
3
3
  export var Options = {
4
4
  autofitBounds: true,
5
- autohide: !L.Browser.mobile,
5
+ autohide: false,
6
6
  autohideMarker: true,
7
7
  almostover: true,
8
8
  altitude: true,
9
+ closeBtn: true,
9
10
  collapsed: false,
10
11
  detached: true,
11
12
  distance: true,
@@ -66,7 +67,13 @@ export var Options = {
66
67
  zFollow: false,
67
68
  zooming: !L.Browser.Mobile,
68
69
 
69
- // Quite uncommon and undocumented options (quite useless)
70
+ // Quite uncommon and undocumented options
71
+ margins: { top: 30, right: 30, bottom: 30, left: 40 },
72
+ height: (screen.height * 0.3) || 200,
73
+ width: (screen.width * 0.6) || 600,
74
+ xTicks: undefined,
75
+ yTicks: undefined,
76
+
70
77
  decimalsX: 2,
71
78
  decimalsY: 0,
72
79
  forceAxisBounds: false,
@@ -74,11 +81,4 @@ export var Options = {
74
81
  skipNullZCoords: false,
75
82
  yAxisMax: undefined,
76
83
  yAxisMin: undefined,
77
-
78
- // Probably no longer functional as expected (internally overwritten)
79
- margins: { top: 30, right: 30, bottom: 30, left: 40 },
80
- height: 200,
81
- width: 600,
82
- xTicks: undefined,
83
- yTicks: undefined,
84
84
  };