@entur/travel 5.0.21 → 5.0.23
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 +442 -0
- package/dist/styles.css +73 -73
- package/dist/travel.cjs.development.js +82 -41
- package/dist/travel.cjs.development.js.map +1 -1
- package/dist/travel.cjs.production.min.js.map +1 -1
- package/dist/travel.esm.js +82 -41
- package/dist/travel.esm.js.map +1 -1
- package/package.json +11 -16
package/dist/travel.esm.js
CHANGED
|
@@ -9,40 +9,47 @@ function _extends() {
|
|
|
9
9
|
_extends = Object.assign || function (target) {
|
|
10
10
|
for (var i = 1; i < arguments.length; i++) {
|
|
11
11
|
var source = arguments[i];
|
|
12
|
+
|
|
12
13
|
for (var key in source) {
|
|
13
14
|
if (Object.prototype.hasOwnProperty.call(source, key)) {
|
|
14
15
|
target[key] = source[key];
|
|
15
16
|
}
|
|
16
17
|
}
|
|
17
18
|
}
|
|
19
|
+
|
|
18
20
|
return target;
|
|
19
21
|
};
|
|
22
|
+
|
|
20
23
|
return _extends.apply(this, arguments);
|
|
21
24
|
}
|
|
25
|
+
|
|
22
26
|
function _objectWithoutPropertiesLoose(source, excluded) {
|
|
23
27
|
if (source == null) return {};
|
|
24
28
|
var target = {};
|
|
25
29
|
var sourceKeys = Object.keys(source);
|
|
26
30
|
var key, i;
|
|
31
|
+
|
|
27
32
|
for (i = 0; i < sourceKeys.length; i++) {
|
|
28
33
|
key = sourceKeys[i];
|
|
29
34
|
if (excluded.indexOf(key) >= 0) continue;
|
|
30
35
|
target[key] = source[key];
|
|
31
36
|
}
|
|
37
|
+
|
|
32
38
|
return target;
|
|
33
39
|
}
|
|
34
40
|
|
|
35
41
|
var _excluded$4 = ["as", "from", "to", "size", "className", "noWrap"];
|
|
36
42
|
var TravelHeader = function TravelHeader(_ref) {
|
|
37
43
|
var _ref$as = _ref.as,
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
44
|
+
Element = _ref$as === void 0 ? 'div' : _ref$as,
|
|
45
|
+
from = _ref.from,
|
|
46
|
+
to = _ref.to,
|
|
47
|
+
_ref$size = _ref.size,
|
|
48
|
+
size = _ref$size === void 0 ? 'large' : _ref$size,
|
|
49
|
+
className = _ref.className,
|
|
50
|
+
noWrap = _ref.noWrap,
|
|
51
|
+
rest = _objectWithoutPropertiesLoose(_ref, _excluded$4);
|
|
52
|
+
|
|
46
53
|
return React.createElement(Element, _extends({
|
|
47
54
|
className: classNames('eds-travel-header', className, {
|
|
48
55
|
'eds-travel-header--large': size === 'large',
|
|
@@ -60,17 +67,19 @@ var TravelHeader = function TravelHeader(_ref) {
|
|
|
60
67
|
var _excluded$3 = ["onClose", "children", "className", "alert", "transport", "label", "labelPlacement"];
|
|
61
68
|
var TravelTag = function TravelTag(_ref) {
|
|
62
69
|
var _modeCalc, _classNames, _classNames2;
|
|
70
|
+
|
|
63
71
|
var _ref$onClose = _ref.onClose,
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
72
|
+
onClose = _ref$onClose === void 0 ? undefined : _ref$onClose,
|
|
73
|
+
children = _ref.children,
|
|
74
|
+
className = _ref.className,
|
|
75
|
+
_ref$alert = _ref.alert,
|
|
76
|
+
alert = _ref$alert === void 0 ? 'none' : _ref$alert,
|
|
77
|
+
transport = _ref.transport,
|
|
78
|
+
label = _ref.label,
|
|
79
|
+
_ref$labelPlacement = _ref.labelPlacement,
|
|
80
|
+
labelPlacement = _ref$labelPlacement === void 0 ? 'right' : _ref$labelPlacement,
|
|
81
|
+
rest = _objectWithoutPropertiesLoose(_ref, _excluded$3);
|
|
82
|
+
|
|
74
83
|
var isClosable = onClose ? true : false;
|
|
75
84
|
var numberOfChildren = React.Children.count(children);
|
|
76
85
|
var TransportIcon = (_modeCalc = modeCalc$1(transport)) != null ? _modeCalc : React.createElement(React.Fragment, null);
|
|
@@ -98,40 +107,56 @@ var TravelTag = function TravelTag(_ref) {
|
|
|
98
107
|
var Label = React.createElement("div", {
|
|
99
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))
|
|
100
109
|
}, label);
|
|
110
|
+
|
|
101
111
|
if (label) {
|
|
102
112
|
var _classNames3;
|
|
113
|
+
|
|
103
114
|
return React.createElement("div", {
|
|
104
115
|
className: classNames('eds-travel-tag__wrapper', (_classNames3 = {}, _classNames3["eds-travel-tag__wrapper--label-position-" + labelPlacement] = label, _classNames3))
|
|
105
116
|
}, TravelTagWithoutLabel, Label);
|
|
106
117
|
}
|
|
118
|
+
|
|
107
119
|
return TravelTagWithoutLabel;
|
|
108
120
|
};
|
|
121
|
+
|
|
109
122
|
var modeCalc$1 = function modeCalc(mode) {
|
|
110
123
|
switch (mode) {
|
|
111
124
|
case 'bus':
|
|
112
125
|
return React.createElement(BusIcon, null);
|
|
126
|
+
|
|
113
127
|
case 'metro':
|
|
114
128
|
return React.createElement(SubwayIcon, null);
|
|
129
|
+
|
|
115
130
|
case 'air':
|
|
116
131
|
return React.createElement(PlaneIcon, null);
|
|
132
|
+
|
|
117
133
|
case 'tram':
|
|
118
134
|
return React.createElement(TramIcon, null);
|
|
135
|
+
|
|
119
136
|
case 'rail':
|
|
120
137
|
return React.createElement(TrainIcon, null);
|
|
138
|
+
|
|
121
139
|
case 'water':
|
|
122
140
|
return React.createElement(FerryIcon, null);
|
|
141
|
+
|
|
123
142
|
case 'carferry':
|
|
124
143
|
return React.createElement(CarferryIcon, null);
|
|
144
|
+
|
|
125
145
|
case 'bike':
|
|
126
146
|
return React.createElement(BicycleIcon, null);
|
|
147
|
+
|
|
127
148
|
case 'scooter':
|
|
128
149
|
return React.createElement(ScooterIcon, null);
|
|
150
|
+
|
|
129
151
|
case 'foot':
|
|
130
152
|
return React.createElement(WalkingIcon, null);
|
|
153
|
+
|
|
131
154
|
case 'car':
|
|
132
155
|
return React.createElement(CarIcon, null);
|
|
156
|
+
|
|
133
157
|
case 'taxi':
|
|
134
158
|
return React.createElement(TaxiIcon, null);
|
|
159
|
+
|
|
135
160
|
default:
|
|
136
161
|
return React.createElement(React.Fragment, null);
|
|
137
162
|
}
|
|
@@ -140,12 +165,14 @@ var modeCalc$1 = function modeCalc(mode) {
|
|
|
140
165
|
var _excluded$2 = ["color", "direction", "pattern", "className"];
|
|
141
166
|
var LegLine = function LegLine(_ref) {
|
|
142
167
|
var _classNames;
|
|
168
|
+
|
|
143
169
|
var color = _ref.color,
|
|
144
|
-
|
|
145
|
-
|
|
146
|
-
|
|
147
|
-
|
|
148
|
-
|
|
170
|
+
_ref$direction = _ref.direction,
|
|
171
|
+
direction = _ref$direction === void 0 ? 'horizontal' : _ref$direction,
|
|
172
|
+
pattern = _ref.pattern,
|
|
173
|
+
className = _ref.className,
|
|
174
|
+
rest = _objectWithoutPropertiesLoose(_ref, _excluded$2);
|
|
175
|
+
|
|
149
176
|
return React.createElement("div", _extends({
|
|
150
177
|
className: classNames('eds-leg-line', className, (_classNames = {}, _classNames["eds-leg-line--" + pattern] = pattern, _classNames["eds-leg-line--" + direction] = direction, _classNames)),
|
|
151
178
|
style: {
|
|
@@ -157,18 +184,19 @@ var LegLine = function LegLine(_ref) {
|
|
|
157
184
|
var _excluded$1 = ["direction", "pattern", "color", "startColor", "endColor", "showStart", "showStop", "showLine", "className"];
|
|
158
185
|
var LegBone = function LegBone(_ref) {
|
|
159
186
|
var direction = _ref.direction,
|
|
160
|
-
|
|
161
|
-
|
|
162
|
-
|
|
163
|
-
|
|
164
|
-
|
|
165
|
-
|
|
166
|
-
|
|
167
|
-
|
|
168
|
-
|
|
169
|
-
|
|
170
|
-
|
|
171
|
-
|
|
187
|
+
pattern = _ref.pattern,
|
|
188
|
+
color = _ref.color,
|
|
189
|
+
startColor = _ref.startColor,
|
|
190
|
+
endColor = _ref.endColor,
|
|
191
|
+
_ref$showStart = _ref.showStart,
|
|
192
|
+
showStart = _ref$showStart === void 0 ? true : _ref$showStart,
|
|
193
|
+
_ref$showStop = _ref.showStop,
|
|
194
|
+
showStop = _ref$showStop === void 0 ? true : _ref$showStop,
|
|
195
|
+
_ref$showLine = _ref.showLine,
|
|
196
|
+
showLine = _ref$showLine === void 0 ? true : _ref$showLine,
|
|
197
|
+
className = _ref.className,
|
|
198
|
+
rest = _objectWithoutPropertiesLoose(_ref, _excluded$1);
|
|
199
|
+
|
|
172
200
|
return React.createElement("div", _extends({
|
|
173
201
|
className: classNames(className, 'eds-leg-bone', [{
|
|
174
202
|
'eds-leg-bone--vertical': direction === 'vertical'
|
|
@@ -196,13 +224,15 @@ var LegBone = function LegBone(_ref) {
|
|
|
196
224
|
var _excluded = ["className", "transport", "direction"];
|
|
197
225
|
var TravelLeg = function TravelLeg(_ref) {
|
|
198
226
|
var className = _ref.className,
|
|
199
|
-
|
|
200
|
-
|
|
201
|
-
|
|
227
|
+
transport = _ref.transport,
|
|
228
|
+
direction = _ref.direction,
|
|
229
|
+
rest = _objectWithoutPropertiesLoose(_ref, _excluded);
|
|
230
|
+
|
|
202
231
|
var _modeCalc = modeCalc(transport),
|
|
203
|
-
|
|
204
|
-
|
|
205
|
-
|
|
232
|
+
color = _modeCalc.color,
|
|
233
|
+
contrast = _modeCalc.contrast,
|
|
234
|
+
pattern = _modeCalc.pattern;
|
|
235
|
+
|
|
206
236
|
var isContrast = useContrast();
|
|
207
237
|
return React.createElement(LegBone, _extends({
|
|
208
238
|
direction: direction,
|
|
@@ -211,6 +241,7 @@ var TravelLeg = function TravelLeg(_ref) {
|
|
|
211
241
|
className: className
|
|
212
242
|
}, rest));
|
|
213
243
|
};
|
|
244
|
+
|
|
214
245
|
function modeCalc(mode) {
|
|
215
246
|
switch (mode) {
|
|
216
247
|
case 'bus':
|
|
@@ -219,60 +250,70 @@ function modeCalc(mode) {
|
|
|
219
250
|
contrast: colors.transport.contrast.bus,
|
|
220
251
|
pattern: 'dashed'
|
|
221
252
|
};
|
|
253
|
+
|
|
222
254
|
case 'metro':
|
|
223
255
|
return {
|
|
224
256
|
color: colors.transport["default"].metro,
|
|
225
257
|
contrast: colors.transport.contrast.metro,
|
|
226
258
|
pattern: 'line'
|
|
227
259
|
};
|
|
260
|
+
|
|
228
261
|
case 'air':
|
|
229
262
|
return {
|
|
230
263
|
color: colors.transport["default"].plane,
|
|
231
264
|
contrast: colors.transport.contrast.plane,
|
|
232
265
|
pattern: 'line'
|
|
233
266
|
};
|
|
267
|
+
|
|
234
268
|
case 'tram':
|
|
235
269
|
return {
|
|
236
270
|
color: colors.transport["default"].tram,
|
|
237
271
|
contrast: colors.transport.contrast.tram,
|
|
238
272
|
pattern: 'line'
|
|
239
273
|
};
|
|
274
|
+
|
|
240
275
|
case 'rail':
|
|
241
276
|
return {
|
|
242
277
|
color: colors.transport["default"].train,
|
|
243
278
|
contrast: colors.transport.contrast.train,
|
|
244
279
|
pattern: 'line'
|
|
245
280
|
};
|
|
281
|
+
|
|
246
282
|
case 'water':
|
|
247
283
|
return {
|
|
248
284
|
color: colors.transport["default"].ferry,
|
|
249
285
|
contrast: colors.transport.contrast.ferry,
|
|
250
286
|
pattern: 'wave'
|
|
251
287
|
};
|
|
288
|
+
|
|
252
289
|
case 'bike':
|
|
253
290
|
return {
|
|
254
291
|
color: colors.transport["default"].mobility,
|
|
255
292
|
contrast: colors.transport.contrast.mobility,
|
|
256
293
|
pattern: 'line'
|
|
257
294
|
};
|
|
295
|
+
|
|
258
296
|
case 'scooter':
|
|
259
297
|
return {
|
|
260
298
|
color: colors.transport["default"].mobility,
|
|
261
299
|
contrast: colors.transport.contrast.mobility,
|
|
262
300
|
pattern: 'line'
|
|
263
301
|
};
|
|
302
|
+
|
|
264
303
|
case 'foot':
|
|
265
304
|
return {
|
|
266
305
|
color: colors.transport["default"].walk,
|
|
267
306
|
contrast: colors.transport.contrast.walk,
|
|
268
307
|
pattern: 'dotted'
|
|
269
308
|
};
|
|
309
|
+
|
|
270
310
|
case 'car':
|
|
271
311
|
return {
|
|
272
312
|
color: colors.transport["default"].taxi,
|
|
273
313
|
contrast: colors.transport.contrast.taxi,
|
|
274
314
|
pattern: 'dashed'
|
|
275
315
|
};
|
|
316
|
+
|
|
276
317
|
default:
|
|
277
318
|
console.error('No transport modality was chosen. There is likely an error in your usage of TravelLeg.');
|
|
278
319
|
return {
|
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 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
|
+
{"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": "5.0.
|
|
3
|
+
"version": "5.0.23",
|
|
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",
|
|
23
|
+
"lint": "dts lint"
|
|
24
24
|
},
|
|
25
25
|
"dependencies": {
|
|
26
|
-
"@entur/icons": "^5.
|
|
27
|
-
"@entur/layout": "^2.1.
|
|
28
|
-
"@entur/tokens": "^3.4.
|
|
29
|
-
"@entur/utils": "^0.4.
|
|
26
|
+
"@entur/icons": "^5.4.1",
|
|
27
|
+
"@entur/layout": "^2.1.15",
|
|
28
|
+
"@entur/tokens": "^3.4.4",
|
|
29
|
+
"@entur/utils": "^0.4.9",
|
|
30
30
|
"classnames": "^2.3.1"
|
|
31
31
|
},
|
|
32
32
|
"peerDependencies": {
|
|
@@ -34,12 +34,7 @@
|
|
|
34
34
|
"react-dom": ">=16.8.0"
|
|
35
35
|
},
|
|
36
36
|
"devDependencies": {
|
|
37
|
-
"
|
|
38
|
-
"jest": "^27.0.0",
|
|
39
|
-
"jest-watch-typeahead": "^2.2.0",
|
|
40
|
-
"rollup-plugin-sass": "^1.2.2",
|
|
41
|
-
"ts-jest": "^27.0.0",
|
|
42
|
-
"typescript": "^4.8.0"
|
|
37
|
+
"rollup-plugin-sass": "^1.2.2"
|
|
43
38
|
},
|
|
44
|
-
"gitHead": "
|
|
39
|
+
"gitHead": "de71e205560a699e2dce301e133966dc9348c459"
|
|
45
40
|
}
|