@entur/travel 6.1.12 → 6.1.14

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/dist/styles.css CHANGED
@@ -100,14 +100,8 @@
100
100
  .eds-contrast .eds-travel-tag__alert {
101
101
  background: var(--components-form-feedbacktext-information-contrast-stroke);
102
102
  }
103
- .eds-travel-tag__alert-exclamation-icon {
104
- color: var(--components-form-feedbacktext-warning-standard-icon-fill);
105
- }
106
- .eds-travel-tag__alert-exclamation-icon .svg-exclamation {
107
- fill: var(--components-form-feedbacktext-warning-standard-icon-symbol);
108
- }
109
- .eds-contrast .eds-travel-tag__alert-exclamation-icon {
110
- color: var(--components-form-feedbacktext-warning-contrast-icon);
103
+ .eds-travel-tag__alert--warning, .eds-contrast .eds-travel-tag__alert--warning {
104
+ background: none;
111
105
  }
112
106
  .eds-travel-tag__alert-error-icon {
113
107
  font-size: 0.875rem;
@@ -122,6 +116,27 @@
122
116
  .eds-contrast .eds-travel-tag__alert-info-icon {
123
117
  color: var(--components-form-feedbacktext-information-contrast-icon-fill);
124
118
  }
119
+ .eds-travel-tag__alert-warning-icon {
120
+ position: absolute;
121
+ bottom: 0.14rem;
122
+ color: var(--components-form-feedbacktext-warning-standard-icon-fill);
123
+ }
124
+ .eds-contrast .eds-travel-tag__alert-warning-icon {
125
+ color: var(--components-form-feedbacktext-warning-contrast-icon);
126
+ }
127
+ .eds-travel-tag__alert-warning-icon .svg-exclamation {
128
+ fill: var(--components-form-feedbacktext-warning-standard-icon-symbol);
129
+ }
130
+ .eds-travel-tag__alert-warning-icon__border {
131
+ position: absolute;
132
+ bottom: 0.1375rem;
133
+ }
134
+ .eds-travel-tag__alert-warning-icon__border path {
135
+ fill: var(--components-form-feedbacktext-warning-standard-stroke);
136
+ }
137
+ .eds-contrast .eds-travel-tag__alert-warning-icon__border path {
138
+ fill: var(--components-form-feedbacktext-warning-contrast-stroke);
139
+ }
125
140
  .eds-travel-tag__wrapper {
126
141
  display: inline-flex;
127
142
  }
@@ -257,17 +257,21 @@ var TravelTag = function TravelTag(_ref) {
257
257
  }, React.createElement(icons.CloseSmallIcon, {
258
258
  inline: true
259
259
  })), alertIsSet && React.createElement("span", {
260
- className: "eds-travel-tag__alert"
260
+ className: classNames('eds-travel-tag__alert', {
261
+ 'eds-travel-tag__alert--warning': alert === 'warning'
262
+ })
261
263
  }, alert === 'info' && React.createElement(icons.ValidationInfoFilledIcon, {
262
264
  "aria-hidden": true,
263
265
  className: "eds-travel-tag__alert-info-icon"
264
266
  }), alert === 'error' && React.createElement(icons.ValidationErrorFilledIcon, {
265
267
  "aria-hidden": true,
266
268
  className: "eds-travel-tag__alert-error-icon"
267
- }), alert === 'warning' && React.createElement(icons.ValidationExclamationFilledIcon, {
268
- "aria-hidden": true,
269
- className: "eds-travel-tag__alert-exclamation-icon"
270
- })));
269
+ }), alert === 'warning' && React.createElement(React.Fragment, null, React.createElement(TriangleBorderShape, {
270
+ "aria-hidden": true
271
+ }), React.createElement(icons.ValidationExclamationFilledIcon, {
272
+ className: "eds-travel-tag__alert-warning-icon",
273
+ "aria-hidden": true
274
+ }))));
271
275
  var Label = React.createElement("div", {
272
276
  className: classNames('eds-travel-tag__label', (_classNames = {}, _classNames["eds-travel-tag__label--" + labelPlacement] = label, _classNames["eds-travel-tag__label--" + labelPlacement + "--with-alert"] = label && alertIsSet, _classNames))
273
277
  }, label);
@@ -279,6 +283,19 @@ var TravelTag = function TravelTag(_ref) {
279
283
  }
280
284
  return TravelTagWithoutLabel;
281
285
  };
286
+ var TriangleBorderShape = function TriangleBorderShape() {
287
+ return React.createElement("svg", {
288
+ width: "20",
289
+ height: "17",
290
+ viewBox: "0 0 20 17",
291
+ fill: "none",
292
+ xmlns: "http://www.w3.org/2000/svg",
293
+ className: "eds-travel-tag__alert-warning-icon__border"
294
+ }, React.createElement("path", {
295
+ d: "M7.74451 1.9216C8.75118 0.192584 11.2489 0.192586 12.2556 1.92161L18.7502 13.0764C19.7633 14.8164 18.5081 16.9996 16.4946 16.9996H3.50547C1.49206 16.9996 0.236853 14.8164 1.24991 13.0764L7.74451 1.9216Z",
296
+ fill: "white"
297
+ }));
298
+ };
282
299
 
283
300
  var _excluded$3 = ["color", "direction", "pattern", "className"];
