@entur/travel 4.2.12 → 5.0.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/CHANGELOG.md CHANGED
@@ -3,6 +3,37 @@
3
3
  All notable changes to this project will be documented in this file.
4
4
  See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.
5
5
 
6
+ ## [5.0.1](https://bitbucket.org/enturas/design-system/compare/@entur/travel@5.0.0...@entur/travel@5.0.1) (2022-02-09)
7
+
8
+ **Note:** Version bump only for package @entur/travel
9
+
10
+ # [5.0.0](https://bitbucket.org/enturas/design-system/compare/@entur/travel@4.2.14...@entur/travel@5.0.0) (2022-01-05)
11
+
12
+ ### Bug Fixes
13
+
14
+ - **travel tag:** fix 'warning' and 'error' alert prop being swapped, and colors in contrast ([0a08fb3](https://bitbucket.org/enturas/design-system/commits/0a08fb37ec70b0a19cea2fd96a2a5b39295fe5e5))
15
+
16
+ ### Features
17
+
18
+ - **travel tag:** add label and labelPlacement props ([8f63a0b](https://bitbucket.org/enturas/design-system/commits/8f63a0bc23c16523fc976a1566ec3c8dec22dd48))
19
+ - **travel tag:** add transport icon automatically based on transport prop ([42a191a](https://bitbucket.org/enturas/design-system/commits/42a191a2962f34696f2cfcb42c943e60c2738f4b))
20
+
21
+ ### BREAKING CHANGES
22
+
23
+ - **travel tag:** If both an icon and transport prop is provided in previous code, you will now get two icos. Remove
24
+ the child Icon to fix
25
+ - **travel tag:** alert prop options 'warning' and 'error' has been swapped and will now display the correct icon
26
+
27
+ ## [4.2.14](https://bitbucket.org/enturas/design-system/compare/@entur/travel@4.2.13...@entur/travel@4.2.14) (2021-11-17)
28
+
29
+ **Note:** Version bump only for package @entur/travel
30
+
31
+ ## [4.2.13](https://bitbucket.org/enturas/design-system/compare/@entur/travel@4.2.12...@entur/travel@4.2.13) (2021-10-18)
32
+
33
+ ### Bug Fixes
34
+
35
+ - **travel tag:** fix focus styling for close button ([d9ec26e](https://bitbucket.org/enturas/design-system/commits/d9ec26ea68ba9962a233291eb5e58920efab99b1))
36
+
6
37
  ## [4.2.12](https://bitbucket.org/enturas/design-system/compare/@entur/travel@4.2.11...@entur/travel@4.2.12) (2021-09-23)
7
38
 
8
39
  **Note:** Version bump only for package @entur/travel
@@ -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
@@ -2,6 +2,50 @@
2
2
  --eds-travel: 1;
3
3
  }/* DO NOT CHANGE!*/
4
4
  /* This file is automatically generated from @entur/tokens! Changes will be overwritten. */
5
+ .eds-travel-header {
6
+ color: #181c56;
7
+ display: flex;
8
+ flex-direction: column;
9
+ font-weight: 600;
10
+ line-height: 1.5;
11
+ max-width: 100%;
12
+ }
13
+ .eds-contrast .eds-travel-header {
14
+ color: #ffffff;
15
+ }
16
+ .eds-travel-header--large {
17
+ font-size: 1.5rem;
18
+ }
19
+ .eds-travel-header--medium {
20
+ font-size: 1rem;
21
+ }
22
+ .eds-travel-header--no-wrap {
23
+ flex-direction: row;
24
+ }
25
+ .eds-travel-header__from, .eds-travel-header__to {
26
+ min-width: 0;
27
+ overflow: hidden;
28
+ text-overflow: ellipsis;
29
+ white-space: nowrap;
30
+ }
31
+ .eds-travel-header--no-wrap .eds-travel-header__from {
32
+ margin-right: 0.5em;
33
+ }
34
+ .eds-travel-header__to {
35
+ padding-left: calc(4em / 3 + 0.5em);
36
+ position: relative;
37
+ }
38
+ .eds-travel-header__to::before {
39
+ background-color: #ff5959;
40
+ content: "";
41
+ display: block;
42
+ height: calc(1em / 6);
43
+ left: 0;
44
+ position: absolute;
45
+ top: 0.65em;
46
+ width: calc(4em / 3);
47
+ }/* DO NOT CHANGE!*/
48
+ /* This file is automatically generated from @entur/tokens! Changes will be overwritten. */
5
49
  .eds-leg-line {
6
50
  flex-grow: 1;
7
51
  mask-image: url("./pattern/line.svg");
@@ -56,10 +100,19 @@
56
100
  .eds-travel-tag--alert {
57
101
  padding-right: 0.75rem;
58
102
  }
103
+ .eds-travel-tag--alert--error {
104
+ box-shadow: inset 0 0 0 20px rgba(255, 255, 255, 0.5);
105
+ }
106
+ .eds-contrast .eds-travel-tag--alert--error.eds-travel-tag {
107
+ box-shadow: none;
108
+ background-color: rgba(0, 0, 0, 0);
109
+ border: 0.125rem dashed #54568c;
110
+ }
59
111
  .eds-travel-tag--icon-and-text > .eds-icon {
60
112
  margin-right: 0.5rem;
61
113
  }
62
114
  .eds-contrast .eds-travel-tag {
115
+ align-items: center;
63
116
  background-color: #393d79;
64
117
  }
65
118
  .eds-travel-tag > .eds-icon {
@@ -69,10 +122,12 @@
69
122
  appearance: none;
70
123
  background: none;
71
124
  border: none;
72
- border-radius: 0;
125
+ border-radius: 50%;
73
126
  cursor: pointer;
74
127
  margin: 0 0 0 0.75rem;
75
128
  padding: 0;
129
+ height: 1.5rem;
130
+ width: 1.5rem;
76
131
  }
77
132
  .eds-travel-tag__close-button .eds-icon {
78
133
  color: #181c56;
@@ -95,73 +150,67 @@
95
150
  background: #c5044e;
96
151
  color: #ffffff;
97
152
  }
98
- .eds-contrast .eds-travel-tag--transport-bus {
99
- background: #ff6392;
100
- color: #181c56;
153
+ .eds-travel-tag--transport-bus > .eds-icon {
154
+ color: #ffffff;
101
155
  }
102
156
  .eds-travel-tag--transport-metro {
103
157
  background: #de8108;
104
158
  color: #ffffff;
105
159
  }
106
- .eds-contrast .eds-travel-tag--transport-metro {
107
- background: #f08901;
108
- 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;
109
165
  }
110
166
  .eds-travel-tag--transport-air {
111
167
  background: #800664;
112
168
  color: #ffffff;
113
169
  }
114
- .eds-contrast .eds-travel-tag--transport-air {
115
- background: #fbafea;
116
- color: #181c56;
170
+ .eds-travel-tag--transport-air > .eds-icon {
171
+ color: #ffffff;
117
172
  }
118
173
  .eds-travel-tag--transport-tram {
119
174
  background: #642e88;
120
175
  color: #ffffff;
121
176
  }
122
- .eds-contrast .eds-travel-tag--transport-tram {
123
- background: #b482fb;
124
- color: #181c56;
177
+ .eds-travel-tag--transport-tram > .eds-icon {
178
+ color: #ffffff;
125
179
  }
126
180
  .eds-travel-tag--transport-rail {
127
181
  background: #00367f;
128
182
  color: #ffffff;
129
183
  }
130
- .eds-contrast .eds-travel-tag--transport-rail {
131
- background: #42a5f5;
132
- color: #181c56;
184
+ .eds-travel-tag--transport-rail > .eds-icon {
185
+ color: #ffffff;
133
186
  }
134
187
  .eds-travel-tag--transport-water {
135
188
  background: #0497bc;
136
189
  color: #ffffff;
137
190
  }
138
- .eds-contrast .eds-travel-tag--transport-water {
139
- background: #6fdfff;
140
- color: #181c56;
191
+ .eds-travel-tag--transport-water > .eds-icon {
192
+ color: #ffffff;
141
193
  }
142
194
  .eds-travel-tag--transport-bike, .eds-travel-tag--transport-scooter {
143
195
  background: #388f76;
144
196
  color: #ffffff;
145
197
  }
146
- .eds-contrast .eds-travel-tag--transport-bike, .eds-contrast .eds-travel-tag--transport-scooter {
147
- background: #00db9b;
148
- color: #181c56;
198
+ .eds-travel-tag--transport-bike > .eds-icon, .eds-travel-tag--transport-scooter > .eds-icon {
199
+ color: #ffffff;
149
200
  }
150
201
  .eds-travel-tag--transport-foot {
151
202
  background: #181c56;
152
203
  color: #ffffff;
153
204
  }
154
- .eds-contrast .eds-travel-tag--transport-foot {
155
- background: #ffffff;
156
- color: #181c56;
205
+ .eds-travel-tag--transport-foot > .eds-icon {
206
+ color: #ffffff;
157
207
  }
158
208
  .eds-travel-tag--transport-car {
159
209
  background: #181c56;
160
210
  color: #ffffff;
161
211
  }
162
- .eds-contrast .eds-travel-tag--transport-car {
163
- background: #ffffff;
164
- color: #181c56;
212
+ .eds-travel-tag--transport-car > .eds-icon {
213
+ color: #ffffff;
165
214
  }
166
215
  .eds-travel-tag__alert {
167
216
  background: #ffffff;
@@ -174,21 +223,26 @@
174
223
  width: 1.125rem;
175
224
  position: absolute;
176
225
  top: 0.4375rem;
177
- right: -0.5625rem;
226
+ right: -0.6875rem;
178
227
  }
179
228
  .eds-contrast .eds-travel-tag__alert {
180
229
  background: #181c56;
181
230
  }
231
+ .eds-contrast .eds-travel-tag__alert--error-icon {
232
+ top: 0.5625rem;
233
+ }
182
234
  .eds-travel-tag__alert-exclamation-icon {
183
- color: #0082b9;
235
+ color: #ffca28;
184
236
  }
185
237
  .eds-contrast .eds-travel-tag__alert-exclamation-icon {
186
- color: #64b3e7;
238
+ color: #ffe082;
187
239
  }
188
240
  .eds-travel-tag__alert-error-icon {
241
+ font-size: 0.875rem;
189
242
  color: #d31b1b;
190
243
  }
191
244
  .eds-contrast .eds-travel-tag__alert-error-icon {
245
+ margin-bottom: 0.25rem;
192
246
  color: #ff9494;
193
247
  }
194
248
  .eds-travel-tag__alert-info-icon {
@@ -196,6 +250,34 @@
196
250
  }
197
251
  .eds-contrast .eds-travel-tag__alert-info-icon {
198
252
  color: #64b3e7;
253
+ }
254
+ .eds-travel-tag__wrapper {
255
+ display: inline-flex;
256
+ }
257
+ .eds-travel-tag__wrapper--label-position-right {
258
+ flex-direction: row;
259
+ align-items: center;
260
+ }
261
+ .eds-travel-tag__wrapper--label-position-bottom {
262
+ flex-direction: column;
263
+ align-items: flex-start;
264
+ }
265
+ .eds-travel-tag__label {
266
+ color: #181c56;
267
+ font-size: 1rem;
268
+ }
269
+ .eds-contrast .eds-travel-tag__label {
270
+ color: #ffffff;
271
+ }
272
+ .eds-travel-tag__label--right {
273
+ margin-left: 0.5rem;
274
+ }
275
+ .eds-travel-tag__label--right--with-alert {
276
+ margin-left: 1rem;
277
+ }
278
+ .eds-travel-tag__label--bottom {
279
+ margin-top: 0.125rem;
280
+ font-size: 0.875rem;
199
281
  }/* DO NOT CHANGE!*/
200
282
  /* This file is automatically generated from @entur/tokens! Changes will be overwritten. */
201
283
  .eds-leg-bone {
@@ -230,48 +312,4 @@
230
312
  }
231
313
  .eds-leg-bone--horizontal .eds-leg-bone__stop {
232
314
  margin-left: 0.125rem;
233
- }/* DO NOT CHANGE!*/
234
- /* This file is automatically generated from @entur/tokens! Changes will be overwritten. */
235
- .eds-travel-header {
236
- color: #181c56;
237
- display: flex;
238
- flex-direction: column;
239
- font-weight: 600;
240
- line-height: 1.5;
241
- max-width: 100%;
242
- }
243
- .eds-contrast .eds-travel-header {
244
- color: #ffffff;
245
- }
246
- .eds-travel-header--large {
247
- font-size: 1.5rem;
248
- }
249
- .eds-travel-header--medium {
250
- font-size: 1rem;
251
- }
252
- .eds-travel-header--no-wrap {
253
- flex-direction: row;
254
- }
255
- .eds-travel-header__from, .eds-travel-header__to {
256
- min-width: 0;
257
- overflow: hidden;
258
- text-overflow: ellipsis;
259
- white-space: nowrap;
260
- }
261
- .eds-travel-header--no-wrap .eds-travel-header__from {
262
- margin-right: 0.5em;
263
- }
264
- .eds-travel-header__to {
265
- padding-left: calc(4em / 3 + 0.5em);
266
- position: relative;
267
- }
268
- .eds-travel-header__to::before {
269
- background-color: #ff5959;
270
- content: "";
271
- display: block;
272
- height: calc(1em / 6);
273
- left: 0;
274
- position: absolute;
275
- top: 0.65em;
276
- width: calc(4em / 3);
277
315
  }
@@ -2,15 +2,36 @@
2
2
 
3
3
  Object.defineProperty(exports, '__esModule', { value: true });
4
4
 
5
- function _interopDefault (ex) { return (ex && (typeof ex === 'object') && 'default' in ex) ? ex['default'] : ex; }
6
-
7
5
  var utils = require('@entur/utils');
8
- var React = _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.CloseIcon, {
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 CloseIcon,\n ValidationInfoIcon,\n ValidationErrorIcon,\n ValidationExclamationIcon,\n} from '@entur/icons';\nimport './TravelTag.scss';\n\nexport type TravelTagProps = {\n /** Callback som kalles for når man skal lukke TravelTagen\n * @default undefined\n */\n onClose?: () => void;\n /** Innholdet til TravelTagen */\n children: React.ReactNode;\n /**Ekstra klassenavn */\n className?: string;\n /** Legger til et Valideringsikon i TravelTagen for å signalisere avvik, informasjon e.l.\n * @default \"none\"\n */\n alert?: 'none' | 'error' | 'warning' | 'info';\n transport?:\n | 'bus'\n | 'metro'\n | 'air'\n | 'tram'\n | 'rail'\n | 'water'\n | 'bike'\n | 'scooter'\n | 'foot'\n | 'car';\n} & React.DetailedHTMLProps<\n React.HTMLAttributes<HTMLDivElement>,\n HTMLDivElement\n>;\n\nexport const TravelTag: React.FC<TravelTagProps> = ({\n onClose = undefined,\n children,\n className,\n alert = 'none',\n transport,\n ...rest\n}) => {\n const isClosable = onClose ? true : false;\n const numberOfChildren = React.Children.count(children);\n\n return (\n <div\n className={classNames('eds-travel-tag', {\n 'eds-travel-tag--closable': isClosable,\n 'eds-travel-tag--alert': alert !== 'none',\n 'eds-travel-tag--icon-and-text': numberOfChildren > 1,\n [`eds-travel-tag--transport-${transport}`]: transport,\n className,\n })}\n {...rest}\n >\n {children}\n {isClosable && (\n <button onClick={onClose} className=\"eds-travel-tag__close-button\">\n <CloseIcon inline />\n </button>\n )}\n {alert !== 'none' && (\n <span className=\"eds-travel-tag__alert\">\n {alert === 'info' && (\n <ValidationInfoIcon className=\"eds-travel-tag__alert-info-icon\" />\n )}\n {alert === 'error' && (\n <ValidationExclamationIcon className=\"eds-travel-tag__alert-exclamation-icon\" />\n )}\n {alert === 'warning' && (\n <ValidationErrorIcon className=\"eds-travel-tag__alert-error-icon\" />\n )}\n </span>\n )}\n </div>\n );\n};\n","import React from 'react';\nimport classNames from 'classnames';\nimport './LegLine.scss';\n\nexport type LegLineProps = {\n /** Farge på LegLine'n */\n color: string;\n /** Retningen til LegLine */\n direction: 'horizontal' | 'vertical';\n /** Hvilket linjemønster som skal brukes */\n pattern: 'line' | 'dashed' | 'dotted' | 'wave';\n /** Ekstra klassenavn */\n className?: string;\n} & React.DetailedHTMLProps<\n React.HTMLAttributes<HTMLDivElement>,\n HTMLDivElement\n>;\n\nexport const LegLine: React.FC<LegLineProps> = ({\n color,\n direction = 'horizontal',\n pattern,\n className,\n ...rest\n}) => {\n return (\n <div\n className={classNames('eds-leg-line', className, {\n [`eds-leg-line--${pattern}`]: pattern,\n [`eds-leg-line--${direction}`]: direction,\n })}\n style={{ backgroundColor: color }}\n {...rest}\n />\n );\n};\n","import React from 'react';\nimport classNames from 'classnames';\nimport { LegLine } from './LegLine';\nimport './LegBone.scss';\n\nexport type LegBoneProps = {\n /** Retning på komponenten */\n direction: 'horizontal' | 'vertical';\n /** Hvilke linjemønster som skal brukes */\n pattern: 'line' | 'dashed' | 'dotted' | 'wave';\n /** Farge på linja */\n color: string;\n /** Farge på startpunktet\n * @default Verdien til color\n */\n startColor?: string;\n /** Farge på endepunktet\n * @default Verdien til color\n */\n endColor?: string;\n /** Vis startpunkt\n * @default true\n */\n showStart?: boolean;\n /** Vis linke\n * @default true\n */\n showLine?: boolean;\n /** Vis endepunkt\n * @default true\n */\n showStop?: boolean;\n /** Ekstra klassenavn */\n className?: string;\n} & React.DetailedHTMLProps<\n React.HTMLAttributes<HTMLDivElement>,\n HTMLDivElement\n>;\n\nexport const LegBone: React.FC<LegBoneProps> = ({\n direction,\n pattern,\n color,\n startColor,\n endColor,\n showStart = true,\n showStop = true,\n showLine = true,\n className,\n ...rest\n}) => {\n return (\n <div\n className={classNames(className, 'eds-leg-bone', [\n { 'eds-leg-bone--vertical': direction === 'vertical' },\n { 'eds-leg-bone--horizontal': direction === 'horizontal' },\n ])}\n {...rest}\n >\n {showStart && (\n <div\n className={`eds-leg-bone__start`}\n style={{ backgroundColor: startColor || color }}\n />\n )}\n\n {showLine && (\n <LegLine\n className={`eds-leg-bone__line`}\n direction={direction}\n color={color}\n pattern={pattern}\n />\n )}\n\n {showStop && (\n <div\n className={`eds-leg-bone__stop`}\n style={{ backgroundColor: endColor || color }}\n />\n )}\n </div>\n );\n};\n","import React from 'react';\nimport { LegBone } from './LegBone';\nimport { colors } from '@entur/tokens';\nimport { useContrast } from '@entur/layout';\n\nexport type TravelLegProps = {\n /** Ekstra klassenavn */\n className?: string;\n /** Hviklen type reise som skal vises riktig farge og linjetype */\n transport:\n | 'bus'\n | 'metro'\n | 'air'\n | 'tram'\n | 'rail'\n | 'water'\n | 'bike'\n | 'scooter'\n | 'foot'\n | 'car';\n /** Retningen på komponenten */\n direction: 'horizontal' | 'vertical';\n} & React.DetailedHTMLProps<\n React.HTMLAttributes<HTMLDivElement>,\n HTMLDivElement\n>;\n\nexport const TravelLeg: React.FC<TravelLegProps> = ({\n className,\n transport,\n direction,\n ...rest\n}) => {\n const { color, contrast, pattern } = modeCalc(transport);\n const isContrast = useContrast();\n\n return (\n <LegBone\n direction={direction}\n pattern={pattern}\n color={isContrast ? contrast : color}\n className={className}\n {...rest}\n />\n );\n};\n\ntype modeCalcResult = {\n color: string;\n contrast: string;\n pattern: 'line' | 'wave' | 'dashed' | 'dotted';\n};\n\nfunction modeCalc(mode: string): modeCalcResult {\n switch (mode) {\n case 'bus':\n return {\n color: colors.transport.default.bus,\n contrast: colors.transport.contrast.bus,\n pattern: 'dashed',\n };\n case 'metro':\n return {\n color: colors.transport.default.metro,\n contrast: colors.transport.contrast.metro,\n pattern: 'line',\n };\n case 'air':\n return {\n color: colors.transport.default.plane,\n contrast: colors.transport.contrast.plane,\n pattern: 'line',\n };\n case 'tram':\n return {\n color: colors.transport.default.tram,\n contrast: colors.transport.contrast.tram,\n pattern: 'line',\n };\n case 'rail':\n return {\n color: colors.transport.default.train,\n contrast: colors.transport.contrast.train,\n pattern: 'line',\n };\n case 'water':\n return {\n color: colors.transport.default.ferry,\n contrast: colors.transport.contrast.ferry,\n pattern: 'wave',\n };\n case 'bike':\n return {\n color: colors.transport.default.mobility,\n contrast: colors.transport.contrast.mobility,\n pattern: 'line',\n };\n case 'scooter':\n return {\n color: colors.transport.default.mobility,\n contrast: colors.transport.contrast.mobility,\n pattern: 'line',\n };\n case 'foot':\n return {\n color: colors.transport.default.walk,\n contrast: colors.transport.contrast.walk,\n pattern: 'dotted',\n };\n case 'car':\n return {\n color: colors.transport.default.taxi,\n contrast: colors.transport.contrast.taxi,\n pattern: 'dashed',\n };\n default:\n console.error(\n 'No transport modality was chosen. There is likely an error in your usage of TravelLeg.',\n );\n return {\n color: colors.brand.blue,\n contrast: colors.brand.white,\n pattern: 'line',\n };\n }\n}\n","import { warnAboutMissingStyles } from '@entur/utils';\nimport './index.scss';\n\nwarnAboutMissingStyles('travel');\n\nexport * from './TravelHeader';\nexport * from './TravelTag';\nexport * from './LegLine';\nexport * from './LegBone';\nexport * from './TravelLeg';\n"],"names":["TravelHeader","as","Element","from","to","size","className","noWrap","rest","React","classNames","TravelTag","onClose","undefined","children","alert","transport","isClosable","numberOfChildren","Children","count","onClick","CloseIcon","inline","ValidationInfoIcon","ValidationExclamationIcon","ValidationErrorIcon","LegLine","color","direction","pattern","style","backgroundColor","LegBone","startColor","endColor","showStart","showStop","showLine","TravelLeg","modeCalc","contrast","isContrast","useContrast","mode","colors","bus","metro","plane","tram","train","ferry","mobility","walk","taxi","console","error","brand","blue","white","warnAboutMissingStyles"],"mappings":"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"}
1
+ {"version":3,"file":"travel.cjs.development.js","sources":["../src/TravelHeader.tsx","../src/TravelTag.tsx","../src/LegLine.tsx","../src/LegBone.tsx","../src/TravelLeg.tsx","../src/index.tsx"],"sourcesContent":["import React from 'react';\nimport classNames from 'classnames';\nimport './TravelHeader.scss';\n\nexport type TravelHeaderProps = {\n /** HTML-elementet eller React-komponenten som lager elementet\n * @default 'div'\n */\n as?: string | React.ElementType;\n /** Destinasjonen man reiser fra */\n from: React.ReactNode;\n /** Destinasjonen man reiser til */\n to: React.ReactNode;\n /**Størrelsen på komponenten\n * @default 'large'\n */\n size?: 'large' | 'medium';\n /** Plassere til og fra på samme linje */\n noWrap?: boolean;\n /**Ekstra klassenavn */\n className?: string;\n [key: string]: any;\n};\n\nexport const TravelHeader: React.FC<TravelHeaderProps> = ({\n as: Element = 'div',\n from,\n to,\n size = 'large',\n className,\n noWrap,\n ...rest\n}) => {\n return (\n <Element\n className={classNames('eds-travel-header', className, {\n 'eds-travel-header--large': size === 'large',\n 'eds-travel-header--medium': size === 'medium',\n 'eds-travel-header--no-wrap': noWrap,\n })}\n aria-label={`Fra ${from}, til ${to}`}\n {...rest}\n >\n <span className=\"eds-travel-header__from\">{from}</span>\n <span className=\"eds-travel-header__to\">{to}</span>\n </Element>\n );\n};\n","import React from 'react';\nimport classNames from 'classnames';\nimport {\n CloseSmallIcon,\n ValidationInfoIcon,\n ValidationErrorIcon,\n ValidationExclamationIcon,\n BicycleIcon,\n BusIcon,\n FerryIcon,\n PlaneIcon,\n ScooterIcon,\n SubwayIcon,\n TrainIcon,\n TramIcon,\n WalkingIcon,\n CarIcon,\n TaxiIcon,\n CarferryIcon,\n} from '@entur/icons';\nimport './TravelTag.scss';\n\nexport type TravelTagProps = {\n /** Callback som kalles for når man skal lukke TravelTag-en\n * @default undefined\n */\n onClose?: () => void;\n /** Innholdet inne i TravelTag-en */\n children?: React.ReactNode;\n /**Ekstra klassenavn */\n className?: string;\n /** Legger til et Valideringsikon i TravelTagen for å signalisere avvik, informasjon e.l.\n * @default \"none\"\n */\n alert?: 'none' | 'error' | 'warning' | 'info';\n /** Legger til farge og ikon tilpasset valgt transportmiddel */\n transport?:\n | 'bus'\n | 'metro'\n | 'air'\n | 'tram'\n | 'rail'\n | 'water'\n | 'carferry'\n | 'bike'\n | 'scooter'\n | 'foot'\n | 'car'\n | 'taxi';\n /** Element ved siden av eller under TravelTag. */\n label?: React.ReactNode;\n /** Posisjonen til label-en i forhold til TravelTag-en\n * @default \"right\"\n */\n labelPlacement?: 'bottom' | 'right';\n} & React.DetailedHTMLProps<\n React.HTMLAttributes<HTMLDivElement>,\n HTMLDivElement\n>;\n\nexport const TravelTag: React.FC<TravelTagProps> = ({\n onClose = undefined,\n children,\n className,\n alert = 'none',\n transport,\n label,\n labelPlacement = 'right',\n ...rest\n}) => {\n const isClosable = onClose ? true : false;\n const numberOfChildren = React.Children.count(children);\n const TransportIcon = modeCalc(transport) ?? <></>;\n\n const TravelTagWithoutLabel: JSX.Element = (\n <div\n className={classNames('eds-travel-tag', {\n 'eds-travel-tag--closable': isClosable,\n 'eds-travel-tag--alert': alert !== 'none',\n 'eds-travel-tag--alert--error': alert === 'error',\n 'eds-travel-tag--icon-and-text':\n numberOfChildren > 1 || (transport && numberOfChildren > 0),\n [`eds-travel-tag--transport-${transport}`]: transport,\n className,\n })}\n {...rest}\n >\n {transport && TransportIcon}\n {children}\n {isClosable && (\n <button onClick={onClose} className=\"eds-travel-tag__close-button\">\n <CloseSmallIcon inline />\n </button>\n )}\n {alert !== 'none' && (\n <span className=\"eds-travel-tag__alert\">\n {alert === 'info' && (\n <ValidationInfoIcon className=\"eds-travel-tag__alert-info-icon\" />\n )}\n {alert === 'error' && (\n <ValidationErrorIcon className=\"eds-travel-tag__alert-error-icon\" />\n )}\n {alert === 'warning' && (\n <ValidationExclamationIcon className=\"eds-travel-tag__alert-exclamation-icon\" />\n )}\n </span>\n )}\n </div>\n );\n\n const Label: JSX.Element = (\n <div\n className={classNames('eds-travel-tag__label', {\n [`eds-travel-tag__label--${labelPlacement}`]: label,\n [`eds-travel-tag__label--${labelPlacement}--with-alert`]:\n label && alert !== 'none',\n })}\n >\n {label}\n </div>\n );\n\n if (label) {\n return (\n <div\n className={classNames('eds-travel-tag__wrapper', {\n [`eds-travel-tag__wrapper--label-position-${labelPlacement}`]: label,\n })}\n >\n {TravelTagWithoutLabel}\n {Label}\n </div>\n );\n }\n\n return TravelTagWithoutLabel;\n};\n\nconst modeCalc = (mode: string | undefined) => {\n switch (mode) {\n case 'bus':\n return <BusIcon />;\n case 'metro':\n return <SubwayIcon />;\n case 'air':\n return <PlaneIcon />;\n case 'tram':\n return <TramIcon />;\n case 'rail':\n return <TrainIcon />;\n case 'water':\n return <FerryIcon />;\n case 'carferry':\n return <CarferryIcon />;\n case 'bike':\n return <BicycleIcon />;\n case 'scooter':\n return <ScooterIcon />;\n case 'foot':\n return <WalkingIcon />;\n case 'car':\n return <CarIcon />;\n case 'taxi':\n return <TaxiIcon />;\n default:\n return <></>;\n }\n};\n","import React from 'react';\nimport classNames from 'classnames';\nimport './LegLine.scss';\n\nexport type LegLineProps = {\n /** Farge på LegLine'n */\n color: string;\n /** Retningen til LegLine */\n direction: 'horizontal' | 'vertical';\n /** Hvilket linjemønster som skal brukes */\n pattern: 'line' | 'dashed' | 'dotted' | 'wave';\n /** Ekstra klassenavn */\n className?: string;\n} & React.DetailedHTMLProps<\n React.HTMLAttributes<HTMLDivElement>,\n HTMLDivElement\n>;\n\nexport const LegLine: React.FC<LegLineProps> = ({\n color,\n direction = 'horizontal',\n pattern,\n className,\n ...rest\n}) => {\n return (\n <div\n className={classNames('eds-leg-line', className, {\n [`eds-leg-line--${pattern}`]: pattern,\n [`eds-leg-line--${direction}`]: direction,\n })}\n style={{ backgroundColor: color }}\n {...rest}\n />\n );\n};\n","import React from 'react';\nimport classNames from 'classnames';\nimport { LegLine } from './LegLine';\nimport './LegBone.scss';\n\nexport type LegBoneProps = {\n /** Retning på komponenten */\n direction: 'horizontal' | 'vertical';\n /** Hvilke linjemønster som skal brukes */\n pattern: 'line' | 'dashed' | 'dotted' | 'wave';\n /** Farge på linja */\n color: string;\n /** Farge på startpunktet\n * @default Verdien til color\n */\n startColor?: string;\n /** Farge på endepunktet\n * @default Verdien til color\n */\n endColor?: string;\n /** Vis startpunkt\n * @default true\n */\n showStart?: boolean;\n /** Vis linke\n * @default true\n */\n showLine?: boolean;\n /** Vis endepunkt\n * @default true\n */\n showStop?: boolean;\n /** Ekstra klassenavn */\n className?: string;\n} & React.DetailedHTMLProps<\n React.HTMLAttributes<HTMLDivElement>,\n HTMLDivElement\n>;\n\nexport const LegBone: React.FC<LegBoneProps> = ({\n direction,\n pattern,\n color,\n startColor,\n endColor,\n showStart = true,\n showStop = true,\n showLine = true,\n className,\n ...rest\n}) => {\n return (\n <div\n className={classNames(className, 'eds-leg-bone', [\n { 'eds-leg-bone--vertical': direction === 'vertical' },\n { 'eds-leg-bone--horizontal': direction === 'horizontal' },\n ])}\n {...rest}\n >\n {showStart && (\n <div\n className={`eds-leg-bone__start`}\n style={{ backgroundColor: startColor || color }}\n />\n )}\n\n {showLine && (\n <LegLine\n className={`eds-leg-bone__line`}\n direction={direction}\n color={color}\n pattern={pattern}\n />\n )}\n\n {showStop && (\n <div\n className={`eds-leg-bone__stop`}\n style={{ backgroundColor: endColor || color }}\n />\n )}\n </div>\n );\n};\n","import React from 'react';\nimport { LegBone } from './LegBone';\nimport { colors } from '@entur/tokens';\nimport { useContrast } from '@entur/layout';\n\nexport type TravelLegProps = {\n /** Ekstra klassenavn */\n className?: string;\n /** Hviklen type reise som skal vises riktig farge og linjetype */\n transport:\n | 'bus'\n | 'metro'\n | 'air'\n | 'tram'\n | 'rail'\n | 'water'\n | 'bike'\n | 'scooter'\n | 'foot'\n | 'car';\n /** Retningen på komponenten */\n direction: 'horizontal' | 'vertical';\n} & React.DetailedHTMLProps<\n React.HTMLAttributes<HTMLDivElement>,\n HTMLDivElement\n>;\n\nexport const TravelLeg: React.FC<TravelLegProps> = ({\n className,\n transport,\n direction,\n ...rest\n}) => {\n const { color, contrast, pattern } = modeCalc(transport);\n const isContrast = useContrast();\n\n return (\n <LegBone\n direction={direction}\n pattern={pattern}\n color={isContrast ? contrast : color}\n className={className}\n {...rest}\n />\n );\n};\n\ntype modeCalcResult = {\n color: string;\n contrast: string;\n pattern: 'line' | 'wave' | 'dashed' | 'dotted';\n};\n\nfunction modeCalc(mode: string): modeCalcResult {\n switch (mode) {\n case 'bus':\n return {\n color: colors.transport.default.bus,\n contrast: colors.transport.contrast.bus,\n pattern: 'dashed',\n };\n case 'metro':\n return {\n color: colors.transport.default.metro,\n contrast: colors.transport.contrast.metro,\n pattern: 'line',\n };\n case 'air':\n return {\n color: colors.transport.default.plane,\n contrast: colors.transport.contrast.plane,\n pattern: 'line',\n };\n case 'tram':\n return {\n color: colors.transport.default.tram,\n contrast: colors.transport.contrast.tram,\n pattern: 'line',\n };\n case 'rail':\n return {\n color: colors.transport.default.train,\n contrast: colors.transport.contrast.train,\n pattern: 'line',\n };\n case 'water':\n return {\n color: colors.transport.default.ferry,\n contrast: colors.transport.contrast.ferry,\n pattern: 'wave',\n };\n case 'bike':\n return {\n color: colors.transport.default.mobility,\n contrast: colors.transport.contrast.mobility,\n pattern: 'line',\n };\n case 'scooter':\n return {\n color: colors.transport.default.mobility,\n contrast: colors.transport.contrast.mobility,\n pattern: 'line',\n };\n case 'foot':\n return {\n color: colors.transport.default.walk,\n contrast: colors.transport.contrast.walk,\n pattern: 'dotted',\n };\n case 'car':\n return {\n color: colors.transport.default.taxi,\n contrast: colors.transport.contrast.taxi,\n pattern: 'dashed',\n };\n default:\n console.error(\n 'No transport modality was chosen. There is likely an error in your usage of TravelLeg.',\n );\n return {\n color: colors.brand.blue,\n contrast: colors.brand.white,\n pattern: 'line',\n };\n }\n}\n","import { warnAboutMissingStyles } from '@entur/utils';\nimport './index.scss';\n\nwarnAboutMissingStyles('travel');\n\nexport * from './TravelHeader';\nexport * from './TravelTag';\nexport * from './LegLine';\nexport * from './LegBone';\nexport * from './TravelLeg';\n"],"names":["TravelHeader","as","Element","from","to","size","className","noWrap","rest","React","classNames","TravelTag","onClose","undefined","children","alert","transport","label","labelPlacement","isClosable","numberOfChildren","Children","count","TransportIcon","modeCalc","TravelTagWithoutLabel","onClick","CloseSmallIcon","inline","ValidationInfoIcon","ValidationErrorIcon","ValidationExclamationIcon","Label","mode","BusIcon","SubwayIcon","PlaneIcon","TramIcon","TrainIcon","FerryIcon","CarferryIcon","BicycleIcon","ScooterIcon","WalkingIcon","CarIcon","TaxiIcon","LegLine","color","direction","pattern","style","backgroundColor","LegBone","startColor","endColor","showStart","showStop","showLine","TravelLeg","contrast","isContrast","useContrast","colors","bus","metro","plane","tram","train","ferry","mobility","walk","taxi","console","error","brand","blue","white","warnAboutMissingStyles"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;IAwBaA,YAAY,GAAgC,SAA5CA,YAA4C;qBACvDC;MAAIC,+BAAU;MACdC,YAAAA;MACAC,UAAAA;uBACAC;MAAAA,8BAAO;MACPC,iBAAAA;MACAC,cAAAA;MACGC;;AAEH,SACEC,uCAAA,CAACP,OAAD;AACEI,IAAAA,SAAS,EAAEI,8BAAU,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,uCAAA,OAAA;AAAMH,IAAAA,SAAS,EAAC;GAAhB,EAA2CH,IAA3C,CATF,EAUEM,uCAAA,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,yBAAK,CAACY,QAAN,CAAeC,KAAf,CAAqBR,QAArB,CAAzB;AACA,MAAMS,aAAa,gBAAGC,UAAQ,CAACR,SAAD,CAAX,wBAA0BP,uCAAA,mCAAA,MAAA,CAA7C;AAEA,MAAMgB,qBAAqB,GACzBhB,uCAAA,MAAA;AACEH,IAAAA,SAAS,EAAEI,8BAAU,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,uCAAA,SAAA;AAAQiB,IAAAA,OAAO,EAAEd;AAASN,IAAAA,SAAS,EAAC;GAApC,EACEG,uCAAA,CAACkB,oBAAD;AAAgBC,IAAAA,MAAM;GAAtB,CADF,CAfJ,EAmBGb,KAAK,KAAK,MAAV,IACCN,uCAAA,OAAA;AAAMH,IAAAA,SAAS,EAAC;GAAhB,EACGS,KAAK,KAAK,MAAV,IACCN,uCAAA,CAACoB,wBAAD;AAAoBvB,IAAAA,SAAS,EAAC;GAA9B,CAFJ,EAIGS,KAAK,KAAK,OAAV,IACCN,uCAAA,CAACqB,yBAAD;AAAqBxB,IAAAA,SAAS,EAAC;GAA/B,CALJ,EAOGS,KAAK,KAAK,SAAV,IACCN,uCAAA,CAACsB,+BAAD;AAA2BzB,IAAAA,SAAS,EAAC;GAArC,CARJ,CApBJ,CADF;AAoCA,MAAM0B,KAAK,GACTvB,uCAAA,MAAA;AACEH,IAAAA,SAAS,EAAEI,8BAAU,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,uCAAA,MAAA;AACEH,MAAAA,SAAS,EAAEI,8BAAU,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,uCAAA,CAACyB,aAAD,MAAA,CAAP;;AACF,SAAK,OAAL;AACE,aAAOzB,uCAAA,CAAC0B,gBAAD,MAAA,CAAP;;AACF,SAAK,KAAL;AACE,aAAO1B,uCAAA,CAAC2B,eAAD,MAAA,CAAP;;AACF,SAAK,MAAL;AACE,aAAO3B,uCAAA,CAAC4B,cAAD,MAAA,CAAP;;AACF,SAAK,MAAL;AACE,aAAO5B,uCAAA,CAAC6B,eAAD,MAAA,CAAP;;AACF,SAAK,OAAL;AACE,aAAO7B,uCAAA,CAAC8B,eAAD,MAAA,CAAP;;AACF,SAAK,UAAL;AACE,aAAO9B,uCAAA,CAAC+B,kBAAD,MAAA,CAAP;;AACF,SAAK,MAAL;AACE,aAAO/B,uCAAA,CAACgC,iBAAD,MAAA,CAAP;;AACF,SAAK,SAAL;AACE,aAAOhC,uCAAA,CAACiC,iBAAD,MAAA,CAAP;;AACF,SAAK,MAAL;AACE,aAAOjC,uCAAA,CAACkC,iBAAD,MAAA,CAAP;;AACF,SAAK,KAAL;AACE,aAAOlC,uCAAA,CAACmC,aAAD,MAAA,CAAP;;AACF,SAAK,MAAL;AACE,aAAOnC,uCAAA,CAACoC,cAAD,MAAA,CAAP;;AACF;AACE,aAAOpC,uCAAA,mCAAA,MAAA,CAAP;AA1BJ;AA4BD,CA7BD;;;ICxHaqC,OAAO,GAA2B,SAAlCA,OAAkC;;;MAC7CC,aAAAA;4BACAC;MAAAA,wCAAY;MACZC,eAAAA;MACA3C,iBAAAA;MACGE;;AAEH,SACEC,uCAAA,MAAA;AACEH,IAAAA,SAAS,EAAEI,8BAAU,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,uCAAA,MAAA;AACEH,IAAAA,SAAS,EAAEI,8BAAU,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,uCAAA,MAAA;AACEH,IAAAA,SAAS;AACT4C,IAAAA,KAAK,EAAE;AAAEC,MAAAA,eAAe,EAAEE,UAAU,IAAIN;AAAjC;GAFT,CARJ,EAcGU,QAAQ,IACPhD,uCAAA,CAACqC,OAAD;AACExC,IAAAA,SAAS;AACT0C,IAAAA,SAAS,EAAEA;AACXD,IAAAA,KAAK,EAAEA;AACPE,IAAAA,OAAO,EAAEA;GAJX,CAfJ,EAuBGO,QAAQ,IACP/C,uCAAA,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,kBAAW,EAA9B;AAEA,SACEpD,uCAAA,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,aAAM,CAAC9C,SAAP,YAAyB+C,GAD3B;AAELJ,QAAAA,QAAQ,EAAEG,aAAM,CAAC9C,SAAP,CAAiB2C,QAAjB,CAA0BI,GAF/B;AAGLd,QAAAA,OAAO,EAAE;AAHJ,OAAP;;AAKF,SAAK,OAAL;AACE,aAAO;AACLF,QAAAA,KAAK,EAAEe,aAAM,CAAC9C,SAAP,YAAyBgD,KAD3B;AAELL,QAAAA,QAAQ,EAAEG,aAAM,CAAC9C,SAAP,CAAiB2C,QAAjB,CAA0BK,KAF/B;AAGLf,QAAAA,OAAO,EAAE;AAHJ,OAAP;;AAKF,SAAK,KAAL;AACE,aAAO;AACLF,QAAAA,KAAK,EAAEe,aAAM,CAAC9C,SAAP,YAAyBiD,KAD3B;AAELN,QAAAA,QAAQ,EAAEG,aAAM,CAAC9C,SAAP,CAAiB2C,QAAjB,CAA0BM,KAF/B;AAGLhB,QAAAA,OAAO,EAAE;AAHJ,OAAP;;AAKF,SAAK,MAAL;AACE,aAAO;AACLF,QAAAA,KAAK,EAAEe,aAAM,CAAC9C,SAAP,YAAyBkD,IAD3B;AAELP,QAAAA,QAAQ,EAAEG,aAAM,CAAC9C,SAAP,CAAiB2C,QAAjB,CAA0BO,IAF/B;AAGLjB,QAAAA,OAAO,EAAE;AAHJ,OAAP;;AAKF,SAAK,MAAL;AACE,aAAO;AACLF,QAAAA,KAAK,EAAEe,aAAM,CAAC9C,SAAP,YAAyBmD,KAD3B;AAELR,QAAAA,QAAQ,EAAEG,aAAM,CAAC9C,SAAP,CAAiB2C,QAAjB,CAA0BQ,KAF/B;AAGLlB,QAAAA,OAAO,EAAE;AAHJ,OAAP;;AAKF,SAAK,OAAL;AACE,aAAO;AACLF,QAAAA,KAAK,EAAEe,aAAM,CAAC9C,SAAP,YAAyBoD,KAD3B;AAELT,QAAAA,QAAQ,EAAEG,aAAM,CAAC9C,SAAP,CAAiB2C,QAAjB,CAA0BS,KAF/B;AAGLnB,QAAAA,OAAO,EAAE;AAHJ,OAAP;;AAKF,SAAK,MAAL;AACE,aAAO;AACLF,QAAAA,KAAK,EAAEe,aAAM,CAAC9C,SAAP,YAAyBqD,QAD3B;AAELV,QAAAA,QAAQ,EAAEG,aAAM,CAAC9C,SAAP,CAAiB2C,QAAjB,CAA0BU,QAF/B;AAGLpB,QAAAA,OAAO,EAAE;AAHJ,OAAP;;AAKF,SAAK,SAAL;AACE,aAAO;AACLF,QAAAA,KAAK,EAAEe,aAAM,CAAC9C,SAAP,YAAyBqD,QAD3B;AAELV,QAAAA,QAAQ,EAAEG,aAAM,CAAC9C,SAAP,CAAiB2C,QAAjB,CAA0BU,QAF/B;AAGLpB,QAAAA,OAAO,EAAE;AAHJ,OAAP;;AAKF,SAAK,MAAL;AACE,aAAO;AACLF,QAAAA,KAAK,EAAEe,aAAM,CAAC9C,SAAP,YAAyBsD,IAD3B;AAELX,QAAAA,QAAQ,EAAEG,aAAM,CAAC9C,SAAP,CAAiB2C,QAAjB,CAA0BW,IAF/B;AAGLrB,QAAAA,OAAO,EAAE;AAHJ,OAAP;;AAKF,SAAK,KAAL;AACE,aAAO;AACLF,QAAAA,KAAK,EAAEe,aAAM,CAAC9C,SAAP,YAAyBuD,IAD3B;AAELZ,QAAAA,QAAQ,EAAEG,aAAM,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,aAAM,CAACY,KAAP,CAAaC,IADf;AAELhB,QAAAA,QAAQ,EAAEG,aAAM,CAACY,KAAP,CAAaE,KAFlB;AAGL3B,QAAAA,OAAO,EAAE;AAHJ,OAAP;AAjEJ;AAuED;;AC1HD4B,4BAAsB,CAAC,QAAD,CAAtB;;;;;;;;"}
@@ -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.CloseIcon,{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 CloseIcon,\n ValidationInfoIcon,\n ValidationErrorIcon,\n ValidationExclamationIcon,\n} from '@entur/icons';\nimport './TravelTag.scss';\n\nexport type TravelTagProps = {\n /** Callback som kalles for når man skal lukke TravelTagen\n * @default undefined\n */\n onClose?: () => void;\n /** Innholdet til TravelTagen */\n children: React.ReactNode;\n /**Ekstra klassenavn */\n className?: string;\n /** Legger til et Valideringsikon i TravelTagen for å signalisere avvik, informasjon e.l.\n * @default \"none\"\n */\n alert?: 'none' | 'error' | 'warning' | 'info';\n transport?:\n | 'bus'\n | 'metro'\n | 'air'\n | 'tram'\n | 'rail'\n | 'water'\n | 'bike'\n | 'scooter'\n | 'foot'\n | 'car';\n} & React.DetailedHTMLProps<\n React.HTMLAttributes<HTMLDivElement>,\n HTMLDivElement\n>;\n\nexport const TravelTag: React.FC<TravelTagProps> = ({\n onClose = undefined,\n children,\n className,\n alert = 'none',\n transport,\n ...rest\n}) => {\n const isClosable = onClose ? true : false;\n const numberOfChildren = React.Children.count(children);\n\n return (\n <div\n className={classNames('eds-travel-tag', {\n 'eds-travel-tag--closable': isClosable,\n 'eds-travel-tag--alert': alert !== 'none',\n 'eds-travel-tag--icon-and-text': numberOfChildren > 1,\n [`eds-travel-tag--transport-${transport}`]: transport,\n className,\n })}\n {...rest}\n >\n {children}\n {isClosable && (\n <button onClick={onClose} className=\"eds-travel-tag__close-button\">\n <CloseIcon inline />\n </button>\n )}\n {alert !== 'none' && (\n <span className=\"eds-travel-tag__alert\">\n {alert === 'info' && (\n <ValidationInfoIcon className=\"eds-travel-tag__alert-info-icon\" />\n )}\n {alert === 'error' && (\n <ValidationExclamationIcon className=\"eds-travel-tag__alert-exclamation-icon\" />\n )}\n {alert === 'warning' && (\n <ValidationErrorIcon className=\"eds-travel-tag__alert-error-icon\" />\n )}\n </span>\n )}\n </div>\n );\n};\n"],"names":["LegLine","color","direction","pattern","className","rest","React","classNames","style","backgroundColor","LegBone","startColor","endColor","showStart","showStop","showLine","warnAboutMissingStyles","as","Element","from","to","size","noWrap","transport","mode","colors","bus","contrast","metro","plane","tram","train","ferry","mobility","walk","taxi","console","error","brand","blue","white","modeCalc","isContrast","useContrast","onClose","undefined","children","alert","isClosable","numberOfChildren","Children","count","onClick","CloseIcon","inline","ValidationInfoIcon","ValidationExclamationIcon","ValidationErrorIcon"],"mappings":"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"}
1
+ {"version":3,"file":"travel.cjs.production.min.js","sources":["../src/LegLine.tsx","../src/LegBone.tsx","../src/index.tsx","../src/TravelHeader.tsx","../src/TravelLeg.tsx","../src/TravelTag.tsx"],"sourcesContent":["import React from 'react';\nimport classNames from 'classnames';\nimport './LegLine.scss';\n\nexport type LegLineProps = {\n /** Farge på LegLine'n */\n color: string;\n /** Retningen til LegLine */\n direction: 'horizontal' | 'vertical';\n /** Hvilket linjemønster som skal brukes */\n pattern: 'line' | 'dashed' | 'dotted' | 'wave';\n /** Ekstra klassenavn */\n className?: string;\n} & React.DetailedHTMLProps<\n React.HTMLAttributes<HTMLDivElement>,\n HTMLDivElement\n>;\n\nexport const LegLine: React.FC<LegLineProps> = ({\n color,\n direction = 'horizontal',\n pattern,\n className,\n ...rest\n}) => {\n return (\n <div\n className={classNames('eds-leg-line', className, {\n [`eds-leg-line--${pattern}`]: pattern,\n [`eds-leg-line--${direction}`]: direction,\n })}\n style={{ backgroundColor: color }}\n {...rest}\n />\n );\n};\n","import React from 'react';\nimport classNames from 'classnames';\nimport { LegLine } from './LegLine';\nimport './LegBone.scss';\n\nexport type LegBoneProps = {\n /** Retning på komponenten */\n direction: 'horizontal' | 'vertical';\n /** Hvilke linjemønster som skal brukes */\n pattern: 'line' | 'dashed' | 'dotted' | 'wave';\n /** Farge på linja */\n color: string;\n /** Farge på startpunktet\n * @default Verdien til color\n */\n startColor?: string;\n /** Farge på endepunktet\n * @default Verdien til color\n */\n endColor?: string;\n /** Vis startpunkt\n * @default true\n */\n showStart?: boolean;\n /** Vis linke\n * @default true\n */\n showLine?: boolean;\n /** Vis endepunkt\n * @default true\n */\n showStop?: boolean;\n /** Ekstra klassenavn */\n className?: string;\n} & React.DetailedHTMLProps<\n React.HTMLAttributes<HTMLDivElement>,\n HTMLDivElement\n>;\n\nexport const LegBone: React.FC<LegBoneProps> = ({\n direction,\n pattern,\n color,\n startColor,\n endColor,\n showStart = true,\n showStop = true,\n showLine = true,\n className,\n ...rest\n}) => {\n return (\n <div\n className={classNames(className, 'eds-leg-bone', [\n { 'eds-leg-bone--vertical': direction === 'vertical' },\n { 'eds-leg-bone--horizontal': direction === 'horizontal' },\n ])}\n {...rest}\n >\n {showStart && (\n <div\n className={`eds-leg-bone__start`}\n style={{ backgroundColor: startColor || color }}\n />\n )}\n\n {showLine && (\n <LegLine\n className={`eds-leg-bone__line`}\n direction={direction}\n color={color}\n pattern={pattern}\n />\n )}\n\n {showStop && (\n <div\n className={`eds-leg-bone__stop`}\n style={{ backgroundColor: endColor || color }}\n />\n )}\n </div>\n );\n};\n","import { warnAboutMissingStyles } from '@entur/utils';\nimport './index.scss';\n\nwarnAboutMissingStyles('travel');\n\nexport * from './TravelHeader';\nexport * from './TravelTag';\nexport * from './LegLine';\nexport * from './LegBone';\nexport * from './TravelLeg';\n","import React from 'react';\nimport classNames from 'classnames';\nimport './TravelHeader.scss';\n\nexport type TravelHeaderProps = {\n /** HTML-elementet eller React-komponenten som lager elementet\n * @default 'div'\n */\n as?: string | React.ElementType;\n /** Destinasjonen man reiser fra */\n from: React.ReactNode;\n /** Destinasjonen man reiser til */\n to: React.ReactNode;\n /**Størrelsen på komponenten\n * @default 'large'\n */\n size?: 'large' | 'medium';\n /** Plassere til og fra på samme linje */\n noWrap?: boolean;\n /**Ekstra klassenavn */\n className?: string;\n [key: string]: any;\n};\n\nexport const TravelHeader: React.FC<TravelHeaderProps> = ({\n as: Element = 'div',\n from,\n to,\n size = 'large',\n className,\n noWrap,\n ...rest\n}) => {\n return (\n <Element\n className={classNames('eds-travel-header', className, {\n 'eds-travel-header--large': size === 'large',\n 'eds-travel-header--medium': size === 'medium',\n 'eds-travel-header--no-wrap': noWrap,\n })}\n aria-label={`Fra ${from}, til ${to}`}\n {...rest}\n >\n <span className=\"eds-travel-header__from\">{from}</span>\n <span className=\"eds-travel-header__to\">{to}</span>\n </Element>\n );\n};\n","import React from 'react';\nimport { LegBone } from './LegBone';\nimport { colors } from '@entur/tokens';\nimport { useContrast } from '@entur/layout';\n\nexport type TravelLegProps = {\n /** Ekstra klassenavn */\n className?: string;\n /** Hviklen type reise som skal vises riktig farge og linjetype */\n transport:\n | 'bus'\n | 'metro'\n | 'air'\n | 'tram'\n | 'rail'\n | 'water'\n | 'bike'\n | 'scooter'\n | 'foot'\n | 'car';\n /** Retningen på komponenten */\n direction: 'horizontal' | 'vertical';\n} & React.DetailedHTMLProps<\n React.HTMLAttributes<HTMLDivElement>,\n HTMLDivElement\n>;\n\nexport const TravelLeg: React.FC<TravelLegProps> = ({\n className,\n transport,\n direction,\n ...rest\n}) => {\n const { color, contrast, pattern } = modeCalc(transport);\n const isContrast = useContrast();\n\n return (\n <LegBone\n direction={direction}\n pattern={pattern}\n color={isContrast ? contrast : color}\n className={className}\n {...rest}\n />\n );\n};\n\ntype modeCalcResult = {\n color: string;\n contrast: string;\n pattern: 'line' | 'wave' | 'dashed' | 'dotted';\n};\n\nfunction modeCalc(mode: string): modeCalcResult {\n switch (mode) {\n case 'bus':\n return {\n color: colors.transport.default.bus,\n contrast: colors.transport.contrast.bus,\n pattern: 'dashed',\n };\n case 'metro':\n return {\n color: colors.transport.default.metro,\n contrast: colors.transport.contrast.metro,\n pattern: 'line',\n };\n case 'air':\n return {\n color: colors.transport.default.plane,\n contrast: colors.transport.contrast.plane,\n pattern: 'line',\n };\n case 'tram':\n return {\n color: colors.transport.default.tram,\n contrast: colors.transport.contrast.tram,\n pattern: 'line',\n };\n case 'rail':\n return {\n color: colors.transport.default.train,\n contrast: colors.transport.contrast.train,\n pattern: 'line',\n };\n case 'water':\n return {\n color: colors.transport.default.ferry,\n contrast: colors.transport.contrast.ferry,\n pattern: 'wave',\n };\n case 'bike':\n return {\n color: colors.transport.default.mobility,\n contrast: colors.transport.contrast.mobility,\n pattern: 'line',\n };\n case 'scooter':\n return {\n color: colors.transport.default.mobility,\n contrast: colors.transport.contrast.mobility,\n pattern: 'line',\n };\n case 'foot':\n return {\n color: colors.transport.default.walk,\n contrast: colors.transport.contrast.walk,\n pattern: 'dotted',\n };\n case 'car':\n return {\n color: colors.transport.default.taxi,\n contrast: colors.transport.contrast.taxi,\n pattern: 'dashed',\n };\n default:\n console.error(\n 'No transport modality was chosen. There is likely an error in your usage of TravelLeg.',\n );\n return {\n color: colors.brand.blue,\n contrast: colors.brand.white,\n pattern: 'line',\n };\n }\n}\n","import React from 'react';\nimport classNames from 'classnames';\nimport {\n CloseSmallIcon,\n ValidationInfoIcon,\n ValidationErrorIcon,\n ValidationExclamationIcon,\n BicycleIcon,\n BusIcon,\n FerryIcon,\n PlaneIcon,\n ScooterIcon,\n SubwayIcon,\n TrainIcon,\n TramIcon,\n WalkingIcon,\n CarIcon,\n TaxiIcon,\n CarferryIcon,\n} from '@entur/icons';\nimport './TravelTag.scss';\n\nexport type TravelTagProps = {\n /** Callback som kalles for når man skal lukke TravelTag-en\n * @default undefined\n */\n onClose?: () => void;\n /** Innholdet inne i TravelTag-en */\n children?: React.ReactNode;\n /**Ekstra klassenavn */\n className?: string;\n /** Legger til et Valideringsikon i TravelTagen for å signalisere avvik, informasjon e.l.\n * @default \"none\"\n */\n alert?: 'none' | 'error' | 'warning' | 'info';\n /** Legger til farge og ikon tilpasset valgt transportmiddel */\n transport?:\n | 'bus'\n | 'metro'\n | 'air'\n | 'tram'\n | 'rail'\n | 'water'\n | 'carferry'\n | 'bike'\n | 'scooter'\n | 'foot'\n | 'car'\n | 'taxi';\n /** Element ved siden av eller under TravelTag. */\n label?: React.ReactNode;\n /** Posisjonen til label-en i forhold til TravelTag-en\n * @default \"right\"\n */\n labelPlacement?: 'bottom' | 'right';\n} & React.DetailedHTMLProps<\n React.HTMLAttributes<HTMLDivElement>,\n HTMLDivElement\n>;\n\nexport const TravelTag: React.FC<TravelTagProps> = ({\n onClose = undefined,\n children,\n className,\n alert = 'none',\n transport,\n label,\n labelPlacement = 'right',\n ...rest\n}) => {\n const isClosable = onClose ? true : false;\n const numberOfChildren = React.Children.count(children);\n const TransportIcon = modeCalc(transport) ?? <></>;\n\n const TravelTagWithoutLabel: JSX.Element = (\n <div\n className={classNames('eds-travel-tag', {\n 'eds-travel-tag--closable': isClosable,\n 'eds-travel-tag--alert': alert !== 'none',\n 'eds-travel-tag--alert--error': alert === 'error',\n 'eds-travel-tag--icon-and-text':\n numberOfChildren > 1 || (transport && numberOfChildren > 0),\n [`eds-travel-tag--transport-${transport}`]: transport,\n className,\n })}\n {...rest}\n >\n {transport && TransportIcon}\n {children}\n {isClosable && (\n <button onClick={onClose} className=\"eds-travel-tag__close-button\">\n <CloseSmallIcon inline />\n </button>\n )}\n {alert !== 'none' && (\n <span className=\"eds-travel-tag__alert\">\n {alert === 'info' && (\n <ValidationInfoIcon className=\"eds-travel-tag__alert-info-icon\" />\n )}\n {alert === 'error' && (\n <ValidationErrorIcon className=\"eds-travel-tag__alert-error-icon\" />\n )}\n {alert === 'warning' && (\n <ValidationExclamationIcon className=\"eds-travel-tag__alert-exclamation-icon\" />\n )}\n </span>\n )}\n </div>\n );\n\n const Label: JSX.Element = (\n <div\n className={classNames('eds-travel-tag__label', {\n [`eds-travel-tag__label--${labelPlacement}`]: label,\n [`eds-travel-tag__label--${labelPlacement}--with-alert`]:\n label && alert !== 'none',\n })}\n >\n {label}\n </div>\n );\n\n if (label) {\n return (\n <div\n className={classNames('eds-travel-tag__wrapper', {\n [`eds-travel-tag__wrapper--label-position-${labelPlacement}`]: label,\n })}\n >\n {TravelTagWithoutLabel}\n {Label}\n </div>\n );\n }\n\n return TravelTagWithoutLabel;\n};\n\nconst modeCalc = (mode: string | undefined) => {\n switch (mode) {\n case 'bus':\n return <BusIcon />;\n case 'metro':\n return <SubwayIcon />;\n case 'air':\n return <PlaneIcon />;\n case 'tram':\n return <TramIcon />;\n case 'rail':\n return <TrainIcon />;\n case 'water':\n return <FerryIcon />;\n case 'carferry':\n return <CarferryIcon />;\n case 'bike':\n return <BicycleIcon />;\n case 'scooter':\n return <ScooterIcon />;\n case 'foot':\n return <WalkingIcon />;\n case 'car':\n return <CarIcon />;\n case 'taxi':\n return <TaxiIcon />;\n default:\n return <></>;\n }\n};\n"],"names":["LegLine","color","direction","pattern","className","rest","React","classNames","style","backgroundColor","LegBone","startColor","endColor","showStart","showStop","showLine","warnAboutMissingStyles","as","Element","from","to","size","noWrap","transport","mode","colors","bus","contrast","metro","plane","tram","train","ferry","mobility","walk","taxi","console","error","brand","blue","white","modeCalc","isContrast","useContrast","onClose","undefined","children","alert","label","labelPlacement","isClosable","numberOfChildren","Children","count","TransportIcon","BusIcon","SubwayIcon","PlaneIcon","TramIcon","TrainIcon","FerryIcon","CarferryIcon","BicycleIcon","ScooterIcon","WalkingIcon","CarIcon","TaxiIcon","TravelTagWithoutLabel","onClick","CloseSmallIcon","inline","ValidationInfoIcon","ValidationErrorIcon","ValidationExclamationIcon","Label"],"mappings":"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"}
@@ -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 { CloseIcon, 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,32 +75,94 @@ var TravelTag = function TravelTag(_ref) {
55
75
  _ref$alert = _ref.alert,
56
76
  alert = _ref$alert === void 0 ? 'none' : _ref$alert,
57
77
  transport = _ref.transport,
58
- 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
- }, React.createElement(CloseIcon, {
96
+ }, React.createElement(CloseSmallIcon, {
72
97
  inline: true
73
98
  })), alert !== 'none' && React.createElement("span", {
74
99
  className: "eds-travel-tag__alert"
75
100
  }, alert === 'info' && React.createElement(ValidationInfoIcon, {
76
101
  className: "eds-travel-tag__alert-info-icon"
77
- }), alert === 'error' && React.createElement(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 CloseIcon,\n ValidationInfoIcon,\n ValidationErrorIcon,\n ValidationExclamationIcon,\n} from '@entur/icons';\nimport './TravelTag.scss';\n\nexport type TravelTagProps = {\n /** Callback som kalles for når man skal lukke TravelTagen\n * @default undefined\n */\n onClose?: () => void;\n /** Innholdet til TravelTagen */\n children: React.ReactNode;\n /**Ekstra klassenavn */\n className?: string;\n /** Legger til et Valideringsikon i TravelTagen for å signalisere avvik, informasjon e.l.\n * @default \"none\"\n */\n alert?: 'none' | 'error' | 'warning' | 'info';\n transport?:\n | 'bus'\n | 'metro'\n | 'air'\n | 'tram'\n | 'rail'\n | 'water'\n | 'bike'\n | 'scooter'\n | 'foot'\n | 'car';\n} & React.DetailedHTMLProps<\n React.HTMLAttributes<HTMLDivElement>,\n HTMLDivElement\n>;\n\nexport const TravelTag: React.FC<TravelTagProps> = ({\n onClose = undefined,\n children,\n className,\n alert = 'none',\n transport,\n ...rest\n}) => {\n const isClosable = onClose ? true : false;\n const numberOfChildren = React.Children.count(children);\n\n return (\n <div\n className={classNames('eds-travel-tag', {\n 'eds-travel-tag--closable': isClosable,\n 'eds-travel-tag--alert': alert !== 'none',\n 'eds-travel-tag--icon-and-text': numberOfChildren > 1,\n [`eds-travel-tag--transport-${transport}`]: transport,\n className,\n })}\n {...rest}\n >\n {children}\n {isClosable && (\n <button onClick={onClose} className=\"eds-travel-tag__close-button\">\n <CloseIcon inline />\n </button>\n )}\n {alert !== 'none' && (\n <span className=\"eds-travel-tag__alert\">\n {alert === 'info' && (\n <ValidationInfoIcon className=\"eds-travel-tag__alert-info-icon\" />\n )}\n {alert === 'error' && (\n <ValidationExclamationIcon className=\"eds-travel-tag__alert-exclamation-icon\" />\n )}\n {alert === 'warning' && (\n <ValidationErrorIcon className=\"eds-travel-tag__alert-error-icon\" />\n )}\n </span>\n )}\n </div>\n );\n};\n","import React from 'react';\nimport classNames from 'classnames';\nimport './LegLine.scss';\n\nexport type LegLineProps = {\n /** Farge på LegLine'n */\n color: string;\n /** Retningen til LegLine */\n direction: 'horizontal' | 'vertical';\n /** Hvilket linjemønster som skal brukes */\n pattern: 'line' | 'dashed' | 'dotted' | 'wave';\n /** Ekstra klassenavn */\n className?: string;\n} & React.DetailedHTMLProps<\n React.HTMLAttributes<HTMLDivElement>,\n HTMLDivElement\n>;\n\nexport const LegLine: React.FC<LegLineProps> = ({\n color,\n direction = 'horizontal',\n pattern,\n className,\n ...rest\n}) => {\n return (\n <div\n className={classNames('eds-leg-line', className, {\n [`eds-leg-line--${pattern}`]: pattern,\n [`eds-leg-line--${direction}`]: direction,\n })}\n style={{ backgroundColor: color }}\n {...rest}\n />\n );\n};\n","import React from 'react';\nimport classNames from 'classnames';\nimport { LegLine } from './LegLine';\nimport './LegBone.scss';\n\nexport type LegBoneProps = {\n /** Retning på komponenten */\n direction: 'horizontal' | 'vertical';\n /** Hvilke linjemønster som skal brukes */\n pattern: 'line' | 'dashed' | 'dotted' | 'wave';\n /** Farge på linja */\n color: string;\n /** Farge på startpunktet\n * @default Verdien til color\n */\n startColor?: string;\n /** Farge på endepunktet\n * @default Verdien til color\n */\n endColor?: string;\n /** Vis startpunkt\n * @default true\n */\n showStart?: boolean;\n /** Vis linke\n * @default true\n */\n showLine?: boolean;\n /** Vis endepunkt\n * @default true\n */\n showStop?: boolean;\n /** Ekstra klassenavn */\n className?: string;\n} & React.DetailedHTMLProps<\n React.HTMLAttributes<HTMLDivElement>,\n HTMLDivElement\n>;\n\nexport const LegBone: React.FC<LegBoneProps> = ({\n direction,\n pattern,\n color,\n startColor,\n endColor,\n showStart = true,\n showStop = true,\n showLine = true,\n className,\n ...rest\n}) => {\n return (\n <div\n className={classNames(className, 'eds-leg-bone', [\n { 'eds-leg-bone--vertical': direction === 'vertical' },\n { 'eds-leg-bone--horizontal': direction === 'horizontal' },\n ])}\n {...rest}\n >\n {showStart && (\n <div\n className={`eds-leg-bone__start`}\n style={{ backgroundColor: startColor || color }}\n />\n )}\n\n {showLine && (\n <LegLine\n className={`eds-leg-bone__line`}\n direction={direction}\n color={color}\n pattern={pattern}\n />\n )}\n\n {showStop && (\n <div\n className={`eds-leg-bone__stop`}\n style={{ backgroundColor: endColor || color }}\n />\n )}\n </div>\n );\n};\n","import React from 'react';\nimport { LegBone } from './LegBone';\nimport { colors } from '@entur/tokens';\nimport { useContrast } from '@entur/layout';\n\nexport type TravelLegProps = {\n /** Ekstra klassenavn */\n className?: string;\n /** Hviklen type reise som skal vises riktig farge og linjetype */\n transport:\n | 'bus'\n | 'metro'\n | 'air'\n | 'tram'\n | 'rail'\n | 'water'\n | 'bike'\n | 'scooter'\n | 'foot'\n | 'car';\n /** Retningen på komponenten */\n direction: 'horizontal' | 'vertical';\n} & React.DetailedHTMLProps<\n React.HTMLAttributes<HTMLDivElement>,\n HTMLDivElement\n>;\n\nexport const TravelLeg: React.FC<TravelLegProps> = ({\n className,\n transport,\n direction,\n ...rest\n}) => {\n const { color, contrast, pattern } = modeCalc(transport);\n const isContrast = useContrast();\n\n return (\n <LegBone\n direction={direction}\n pattern={pattern}\n color={isContrast ? contrast : color}\n className={className}\n {...rest}\n />\n );\n};\n\ntype modeCalcResult = {\n color: string;\n contrast: string;\n pattern: 'line' | 'wave' | 'dashed' | 'dotted';\n};\n\nfunction modeCalc(mode: string): modeCalcResult {\n switch (mode) {\n case 'bus':\n return {\n color: colors.transport.default.bus,\n contrast: colors.transport.contrast.bus,\n pattern: 'dashed',\n };\n case 'metro':\n return {\n color: colors.transport.default.metro,\n contrast: colors.transport.contrast.metro,\n pattern: 'line',\n };\n case 'air':\n return {\n color: colors.transport.default.plane,\n contrast: colors.transport.contrast.plane,\n pattern: 'line',\n };\n case 'tram':\n return {\n color: colors.transport.default.tram,\n contrast: colors.transport.contrast.tram,\n pattern: 'line',\n };\n case 'rail':\n return {\n color: colors.transport.default.train,\n contrast: colors.transport.contrast.train,\n pattern: 'line',\n };\n case 'water':\n return {\n color: colors.transport.default.ferry,\n contrast: colors.transport.contrast.ferry,\n pattern: 'wave',\n };\n case 'bike':\n return {\n color: colors.transport.default.mobility,\n contrast: colors.transport.contrast.mobility,\n pattern: 'line',\n };\n case 'scooter':\n return {\n color: colors.transport.default.mobility,\n contrast: colors.transport.contrast.mobility,\n pattern: 'line',\n };\n case 'foot':\n return {\n color: colors.transport.default.walk,\n contrast: colors.transport.contrast.walk,\n pattern: 'dotted',\n };\n case 'car':\n return {\n color: colors.transport.default.taxi,\n contrast: colors.transport.contrast.taxi,\n pattern: 'dashed',\n };\n default:\n console.error(\n 'No transport modality was chosen. There is likely an error in your usage of TravelLeg.',\n );\n return {\n color: colors.brand.blue,\n contrast: colors.brand.white,\n pattern: 'line',\n };\n }\n}\n","import { warnAboutMissingStyles } from '@entur/utils';\nimport './index.scss';\n\nwarnAboutMissingStyles('travel');\n\nexport * from './TravelHeader';\nexport * from './TravelTag';\nexport * from './LegLine';\nexport * from './LegBone';\nexport * from './TravelLeg';\n"],"names":["TravelHeader","as","Element","from","to","size","className","noWrap","rest","React","classNames","TravelTag","onClose","undefined","children","alert","transport","isClosable","numberOfChildren","Children","count","onClick","CloseIcon","inline","ValidationInfoIcon","ValidationExclamationIcon","ValidationErrorIcon","LegLine","color","direction","pattern","style","backgroundColor","LegBone","startColor","endColor","showStart","showStop","showLine","TravelLeg","modeCalc","contrast","isContrast","useContrast","mode","colors","bus","metro","plane","tram","train","ferry","mobility","walk","taxi","console","error","brand","blue","white","warnAboutMissingStyles"],"mappings":"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"}
1
+ {"version":3,"file":"travel.esm.js","sources":["../src/TravelHeader.tsx","../src/TravelTag.tsx","../src/LegLine.tsx","../src/LegBone.tsx","../src/TravelLeg.tsx","../src/index.tsx"],"sourcesContent":["import React from 'react';\nimport classNames from 'classnames';\nimport './TravelHeader.scss';\n\nexport type TravelHeaderProps = {\n /** HTML-elementet eller React-komponenten som lager elementet\n * @default 'div'\n */\n as?: string | React.ElementType;\n /** Destinasjonen man reiser fra */\n from: React.ReactNode;\n /** Destinasjonen man reiser til */\n to: React.ReactNode;\n /**Størrelsen på komponenten\n * @default 'large'\n */\n size?: 'large' | 'medium';\n /** Plassere til og fra på samme linje */\n noWrap?: boolean;\n /**Ekstra klassenavn */\n className?: string;\n [key: string]: any;\n};\n\nexport const TravelHeader: React.FC<TravelHeaderProps> = ({\n as: Element = 'div',\n from,\n to,\n size = 'large',\n className,\n noWrap,\n ...rest\n}) => {\n return (\n <Element\n className={classNames('eds-travel-header', className, {\n 'eds-travel-header--large': size === 'large',\n 'eds-travel-header--medium': size === 'medium',\n 'eds-travel-header--no-wrap': noWrap,\n })}\n aria-label={`Fra ${from}, til ${to}`}\n {...rest}\n >\n <span className=\"eds-travel-header__from\">{from}</span>\n <span className=\"eds-travel-header__to\">{to}</span>\n </Element>\n );\n};\n","import React from 'react';\nimport classNames from 'classnames';\nimport {\n CloseSmallIcon,\n ValidationInfoIcon,\n ValidationErrorIcon,\n ValidationExclamationIcon,\n BicycleIcon,\n BusIcon,\n FerryIcon,\n PlaneIcon,\n ScooterIcon,\n SubwayIcon,\n TrainIcon,\n TramIcon,\n WalkingIcon,\n CarIcon,\n TaxiIcon,\n CarferryIcon,\n} from '@entur/icons';\nimport './TravelTag.scss';\n\nexport type TravelTagProps = {\n /** Callback som kalles for når man skal lukke TravelTag-en\n * @default undefined\n */\n onClose?: () => void;\n /** Innholdet inne i TravelTag-en */\n children?: React.ReactNode;\n /**Ekstra klassenavn */\n className?: string;\n /** Legger til et Valideringsikon i TravelTagen for å signalisere avvik, informasjon e.l.\n * @default \"none\"\n */\n alert?: 'none' | 'error' | 'warning' | 'info';\n /** Legger til farge og ikon tilpasset valgt transportmiddel */\n transport?:\n | 'bus'\n | 'metro'\n | 'air'\n | 'tram'\n | 'rail'\n | 'water'\n | 'carferry'\n | 'bike'\n | 'scooter'\n | 'foot'\n | 'car'\n | 'taxi';\n /** Element ved siden av eller under TravelTag. */\n label?: React.ReactNode;\n /** Posisjonen til label-en i forhold til TravelTag-en\n * @default \"right\"\n */\n labelPlacement?: 'bottom' | 'right';\n} & React.DetailedHTMLProps<\n React.HTMLAttributes<HTMLDivElement>,\n HTMLDivElement\n>;\n\nexport const TravelTag: React.FC<TravelTagProps> = ({\n onClose = undefined,\n children,\n className,\n alert = 'none',\n transport,\n label,\n labelPlacement = 'right',\n ...rest\n}) => {\n const isClosable = onClose ? true : false;\n const numberOfChildren = React.Children.count(children);\n const TransportIcon = modeCalc(transport) ?? <></>;\n\n const TravelTagWithoutLabel: JSX.Element = (\n <div\n className={classNames('eds-travel-tag', {\n 'eds-travel-tag--closable': isClosable,\n 'eds-travel-tag--alert': alert !== 'none',\n 'eds-travel-tag--alert--error': alert === 'error',\n 'eds-travel-tag--icon-and-text':\n numberOfChildren > 1 || (transport && numberOfChildren > 0),\n [`eds-travel-tag--transport-${transport}`]: transport,\n className,\n })}\n {...rest}\n >\n {transport && TransportIcon}\n {children}\n {isClosable && (\n <button onClick={onClose} className=\"eds-travel-tag__close-button\">\n <CloseSmallIcon inline />\n </button>\n )}\n {alert !== 'none' && (\n <span className=\"eds-travel-tag__alert\">\n {alert === 'info' && (\n <ValidationInfoIcon className=\"eds-travel-tag__alert-info-icon\" />\n )}\n {alert === 'error' && (\n <ValidationErrorIcon className=\"eds-travel-tag__alert-error-icon\" />\n )}\n {alert === 'warning' && (\n <ValidationExclamationIcon className=\"eds-travel-tag__alert-exclamation-icon\" />\n )}\n </span>\n )}\n </div>\n );\n\n const Label: JSX.Element = (\n <div\n className={classNames('eds-travel-tag__label', {\n [`eds-travel-tag__label--${labelPlacement}`]: label,\n [`eds-travel-tag__label--${labelPlacement}--with-alert`]:\n label && alert !== 'none',\n })}\n >\n {label}\n </div>\n );\n\n if (label) {\n return (\n <div\n className={classNames('eds-travel-tag__wrapper', {\n [`eds-travel-tag__wrapper--label-position-${labelPlacement}`]: label,\n })}\n >\n {TravelTagWithoutLabel}\n {Label}\n </div>\n );\n }\n\n return TravelTagWithoutLabel;\n};\n\nconst modeCalc = (mode: string | undefined) => {\n switch (mode) {\n case 'bus':\n return <BusIcon />;\n case 'metro':\n return <SubwayIcon />;\n case 'air':\n return <PlaneIcon />;\n case 'tram':\n return <TramIcon />;\n case 'rail':\n return <TrainIcon />;\n case 'water':\n return <FerryIcon />;\n case 'carferry':\n return <CarferryIcon />;\n case 'bike':\n return <BicycleIcon />;\n case 'scooter':\n return <ScooterIcon />;\n case 'foot':\n return <WalkingIcon />;\n case 'car':\n return <CarIcon />;\n case 'taxi':\n return <TaxiIcon />;\n default:\n return <></>;\n }\n};\n","import React from 'react';\nimport classNames from 'classnames';\nimport './LegLine.scss';\n\nexport type LegLineProps = {\n /** Farge på LegLine'n */\n color: string;\n /** Retningen til LegLine */\n direction: 'horizontal' | 'vertical';\n /** Hvilket linjemønster som skal brukes */\n pattern: 'line' | 'dashed' | 'dotted' | 'wave';\n /** Ekstra klassenavn */\n className?: string;\n} & React.DetailedHTMLProps<\n React.HTMLAttributes<HTMLDivElement>,\n HTMLDivElement\n>;\n\nexport const LegLine: React.FC<LegLineProps> = ({\n color,\n direction = 'horizontal',\n pattern,\n className,\n ...rest\n}) => {\n return (\n <div\n className={classNames('eds-leg-line', className, {\n [`eds-leg-line--${pattern}`]: pattern,\n [`eds-leg-line--${direction}`]: direction,\n })}\n style={{ backgroundColor: color }}\n {...rest}\n />\n );\n};\n","import React from 'react';\nimport classNames from 'classnames';\nimport { LegLine } from './LegLine';\nimport './LegBone.scss';\n\nexport type LegBoneProps = {\n /** Retning på komponenten */\n direction: 'horizontal' | 'vertical';\n /** Hvilke linjemønster som skal brukes */\n pattern: 'line' | 'dashed' | 'dotted' | 'wave';\n /** Farge på linja */\n color: string;\n /** Farge på startpunktet\n * @default Verdien til color\n */\n startColor?: string;\n /** Farge på endepunktet\n * @default Verdien til color\n */\n endColor?: string;\n /** Vis startpunkt\n * @default true\n */\n showStart?: boolean;\n /** Vis linke\n * @default true\n */\n showLine?: boolean;\n /** Vis endepunkt\n * @default true\n */\n showStop?: boolean;\n /** Ekstra klassenavn */\n className?: string;\n} & React.DetailedHTMLProps<\n React.HTMLAttributes<HTMLDivElement>,\n HTMLDivElement\n>;\n\nexport const LegBone: React.FC<LegBoneProps> = ({\n direction,\n pattern,\n color,\n startColor,\n endColor,\n showStart = true,\n showStop = true,\n showLine = true,\n className,\n ...rest\n}) => {\n return (\n <div\n className={classNames(className, 'eds-leg-bone', [\n { 'eds-leg-bone--vertical': direction === 'vertical' },\n { 'eds-leg-bone--horizontal': direction === 'horizontal' },\n ])}\n {...rest}\n >\n {showStart && (\n <div\n className={`eds-leg-bone__start`}\n style={{ backgroundColor: startColor || color }}\n />\n )}\n\n {showLine && (\n <LegLine\n className={`eds-leg-bone__line`}\n direction={direction}\n color={color}\n pattern={pattern}\n />\n )}\n\n {showStop && (\n <div\n className={`eds-leg-bone__stop`}\n style={{ backgroundColor: endColor || color }}\n />\n )}\n </div>\n );\n};\n","import React from 'react';\nimport { LegBone } from './LegBone';\nimport { colors } from '@entur/tokens';\nimport { useContrast } from '@entur/layout';\n\nexport type TravelLegProps = {\n /** Ekstra klassenavn */\n className?: string;\n /** Hviklen type reise som skal vises riktig farge og linjetype */\n transport:\n | 'bus'\n | 'metro'\n | 'air'\n | 'tram'\n | 'rail'\n | 'water'\n | 'bike'\n | 'scooter'\n | 'foot'\n | 'car';\n /** Retningen på komponenten */\n direction: 'horizontal' | 'vertical';\n} & React.DetailedHTMLProps<\n React.HTMLAttributes<HTMLDivElement>,\n HTMLDivElement\n>;\n\nexport const TravelLeg: React.FC<TravelLegProps> = ({\n className,\n transport,\n direction,\n ...rest\n}) => {\n const { color, contrast, pattern } = modeCalc(transport);\n const isContrast = useContrast();\n\n return (\n <LegBone\n direction={direction}\n pattern={pattern}\n color={isContrast ? contrast : color}\n className={className}\n {...rest}\n />\n );\n};\n\ntype modeCalcResult = {\n color: string;\n contrast: string;\n pattern: 'line' | 'wave' | 'dashed' | 'dotted';\n};\n\nfunction modeCalc(mode: string): modeCalcResult {\n switch (mode) {\n case 'bus':\n return {\n color: colors.transport.default.bus,\n contrast: colors.transport.contrast.bus,\n pattern: 'dashed',\n };\n case 'metro':\n return {\n color: colors.transport.default.metro,\n contrast: colors.transport.contrast.metro,\n pattern: 'line',\n };\n case 'air':\n return {\n color: colors.transport.default.plane,\n contrast: colors.transport.contrast.plane,\n pattern: 'line',\n };\n case 'tram':\n return {\n color: colors.transport.default.tram,\n contrast: colors.transport.contrast.tram,\n pattern: 'line',\n };\n case 'rail':\n return {\n color: colors.transport.default.train,\n contrast: colors.transport.contrast.train,\n pattern: 'line',\n };\n case 'water':\n return {\n color: colors.transport.default.ferry,\n contrast: colors.transport.contrast.ferry,\n pattern: 'wave',\n };\n case 'bike':\n return {\n color: colors.transport.default.mobility,\n contrast: colors.transport.contrast.mobility,\n pattern: 'line',\n };\n case 'scooter':\n return {\n color: colors.transport.default.mobility,\n contrast: colors.transport.contrast.mobility,\n pattern: 'line',\n };\n case 'foot':\n return {\n color: colors.transport.default.walk,\n contrast: colors.transport.contrast.walk,\n pattern: 'dotted',\n };\n case 'car':\n return {\n color: colors.transport.default.taxi,\n contrast: colors.transport.contrast.taxi,\n pattern: 'dashed',\n };\n default:\n console.error(\n 'No transport modality was chosen. There is likely an error in your usage of TravelLeg.',\n );\n return {\n color: colors.brand.blue,\n contrast: colors.brand.white,\n pattern: 'line',\n };\n }\n}\n","import { warnAboutMissingStyles } from '@entur/utils';\nimport './index.scss';\n\nwarnAboutMissingStyles('travel');\n\nexport * from './TravelHeader';\nexport * from './TravelTag';\nexport * from './LegLine';\nexport * from './LegBone';\nexport * from './TravelLeg';\n"],"names":["TravelHeader","as","Element","from","to","size","className","noWrap","rest","React","classNames","TravelTag","onClose","undefined","children","alert","transport","label","labelPlacement","isClosable","numberOfChildren","Children","count","TransportIcon","modeCalc","TravelTagWithoutLabel","onClick","CloseSmallIcon","inline","ValidationInfoIcon","ValidationErrorIcon","ValidationExclamationIcon","Label","mode","BusIcon","SubwayIcon","PlaneIcon","TramIcon","TrainIcon","FerryIcon","CarferryIcon","BicycleIcon","ScooterIcon","WalkingIcon","CarIcon","TaxiIcon","LegLine","color","direction","pattern","style","backgroundColor","LegBone","startColor","endColor","showStart","showStop","showLine","TravelLeg","contrast","isContrast","useContrast","colors","bus","metro","plane","tram","train","ferry","mobility","walk","taxi","console","error","brand","blue","white","warnAboutMissingStyles"],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@entur/travel",
3
- "version": "4.2.12",
3
+ "version": "5.0.1",
4
4
  "license": "EUPL-1.2",
5
5
  "main": "dist/index.js",
6
6
  "module": "dist/travel.esm.js",
@@ -17,16 +17,16 @@
17
17
  "access": "public"
18
18
  },
19
19
  "scripts": {
20
- "start": "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.3.0",
27
- "@entur/layout": "^2.1.2",
28
- "@entur/tokens": "^3.2.1",
29
- "@entur/utils": "^0.4.2",
26
+ "@entur/icons": "^3.4.1",
27
+ "@entur/layout": "^2.1.4",
28
+ "@entur/tokens": "^3.3.1",
29
+ "@entur/utils": "^0.4.3",
30
30
  "classnames": "^2.3.1"
31
31
  },
32
32
  "peerDependencies": {
@@ -36,5 +36,5 @@
36
36
  "devDependencies": {
37
37
  "rollup-plugin-sass": "^1.2.2"
38
38
  },
39
- "gitHead": "d3611d9b3374c6aafc0b95b9ebac011f7b1a7785"
39
+ "gitHead": "61e643371cfc5653c93160b7c220152e5b2bafeb"
40
40
  }