@entur/travel 4.2.12 → 5.0.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/CHANGELOG.md +31 -0
- package/dist/TravelTag.d.ts +11 -4
- package/dist/styles.css +113 -75
- package/dist/travel.cjs.development.js +120 -33
- package/dist/travel.cjs.development.js.map +1 -1
- package/dist/travel.cjs.production.min.js +1 -1
- package/dist/travel.cjs.production.min.js.map +1 -1
- package/dist/travel.esm.js +102 -18
- package/dist/travel.esm.js.map +1 -1
- package/package.json +10 -10
package/CHANGELOG.md
CHANGED
|
@@ -3,6 +3,37 @@
|
|
|
3
3
|
All notable changes to this project will be documented in this file.
|
|
4
4
|
See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.
|
|
5
5
|
|
|
6
|
+
## [5.0.1](https://bitbucket.org/enturas/design-system/compare/@entur/travel@5.0.0...@entur/travel@5.0.1) (2022-02-09)
|
|
7
|
+
|
|
8
|
+
**Note:** Version bump only for package @entur/travel
|
|
9
|
+
|
|
10
|
+
# [5.0.0](https://bitbucket.org/enturas/design-system/compare/@entur/travel@4.2.14...@entur/travel@5.0.0) (2022-01-05)
|
|
11
|
+
|
|
12
|
+
### Bug Fixes
|
|
13
|
+
|
|
14
|
+
- **travel tag:** fix 'warning' and 'error' alert prop being swapped, and colors in contrast ([0a08fb3](https://bitbucket.org/enturas/design-system/commits/0a08fb37ec70b0a19cea2fd96a2a5b39295fe5e5))
|
|
15
|
+
|
|
16
|
+
### Features
|
|
17
|
+
|
|
18
|
+
- **travel tag:** add label and labelPlacement props ([8f63a0b](https://bitbucket.org/enturas/design-system/commits/8f63a0bc23c16523fc976a1566ec3c8dec22dd48))
|
|
19
|
+
- **travel tag:** add transport icon automatically based on transport prop ([42a191a](https://bitbucket.org/enturas/design-system/commits/42a191a2962f34696f2cfcb42c943e60c2738f4b))
|
|
20
|
+
|
|
21
|
+
### BREAKING CHANGES
|
|
22
|
+
|
|
23
|
+
- **travel tag:** If both an icon and transport prop is provided in previous code, you will now get two icos. Remove
|
|
24
|
+
the child Icon to fix
|
|
25
|
+
- **travel tag:** alert prop options 'warning' and 'error' has been swapped and will now display the correct icon
|
|
26
|
+
|
|
27
|
+
## [4.2.14](https://bitbucket.org/enturas/design-system/compare/@entur/travel@4.2.13...@entur/travel@4.2.14) (2021-11-17)
|
|
28
|
+
|
|
29
|
+
**Note:** Version bump only for package @entur/travel
|
|
30
|
+
|
|
31
|
+
## [4.2.13](https://bitbucket.org/enturas/design-system/compare/@entur/travel@4.2.12...@entur/travel@4.2.13) (2021-10-18)
|
|
32
|
+
|
|
33
|
+
### Bug Fixes
|
|
34
|
+
|
|
35
|
+
- **travel tag:** fix focus styling for close button ([d9ec26e](https://bitbucket.org/enturas/design-system/commits/d9ec26ea68ba9962a233291eb5e58920efab99b1))
|
|
36
|
+
|
|
6
37
|
## [4.2.12](https://bitbucket.org/enturas/design-system/compare/@entur/travel@4.2.11...@entur/travel@4.2.12) (2021-09-23)
|
|
7
38
|
|
|
8
39
|
**Note:** Version bump only for package @entur/travel
|
package/dist/TravelTag.d.ts
CHANGED
|
@@ -1,18 +1,25 @@
|
|
|
1
1
|
import React from 'react';
|
|
2
2
|
import './TravelTag.scss';
|
|
3
3
|
export declare type TravelTagProps = {
|
|
4
|
-
/** Callback som kalles for når man skal lukke
|
|
4
|
+
/** Callback som kalles for når man skal lukke TravelTag-en
|
|
5
5
|
* @default undefined
|
|
6
6
|
*/
|
|
7
7
|
onClose?: () => void;
|
|
8
|
-
/** Innholdet
|
|
9
|
-
children
|
|
8
|
+
/** Innholdet inne i TravelTag-en */
|
|
9
|
+
children?: React.ReactNode;
|
|
10
10
|
/**Ekstra klassenavn */
|
|
11
11
|
className?: string;
|
|
12
12
|
/** Legger til et Valideringsikon i TravelTagen for å signalisere avvik, informasjon e.l.
|
|
13
13
|
* @default "none"
|
|
14
14
|
*/
|
|
15
15
|
alert?: 'none' | 'error' | 'warning' | 'info';
|
|
16
|
-
|
|
16
|
+
/** Legger til farge og ikon tilpasset valgt transportmiddel */
|
|
17
|
+
transport?: 'bus' | 'metro' | 'air' | 'tram' | 'rail' | 'water' | 'carferry' | 'bike' | 'scooter' | 'foot' | 'car' | 'taxi';
|
|
18
|
+
/** Element ved siden av eller under TravelTag. */
|
|
19
|
+
label?: React.ReactNode;
|
|
20
|
+
/** Posisjonen til label-en i forhold til TravelTag-en
|
|
21
|
+
* @default "right"
|
|
22
|
+
*/
|
|
23
|
+
labelPlacement?: 'bottom' | 'right';
|
|
17
24
|
} & React.DetailedHTMLProps<React.HTMLAttributes<HTMLDivElement>, HTMLDivElement>;
|
|
18
25
|
export declare const TravelTag: React.FC<TravelTagProps>;
|
package/dist/styles.css
CHANGED
|
@@ -2,6 +2,50 @@
|
|
|
2
2
|
--eds-travel: 1;
|
|
3
3
|
}/* DO NOT CHANGE!*/
|
|
4
4
|
/* This file is automatically generated from @entur/tokens! Changes will be overwritten. */
|
|
5
|
+
.eds-travel-header {
|
|
6
|
+
color: #181c56;
|
|
7
|
+
display: flex;
|
|
8
|
+
flex-direction: column;
|
|
9
|
+
font-weight: 600;
|
|
10
|
+
line-height: 1.5;
|
|
11
|
+
max-width: 100%;
|
|
12
|
+
}
|
|
13
|
+
.eds-contrast .eds-travel-header {
|
|
14
|
+
color: #ffffff;
|
|
15
|
+
}
|
|
16
|
+
.eds-travel-header--large {
|
|
17
|
+
font-size: 1.5rem;
|
|
18
|
+
}
|
|
19
|
+
.eds-travel-header--medium {
|
|
20
|
+
font-size: 1rem;
|
|
21
|
+
}
|
|
22
|
+
.eds-travel-header--no-wrap {
|
|
23
|
+
flex-direction: row;
|
|
24
|
+
}
|
|
25
|
+
.eds-travel-header__from, .eds-travel-header__to {
|
|
26
|
+
min-width: 0;
|
|
27
|
+
overflow: hidden;
|
|
28
|
+
text-overflow: ellipsis;
|
|
29
|
+
white-space: nowrap;
|
|
30
|
+
}
|
|
31
|
+
.eds-travel-header--no-wrap .eds-travel-header__from {
|
|
32
|
+
margin-right: 0.5em;
|
|
33
|
+
}
|
|
34
|
+
.eds-travel-header__to {
|
|
35
|
+
padding-left: calc(4em / 3 + 0.5em);
|
|
36
|
+
position: relative;
|
|
37
|
+
}
|
|
38
|
+
.eds-travel-header__to::before {
|
|
39
|
+
background-color: #ff5959;
|
|
40
|
+
content: "";
|
|
41
|
+
display: block;
|
|
42
|
+
height: calc(1em / 6);
|
|
43
|
+
left: 0;
|
|
44
|
+
position: absolute;
|
|
45
|
+
top: 0.65em;
|
|
46
|
+
width: calc(4em / 3);
|
|
47
|
+
}/* DO NOT CHANGE!*/
|
|
48
|
+
/* This file is automatically generated from @entur/tokens! Changes will be overwritten. */
|
|
5
49
|
.eds-leg-line {
|
|
6
50
|
flex-grow: 1;
|
|
7
51
|
mask-image: url("./pattern/line.svg");
|
|
@@ -56,10 +100,19 @@
|
|
|
56
100
|
.eds-travel-tag--alert {
|
|
57
101
|
padding-right: 0.75rem;
|
|
58
102
|
}
|
|
103
|
+
.eds-travel-tag--alert--error {
|
|
104
|
+
box-shadow: inset 0 0 0 20px rgba(255, 255, 255, 0.5);
|
|
105
|
+
}
|
|
106
|
+
.eds-contrast .eds-travel-tag--alert--error.eds-travel-tag {
|
|
107
|
+
box-shadow: none;
|
|
108
|
+
background-color: rgba(0, 0, 0, 0);
|
|
109
|
+
border: 0.125rem dashed #54568c;
|
|
110
|
+
}
|
|
59
111
|
.eds-travel-tag--icon-and-text > .eds-icon {
|
|
60
112
|
margin-right: 0.5rem;
|
|
61
113
|
}
|
|
62
114
|
.eds-contrast .eds-travel-tag {
|
|
115
|
+
align-items: center;
|
|
63
116
|
background-color: #393d79;
|
|
64
117
|
}
|
|
65
118
|
.eds-travel-tag > .eds-icon {
|
|
@@ -69,10 +122,12 @@
|
|
|
69
122
|
appearance: none;
|
|
70
123
|
background: none;
|
|
71
124
|
border: none;
|
|
72
|
-
border-radius:
|
|
125
|
+
border-radius: 50%;
|
|
73
126
|
cursor: pointer;
|
|
74
127
|
margin: 0 0 0 0.75rem;
|
|
75
128
|
padding: 0;
|
|
129
|
+
height: 1.5rem;
|
|
130
|
+
width: 1.5rem;
|
|
76
131
|
}
|
|
77
132
|
.eds-travel-tag__close-button .eds-icon {
|
|
78
133
|
color: #181c56;
|
|
@@ -95,73 +150,67 @@
|
|
|
95
150
|
background: #c5044e;
|
|
96
151
|
color: #ffffff;
|
|
97
152
|
}
|
|
98
|
-
.eds-
|
|
99
|
-
|
|
100
|
-
color: #181c56;
|
|
153
|
+
.eds-travel-tag--transport-bus > .eds-icon {
|
|
154
|
+
color: #ffffff;
|
|
101
155
|
}
|
|
102
156
|
.eds-travel-tag--transport-metro {
|
|
103
157
|
background: #de8108;
|
|
104
158
|
color: #ffffff;
|
|
105
159
|
}
|
|
106
|
-
.eds-
|
|
107
|
-
|
|
108
|
-
|
|
160
|
+
.eds-travel-tag--transport-metro > .eds-icon {
|
|
161
|
+
color: #ffffff;
|
|
162
|
+
}
|
|
163
|
+
.eds-contrast .eds-travel-tag--transport-metro > .eds-icon {
|
|
164
|
+
color: #f08901;
|
|
109
165
|
}
|
|
110
166
|
.eds-travel-tag--transport-air {
|
|
111
167
|
background: #800664;
|
|
112
168
|
color: #ffffff;
|
|
113
169
|
}
|
|
114
|
-
.eds-
|
|
115
|
-
|
|
116
|
-
color: #181c56;
|
|
170
|
+
.eds-travel-tag--transport-air > .eds-icon {
|
|
171
|
+
color: #ffffff;
|
|
117
172
|
}
|
|
118
173
|
.eds-travel-tag--transport-tram {
|
|
119
174
|
background: #642e88;
|
|
120
175
|
color: #ffffff;
|
|
121
176
|
}
|
|
122
|
-
.eds-
|
|
123
|
-
|
|
124
|
-
color: #181c56;
|
|
177
|
+
.eds-travel-tag--transport-tram > .eds-icon {
|
|
178
|
+
color: #ffffff;
|
|
125
179
|
}
|
|
126
180
|
.eds-travel-tag--transport-rail {
|
|
127
181
|
background: #00367f;
|
|
128
182
|
color: #ffffff;
|
|
129
183
|
}
|
|
130
|
-
.eds-
|
|
131
|
-
|
|
132
|
-
color: #181c56;
|
|
184
|
+
.eds-travel-tag--transport-rail > .eds-icon {
|
|
185
|
+
color: #ffffff;
|
|
133
186
|
}
|
|
134
187
|
.eds-travel-tag--transport-water {
|
|
135
188
|
background: #0497bc;
|
|
136
189
|
color: #ffffff;
|
|
137
190
|
}
|
|
138
|
-
.eds-
|
|
139
|
-
|
|
140
|
-
color: #181c56;
|
|
191
|
+
.eds-travel-tag--transport-water > .eds-icon {
|
|
192
|
+
color: #ffffff;
|
|
141
193
|
}
|
|
142
194
|
.eds-travel-tag--transport-bike, .eds-travel-tag--transport-scooter {
|
|
143
195
|
background: #388f76;
|
|
144
196
|
color: #ffffff;
|
|
145
197
|
}
|
|
146
|
-
.eds-
|
|
147
|
-
|
|
148
|
-
color: #181c56;
|
|
198
|
+
.eds-travel-tag--transport-bike > .eds-icon, .eds-travel-tag--transport-scooter > .eds-icon {
|
|
199
|
+
color: #ffffff;
|
|
149
200
|
}
|
|
150
201
|
.eds-travel-tag--transport-foot {
|
|
151
202
|
background: #181c56;
|
|
152
203
|
color: #ffffff;
|
|
153
204
|
}
|
|
154
|
-
.eds-
|
|
155
|
-
|
|
156
|
-
color: #181c56;
|
|
205
|
+
.eds-travel-tag--transport-foot > .eds-icon {
|
|
206
|
+
color: #ffffff;
|
|
157
207
|
}
|
|
158
208
|
.eds-travel-tag--transport-car {
|
|
159
209
|
background: #181c56;
|
|
160
210
|
color: #ffffff;
|
|
161
211
|
}
|
|
162
|
-
.eds-
|
|
163
|
-
|
|
164
|
-
color: #181c56;
|
|
212
|
+
.eds-travel-tag--transport-car > .eds-icon {
|
|
213
|
+
color: #ffffff;
|
|
165
214
|
}
|
|
166
215
|
.eds-travel-tag__alert {
|
|
167
216
|
background: #ffffff;
|
|
@@ -174,21 +223,26 @@
|
|
|
174
223
|
width: 1.125rem;
|
|
175
224
|
position: absolute;
|
|
176
225
|
top: 0.4375rem;
|
|
177
|
-
right: -0.
|
|
226
|
+
right: -0.6875rem;
|
|
178
227
|
}
|
|
179
228
|
.eds-contrast .eds-travel-tag__alert {
|
|
180
229
|
background: #181c56;
|
|
181
230
|
}
|
|
231
|
+
.eds-contrast .eds-travel-tag__alert--error-icon {
|
|
232
|
+
top: 0.5625rem;
|
|
233
|
+
}
|
|
182
234
|
.eds-travel-tag__alert-exclamation-icon {
|
|
183
|
-
color: #
|
|
235
|
+
color: #ffca28;
|
|
184
236
|
}
|
|
185
237
|
.eds-contrast .eds-travel-tag__alert-exclamation-icon {
|
|
186
|
-
color: #
|
|
238
|
+
color: #ffe082;
|
|
187
239
|
}
|
|
188
240
|
.eds-travel-tag__alert-error-icon {
|
|
241
|
+
font-size: 0.875rem;
|
|
189
242
|
color: #d31b1b;
|
|
190
243
|
}
|
|
191
244
|
.eds-contrast .eds-travel-tag__alert-error-icon {
|
|
245
|
+
margin-bottom: 0.25rem;
|
|
192
246
|
color: #ff9494;
|
|
193
247
|
}
|
|
194
248
|
.eds-travel-tag__alert-info-icon {
|
|
@@ -196,6 +250,34 @@
|
|
|
196
250
|
}
|
|
197
251
|
.eds-contrast .eds-travel-tag__alert-info-icon {
|
|
198
252
|
color: #64b3e7;
|
|
253
|
+
}
|
|
254
|
+
.eds-travel-tag__wrapper {
|
|
255
|
+
display: inline-flex;
|
|
256
|
+
}
|
|
257
|
+
.eds-travel-tag__wrapper--label-position-right {
|
|
258
|
+
flex-direction: row;
|
|
259
|
+
align-items: center;
|
|
260
|
+
}
|
|
261
|
+
.eds-travel-tag__wrapper--label-position-bottom {
|
|
262
|
+
flex-direction: column;
|
|
263
|
+
align-items: flex-start;
|
|
264
|
+
}
|
|
265
|
+
.eds-travel-tag__label {
|
|
266
|
+
color: #181c56;
|
|
267
|
+
font-size: 1rem;
|
|
268
|
+
}
|
|
269
|
+
.eds-contrast .eds-travel-tag__label {
|
|
270
|
+
color: #ffffff;
|
|
271
|
+
}
|
|
272
|
+
.eds-travel-tag__label--right {
|
|
273
|
+
margin-left: 0.5rem;
|
|
274
|
+
}
|
|
275
|
+
.eds-travel-tag__label--right--with-alert {
|
|
276
|
+
margin-left: 1rem;
|
|
277
|
+
}
|
|
278
|
+
.eds-travel-tag__label--bottom {
|
|
279
|
+
margin-top: 0.125rem;
|
|
280
|
+
font-size: 0.875rem;
|
|
199
281
|
}/* DO NOT CHANGE!*/
|
|
200
282
|
/* This file is automatically generated from @entur/tokens! Changes will be overwritten. */
|
|
201
283
|
.eds-leg-bone {
|
|
@@ -230,48 +312,4 @@
|
|
|
230
312
|
}
|
|
231
313
|
.eds-leg-bone--horizontal .eds-leg-bone__stop {
|
|
232
314
|
margin-left: 0.125rem;
|
|
233
|
-
}/* DO NOT CHANGE!*/
|
|
234
|
-
/* This file is automatically generated from @entur/tokens! Changes will be overwritten. */
|
|
235
|
-
.eds-travel-header {
|
|
236
|
-
color: #181c56;
|
|
237
|
-
display: flex;
|
|
238
|
-
flex-direction: column;
|
|
239
|
-
font-weight: 600;
|
|
240
|
-
line-height: 1.5;
|
|
241
|
-
max-width: 100%;
|
|
242
|
-
}
|
|
243
|
-
.eds-contrast .eds-travel-header {
|
|
244
|
-
color: #ffffff;
|
|
245
|
-
}
|
|
246
|
-
.eds-travel-header--large {
|
|
247
|
-
font-size: 1.5rem;
|
|
248
|
-
}
|
|
249
|
-
.eds-travel-header--medium {
|
|
250
|
-
font-size: 1rem;
|
|
251
|
-
}
|
|
252
|
-
.eds-travel-header--no-wrap {
|
|
253
|
-
flex-direction: row;
|
|
254
|
-
}
|
|
255
|
-
.eds-travel-header__from, .eds-travel-header__to {
|
|
256
|
-
min-width: 0;
|
|
257
|
-
overflow: hidden;
|
|
258
|
-
text-overflow: ellipsis;
|
|
259
|
-
white-space: nowrap;
|
|
260
|
-
}
|
|
261
|
-
.eds-travel-header--no-wrap .eds-travel-header__from {
|
|
262
|
-
margin-right: 0.5em;
|
|
263
|
-
}
|
|
264
|
-
.eds-travel-header__to {
|
|
265
|
-
padding-left: calc(4em / 3 + 0.5em);
|
|
266
|
-
position: relative;
|
|
267
|
-
}
|
|
268
|
-
.eds-travel-header__to::before {
|
|
269
|
-
background-color: #ff5959;
|
|
270
|
-
content: "";
|
|
271
|
-
display: block;
|
|
272
|
-
height: calc(1em / 6);
|
|
273
|
-
left: 0;
|
|
274
|
-
position: absolute;
|
|
275
|
-
top: 0.65em;
|
|
276
|
-
width: calc(4em / 3);
|
|
277
315
|
}
|
|
@@ -2,15 +2,36 @@
|
|
|
2
2
|
|
|
3
3
|
Object.defineProperty(exports, '__esModule', { value: true });
|
|
4
4
|
|
|
5
|
-
function _interopDefault (ex) { return (ex && (typeof ex === 'object') && 'default' in ex) ? ex['default'] : ex; }
|
|
6
|
-
|
|
7
5
|
var utils = require('@entur/utils');
|
|
8
|
-
var React =
|
|
9
|
-
var classNames =
|
|
6
|
+
var React = require('react');
|
|
7
|
+
var classNames = require('classnames');
|
|
10
8
|
var icons = require('@entur/icons');
|
|
11
9
|
var tokens = require('@entur/tokens');
|
|
12
10
|
var layout = require('@entur/layout');
|
|
13
11
|
|
|
12
|
+
function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; }
|
|
13
|
+
|
|
14
|
+
var React__default = /*#__PURE__*/_interopDefaultLegacy(React);
|
|
15
|
+
var classNames__default = /*#__PURE__*/_interopDefaultLegacy(classNames);
|
|
16
|
+
|
|
17
|
+
function _extends() {
|
|
18
|
+
_extends = Object.assign || function (target) {
|
|
19
|
+
for (var i = 1; i < arguments.length; i++) {
|
|
20
|
+
var source = arguments[i];
|
|
21
|
+
|
|
22
|
+
for (var key in source) {
|
|
23
|
+
if (Object.prototype.hasOwnProperty.call(source, key)) {
|
|
24
|
+
target[key] = source[key];
|
|
25
|
+
}
|
|
26
|
+
}
|
|
27
|
+
}
|
|
28
|
+
|
|
29
|
+
return target;
|
|
30
|
+
};
|
|
31
|
+
|
|
32
|
+
return _extends.apply(this, arguments);
|
|
33
|
+
}
|
|
34
|
+
|
|
14
35
|
function _objectWithoutPropertiesLoose(source, excluded) {
|
|
15
36
|
if (source == null) return {};
|
|
16
37
|
var target = {};
|
|
@@ -26,6 +47,7 @@ function _objectWithoutPropertiesLoose(source, excluded) {
|
|
|
26
47
|
return target;
|
|
27
48
|
}
|
|
28
49
|
|
|
50
|
+
var _excluded$4 = ["as", "from", "to", "size", "className", "noWrap"];
|
|
29
51
|
var TravelHeader = function TravelHeader(_ref) {
|
|
30
52
|
var _ref$as = _ref.as,
|
|
31
53
|
Element = _ref$as === void 0 ? 'div' : _ref$as,
|
|
@@ -35,24 +57,25 @@ var TravelHeader = function TravelHeader(_ref) {
|
|
|
35
57
|
size = _ref$size === void 0 ? 'large' : _ref$size,
|
|
36
58
|
className = _ref.className,
|
|
37
59
|
noWrap = _ref.noWrap,
|
|
38
|
-
rest = _objectWithoutPropertiesLoose(_ref,
|
|
60
|
+
rest = _objectWithoutPropertiesLoose(_ref, _excluded$4);
|
|
39
61
|
|
|
40
|
-
return
|
|
41
|
-
className:
|
|
62
|
+
return React__default["default"].createElement(Element, _extends({
|
|
63
|
+
className: classNames__default["default"]('eds-travel-header', className, {
|
|
42
64
|
'eds-travel-header--large': size === 'large',
|
|
43
65
|
'eds-travel-header--medium': size === 'medium',
|
|
44
66
|
'eds-travel-header--no-wrap': noWrap
|
|
45
67
|
}),
|
|
46
68
|
"aria-label": "Fra " + from + ", til " + to
|
|
47
|
-
}, rest),
|
|
69
|
+
}, rest), React__default["default"].createElement("span", {
|
|
48
70
|
className: "eds-travel-header__from"
|
|
49
|
-
}, from),
|
|
71
|
+
}, from), React__default["default"].createElement("span", {
|
|
50
72
|
className: "eds-travel-header__to"
|
|
51
73
|
}, to));
|
|
52
74
|
};
|
|
53
75
|
|
|
76
|
+
var _excluded$3 = ["onClose", "children", "className", "alert", "transport", "label", "labelPlacement"];
|
|
54
77
|
var TravelTag = function TravelTag(_ref) {
|
|
55
|
-
var _classNames;
|
|
78
|
+
var _modeCalc, _classNames, _classNames2;
|
|
56
79
|
|
|
57
80
|
var _ref$onClose = _ref.onClose,
|
|
58
81
|
onClose = _ref$onClose === void 0 ? undefined : _ref$onClose,
|
|
@@ -61,32 +84,94 @@ var TravelTag = function TravelTag(_ref) {
|
|
|
61
84
|
_ref$alert = _ref.alert,
|
|
62
85
|
alert = _ref$alert === void 0 ? 'none' : _ref$alert,
|
|
63
86
|
transport = _ref.transport,
|
|
64
|
-
|
|
87
|
+
label = _ref.label,
|
|
88
|
+
_ref$labelPlacement = _ref.labelPlacement,
|
|
89
|
+
labelPlacement = _ref$labelPlacement === void 0 ? 'right' : _ref$labelPlacement,
|
|
90
|
+
rest = _objectWithoutPropertiesLoose(_ref, _excluded$3);
|
|
65
91
|
|
|
66
92
|
var isClosable = onClose ? true : false;
|
|
67
|
-
var numberOfChildren =
|
|
68
|
-
|
|
69
|
-
|
|
93
|
+
var numberOfChildren = React__default["default"].Children.count(children);
|
|
94
|
+
var TransportIcon = (_modeCalc = modeCalc$1(transport)) != null ? _modeCalc : React__default["default"].createElement(React__default["default"].Fragment, null);
|
|
95
|
+
var TravelTagWithoutLabel = React__default["default"].createElement("div", _extends({
|
|
96
|
+
className: classNames__default["default"]('eds-travel-tag', (_classNames = {
|
|
70
97
|
'eds-travel-tag--closable': isClosable,
|
|
71
98
|
'eds-travel-tag--alert': alert !== 'none',
|
|
72
|
-
'eds-travel-tag--
|
|
99
|
+
'eds-travel-tag--alert--error': alert === 'error',
|
|
100
|
+
'eds-travel-tag--icon-and-text': numberOfChildren > 1 || transport && numberOfChildren > 0
|
|
73
101
|
}, _classNames["eds-travel-tag--transport-" + transport] = transport, _classNames.className = className, _classNames))
|
|
74
|
-
}, rest), children, isClosable &&
|
|
102
|
+
}, rest), transport && TransportIcon, children, isClosable && React__default["default"].createElement("button", {
|
|
75
103
|
onClick: onClose,
|
|
76
104
|
className: "eds-travel-tag__close-button"
|
|
77
|
-
},
|
|
105
|
+
}, React__default["default"].createElement(icons.CloseSmallIcon, {
|
|
78
106
|
inline: true
|
|
79
|
-
})), alert !== 'none' &&
|
|
107
|
+
})), alert !== 'none' && React__default["default"].createElement("span", {
|
|
80
108
|
className: "eds-travel-tag__alert"
|
|
81
|
-
}, alert === 'info' &&
|
|
109
|
+
}, alert === 'info' && React__default["default"].createElement(icons.ValidationInfoIcon, {
|
|
82
110
|
className: "eds-travel-tag__alert-info-icon"
|
|
83
|
-
}), alert === 'error' &&
|
|
84
|
-
className: "eds-travel-tag__alert-exclamation-icon"
|
|
85
|
-
}), alert === 'warning' && React.createElement(icons.ValidationErrorIcon, {
|
|
111
|
+
}), alert === 'error' && React__default["default"].createElement(icons.ValidationErrorIcon, {
|
|
86
112
|
className: "eds-travel-tag__alert-error-icon"
|
|
113
|
+
}), alert === 'warning' && React__default["default"].createElement(icons.ValidationExclamationIcon, {
|
|
114
|
+
className: "eds-travel-tag__alert-exclamation-icon"
|
|
87
115
|
})));
|
|
116
|
+
var Label = React__default["default"].createElement("div", {
|
|
117
|
+
className: classNames__default["default"]('eds-travel-tag__label', (_classNames2 = {}, _classNames2["eds-travel-tag__label--" + labelPlacement] = label, _classNames2["eds-travel-tag__label--" + labelPlacement + "--with-alert"] = label && alert !== 'none', _classNames2))
|
|
118
|
+
}, label);
|
|
119
|
+
|
|
120
|
+
if (label) {
|
|
121
|
+
var _classNames3;
|
|
122
|
+
|
|
123
|
+
return React__default["default"].createElement("div", {
|
|
124
|
+
className: classNames__default["default"]('eds-travel-tag__wrapper', (_classNames3 = {}, _classNames3["eds-travel-tag__wrapper--label-position-" + labelPlacement] = label, _classNames3))
|
|
125
|
+
}, TravelTagWithoutLabel, Label);
|
|
126
|
+
}
|
|
127
|
+
|
|
128
|
+
return TravelTagWithoutLabel;
|
|
129
|
+
};
|
|
130
|
+
|
|
131
|
+
var modeCalc$1 = function modeCalc(mode) {
|
|
132
|
+
switch (mode) {
|
|
133
|
+
case 'bus':
|
|
134
|
+
return React__default["default"].createElement(icons.BusIcon, null);
|
|
135
|
+
|
|
136
|
+
case 'metro':
|
|
137
|
+
return React__default["default"].createElement(icons.SubwayIcon, null);
|
|
138
|
+
|
|
139
|
+
case 'air':
|
|
140
|
+
return React__default["default"].createElement(icons.PlaneIcon, null);
|
|
141
|
+
|
|
142
|
+
case 'tram':
|
|
143
|
+
return React__default["default"].createElement(icons.TramIcon, null);
|
|
144
|
+
|
|
145
|
+
case 'rail':
|
|
146
|
+
return React__default["default"].createElement(icons.TrainIcon, null);
|
|
147
|
+
|
|
148
|
+
case 'water':
|
|
149
|
+
return React__default["default"].createElement(icons.FerryIcon, null);
|
|
150
|
+
|
|
151
|
+
case 'carferry':
|
|
152
|
+
return React__default["default"].createElement(icons.CarferryIcon, null);
|
|
153
|
+
|
|
154
|
+
case 'bike':
|
|
155
|
+
return React__default["default"].createElement(icons.BicycleIcon, null);
|
|
156
|
+
|
|
157
|
+
case 'scooter':
|
|
158
|
+
return React__default["default"].createElement(icons.ScooterIcon, null);
|
|
159
|
+
|
|
160
|
+
case 'foot':
|
|
161
|
+
return React__default["default"].createElement(icons.WalkingIcon, null);
|
|
162
|
+
|
|
163
|
+
case 'car':
|
|
164
|
+
return React__default["default"].createElement(icons.CarIcon, null);
|
|
165
|
+
|
|
166
|
+
case 'taxi':
|
|
167
|
+
return React__default["default"].createElement(icons.TaxiIcon, null);
|
|
168
|
+
|
|
169
|
+
default:
|
|
170
|
+
return React__default["default"].createElement(React__default["default"].Fragment, null);
|
|
171
|
+
}
|
|
88
172
|
};
|
|
89
173
|
|
|
174
|
+
var _excluded$2 = ["color", "direction", "pattern", "className"];
|
|
90
175
|
var LegLine = function LegLine(_ref) {
|
|
91
176
|
var _classNames;
|
|
92
177
|
|
|
@@ -95,16 +180,17 @@ var LegLine = function LegLine(_ref) {
|
|
|
95
180
|
direction = _ref$direction === void 0 ? 'horizontal' : _ref$direction,
|
|
96
181
|
pattern = _ref.pattern,
|
|
97
182
|
className = _ref.className,
|
|
98
|
-
rest = _objectWithoutPropertiesLoose(_ref,
|
|
183
|
+
rest = _objectWithoutPropertiesLoose(_ref, _excluded$2);
|
|
99
184
|
|
|
100
|
-
return
|
|
101
|
-
className:
|
|
185
|
+
return React__default["default"].createElement("div", _extends({
|
|
186
|
+
className: classNames__default["default"]('eds-leg-line', className, (_classNames = {}, _classNames["eds-leg-line--" + pattern] = pattern, _classNames["eds-leg-line--" + direction] = direction, _classNames)),
|
|
102
187
|
style: {
|
|
103
188
|
backgroundColor: color
|
|
104
189
|
}
|
|
105
190
|
}, rest));
|
|
106
191
|
};
|
|
107
192
|
|
|
193
|
+
var _excluded$1 = ["direction", "pattern", "color", "startColor", "endColor", "showStart", "showStop", "showLine", "className"];
|
|
108
194
|
var LegBone = function LegBone(_ref) {
|
|
109
195
|
var direction = _ref.direction,
|
|
110
196
|
pattern = _ref.pattern,
|
|
@@ -118,25 +204,25 @@ var LegBone = function LegBone(_ref) {
|
|
|
118
204
|
_ref$showLine = _ref.showLine,
|
|
119
205
|
showLine = _ref$showLine === void 0 ? true : _ref$showLine,
|
|
120
206
|
className = _ref.className,
|
|
121
|
-
rest = _objectWithoutPropertiesLoose(_ref,
|
|
207
|
+
rest = _objectWithoutPropertiesLoose(_ref, _excluded$1);
|
|
122
208
|
|
|
123
|
-
return
|
|
124
|
-
className:
|
|
209
|
+
return React__default["default"].createElement("div", _extends({
|
|
210
|
+
className: classNames__default["default"](className, 'eds-leg-bone', [{
|
|
125
211
|
'eds-leg-bone--vertical': direction === 'vertical'
|
|
126
212
|
}, {
|
|
127
213
|
'eds-leg-bone--horizontal': direction === 'horizontal'
|
|
128
214
|
}])
|
|
129
|
-
}, rest), showStart &&
|
|
215
|
+
}, rest), showStart && React__default["default"].createElement("div", {
|
|
130
216
|
className: "eds-leg-bone__start",
|
|
131
217
|
style: {
|
|
132
218
|
backgroundColor: startColor || color
|
|
133
219
|
}
|
|
134
|
-
}), showLine &&
|
|
220
|
+
}), showLine && React__default["default"].createElement(LegLine, {
|
|
135
221
|
className: "eds-leg-bone__line",
|
|
136
222
|
direction: direction,
|
|
137
223
|
color: color,
|
|
138
224
|
pattern: pattern
|
|
139
|
-
}), showStop &&
|
|
225
|
+
}), showStop && React__default["default"].createElement("div", {
|
|
140
226
|
className: "eds-leg-bone__stop",
|
|
141
227
|
style: {
|
|
142
228
|
backgroundColor: endColor || color
|
|
@@ -144,11 +230,12 @@ var LegBone = function LegBone(_ref) {
|
|
|
144
230
|
}));
|
|
145
231
|
};
|
|
146
232
|
|
|
233
|
+
var _excluded = ["className", "transport", "direction"];
|
|
147
234
|
var TravelLeg = function TravelLeg(_ref) {
|
|
148
235
|
var className = _ref.className,
|
|
149
236
|
transport = _ref.transport,
|
|
150
237
|
direction = _ref.direction,
|
|
151
|
-
rest = _objectWithoutPropertiesLoose(_ref,
|
|
238
|
+
rest = _objectWithoutPropertiesLoose(_ref, _excluded);
|
|
152
239
|
|
|
153
240
|
var _modeCalc = modeCalc(transport),
|
|
154
241
|
color = _modeCalc.color,
|
|
@@ -156,7 +243,7 @@ var TravelLeg = function TravelLeg(_ref) {
|
|
|
156
243
|
pattern = _modeCalc.pattern;
|
|
157
244
|
|
|
158
245
|
var isContrast = layout.useContrast();
|
|
159
|
-
return
|
|
246
|
+
return React__default["default"].createElement(LegBone, _extends({
|
|
160
247
|
direction: direction,
|
|
161
248
|
pattern: pattern,
|
|
162
249
|
color: isContrast ? contrast : color,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"travel.cjs.development.js","sources":["../src/TravelHeader.tsx","../src/TravelTag.tsx","../src/LegLine.tsx","../src/LegBone.tsx","../src/TravelLeg.tsx","../src/index.tsx"],"sourcesContent":["import React from 'react';\nimport classNames from 'classnames';\nimport './TravelHeader.scss';\n\nexport type TravelHeaderProps = {\n /** HTML-elementet eller React-komponenten som lager elementet\n * @default 'div'\n */\n as?: string | React.ElementType;\n /** Destinasjonen man reiser fra */\n from: React.ReactNode;\n /** Destinasjonen man reiser til */\n to: React.ReactNode;\n /**Størrelsen på komponenten\n * @default 'large'\n */\n size?: 'large' | 'medium';\n /** Plassere til og fra på samme linje */\n noWrap?: boolean;\n /**Ekstra klassenavn */\n className?: string;\n [key: string]: any;\n};\n\nexport const TravelHeader: React.FC<TravelHeaderProps> = ({\n as: Element = 'div',\n from,\n to,\n size = 'large',\n className,\n noWrap,\n ...rest\n}) => {\n return (\n <Element\n className={classNames('eds-travel-header', className, {\n 'eds-travel-header--large': size === 'large',\n 'eds-travel-header--medium': size === 'medium',\n 'eds-travel-header--no-wrap': noWrap,\n })}\n aria-label={`Fra ${from}, til ${to}`}\n {...rest}\n >\n <span className=\"eds-travel-header__from\">{from}</span>\n <span className=\"eds-travel-header__to\">{to}</span>\n </Element>\n );\n};\n","import React from 'react';\nimport classNames from 'classnames';\nimport {\n CloseIcon,\n ValidationInfoIcon,\n ValidationErrorIcon,\n ValidationExclamationIcon,\n} from '@entur/icons';\nimport './TravelTag.scss';\n\nexport type TravelTagProps = {\n /** Callback som kalles for når man skal lukke TravelTagen\n * @default undefined\n */\n onClose?: () => void;\n /** Innholdet til TravelTagen */\n children: React.ReactNode;\n /**Ekstra klassenavn */\n className?: string;\n /** Legger til et Valideringsikon i TravelTagen for å signalisere avvik, informasjon e.l.\n * @default \"none\"\n */\n alert?: 'none' | 'error' | 'warning' | 'info';\n transport?:\n | 'bus'\n | 'metro'\n | 'air'\n | 'tram'\n | 'rail'\n | 'water'\n | 'bike'\n | 'scooter'\n | 'foot'\n | 'car';\n} & React.DetailedHTMLProps<\n React.HTMLAttributes<HTMLDivElement>,\n HTMLDivElement\n>;\n\nexport const TravelTag: React.FC<TravelTagProps> = ({\n onClose = undefined,\n children,\n className,\n alert = 'none',\n transport,\n ...rest\n}) => {\n const isClosable = onClose ? true : false;\n const numberOfChildren = React.Children.count(children);\n\n return (\n <div\n className={classNames('eds-travel-tag', {\n 'eds-travel-tag--closable': isClosable,\n 'eds-travel-tag--alert': alert !== 'none',\n 'eds-travel-tag--icon-and-text': numberOfChildren > 1,\n [`eds-travel-tag--transport-${transport}`]: transport,\n className,\n })}\n {...rest}\n >\n {children}\n {isClosable && (\n <button onClick={onClose} className=\"eds-travel-tag__close-button\">\n <CloseIcon inline />\n </button>\n )}\n {alert !== 'none' && (\n <span className=\"eds-travel-tag__alert\">\n {alert === 'info' && (\n <ValidationInfoIcon className=\"eds-travel-tag__alert-info-icon\" />\n )}\n {alert === 'error' && (\n <ValidationExclamationIcon className=\"eds-travel-tag__alert-exclamation-icon\" />\n )}\n {alert === 'warning' && (\n <ValidationErrorIcon className=\"eds-travel-tag__alert-error-icon\" />\n )}\n </span>\n )}\n </div>\n );\n};\n","import React from 'react';\nimport classNames from 'classnames';\nimport './LegLine.scss';\n\nexport type LegLineProps = {\n /** Farge på LegLine'n */\n color: string;\n /** Retningen til LegLine */\n direction: 'horizontal' | 'vertical';\n /** Hvilket linjemønster som skal brukes */\n pattern: 'line' | 'dashed' | 'dotted' | 'wave';\n /** Ekstra klassenavn */\n className?: string;\n} & React.DetailedHTMLProps<\n React.HTMLAttributes<HTMLDivElement>,\n HTMLDivElement\n>;\n\nexport const LegLine: React.FC<LegLineProps> = ({\n color,\n direction = 'horizontal',\n pattern,\n className,\n ...rest\n}) => {\n return (\n <div\n className={classNames('eds-leg-line', className, {\n [`eds-leg-line--${pattern}`]: pattern,\n [`eds-leg-line--${direction}`]: direction,\n })}\n style={{ backgroundColor: color }}\n {...rest}\n />\n );\n};\n","import React from 'react';\nimport classNames from 'classnames';\nimport { LegLine } from './LegLine';\nimport './LegBone.scss';\n\nexport type LegBoneProps = {\n /** Retning på komponenten */\n direction: 'horizontal' | 'vertical';\n /** Hvilke linjemønster som skal brukes */\n pattern: 'line' | 'dashed' | 'dotted' | 'wave';\n /** Farge på linja */\n color: string;\n /** Farge på startpunktet\n * @default Verdien til color\n */\n startColor?: string;\n /** Farge på endepunktet\n * @default Verdien til color\n */\n endColor?: string;\n /** Vis startpunkt\n * @default true\n */\n showStart?: boolean;\n /** Vis linke\n * @default true\n */\n showLine?: boolean;\n /** Vis endepunkt\n * @default true\n */\n showStop?: boolean;\n /** Ekstra klassenavn */\n className?: string;\n} & React.DetailedHTMLProps<\n React.HTMLAttributes<HTMLDivElement>,\n HTMLDivElement\n>;\n\nexport const LegBone: React.FC<LegBoneProps> = ({\n direction,\n pattern,\n color,\n startColor,\n endColor,\n showStart = true,\n showStop = true,\n showLine = true,\n className,\n ...rest\n}) => {\n return (\n <div\n className={classNames(className, 'eds-leg-bone', [\n { 'eds-leg-bone--vertical': direction === 'vertical' },\n { 'eds-leg-bone--horizontal': direction === 'horizontal' },\n ])}\n {...rest}\n >\n {showStart && (\n <div\n className={`eds-leg-bone__start`}\n style={{ backgroundColor: startColor || color }}\n />\n )}\n\n {showLine && (\n <LegLine\n className={`eds-leg-bone__line`}\n direction={direction}\n color={color}\n pattern={pattern}\n />\n )}\n\n {showStop && (\n <div\n className={`eds-leg-bone__stop`}\n style={{ backgroundColor: endColor || color }}\n />\n )}\n </div>\n );\n};\n","import React from 'react';\nimport { LegBone } from './LegBone';\nimport { colors } from '@entur/tokens';\nimport { useContrast } from '@entur/layout';\n\nexport type TravelLegProps = {\n /** Ekstra klassenavn */\n className?: string;\n /** Hviklen type reise som skal vises riktig farge og linjetype */\n transport:\n | 'bus'\n | 'metro'\n | 'air'\n | 'tram'\n | 'rail'\n | 'water'\n | 'bike'\n | 'scooter'\n | 'foot'\n | 'car';\n /** Retningen på komponenten */\n direction: 'horizontal' | 'vertical';\n} & React.DetailedHTMLProps<\n React.HTMLAttributes<HTMLDivElement>,\n HTMLDivElement\n>;\n\nexport const TravelLeg: React.FC<TravelLegProps> = ({\n className,\n transport,\n direction,\n ...rest\n}) => {\n const { color, contrast, pattern } = modeCalc(transport);\n const isContrast = useContrast();\n\n return (\n <LegBone\n direction={direction}\n pattern={pattern}\n color={isContrast ? contrast : color}\n className={className}\n {...rest}\n />\n );\n};\n\ntype modeCalcResult = {\n color: string;\n contrast: string;\n pattern: 'line' | 'wave' | 'dashed' | 'dotted';\n};\n\nfunction modeCalc(mode: string): modeCalcResult {\n switch (mode) {\n case 'bus':\n return {\n color: colors.transport.default.bus,\n contrast: colors.transport.contrast.bus,\n pattern: 'dashed',\n };\n case 'metro':\n return {\n color: colors.transport.default.metro,\n contrast: colors.transport.contrast.metro,\n pattern: 'line',\n };\n case 'air':\n return {\n color: colors.transport.default.plane,\n contrast: colors.transport.contrast.plane,\n pattern: 'line',\n };\n case 'tram':\n return {\n color: colors.transport.default.tram,\n contrast: colors.transport.contrast.tram,\n pattern: 'line',\n };\n case 'rail':\n return {\n color: colors.transport.default.train,\n contrast: colors.transport.contrast.train,\n pattern: 'line',\n };\n case 'water':\n return {\n color: colors.transport.default.ferry,\n contrast: colors.transport.contrast.ferry,\n pattern: 'wave',\n };\n case 'bike':\n return {\n color: colors.transport.default.mobility,\n contrast: colors.transport.contrast.mobility,\n pattern: 'line',\n };\n case 'scooter':\n return {\n color: colors.transport.default.mobility,\n contrast: colors.transport.contrast.mobility,\n pattern: 'line',\n };\n case 'foot':\n return {\n color: colors.transport.default.walk,\n contrast: colors.transport.contrast.walk,\n pattern: 'dotted',\n };\n case 'car':\n return {\n color: colors.transport.default.taxi,\n contrast: colors.transport.contrast.taxi,\n pattern: 'dashed',\n };\n default:\n console.error(\n 'No transport modality was chosen. There is likely an error in your usage of TravelLeg.',\n );\n return {\n color: colors.brand.blue,\n contrast: colors.brand.white,\n pattern: 'line',\n };\n }\n}\n","import { warnAboutMissingStyles } from '@entur/utils';\nimport './index.scss';\n\nwarnAboutMissingStyles('travel');\n\nexport * from './TravelHeader';\nexport * from './TravelTag';\nexport * from './LegLine';\nexport * from './LegBone';\nexport * from './TravelLeg';\n"],"names":["TravelHeader","as","Element","from","to","size","className","noWrap","rest","React","classNames","TravelTag","onClose","undefined","children","alert","transport","isClosable","numberOfChildren","Children","count","onClick","CloseIcon","inline","ValidationInfoIcon","ValidationExclamationIcon","ValidationErrorIcon","LegLine","color","direction","pattern","style","backgroundColor","LegBone","startColor","endColor","showStart","showStop","showLine","TravelLeg","modeCalc","contrast","isContrast","useContrast","mode","colors","bus","metro","plane","tram","train","ferry","mobility","walk","taxi","console","error","brand","blue","white","warnAboutMissingStyles"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"travel.cjs.development.js","sources":["../src/TravelHeader.tsx","../src/TravelTag.tsx","../src/LegLine.tsx","../src/LegBone.tsx","../src/TravelLeg.tsx","../src/index.tsx"],"sourcesContent":["import React from 'react';\nimport classNames from 'classnames';\nimport './TravelHeader.scss';\n\nexport type TravelHeaderProps = {\n /** HTML-elementet eller React-komponenten som lager elementet\n * @default 'div'\n */\n as?: string | React.ElementType;\n /** Destinasjonen man reiser fra */\n from: React.ReactNode;\n /** Destinasjonen man reiser til */\n to: React.ReactNode;\n /**Størrelsen på komponenten\n * @default 'large'\n */\n size?: 'large' | 'medium';\n /** Plassere til og fra på samme linje */\n noWrap?: boolean;\n /**Ekstra klassenavn */\n className?: string;\n [key: string]: any;\n};\n\nexport const TravelHeader: React.FC<TravelHeaderProps> = ({\n as: Element = 'div',\n from,\n to,\n size = 'large',\n className,\n noWrap,\n ...rest\n}) => {\n return (\n <Element\n className={classNames('eds-travel-header', className, {\n 'eds-travel-header--large': size === 'large',\n 'eds-travel-header--medium': size === 'medium',\n 'eds-travel-header--no-wrap': noWrap,\n })}\n aria-label={`Fra ${from}, til ${to}`}\n {...rest}\n >\n <span className=\"eds-travel-header__from\">{from}</span>\n <span className=\"eds-travel-header__to\">{to}</span>\n </Element>\n );\n};\n","import React from 'react';\nimport classNames from 'classnames';\nimport {\n CloseSmallIcon,\n ValidationInfoIcon,\n ValidationErrorIcon,\n ValidationExclamationIcon,\n BicycleIcon,\n BusIcon,\n FerryIcon,\n PlaneIcon,\n ScooterIcon,\n SubwayIcon,\n TrainIcon,\n TramIcon,\n WalkingIcon,\n CarIcon,\n TaxiIcon,\n CarferryIcon,\n} from '@entur/icons';\nimport './TravelTag.scss';\n\nexport type TravelTagProps = {\n /** Callback som kalles for når man skal lukke TravelTag-en\n * @default undefined\n */\n onClose?: () => void;\n /** Innholdet inne i TravelTag-en */\n children?: React.ReactNode;\n /**Ekstra klassenavn */\n className?: string;\n /** Legger til et Valideringsikon i TravelTagen for å signalisere avvik, informasjon e.l.\n * @default \"none\"\n */\n alert?: 'none' | 'error' | 'warning' | 'info';\n /** Legger til farge og ikon tilpasset valgt transportmiddel */\n transport?:\n | 'bus'\n | 'metro'\n | 'air'\n | 'tram'\n | 'rail'\n | 'water'\n | 'carferry'\n | 'bike'\n | 'scooter'\n | 'foot'\n | 'car'\n | 'taxi';\n /** Element ved siden av eller under TravelTag. */\n label?: React.ReactNode;\n /** Posisjonen til label-en i forhold til TravelTag-en\n * @default \"right\"\n */\n labelPlacement?: 'bottom' | 'right';\n} & React.DetailedHTMLProps<\n React.HTMLAttributes<HTMLDivElement>,\n HTMLDivElement\n>;\n\nexport const TravelTag: React.FC<TravelTagProps> = ({\n onClose = undefined,\n children,\n className,\n alert = 'none',\n transport,\n label,\n labelPlacement = 'right',\n ...rest\n}) => {\n const isClosable = onClose ? true : false;\n const numberOfChildren = React.Children.count(children);\n const TransportIcon = modeCalc(transport) ?? <></>;\n\n const TravelTagWithoutLabel: JSX.Element = (\n <div\n className={classNames('eds-travel-tag', {\n 'eds-travel-tag--closable': isClosable,\n 'eds-travel-tag--alert': alert !== 'none',\n 'eds-travel-tag--alert--error': alert === 'error',\n 'eds-travel-tag--icon-and-text':\n numberOfChildren > 1 || (transport && numberOfChildren > 0),\n [`eds-travel-tag--transport-${transport}`]: transport,\n className,\n })}\n {...rest}\n >\n {transport && TransportIcon}\n {children}\n {isClosable && (\n <button onClick={onClose} className=\"eds-travel-tag__close-button\">\n <CloseSmallIcon inline />\n </button>\n )}\n {alert !== 'none' && (\n <span className=\"eds-travel-tag__alert\">\n {alert === 'info' && (\n <ValidationInfoIcon className=\"eds-travel-tag__alert-info-icon\" />\n )}\n {alert === 'error' && (\n <ValidationErrorIcon className=\"eds-travel-tag__alert-error-icon\" />\n )}\n {alert === 'warning' && (\n <ValidationExclamationIcon className=\"eds-travel-tag__alert-exclamation-icon\" />\n )}\n </span>\n )}\n </div>\n );\n\n const Label: JSX.Element = (\n <div\n className={classNames('eds-travel-tag__label', {\n [`eds-travel-tag__label--${labelPlacement}`]: label,\n [`eds-travel-tag__label--${labelPlacement}--with-alert`]:\n label && alert !== 'none',\n })}\n >\n {label}\n </div>\n );\n\n if (label) {\n return (\n <div\n className={classNames('eds-travel-tag__wrapper', {\n [`eds-travel-tag__wrapper--label-position-${labelPlacement}`]: label,\n })}\n >\n {TravelTagWithoutLabel}\n {Label}\n </div>\n );\n }\n\n return TravelTagWithoutLabel;\n};\n\nconst modeCalc = (mode: string | undefined) => {\n switch (mode) {\n case 'bus':\n return <BusIcon />;\n case 'metro':\n return <SubwayIcon />;\n case 'air':\n return <PlaneIcon />;\n case 'tram':\n return <TramIcon />;\n case 'rail':\n return <TrainIcon />;\n case 'water':\n return <FerryIcon />;\n case 'carferry':\n return <CarferryIcon />;\n case 'bike':\n return <BicycleIcon />;\n case 'scooter':\n return <ScooterIcon />;\n case 'foot':\n return <WalkingIcon />;\n case 'car':\n return <CarIcon />;\n case 'taxi':\n return <TaxiIcon />;\n default:\n return <></>;\n }\n};\n","import React from 'react';\nimport classNames from 'classnames';\nimport './LegLine.scss';\n\nexport type LegLineProps = {\n /** Farge på LegLine'n */\n color: string;\n /** Retningen til LegLine */\n direction: 'horizontal' | 'vertical';\n /** Hvilket linjemønster som skal brukes */\n pattern: 'line' | 'dashed' | 'dotted' | 'wave';\n /** Ekstra klassenavn */\n className?: string;\n} & React.DetailedHTMLProps<\n React.HTMLAttributes<HTMLDivElement>,\n HTMLDivElement\n>;\n\nexport const LegLine: React.FC<LegLineProps> = ({\n color,\n direction = 'horizontal',\n pattern,\n className,\n ...rest\n}) => {\n return (\n <div\n className={classNames('eds-leg-line', className, {\n [`eds-leg-line--${pattern}`]: pattern,\n [`eds-leg-line--${direction}`]: direction,\n })}\n style={{ backgroundColor: color }}\n {...rest}\n />\n );\n};\n","import React from 'react';\nimport classNames from 'classnames';\nimport { LegLine } from './LegLine';\nimport './LegBone.scss';\n\nexport type LegBoneProps = {\n /** Retning på komponenten */\n direction: 'horizontal' | 'vertical';\n /** Hvilke linjemønster som skal brukes */\n pattern: 'line' | 'dashed' | 'dotted' | 'wave';\n /** Farge på linja */\n color: string;\n /** Farge på startpunktet\n * @default Verdien til color\n */\n startColor?: string;\n /** Farge på endepunktet\n * @default Verdien til color\n */\n endColor?: string;\n /** Vis startpunkt\n * @default true\n */\n showStart?: boolean;\n /** Vis linke\n * @default true\n */\n showLine?: boolean;\n /** Vis endepunkt\n * @default true\n */\n showStop?: boolean;\n /** Ekstra klassenavn */\n className?: string;\n} & React.DetailedHTMLProps<\n React.HTMLAttributes<HTMLDivElement>,\n HTMLDivElement\n>;\n\nexport const LegBone: React.FC<LegBoneProps> = ({\n direction,\n pattern,\n color,\n startColor,\n endColor,\n showStart = true,\n showStop = true,\n showLine = true,\n className,\n ...rest\n}) => {\n return (\n <div\n className={classNames(className, 'eds-leg-bone', [\n { 'eds-leg-bone--vertical': direction === 'vertical' },\n { 'eds-leg-bone--horizontal': direction === 'horizontal' },\n ])}\n {...rest}\n >\n {showStart && (\n <div\n className={`eds-leg-bone__start`}\n style={{ backgroundColor: startColor || color }}\n />\n )}\n\n {showLine && (\n <LegLine\n className={`eds-leg-bone__line`}\n direction={direction}\n color={color}\n pattern={pattern}\n />\n )}\n\n {showStop && (\n <div\n className={`eds-leg-bone__stop`}\n style={{ backgroundColor: endColor || color }}\n />\n )}\n </div>\n );\n};\n","import React from 'react';\nimport { LegBone } from './LegBone';\nimport { colors } from '@entur/tokens';\nimport { useContrast } from '@entur/layout';\n\nexport type TravelLegProps = {\n /** Ekstra klassenavn */\n className?: string;\n /** Hviklen type reise som skal vises riktig farge og linjetype */\n transport:\n | 'bus'\n | 'metro'\n | 'air'\n | 'tram'\n | 'rail'\n | 'water'\n | 'bike'\n | 'scooter'\n | 'foot'\n | 'car';\n /** Retningen på komponenten */\n direction: 'horizontal' | 'vertical';\n} & React.DetailedHTMLProps<\n React.HTMLAttributes<HTMLDivElement>,\n HTMLDivElement\n>;\n\nexport const TravelLeg: React.FC<TravelLegProps> = ({\n className,\n transport,\n direction,\n ...rest\n}) => {\n const { color, contrast, pattern } = modeCalc(transport);\n const isContrast = useContrast();\n\n return (\n <LegBone\n direction={direction}\n pattern={pattern}\n color={isContrast ? contrast : color}\n className={className}\n {...rest}\n />\n );\n};\n\ntype modeCalcResult = {\n color: string;\n contrast: string;\n pattern: 'line' | 'wave' | 'dashed' | 'dotted';\n};\n\nfunction modeCalc(mode: string): modeCalcResult {\n switch (mode) {\n case 'bus':\n return {\n color: colors.transport.default.bus,\n contrast: colors.transport.contrast.bus,\n pattern: 'dashed',\n };\n case 'metro':\n return {\n color: colors.transport.default.metro,\n contrast: colors.transport.contrast.metro,\n pattern: 'line',\n };\n case 'air':\n return {\n color: colors.transport.default.plane,\n contrast: colors.transport.contrast.plane,\n pattern: 'line',\n };\n case 'tram':\n return {\n color: colors.transport.default.tram,\n contrast: colors.transport.contrast.tram,\n pattern: 'line',\n };\n case 'rail':\n return {\n color: colors.transport.default.train,\n contrast: colors.transport.contrast.train,\n pattern: 'line',\n };\n case 'water':\n return {\n color: colors.transport.default.ferry,\n contrast: colors.transport.contrast.ferry,\n pattern: 'wave',\n };\n case 'bike':\n return {\n color: colors.transport.default.mobility,\n contrast: colors.transport.contrast.mobility,\n pattern: 'line',\n };\n case 'scooter':\n return {\n color: colors.transport.default.mobility,\n contrast: colors.transport.contrast.mobility,\n pattern: 'line',\n };\n case 'foot':\n return {\n color: colors.transport.default.walk,\n contrast: colors.transport.contrast.walk,\n pattern: 'dotted',\n };\n case 'car':\n return {\n color: colors.transport.default.taxi,\n contrast: colors.transport.contrast.taxi,\n pattern: 'dashed',\n };\n default:\n console.error(\n 'No transport modality was chosen. There is likely an error in your usage of TravelLeg.',\n );\n return {\n color: colors.brand.blue,\n contrast: colors.brand.white,\n pattern: 'line',\n };\n }\n}\n","import { warnAboutMissingStyles } from '@entur/utils';\nimport './index.scss';\n\nwarnAboutMissingStyles('travel');\n\nexport * from './TravelHeader';\nexport * from './TravelTag';\nexport * from './LegLine';\nexport * from './LegBone';\nexport * from './TravelLeg';\n"],"names":["TravelHeader","as","Element","from","to","size","className","noWrap","rest","React","classNames","TravelTag","onClose","undefined","children","alert","transport","label","labelPlacement","isClosable","numberOfChildren","Children","count","TransportIcon","modeCalc","TravelTagWithoutLabel","onClick","CloseSmallIcon","inline","ValidationInfoIcon","ValidationErrorIcon","ValidationExclamationIcon","Label","mode","BusIcon","SubwayIcon","PlaneIcon","TramIcon","TrainIcon","FerryIcon","CarferryIcon","BicycleIcon","ScooterIcon","WalkingIcon","CarIcon","TaxiIcon","LegLine","color","direction","pattern","style","backgroundColor","LegBone","startColor","endColor","showStart","showStop","showLine","TravelLeg","contrast","isContrast","useContrast","colors","bus","metro","plane","tram","train","ferry","mobility","walk","taxi","console","error","brand","blue","white","warnAboutMissingStyles"],"mappings":"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"}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
"use strict";
|
|
1
|
+
"use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e=require("@entur/utils"),t=require("react"),r=require("classnames"),a=require("@entur/icons"),l=require("@entur/tokens"),n=require("@entur/layout");function o(e){return e&&"object"==typeof e&&"default"in e?e:{default:e}}var s=o(t),c=o(r);function u(){return u=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var r=arguments[t];for(var a in r)Object.prototype.hasOwnProperty.call(r,a)&&(e[a]=r[a])}return e},u.apply(this,arguments)}function d(e,t){if(null==e)return{};var r,a,l={},n=Object.keys(e);for(a=0;a<n.length;a++)t.indexOf(r=n[a])>=0||(l[r]=e[r]);return l}var i=["as","from","to","size","className","noWrap"],m=["onClose","children","className","alert","transport","label","labelPlacement"],f=["color","direction","pattern","className"],p=function(e){var t,r=e.color,a=e.direction,l=void 0===a?"horizontal":a,n=e.pattern,o=e.className,i=d(e,f);return s.default.createElement("div",u({className:c.default("eds-leg-line",o,(t={},t["eds-leg-line--"+n]=n,t["eds-leg-line--"+l]=l,t)),style:{backgroundColor:r}},i))},v=["direction","pattern","color","startColor","endColor","showStart","showStop","showLine","className"],g=function(e){var t=e.direction,r=e.pattern,a=e.color,l=e.startColor,n=e.endColor,o=e.showStart,i=void 0===o||o,m=e.showStop,f=void 0===m||m,g=e.showLine,b=void 0===g||g,E=e.className,_=d(e,v);return s.default.createElement("div",u({className:c.default(E,"eds-leg-bone",[{"eds-leg-bone--vertical":"vertical"===t},{"eds-leg-bone--horizontal":"horizontal"===t}])},_),i&&s.default.createElement("div",{className:"eds-leg-bone__start",style:{backgroundColor:l||a}}),b&&s.default.createElement(p,{className:"eds-leg-bone__line",direction:t,color:a,pattern:r}),f&&s.default.createElement("div",{className:"eds-leg-bone__stop",style:{backgroundColor:n||a}}))},b=["className","transport","direction"];e.warnAboutMissingStyles("travel"),exports.LegBone=g,exports.LegLine=p,exports.TravelHeader=function(e){var t=e.as,r=void 0===t?"div":t,a=e.from,l=e.to,n=e.size,o=void 0===n?"large":n,m=e.className,f=e.noWrap,p=d(e,i);return s.default.createElement(r,u({className:c.default("eds-travel-header",m,{"eds-travel-header--large":"large"===o,"eds-travel-header--medium":"medium"===o,"eds-travel-header--no-wrap":f}),"aria-label":"Fra "+a+", til "+l},p),s.default.createElement("span",{className:"eds-travel-header__from"},a),s.default.createElement("span",{className:"eds-travel-header__to"},l))},exports.TravelLeg=function(e){var t=e.className,r=e.transport,a=e.direction,o=d(e,b),c=function(e){switch(e){case"bus":return{color:l.colors.transport.default.bus,contrast:l.colors.transport.contrast.bus,pattern:"dashed"};case"metro":return{color:l.colors.transport.default.metro,contrast:l.colors.transport.contrast.metro,pattern:"line"};case"air":return{color:l.colors.transport.default.plane,contrast:l.colors.transport.contrast.plane,pattern:"line"};case"tram":return{color:l.colors.transport.default.tram,contrast:l.colors.transport.contrast.tram,pattern:"line"};case"rail":return{color:l.colors.transport.default.train,contrast:l.colors.transport.contrast.train,pattern:"line"};case"water":return{color:l.colors.transport.default.ferry,contrast:l.colors.transport.contrast.ferry,pattern:"wave"};case"bike":case"scooter":return{color:l.colors.transport.default.mobility,contrast:l.colors.transport.contrast.mobility,pattern:"line"};case"foot":return{color:l.colors.transport.default.walk,contrast:l.colors.transport.contrast.walk,pattern:"dotted"};case"car":return{color:l.colors.transport.default.taxi,contrast:l.colors.transport.contrast.taxi,pattern:"dashed"};default:return console.error("No transport modality was chosen. There is likely an error in your usage of TravelLeg."),{color:l.colors.brand.blue,contrast:l.colors.brand.white,pattern:"line"}}}(r),i=c.color,m=c.contrast,f=c.pattern,p=n.useContrast();return s.default.createElement(g,u({direction:a,pattern:f,color:p?m:i,className:t},o))},exports.TravelTag=function(e){var t,r,l,n,o=e.onClose,i=void 0===o?void 0:o,f=e.children,p=e.className,v=e.alert,g=void 0===v?"none":v,b=e.transport,E=e.label,_=e.labelPlacement,h=void 0===_?"right":_,N=d(e,m),w=!!i,y=s.default.Children.count(f),I=null!=(t=function(e){switch(e){case"bus":return s.default.createElement(a.BusIcon,null);case"metro":return s.default.createElement(a.SubwayIcon,null);case"air":return s.default.createElement(a.PlaneIcon,null);case"tram":return s.default.createElement(a.TramIcon,null);case"rail":return s.default.createElement(a.TrainIcon,null);case"water":return s.default.createElement(a.FerryIcon,null);case"carferry":return s.default.createElement(a.CarferryIcon,null);case"bike":return s.default.createElement(a.BicycleIcon,null);case"scooter":return s.default.createElement(a.ScooterIcon,null);case"foot":return s.default.createElement(a.WalkingIcon,null);case"car":return s.default.createElement(a.CarIcon,null);case"taxi":return s.default.createElement(a.TaxiIcon,null);default:return s.default.createElement(s.default.Fragment,null)}}(b))?t:s.default.createElement(s.default.Fragment,null),C=s.default.createElement("div",u({className:c.default("eds-travel-tag",(r={"eds-travel-tag--closable":w,"eds-travel-tag--alert":"none"!==g,"eds-travel-tag--alert--error":"error"===g,"eds-travel-tag--icon-and-text":y>1||b&&y>0},r["eds-travel-tag--transport-"+b]=b,r.className=p,r))},N),b&&I,f,w&&s.default.createElement("button",{onClick:i,className:"eds-travel-tag__close-button"},s.default.createElement(a.CloseSmallIcon,{inline:!0})),"none"!==g&&s.default.createElement("span",{className:"eds-travel-tag__alert"},"info"===g&&s.default.createElement(a.ValidationInfoIcon,{className:"eds-travel-tag__alert-info-icon"}),"error"===g&&s.default.createElement(a.ValidationErrorIcon,{className:"eds-travel-tag__alert-error-icon"}),"warning"===g&&s.default.createElement(a.ValidationExclamationIcon,{className:"eds-travel-tag__alert-exclamation-icon"}))),x=s.default.createElement("div",{className:c.default("eds-travel-tag__label",(l={},l["eds-travel-tag__label--"+h]=E,l["eds-travel-tag__label--"+h+"--with-alert"]=E&&"none"!==g,l))},E);return E?s.default.createElement("div",{className:c.default("eds-travel-tag__wrapper",(n={},n["eds-travel-tag__wrapper--label-position-"+h]=E,n))},C,x):C};
|
|
2
2
|
//# sourceMappingURL=travel.cjs.production.min.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"travel.cjs.production.min.js","sources":["../src/LegLine.tsx","../src/LegBone.tsx","../src/index.tsx","../src/TravelHeader.tsx","../src/TravelLeg.tsx","../src/TravelTag.tsx"],"sourcesContent":["import React from 'react';\nimport classNames from 'classnames';\nimport './LegLine.scss';\n\nexport type LegLineProps = {\n /** Farge på LegLine'n */\n color: string;\n /** Retningen til LegLine */\n direction: 'horizontal' | 'vertical';\n /** Hvilket linjemønster som skal brukes */\n pattern: 'line' | 'dashed' | 'dotted' | 'wave';\n /** Ekstra klassenavn */\n className?: string;\n} & React.DetailedHTMLProps<\n React.HTMLAttributes<HTMLDivElement>,\n HTMLDivElement\n>;\n\nexport const LegLine: React.FC<LegLineProps> = ({\n color,\n direction = 'horizontal',\n pattern,\n className,\n ...rest\n}) => {\n return (\n <div\n className={classNames('eds-leg-line', className, {\n [`eds-leg-line--${pattern}`]: pattern,\n [`eds-leg-line--${direction}`]: direction,\n })}\n style={{ backgroundColor: color }}\n {...rest}\n />\n );\n};\n","import React from 'react';\nimport classNames from 'classnames';\nimport { LegLine } from './LegLine';\nimport './LegBone.scss';\n\nexport type LegBoneProps = {\n /** Retning på komponenten */\n direction: 'horizontal' | 'vertical';\n /** Hvilke linjemønster som skal brukes */\n pattern: 'line' | 'dashed' | 'dotted' | 'wave';\n /** Farge på linja */\n color: string;\n /** Farge på startpunktet\n * @default Verdien til color\n */\n startColor?: string;\n /** Farge på endepunktet\n * @default Verdien til color\n */\n endColor?: string;\n /** Vis startpunkt\n * @default true\n */\n showStart?: boolean;\n /** Vis linke\n * @default true\n */\n showLine?: boolean;\n /** Vis endepunkt\n * @default true\n */\n showStop?: boolean;\n /** Ekstra klassenavn */\n className?: string;\n} & React.DetailedHTMLProps<\n React.HTMLAttributes<HTMLDivElement>,\n HTMLDivElement\n>;\n\nexport const LegBone: React.FC<LegBoneProps> = ({\n direction,\n pattern,\n color,\n startColor,\n endColor,\n showStart = true,\n showStop = true,\n showLine = true,\n className,\n ...rest\n}) => {\n return (\n <div\n className={classNames(className, 'eds-leg-bone', [\n { 'eds-leg-bone--vertical': direction === 'vertical' },\n { 'eds-leg-bone--horizontal': direction === 'horizontal' },\n ])}\n {...rest}\n >\n {showStart && (\n <div\n className={`eds-leg-bone__start`}\n style={{ backgroundColor: startColor || color }}\n />\n )}\n\n {showLine && (\n <LegLine\n className={`eds-leg-bone__line`}\n direction={direction}\n color={color}\n pattern={pattern}\n />\n )}\n\n {showStop && (\n <div\n className={`eds-leg-bone__stop`}\n style={{ backgroundColor: endColor || color }}\n />\n )}\n </div>\n );\n};\n","import { warnAboutMissingStyles } from '@entur/utils';\nimport './index.scss';\n\nwarnAboutMissingStyles('travel');\n\nexport * from './TravelHeader';\nexport * from './TravelTag';\nexport * from './LegLine';\nexport * from './LegBone';\nexport * from './TravelLeg';\n","import React from 'react';\nimport classNames from 'classnames';\nimport './TravelHeader.scss';\n\nexport type TravelHeaderProps = {\n /** HTML-elementet eller React-komponenten som lager elementet\n * @default 'div'\n */\n as?: string | React.ElementType;\n /** Destinasjonen man reiser fra */\n from: React.ReactNode;\n /** Destinasjonen man reiser til */\n to: React.ReactNode;\n /**Størrelsen på komponenten\n * @default 'large'\n */\n size?: 'large' | 'medium';\n /** Plassere til og fra på samme linje */\n noWrap?: boolean;\n /**Ekstra klassenavn */\n className?: string;\n [key: string]: any;\n};\n\nexport const TravelHeader: React.FC<TravelHeaderProps> = ({\n as: Element = 'div',\n from,\n to,\n size = 'large',\n className,\n noWrap,\n ...rest\n}) => {\n return (\n <Element\n className={classNames('eds-travel-header', className, {\n 'eds-travel-header--large': size === 'large',\n 'eds-travel-header--medium': size === 'medium',\n 'eds-travel-header--no-wrap': noWrap,\n })}\n aria-label={`Fra ${from}, til ${to}`}\n {...rest}\n >\n <span className=\"eds-travel-header__from\">{from}</span>\n <span className=\"eds-travel-header__to\">{to}</span>\n </Element>\n );\n};\n","import React from 'react';\nimport { LegBone } from './LegBone';\nimport { colors } from '@entur/tokens';\nimport { useContrast } from '@entur/layout';\n\nexport type TravelLegProps = {\n /** Ekstra klassenavn */\n className?: string;\n /** Hviklen type reise som skal vises riktig farge og linjetype */\n transport:\n | 'bus'\n | 'metro'\n | 'air'\n | 'tram'\n | 'rail'\n | 'water'\n | 'bike'\n | 'scooter'\n | 'foot'\n | 'car';\n /** Retningen på komponenten */\n direction: 'horizontal' | 'vertical';\n} & React.DetailedHTMLProps<\n React.HTMLAttributes<HTMLDivElement>,\n HTMLDivElement\n>;\n\nexport const TravelLeg: React.FC<TravelLegProps> = ({\n className,\n transport,\n direction,\n ...rest\n}) => {\n const { color, contrast, pattern } = modeCalc(transport);\n const isContrast = useContrast();\n\n return (\n <LegBone\n direction={direction}\n pattern={pattern}\n color={isContrast ? contrast : color}\n className={className}\n {...rest}\n />\n );\n};\n\ntype modeCalcResult = {\n color: string;\n contrast: string;\n pattern: 'line' | 'wave' | 'dashed' | 'dotted';\n};\n\nfunction modeCalc(mode: string): modeCalcResult {\n switch (mode) {\n case 'bus':\n return {\n color: colors.transport.default.bus,\n contrast: colors.transport.contrast.bus,\n pattern: 'dashed',\n };\n case 'metro':\n return {\n color: colors.transport.default.metro,\n contrast: colors.transport.contrast.metro,\n pattern: 'line',\n };\n case 'air':\n return {\n color: colors.transport.default.plane,\n contrast: colors.transport.contrast.plane,\n pattern: 'line',\n };\n case 'tram':\n return {\n color: colors.transport.default.tram,\n contrast: colors.transport.contrast.tram,\n pattern: 'line',\n };\n case 'rail':\n return {\n color: colors.transport.default.train,\n contrast: colors.transport.contrast.train,\n pattern: 'line',\n };\n case 'water':\n return {\n color: colors.transport.default.ferry,\n contrast: colors.transport.contrast.ferry,\n pattern: 'wave',\n };\n case 'bike':\n return {\n color: colors.transport.default.mobility,\n contrast: colors.transport.contrast.mobility,\n pattern: 'line',\n };\n case 'scooter':\n return {\n color: colors.transport.default.mobility,\n contrast: colors.transport.contrast.mobility,\n pattern: 'line',\n };\n case 'foot':\n return {\n color: colors.transport.default.walk,\n contrast: colors.transport.contrast.walk,\n pattern: 'dotted',\n };\n case 'car':\n return {\n color: colors.transport.default.taxi,\n contrast: colors.transport.contrast.taxi,\n pattern: 'dashed',\n };\n default:\n console.error(\n 'No transport modality was chosen. There is likely an error in your usage of TravelLeg.',\n );\n return {\n color: colors.brand.blue,\n contrast: colors.brand.white,\n pattern: 'line',\n };\n }\n}\n","import React from 'react';\nimport classNames from 'classnames';\nimport {\n CloseIcon,\n ValidationInfoIcon,\n ValidationErrorIcon,\n ValidationExclamationIcon,\n} from '@entur/icons';\nimport './TravelTag.scss';\n\nexport type TravelTagProps = {\n /** Callback som kalles for når man skal lukke TravelTagen\n * @default undefined\n */\n onClose?: () => void;\n /** Innholdet til TravelTagen */\n children: React.ReactNode;\n /**Ekstra klassenavn */\n className?: string;\n /** Legger til et Valideringsikon i TravelTagen for å signalisere avvik, informasjon e.l.\n * @default \"none\"\n */\n alert?: 'none' | 'error' | 'warning' | 'info';\n transport?:\n | 'bus'\n | 'metro'\n | 'air'\n | 'tram'\n | 'rail'\n | 'water'\n | 'bike'\n | 'scooter'\n | 'foot'\n | 'car';\n} & React.DetailedHTMLProps<\n React.HTMLAttributes<HTMLDivElement>,\n HTMLDivElement\n>;\n\nexport const TravelTag: React.FC<TravelTagProps> = ({\n onClose = undefined,\n children,\n className,\n alert = 'none',\n transport,\n ...rest\n}) => {\n const isClosable = onClose ? true : false;\n const numberOfChildren = React.Children.count(children);\n\n return (\n <div\n className={classNames('eds-travel-tag', {\n 'eds-travel-tag--closable': isClosable,\n 'eds-travel-tag--alert': alert !== 'none',\n 'eds-travel-tag--icon-and-text': numberOfChildren > 1,\n [`eds-travel-tag--transport-${transport}`]: transport,\n className,\n })}\n {...rest}\n >\n {children}\n {isClosable && (\n <button onClick={onClose} className=\"eds-travel-tag__close-button\">\n <CloseIcon inline />\n </button>\n )}\n {alert !== 'none' && (\n <span className=\"eds-travel-tag__alert\">\n {alert === 'info' && (\n <ValidationInfoIcon className=\"eds-travel-tag__alert-info-icon\" />\n )}\n {alert === 'error' && (\n <ValidationExclamationIcon className=\"eds-travel-tag__alert-exclamation-icon\" />\n )}\n {alert === 'warning' && (\n <ValidationErrorIcon className=\"eds-travel-tag__alert-error-icon\" />\n )}\n </span>\n )}\n </div>\n );\n};\n"],"names":["LegLine","color","direction","pattern","className","rest","React","classNames","style","backgroundColor","LegBone","startColor","endColor","showStart","showStop","showLine","warnAboutMissingStyles","as","Element","from","to","size","noWrap","transport","mode","colors","bus","contrast","metro","plane","tram","train","ferry","mobility","walk","taxi","console","error","brand","blue","white","modeCalc","isContrast","useContrast","onClose","undefined","children","alert","isClosable","numberOfChildren","Children","count","onClick","CloseIcon","inline","ValidationInfoIcon","ValidationExclamationIcon","ValidationErrorIcon"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"travel.cjs.production.min.js","sources":["../src/LegLine.tsx","../src/LegBone.tsx","../src/index.tsx","../src/TravelHeader.tsx","../src/TravelLeg.tsx","../src/TravelTag.tsx"],"sourcesContent":["import React from 'react';\nimport classNames from 'classnames';\nimport './LegLine.scss';\n\nexport type LegLineProps = {\n /** Farge på LegLine'n */\n color: string;\n /** Retningen til LegLine */\n direction: 'horizontal' | 'vertical';\n /** Hvilket linjemønster som skal brukes */\n pattern: 'line' | 'dashed' | 'dotted' | 'wave';\n /** Ekstra klassenavn */\n className?: string;\n} & React.DetailedHTMLProps<\n React.HTMLAttributes<HTMLDivElement>,\n HTMLDivElement\n>;\n\nexport const LegLine: React.FC<LegLineProps> = ({\n color,\n direction = 'horizontal',\n pattern,\n className,\n ...rest\n}) => {\n return (\n <div\n className={classNames('eds-leg-line', className, {\n [`eds-leg-line--${pattern}`]: pattern,\n [`eds-leg-line--${direction}`]: direction,\n })}\n style={{ backgroundColor: color }}\n {...rest}\n />\n );\n};\n","import React from 'react';\nimport classNames from 'classnames';\nimport { LegLine } from './LegLine';\nimport './LegBone.scss';\n\nexport type LegBoneProps = {\n /** Retning på komponenten */\n direction: 'horizontal' | 'vertical';\n /** Hvilke linjemønster som skal brukes */\n pattern: 'line' | 'dashed' | 'dotted' | 'wave';\n /** Farge på linja */\n color: string;\n /** Farge på startpunktet\n * @default Verdien til color\n */\n startColor?: string;\n /** Farge på endepunktet\n * @default Verdien til color\n */\n endColor?: string;\n /** Vis startpunkt\n * @default true\n */\n showStart?: boolean;\n /** Vis linke\n * @default true\n */\n showLine?: boolean;\n /** Vis endepunkt\n * @default true\n */\n showStop?: boolean;\n /** Ekstra klassenavn */\n className?: string;\n} & React.DetailedHTMLProps<\n React.HTMLAttributes<HTMLDivElement>,\n HTMLDivElement\n>;\n\nexport const LegBone: React.FC<LegBoneProps> = ({\n direction,\n pattern,\n color,\n startColor,\n endColor,\n showStart = true,\n showStop = true,\n showLine = true,\n className,\n ...rest\n}) => {\n return (\n <div\n className={classNames(className, 'eds-leg-bone', [\n { 'eds-leg-bone--vertical': direction === 'vertical' },\n { 'eds-leg-bone--horizontal': direction === 'horizontal' },\n ])}\n {...rest}\n >\n {showStart && (\n <div\n className={`eds-leg-bone__start`}\n style={{ backgroundColor: startColor || color }}\n />\n )}\n\n {showLine && (\n <LegLine\n className={`eds-leg-bone__line`}\n direction={direction}\n color={color}\n pattern={pattern}\n />\n )}\n\n {showStop && (\n <div\n className={`eds-leg-bone__stop`}\n style={{ backgroundColor: endColor || color }}\n />\n )}\n </div>\n );\n};\n","import { warnAboutMissingStyles } from '@entur/utils';\nimport './index.scss';\n\nwarnAboutMissingStyles('travel');\n\nexport * from './TravelHeader';\nexport * from './TravelTag';\nexport * from './LegLine';\nexport * from './LegBone';\nexport * from './TravelLeg';\n","import React from 'react';\nimport classNames from 'classnames';\nimport './TravelHeader.scss';\n\nexport type TravelHeaderProps = {\n /** HTML-elementet eller React-komponenten som lager elementet\n * @default 'div'\n */\n as?: string | React.ElementType;\n /** Destinasjonen man reiser fra */\n from: React.ReactNode;\n /** Destinasjonen man reiser til */\n to: React.ReactNode;\n /**Størrelsen på komponenten\n * @default 'large'\n */\n size?: 'large' | 'medium';\n /** Plassere til og fra på samme linje */\n noWrap?: boolean;\n /**Ekstra klassenavn */\n className?: string;\n [key: string]: any;\n};\n\nexport const TravelHeader: React.FC<TravelHeaderProps> = ({\n as: Element = 'div',\n from,\n to,\n size = 'large',\n className,\n noWrap,\n ...rest\n}) => {\n return (\n <Element\n className={classNames('eds-travel-header', className, {\n 'eds-travel-header--large': size === 'large',\n 'eds-travel-header--medium': size === 'medium',\n 'eds-travel-header--no-wrap': noWrap,\n })}\n aria-label={`Fra ${from}, til ${to}`}\n {...rest}\n >\n <span className=\"eds-travel-header__from\">{from}</span>\n <span className=\"eds-travel-header__to\">{to}</span>\n </Element>\n );\n};\n","import React from 'react';\nimport { LegBone } from './LegBone';\nimport { colors } from '@entur/tokens';\nimport { useContrast } from '@entur/layout';\n\nexport type TravelLegProps = {\n /** Ekstra klassenavn */\n className?: string;\n /** Hviklen type reise som skal vises riktig farge og linjetype */\n transport:\n | 'bus'\n | 'metro'\n | 'air'\n | 'tram'\n | 'rail'\n | 'water'\n | 'bike'\n | 'scooter'\n | 'foot'\n | 'car';\n /** Retningen på komponenten */\n direction: 'horizontal' | 'vertical';\n} & React.DetailedHTMLProps<\n React.HTMLAttributes<HTMLDivElement>,\n HTMLDivElement\n>;\n\nexport const TravelLeg: React.FC<TravelLegProps> = ({\n className,\n transport,\n direction,\n ...rest\n}) => {\n const { color, contrast, pattern } = modeCalc(transport);\n const isContrast = useContrast();\n\n return (\n <LegBone\n direction={direction}\n pattern={pattern}\n color={isContrast ? contrast : color}\n className={className}\n {...rest}\n />\n );\n};\n\ntype modeCalcResult = {\n color: string;\n contrast: string;\n pattern: 'line' | 'wave' | 'dashed' | 'dotted';\n};\n\nfunction modeCalc(mode: string): modeCalcResult {\n switch (mode) {\n case 'bus':\n return {\n color: colors.transport.default.bus,\n contrast: colors.transport.contrast.bus,\n pattern: 'dashed',\n };\n case 'metro':\n return {\n color: colors.transport.default.metro,\n contrast: colors.transport.contrast.metro,\n pattern: 'line',\n };\n case 'air':\n return {\n color: colors.transport.default.plane,\n contrast: colors.transport.contrast.plane,\n pattern: 'line',\n };\n case 'tram':\n return {\n color: colors.transport.default.tram,\n contrast: colors.transport.contrast.tram,\n pattern: 'line',\n };\n case 'rail':\n return {\n color: colors.transport.default.train,\n contrast: colors.transport.contrast.train,\n pattern: 'line',\n };\n case 'water':\n return {\n color: colors.transport.default.ferry,\n contrast: colors.transport.contrast.ferry,\n pattern: 'wave',\n };\n case 'bike':\n return {\n color: colors.transport.default.mobility,\n contrast: colors.transport.contrast.mobility,\n pattern: 'line',\n };\n case 'scooter':\n return {\n color: colors.transport.default.mobility,\n contrast: colors.transport.contrast.mobility,\n pattern: 'line',\n };\n case 'foot':\n return {\n color: colors.transport.default.walk,\n contrast: colors.transport.contrast.walk,\n pattern: 'dotted',\n };\n case 'car':\n return {\n color: colors.transport.default.taxi,\n contrast: colors.transport.contrast.taxi,\n pattern: 'dashed',\n };\n default:\n console.error(\n 'No transport modality was chosen. There is likely an error in your usage of TravelLeg.',\n );\n return {\n color: colors.brand.blue,\n contrast: colors.brand.white,\n pattern: 'line',\n };\n }\n}\n","import React from 'react';\nimport classNames from 'classnames';\nimport {\n CloseSmallIcon,\n ValidationInfoIcon,\n ValidationErrorIcon,\n ValidationExclamationIcon,\n BicycleIcon,\n BusIcon,\n FerryIcon,\n PlaneIcon,\n ScooterIcon,\n SubwayIcon,\n TrainIcon,\n TramIcon,\n WalkingIcon,\n CarIcon,\n TaxiIcon,\n CarferryIcon,\n} from '@entur/icons';\nimport './TravelTag.scss';\n\nexport type TravelTagProps = {\n /** Callback som kalles for når man skal lukke TravelTag-en\n * @default undefined\n */\n onClose?: () => void;\n /** Innholdet inne i TravelTag-en */\n children?: React.ReactNode;\n /**Ekstra klassenavn */\n className?: string;\n /** Legger til et Valideringsikon i TravelTagen for å signalisere avvik, informasjon e.l.\n * @default \"none\"\n */\n alert?: 'none' | 'error' | 'warning' | 'info';\n /** Legger til farge og ikon tilpasset valgt transportmiddel */\n transport?:\n | 'bus'\n | 'metro'\n | 'air'\n | 'tram'\n | 'rail'\n | 'water'\n | 'carferry'\n | 'bike'\n | 'scooter'\n | 'foot'\n | 'car'\n | 'taxi';\n /** Element ved siden av eller under TravelTag. */\n label?: React.ReactNode;\n /** Posisjonen til label-en i forhold til TravelTag-en\n * @default \"right\"\n */\n labelPlacement?: 'bottom' | 'right';\n} & React.DetailedHTMLProps<\n React.HTMLAttributes<HTMLDivElement>,\n HTMLDivElement\n>;\n\nexport const TravelTag: React.FC<TravelTagProps> = ({\n onClose = undefined,\n children,\n className,\n alert = 'none',\n transport,\n label,\n labelPlacement = 'right',\n ...rest\n}) => {\n const isClosable = onClose ? true : false;\n const numberOfChildren = React.Children.count(children);\n const TransportIcon = modeCalc(transport) ?? <></>;\n\n const TravelTagWithoutLabel: JSX.Element = (\n <div\n className={classNames('eds-travel-tag', {\n 'eds-travel-tag--closable': isClosable,\n 'eds-travel-tag--alert': alert !== 'none',\n 'eds-travel-tag--alert--error': alert === 'error',\n 'eds-travel-tag--icon-and-text':\n numberOfChildren > 1 || (transport && numberOfChildren > 0),\n [`eds-travel-tag--transport-${transport}`]: transport,\n className,\n })}\n {...rest}\n >\n {transport && TransportIcon}\n {children}\n {isClosable && (\n <button onClick={onClose} className=\"eds-travel-tag__close-button\">\n <CloseSmallIcon inline />\n </button>\n )}\n {alert !== 'none' && (\n <span className=\"eds-travel-tag__alert\">\n {alert === 'info' && (\n <ValidationInfoIcon className=\"eds-travel-tag__alert-info-icon\" />\n )}\n {alert === 'error' && (\n <ValidationErrorIcon className=\"eds-travel-tag__alert-error-icon\" />\n )}\n {alert === 'warning' && (\n <ValidationExclamationIcon className=\"eds-travel-tag__alert-exclamation-icon\" />\n )}\n </span>\n )}\n </div>\n );\n\n const Label: JSX.Element = (\n <div\n className={classNames('eds-travel-tag__label', {\n [`eds-travel-tag__label--${labelPlacement}`]: label,\n [`eds-travel-tag__label--${labelPlacement}--with-alert`]:\n label && alert !== 'none',\n })}\n >\n {label}\n </div>\n );\n\n if (label) {\n return (\n <div\n className={classNames('eds-travel-tag__wrapper', {\n [`eds-travel-tag__wrapper--label-position-${labelPlacement}`]: label,\n })}\n >\n {TravelTagWithoutLabel}\n {Label}\n </div>\n );\n }\n\n return TravelTagWithoutLabel;\n};\n\nconst modeCalc = (mode: string | undefined) => {\n switch (mode) {\n case 'bus':\n return <BusIcon />;\n case 'metro':\n return <SubwayIcon />;\n case 'air':\n return <PlaneIcon />;\n case 'tram':\n return <TramIcon />;\n case 'rail':\n return <TrainIcon />;\n case 'water':\n return <FerryIcon />;\n case 'carferry':\n return <CarferryIcon />;\n case 'bike':\n return <BicycleIcon />;\n case 'scooter':\n return <ScooterIcon />;\n case 'foot':\n return <WalkingIcon />;\n case 'car':\n return <CarIcon />;\n case 'taxi':\n return <TaxiIcon />;\n default:\n return <></>;\n }\n};\n"],"names":["LegLine","color","direction","pattern","className","rest","React","classNames","style","backgroundColor","LegBone","startColor","endColor","showStart","showStop","showLine","warnAboutMissingStyles","as","Element","from","to","size","noWrap","transport","mode","colors","bus","contrast","metro","plane","tram","train","ferry","mobility","walk","taxi","console","error","brand","blue","white","modeCalc","isContrast","useContrast","onClose","undefined","children","alert","label","labelPlacement","isClosable","numberOfChildren","Children","count","TransportIcon","BusIcon","SubwayIcon","PlaneIcon","TramIcon","TrainIcon","FerryIcon","CarferryIcon","BicycleIcon","ScooterIcon","WalkingIcon","CarIcon","TaxiIcon","TravelTagWithoutLabel","onClick","CloseSmallIcon","inline","ValidationInfoIcon","ValidationErrorIcon","ValidationExclamationIcon","Label"],"mappings":"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"}
|
package/dist/travel.esm.js
CHANGED
|
@@ -1,10 +1,28 @@
|
|
|
1
1
|
import { warnAboutMissingStyles } from '@entur/utils';
|
|
2
2
|
import React from 'react';
|
|
3
3
|
import classNames from 'classnames';
|
|
4
|
-
import {
|
|
4
|
+
import { CloseSmallIcon, ValidationInfoIcon, ValidationErrorIcon, ValidationExclamationIcon, TaxiIcon, CarIcon, WalkingIcon, ScooterIcon, BicycleIcon, CarferryIcon, FerryIcon, TrainIcon, TramIcon, PlaneIcon, SubwayIcon, BusIcon } from '@entur/icons';
|
|
5
5
|
import { colors } from '@entur/tokens';
|
|
6
6
|
import { useContrast } from '@entur/layout';
|
|
7
7
|
|
|
8
|
+
function _extends() {
|
|
9
|
+
_extends = Object.assign || function (target) {
|
|
10
|
+
for (var i = 1; i < arguments.length; i++) {
|
|
11
|
+
var source = arguments[i];
|
|
12
|
+
|
|
13
|
+
for (var key in source) {
|
|
14
|
+
if (Object.prototype.hasOwnProperty.call(source, key)) {
|
|
15
|
+
target[key] = source[key];
|
|
16
|
+
}
|
|
17
|
+
}
|
|
18
|
+
}
|
|
19
|
+
|
|
20
|
+
return target;
|
|
21
|
+
};
|
|
22
|
+
|
|
23
|
+
return _extends.apply(this, arguments);
|
|
24
|
+
}
|
|
25
|
+
|
|
8
26
|
function _objectWithoutPropertiesLoose(source, excluded) {
|
|
9
27
|
if (source == null) return {};
|
|
10
28
|
var target = {};
|
|
@@ -20,6 +38,7 @@ function _objectWithoutPropertiesLoose(source, excluded) {
|
|
|
20
38
|
return target;
|
|
21
39
|
}
|
|
22
40
|
|
|
41
|
+
var _excluded$4 = ["as", "from", "to", "size", "className", "noWrap"];
|
|
23
42
|
var TravelHeader = function TravelHeader(_ref) {
|
|
24
43
|
var _ref$as = _ref.as,
|
|
25
44
|
Element = _ref$as === void 0 ? 'div' : _ref$as,
|
|
@@ -29,9 +48,9 @@ var TravelHeader = function TravelHeader(_ref) {
|
|
|
29
48
|
size = _ref$size === void 0 ? 'large' : _ref$size,
|
|
30
49
|
className = _ref.className,
|
|
31
50
|
noWrap = _ref.noWrap,
|
|
32
|
-
rest = _objectWithoutPropertiesLoose(_ref,
|
|
51
|
+
rest = _objectWithoutPropertiesLoose(_ref, _excluded$4);
|
|
33
52
|
|
|
34
|
-
return React.createElement(Element,
|
|
53
|
+
return React.createElement(Element, _extends({
|
|
35
54
|
className: classNames('eds-travel-header', className, {
|
|
36
55
|
'eds-travel-header--large': size === 'large',
|
|
37
56
|
'eds-travel-header--medium': size === 'medium',
|
|
@@ -45,8 +64,9 @@ var TravelHeader = function TravelHeader(_ref) {
|
|
|
45
64
|
}, to));
|
|
46
65
|
};
|
|
47
66
|
|
|
67
|
+
var _excluded$3 = ["onClose", "children", "className", "alert", "transport", "label", "labelPlacement"];
|
|
48
68
|
var TravelTag = function TravelTag(_ref) {
|
|
49
|
-
var _classNames;
|
|
69
|
+
var _modeCalc, _classNames, _classNames2;
|
|
50
70
|
|
|
51
71
|
var _ref$onClose = _ref.onClose,
|
|
52
72
|
onClose = _ref$onClose === void 0 ? undefined : _ref$onClose,
|
|
@@ -55,32 +75,94 @@ var TravelTag = function TravelTag(_ref) {
|
|
|
55
75
|
_ref$alert = _ref.alert,
|
|
56
76
|
alert = _ref$alert === void 0 ? 'none' : _ref$alert,
|
|
57
77
|
transport = _ref.transport,
|
|
58
|
-
|
|
78
|
+
label = _ref.label,
|
|
79
|
+
_ref$labelPlacement = _ref.labelPlacement,
|
|
80
|
+
labelPlacement = _ref$labelPlacement === void 0 ? 'right' : _ref$labelPlacement,
|
|
81
|
+
rest = _objectWithoutPropertiesLoose(_ref, _excluded$3);
|
|
59
82
|
|
|
60
83
|
var isClosable = onClose ? true : false;
|
|
61
84
|
var numberOfChildren = React.Children.count(children);
|
|
62
|
-
|
|
85
|
+
var TransportIcon = (_modeCalc = modeCalc$1(transport)) != null ? _modeCalc : React.createElement(React.Fragment, null);
|
|
86
|
+
var TravelTagWithoutLabel = React.createElement("div", _extends({
|
|
63
87
|
className: classNames('eds-travel-tag', (_classNames = {
|
|
64
88
|
'eds-travel-tag--closable': isClosable,
|
|
65
89
|
'eds-travel-tag--alert': alert !== 'none',
|
|
66
|
-
'eds-travel-tag--
|
|
90
|
+
'eds-travel-tag--alert--error': alert === 'error',
|
|
91
|
+
'eds-travel-tag--icon-and-text': numberOfChildren > 1 || transport && numberOfChildren > 0
|
|
67
92
|
}, _classNames["eds-travel-tag--transport-" + transport] = transport, _classNames.className = className, _classNames))
|
|
68
|
-
}, rest), children, isClosable && React.createElement("button", {
|
|
93
|
+
}, rest), transport && TransportIcon, children, isClosable && React.createElement("button", {
|
|
69
94
|
onClick: onClose,
|
|
70
95
|
className: "eds-travel-tag__close-button"
|
|
71
|
-
}, React.createElement(
|
|
96
|
+
}, React.createElement(CloseSmallIcon, {
|
|
72
97
|
inline: true
|
|
73
98
|
})), alert !== 'none' && React.createElement("span", {
|
|
74
99
|
className: "eds-travel-tag__alert"
|
|
75
100
|
}, alert === 'info' && React.createElement(ValidationInfoIcon, {
|
|
76
101
|
className: "eds-travel-tag__alert-info-icon"
|
|
77
|
-
}), alert === 'error' && React.createElement(
|
|
78
|
-
className: "eds-travel-tag__alert-exclamation-icon"
|
|
79
|
-
}), alert === 'warning' && React.createElement(ValidationErrorIcon, {
|
|
102
|
+
}), alert === 'error' && React.createElement(ValidationErrorIcon, {
|
|
80
103
|
className: "eds-travel-tag__alert-error-icon"
|
|
104
|
+
}), alert === 'warning' && React.createElement(ValidationExclamationIcon, {
|
|
105
|
+
className: "eds-travel-tag__alert-exclamation-icon"
|
|
81
106
|
})));
|
|
107
|
+
var Label = React.createElement("div", {
|
|
108
|
+
className: classNames('eds-travel-tag__label', (_classNames2 = {}, _classNames2["eds-travel-tag__label--" + labelPlacement] = label, _classNames2["eds-travel-tag__label--" + labelPlacement + "--with-alert"] = label && alert !== 'none', _classNames2))
|
|
109
|
+
}, label);
|
|
110
|
+
|
|
111
|
+
if (label) {
|
|
112
|
+
var _classNames3;
|
|
113
|
+
|
|
114
|
+
return React.createElement("div", {
|
|
115
|
+
className: classNames('eds-travel-tag__wrapper', (_classNames3 = {}, _classNames3["eds-travel-tag__wrapper--label-position-" + labelPlacement] = label, _classNames3))
|
|
116
|
+
}, TravelTagWithoutLabel, Label);
|
|
117
|
+
}
|
|
118
|
+
|
|
119
|
+
return TravelTagWithoutLabel;
|
|
120
|
+
};
|
|
121
|
+
|
|
122
|
+
var modeCalc$1 = function modeCalc(mode) {
|
|
123
|
+
switch (mode) {
|
|
124
|
+
case 'bus':
|
|
125
|
+
return React.createElement(BusIcon, null);
|
|
126
|
+
|
|
127
|
+
case 'metro':
|
|
128
|
+
return React.createElement(SubwayIcon, null);
|
|
129
|
+
|
|
130
|
+
case 'air':
|
|
131
|
+
return React.createElement(PlaneIcon, null);
|
|
132
|
+
|
|
133
|
+
case 'tram':
|
|
134
|
+
return React.createElement(TramIcon, null);
|
|
135
|
+
|
|
136
|
+
case 'rail':
|
|
137
|
+
return React.createElement(TrainIcon, null);
|
|
138
|
+
|
|
139
|
+
case 'water':
|
|
140
|
+
return React.createElement(FerryIcon, null);
|
|
141
|
+
|
|
142
|
+
case 'carferry':
|
|
143
|
+
return React.createElement(CarferryIcon, null);
|
|
144
|
+
|
|
145
|
+
case 'bike':
|
|
146
|
+
return React.createElement(BicycleIcon, null);
|
|
147
|
+
|
|
148
|
+
case 'scooter':
|
|
149
|
+
return React.createElement(ScooterIcon, null);
|
|
150
|
+
|
|
151
|
+
case 'foot':
|
|
152
|
+
return React.createElement(WalkingIcon, null);
|
|
153
|
+
|
|
154
|
+
case 'car':
|
|
155
|
+
return React.createElement(CarIcon, null);
|
|
156
|
+
|
|
157
|
+
case 'taxi':
|
|
158
|
+
return React.createElement(TaxiIcon, null);
|
|
159
|
+
|
|
160
|
+
default:
|
|
161
|
+
return React.createElement(React.Fragment, null);
|
|
162
|
+
}
|
|
82
163
|
};
|
|
83
164
|
|
|
165
|
+
var _excluded$2 = ["color", "direction", "pattern", "className"];
|
|
84
166
|
var LegLine = function LegLine(_ref) {
|
|
85
167
|
var _classNames;
|
|
86
168
|
|
|
@@ -89,9 +171,9 @@ var LegLine = function LegLine(_ref) {
|
|
|
89
171
|
direction = _ref$direction === void 0 ? 'horizontal' : _ref$direction,
|
|
90
172
|
pattern = _ref.pattern,
|
|
91
173
|
className = _ref.className,
|
|
92
|
-
rest = _objectWithoutPropertiesLoose(_ref,
|
|
174
|
+
rest = _objectWithoutPropertiesLoose(_ref, _excluded$2);
|
|
93
175
|
|
|
94
|
-
return React.createElement("div",
|
|
176
|
+
return React.createElement("div", _extends({
|
|
95
177
|
className: classNames('eds-leg-line', className, (_classNames = {}, _classNames["eds-leg-line--" + pattern] = pattern, _classNames["eds-leg-line--" + direction] = direction, _classNames)),
|
|
96
178
|
style: {
|
|
97
179
|
backgroundColor: color
|
|
@@ -99,6 +181,7 @@ var LegLine = function LegLine(_ref) {
|
|
|
99
181
|
}, rest));
|
|
100
182
|
};
|
|
101
183
|
|
|
184
|
+
var _excluded$1 = ["direction", "pattern", "color", "startColor", "endColor", "showStart", "showStop", "showLine", "className"];
|
|
102
185
|
var LegBone = function LegBone(_ref) {
|
|
103
186
|
var direction = _ref.direction,
|
|
104
187
|
pattern = _ref.pattern,
|
|
@@ -112,9 +195,9 @@ var LegBone = function LegBone(_ref) {
|
|
|
112
195
|
_ref$showLine = _ref.showLine,
|
|
113
196
|
showLine = _ref$showLine === void 0 ? true : _ref$showLine,
|
|
114
197
|
className = _ref.className,
|
|
115
|
-
rest = _objectWithoutPropertiesLoose(_ref,
|
|
198
|
+
rest = _objectWithoutPropertiesLoose(_ref, _excluded$1);
|
|
116
199
|
|
|
117
|
-
return React.createElement("div",
|
|
200
|
+
return React.createElement("div", _extends({
|
|
118
201
|
className: classNames(className, 'eds-leg-bone', [{
|
|
119
202
|
'eds-leg-bone--vertical': direction === 'vertical'
|
|
120
203
|
}, {
|
|
@@ -138,11 +221,12 @@ var LegBone = function LegBone(_ref) {
|
|
|
138
221
|
}));
|
|
139
222
|
};
|
|
140
223
|
|
|
224
|
+
var _excluded = ["className", "transport", "direction"];
|
|
141
225
|
var TravelLeg = function TravelLeg(_ref) {
|
|
142
226
|
var className = _ref.className,
|
|
143
227
|
transport = _ref.transport,
|
|
144
228
|
direction = _ref.direction,
|
|
145
|
-
rest = _objectWithoutPropertiesLoose(_ref,
|
|
229
|
+
rest = _objectWithoutPropertiesLoose(_ref, _excluded);
|
|
146
230
|
|
|
147
231
|
var _modeCalc = modeCalc(transport),
|
|
148
232
|
color = _modeCalc.color,
|
|
@@ -150,7 +234,7 @@ var TravelLeg = function TravelLeg(_ref) {
|
|
|
150
234
|
pattern = _modeCalc.pattern;
|
|
151
235
|
|
|
152
236
|
var isContrast = useContrast();
|
|
153
|
-
return React.createElement(LegBone,
|
|
237
|
+
return React.createElement(LegBone, _extends({
|
|
154
238
|
direction: direction,
|
|
155
239
|
pattern: pattern,
|
|
156
240
|
color: isContrast ? contrast : color,
|
package/dist/travel.esm.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"travel.esm.js","sources":["../src/TravelHeader.tsx","../src/TravelTag.tsx","../src/LegLine.tsx","../src/LegBone.tsx","../src/TravelLeg.tsx","../src/index.tsx"],"sourcesContent":["import React from 'react';\nimport classNames from 'classnames';\nimport './TravelHeader.scss';\n\nexport type TravelHeaderProps = {\n /** HTML-elementet eller React-komponenten som lager elementet\n * @default 'div'\n */\n as?: string | React.ElementType;\n /** Destinasjonen man reiser fra */\n from: React.ReactNode;\n /** Destinasjonen man reiser til */\n to: React.ReactNode;\n /**Størrelsen på komponenten\n * @default 'large'\n */\n size?: 'large' | 'medium';\n /** Plassere til og fra på samme linje */\n noWrap?: boolean;\n /**Ekstra klassenavn */\n className?: string;\n [key: string]: any;\n};\n\nexport const TravelHeader: React.FC<TravelHeaderProps> = ({\n as: Element = 'div',\n from,\n to,\n size = 'large',\n className,\n noWrap,\n ...rest\n}) => {\n return (\n <Element\n className={classNames('eds-travel-header', className, {\n 'eds-travel-header--large': size === 'large',\n 'eds-travel-header--medium': size === 'medium',\n 'eds-travel-header--no-wrap': noWrap,\n })}\n aria-label={`Fra ${from}, til ${to}`}\n {...rest}\n >\n <span className=\"eds-travel-header__from\">{from}</span>\n <span className=\"eds-travel-header__to\">{to}</span>\n </Element>\n );\n};\n","import React from 'react';\nimport classNames from 'classnames';\nimport {\n CloseIcon,\n ValidationInfoIcon,\n ValidationErrorIcon,\n ValidationExclamationIcon,\n} from '@entur/icons';\nimport './TravelTag.scss';\n\nexport type TravelTagProps = {\n /** Callback som kalles for når man skal lukke TravelTagen\n * @default undefined\n */\n onClose?: () => void;\n /** Innholdet til TravelTagen */\n children: React.ReactNode;\n /**Ekstra klassenavn */\n className?: string;\n /** Legger til et Valideringsikon i TravelTagen for å signalisere avvik, informasjon e.l.\n * @default \"none\"\n */\n alert?: 'none' | 'error' | 'warning' | 'info';\n transport?:\n | 'bus'\n | 'metro'\n | 'air'\n | 'tram'\n | 'rail'\n | 'water'\n | 'bike'\n | 'scooter'\n | 'foot'\n | 'car';\n} & React.DetailedHTMLProps<\n React.HTMLAttributes<HTMLDivElement>,\n HTMLDivElement\n>;\n\nexport const TravelTag: React.FC<TravelTagProps> = ({\n onClose = undefined,\n children,\n className,\n alert = 'none',\n transport,\n ...rest\n}) => {\n const isClosable = onClose ? true : false;\n const numberOfChildren = React.Children.count(children);\n\n return (\n <div\n className={classNames('eds-travel-tag', {\n 'eds-travel-tag--closable': isClosable,\n 'eds-travel-tag--alert': alert !== 'none',\n 'eds-travel-tag--icon-and-text': numberOfChildren > 1,\n [`eds-travel-tag--transport-${transport}`]: transport,\n className,\n })}\n {...rest}\n >\n {children}\n {isClosable && (\n <button onClick={onClose} className=\"eds-travel-tag__close-button\">\n <CloseIcon inline />\n </button>\n )}\n {alert !== 'none' && (\n <span className=\"eds-travel-tag__alert\">\n {alert === 'info' && (\n <ValidationInfoIcon className=\"eds-travel-tag__alert-info-icon\" />\n )}\n {alert === 'error' && (\n <ValidationExclamationIcon className=\"eds-travel-tag__alert-exclamation-icon\" />\n )}\n {alert === 'warning' && (\n <ValidationErrorIcon className=\"eds-travel-tag__alert-error-icon\" />\n )}\n </span>\n )}\n </div>\n );\n};\n","import React from 'react';\nimport classNames from 'classnames';\nimport './LegLine.scss';\n\nexport type LegLineProps = {\n /** Farge på LegLine'n */\n color: string;\n /** Retningen til LegLine */\n direction: 'horizontal' | 'vertical';\n /** Hvilket linjemønster som skal brukes */\n pattern: 'line' | 'dashed' | 'dotted' | 'wave';\n /** Ekstra klassenavn */\n className?: string;\n} & React.DetailedHTMLProps<\n React.HTMLAttributes<HTMLDivElement>,\n HTMLDivElement\n>;\n\nexport const LegLine: React.FC<LegLineProps> = ({\n color,\n direction = 'horizontal',\n pattern,\n className,\n ...rest\n}) => {\n return (\n <div\n className={classNames('eds-leg-line', className, {\n [`eds-leg-line--${pattern}`]: pattern,\n [`eds-leg-line--${direction}`]: direction,\n })}\n style={{ backgroundColor: color }}\n {...rest}\n />\n );\n};\n","import React from 'react';\nimport classNames from 'classnames';\nimport { LegLine } from './LegLine';\nimport './LegBone.scss';\n\nexport type LegBoneProps = {\n /** Retning på komponenten */\n direction: 'horizontal' | 'vertical';\n /** Hvilke linjemønster som skal brukes */\n pattern: 'line' | 'dashed' | 'dotted' | 'wave';\n /** Farge på linja */\n color: string;\n /** Farge på startpunktet\n * @default Verdien til color\n */\n startColor?: string;\n /** Farge på endepunktet\n * @default Verdien til color\n */\n endColor?: string;\n /** Vis startpunkt\n * @default true\n */\n showStart?: boolean;\n /** Vis linke\n * @default true\n */\n showLine?: boolean;\n /** Vis endepunkt\n * @default true\n */\n showStop?: boolean;\n /** Ekstra klassenavn */\n className?: string;\n} & React.DetailedHTMLProps<\n React.HTMLAttributes<HTMLDivElement>,\n HTMLDivElement\n>;\n\nexport const LegBone: React.FC<LegBoneProps> = ({\n direction,\n pattern,\n color,\n startColor,\n endColor,\n showStart = true,\n showStop = true,\n showLine = true,\n className,\n ...rest\n}) => {\n return (\n <div\n className={classNames(className, 'eds-leg-bone', [\n { 'eds-leg-bone--vertical': direction === 'vertical' },\n { 'eds-leg-bone--horizontal': direction === 'horizontal' },\n ])}\n {...rest}\n >\n {showStart && (\n <div\n className={`eds-leg-bone__start`}\n style={{ backgroundColor: startColor || color }}\n />\n )}\n\n {showLine && (\n <LegLine\n className={`eds-leg-bone__line`}\n direction={direction}\n color={color}\n pattern={pattern}\n />\n )}\n\n {showStop && (\n <div\n className={`eds-leg-bone__stop`}\n style={{ backgroundColor: endColor || color }}\n />\n )}\n </div>\n );\n};\n","import React from 'react';\nimport { LegBone } from './LegBone';\nimport { colors } from '@entur/tokens';\nimport { useContrast } from '@entur/layout';\n\nexport type TravelLegProps = {\n /** Ekstra klassenavn */\n className?: string;\n /** Hviklen type reise som skal vises riktig farge og linjetype */\n transport:\n | 'bus'\n | 'metro'\n | 'air'\n | 'tram'\n | 'rail'\n | 'water'\n | 'bike'\n | 'scooter'\n | 'foot'\n | 'car';\n /** Retningen på komponenten */\n direction: 'horizontal' | 'vertical';\n} & React.DetailedHTMLProps<\n React.HTMLAttributes<HTMLDivElement>,\n HTMLDivElement\n>;\n\nexport const TravelLeg: React.FC<TravelLegProps> = ({\n className,\n transport,\n direction,\n ...rest\n}) => {\n const { color, contrast, pattern } = modeCalc(transport);\n const isContrast = useContrast();\n\n return (\n <LegBone\n direction={direction}\n pattern={pattern}\n color={isContrast ? contrast : color}\n className={className}\n {...rest}\n />\n );\n};\n\ntype modeCalcResult = {\n color: string;\n contrast: string;\n pattern: 'line' | 'wave' | 'dashed' | 'dotted';\n};\n\nfunction modeCalc(mode: string): modeCalcResult {\n switch (mode) {\n case 'bus':\n return {\n color: colors.transport.default.bus,\n contrast: colors.transport.contrast.bus,\n pattern: 'dashed',\n };\n case 'metro':\n return {\n color: colors.transport.default.metro,\n contrast: colors.transport.contrast.metro,\n pattern: 'line',\n };\n case 'air':\n return {\n color: colors.transport.default.plane,\n contrast: colors.transport.contrast.plane,\n pattern: 'line',\n };\n case 'tram':\n return {\n color: colors.transport.default.tram,\n contrast: colors.transport.contrast.tram,\n pattern: 'line',\n };\n case 'rail':\n return {\n color: colors.transport.default.train,\n contrast: colors.transport.contrast.train,\n pattern: 'line',\n };\n case 'water':\n return {\n color: colors.transport.default.ferry,\n contrast: colors.transport.contrast.ferry,\n pattern: 'wave',\n };\n case 'bike':\n return {\n color: colors.transport.default.mobility,\n contrast: colors.transport.contrast.mobility,\n pattern: 'line',\n };\n case 'scooter':\n return {\n color: colors.transport.default.mobility,\n contrast: colors.transport.contrast.mobility,\n pattern: 'line',\n };\n case 'foot':\n return {\n color: colors.transport.default.walk,\n contrast: colors.transport.contrast.walk,\n pattern: 'dotted',\n };\n case 'car':\n return {\n color: colors.transport.default.taxi,\n contrast: colors.transport.contrast.taxi,\n pattern: 'dashed',\n };\n default:\n console.error(\n 'No transport modality was chosen. There is likely an error in your usage of TravelLeg.',\n );\n return {\n color: colors.brand.blue,\n contrast: colors.brand.white,\n pattern: 'line',\n };\n }\n}\n","import { warnAboutMissingStyles } from '@entur/utils';\nimport './index.scss';\n\nwarnAboutMissingStyles('travel');\n\nexport * from './TravelHeader';\nexport * from './TravelTag';\nexport * from './LegLine';\nexport * from './LegBone';\nexport * from './TravelLeg';\n"],"names":["TravelHeader","as","Element","from","to","size","className","noWrap","rest","React","classNames","TravelTag","onClose","undefined","children","alert","transport","isClosable","numberOfChildren","Children","count","onClick","CloseIcon","inline","ValidationInfoIcon","ValidationExclamationIcon","ValidationErrorIcon","LegLine","color","direction","pattern","style","backgroundColor","LegBone","startColor","endColor","showStart","showStop","showLine","TravelLeg","modeCalc","contrast","isContrast","useContrast","mode","colors","bus","metro","plane","tram","train","ferry","mobility","walk","taxi","console","error","brand","blue","white","warnAboutMissingStyles"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"travel.esm.js","sources":["../src/TravelHeader.tsx","../src/TravelTag.tsx","../src/LegLine.tsx","../src/LegBone.tsx","../src/TravelLeg.tsx","../src/index.tsx"],"sourcesContent":["import React from 'react';\nimport classNames from 'classnames';\nimport './TravelHeader.scss';\n\nexport type TravelHeaderProps = {\n /** HTML-elementet eller React-komponenten som lager elementet\n * @default 'div'\n */\n as?: string | React.ElementType;\n /** Destinasjonen man reiser fra */\n from: React.ReactNode;\n /** Destinasjonen man reiser til */\n to: React.ReactNode;\n /**Størrelsen på komponenten\n * @default 'large'\n */\n size?: 'large' | 'medium';\n /** Plassere til og fra på samme linje */\n noWrap?: boolean;\n /**Ekstra klassenavn */\n className?: string;\n [key: string]: any;\n};\n\nexport const TravelHeader: React.FC<TravelHeaderProps> = ({\n as: Element = 'div',\n from,\n to,\n size = 'large',\n className,\n noWrap,\n ...rest\n}) => {\n return (\n <Element\n className={classNames('eds-travel-header', className, {\n 'eds-travel-header--large': size === 'large',\n 'eds-travel-header--medium': size === 'medium',\n 'eds-travel-header--no-wrap': noWrap,\n })}\n aria-label={`Fra ${from}, til ${to}`}\n {...rest}\n >\n <span className=\"eds-travel-header__from\">{from}</span>\n <span className=\"eds-travel-header__to\">{to}</span>\n </Element>\n );\n};\n","import React from 'react';\nimport classNames from 'classnames';\nimport {\n CloseSmallIcon,\n ValidationInfoIcon,\n ValidationErrorIcon,\n ValidationExclamationIcon,\n BicycleIcon,\n BusIcon,\n FerryIcon,\n PlaneIcon,\n ScooterIcon,\n SubwayIcon,\n TrainIcon,\n TramIcon,\n WalkingIcon,\n CarIcon,\n TaxiIcon,\n CarferryIcon,\n} from '@entur/icons';\nimport './TravelTag.scss';\n\nexport type TravelTagProps = {\n /** Callback som kalles for når man skal lukke TravelTag-en\n * @default undefined\n */\n onClose?: () => void;\n /** Innholdet inne i TravelTag-en */\n children?: React.ReactNode;\n /**Ekstra klassenavn */\n className?: string;\n /** Legger til et Valideringsikon i TravelTagen for å signalisere avvik, informasjon e.l.\n * @default \"none\"\n */\n alert?: 'none' | 'error' | 'warning' | 'info';\n /** Legger til farge og ikon tilpasset valgt transportmiddel */\n transport?:\n | 'bus'\n | 'metro'\n | 'air'\n | 'tram'\n | 'rail'\n | 'water'\n | 'carferry'\n | 'bike'\n | 'scooter'\n | 'foot'\n | 'car'\n | 'taxi';\n /** Element ved siden av eller under TravelTag. */\n label?: React.ReactNode;\n /** Posisjonen til label-en i forhold til TravelTag-en\n * @default \"right\"\n */\n labelPlacement?: 'bottom' | 'right';\n} & React.DetailedHTMLProps<\n React.HTMLAttributes<HTMLDivElement>,\n HTMLDivElement\n>;\n\nexport const TravelTag: React.FC<TravelTagProps> = ({\n onClose = undefined,\n children,\n className,\n alert = 'none',\n transport,\n label,\n labelPlacement = 'right',\n ...rest\n}) => {\n const isClosable = onClose ? true : false;\n const numberOfChildren = React.Children.count(children);\n const TransportIcon = modeCalc(transport) ?? <></>;\n\n const TravelTagWithoutLabel: JSX.Element = (\n <div\n className={classNames('eds-travel-tag', {\n 'eds-travel-tag--closable': isClosable,\n 'eds-travel-tag--alert': alert !== 'none',\n 'eds-travel-tag--alert--error': alert === 'error',\n 'eds-travel-tag--icon-and-text':\n numberOfChildren > 1 || (transport && numberOfChildren > 0),\n [`eds-travel-tag--transport-${transport}`]: transport,\n className,\n })}\n {...rest}\n >\n {transport && TransportIcon}\n {children}\n {isClosable && (\n <button onClick={onClose} className=\"eds-travel-tag__close-button\">\n <CloseSmallIcon inline />\n </button>\n )}\n {alert !== 'none' && (\n <span className=\"eds-travel-tag__alert\">\n {alert === 'info' && (\n <ValidationInfoIcon className=\"eds-travel-tag__alert-info-icon\" />\n )}\n {alert === 'error' && (\n <ValidationErrorIcon className=\"eds-travel-tag__alert-error-icon\" />\n )}\n {alert === 'warning' && (\n <ValidationExclamationIcon className=\"eds-travel-tag__alert-exclamation-icon\" />\n )}\n </span>\n )}\n </div>\n );\n\n const Label: JSX.Element = (\n <div\n className={classNames('eds-travel-tag__label', {\n [`eds-travel-tag__label--${labelPlacement}`]: label,\n [`eds-travel-tag__label--${labelPlacement}--with-alert`]:\n label && alert !== 'none',\n })}\n >\n {label}\n </div>\n );\n\n if (label) {\n return (\n <div\n className={classNames('eds-travel-tag__wrapper', {\n [`eds-travel-tag__wrapper--label-position-${labelPlacement}`]: label,\n })}\n >\n {TravelTagWithoutLabel}\n {Label}\n </div>\n );\n }\n\n return TravelTagWithoutLabel;\n};\n\nconst modeCalc = (mode: string | undefined) => {\n switch (mode) {\n case 'bus':\n return <BusIcon />;\n case 'metro':\n return <SubwayIcon />;\n case 'air':\n return <PlaneIcon />;\n case 'tram':\n return <TramIcon />;\n case 'rail':\n return <TrainIcon />;\n case 'water':\n return <FerryIcon />;\n case 'carferry':\n return <CarferryIcon />;\n case 'bike':\n return <BicycleIcon />;\n case 'scooter':\n return <ScooterIcon />;\n case 'foot':\n return <WalkingIcon />;\n case 'car':\n return <CarIcon />;\n case 'taxi':\n return <TaxiIcon />;\n default:\n return <></>;\n }\n};\n","import React from 'react';\nimport classNames from 'classnames';\nimport './LegLine.scss';\n\nexport type LegLineProps = {\n /** Farge på LegLine'n */\n color: string;\n /** Retningen til LegLine */\n direction: 'horizontal' | 'vertical';\n /** Hvilket linjemønster som skal brukes */\n pattern: 'line' | 'dashed' | 'dotted' | 'wave';\n /** Ekstra klassenavn */\n className?: string;\n} & React.DetailedHTMLProps<\n React.HTMLAttributes<HTMLDivElement>,\n HTMLDivElement\n>;\n\nexport const LegLine: React.FC<LegLineProps> = ({\n color,\n direction = 'horizontal',\n pattern,\n className,\n ...rest\n}) => {\n return (\n <div\n className={classNames('eds-leg-line', className, {\n [`eds-leg-line--${pattern}`]: pattern,\n [`eds-leg-line--${direction}`]: direction,\n })}\n style={{ backgroundColor: color }}\n {...rest}\n />\n );\n};\n","import React from 'react';\nimport classNames from 'classnames';\nimport { LegLine } from './LegLine';\nimport './LegBone.scss';\n\nexport type LegBoneProps = {\n /** Retning på komponenten */\n direction: 'horizontal' | 'vertical';\n /** Hvilke linjemønster som skal brukes */\n pattern: 'line' | 'dashed' | 'dotted' | 'wave';\n /** Farge på linja */\n color: string;\n /** Farge på startpunktet\n * @default Verdien til color\n */\n startColor?: string;\n /** Farge på endepunktet\n * @default Verdien til color\n */\n endColor?: string;\n /** Vis startpunkt\n * @default true\n */\n showStart?: boolean;\n /** Vis linke\n * @default true\n */\n showLine?: boolean;\n /** Vis endepunkt\n * @default true\n */\n showStop?: boolean;\n /** Ekstra klassenavn */\n className?: string;\n} & React.DetailedHTMLProps<\n React.HTMLAttributes<HTMLDivElement>,\n HTMLDivElement\n>;\n\nexport const LegBone: React.FC<LegBoneProps> = ({\n direction,\n pattern,\n color,\n startColor,\n endColor,\n showStart = true,\n showStop = true,\n showLine = true,\n className,\n ...rest\n}) => {\n return (\n <div\n className={classNames(className, 'eds-leg-bone', [\n { 'eds-leg-bone--vertical': direction === 'vertical' },\n { 'eds-leg-bone--horizontal': direction === 'horizontal' },\n ])}\n {...rest}\n >\n {showStart && (\n <div\n className={`eds-leg-bone__start`}\n style={{ backgroundColor: startColor || color }}\n />\n )}\n\n {showLine && (\n <LegLine\n className={`eds-leg-bone__line`}\n direction={direction}\n color={color}\n pattern={pattern}\n />\n )}\n\n {showStop && (\n <div\n className={`eds-leg-bone__stop`}\n style={{ backgroundColor: endColor || color }}\n />\n )}\n </div>\n );\n};\n","import React from 'react';\nimport { LegBone } from './LegBone';\nimport { colors } from '@entur/tokens';\nimport { useContrast } from '@entur/layout';\n\nexport type TravelLegProps = {\n /** Ekstra klassenavn */\n className?: string;\n /** Hviklen type reise som skal vises riktig farge og linjetype */\n transport:\n | 'bus'\n | 'metro'\n | 'air'\n | 'tram'\n | 'rail'\n | 'water'\n | 'bike'\n | 'scooter'\n | 'foot'\n | 'car';\n /** Retningen på komponenten */\n direction: 'horizontal' | 'vertical';\n} & React.DetailedHTMLProps<\n React.HTMLAttributes<HTMLDivElement>,\n HTMLDivElement\n>;\n\nexport const TravelLeg: React.FC<TravelLegProps> = ({\n className,\n transport,\n direction,\n ...rest\n}) => {\n const { color, contrast, pattern } = modeCalc(transport);\n const isContrast = useContrast();\n\n return (\n <LegBone\n direction={direction}\n pattern={pattern}\n color={isContrast ? contrast : color}\n className={className}\n {...rest}\n />\n );\n};\n\ntype modeCalcResult = {\n color: string;\n contrast: string;\n pattern: 'line' | 'wave' | 'dashed' | 'dotted';\n};\n\nfunction modeCalc(mode: string): modeCalcResult {\n switch (mode) {\n case 'bus':\n return {\n color: colors.transport.default.bus,\n contrast: colors.transport.contrast.bus,\n pattern: 'dashed',\n };\n case 'metro':\n return {\n color: colors.transport.default.metro,\n contrast: colors.transport.contrast.metro,\n pattern: 'line',\n };\n case 'air':\n return {\n color: colors.transport.default.plane,\n contrast: colors.transport.contrast.plane,\n pattern: 'line',\n };\n case 'tram':\n return {\n color: colors.transport.default.tram,\n contrast: colors.transport.contrast.tram,\n pattern: 'line',\n };\n case 'rail':\n return {\n color: colors.transport.default.train,\n contrast: colors.transport.contrast.train,\n pattern: 'line',\n };\n case 'water':\n return {\n color: colors.transport.default.ferry,\n contrast: colors.transport.contrast.ferry,\n pattern: 'wave',\n };\n case 'bike':\n return {\n color: colors.transport.default.mobility,\n contrast: colors.transport.contrast.mobility,\n pattern: 'line',\n };\n case 'scooter':\n return {\n color: colors.transport.default.mobility,\n contrast: colors.transport.contrast.mobility,\n pattern: 'line',\n };\n case 'foot':\n return {\n color: colors.transport.default.walk,\n contrast: colors.transport.contrast.walk,\n pattern: 'dotted',\n };\n case 'car':\n return {\n color: colors.transport.default.taxi,\n contrast: colors.transport.contrast.taxi,\n pattern: 'dashed',\n };\n default:\n console.error(\n 'No transport modality was chosen. There is likely an error in your usage of TravelLeg.',\n );\n return {\n color: colors.brand.blue,\n contrast: colors.brand.white,\n pattern: 'line',\n };\n }\n}\n","import { warnAboutMissingStyles } from '@entur/utils';\nimport './index.scss';\n\nwarnAboutMissingStyles('travel');\n\nexport * from './TravelHeader';\nexport * from './TravelTag';\nexport * from './LegLine';\nexport * from './LegBone';\nexport * from './TravelLeg';\n"],"names":["TravelHeader","as","Element","from","to","size","className","noWrap","rest","React","classNames","TravelTag","onClose","undefined","children","alert","transport","label","labelPlacement","isClosable","numberOfChildren","Children","count","TransportIcon","modeCalc","TravelTagWithoutLabel","onClick","CloseSmallIcon","inline","ValidationInfoIcon","ValidationErrorIcon","ValidationExclamationIcon","Label","mode","BusIcon","SubwayIcon","PlaneIcon","TramIcon","TrainIcon","FerryIcon","CarferryIcon","BicycleIcon","ScooterIcon","WalkingIcon","CarIcon","TaxiIcon","LegLine","color","direction","pattern","style","backgroundColor","LegBone","startColor","endColor","showStart","showStop","showLine","TravelLeg","contrast","isContrast","useContrast","colors","bus","metro","plane","tram","train","ferry","mobility","walk","taxi","console","error","brand","blue","white","warnAboutMissingStyles"],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@entur/travel",
|
|
3
|
-
"version": "
|
|
3
|
+
"version": "5.0.1",
|
|
4
4
|
"license": "EUPL-1.2",
|
|
5
5
|
"main": "dist/index.js",
|
|
6
6
|
"module": "dist/travel.esm.js",
|
|
@@ -17,16 +17,16 @@
|
|
|
17
17
|
"access": "public"
|
|
18
18
|
},
|
|
19
19
|
"scripts": {
|
|
20
|
-
"start": "
|
|
21
|
-
"build": "
|
|
22
|
-
"test": "
|
|
23
|
-
"lint": "
|
|
20
|
+
"start": "dts watch --noClean",
|
|
21
|
+
"build": "dts build && cp -r src/pattern dist/pattern",
|
|
22
|
+
"test": "dts test --env=jsdom",
|
|
23
|
+
"lint": "dts lint"
|
|
24
24
|
},
|
|
25
25
|
"dependencies": {
|
|
26
|
-
"@entur/icons": "^3.
|
|
27
|
-
"@entur/layout": "^2.1.
|
|
28
|
-
"@entur/tokens": "^3.
|
|
29
|
-
"@entur/utils": "^0.4.
|
|
26
|
+
"@entur/icons": "^3.4.1",
|
|
27
|
+
"@entur/layout": "^2.1.4",
|
|
28
|
+
"@entur/tokens": "^3.3.1",
|
|
29
|
+
"@entur/utils": "^0.4.3",
|
|
30
30
|
"classnames": "^2.3.1"
|
|
31
31
|
},
|
|
32
32
|
"peerDependencies": {
|
|
@@ -36,5 +36,5 @@
|
|
|
36
36
|
"devDependencies": {
|
|
37
37
|
"rollup-plugin-sass": "^1.2.2"
|
|
38
38
|
},
|
|
39
|
-
"gitHead": "
|
|
39
|
+
"gitHead": "61e643371cfc5653c93160b7c220152e5b2bafeb"
|
|
40
40
|
}
|