284
301
  var LegLine = function LegLine(_ref) {
@@ -1 +1 @@
1
- {"version":3,"file":"travel.cjs.development.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 ValidationInfoFilledIcon,\n ValidationErrorFilledIcon,\n ValidationExclamationFilledIcon,\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 <ValidationInfoFilledIcon\n aria-hidden\n className=\"eds-travel-tag__alert-info-icon\"\n />\n )}\n {alert === 'error' && (\n <ValidationErrorFilledIcon\n aria-hidden\n className=\"eds-travel-tag__alert-error-icon\"\n />\n )}\n {alert === 'warning' && (\n <ValidationExclamationFilledIcon\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","ValidationInfoFilledIcon","ValidationErrorFilledIcon","ValidationExclamationFilledIcon","Label","LegLine","color","direction","LegBone","startColor","endColor","showStart","showStop","showLine","TravelLeg","console","log","TravelSwitch","Switch","contrastColor","icon","warnAboutMissingStyles"],"mappings":"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"}
1
+ {"version":3,"file":"travel.cjs.development.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 ValidationInfoFilledIcon,\n ValidationErrorFilledIcon,\n ValidationExclamationFilledIcon,\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\n className={classNames('eds-travel-tag__alert', {\n 'eds-travel-tag__alert--warning': alert === 'warning',\n })}\n >\n {alert === 'info' && (\n <ValidationInfoFilledIcon\n aria-hidden\n className=\"eds-travel-tag__alert-info-icon\"\n />\n )}\n {alert === 'error' && (\n <ValidationErrorFilledIcon\n aria-hidden\n className=\"eds-travel-tag__alert-error-icon\"\n />\n )}\n {alert === 'warning' && (\n <>\n <TriangleBorderShape aria-hidden />\n <ValidationExclamationFilledIcon\n className=\"eds-travel-tag__alert-warning-icon\"\n aria-hidden\n />\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\nconst TriangleBorderShape: React.FC = () => {\n return (\n <svg\n width=\"20\"\n height=\"17\"\n viewBox=\"0 0 20 17\"\n fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\"\n className=\"eds-travel-tag__alert-warning-icon__border\"\n >\n <path\n d=\"M7.74451 1.9216C8.75118 0.192584 11.2489 0.192586 12.2556 1.92161L18.7502 13.0764C19.7633 14.8164 18.5081 16.9996 16.4946 16.9996H3.50547C1.49206 16.9996 0.236853 14.8164 1.24991 13.0764L7.74451 1.9216Z\"\n fill=\"white\"\n />\n </svg>\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 { 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","ValidationInfoFilledIcon","ValidationErrorFilledIcon","TriangleBorderShape","ValidationExclamationFilledIcon","Label","width","height","viewBox","fill","xmlns","d","LegLine","color","direction","LegBone","startColor","endColor","showStart","showStop","showLine","TravelLeg","console","log","TravelSwitch","Switch","contrastColor","icon","warnAboutMissingStyles"],"mappings":"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"}
@@ -1,2 +1,2 @@
1
- "use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e=require("@entur/utils"),a=require("react"),r=require("classnames"),t=require("@entur/icons"),n=require("@entur/layout"),l=require("@entur/form");function o(){return o=Object.assign?Object.assign.bind():function(e){for(var a=1;a<arguments.length;a++){var r=arguments[a];for(var t in r)Object.prototype.hasOwnProperty.call(r,t)&&(e[t]=r[t])}return e},o.apply(this,arguments)}function s(e,a){if(null==e)return{};var r,t,n={},l=Object.keys(e);for(t=0;t<l.length;t++)a.indexOf(r=l[t])>=0||(n[r]=e[r]);return n}var c=["as","from","to","size","className","noWrap"],i=function(e){switch(e){case"metro":return{Icon:t.MetroIcon,pattern:"line",ariaLabel:"T-bane"};case"bus":return{Icon:t.BusIcon,pattern:"dashed",ariaLabel:"Buss"};case"plane":case"air":return{Icon:t.PlaneIcon,pattern:"line",ariaLabel:"Fly"};case"helicopter":return{Icon:t.HelicopterIcon,pattern:"line",ariaLabel:"Helikopter"};case"tram":return{Icon:t.TramIcon,pattern:"line",ariaLabel:"Trikk"};case"funicular":return{Icon:t.FunicularIcon,pattern:"line",ariaLabel:"Taubane"};case"cableway":return{Icon:t.CablewayIcon,pattern:"line",ariaLabel:"Gondol"};case"taxi":return{Icon:t.TaxiIcon,pattern:"dashed",ariaLabel:"Taxi"};case"bicycle":return{Icon:t.BicycleIcon,pattern:"dashed",ariaLabel:"Sykkel"};case"walk":return{Icon:t.WalkIcon,pattern:"dotted",ariaLabel:"Gange"};case"train":case"rail":return{Icon:t.TrainIcon,pattern:"line",ariaLabel:"Tog"};case"ferry":case"water":return{Icon:t.FerryIcon,pattern:"wave",ariaLabel:"Ferge"};case"carferry":return{Icon:t.CarferryIcon,pattern:"wave",ariaLabel:"Bilferge"};case"mobility":return{Icon:t.MobilityIcon,pattern:"line",ariaLabel:"El-sparkesykkel"};case"airportLinkBus":return{Icon:t.BusIcon,pattern:"dashed",ariaLabel:"Flybuss"};case"airportLinkRail":return{Icon:t.TrainIcon,pattern:"line",ariaLabel:"Flytog"};case"none":return{Icon:a.Fragment,pattern:"line",ariaLabel:""};case"scooter":throw Error("transport type 'scooter' is deprecated: Please use 'mobility' instead.");case"bike":throw Error("transport type 'bike' is deprecated: Please use 'bicycle' instead.");case"car":throw Error("transport type 'car' is deprecated: Please use 'taxi' instead.");case"foot":throw Error("transport type 'foot' is deprecated: Please use 'walk' instead.");default:throw Error("Please select a transport for the Travel component.")}},d=["children","className","alert","transport","label","labelPlacement","onClose"],v=["color","direction","pattern","className"],u=function(e){var t,n=e.color,l=e.direction,c=void 0===l?"horizontal":l,i=e.pattern,d=e.className,u=s(e,v);return a.createElement("div",o({className:r("eds-leg-line",d,(t={},t["eds-leg-line--"+i]=i,t["eds-leg-line--"+c]=c,t)),style:{backgroundColor:n}},u))},p=["direction","pattern","color","startColor","endColor","showStart","showStop","showLine","className"],m=function(e){var t=e.direction,n=e.pattern,l=e.color,c=e.startColor,i=e.endColor,d=e.showStart,v=void 0===d||d,m=e.showStop,b=void 0===m||m,g=e.showLine,h=void 0===g||g,f=e.className,I=s(e,p);return a.createElement("div",o({className:r(f,"eds-leg-bone",[{"eds-leg-bone--vertical":"vertical"===t},{"eds-leg-bone--horizontal":"horizontal"===t}])},I),v&&a.createElement("div",{className:"eds-leg-bone__start",style:{backgroundColor:c||l}}),h&&a.createElement(u,{className:"eds-leg-bone__line",direction:t,color:l,pattern:n}),b&&a.createElement("div",{className:"eds-leg-bone__stop",style:{backgroundColor:i||l}}))},b=["className","transport","direction"],g=["className","children","labelPlacement","transport","size"];e.warnAboutMissingStyles("travel"),exports.LegBone=m,exports.LegLine=u,exports.TravelHeader=function(e){var t=e.as,n=void 0===t?"div":t,l=e.from,i=e.to,d=e.size,v=void 0===d?"large":d,u=e.className,p=e.noWrap,m=s(e,c);return a.createElement(n,o({className:r("eds-travel-header",u,{"eds-travel-header--large":"large"===v,"eds-travel-header--medium":"medium"===v,"eds-travel-header--no-wrap":p}),"aria-label":"Fra "+l+", til "+i},m),a.createElement("span",{className:"eds-travel-header__from"},l),a.createElement("span",{className:"eds-travel-header__to"},i))},exports.TravelLeg=function(e){var r=e.className,t=e.transport,l=e.direction,c=s(e,b),d=i(t).pattern,v=n.useContrast(),u=t.toLowerCase();return console.log("deCapitalizeTransport",u),a.createElement(m,o({direction:l,pattern:d,color:v?"var(--components-travel-travelleg-contrast-"+u+")":"var(--components-travel-travelleg-standard-"+u+")",className:r},c))},exports.TravelSwitch=function(e){var r=e.className,t=e.children,n=e.labelPlacement,c=void 0===n?"right":n,d=e.transport,v=e.size,u=s(e,g),p=i(d).Icon,m=d.toLowerCase();return a.createElement(l.Switch,o({className:r,labelPlacement:c,color:"var(--components-travel-travelswitch-standard-backgroundtrue-"+m+")",contrastColor:"var(--components-travel-travelswitch-contrast-backgroundtrue-"+m+")",icon:a.createElement(p,null),size:v},u),t)},exports.TravelTag=function(e){var l,c=e.children,v=e.className,u=e.alert,p=void 0===u?"none":u,m=e.transport,b=void 0===m?"none":m,g=e.label,h=e.labelPlacement,f=void 0===h?"right":h,I=e.onClose,y=void 0===I?void 0:I,w=s(e,d),_=n.useContrast(),E=!!y,N="none"!==b,L="none"!==p,k=a.useRef(null),C=a.Children.count(c),x=i(b),P=x.Icon,T=x.ariaLabel,F=b.toLowerCase(),z=a.cloneElement(a.createElement(P,null),{"aria-hidden":"true"}),S="var(--components-travel-traveltag-standard-tagfill-"+F+")",B="var(--components-travel-traveltag-contrast-tagfill-"+F+")",O="var(--components-travel-traveltag-standard-tagfill-"+F+"-cancled)",q="var(--components-travel-traveltag-contrast-tagfill-"+F+"-cancled)",j="var(--components-travel-traveltag-contrast-text-line-"+F+"-cancled)",M="var(--components-travel-traveltag-standard-text-line-"+F+"-cancled)";a.useEffect((function(){var e,a,r,t;N&&("walk"===b&&(null==(r=k.current)||r.style.setProperty("--text-color","var(--components-travel-traveltag-standard-icon-walk)")),"error"===p?(a=_?q:O,null==(t=k.current)||t.style.setProperty("--text-color",""+(_?j:M))):a=_?B:S,null==(e=k.current)||e.style.setProperty("--background-color",""+a))}),[N,_,S,B,O,p]);var H,V=a.createElement("div",o({className:r("eds-travel-tag",{"eds-travel-tag--closable":E,"eds-travel-tag--alert":L,"eds-travel-tag--alert--error":"error"===p,"eds-travel-tag--transport":N,"eds-travel-tag--icon-and-text":C>1||N&&C>0,className:v}),ref:k,"aria-label":T+" "+c+" "+(L?p:""),role:"img"},w),z,c,E&&a.createElement("button",{onClick:y,type:"button",className:"eds-travel-tag__close-button"},a.createElement(t.CloseSmallIcon,{inline:!0})),L&&a.createElement("span",{className:"eds-travel-tag__alert"},"info"===p&&a.createElement(t.ValidationInfoFilledIcon,{"aria-hidden":!0,className:"eds-travel-tag__alert-info-icon"}),"error"===p&&a.createElement(t.ValidationErrorFilledIcon,{"aria-hidden":!0,className:"eds-travel-tag__alert-error-icon"}),"warning"===p&&a.createElement(t.ValidationExclamationFilledIcon,{"aria-hidden":!0,className:"eds-travel-tag__alert-exclamation-icon"}))),W=a.createElement("div",{className:r("eds-travel-tag__label",(l={},l["eds-travel-tag__label--"+f]=g,l["eds-travel-tag__label--"+f+"--with-alert"]=g&&L,l))},g);return g?a.createElement("div",{className:r("eds-travel-tag__wrapper",(H={},H["eds-travel-tag__wrapper--label-position-"+f]=g,H))},V,W):V};
1
+ "use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e=require("@entur/utils"),a=require("react"),r=require("classnames"),t=require("@entur/icons"),n=require("@entur/layout"),l=require("@entur/form");function o(){return o=Object.assign?Object.assign.bind():function(e){for(var a=1;a<arguments.length;a++){var r=arguments[a];for(var t in r)Object.prototype.hasOwnProperty.call(r,t)&&(e[t]=r[t])}return e},o.apply(this,arguments)}function s(e,a){if(null==e)return{};var r,t,n={},l=Object.keys(e);for(t=0;t<l.length;t++)a.indexOf(r=l[t])>=0||(n[r]=e[r]);return n}var c=["as","from","to","size","className","noWrap"],i=function(e){switch(e){case"metro":return{Icon:t.MetroIcon,pattern:"line",ariaLabel:"T-bane"};case"bus":return{Icon:t.BusIcon,pattern:"dashed",ariaLabel:"Buss"};case"plane":case"air":return{Icon:t.PlaneIcon,pattern:"line",ariaLabel:"Fly"};case"helicopter":return{Icon:t.HelicopterIcon,pattern:"line",ariaLabel:"Helikopter"};case"tram":return{Icon:t.TramIcon,pattern:"line",ariaLabel:"Trikk"};case"funicular":return{Icon:t.FunicularIcon,pattern:"line",ariaLabel:"Taubane"};case"cableway":return{Icon:t.CablewayIcon,pattern:"line",ariaLabel:"Gondol"};case"taxi":return{Icon:t.TaxiIcon,pattern:"dashed",ariaLabel:"Taxi"};case"bicycle":return{Icon:t.BicycleIcon,pattern:"dashed",ariaLabel:"Sykkel"};case"walk":return{Icon:t.WalkIcon,pattern:"dotted",ariaLabel:"Gange"};case"train":case"rail":return{Icon:t.TrainIcon,pattern:"line",ariaLabel:"Tog"};case"ferry":case"water":return{Icon:t.FerryIcon,pattern:"wave",ariaLabel:"Ferge"};case"carferry":return{Icon:t.CarferryIcon,pattern:"wave",ariaLabel:"Bilferge"};case"mobility":return{Icon:t.MobilityIcon,pattern:"line",ariaLabel:"El-sparkesykkel"};case"airportLinkBus":return{Icon:t.BusIcon,pattern:"dashed",ariaLabel:"Flybuss"};case"airportLinkRail":return{Icon:t.TrainIcon,pattern:"line",ariaLabel:"Flytog"};case"none":return{Icon:a.Fragment,pattern:"line",ariaLabel:""};case"scooter":throw Error("transport type 'scooter' is deprecated: Please use 'mobility' instead.");case"bike":throw Error("transport type 'bike' is deprecated: Please use 'bicycle' instead.");case"car":throw Error("transport type 'car' is deprecated: Please use 'taxi' instead.");case"foot":throw Error("transport type 'foot' is deprecated: Please use 'walk' instead.");default:throw Error("Please select a transport for the Travel component.")}},d=["children","className","alert","transport","label","labelPlacement","onClose"],v=function(){return a.createElement("svg",{width:"20",height:"17",viewBox:"0 0 20 17",fill:"none",xmlns:"http://www.w3.org/2000/svg",className:"eds-travel-tag__alert-warning-icon__border"},a.createElement("path",{d:"M7.74451 1.9216C8.75118 0.192584 11.2489 0.192586 12.2556 1.92161L18.7502 13.0764C19.7633 14.8164 18.5081 16.9996 16.4946 16.9996H3.50547C1.49206 16.9996 0.236853 14.8164 1.24991 13.0764L7.74451 1.9216Z",fill:"white"}))},u=["color","direction","pattern","className"],p=function(e){var t,n=e.color,l=e.direction,c=void 0===l?"horizontal":l,i=e.pattern,d=e.className,v=s(e,u);return a.createElement("div",o({className:r("eds-leg-line",d,(t={},t["eds-leg-line--"+i]=i,t["eds-leg-line--"+c]=c,t)),style:{backgroundColor:n}},v))},m=["direction","pattern","color","startColor","endColor","showStart","showStop","showLine","className"],g=function(e){var t=e.direction,n=e.pattern,l=e.color,c=e.startColor,i=e.endColor,d=e.showStart,v=void 0===d||d,u=e.showStop,g=void 0===u||u,b=e.showLine,h=void 0===b||b,w=e.className,f=s(e,m);return a.createElement("div",o({className:r(w,"eds-leg-bone",[{"eds-leg-bone--vertical":"vertical"===t},{"eds-leg-bone--horizontal":"horizontal"===t}])},f),v&&a.createElement("div",{className:"eds-leg-bone__start",style:{backgroundColor:c||l}}),h&&a.createElement(p,{className:"eds-leg-bone__line",direction:t,color:l,pattern:n}),g&&a.createElement("div",{className:"eds-leg-bone__stop",style:{backgroundColor:i||l}}))},b=["className","transport","direction"],h=["className","children","labelPlacement","transport","size"];e.warnAboutMissingStyles("travel"),exports.LegBone=g,exports.LegLine=p,exports.TravelHeader=function(e){var t=e.as,n=void 0===t?"div":t,l=e.from,i=e.to,d=e.size,v=void 0===d?"large":d,u=e.className,p=e.noWrap,m=s(e,c);return a.createElement(n,o({className:r("eds-travel-header",u,{"eds-travel-header--large":"large"===v,"eds-travel-header--medium":"medium"===v,"eds-travel-header--no-wrap":p}),"aria-label":"Fra "+l+", til "+i},m),a.createElement("span",{className:"eds-travel-header__from"},l),a.createElement("span",{className:"eds-travel-header__to"},i))},exports.TravelLeg=function(e){var r=e.className,t=e.transport,l=e.direction,c=s(e,b),d=i(t).pattern,v=n.useContrast(),u=t.toLowerCase();return console.log("deCapitalizeTransport",u),a.createElement(g,o({direction:l,pattern:d,color:v?"var(--components-travel-travelleg-contrast-"+u+")":"var(--components-travel-travelleg-standard-"+u+")",className:r},c))},exports.TravelSwitch=function(e){var r=e.className,t=e.children,n=e.labelPlacement,c=void 0===n?"right":n,d=e.transport,v=e.size,u=s(e,h),p=i(d).Icon,m=d.toLowerCase();return a.createElement(l.Switch,o({className:r,labelPlacement:c,color:"var(--components-travel-travelswitch-standard-backgroundtrue-"+m+")",contrastColor:"var(--components-travel-travelswitch-contrast-backgroundtrue-"+m+")",icon:a.createElement(p,null),size:v},u),t)},exports.TravelTag=function(e){var l,c=e.children,u=e.className,p=e.alert,m=void 0===p?"none":p,g=e.transport,b=void 0===g?"none":g,h=e.label,w=e.labelPlacement,f=void 0===w?"right":w,I=e.onClose,y=void 0===I?void 0:I,_=s(e,d),E=n.useContrast(),N=!!y,L="none"!==b,k="none"!==m,C=a.useRef(null),x=a.Children.count(c),P=i(b),T=P.Icon,F=P.ariaLabel,z=b.toLowerCase(),S=a.cloneElement(a.createElement(T,null),{"aria-hidden":"true"}),B="var(--components-travel-traveltag-standard-tagfill-"+z+")",O="var(--components-travel-traveltag-contrast-tagfill-"+z+")",q="var(--components-travel-traveltag-standard-tagfill-"+z+"-cancled)",j="var(--components-travel-traveltag-contrast-tagfill-"+z+"-cancled)",M="var(--components-travel-traveltag-contrast-text-line-"+z+"-cancled)",H="var(--components-travel-traveltag-standard-text-line-"+z+"-cancled)";a.useEffect((function(){var e,a,r,t;L&&("walk"===b&&(null==(r=C.current)||r.style.setProperty("--text-color","var(--components-travel-traveltag-standard-icon-walk)")),"error"===m?(a=E?j:q,null==(t=C.current)||t.style.setProperty("--text-color",""+(E?M:H))):a=E?O:B,null==(e=C.current)||e.style.setProperty("--background-color",""+a))}),[L,E,B,O,q,m]);var V,W=a.createElement("div",o({className:r("eds-travel-tag",{"eds-travel-tag--closable":N,"eds-travel-tag--alert":k,"eds-travel-tag--alert--error":"error"===m,"eds-travel-tag--transport":L,"eds-travel-tag--icon-and-text":x>1||L&&x>0,className:u}),ref:C,"aria-label":F+" "+c+" "+(k?m:""),role:"img"},_),S,c,N&&a.createElement("button",{onClick:y,type:"button",className:"eds-travel-tag__close-button"},a.createElement(t.CloseSmallIcon,{inline:!0})),k&&a.createElement("span",{className:r("eds-travel-tag__alert",{"eds-travel-tag__alert--warning":"warning"===m})},"info"===m&&a.createElement(t.ValidationInfoFilledIcon,{"aria-hidden":!0,className:"eds-travel-tag__alert-info-icon"}),"error"===m&&a.createElement(t.ValidationErrorFilledIcon,{"aria-hidden":!0,className:"eds-travel-tag__alert-error-icon"}),"warning"===m&&a.createElement(a.Fragment,null,a.createElement(v,{"aria-hidden":!0}),a.createElement(t.ValidationExclamationFilledIcon,{className:"eds-travel-tag__alert-warning-icon","aria-hidden":!0})))),G=a.createElement("div",{className:r("eds-travel-tag__label",(l={},l["eds-travel-tag__label--"+f]=h,l["eds-travel-tag__label--"+f+"--with-alert"]=h&&k,l))},h);return h?a.createElement("div",{className:r("eds-travel-tag__wrapper",(V={},V["eds-travel-tag__wrapper--label-position-"+f]=h,V))},W,G):W};
2
2
  //# sourceMappingURL=travel.cjs.production.min.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"travel.cjs.production.min.js","sources":["../src/utils.ts","../src/LegLine.tsx","../src/LegBone.tsx","../src/index.tsx","../src/TravelHeader.tsx","../src/TravelLeg.tsx","../src/TravelSwitch.tsx","../src/TravelTag.tsx"],"sourcesContent":["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 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';\nexport * from './TravelSwitch';\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 { 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 React, { cloneElement, useEffect, useRef } from 'react';\nimport classNames from 'classnames';\nimport {\n CloseSmallIcon,\n ValidationInfoFilledIcon,\n ValidationErrorFilledIcon,\n ValidationExclamationFilledIcon,\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 <ValidationInfoFilledIcon\n aria-hidden\n className=\"eds-travel-tag__alert-info-icon\"\n />\n )}\n {alert === 'error' && (\n <ValidationErrorFilledIcon\n aria-hidden\n className=\"eds-travel-tag__alert-error-icon\"\n />\n )}\n {alert === 'warning' && (\n <ValidationExclamationFilledIcon\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"],"names":["getTransportStyle","mode","Icon","MetroIcon","pattern","ariaLabel","BusIcon","PlaneIcon","HelicopterIcon","TramIcon","FunicularIcon","CablewayIcon","TaxiIcon","BicycleIcon","WalkIcon","TrainIcon","FerryIcon","CarferryIcon","MobilityIcon","React","Fragment","Error","LegLine","_ref","_classNames","color","_ref$direction","direction","className","rest","_objectWithoutPropertiesLoose","_excluded","classNames","style","backgroundColor","LegBone","startColor","endColor","_ref$showStart","showStart","_ref$showStop","showStop","_ref$showLine","showLine","createElement","warnAboutMissingStyles","_ref$as","as","Element","from","to","_ref$size","size","noWrap","_extends","transport","isContrast","useContrast","deCapitalizeTransport","toLowerCase","console","log","children","_ref$labelPlacement","labelPlacement","Switch","contrastColor","icon","_ref$alert","alert","_ref$transport","label","_ref$onClose","onClose","undefined","isClosable","transportIsSet","alertIsSet","tagRef","useRef","numberOfChildren","Children","count","ariaLabelForTranportIcon","IconWithAriaHidden","cloneElement","contrastBackgroundColor","errorBackgroundColor","errorContrastBackgroundColor","errorContrastTextColor","errorTextColor","useEffect","_tagRef$current3","colorToSet","_tagRef$current","_tagRef$current2","current","setProperty","textColorToSet","_classNames2","TravelTagWithoutLabel","ref","role","onClick","type","CloseSmallIcon","inline","ValidationInfoFilledIcon","ValidationErrorFilledIcon","ValidationExclamationFilledIcon","Label"],"mappings":"wnBAuDaA,EAAoB,SAACC,GAChC,OAAQA,GACN,IAAK,QACH,MAAO,CACLC,KAAMC,EAASA,UACfC,QAAS,OACTC,UAAW,UAEf,IAAK,MACH,MAAO,CACLH,KAAMI,EAAOA,QACbF,QAAS,SACTC,UAAW,QAEf,IAAK,QACL,IAAK,MACH,MAAO,CACLH,KAAMK,EAASA,UACfH,QAAS,OACTC,UAAW,OAEf,IAAK,aACH,MAAO,CACLH,KAAMM,EAAcA,eACpBJ,QAAS,OACTC,UAAW,cAEf,IAAK,OACH,MAAO,CACLH,KAAMO,EAAQA,SACdL,QAAS,OACTC,UAAW,SAEf,IAAK,YACH,MAAO,CACLH,KAAMQ,EAAaA,cACnBN,QAAS,OACTC,UAAW,WAEf,IAAK,WACH,MAAO,CACLH,KAAMS,EAAYA,aAClBP,QAAS,OACTC,UAAW,UAEf,IAAK,OACH,MAAO,CACLH,KAAMU,EAAQA,SACdR,QAAS,SACTC,UAAW,QAEf,IAAK,UACH,MAAO,CACLH,KAAMW,EAAWA,YACjBT,QAAS,SACTC,UAAW,UAEf,IAAK,OACH,MAAO,CACLH,KAAMY,EAAQA,SACdV,QAAS,SACTC,UAAW,SAEf,IAAK,QACL,IAAK,OACH,MAAO,CACLH,KAAMa,EAASA,UACfX,QAAS,OACTC,UAAW,OAEf,IAAK,QACL,IAAK,QACH,MAAO,CACLH,KAAMc,EAASA,UACfZ,QAAS,OACTC,UAAW,SAEf,IAAK,WACH,MAAO,CACLH,KAAMe,EAAYA,aAClBb,QAAS,OACTC,UAAW,YAEf,IAAK,WACH,MAAO,CACLH,KAAMgB,EAAYA,aAClBd,QAAS,OACTC,UAAW,mBAEf,IAAK,iBACH,MAAO,CACLH,KAAMI,EAAOA,QACbF,QAAS,SACTC,UAAW,WAEf,IAAK,kBACH,MAAO,CACLH,KAAMa,EAASA,UACfX,QAAS,OACTC,UAAW,UAEf,IAAK,OACH,MAAO,CACLH,KAAMiB,EAAMC,SACZhB,QAAS,OACTC,UAAW,IAEf,IAAK,UACH,MAAMgB,MAEL,0EACH,IAAK,OACH,MAAMA,MAEL,sEACH,IAAK,MACH,MAAMA,MAEL,kEACH,IAAK,OACH,MAAMA,MAEL,mEACH,QACE,MAAMA,MAAM,uDAElB,kICnKaC,EAAkC,SAM1CC,GAAA,IAAAC,EALHC,IAAAA,MAAKC,EAAAH,EACLI,UAAAA,aAAY,aAAYD,EACxBtB,IAAAA,QACAwB,IAAAA,UACGC,EAAIC,EAAAP,EAAAQ,GAEP,OACEZ,yBACES,UAAWI,EAAW,eAAgBJ,GAASJ,EAAA,CAAA,EAAAA,EAAA,iBAC3BpB,GAAYA,EAAOoB,EAAA,iBACnBG,GAAcA,EAChCH,IACFS,MAAO,CAAEC,gBAAiBT,IACtBI,GAGV,0GCIaM,EAAkC,SAW1CZ,GAAA,IAVHI,IAAAA,UACAvB,IAAAA,QACAqB,IAAAA,MACAW,IAAAA,WACAC,IAAAA,SAAQC,EAAAf,EACRgB,UAAAA,cAAgBD,EAAAE,EAAAjB,EAChBkB,SAAAA,cAAeD,EAAAE,EAAAnB,EACfoB,SAAAA,cAAeD,EACfd,IAAAA,UACGC,EAAIC,EAAAP,EAAAQ,GAEP,OACEZ,yBACES,UAAWI,EAAWJ,EAAW,eAAgB,CAC/C,CAAE,yBAAwC,aAAdD,GAC5B,CAAE,2BAA0C,eAAdA,MAE5BE,GAEHU,GACCpB,EAAAyB,cAAA,MAAA,CACEhB,UAAgC,sBAChCK,MAAO,CAAEC,gBAAiBE,GAAcX,KAI3CkB,GACCxB,EAACyB,cAAAtB,GACCM,UAA+B,qBAC/BD,UAAWA,EACXF,MAAOA,EACPrB,QAASA,IAIZqC,GACCtB,EACEyB,cAAA,MAAA,CAAAhB,UAA+B,qBAC/BK,MAAO,CAAEC,gBAAiBG,GAAYZ,KAKhD,yGChFAoB,EAAsBA,uBAAC,mECqBkC,SAQpDtB,GAAA,IAAAuB,EAAAvB,EAPHwB,GAAIC,aAAU,MAAKF,EACnBG,IAAAA,KACAC,IAAAA,GAAEC,EAAA5B,EACF6B,KAAAA,aAAO,QAAOD,EACdvB,IAAAA,UACAyB,IAAAA,OACGxB,EAAIC,EAAAP,EAAAQ,GAEP,OACEZ,EAACyB,cAAAI,EAAOM,EAAA,CACN1B,UAAWI,EAAW,oBAAqBJ,EAAW,CACpD,2BAAqC,UAATwB,EAC5B,4BAAsC,WAATA,EAC7B,6BAA8BC,wBAEbJ,EAAaC,SAAAA,GAC5BrB,GAEJV,EAAAyB,cAAA,OAAA,CAAMhB,UAAU,2BAA2BqB,GAC3C9B,EAAMyB,cAAA,OAAA,CAAAhB,UAAU,yBAAyBsB,GAG/C,oBC5BmD,SAK9C3B,GAAA,IAJHK,IAAAA,UACA2B,IAAAA,UACA5B,IAAAA,UACGE,EAAIC,EAAAP,EAAAQ,GAEC3B,EAAYJ,EAAkBuD,GAA9BnD,QACFoD,EAAaC,EAAAA,cACbC,EAAwBH,EAAUI,cAQxC,OANAC,QAAQC,IAAI,wBAAyBH,GAOnCvC,EAAAyB,cAACT,EAAOmB,EAAA,CACN3B,UAAWA,EACXvB,QAASA,EACTqB,MAAO+B,EANT,8CAAgDE,EAAwB,IAFxE,8CAAgDA,EAAwB,IAStE9B,UAAWA,GACPC,GAGV,uBCjByD,SAOpDN,GAAA,IANHK,IAAAA,UACAkC,IAAAA,SAAQC,EAAAxC,EACRyC,eAAAA,aAAiB,QAAOD,EACxBR,IAAAA,UACAH,IAAAA,KACGvB,EAAIC,EAAAP,EAAAQ,GAEC7B,EAASF,EAAkBuD,GAA3BrD,KACFwD,EAAwBH,EAAUI,cAWxC,OACExC,EAAAyB,cAACqB,EAAMA,OAAAX,EAAA,CACL1B,UAAWA,EACXoC,eAAgBA,EAChBvC,MAZF,gEACAiC,EACA,IAWEQ,cATF,gEACAR,EACA,IAQES,KAAMhD,EAACyB,cAAA1C,QACPkD,KAAMA,GACFvB,GAEHiC,EAGP,oBClBmD,SAS9CvC,GAAA,IAAAC,EARHsC,IAAAA,SACAlC,IAAAA,UAASwC,EAAA7C,EACT8C,MAAAA,aAAQ,OAAMD,EAAAE,EAAA/C,EACdgC,UAAAA,aAAY,OAAMe,EAClBC,IAAAA,MAAKR,EAAAxC,EACLyC,eAAAA,aAAiB,QAAOD,EAAAS,EAAAjD,EACxBkD,QAAAA,kBAAUC,EAASF,EAChB3C,EAAIC,EAAAP,EAAAQ,GAEDyB,EAAaC,EAAAA,cACbkB,IAAaF,EACbG,EAA+B,SAAdrB,EACjBsB,EAAuB,SAAVR,EACbS,EAASC,SAAuB,MAChCC,EAAmB7D,EAAM8D,SAASC,MAAMpB,GAE5C9D,EAAAA,EAAkBuD,GADZrD,IAAAA,KAAiBiF,IAAX9E,UAERqD,EAAwBH,EAAUI,cAClCyB,EAAqBC,EAAAA,aAAalE,gBAACjB,EAAI,MAAK,CAAE,cAAe,SAE7DgC,EACJ,sDACAwB,EACA,IACI4B,EACJ,sDACA5B,EACA,IAEI6B,EACJ,sDACA7B,EACA,YACI8B,EACJ,sDACA9B,EACA,YACI+B,EACJ,wDACA/B,EACA,YACIgC,EACJ,wDACAhC,EACA,YAEFiC,EAAAA,WAAU,WACY,IAAAC,EACdC,EAGsBC,EAOHC,EAXrBnB,IAIgB,SAAdrB,IACY,OAAduC,EAAAhB,EAAOkB,UAAPF,EAAgB7D,MAAMgE,YACpB,eACA,0DAIU,UAAV5B,GACFwB,EAAarC,EACTgC,EACAD,EAEU,OAAdQ,EAAAjB,EAAOkB,UAAPD,EAAgB9D,MAAMgE,YAAY,eAAmBC,IADpC1C,EAAaiC,EAAyBC,KAGvDG,EAAarC,EAAa8B,EAA0BpD,EAExC,OAAd0D,EAAAd,EAAOkB,UAAPJ,EAAgB3D,MAAMgE,YAAY,qBAAyBJ,GAAAA,GAE/D,GAAG,CACDjB,EACApB,EACAtB,EACAoD,EACAC,EACAlB,IAGF,IAkEW8B,EAlELC,EACJjF,EAAAyB,cAAA,MAAAU,EAAA,CACE1B,UAAWI,EAAW,iBAAkB,CACtC,2BAA4B2C,EAC5B,wBAAyBE,EACzB,+BAA0C,UAAVR,EAChC,4BAA6BO,EAC7B,gCACEI,EAAmB,GAAMJ,GAAkBI,EAAmB,EAChEpD,UAAAA,IAEFyE,IAAKvB,EAAM,aACIK,EAAwB,IAAIrB,EAAQ,KACjDe,EAAaR,EAAQ,IAEvBiC,KAAK,OACDzE,GAEHuD,EACAtB,EACAa,GACCxD,EACEyB,cAAA,SAAA,CAAA2D,QAAS9B,EACT+B,KAAK,SACL5E,UAAU,gCAEVT,EAAAyB,cAAC6D,iBAAc,CAACC,QAAM,KAGzB7B,GACC1D,EAAMyB,cAAA,OAAA,CAAAhB,UAAU,yBACH,SAAVyC,GACClD,EAAAyB,cAAC+D,EAAAA,yBAAwB,CAAA,eAAA,EAEvB/E,UAAU,oCAGH,UAAVyC,GACClD,EAAAyB,cAACgE,EAAAA,0BAAyB,CAAA,eAAA,EAExBhF,UAAU,qCAGH,YAAVyC,GACClD,EAAAyB,cAACiE,EAAAA,gCAEC,CAAA,eAAA,EAAAjF,UAAU,6CAQhBkF,EACJ3F,EAAAyB,cAAA,MAAA,CACEhB,UAAWI,EAAW,yBACOgC,EAAAA,CAAAA,EAAAA,EAAAA,0BAAAA,GAAmBO,EACnBP,EAAAA,0BAAAA,EACzBO,gBAAAA,GAASM,EAAUrD,KAGtB+C,GAIL,OAAIA,EAEApD,EACEyB,cAAA,MAAA,CAAAhB,UAAWI,EAAW,2BACwBgC,EAAAA,CAAAA,EAAAA,EAAAA,2CAAAA,GAAmBO,EAAK4B,KAGrEC,EACAU,GAKAV,CACT"}
