@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.
@@ -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
- Element = _ref$as === void 0 ? 'div' : _ref$as,
39
- from = _ref.from,
40
- to = _ref.to,
41
- _ref$size = _ref.size,
42
- size = _ref$size === void 0 ? 'large' : _ref$size,
43
- className = _ref.className,
44
- noWrap = _ref.noWrap,
45
- rest = _objectWithoutPropertiesLoose(_ref, _excluded$4);
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
- onClose = _ref$onClose === void 0 ? undefined : _ref$onClose,
65
- children = _ref.children,
66
- className = _ref.className,
67
- _ref$alert = _ref.alert,
68
- alert = _ref$alert === void 0 ? 'none' : _ref$alert,
69
- transport = _ref.transport,
70
- label = _ref.label,
71
- _ref$labelPlacement = _ref.labelPlacement,
72
- labelPlacement = _ref$labelPlacement === void 0 ? 'right' : _ref$labelPlacement,
73
- rest = _objectWithoutPropertiesLoose(_ref, _excluded$3);
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
- _ref$direction = _ref.direction,
145
- direction = _ref$direction === void 0 ? 'horizontal' : _ref$direction,
146
- pattern = _ref.pattern,
147
- className = _ref.className,
148
- rest = _objectWithoutPropertiesLoose(_ref, _excluded$2);
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
- pattern = _ref.pattern,
161
- color = _ref.color,
162
- startColor = _ref.startColor,
163
- endColor = _ref.endColor,
164
- _ref$showStart = _ref.showStart,
165
- showStart = _ref$showStart === void 0 ? true : _ref$showStart,
166
- _ref$showStop = _ref.showStop,
167
- showStop = _ref$showStop === void 0 ? true : _ref$showStop,
168
- _ref$showLine = _ref.showLine,
169
- showLine = _ref$showLine === void 0 ? true : _ref$showLine,
170
- className = _ref.className,
171
- rest = _objectWithoutPropertiesLoose(_ref, _excluded$1);
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
- transport = _ref.transport,
200
- direction = _ref.direction,
201
- rest = _objectWithoutPropertiesLoose(_ref, _excluded);
227
+ transport = _ref.transport,
228
+ direction = _ref.direction,
229
+ rest = _objectWithoutPropertiesLoose(_ref, _excluded);
230
+
202
231
  var _modeCalc = modeCalc(transport),
203
- color = _modeCalc.color,
204
- contrast = _modeCalc.contrast,
205
- pattern = _modeCalc.pattern;
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 {
@@ -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.21",
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": "yarn run dts watch --noClean",
21
- "build": "yarn run dts build && cp -r src/pattern dist/pattern",
22
- "test": "yarn run dts test --env=jsdom",
23
- "lint": "yarn run dts 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.3.0",
27
- "@entur/layout": "^2.1.13",
28
- "@entur/tokens": "^3.4.2",
29
- "@entur/utils": "^0.4.7",
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
- "dts-cli": "^1.1.6",
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": "8915b1630bd936740ba9a4a88883f3432948a80e"
39
+ "gitHead": "de71e205560a699e2dce301e133966dc9348c459"
45
40
  }