@entur/travel 4.2.14 → 5.0.2

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 CHANGED
@@ -3,6 +3,31 @@
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.2](https://bitbucket.org/enturas/design-system/compare/@entur/travel@5.0.1...@entur/travel@5.0.2) (2022-03-01)
7
+
8
+ **Note:** Version bump only for package @entur/travel
9
+
10
+ ## [5.0.1](https://bitbucket.org/enturas/design-system/compare/@entur/travel@5.0.0...@entur/travel@5.0.1) (2022-02-09)
11
+
12
+ **Note:** Version bump only for package @entur/travel
13
+
14
+ # [5.0.0](https://bitbucket.org/enturas/design-system/compare/@entur/travel@4.2.14...@entur/travel@5.0.0) (2022-01-05)
15
+
16
+ ### Bug Fixes
17
+
18
+ - **travel tag:** fix 'warning' and 'error' alert prop being swapped, and colors in contrast ([0a08fb3](https://bitbucket.org/enturas/design-system/commits/0a08fb37ec70b0a19cea2fd96a2a5b39295fe5e5))
19
+
20
+ ### Features
21
+
22
+ - **travel tag:** add label and labelPlacement props ([8f63a0b](https://bitbucket.org/enturas/design-system/commits/8f63a0bc23c16523fc976a1566ec3c8dec22dd48))
23
+ - **travel tag:** add transport icon automatically based on transport prop ([42a191a](https://bitbucket.org/enturas/design-system/commits/42a191a2962f34696f2cfcb42c943e60c2738f4b))
24
+
25
+ ### BREAKING CHANGES
26
+
27
+ - **travel tag:** If both an icon and transport prop is provided in previous code, you will now get two icos. Remove
28
+ the child Icon to fix
29
+ - **travel tag:** alert prop options 'warning' and 'error' has been swapped and will now display the correct icon
30
+
6
31
  ## [4.2.14](https://bitbucket.org/enturas/design-system/compare/@entur/travel@4.2.13...@entur/travel@4.2.14) (2021-11-17)
7
32
 
8
33
  **Note:** Version bump only for package @entur/travel
@@ -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 TravelTagen
4
+ /** Callback som kalles for når man skal lukke TravelTag-en
5
5
  * @default undefined
6
6
  */
7
7
  onClose?: () => void;
8
- /** Innholdet til TravelTagen */
9
- children: React.ReactNode;
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
- transport?: 'bus' | 'metro' | 'air' | 'tram' | 'rail' | 'water' | 'bike' | 'scooter' | 'foot' | 'car';
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
@@ -100,10 +100,19 @@
100
100
  .eds-travel-tag--alert {
101
101
  padding-right: 0.75rem;
102
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
+ }
103
111
  .eds-travel-tag--icon-and-text > .eds-icon {
104
112
  margin-right: 0.5rem;
105
113
  }
106
114
  .eds-contrast .eds-travel-tag {
115
+ align-items: center;
107
116
  background-color: #393d79;
108
117
  }
109
118
  .eds-travel-tag > .eds-icon {
@@ -141,73 +150,67 @@
141
150
  background: #c5044e;
142
151
  color: #ffffff;
143
152
  }
144
- .eds-contrast .eds-travel-tag--transport-bus {
145
- background: #ff6392;
146
- color: #181c56;
153
+ .eds-travel-tag--transport-bus > .eds-icon {
154
+ color: #ffffff;
147
155
  }
148
156
  .eds-travel-tag--transport-metro {
149
157
  background: #de8108;
150
158
  color: #ffffff;
151
159
  }
152
- .eds-contrast .eds-travel-tag--transport-metro {
153
- background: #f08901;
154
- color: #181c56;
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;
155
165
  }
156
166
  .eds-travel-tag--transport-air {
157
167
  background: #800664;
158
168
  color: #ffffff;
159
169
  }
160
- .eds-contrast .eds-travel-tag--transport-air {
161
- background: #fbafea;
162
- color: #181c56;
170
+ .eds-travel-tag--transport-air > .eds-icon {
171
+ color: #ffffff;
163
172
  }
164
173
  .eds-travel-tag--transport-tram {
165
174
  background: #642e88;
166
175
  color: #ffffff;
167
176
  }
168
- .eds-contrast .eds-travel-tag--transport-tram {
169
- background: #b482fb;
170
- color: #181c56;
177
+ .eds-travel-tag--transport-tram > .eds-icon {
178
+ color: #ffffff;
171
179
  }
172
180
  .eds-travel-tag--transport-rail {
173
181
  background: #00367f;
174
182
  color: #ffffff;
175
183
  }
176
- .eds-contrast .eds-travel-tag--transport-rail {
177
- background: #42a5f5;
178
- color: #181c56;
184
+ .eds-travel-tag--transport-rail > .eds-icon {
185
+ color: #ffffff;
179
186
  }
180
187
  .eds-travel-tag--transport-water {
181
188
  background: #0497bc;
182
189
  color: #ffffff;
183
190
  }
184
- .eds-contrast .eds-travel-tag--transport-water {
185
- background: #6fdfff;
186
- color: #181c56;
191
+ .eds-travel-tag--transport-water > .eds-icon {
192
+ color: #ffffff;
187
193
  }
188
194
  .eds-travel-tag--transport-bike, .eds-travel-tag--transport-scooter {
189
195
  background: #388f76;
190
196
  color: #ffffff;
191
197
  }
192
- .eds-contrast .eds-travel-tag--transport-bike, .eds-contrast .eds-travel-tag--transport-scooter {
193
- background: #00db9b;
194
- color: #181c56;
198
+ .eds-travel-tag--transport-bike > .eds-icon, .eds-travel-tag--transport-scooter > .eds-icon {
199
+ color: #ffffff;
195
200
  }
196
201
  .eds-travel-tag--transport-foot {
197
202
  background: #181c56;
198
203
  color: #ffffff;
199
204
  }
200
- .eds-contrast .eds-travel-tag--transport-foot {
201
- background: #ffffff;
202
- color: #181c56;
205
+ .eds-travel-tag--transport-foot > .eds-icon {
206
+ color: #ffffff;
203
207
  }
204
208
  .eds-travel-tag--transport-car {
205
209
  background: #181c56;
206
210
  color: #ffffff;
207
211
  }
208
- .eds-contrast .eds-travel-tag--transport-car {
209
- background: #ffffff;
210
- color: #181c56;
212
+ .eds-travel-tag--transport-car > .eds-icon {
213
+ color: #ffffff;
211
214
  }
212
215
  .eds-travel-tag__alert {
213
216
  background: #ffffff;
@@ -220,21 +223,26 @@
220
223
  width: 1.125rem;
221
224
  position: absolute;
222
225
  top: 0.4375rem;
223
- right: -0.5625rem;
226
+ right: -0.6875rem;
224
227
  }
225
228
  .eds-contrast .eds-travel-tag__alert {
226
229
  background: #181c56;
227
230
  }
231
+ .eds-contrast .eds-travel-tag__alert--error-icon {
232
+ top: 0.5625rem;
233
+ }
228
234
  .eds-travel-tag__alert-exclamation-icon {
229
- color: #0082b9;
235
+ color: #ffca28;
230
236
  }
231
237
  .eds-contrast .eds-travel-tag__alert-exclamation-icon {
232
- color: #64b3e7;
238
+ color: #ffe082;
233
239
  }
234
240
  .eds-travel-tag__alert-error-icon {
241
+ font-size: 0.875rem;
235
242
  color: #d31b1b;
236
243
  }
237
244
  .eds-contrast .eds-travel-tag__alert-error-icon {
245
+ margin-bottom: 0.25rem;
238
246
  color: #ff9494;
239
247
  }
240
248
  .eds-travel-tag__alert-info-icon {
@@ -242,6 +250,34 @@
242
250
  }
243
251
  .eds-contrast .eds-travel-tag__alert-info-icon {
244
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;
245
281
  }/* DO NOT CHANGE!*/
246
282
  /* This file is automatically generated from @entur/tokens! Changes will be overwritten. */
247
283
  .eds-leg-bone {
@@ -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 = _interopDefault(require('react'));
9
- var classNames = _interopDefault(require('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, ["as", "from", "to", "size", "className", "noWrap"]);
60
+ rest = _objectWithoutPropertiesLoose(_ref, _excluded$4);
39
61
 
40
- return React.createElement(Element, Object.assign({
41
- className: classNames('eds-travel-header', 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), React.createElement("span", {
69
+ }, rest), React__default["default"].createElement("span", {
48
70
  className: "eds-travel-header__from"
49
- }, from), React.createElement("span", {
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
- rest = _objectWithoutPropertiesLoose(_ref, ["onClose", "children", "className", "alert", "transport"]);
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 = React.Children.count(children);
68
- return React.createElement("div", Object.assign({
69
- className: classNames('eds-travel-tag', (_classNames = {
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--icon-and-text': numberOfChildren > 1
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 && React.createElement("button", {
102
+ }, rest), transport && TransportIcon, children, isClosable && React__default["default"].createElement("button", {
75
103
  onClick: onClose,
76
104
  className: "eds-travel-tag__close-button"
77
- }, React.createElement(icons.CloseSmallIcon, {
105
+ }, React__default["default"].createElement(icons.CloseSmallIcon, {
78
106
  inline: true
79
- })), alert !== 'none' && React.createElement("span", {
107
+ })), alert !== 'none' && React__default["default"].createElement("span", {
80
108
  className: "eds-travel-tag__alert"
81
- }, alert === 'info' && React.createElement(icons.ValidationInfoIcon, {
109
+ }, alert === 'info' && React__default["default"].createElement(icons.ValidationInfoIcon, {
82
110
  className: "eds-travel-tag__alert-info-icon"
83
- }), alert === 'error' && React.createElement(icons.ValidationExclamationIcon, {
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, ["color", "direction", "pattern", "className"]);
183
+ rest = _objectWithoutPropertiesLoose(_ref, _excluded$2);
99
184
 
100
- return React.createElement("div", Object.assign({
101
- className: classNames('eds-leg-line', className, (_classNames = {}, _classNames["eds-leg-line--" + pattern] = pattern, _classNames["eds-leg-line--" + direction] = direction, _classNames)),
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, ["direction", "pattern", "color", "startColor", "endColor", "showStart", "showStop", "showLine", "className"]);
207
+ rest = _objectWithoutPropertiesLoose(_ref, _excluded$1);
122
208
 
123
- return React.createElement("div", Object.assign({
124
- className: classNames(className, 'eds-leg-bone', [{
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 && React.createElement("div", {
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 && React.createElement(LegLine, {
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 && React.createElement("div", {
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, ["className", "transport", "direction"]);
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 React.createElement(LegBone, Object.assign({
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 CloseSmallIcon,\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 <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 <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","CloseSmallIcon","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";function e(e){return e&&"object"==typeof e&&"default"in e?e.default:e}Object.defineProperty(exports,"__esModule",{value:!0});var r=require("@entur/utils"),t=e(require("react")),a=e(require("classnames")),o=require("@entur/icons"),n=require("@entur/tokens"),s=require("@entur/layout");function l(e,r){if(null==e)return{};var t,a,o={},n=Object.keys(e);for(a=0;a<n.length;a++)r.indexOf(t=n[a])>=0||(o[t]=e[t]);return o}var c=function(e){var r,o=e.color,n=e.direction,s=void 0===n?"horizontal":n,c=e.pattern,i=e.className,d=l(e,["color","direction","pattern","className"]);return t.createElement("div",Object.assign({className:a("eds-leg-line",i,(r={},r["eds-leg-line--"+c]=c,r["eds-leg-line--"+s]=s,r)),style:{backgroundColor:o}},d))},i=function(e){var r=e.direction,o=e.pattern,n=e.color,s=e.startColor,i=e.endColor,d=e.showStart,u=void 0===d||d,m=e.showStop,p=void 0===m||m,v=e.showLine,g=void 0===v||v,f=e.className,b=l(e,["direction","pattern","color","startColor","endColor","showStart","showStop","showLine","className"]);return t.createElement("div",Object.assign({className:a(f,"eds-leg-bone",[{"eds-leg-bone--vertical":"vertical"===r},{"eds-leg-bone--horizontal":"horizontal"===r}])},b),u&&t.createElement("div",{className:"eds-leg-bone__start",style:{backgroundColor:s||n}}),g&&t.createElement(c,{className:"eds-leg-bone__line",direction:r,color:n,pattern:o}),p&&t.createElement("div",{className:"eds-leg-bone__stop",style:{backgroundColor:i||n}}))};r.warnAboutMissingStyles("travel"),exports.LegBone=i,exports.LegLine=c,exports.TravelHeader=function(e){var r=e.as,o=void 0===r?"div":r,n=e.from,s=e.to,c=e.size,i=void 0===c?"large":c,d=e.className,u=e.noWrap,m=l(e,["as","from","to","size","className","noWrap"]);return t.createElement(o,Object.assign({className:a("eds-travel-header",d,{"eds-travel-header--large":"large"===i,"eds-travel-header--medium":"medium"===i,"eds-travel-header--no-wrap":u}),"aria-label":"Fra "+n+", til "+s},m),t.createElement("span",{className:"eds-travel-header__from"},n),t.createElement("span",{className:"eds-travel-header__to"},s))},exports.TravelLeg=function(e){var r=e.className,a=e.transport,o=e.direction,c=l(e,["className","transport","direction"]),d=function(e){switch(e){case"bus":return{color:n.colors.transport.default.bus,contrast:n.colors.transport.contrast.bus,pattern:"dashed"};case"metro":return{color:n.colors.transport.default.metro,contrast:n.colors.transport.contrast.metro,pattern:"line"};case"air":return{color:n.colors.transport.default.plane,contrast:n.colors.transport.contrast.plane,pattern:"line"};case"tram":return{color:n.colors.transport.default.tram,contrast:n.colors.transport.contrast.tram,pattern:"line"};case"rail":return{color:n.colors.transport.default.train,contrast:n.colors.transport.contrast.train,pattern:"line"};case"water":return{color:n.colors.transport.default.ferry,contrast:n.colors.transport.contrast.ferry,pattern:"wave"};case"bike":case"scooter":return{color:n.colors.transport.default.mobility,contrast:n.colors.transport.contrast.mobility,pattern:"line"};case"foot":return{color:n.colors.transport.default.walk,contrast:n.colors.transport.contrast.walk,pattern:"dotted"};case"car":return{color:n.colors.transport.default.taxi,contrast:n.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:n.colors.brand.blue,contrast:n.colors.brand.white,pattern:"line"}}}(a),u=d.color,m=d.contrast,p=d.pattern,v=s.useContrast();return t.createElement(i,Object.assign({direction:o,pattern:p,color:v?m:u,className:r},c))},exports.TravelTag=function(e){var r,n=e.onClose,s=void 0===n?void 0:n,c=e.children,i=e.className,d=e.alert,u=void 0===d?"none":d,m=e.transport,p=l(e,["onClose","children","className","alert","transport"]),v=!!s,g=t.Children.count(c);return t.createElement("div",Object.assign({className:a("eds-travel-tag",(r={"eds-travel-tag--closable":v,"eds-travel-tag--alert":"none"!==u,"eds-travel-tag--icon-and-text":g>1},r["eds-travel-tag--transport-"+m]=m,r.className=i,r))},p),c,v&&t.createElement("button",{onClick:s,className:"eds-travel-tag__close-button"},t.createElement(o.CloseSmallIcon,{inline:!0})),"none"!==u&&t.createElement("span",{className:"eds-travel-tag__alert"},"info"===u&&t.createElement(o.ValidationInfoIcon,{className:"eds-travel-tag__alert-info-icon"}),"error"===u&&t.createElement(o.ValidationExclamationIcon,{className:"eds-travel-tag__alert-exclamation-icon"}),"warning"===u&&t.createElement(o.ValidationErrorIcon,{className:"eds-travel-tag__alert-error-icon"})))};
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 CloseSmallIcon,\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 <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 <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","CloseSmallIcon","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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"}
@@ -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 { CloseSmallIcon, ValidationInfoIcon, ValidationExclamationIcon, ValidationErrorIcon } from '@entur/icons';
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, ["as", "from", "to", "size", "className", "noWrap"]);
51
+ rest = _objectWithoutPropertiesLoose(_ref, _excluded$4);
33
52
 
34
- return React.createElement(Element, Object.assign({
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,17 +75,22 @@ 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
- rest = _objectWithoutPropertiesLoose(_ref, ["onClose", "children", "className", "alert", "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);
59
82
 
60
83
  var isClosable = onClose ? true : false;
61
84
  var numberOfChildren = React.Children.count(children);
62
- return React.createElement("div", Object.assign({
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--icon-and-text': numberOfChildren > 1
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
96
  }, React.createElement(CloseSmallIcon, {
@@ -74,13 +99,70 @@ var TravelTag = function TravelTag(_ref) {
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(ValidationExclamationIcon, {
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, ["color", "direction", "pattern", "className"]);
174
+ rest = _objectWithoutPropertiesLoose(_ref, _excluded$2);
93
175
 
94
- return React.createElement("div", Object.assign({
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, ["direction", "pattern", "color", "startColor", "endColor", "showStart", "showStop", "showLine", "className"]);
198
+ rest = _objectWithoutPropertiesLoose(_ref, _excluded$1);
116
199
 
117
- return React.createElement("div", Object.assign({
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, ["className", "transport", "direction"]);
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, Object.assign({
237
+ return React.createElement(LegBone, _extends({
154
238
  direction: direction,
155
239
  pattern: pattern,
156
240
  color: isContrast ? contrast : color,
@@ -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} 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 <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 <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","CloseSmallIcon","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":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;IAwBaA,YAAY,GAAgC,SAA5CA,YAA4C;qBACvDC;MAAIC,+BAAU;MACdC,YAAAA;MACAC,UAAAA;uBACAC;MAAAA,8BAAO;MACPC,iBAAAA;MACAC,cAAAA;MACGC;;AAEH,SACEC,mBAAA,CAACP,OAAD;AACEI,IAAAA,SAAS,EAAEI,UAAU,CAAC,mBAAD,EAAsBJ,SAAtB,EAAiC;AACpD,kCAA4BD,IAAI,KAAK,OADe;AAEpD,mCAA6BA,IAAI,KAAK,QAFc;AAGpD,oCAA8BE;AAHsB,KAAjC,CADvB;2BAMqBJ,kBAAaC;AANlC,KAOMI,IAPN,GASEC,mBAAA,OAAA;AAAMH,IAAAA,SAAS,EAAC;GAAhB,EAA2CH,IAA3C,CATF,EAUEM,mBAAA,OAAA;AAAMH,IAAAA,SAAS,EAAC;GAAhB,EAAyCF,EAAzC,CAVF,CADF;AAcD;;;ICaYO,SAAS,GAA6B,SAAtCA,SAAsC;;;0BACjDC;MAAAA,oCAAUC;MACVC,gBAAAA;MACAR,iBAAAA;wBACAS;MAAAA,gCAAQ;MACRC,iBAAAA;MACAC,aAAAA;iCACAC;MAAAA,kDAAiB;MACdV;;AAEH,MAAMW,UAAU,GAAGP,OAAO,GAAG,IAAH,GAAU,KAApC;AACA,MAAMQ,gBAAgB,GAAGX,KAAK,CAACY,QAAN,CAAeC,KAAf,CAAqBR,QAArB,CAAzB;AACA,MAAMS,aAAa,gBAAGC,UAAQ,CAACR,SAAD,CAAX,wBAA0BP,mBAAA,eAAA,MAAA,CAA7C;AAEA,MAAMgB,qBAAqB,GACzBhB,mBAAA,MAAA;AACEH,IAAAA,SAAS,EAAEI,UAAU,CAAC,gBAAD;AACnB,kCAA4BS,UADT;AAEnB,+BAAyBJ,KAAK,KAAK,MAFhB;AAGnB,sCAAgCA,KAAK,KAAK,OAHvB;AAInB,uCACEK,gBAAgB,GAAG,CAAnB,IAAyBJ,SAAS,IAAII,gBAAgB,GAAG;AALxC,kDAMWJ,SANX,IAMyBA,SANzB,cAOnBV,SAPmB,GAOnBA,SAPmB;AADvB,KAUME,IAVN,GAYGQ,SAAS,IAAIO,aAZhB,EAaGT,QAbH,EAcGK,UAAU,IACTV,mBAAA,SAAA;AAAQiB,IAAAA,OAAO,EAAEd;AAASN,IAAAA,SAAS,EAAC;GAApC,EACEG,mBAAA,CAACkB,cAAD;AAAgBC,IAAAA,MAAM;GAAtB,CADF,CAfJ,EAmBGb,KAAK,KAAK,MAAV,IACCN,mBAAA,OAAA;AAAMH,IAAAA,SAAS,EAAC;GAAhB,EACGS,KAAK,KAAK,MAAV,IACCN,mBAAA,CAACoB,kBAAD;AAAoBvB,IAAAA,SAAS,EAAC;GAA9B,CAFJ,EAIGS,KAAK,KAAK,OAAV,IACCN,mBAAA,CAACqB,mBAAD;AAAqBxB,IAAAA,SAAS,EAAC;GAA/B,CALJ,EAOGS,KAAK,KAAK,SAAV,IACCN,mBAAA,CAACsB,yBAAD;AAA2BzB,IAAAA,SAAS,EAAC;GAArC,CARJ,CApBJ,CADF;AAoCA,MAAM0B,KAAK,GACTvB,mBAAA,MAAA;AACEH,IAAAA,SAAS,EAAEI,UAAU,CAAC,uBAAD,+DACQQ,cADR,IAC2BD,KAD3B,2CAEQC,cAFR,qBAGjBD,KAAK,IAAIF,KAAK,KAAK,MAHF;GADvB,EAOGE,KAPH,CADF;;AAYA,MAAIA,KAAJ,EAAW;AAAA;;AACT,WACER,mBAAA,MAAA;AACEH,MAAAA,SAAS,EAAEI,UAAU,CAAC,yBAAD,gFACyBQ,cADzB,IAC4CD,KAD5C;KADvB,EAKGQ,qBALH,EAMGO,KANH,CADF;AAUD;;AAED,SAAOP,qBAAP;AACD;;AAED,IAAMD,UAAQ,GAAG,SAAXA,QAAW,CAACS,IAAD;AACf,UAAQA,IAAR;AACE,SAAK,KAAL;AACE,aAAOxB,mBAAA,CAACyB,OAAD,MAAA,CAAP;;AACF,SAAK,OAAL;AACE,aAAOzB,mBAAA,CAAC0B,UAAD,MAAA,CAAP;;AACF,SAAK,KAAL;AACE,aAAO1B,mBAAA,CAAC2B,SAAD,MAAA,CAAP;;AACF,SAAK,MAAL;AACE,aAAO3B,mBAAA,CAAC4B,QAAD,MAAA,CAAP;;AACF,SAAK,MAAL;AACE,aAAO5B,mBAAA,CAAC6B,SAAD,MAAA,CAAP;;AACF,SAAK,OAAL;AACE,aAAO7B,mBAAA,CAAC8B,SAAD,MAAA,CAAP;;AACF,SAAK,UAAL;AACE,aAAO9B,mBAAA,CAAC+B,YAAD,MAAA,CAAP;;AACF,SAAK,MAAL;AACE,aAAO/B,mBAAA,CAACgC,WAAD,MAAA,CAAP;;AACF,SAAK,SAAL;AACE,aAAOhC,mBAAA,CAACiC,WAAD,MAAA,CAAP;;AACF,SAAK,MAAL;AACE,aAAOjC,mBAAA,CAACkC,WAAD,MAAA,CAAP;;AACF,SAAK,KAAL;AACE,aAAOlC,mBAAA,CAACmC,OAAD,MAAA,CAAP;;AACF,SAAK,MAAL;AACE,aAAOnC,mBAAA,CAACoC,QAAD,MAAA,CAAP;;AACF;AACE,aAAOpC,mBAAA,eAAA,MAAA,CAAP;AA1BJ;AA4BD,CA7BD;;;ICxHaqC,OAAO,GAA2B,SAAlCA,OAAkC;;;MAC7CC,aAAAA;4BACAC;MAAAA,wCAAY;MACZC,eAAAA;MACA3C,iBAAAA;MACGE;;AAEH,SACEC,mBAAA,MAAA;AACEH,IAAAA,SAAS,EAAEI,UAAU,CAAC,cAAD,EAAiBJ,SAAjB,oDACD2C,OADC,IACWA,OADX,iCAEDD,SAFC,IAEaA,SAFb,eADvB;AAKEE,IAAAA,KAAK,EAAE;AAAEC,MAAAA,eAAe,EAAEJ;AAAnB;AALT,KAMMvC,IANN,EADF;AAUD;;;ICIY4C,OAAO,GAA2B,SAAlCA,OAAkC;MAC7CJ,iBAAAA;MACAC,eAAAA;MACAF,aAAAA;MACAM,kBAAAA;MACAC,gBAAAA;4BACAC;MAAAA,wCAAY;2BACZC;MAAAA,sCAAW;2BACXC;MAAAA,sCAAW;MACXnD,iBAAAA;MACGE;;AAEH,SACEC,mBAAA,MAAA;AACEH,IAAAA,SAAS,EAAEI,UAAU,CAACJ,SAAD,EAAY,cAAZ,EAA4B,CAC/C;AAAE,gCAA0B0C,SAAS,KAAK;AAA1C,KAD+C,EAE/C;AAAE,kCAA4BA,SAAS,KAAK;AAA5C,KAF+C,CAA5B;AADvB,KAKMxC,IALN,GAOG+C,SAAS,IACR9C,mBAAA,MAAA;AACEH,IAAAA,SAAS;AACT4C,IAAAA,KAAK,EAAE;AAAEC,MAAAA,eAAe,EAAEE,UAAU,IAAIN;AAAjC;GAFT,CARJ,EAcGU,QAAQ,IACPhD,mBAAA,CAACqC,OAAD;AACExC,IAAAA,SAAS;AACT0C,IAAAA,SAAS,EAAEA;AACXD,IAAAA,KAAK,EAAEA;AACPE,IAAAA,OAAO,EAAEA;GAJX,CAfJ,EAuBGO,QAAQ,IACP/C,mBAAA,MAAA;AACEH,IAAAA,SAAS;AACT4C,IAAAA,KAAK,EAAE;AAAEC,MAAAA,eAAe,EAAEG,QAAQ,IAAIP;AAA/B;GAFT,CAxBJ,CADF;AAgCD;;;ICxDYW,SAAS,GAA6B,SAAtCA,SAAsC;MACjDpD,iBAAAA;MACAU,iBAAAA;MACAgC,iBAAAA;MACGxC;;AAEH,kBAAqCgB,QAAQ,CAACR,SAAD,CAA7C;AAAA,MAAQ+B,KAAR,aAAQA,KAAR;AAAA,MAAeY,QAAf,aAAeA,QAAf;AAAA,MAAyBV,OAAzB,aAAyBA,OAAzB;;AACA,MAAMW,UAAU,GAAGC,WAAW,EAA9B;AAEA,SACEpD,mBAAA,CAAC2C,OAAD;AACEJ,IAAAA,SAAS,EAAEA,SADb;AAEEC,IAAAA,OAAO,EAAEA,OAFX;AAGEF,IAAAA,KAAK,EAAEa,UAAU,GAAGD,QAAH,GAAcZ,KAHjC;AAIEzC,IAAAA,SAAS,EAAEA;AAJb,KAKME,IALN,EADF;AASD;;AAQD,SAASgB,QAAT,CAAkBS,IAAlB;AACE,UAAQA,IAAR;AACE,SAAK,KAAL;AACE,aAAO;AACLc,QAAAA,KAAK,EAAEe,MAAM,CAAC9C,SAAP,YAAyB+C,GAD3B;AAELJ,QAAAA,QAAQ,EAAEG,MAAM,CAAC9C,SAAP,CAAiB2C,QAAjB,CAA0BI,GAF/B;AAGLd,QAAAA,OAAO,EAAE;AAHJ,OAAP;;AAKF,SAAK,OAAL;AACE,aAAO;AACLF,QAAAA,KAAK,EAAEe,MAAM,CAAC9C,SAAP,YAAyBgD,KAD3B;AAELL,QAAAA,QAAQ,EAAEG,MAAM,CAAC9C,SAAP,CAAiB2C,QAAjB,CAA0BK,KAF/B;AAGLf,QAAAA,OAAO,EAAE;AAHJ,OAAP;;AAKF,SAAK,KAAL;AACE,aAAO;AACLF,QAAAA,KAAK,EAAEe,MAAM,CAAC9C,SAAP,YAAyBiD,KAD3B;AAELN,QAAAA,QAAQ,EAAEG,MAAM,CAAC9C,SAAP,CAAiB2C,QAAjB,CAA0BM,KAF/B;AAGLhB,QAAAA,OAAO,EAAE;AAHJ,OAAP;;AAKF,SAAK,MAAL;AACE,aAAO;AACLF,QAAAA,KAAK,EAAEe,MAAM,CAAC9C,SAAP,YAAyBkD,IAD3B;AAELP,QAAAA,QAAQ,EAAEG,MAAM,CAAC9C,SAAP,CAAiB2C,QAAjB,CAA0BO,IAF/B;AAGLjB,QAAAA,OAAO,EAAE;AAHJ,OAAP;;AAKF,SAAK,MAAL;AACE,aAAO;AACLF,QAAAA,KAAK,EAAEe,MAAM,CAAC9C,SAAP,YAAyBmD,KAD3B;AAELR,QAAAA,QAAQ,EAAEG,MAAM,CAAC9C,SAAP,CAAiB2C,QAAjB,CAA0BQ,KAF/B;AAGLlB,QAAAA,OAAO,EAAE;AAHJ,OAAP;;AAKF,SAAK,OAAL;AACE,aAAO;AACLF,QAAAA,KAAK,EAAEe,MAAM,CAAC9C,SAAP,YAAyBoD,KAD3B;AAELT,QAAAA,QAAQ,EAAEG,MAAM,CAAC9C,SAAP,CAAiB2C,QAAjB,CAA0BS,KAF/B;AAGLnB,QAAAA,OAAO,EAAE;AAHJ,OAAP;;AAKF,SAAK,MAAL;AACE,aAAO;AACLF,QAAAA,KAAK,EAAEe,MAAM,CAAC9C,SAAP,YAAyBqD,QAD3B;AAELV,QAAAA,QAAQ,EAAEG,MAAM,CAAC9C,SAAP,CAAiB2C,QAAjB,CAA0BU,QAF/B;AAGLpB,QAAAA,OAAO,EAAE;AAHJ,OAAP;;AAKF,SAAK,SAAL;AACE,aAAO;AACLF,QAAAA,KAAK,EAAEe,MAAM,CAAC9C,SAAP,YAAyBqD,QAD3B;AAELV,QAAAA,QAAQ,EAAEG,MAAM,CAAC9C,SAAP,CAAiB2C,QAAjB,CAA0BU,QAF/B;AAGLpB,QAAAA,OAAO,EAAE;AAHJ,OAAP;;AAKF,SAAK,MAAL;AACE,aAAO;AACLF,QAAAA,KAAK,EAAEe,MAAM,CAAC9C,SAAP,YAAyBsD,IAD3B;AAELX,QAAAA,QAAQ,EAAEG,MAAM,CAAC9C,SAAP,CAAiB2C,QAAjB,CAA0BW,IAF/B;AAGLrB,QAAAA,OAAO,EAAE;AAHJ,OAAP;;AAKF,SAAK,KAAL;AACE,aAAO;AACLF,QAAAA,KAAK,EAAEe,MAAM,CAAC9C,SAAP,YAAyBuD,IAD3B;AAELZ,QAAAA,QAAQ,EAAEG,MAAM,CAAC9C,SAAP,CAAiB2C,QAAjB,CAA0BY,IAF/B;AAGLtB,QAAAA,OAAO,EAAE;AAHJ,OAAP;;AAKF;AACEuB,MAAAA,OAAO,CAACC,KAAR,CACE,wFADF;AAGA,aAAO;AACL1B,QAAAA,KAAK,EAAEe,MAAM,CAACY,KAAP,CAAaC,IADf;AAELhB,QAAAA,QAAQ,EAAEG,MAAM,CAACY,KAAP,CAAaE,KAFlB;AAGL3B,QAAAA,OAAO,EAAE;AAHJ,OAAP;AAjEJ;AAuED;;AC1HD4B,sBAAsB,CAAC,QAAD,CAAtB;;;;"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@entur/travel",
3
- "version": "4.2.14",
3
+ "version": "5.0.2",
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": "tsdx watch --noClean",
21
- "build": "tsdx build && cp -r src/pattern dist/pattern",
22
- "test": "tsdx test --env=jsdom",
23
- "lint": "tsdx 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.4.0",
27
- "@entur/layout": "^2.1.3",
28
- "@entur/tokens": "^3.3.0",
29
- "@entur/utils": "^0.4.2",
26
+ "@entur/icons": "^3.5.0",
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": "6255452bbbb124b6569095cf08f96143873a7f8e"
39
+ "gitHead": "bf06a9d451cb7f978946c05ce04bb4e6f63379af"
40
40
  }