1
+ {"version":3,"file":"travel.cjs.production.min.js","sources":["../src/utils.ts","../src/TravelTag.tsx","../src/LegLine.tsx","../src/LegBone.tsx","../src/index.tsx","../src/TravelHeader.tsx","../src/TravelLeg.tsx","../src/TravelSwitch.tsx"],"sourcesContent":["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 ValidationInfoFilledIcon,\n ValidationErrorFilledIcon,\n ValidationExclamationFilledIcon,\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\n className={classNames('eds-travel-tag__alert', {\n 'eds-travel-tag__alert--warning': alert === 'warning',\n })}\n >\n {alert === 'info' && (\n <ValidationInfoFilledIcon\n aria-hidden\n className=\"eds-travel-tag__alert-info-icon\"\n />\n )}\n {alert === 'error' && (\n <ValidationErrorFilledIcon\n aria-hidden\n className=\"eds-travel-tag__alert-error-icon\"\n />\n )}\n {alert === 'warning' && (\n <>\n <TriangleBorderShape aria-hidden />\n <ValidationExclamationFilledIcon\n className=\"eds-travel-tag__alert-warning-icon\"\n aria-hidden\n />\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\nconst TriangleBorderShape: React.FC = () => {\n return (\n <svg\n width=\"20\"\n height=\"17\"\n viewBox=\"0 0 20 17\"\n fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\"\n className=\"eds-travel-tag__alert-warning-icon__border\"\n >\n <path\n d=\"M7.74451 1.9216C8.75118 0.192584 11.2489 0.192586 12.2556 1.92161L18.7502 13.0764C19.7633 14.8164 18.5081 16.9996 16.4946 16.9996H3.50547C1.49206 16.9996 0.236853 14.8164 1.24991 13.0764L7.74451 1.9216Z\"\n fill=\"white\"\n />\n </svg>\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 { 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","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 { 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"],"names":["getTransportStyle","mode","Icon","MetroIcon","pattern","ariaLabel","BusIcon","PlaneIcon","HelicopterIcon","TramIcon","FunicularIcon","CablewayIcon","TaxiIcon","BicycleIcon","WalkIcon","TrainIcon","FerryIcon","CarferryIcon","MobilityIcon","React","Fragment","Error","TriangleBorderShape","createElement","width","height","viewBox","fill","xmlns","className","d","LegLine","_ref","_classNames","color","_ref$direction","direction","rest","_objectWithoutPropertiesLoose","_excluded","classNames","style","backgroundColor","LegBone","startColor","endColor","_ref$showStart","showStart","_ref$showStop","showStop","_ref$showLine","showLine","warnAboutMissingStyles","_ref$as","as","Element","from","to","_ref$size","size","noWrap","_extends","transport","isContrast","useContrast","deCapitalizeTransport","toLowerCase","console","log","children","_ref$labelPlacement","labelPlacement","Switch","contrastColor","icon","_ref$alert","alert","_ref$transport","label","_ref$onClose","onClose","undefined","isClosable","transportIsSet","alertIsSet","tagRef","useRef","numberOfChildren","Children","count","ariaLabelForTranportIcon","IconWithAriaHidden","cloneElement","contrastBackgroundColor","errorBackgroundColor","errorContrastBackgroundColor","errorContrastTextColor","errorTextColor","useEffect","_tagRef$current3","colorToSet","_tagRef$current","_tagRef$current2","current","setProperty","textColorToSet","_classNames2","TravelTagWithoutLabel","ref","role","onClick","type","CloseSmallIcon","inline","ValidationInfoFilledIcon","ValidationErrorFilledIcon","ValidationExclamationFilledIcon","Label"],"mappings":"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"}
@@ -253,17 +253,21 @@ var TravelTag = function TravelTag(_ref) {
253
253
  }, React.createElement(CloseSmallIcon, {
254
254
  inline: true
255
255
  })), alertIsSet && React.createElement("span", {
256
- className: "eds-travel-tag__alert"
256
+ className: classNames('eds-travel-tag__alert', {
257
+ 'eds-travel-tag__alert--warning': alert === 'warning'
258
+ })
257
259
  }, alert === 'info' && React.createElement(ValidationInfoFilledIcon, {
258
260
  "aria-hidden": true,
259
261
  className: "eds-travel-tag__alert-info-icon"
260
262
  }), alert === 'error' && React.createElement(ValidationErrorFilledIcon, {
261
263
  "aria-hidden": true,
262
264
  className: "eds-travel-tag__alert-error-icon"
263
- }), alert === 'warning' && React.createElement(ValidationExclamationFilledIcon, {
264
- "aria-hidden": true,
265
- className: "eds-travel-tag__alert-exclamation-icon"
266
- })));
265
+ }), alert === 'warning' && React.createElement(React.Fragment, null, React.createElement(TriangleBorderShape, {
266
+ "aria-hidden": true
267
+ }), React.createElement(ValidationExclamationFilledIcon, {
268
+ className: "eds-travel-tag__alert-warning-icon",
269
+ "aria-hidden": true
270
+ }))));
267
271
  var Label = React.createElement("div", {
268
272
  className: classNames('eds-travel-tag__label', (_classNames = {}, _classNames["eds-travel-tag__label--" + labelPlacement] = label, _classNames["eds-travel-tag__label--" + labelPlacement + "--with-alert"] = label && alertIsSet, _classNames))
269
273
  }, label);
