@entur/travel 6.1.7 → 6.1.8

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.
@@ -1,9 +1,8 @@
1
1
  import { warnAboutMissingStyles } from '@entur/utils';
2
- import React, { useRef, useEffect } from 'react';
2
+ import React, { useRef, cloneElement, useEffect } from 'react';
3
3
  import classNames from 'classnames';
4
4
  import { TrainIcon, BusIcon, MobilityIcon, CarferryIcon, FerryIcon, WalkIcon, BicycleIcon, TaxiIcon, CablewayIcon, FunicularIcon, TramIcon, HelicopterIcon, PlaneIcon, MetroIcon, CloseSmallIcon, ValidationInfoIcon, ValidationErrorIcon, ValidationExclamationIcon } from '@entur/icons';
5
5
  import { useContrast } from '@entur/layout';
6
- import { colors } from '@entur/tokens';
7
6
  import { Switch } from '@entur/form';
8
7
 
9
8
  function _extends() {
@@ -63,16 +62,12 @@ var getTransportStyle = function getTransportStyle(mode) {
63
62
  case 'metro':
64
63
  return {
65
64
  Icon: MetroIcon,
66
- backgroundColor: colors.transport["default"].metro,
67
- contrastBackgroundColor: colors.transport.contrast.metro,
68
65
  pattern: 'line',
69
66
  ariaLabel: 'T-bane'
70
67
  };
71
68
  case 'bus':
72
69
  return {
73
70
  Icon: BusIcon,
74
- backgroundColor: colors.transport["default"].bus,
75
- contrastBackgroundColor: colors.transport.contrast.bus,
76
71
  pattern: 'dashed',
77
72
  ariaLabel: 'Buss'
78
73
  };
@@ -80,64 +75,48 @@ var getTransportStyle = function getTransportStyle(mode) {
80
75
  case 'air':
81
76
  return {
82
77
  Icon: PlaneIcon,
83
- backgroundColor: colors.transport["default"].plane,
84
- contrastBackgroundColor: colors.transport.contrast.plane,
85
78
  pattern: 'line',
86
79
  ariaLabel: 'Fly'
87
80
  };
88
81
  case 'helicopter':
89
82
  return {
90
83
  Icon: HelicopterIcon,
91
- backgroundColor: colors.transport["default"].helicopter,
92
- contrastBackgroundColor: colors.transport.contrast.helicopter,
93
84
  pattern: 'line',
94
85
  ariaLabel: 'Helikopter'
95
86
  };
96
87
  case 'tram':
97
88
  return {
98
89
  Icon: TramIcon,
99
- backgroundColor: colors.transport["default"].tram,
100
- contrastBackgroundColor: colors.transport.contrast.tram,
101
90
  pattern: 'line',
102
91
  ariaLabel: 'Trikk'
103
92
  };
104
93
  case 'funicular':
105
94
  return {
106
95
  Icon: FunicularIcon,
107
- backgroundColor: colors.transport["default"].funicular,
108
- contrastBackgroundColor: colors.transport.contrast.funicular,
109
96
  pattern: 'line',
110
97
  ariaLabel: 'Taubane'
111
98
  };
112
99
  case 'cableway':
113
100
  return {
114
101
  Icon: CablewayIcon,
115
- backgroundColor: colors.transport["default"].cableway,
116
- contrastBackgroundColor: colors.transport.contrast.cableway,
117
102
  pattern: 'line',
118
103
  ariaLabel: 'Gondol'
119
104
  };
120
105
  case 'taxi':
121
106
  return {
122
107
  Icon: TaxiIcon,
123
- backgroundColor: colors.transport["default"].taxi,
124
- contrastBackgroundColor: colors.transport.contrast.taxi,
125
108
  pattern: 'dashed',
126
109
  ariaLabel: 'Taxi'
127
110
  };
128
111
  case 'bicycle':
129
112
  return {
130
113
  Icon: BicycleIcon,
131
- backgroundColor: colors.transport["default"].bicycle,
132
- contrastBackgroundColor: colors.transport.contrast.bicycle,
133
- pattern: 'line',
114
+ pattern: 'dashed',
134
115
  ariaLabel: 'Sykkel'
135
116
  };
136
117
  case 'walk':
137
118
  return {
138
119
  Icon: WalkIcon,
139
- backgroundColor: colors.transport["default"].walk,
140
- contrastBackgroundColor: colors.transport.contrast.walk,
141
120
  pattern: 'dotted',
142
121
  ariaLabel: 'Gange'
143
122
  };
@@ -145,8 +124,6 @@ var getTransportStyle = function getTransportStyle(mode) {
145
124
  case 'rail':
146
125
  return {
147
126
  Icon: TrainIcon,
148
- backgroundColor: colors.transport["default"].train,
149
- contrastBackgroundColor: colors.transport.contrast.train,
150
127
  pattern: 'line',
151
128
  ariaLabel: 'Tog'
152
129
  };
@@ -154,48 +131,36 @@ var getTransportStyle = function getTransportStyle(mode) {
154
131
  case 'water':
155
132
  return {
156
133
  Icon: FerryIcon,
157
- backgroundColor: colors.transport["default"].ferry,
158
- contrastBackgroundColor: colors.transport.contrast.ferry,
159
134
  pattern: 'wave',
160
135
  ariaLabel: 'Ferge'
161
136
  };
162
137
  case 'carferry':
163
138
  return {
164
139
  Icon: CarferryIcon,
165
- backgroundColor: colors.transport["default"].carferry,
166
- contrastBackgroundColor: colors.transport.contrast.carferry,
167
140
  pattern: 'wave',
168
141
  ariaLabel: 'Bilferge'
169
142
  };
170
143
  case 'mobility':
171
144
  return {
172
145
  Icon: MobilityIcon,
173
- backgroundColor: colors.transport["default"].mobility,
174
- contrastBackgroundColor: colors.transport.contrast.mobility,
175
146
  pattern: 'line',
176
147
  ariaLabel: 'El-sparkesykkel'
177
148
  };
178
149
  case 'airportLinkBus':
179
150
  return {
180
151
  Icon: BusIcon,
181
- backgroundColor: colors.transport["default"].plane,
182
- contrastBackgroundColor: colors.transport.contrast.plane,
183
152
  pattern: 'dashed',
184
153
  ariaLabel: 'Flybuss'
185
154
  };
186
155
  case 'airportLinkRail':
187
156
  return {
188
157
  Icon: TrainIcon,
189
- backgroundColor: colors.transport["default"].plane,
190
- contrastBackgroundColor: colors.transport.contrast.plane,
191
158
  pattern: 'line',
192
159
  ariaLabel: 'Flytog'
193
160
  };
194
161
  case 'none':
195
162
  return {
196
163
  Icon: React.Fragment,
197
- backgroundColor: colors.brand.blue,
198
- contrastBackgroundColor: colors.brand.white,
199
164
  pattern: 'line',
200
165
  ariaLabel: ''
201
166
  };
@@ -214,7 +179,7 @@ var getTransportStyle = function getTransportStyle(mode) {
214
179
 
215
180
  var _excluded$4 = ["children", "className", "alert", "transport", "label", "labelPlacement", "onClose"];
216
181
  var TravelTag = function TravelTag(_ref) {
217
- var _rest$ariaLabel, _classNames;
182
+ var _classNames;
218
183
  var children = _ref.children,
219
184
  className = _ref.className,
220
185
  _ref$alert = _ref.alert,
@@ -235,15 +200,40 @@ var TravelTag = function TravelTag(_ref) {
235
200
  var numberOfChildren = React.Children.count(children);
236
201
  var _getTransportStyle = getTransportStyle(transport),
237
202
  Icon = _getTransportStyle.Icon,
238
- contrastBackgroundColor = _getTransportStyle.contrastBackgroundColor,
239
- backgroundColor = _getTransportStyle.backgroundColor,
240
- ariaLabel = _getTransportStyle.ariaLabel;
203
+ ariaLabelForTranportIcon = _getTransportStyle.ariaLabel;
204
+ var deCapitalizeTransport = transport.toLowerCase();
205
+ var IconWithAriaHidden = cloneElement(React.createElement(Icon, null), {
206
+ 'aria-hidden': 'true'
207
+ });
208
+ var backgroundColor = 'var(--components-travel-traveltag-standard-tagfill-' + deCapitalizeTransport + ')';
209
+ var contrastBackgroundColor = 'var(--components-travel-traveltag-contrast-tagfill-' + deCapitalizeTransport + ')';
210
+ // Error colors
211
+ var errorBackgroundColor = 'var(--components-travel-traveltag-standard-tagfill-' + deCapitalizeTransport + '-cancled)';
212
+ var errorContrastBackgroundColor = 'var(--components-travel-traveltag-contrast-tagfill-' + deCapitalizeTransport + '-cancled)';
213
+ var errorContrastTextColor = 'var(--components-travel-traveltag-contrast-text-line-' + deCapitalizeTransport + '-cancled)';
214
+ var errorTextColor = 'var(--components-travel-traveltag-standard-text-line-' + deCapitalizeTransport + '-cancled)';
241
215
  useEffect(function () {
242
216
  if (transportIsSet) {
243
- var _tagRef$current;
244
- (_tagRef$current = tagRef.current) == null ? void 0 : _tagRef$current.style.setProperty('--background-color', isContrast ? contrastBackgroundColor : backgroundColor);
217
+ var _tagRef$current3;
218
+ var colorToSet;
219
+ var textColorToSet;
220
+ // Walk has another icon/text color then the other transports
221
+ if (transport === 'walk') {
222
+ var _tagRef$current;
223
+ (_tagRef$current = tagRef.current) == null ? void 0 : _tagRef$current.style.setProperty('--text-color', 'var(--components-travel-traveltag-standard-icon-walk)');
224
+ }
225
+ // Error
226
+ if (alert === 'error') {
227
+ var _tagRef$current2;
228
+ colorToSet = isContrast ? errorContrastBackgroundColor : errorBackgroundColor;
229
+ textColorToSet = isContrast ? errorContrastTextColor : errorTextColor;
230
+ (_tagRef$current2 = tagRef.current) == null ? void 0 : _tagRef$current2.style.setProperty('--text-color', "" + textColorToSet);
231
+ } else {
232
+ colorToSet = isContrast ? contrastBackgroundColor : backgroundColor;
233
+ }
234
+ (_tagRef$current3 = tagRef.current) == null ? void 0 : _tagRef$current3.style.setProperty('--background-color', "" + colorToSet);
245
235
  }
246
- }, [tagRef.current, backgroundColor]);
236
+ }, [transportIsSet, isContrast, backgroundColor, contrastBackgroundColor, errorBackgroundColor, alert]);
247
237
  var TravelTagWithoutLabel = React.createElement("div", _extends({
248
238
  className: classNames('eds-travel-tag', {
249
239
  'eds-travel-tag--closable': isClosable,
@@ -253,13 +243,10 @@ var TravelTag = function TravelTag(_ref) {
253
243
  'eds-travel-tag--icon-and-text': numberOfChildren > 1 || transportIsSet && numberOfChildren > 0,
254
244
  className: className
255
245
  }),
256
- ref: tagRef
257
- }, rest, {
258
- "aria-label": (_rest$ariaLabel = rest['aria-label']) != null ? _rest$ariaLabel : ariaLabel + (alertIsSet ? " " + alert : ''),
246
+ ref: tagRef,
247
+ "aria-label": ariaLabelForTranportIcon + " " + children + " " + (alertIsSet ? alert : ''),
259
248
  role: "img"
260
- }), React.createElement(Icon, {
261
- "aria-hidden": true
262
- }), children, isClosable && React.createElement("button", {
249
+ }, rest), IconWithAriaHidden, children, isClosable && React.createElement("button", {
263
250
  onClick: onClose,
264
251
  type: "button",
265
252
  className: "eds-travel-tag__close-button"
@@ -352,10 +339,12 @@ var TravelLeg = function TravelLeg(_ref) {
352
339
  direction = _ref.direction,
353
340
  rest = _objectWithoutPropertiesLoose(_ref, _excluded$1);
354
341
  var _getTransportStyle = getTransportStyle(transport),
355
- backgroundColor = _getTransportStyle.backgroundColor,
356
- contrastBackgroundColor = _getTransportStyle.contrastBackgroundColor,
357
342
  pattern = _getTransportStyle.pattern;
358
343
  var isContrast = useContrast();
344
+ var deCapitalizeTransport = transport.toLowerCase();
345
+ console.log('deCapitalizeTransport', deCapitalizeTransport);
346
+ var backgroundColor = 'var(--components-travel-travelleg-standard-' + deCapitalizeTransport + ')';
347
+ var contrastBackgroundColor = 'var(--components-travel-travelleg-contrast-' + deCapitalizeTransport + ')';
359
348
  return React.createElement(LegBone, _extends({
360
349
  direction: direction,
361
350
  pattern: pattern,
@@ -374,9 +363,10 @@ var TravelSwitch = function TravelSwitch(_ref) {
374
363
  size = _ref.size,
375
364
  rest = _objectWithoutPropertiesLoose(_ref, _excluded);
376
365
  var _getTransportStyle = getTransportStyle(transport),
377
- backgroundColor = _getTransportStyle.backgroundColor,
378
- contrastBackgroundColor = _getTransportStyle.contrastBackgroundColor,
379
366
  Icon = _getTransportStyle.Icon;
367
+ var deCapitalizeTransport = transport.toLowerCase();
368
+ var backgroundColor = 'var(--components-travel-travelswitch-standard-backgroundtrue-' + deCapitalizeTransport + ')';
369
+ var contrastBackgroundColor = 'var(--components-travel-travelswitch-contrast-backgroundtrue-' + deCapitalizeTransport + ')';
380
370
  return React.createElement(Switch, _extends({
381
371
  className: className,
382
372
  labelPlacement: labelPlacement,
@@ -1 +1 @@
1
- {"version":3,"file":"travel.esm.js","sources":["../src/TravelHeader.tsx","../src/utils.ts","../src/TravelTag.tsx","../src/LegLine.tsx","../src/LegBone.tsx","../src/TravelLeg.tsx","../src/TravelSwitch.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 { colors } from '@entur/tokens';\nimport {\n BusIcon,\n FerryIcon,\n CarferryIcon,\n TramIcon,\n PlaneIcon,\n TrainIcon,\n BicycleIcon,\n MobilityIcon,\n MetroIcon,\n HelicopterIcon,\n FunicularIcon,\n CablewayIcon,\n TaxiIcon,\n WalkIcon,\n} from '@entur/icons';\n\nimport type { IconProps } from '@entur/icons';\n\nexport type Transport =\n | 'metro'\n | 'bus'\n | 'plane'\n | 'helicopter'\n | 'tram'\n | 'funicular'\n | 'cableway'\n | 'taxi'\n | 'bicycle'\n | 'walk'\n | 'train'\n | 'ferry'\n | 'carferry'\n | 'mobility'\n | 'airportLinkBus'\n | 'airportLinkRail'\n | 'rail'\n | 'water'\n | 'air'\n | 'none';\n\ntype transportStyleResult = {\n Icon: React.FC<IconProps>;\n backgroundColor: string;\n contrastBackgroundColor: string;\n pattern: 'line' | 'wave' | 'dashed' | 'dotted';\n ariaLabel: string;\n};\n\nexport const getTransportStyle = (mode: string): transportStyleResult => {\n switch (mode) {\n case 'metro':\n return {\n Icon: MetroIcon,\n backgroundColor: colors.transport.default.metro,\n contrastBackgroundColor: colors.transport.contrast.metro,\n pattern: 'line',\n ariaLabel: 'T-bane',\n };\n case 'bus':\n return {\n Icon: BusIcon,\n backgroundColor: colors.transport.default.bus,\n contrastBackgroundColor: colors.transport.contrast.bus,\n pattern: 'dashed',\n ariaLabel: 'Buss',\n };\n case 'plane':\n case 'air':\n return {\n Icon: PlaneIcon,\n backgroundColor: colors.transport.default.plane,\n contrastBackgroundColor: colors.transport.contrast.plane,\n pattern: 'line',\n ariaLabel: 'Fly',\n };\n case 'helicopter':\n return {\n Icon: HelicopterIcon,\n backgroundColor: colors.transport.default.helicopter,\n contrastBackgroundColor: colors.transport.contrast.helicopter,\n pattern: 'line',\n ariaLabel: 'Helikopter',\n };\n case 'tram':\n return {\n Icon: TramIcon,\n backgroundColor: colors.transport.default.tram,\n contrastBackgroundColor: colors.transport.contrast.tram,\n pattern: 'line',\n ariaLabel: 'Trikk',\n };\n case 'funicular':\n return {\n Icon: FunicularIcon,\n backgroundColor: colors.transport.default.funicular,\n contrastBackgroundColor: colors.transport.contrast.funicular,\n pattern: 'line',\n ariaLabel: 'Taubane',\n };\n case 'cableway':\n return {\n Icon: CablewayIcon,\n backgroundColor: colors.transport.default.cableway,\n contrastBackgroundColor: colors.transport.contrast.cableway,\n pattern: 'line',\n ariaLabel: 'Gondol',\n };\n case 'taxi':\n return {\n Icon: TaxiIcon,\n backgroundColor: colors.transport.default.taxi,\n contrastBackgroundColor: colors.transport.contrast.taxi,\n pattern: 'dashed',\n ariaLabel: 'Taxi',\n };\n case 'bicycle':\n return {\n Icon: BicycleIcon,\n backgroundColor: colors.transport.default.bicycle,\n contrastBackgroundColor: colors.transport.contrast.bicycle,\n pattern: 'line',\n ariaLabel: 'Sykkel',\n };\n case 'walk':\n return {\n Icon: WalkIcon,\n backgroundColor: colors.transport.default.walk,\n contrastBackgroundColor: colors.transport.contrast.walk,\n pattern: 'dotted',\n ariaLabel: 'Gange',\n };\n case 'train':\n case 'rail':\n return {\n Icon: TrainIcon,\n backgroundColor: colors.transport.default.train,\n contrastBackgroundColor: colors.transport.contrast.train,\n pattern: 'line',\n ariaLabel: 'Tog',\n };\n case 'ferry':\n case 'water':\n return {\n Icon: FerryIcon,\n backgroundColor: colors.transport.default.ferry,\n contrastBackgroundColor: colors.transport.contrast.ferry,\n pattern: 'wave',\n ariaLabel: 'Ferge',\n };\n case 'carferry':\n return {\n Icon: CarferryIcon,\n backgroundColor: colors.transport.default.carferry,\n contrastBackgroundColor: colors.transport.contrast.carferry,\n pattern: 'wave',\n ariaLabel: 'Bilferge',\n };\n case 'mobility':\n return {\n Icon: MobilityIcon,\n backgroundColor: colors.transport.default.mobility,\n contrastBackgroundColor: colors.transport.contrast.mobility,\n pattern: 'line',\n ariaLabel: 'El-sparkesykkel',\n };\n case 'airportLinkBus':\n return {\n Icon: BusIcon,\n backgroundColor: colors.transport.default.plane,\n contrastBackgroundColor: colors.transport.contrast.plane,\n pattern: 'dashed',\n ariaLabel: 'Flybuss',\n };\n case 'airportLinkRail':\n return {\n Icon: TrainIcon,\n backgroundColor: colors.transport.default.plane,\n contrastBackgroundColor: colors.transport.contrast.plane,\n pattern: 'line',\n ariaLabel: 'Flytog',\n };\n case 'none':\n return {\n Icon: React.Fragment,\n backgroundColor: colors.brand.blue,\n contrastBackgroundColor: colors.brand.white,\n pattern: 'line',\n ariaLabel: '',\n };\n case 'scooter':\n throw Error(\n `transport type 'scooter' is deprecated: Please use 'mobility' instead.`,\n );\n case 'bike':\n throw Error(\n `transport type 'bike' is deprecated: Please use 'bicycle' instead.`,\n );\n case 'car':\n throw Error(\n `transport type 'car' is deprecated: Please use 'taxi' instead.`,\n );\n case 'foot':\n throw Error(\n `transport type 'foot' is deprecated: Please use 'walk' instead.`,\n );\n default:\n throw Error('Please select a transport for the Travel component.');\n }\n};\n","import React, { useEffect, useRef } from 'react';\nimport classNames from 'classnames';\nimport {\n CloseSmallIcon,\n ValidationInfoIcon,\n ValidationErrorIcon,\n ValidationExclamationIcon,\n} from '@entur/icons';\nimport { useContrast } from '@entur/layout';\n\nimport { getTransportStyle } from './utils';\n\nimport type { Transport } from './utils';\n\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?: Transport;\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 children,\n className,\n alert = 'none',\n transport = 'none',\n label,\n labelPlacement = 'right',\n onClose = undefined,\n ...rest\n}) => {\n const isContrast = useContrast();\n const isClosable = onClose ? true : false;\n const transportIsSet = transport !== 'none';\n const alertIsSet = alert !== 'none';\n const tagRef = useRef<HTMLDivElement>(null);\n const numberOfChildren = React.Children.count(children);\n const { Icon, contrastBackgroundColor, backgroundColor, ariaLabel } =\n getTransportStyle(transport);\n\n useEffect(() => {\n if (transportIsSet) {\n tagRef.current?.style.setProperty(\n '--background-color',\n isContrast ? contrastBackgroundColor : backgroundColor,\n );\n }\n }, [tagRef.current, backgroundColor]);\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': alertIsSet,\n 'eds-travel-tag--alert--error': alert === 'error',\n 'eds-travel-tag--transport': transportIsSet,\n 'eds-travel-tag--icon-and-text':\n numberOfChildren > 1 || (transportIsSet && numberOfChildren > 0),\n className,\n })}\n ref={tagRef}\n {...rest}\n aria-label={\n rest['aria-label'] ?? ariaLabel + (alertIsSet ? ` ${alert}` : '')\n }\n role=\"img\"\n >\n <Icon aria-hidden />\n {children}\n {isClosable && (\n <button\n onClick={onClose}\n type=\"button\"\n className=\"eds-travel-tag__close-button\"\n >\n <CloseSmallIcon inline />\n </button>\n )}\n {alertIsSet && (\n <span className=\"eds-travel-tag__alert\">\n {alert === 'info' && (\n <ValidationInfoIcon\n aria-hidden\n className=\"eds-travel-tag__alert-info-icon\"\n />\n )}\n {alert === 'error' && (\n <ValidationErrorIcon\n aria-hidden\n className=\"eds-travel-tag__alert-error-icon\"\n />\n )}\n {alert === 'warning' && (\n <ValidationExclamationIcon\n aria-hidden\n className=\"eds-travel-tag__alert-exclamation-icon\"\n />\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 && alertIsSet,\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","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 { useContrast } from '@entur/layout';\nimport { LegBone } from './LegBone';\nimport { getTransportStyle } from './utils';\n\nimport type { Transport } from './utils';\n\nexport type TravelLegProps = {\n /** Ekstra klassenavn */\n className?: string;\n /** Hviklen type reise som skal vises riktig farge og linjetype */\n transport: Transport;\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 { backgroundColor, contrastBackgroundColor, pattern } =\n getTransportStyle(transport);\n const isContrast = useContrast();\n\n return (\n <LegBone\n direction={direction}\n pattern={pattern}\n color={isContrast ? contrastBackgroundColor : backgroundColor}\n className={className}\n {...rest}\n />\n );\n};\n","import React from 'react';\nimport { Switch } from '@entur/form';\nimport { getTransportStyle } from './utils';\n\nimport type { Transport } from './utils';\n\nexport type TravelSwitchProps = {\n /** Ekstra klassenavn */\n className?: string;\n /** Om switch-en er checked eller ikke */\n checked?: boolean;\n /** Label for TravelSwitch-en. */\n children?: React.ReactNode;\n /** Posisjonen til label for TravelSwitch-en.\n * @default \"right\"\n */\n labelPlacement?: 'right' | 'bottom';\n /** Hvilken type reise som skal vises ikon og farge for */\n transport: Transport; // When adding a new submode, check https://enturas.atlassian.net/wiki/spaces/PUBLIC/pages/825393529/Norwegian+submodes+and+their+definitions for names\n /** Callback for når verdien endres */\n onChange?: (e: React.ChangeEvent<HTMLInputElement>) => void;\n /** Størrelsen på Switch-en\n * @default \"medium\"\n */\n size?: 'medium' | 'large';\n} & Omit<React.InputHTMLAttributes<HTMLInputElement>, 'size'>;\n\nexport const TravelSwitch: React.FC<TravelSwitchProps> = ({\n className,\n children,\n labelPlacement = 'right',\n transport,\n size,\n ...rest\n}) => {\n const { backgroundColor, contrastBackgroundColor, Icon } =\n getTransportStyle(transport);\n return (\n <Switch\n className={className}\n labelPlacement={labelPlacement}\n color={backgroundColor}\n contrastColor={contrastBackgroundColor}\n icon={<Icon />}\n size={size}\n {...rest}\n >\n {children}\n </Switch>\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';\nexport * from './TravelSwitch';\n"],"names":["TravelHeader","as","Element","from","to","size","className","noWrap","rest","_excluded","React","createElement","classNames","getTransportStyle","mode","Icon","MetroIcon","backgroundColor","colors","transport","metro","contrastBackgroundColor","contrast","pattern","ariaLabel","BusIcon","bus","PlaneIcon","plane","HelicopterIcon","helicopter","TramIcon","tram","FunicularIcon","funicular","CablewayIcon","cableway","TaxiIcon","taxi","BicycleIcon","bicycle","WalkIcon","walk","TrainIcon","train","FerryIcon","ferry","CarferryIcon","carferry","MobilityIcon","mobility","Fragment","brand","blue","white","Error","TravelTag","children","alert","label","labelPlacement","onClose","undefined","isContrast","useContrast","isClosable","transportIsSet","alertIsSet","tagRef","useRef","numberOfChildren","Children","count","useEffect","current","style","setProperty","TravelTagWithoutLabel","ref","role","onClick","type","CloseSmallIcon","inline","ValidationInfoIcon","ValidationErrorIcon","ValidationExclamationIcon","Label","LegLine","color","direction","LegBone","startColor","endColor","showStart","showStop","showLine","TravelLeg","TravelSwitch","Switch","contrastColor","icon","warnAboutMissingStyles"],"mappings":"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"}
1
+ {"version":3,"file":"travel.esm.js","sources":["../src/TravelHeader.tsx","../src/utils.ts","../src/TravelTag.tsx","../src/LegLine.tsx","../src/LegBone.tsx","../src/TravelLeg.tsx","../src/TravelSwitch.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';\n\nimport {\n BusIcon,\n FerryIcon,\n CarferryIcon,\n TramIcon,\n PlaneIcon,\n TrainIcon,\n BicycleIcon,\n MobilityIcon,\n MetroIcon,\n HelicopterIcon,\n FunicularIcon,\n CablewayIcon,\n TaxiIcon,\n WalkIcon,\n} from '@entur/icons';\n\nimport type { IconProps } from '@entur/icons';\n\nexport type Transport =\n | 'metro'\n | 'bus'\n | 'plane'\n | 'helicopter'\n | 'tram'\n | 'funicular'\n | 'cableway'\n | 'taxi'\n | 'bicycle'\n | 'walk'\n | 'train'\n | 'ferry'\n | 'carferry'\n | 'mobility'\n | 'airportLinkBus'\n | 'airportLinkRail'\n | 'rail'\n | 'water'\n | 'air'\n | 'none';\n\ntype transportStyleResult = {\n Icon: React.FC<IconProps>;\n backgroundColor?: string;\n contrastBackgroundColor?: string;\n errorBackgroundColor?: string;\n errorTextColor?: string;\n errorContrastTextColor?: string;\n errorContrastBackgroundColor?: string;\n pattern: 'line' | 'wave' | 'dashed' | 'dotted';\n ariaLabel: string;\n};\n\nexport const getTransportStyle = (mode: string): transportStyleResult => {\n switch (mode) {\n case 'metro':\n return {\n Icon: MetroIcon,\n pattern: 'line',\n ariaLabel: 'T-bane',\n };\n case 'bus':\n return {\n Icon: BusIcon,\n pattern: 'dashed',\n ariaLabel: 'Buss',\n };\n case 'plane':\n case 'air':\n return {\n Icon: PlaneIcon,\n pattern: 'line',\n ariaLabel: 'Fly',\n };\n case 'helicopter':\n return {\n Icon: HelicopterIcon,\n pattern: 'line',\n ariaLabel: 'Helikopter',\n };\n case 'tram':\n return {\n Icon: TramIcon,\n pattern: 'line',\n ariaLabel: 'Trikk',\n };\n case 'funicular':\n return {\n Icon: FunicularIcon,\n pattern: 'line',\n ariaLabel: 'Taubane',\n };\n case 'cableway':\n return {\n Icon: CablewayIcon,\n pattern: 'line',\n ariaLabel: 'Gondol',\n };\n case 'taxi':\n return {\n Icon: TaxiIcon,\n pattern: 'dashed',\n ariaLabel: 'Taxi',\n };\n case 'bicycle':\n return {\n Icon: BicycleIcon,\n pattern: 'dashed',\n ariaLabel: 'Sykkel',\n };\n case 'walk':\n return {\n Icon: WalkIcon,\n pattern: 'dotted',\n ariaLabel: 'Gange',\n };\n case 'train':\n case 'rail':\n return {\n Icon: TrainIcon,\n pattern: 'line',\n ariaLabel: 'Tog',\n };\n case 'ferry':\n case 'water':\n return {\n Icon: FerryIcon,\n pattern: 'wave',\n ariaLabel: 'Ferge',\n };\n case 'carferry':\n return {\n Icon: CarferryIcon,\n pattern: 'wave',\n ariaLabel: 'Bilferge',\n };\n case 'mobility':\n return {\n Icon: MobilityIcon,\n pattern: 'line',\n ariaLabel: 'El-sparkesykkel',\n };\n case 'airportLinkBus':\n return {\n Icon: BusIcon,\n pattern: 'dashed',\n ariaLabel: 'Flybuss',\n };\n case 'airportLinkRail':\n return {\n Icon: TrainIcon,\n pattern: 'line',\n ariaLabel: 'Flytog',\n };\n case 'none':\n return {\n Icon: React.Fragment,\n pattern: 'line',\n ariaLabel: '',\n };\n case 'scooter':\n throw Error(\n `transport type 'scooter' is deprecated: Please use 'mobility' instead.`,\n );\n case 'bike':\n throw Error(\n `transport type 'bike' is deprecated: Please use 'bicycle' instead.`,\n );\n case 'car':\n throw Error(\n `transport type 'car' is deprecated: Please use 'taxi' instead.`,\n );\n case 'foot':\n throw Error(\n `transport type 'foot' is deprecated: Please use 'walk' instead.`,\n );\n default:\n throw Error('Please select a transport for the Travel component.');\n }\n};\n","import React, { cloneElement, useEffect, useRef } from 'react';\nimport classNames from 'classnames';\nimport {\n CloseSmallIcon,\n ValidationInfoIcon,\n ValidationErrorIcon,\n ValidationExclamationIcon,\n} from '@entur/icons';\nimport { useContrast } from '@entur/layout';\n\nimport { getTransportStyle } from './utils';\n\nimport type { Transport } from './utils';\n\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?: Transport;\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 children,\n className,\n alert = 'none',\n transport = 'none',\n label,\n labelPlacement = 'right',\n onClose = undefined,\n ...rest\n}) => {\n const isContrast = useContrast();\n const isClosable = onClose ? true : false;\n const transportIsSet = transport !== 'none';\n const alertIsSet = alert !== 'none';\n const tagRef = useRef<HTMLDivElement>(null);\n const numberOfChildren = React.Children.count(children);\n const { Icon, ariaLabel: ariaLabelForTranportIcon } =\n getTransportStyle(transport);\n const deCapitalizeTransport = transport.toLowerCase();\n const IconWithAriaHidden = cloneElement(<Icon />, { 'aria-hidden': 'true' });\n\n const backgroundColor =\n 'var(--components-travel-traveltag-standard-tagfill-' +\n deCapitalizeTransport +\n ')';\n const contrastBackgroundColor =\n 'var(--components-travel-traveltag-contrast-tagfill-' +\n deCapitalizeTransport +\n ')';\n // Error colors\n const errorBackgroundColor =\n 'var(--components-travel-traveltag-standard-tagfill-' +\n deCapitalizeTransport +\n '-cancled)';\n const errorContrastBackgroundColor =\n 'var(--components-travel-traveltag-contrast-tagfill-' +\n deCapitalizeTransport +\n '-cancled)';\n const errorContrastTextColor =\n 'var(--components-travel-traveltag-contrast-text-line-' +\n deCapitalizeTransport +\n '-cancled)';\n const errorTextColor =\n 'var(--components-travel-traveltag-standard-text-line-' +\n deCapitalizeTransport +\n '-cancled)';\n\n useEffect(() => {\n if (transportIsSet) {\n let colorToSet;\n let textColorToSet;\n // Walk has another icon/text color then the other transports\n if (transport === 'walk') {\n tagRef.current?.style.setProperty(\n '--text-color',\n 'var(--components-travel-traveltag-standard-icon-walk)',\n );\n }\n // Error\n if (alert === 'error') {\n colorToSet = isContrast\n ? errorContrastBackgroundColor\n : errorBackgroundColor;\n textColorToSet = isContrast ? errorContrastTextColor : errorTextColor;\n tagRef.current?.style.setProperty('--text-color', `${textColorToSet}`);\n } else {\n colorToSet = isContrast ? contrastBackgroundColor : backgroundColor;\n }\n tagRef.current?.style.setProperty('--background-color', `${colorToSet}`);\n }\n }, [\n transportIsSet,\n isContrast,\n backgroundColor,\n contrastBackgroundColor,\n errorBackgroundColor,\n alert,\n ]);\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': alertIsSet,\n 'eds-travel-tag--alert--error': alert === 'error',\n 'eds-travel-tag--transport': transportIsSet,\n 'eds-travel-tag--icon-and-text':\n numberOfChildren > 1 || (transportIsSet && numberOfChildren > 0),\n className,\n })}\n ref={tagRef}\n aria-label={`${ariaLabelForTranportIcon} ${children} ${\n alertIsSet ? alert : ''\n }`}\n role=\"img\"\n {...rest}\n >\n {IconWithAriaHidden}\n {children}\n {isClosable && (\n <button\n onClick={onClose}\n type=\"button\"\n className=\"eds-travel-tag__close-button\"\n >\n <CloseSmallIcon inline />\n </button>\n )}\n {alertIsSet && (\n <span className=\"eds-travel-tag__alert\">\n {alert === 'info' && (\n <ValidationInfoIcon\n aria-hidden\n className=\"eds-travel-tag__alert-info-icon\"\n />\n )}\n {alert === 'error' && (\n <ValidationErrorIcon\n aria-hidden\n className=\"eds-travel-tag__alert-error-icon\"\n />\n )}\n {alert === 'warning' && (\n <ValidationExclamationIcon\n aria-hidden\n className=\"eds-travel-tag__alert-exclamation-icon\"\n />\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 && alertIsSet,\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","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 { useContrast } from '@entur/layout';\nimport { LegBone } from './LegBone';\nimport { getTransportStyle } from './utils';\n\nimport type { Transport } from './utils';\n\nexport type TravelLegProps = {\n /** Ekstra klassenavn */\n className?: string;\n /** Hviklen type reise som skal vises riktig farge og linjetype */\n transport: Transport;\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 { pattern } = getTransportStyle(transport);\n const isContrast = useContrast();\n const deCapitalizeTransport = transport.toLowerCase();\n\n console.log('deCapitalizeTransport', deCapitalizeTransport);\n const backgroundColor =\n 'var(--components-travel-travelleg-standard-' + deCapitalizeTransport + ')';\n const contrastBackgroundColor =\n 'var(--components-travel-travelleg-contrast-' + deCapitalizeTransport + ')';\n\n return (\n <LegBone\n direction={direction}\n pattern={pattern}\n color={isContrast ? contrastBackgroundColor : backgroundColor}\n className={className}\n {...rest}\n />\n );\n};\n","import React from 'react';\nimport { Switch } from '@entur/form';\nimport { getTransportStyle } from './utils';\n\nimport type { Transport } from './utils';\n\nexport type TravelSwitchProps = {\n /** Ekstra klassenavn */\n className?: string;\n /** Om switch-en er checked eller ikke */\n checked?: boolean;\n /** Label for TravelSwitch-en. */\n children?: React.ReactNode;\n /** Posisjonen til label for TravelSwitch-en.\n * @default \"right\"\n */\n labelPlacement?: 'right' | 'bottom';\n /** Hvilken type reise som skal vises ikon og farge for */\n transport: Transport; // When adding a new submode, check https://enturas.atlassian.net/wiki/spaces/PUBLIC/pages/825393529/Norwegian+submodes+and+their+definitions for names\n /** Callback for når verdien endres */\n onChange?: (e: React.ChangeEvent<HTMLInputElement>) => void;\n /** Størrelsen på Switch-en\n * @default \"medium\"\n */\n size?: 'medium' | 'large';\n} & Omit<React.InputHTMLAttributes<HTMLInputElement>, 'size'>;\n\nexport const TravelSwitch: React.FC<TravelSwitchProps> = ({\n className,\n children,\n labelPlacement = 'right',\n transport,\n size,\n ...rest\n}) => {\n const { Icon } = getTransportStyle(transport);\n const deCapitalizeTransport = transport.toLowerCase();\n\n const backgroundColor =\n 'var(--components-travel-travelswitch-standard-backgroundtrue-' +\n deCapitalizeTransport +\n ')';\n const contrastBackgroundColor =\n 'var(--components-travel-travelswitch-contrast-backgroundtrue-' +\n deCapitalizeTransport +\n ')';\n\n return (\n <Switch\n className={className}\n labelPlacement={labelPlacement}\n color={backgroundColor}\n contrastColor={contrastBackgroundColor}\n icon={<Icon />}\n size={size}\n {...rest}\n >\n {children}\n </Switch>\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';\nexport * from './TravelSwitch';\n"],"names":["TravelHeader","as","Element","from","to","size","className","noWrap","rest","_excluded","React","createElement","classNames","getTransportStyle","mode","Icon","MetroIcon","pattern","ariaLabel","BusIcon","PlaneIcon","HelicopterIcon","TramIcon","FunicularIcon","CablewayIcon","TaxiIcon","BicycleIcon","WalkIcon","TrainIcon","FerryIcon","CarferryIcon","MobilityIcon","Fragment","Error","TravelTag","children","alert","transport","label","labelPlacement","onClose","undefined","isContrast","useContrast","isClosable","transportIsSet","alertIsSet","tagRef","useRef","numberOfChildren","Children","count","ariaLabelForTranportIcon","deCapitalizeTransport","toLowerCase","IconWithAriaHidden","cloneElement","backgroundColor","contrastBackgroundColor","errorBackgroundColor","errorContrastBackgroundColor","errorContrastTextColor","errorTextColor","useEffect","colorToSet","textColorToSet","current","style","setProperty","TravelTagWithoutLabel","ref","role","onClick","type","CloseSmallIcon","inline","ValidationInfoIcon","ValidationErrorIcon","ValidationExclamationIcon","Label","LegLine","color","direction","LegBone","startColor","endColor","showStart","showStop","showLine","TravelLeg","console","log","TravelSwitch","Switch","contrastColor","icon","warnAboutMissingStyles"],"mappings":"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"}
package/dist/utils.d.ts CHANGED
@@ -3,8 +3,12 @@ import type { IconProps } from '@entur/icons';
3
3
  export type Transport = 'metro' | 'bus' | 'plane' | 'helicopter' | 'tram' | 'funicular' | 'cableway' | 'taxi' | 'bicycle' | 'walk' | 'train' | 'ferry' | 'carferry' | 'mobility' | 'airportLinkBus' | 'airportLinkRail' | 'rail' | 'water' | 'air' | 'none';
4
4
  type transportStyleResult = {
5
5
  Icon: React.FC<IconProps>;
6
- backgroundColor: string;
7
- contrastBackgroundColor: string;
6
+ backgroundColor?: string;
7
+ contrastBackgroundColor?: string;
8
+ errorBackgroundColor?: string;
9
+ errorTextColor?: string;
10
+ errorContrastTextColor?: string;
11
+ errorContrastBackgroundColor?: string;
8
12
  pattern: 'line' | 'wave' | 'dashed' | 'dotted';
9
13
  ariaLabel: string;
10
14
  };
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@entur/travel",
3
- "version": "6.1.7",
3
+ "version": "6.1.8",
4
4
  "license": "EUPL-1.2",
5
5
  "main": "dist/index.js",
6
6
  "module": "dist/travel.esm.js",
@@ -27,12 +27,12 @@
27
27
  "react-dom": ">=16.8.0"
28
28
  },
29
29
  "dependencies": {
30
- "@entur/form": "^7.0.39",
31
- "@entur/icons": "^6.15.1",
32
- "@entur/layout": "^2.2.0",
33
- "@entur/tokens": "^3.13.0",
30
+ "@entur/form": "^7.0.40",
31
+ "@entur/icons": "^6.15.2",
32
+ "@entur/layout": "^2.2.1",
33
+ "@entur/tokens": "^3.13.1",
34
34
  "@entur/utils": "^0.10.0",
35
35
  "classnames": "^2.3.1"
36
36
  },
37
- "gitHead": "450b88a0baca11352d329ffa3fcd6c003ec1d338"
37
+ "gitHead": "d0a435264ccaf7ed8e6b7798c81e876176ce3d4d"
38
38
  }