@@ -275,6 +279,19 @@ var TravelTag = function TravelTag(_ref) {
275
279
  }
276
280
  return TravelTagWithoutLabel;
277
281
  };
282
+ var TriangleBorderShape = function TriangleBorderShape() {
283
+ return React.createElement("svg", {
284
+ width: "20",
285
+ height: "17",
286
+ viewBox: "0 0 20 17",
287
+ fill: "none",
288
+ xmlns: "http://www.w3.org/2000/svg",
289
+ className: "eds-travel-tag__alert-warning-icon__border"
290
+ }, React.createElement("path", {
291
+ d: "M7.74451 1.9216C8.75118 0.192584 11.2489 0.192586 12.2556 1.92161L18.7502 13.0764C19.7633 14.8164 18.5081 16.9996 16.4946 16.9996H3.50547C1.49206 16.9996 0.236853 14.8164 1.24991 13.0764L7.74451 1.9216Z",
292
+ fill: "white"
293
+ }));
294
+ };
278
295
 
279
296
  var _excluded$3 = ["color", "direction", "pattern", "className"];
280
297
  var LegLine = function LegLine(_ref) {
@@ -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';\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 ValidationInfoFilledIcon,\n ValidationErrorFilledIcon,\n ValidationExclamationFilledIcon,\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 <ValidationInfoFilledIcon\n aria-hidden\n className=\"eds-travel-tag__alert-info-icon\"\n />\n )}\n {alert === 'error' && (\n <ValidationErrorFilledIcon\n aria-hidden\n className=\"eds-travel-tag__alert-error-icon\"\n />\n )}\n {alert === 'warning' && (\n <ValidationExclamationFilledIcon\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","ValidationInfoFilledIcon","ValidationErrorFilledIcon","ValidationExclamationFilledIcon","Label","LegLine","color","direction","LegBone","startColor","endColor","showStart","showStop","showLine","TravelLeg","console","log","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 ValidationInfoFilledIcon,\n ValidationErrorFilledIcon,\n ValidationExclamationFilledIcon,\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\n className={classNames('eds-travel-tag__alert', {\n 'eds-travel-tag__alert--warning': alert === 'warning',\n })}\n >\n {alert === 'info' && (\n <ValidationInfoFilledIcon\n aria-hidden\n className=\"eds-travel-tag__alert-info-icon\"\n />\n )}\n {alert === 'error' && (\n <ValidationErrorFilledIcon\n aria-hidden\n className=\"eds-travel-tag__alert-error-icon\"\n />\n )}\n {alert === 'warning' && (\n <>\n <TriangleBorderShape aria-hidden />\n <ValidationExclamationFilledIcon\n className=\"eds-travel-tag__alert-warning-icon\"\n aria-hidden\n />\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\nconst TriangleBorderShape: React.FC = () => {\n return (\n <svg\n width=\"20\"\n height=\"17\"\n viewBox=\"0 0 20 17\"\n fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\"\n className=\"eds-travel-tag__alert-warning-icon__border\"\n >\n <path\n d=\"M7.74451 1.9216C8.75118 0.192584 11.2489 0.192586 12.2556 1.92161L18.7502 13.0764C19.7633 14.8164 18.5081 16.9996 16.4946 16.9996H3.50547C1.49206 16.9996 0.236853 14.8164 1.24991 13.0764L7.74451 1.9216Z\"\n fill=\"white\"\n />\n </svg>\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 { 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","ValidationInfoFilledIcon","ValidationErrorFilledIcon","TriangleBorderShape","ValidationExclamationFilledIcon","Label","width","height","viewBox","fill","xmlns","d","LegLine","color","direction","LegBone","startColor","endColor","showStart","showStop","showLine","TravelLeg","console","log","TravelSwitch","Switch","contrastColor","icon","warnAboutMissingStyles"],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@entur/travel",
3
- "version": "6.1.12",
3
+ "version": "6.1.14",
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.1.0",
31
- "@entur/icons": "^6.15.5",
32
- "@entur/layout": "^2.3.0",
33
- "@entur/tokens": "^3.13.3",
30
+ "@entur/form": "^7.1.2",
31
+ "@entur/icons": "^6.15.7",
32
+ "@entur/layout": "^2.3.2",
33
+ "@entur/tokens": "^3.13.5",
34
34
  "@entur/utils": "^0.11.0",
35
35
  "classnames": "^2.3.1"
36
36
  },
37
- "gitHead": "a6bd766dd2c7bf84eb3a5bcc8cfdbabca765e28e"
37
+ "gitHead": "1008c4e487e114c41234cc4ce7da912519ad26a5"
38
38
  }