@entur/travel 6.5.11 → 7.0.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -13,6 +13,8 @@ export type TravelTagProps = {
13
13
  * @default "none"
14
14
  */
15
15
  alert?: 'none' | 'error' | 'warning' | 'info';
16
+ /** Duration brukes når man viser tid dette "transportmiddelet" bruker, anbefales hovedsaklig til gange og delingsmobilitet. publicCode brukes for å vise ID-en til linjen. */
17
+ type?: 'publicCode' | 'duration';
16
18
  /** Legger til farge og ikon tilpasset valgt transportmiddel */
17
19
  transport?: Transport;
18
20
  /** Element ved siden av eller under TravelTag. */
package/dist/styles.css CHANGED
@@ -315,10 +315,10 @@
315
315
  }
316
316
 
317
317
  [data-color-mode=dark]{
318
- --components-travel-legline-stroke-line:#ff9494;
319
- --components-travel-travelheader-contrast-stroke-line:#ff9494;
318
+ --components-travel-legline-stroke-line:#ff5959;
319
+ --components-travel-travelheader-contrast-stroke-line:#ff5959;
320
320
  --components-travel-travelheader-contrast-text:#e5e5e9;
321
- --components-travel-travelheader-standard-stroke-line:#ff9494;
321
+ --components-travel-travelheader-standard-stroke-line:#ff5959;
322
322
  --components-travel-travelheader-standard-text:#e5e5e9;
323
323
  --components-travel-travelleg-contrast-air:#f2b8e5;
324
324
  --components-travel-travelleg-contrast-airportlinkbus:#f2b8e5;
@@ -628,6 +628,52 @@
628
628
  --components-travel-traveltag-standard-text-line-regional-bus-cancelled:#a4bf4d;
629
629
  --components-travel-traveltag-standard-text-newtime:#ff9494;
630
630
  }
631
+
632
+ [data-view-mode=standard],
633
+ :root{
634
+ --components-travel-travelheader-border-small:0.125rem;
635
+ --components-travel-travelheader-border-large:0.25rem;
636
+ --components-travel-travelheader-border-medium:0.25rem;
637
+ --components-travel-travelheader-gap-small:0.5rem;
638
+ --components-travel-travelheader-gap-medium:0.75rem;
639
+ --components-travel-travelheader-gap-large:1rem;
640
+ --components-travel-travelheader-spacing-large:0.5rem;
641
+ --components-travel-travelheader-spacing-medium:0.5rem;
642
+ --components-travel-travelheader-spacing-small:0.5rem;
643
+ --components-travel-travelheader-width-small:1.5rem;
644
+ --components-travel-travelheader-width-medium:2rem;
645
+ --components-travel-travelheader-width-large:2.5rem;
646
+ }
647
+
648
+ [data-view-mode=compact]{
649
+ --components-travel-travelheader-border-small:0.125rem;
650
+ --components-travel-travelheader-border-large:0.25rem;
651
+ --components-travel-travelheader-border-medium:0.25rem;
652
+ --components-travel-travelheader-gap-medium:0.5rem;
653
+ --components-travel-travelheader-gap-small:0.5rem;
654
+ --components-travel-travelheader-gap-large:0.75rem;
655
+ --components-travel-travelheader-spacing-large:0.5rem;
656
+ --components-travel-travelheader-spacing-medium:0.5rem;
657
+ --components-travel-travelheader-spacing-small:0.5rem;
658
+ --components-travel-travelheader-width-small:1.25rem;
659
+ --components-travel-travelheader-width-medium:1.75rem;
660
+ --components-travel-travelheader-width-large:2rem;
661
+ }
662
+
663
+ [data-view-mode=display]{
664
+ --components-travel-travelheader-border-small:0.25rem;
665
+ --components-travel-travelheader-border-medium:0.375rem;
666
+ --components-travel-travelheader-border-large:0.5rem;
667
+ --components-travel-travelheader-gap-small:0.75rem;
668
+ --components-travel-travelheader-gap-medium:1rem;
669
+ --components-travel-travelheader-gap-large:1.5rem;
670
+ --components-travel-travelheader-spacing-small:0.5rem;
671
+ --components-travel-travelheader-spacing-medium:0.75rem;
672
+ --components-travel-travelheader-spacing-large:1rem;
673
+ --components-travel-travelheader-width-small:2.5rem;
674
+ --components-travel-travelheader-width-medium:3.5rem;
675
+ --components-travel-travelheader-width-large:4.5rem;
676
+ }
631
677
  [data-color-mode=light],
632
678
  :root{
633
679
  --basecolors-frame-contrast:#181c56;
@@ -636,6 +682,8 @@
636
682
  --basecolors-frame-default:#ffffff;
637
683
  --basecolors-frame-elevated:#ffffff;
638
684
  --basecolors-frame-elevatedalt:#f6f6f9;
685
+ --basecolors-frame-highlight:#ff5959;
686
+ --basecolors-frame-highlightalt:#ffbf9e;
639
687
  --basecolors-frame-subdued:#d9dae8;
640
688
  --basecolors-frame-tint:#f6f6f9;
641
689
  --basecolors-shape-accent:#181c56;
@@ -683,6 +731,7 @@
683
731
  --basecolors-stroke-focus-contrast:#aeb7e2;
684
732
  --basecolors-stroke-focus-standard:#181c56;
685
733
  --basecolors-stroke-highlight:#ff5959;
734
+ --basecolors-stroke-highlight2:#ffbf9e;
686
735
  --basecolors-stroke-light:#ffffff;
687
736
  --basecolors-stroke-subdued:#8284ab;
688
737
  --basecolors-stroke-subduedalt:#e3e6e8;
@@ -703,6 +752,8 @@
703
752
  --basecolors-frame-default:#08091c;
704
753
  --basecolors-frame-elevated:rgba(229, 229, 233, 0.1490196078);
705
754
  --basecolors-frame-elevatedalt:#464755;
755
+ --basecolors-frame-highlight:#ff5959;
756
+ --basecolors-frame-highlightalt:#ffbf9e;
706
757
  --basecolors-frame-subdued:#2d2e3e;
707
758
  --basecolors-frame-tint:#141527;
708
759
  --basecolors-shape-accent:#e5e5e9;
@@ -720,7 +771,7 @@
720
771
  --basecolors-shape-funicular-default:#b898e5;
721
772
  --basecolors-shape-helicopter-contrast:#f2b8e5;
722
773
  --basecolors-shape-helicopter-default:#f2b8e5;
723
- --basecolors-shape-highlight:#ff9494;
774
+ --basecolors-shape-highlight:#ff5959;
724
775
  --basecolors-shape-light:#e5e5e9;
725
776
  --basecolors-shape-mask:#2d2e3e;
726
777
  --basecolors-shape-maskalt:#393a49;
@@ -749,14 +800,15 @@
749
800
  --basecolors-stroke-disabled:#e3e6e8;
750
801
  --basecolors-stroke-focus-contrast:#aeb7e2;
751
802
  --basecolors-stroke-focus-standard:#aeb7e2;
752
- --basecolors-stroke-highlight:#ff9494;
803
+ --basecolors-stroke-highlight:#ff5959;
804
+ --basecolors-stroke-highlight2:#ffbf9e;
753
805
  --basecolors-stroke-light:#b3b4bd;
754
806
  --basecolors-stroke-subdued:#81828f;
755
807
  --basecolors-stroke-subduedalt:#949699;
756
808
  --basecolors-text-accent:#e5e5e9;
757
809
  --basecolors-text-disabled:#b6b8ba;
758
810
  --basecolors-text-disabledalt:#b6b8ba;
759
- --basecolors-text-highlight:#ff9494;
811
+ --basecolors-text-highlight:#ff5959;
760
812
  --basecolors-text-highlightalt:#ffbf9e;
761
813
  --basecolors-text-light:#e5e5e9;
762
814
  --basecolors-text-subdued:#b3b4bd;
@@ -946,7 +998,7 @@
946
998
  background-color:var(--background-color);
947
999
  color:var(--text-color);
948
1000
  }
949
- .eds-contrast .eds-travel-tag{
1001
+ :where(.eds-contrast) .eds-travel-tag{
950
1002
  --background-color:var(--components-travel-traveltag-contrast-fill-walk);
951
1003
  --text-color:var(--components-travel-traveltag-contrast-text-default);
952
1004
  }
@@ -957,14 +1009,22 @@
957
1009
  background-color:var(--background-color);
958
1010
  color:var(--text-color);
959
1011
  }
960
- .eds-contrast .eds-travel-tag--alert--error.eds-travel-tag{
1012
+ :where(.eds-contrast) .eds-travel-tag--alert--error:where(.eds-travel-tag){
961
1013
  background-color:var(--background-color);
962
1014
  color:var(--text-color);
963
1015
  }
964
- .eds-travel-tag--icon-and-text > .eds-icon{
1016
+ .eds-travel-tag--type-duration{
1017
+ -webkit-box-align:end;
1018
+ -webkit-align-items:flex-end;
1019
+ -moz-box-align:end;
1020
+ align-items:flex-end;
1021
+ font-size:0.625rem;
1022
+ line-height:1;
1023
+ }
1024
+ .eds-travel-tag--icon-and-text > :where(.eds-icon){
965
1025
  margin-right:0.5rem;
966
1026
  }
967
- .eds-travel-tag > .eds-icon{
1027
+ .eds-travel-tag > :where(.eds-icon){
968
1028
  font-size:1.5rem;
969
1029
  color:var(--text-color);
970
1030
  }
@@ -992,29 +1052,29 @@
992
1052
  right:-0.6875rem;
993
1053
  background:var(--components-form-feedbacktext-information-standard-stroke);
994
1054
  }
995
- .eds-contrast .eds-travel-tag__alert{
1055
+ :where(.eds-contrast) .eds-travel-tag__alert{
996
1056
  background:var(--components-form-feedbacktext-information-contrast-stroke);
997
1057
  }
998
1058
  .eds-travel-tag__alert-exclamation-icon{
999
1059
  color:var(--components-form-feedbacktext-warning-standard-icon-fill);
1000
1060
  }
1001
- .eds-travel-tag__alert-exclamation-icon .svg-validation-circlefilled-exclamation{
1061
+ .eds-travel-tag__alert-exclamation-icon :where(.svg-validation-circlefilled-exclamation){
1002
1062
  fill:var(--components-form-feedbacktext-warning-standard-icon-symbol);
1003
1063
  }
1004
- .eds-contrast .eds-travel-tag__alert-exclamation-icon{
1064
+ :where(.eds-contrast) .eds-travel-tag__alert-exclamation-icon{
1005
1065
  color:var(--components-form-feedbacktext-warning-contrast-icon-fill);
1006
1066
  }
1007
1067
  .eds-travel-tag__alert-error-icon{
1008
1068
  font-size:0.875rem;
1009
1069
  color:var(--components-form-feedbacktext-negative-standard-icon-fill);
1010
1070
  }
1011
- .eds-contrast .eds-travel-tag__alert-error-icon{
1071
+ :where(.eds-contrast) .eds-travel-tag__alert-error-icon{
1012
1072
  color:var(--components-form-feedbacktext-negative-contrast-icon-fill);
1013
1073
  }
1014
1074
  .eds-travel-tag__alert-info-icon{
1015
1075
  color:var(--components-form-feedbacktext-information-standard-icon-fill);
1016
1076
  }
1017
- .eds-contrast .eds-travel-tag__alert-info-icon{
1077
+ :where(.eds-contrast) .eds-travel-tag__alert-info-icon{
1018
1078
  color:var(--components-form-feedbacktext-information-contrast-icon-fill);
1019
1079
  }
1020
1080
  .eds-travel-tag__wrapper{
@@ -1051,7 +1111,7 @@
1051
1111
  color:var(--components-travel-traveltag-standard-text-label);
1052
1112
  font-size:1rem;
1053
1113
  }
1054
- .eds-contrast .eds-travel-tag__label{
1114
+ :where(.eds-contrast) .eds-travel-tag__label{
1055
1115
  color:var(--components-travel-traveltag-contrast-text-label);
1056
1116
  }
1057
1117
  .eds-travel-tag__label--right{
@@ -1097,17 +1157,17 @@
1097
1157
  font-size:0.875rem;
1098
1158
  line-height:1.5rem;
1099
1159
  }
1100
- .eds-contrast .eds-travel-tag__details{
1160
+ :where(.eds-contrast) .eds-travel-tag__details{
1101
1161
  background-color:var(--components-travel-traveltag-contrast-fill-details);
1102
1162
  color:var(--components-travel-traveltag-contrast-text-details);
1103
1163
  border-color:var(--components-travel-traveltag-contrast-stroke-details);
1104
1164
  }
1105
- .eds-travel-tag--alert--error .eds-travel-tag__details{
1165
+ :where(.eds-travel-tag--alert--error) .eds-travel-tag__details{
1106
1166
  border-color:var(--components-travel-traveltag-standard-stroke-details-cancelled);
1107
1167
  background-color:var(--components-travel-traveltag-standard-fill-details-cancelled);
1108
1168
  color:var(--components-travel-traveltag-standard-text-cancelled);
1109
1169
  }
1110
- .eds-contrast .eds-travel-tag--alert--error .eds-travel-tag__details{
1170
+ :where(.eds-contrast) :where(.eds-travel-tag--alert--error) .eds-travel-tag__details{
1111
1171
  border-color:var(--components-travel-traveltag-contrast-stroke-details-cancelled);
1112
1172
  background-color:var(--components-travel-traveltag-contrast-fill-details-cancelled);
1113
1173
  color:var(--components-travel-traveltag-contrast-text-cancelled);
@@ -1128,11 +1188,11 @@
1128
1188
  width:1.5rem;
1129
1189
  font-size:1rem;
1130
1190
  }
1131
- .eds-travel-tag__close-button .eds-icon{
1191
+ .eds-travel-tag__close-button :where(.eds-icon){
1132
1192
  color:var(--text-color);
1133
1193
  font-size:0.875rem;
1134
1194
  }
1135
- .eds-travel-tag__close-button:has(:focus-visible){
1195
+ .eds-travel-tag__close-button:has(:where(:focus-visible)){
1136
1196
  outline-offset:0.125rem;
1137
1197
  outline:2px solid #ffffff;
1138
1198
  }.eds-leg-line{
@@ -174,6 +174,7 @@ const TravelTag = ({
174
174
  children,
175
175
  className,
176
176
  alert = "none",
177
+ type = "publicCode",
177
178
  transport = "none",
178
179
  label,
179
180
  labelPlacement = "right",
@@ -210,6 +211,7 @@ const TravelTag = ({
210
211
  "eds-travel-tag--alert": alertIsSet,
211
212
  "eds-travel-tag--alert--error": alert === "error",
212
213
  "eds-travel-tag--transport": transportIsSet,
214
+ "eds-travel-tag--type-duration": type === "duration",
213
215
  "eds-travel-tag--icon-and-text": numberOfChildren > 1 || transportIsSet && numberOfChildren > 0
214
216
  }),
215
217
  style: { ...dynamicCssVars, ...style },
@@ -1 +1 @@
1
- {"version":3,"file":"travel.cjs.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 BicycleIcon,\n BusIcon,\n CablewayIcon,\n CarferryIcon,\n FerryIcon,\n FunicularIcon,\n HelicopterIcon,\n MetroIcon,\n MobilityIcon,\n PlaneIcon,\n SnowCoachIcon,\n TaxiIcon,\n TrainIcon,\n TramIcon,\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 | 'snowcoach'\n | 'rail'\n | 'water'\n | 'air'\n | 'none';\n\nexport type CSSVars = { [key: `--${string}`]: string | number };\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 case 'neutral':\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 'snowcoach':\n return {\n Icon: SnowCoachIcon,\n pattern: 'line',\n ariaLabel: 'Beltebil',\n };\n case 'bicycle':\n case 'citybike':\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 case 'airportlinkbus':\n return {\n Icon: BusIcon,\n pattern: 'dashed',\n ariaLabel: 'Flybuss',\n };\n case 'airportLinkRail':\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 } from 'react';\nimport classNames from 'classnames';\nimport {\n CloseSmallIcon,\n ValidationErrorFilledIcon,\n ValidationExclamationCircleFilledIcon,\n ValidationInfoFilledIcon,\n} from '@entur/icons';\nimport { useContrast } from '@entur/layout';\n\nimport { getTransportStyle } from './utils';\n\nimport type { CSSVars, 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 /** Ekstrainnhold for tilleggsvisning i en separat boks.\n * @example Brukes ofte for å vise et tog/avgangsnummer\n */\n details?: React.ReactNode;\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 details,\n style,\n ...rest\n}) => {\n const isContrast = useContrast();\n const isClosable = Boolean(onClose);\n const transportIsSet = transport !== 'none';\n const alertIsSet = alert !== 'none';\n const hasDetails = details !== undefined;\n const numberOfChildren = React.Children.count(children);\n const { Icon, ariaLabel: ariaLabelForTranportIcon } =\n getTransportStyle(transport);\n const transportLower = transport.toLowerCase();\n const IconWithAriaHidden = cloneElement(<Icon />, { 'aria-hidden': 'true' });\n\n const colorTheme = isContrast ? 'contrast' : 'standard';\n const colorModifier = alert === 'error' ? 'cancelled' : undefined;\n const shouldModifyTextColor = alert === 'error' || transport === 'walk';\n\n const defaultBackground = `var(--basecolors-shape-disabled)`;\n const defaultTextColor = `var(--basecolors-shape-disabled)`;\n\n const dynamicCssVars: React.CSSProperties & CSSVars = {\n '--background-color': `var(--components-travel-traveltag-${colorTheme}-fill-${transportLower}${\n colorModifier ? `-${colorModifier}` : ''\n }, ${defaultBackground})`,\n ...(shouldModifyTextColor && {\n '--text-color': `var(--components-travel-traveltag-${colorTheme}-text-line-${transportLower}${\n colorModifier ? `-${colorModifier}` : ''\n }, ${defaultTextColor})`,\n }),\n };\n\n const TravelTagWithoutLabel: JSX.Element = (\n <div\n className={classNames(className, '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 })}\n style={{ ...dynamicCssVars, ...style }}\n aria-label={[ariaLabelForTranportIcon, children, alertIsSet ? alert : '']\n .filter(Boolean)\n .join(' ')}\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 {hasDetails && <div className=\"eds-travel-tag__details\">{details}</div>}\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 <ValidationExclamationCircleFilledIcon\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 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":["jsxs","jsx","MetroIcon","BusIcon","PlaneIcon","HelicopterIcon","TramIcon","FunicularIcon","CablewayIcon","TaxiIcon","SnowCoachIcon","BicycleIcon","WalkIcon","TrainIcon","FerryIcon","CarferryIcon","MobilityIcon","useContrast","cloneElement","CloseSmallIcon","ValidationInfoFilledIcon","ValidationErrorFilledIcon","ValidationExclamationCircleFilledIcon","Switch","warnAboutMissingStyles"],"mappings":";;;;;;;;;AAwBO,MAAM,eAA4C,CAAC;AAAA,EACxD,IAAI,UAAU;AAAA,EACd;AAAA,EACA;AAAA,EACA,OAAO;AAAA,EACP;AAAA,EACA;AAAA,EACA,GAAG;AACL,MAAM;AACJ,SACEA,2BAAAA;AAAAA,IAAC;AAAA,IAAA;AAAA,MACC,WAAW,WAAW,qBAAqB,WAAW;AAAA,QACpD,4BAA4B,SAAS;AAAA,QACrC,6BAA6B,SAAS;AAAA,QACtC,8BAA8B;AAAA,MAAA,CAC/B;AAAA,MACD,cAAY,OAAO,IAAI,SAAS,EAAE;AAAA,MACjC,GAAG;AAAA,MAEJ,UAAA;AAAA,QAAAC,2BAAAA,IAAC,QAAA,EAAK,WAAU,2BAA2B,UAAA,MAAK;AAAA,QAChDA,2BAAAA,IAAC,QAAA,EAAK,WAAU,yBAAyB,UAAA,GAAA,CAAG;AAAA,MAAA;AAAA,IAAA;AAAA,EAAA;AAGlD;ACYO,MAAM,oBAAoB,CAAC,SAAuC;AACvE,UAAQ,MAAA;AAAA,IACN,KAAK;AACH,aAAO;AAAA,QACL,MAAMC,MAAAA;AAAAA,QACN,SAAS;AAAA,QACT,WAAW;AAAA,MAAA;AAAA,IAEf,KAAK;AAAA,IACL,KAAK;AACH,aAAO;AAAA,QACL,MAAMC,MAAAA;AAAAA,QACN,SAAS;AAAA,QACT,WAAW;AAAA,MAAA;AAAA,IAEf,KAAK;AAAA,IACL,KAAK;AACH,aAAO;AAAA,QACL,MAAMC,MAAAA;AAAAA,QACN,SAAS;AAAA,QACT,WAAW;AAAA,MAAA;AAAA,IAEf,KAAK;AACH,aAAO;AAAA,QACL,MAAMC,MAAAA;AAAAA,QACN,SAAS;AAAA,QACT,WAAW;AAAA,MAAA;AAAA,IAEf,KAAK;AACH,aAAO;AAAA,QACL,MAAMC,MAAAA;AAAAA,QACN,SAAS;AAAA,QACT,WAAW;AAAA,MAAA;AAAA,IAEf,KAAK;AACH,aAAO;AAAA,QACL,MAAMC,MAAAA;AAAAA,QACN,SAAS;AAAA,QACT,WAAW;AAAA,MAAA;AAAA,IAEf,KAAK;AACH,aAAO;AAAA,QACL,MAAMC,MAAAA;AAAAA,QACN,SAAS;AAAA,QACT,WAAW;AAAA,MAAA;AAAA,IAEf,KAAK;AACH,aAAO;AAAA,QACL,MAAMC,MAAAA;AAAAA,QACN,SAAS;AAAA,QACT,WAAW;AAAA,MAAA;AAAA,IAEf,KAAK;AACH,aAAO;AAAA,QACL,MAAMC,MAAAA;AAAAA,QACN,SAAS;AAAA,QACT,WAAW;AAAA,MAAA;AAAA,IAEf,KAAK;AAAA,IACL,KAAK;AACH,aAAO;AAAA,QACL,MAAMC,MAAAA;AAAAA,QACN,SAAS;AAAA,QACT,WAAW;AAAA,MAAA;AAAA,IAEf,KAAK;AACH,aAAO;AAAA,QACL,MAAMC,MAAAA;AAAAA,QACN,SAAS;AAAA,QACT,WAAW;AAAA,MAAA;AAAA,IAEf,KAAK;AAAA,IACL,KAAK;AACH,aAAO;AAAA,QACL,MAAMC,MAAAA;AAAAA,QACN,SAAS;AAAA,QACT,WAAW;AAAA,MAAA;AAAA,IAEf,KAAK;AAAA,IACL,KAAK;AACH,aAAO;AAAA,QACL,MAAMC,MAAAA;AAAAA,QACN,SAAS;AAAA,QACT,WAAW;AAAA,MAAA;AAAA,IAEf,KAAK;AACH,aAAO;AAAA,QACL,MAAMC,MAAAA;AAAAA,QACN,SAAS;AAAA,QACT,WAAW;AAAA,MAAA;AAAA,IAEf,KAAK;AACH,aAAO;AAAA,QACL,MAAMC,MAAAA;AAAAA,QACN,SAAS;AAAA,QACT,WAAW;AAAA,MAAA;AAAA,IAEf,KAAK;AAAA,IACL,KAAK;AACH,aAAO;AAAA,QACL,MAAMb,MAAAA;AAAAA,QACN,SAAS;AAAA,QACT,WAAW;AAAA,MAAA;AAAA,IAEf,KAAK;AAAA,IACL,KAAK;AACH,aAAO;AAAA,QACL,MAAMU,MAAAA;AAAAA,QACN,SAAS;AAAA,QACT,WAAW;AAAA,MAAA;AAAA,IAEf,KAAK;AACH,aAAO;AAAA,QACL,MAAM,MAAM;AAAA,QACZ,SAAS;AAAA,QACT,WAAW;AAAA,MAAA;AAAA,IAEf,KAAK;AACH,YAAM;AAAA,QACJ;AAAA,MAAA;AAAA,IAEJ,KAAK;AACH,YAAM;AAAA,QACJ;AAAA,MAAA;AAAA,IAEJ,KAAK;AACH,YAAM;AAAA,QACJ;AAAA,MAAA;AAAA,IAEJ,KAAK;AACH,YAAM;AAAA,QACJ;AAAA,MAAA;AAAA,IAEJ;AACE,YAAM,MAAM,qDAAqD;AAAA,EAAA;AAEvE;ACrJO,MAAM,YAAsC,CAAC;AAAA,EAClD;AAAA,EACA;AAAA,EACA,QAAQ;AAAA,EACR,YAAY;AAAA,EACZ;AAAA,EACA,iBAAiB;AAAA,EACjB,UAAU;AAAA,EACV;AAAA,EACA;AAAA,EACA,GAAG;AACL,MAAM;AACJ,QAAM,aAAaI,OAAAA,YAAA;AACnB,QAAM,aAAa,QAAQ,OAAO;AAClC,QAAM,iBAAiB,cAAc;AACrC,QAAM,aAAa,UAAU;AAC7B,QAAM,aAAa,YAAY;AAC/B,QAAM,mBAAmB,MAAM,SAAS,MAAM,QAAQ;AACtD,QAAM,EAAE,MAAM,WAAW,yBAAA,IACvB,kBAAkB,SAAS;AAC7B,QAAM,iBAAiB,UAAU,YAAA;AACjC,QAAM,qBAAqBC,MAAAA,aAAajB,+BAAC,MAAA,CAAA,CAAK,GAAI,EAAE,eAAe,QAAQ;AAE3E,QAAM,aAAa,aAAa,aAAa;AAC7C,QAAM,gBAAgB,UAAU,UAAU,cAAc;AACxD,QAAM,wBAAwB,UAAU,WAAW,cAAc;AAEjE,QAAM,oBAAoB;AAC1B,QAAM,mBAAmB;AAEzB,QAAM,iBAAgD;AAAA,IACpD,sBAAsB,qCAAqC,UAAU,SAAS,cAAc,GAC1F,gBAAgB,IAAI,aAAa,KAAK,EACxC,KAAK,iBAAiB;AAAA,IACtB,GAAI,yBAAyB;AAAA,MAC3B,gBAAgB,qCAAqC,UAAU,cAAc,cAAc,GACzF,gBAAgB,IAAI,aAAa,KAAK,EACxC,KAAK,gBAAgB;AAAA,IAAA;AAAA,EACvB;AAGF,QAAM,wBACJD,2BAAAA;AAAAA,IAAC;AAAA,IAAA;AAAA,MACC,WAAW,WAAW,WAAW,kBAAkB;AAAA,QACjD,4BAA4B;AAAA,QAC5B,yBAAyB;AAAA,QACzB,gCAAgC,UAAU;AAAA,QAC1C,6BAA6B;AAAA,QAC7B,iCACE,mBAAmB,KAAM,kBAAkB,mBAAmB;AAAA,MAAA,CACjE;AAAA,MACD,OAAO,EAAE,GAAG,gBAAgB,GAAG,MAAA;AAAA,MAC/B,cAAY,CAAC,0BAA0B,UAAU,aAAa,QAAQ,EAAE,EACrE,OAAO,OAAO,EACd,KAAK,GAAG;AAAA,MACX,MAAK;AAAA,MACJ,GAAG;AAAA,MAEH,UAAA;AAAA,QAAA;AAAA,QACA;AAAA,QACA,cACCC,2BAAAA;AAAAA,UAAC;AAAA,UAAA;AAAA,YACC,SAAS;AAAA,YACT,MAAK;AAAA,YACL,WAAU;AAAA,YAEV,UAAAA,2BAAAA,IAACkB,MAAAA,gBAAA,EAAe,QAAM,KAAA,CAAC;AAAA,UAAA;AAAA,QAAA;AAAA,QAG1B,cAAclB,2BAAAA,IAAC,OAAA,EAAI,WAAU,2BAA2B,UAAA,SAAQ;AAAA,QAChE,cACCD,2BAAAA,KAAC,QAAA,EAAK,WAAU,yBACb,UAAA;AAAA,UAAA,UAAU,UACTC,2BAAAA;AAAAA,YAACmB,MAAAA;AAAAA,YAAA;AAAA,cACC,eAAW;AAAA,cACX,WAAU;AAAA,YAAA;AAAA,UAAA;AAAA,UAGb,UAAU,WACTnB,2BAAAA;AAAAA,YAACoB,MAAAA;AAAAA,YAAA;AAAA,cACC,eAAW;AAAA,cACX,WAAU;AAAA,YAAA;AAAA,UAAA;AAAA,UAGb,UAAU,aACTpB,2BAAAA;AAAAA,YAACqB,MAAAA;AAAAA,YAAA;AAAA,cACC,eAAW;AAAA,cACX,WAAU;AAAA,YAAA;AAAA,UAAA;AAAA,QACZ,EAAA,CAEJ;AAAA,MAAA;AAAA,IAAA;AAAA,EAAA;AAKN,QAAM,QACJrB,2BAAAA;AAAAA,IAAC;AAAA,IAAA;AAAA,MACC,WAAW,WAAW,yBAAyB;AAAA,QAC7C,CAAC,0BAA0B,cAAc,EAAE,GAAG;AAAA,QAC9C,CAAC,0BAA0B,cAAc,cAAc,GACrD,SAAS;AAAA,MAAA,CACZ;AAAA,MAEA,UAAA;AAAA,IAAA;AAAA,EAAA;AAIL,MAAI,OAAO;AACT,WACED,2BAAAA;AAAAA,MAAC;AAAA,MAAA;AAAA,QACC,WAAW,WAAW,2BAA2B;AAAA,UAC/C,CAAC,2CAA2C,cAAc,EAAE,GAAG;AAAA,QAAA,CAChE;AAAA,QAEA,UAAA;AAAA,UAAA;AAAA,UACA;AAAA,QAAA;AAAA,MAAA;AAAA,IAAA;AAAA,EAGP;AAEA,SAAO;AACT;ACrJO,MAAM,UAAkC,CAAC;AAAA,EAC9C;AAAA,EACA,YAAY;AAAA,EACZ;AAAA,EACA;AAAA,EACA,GAAG;AACL,MAAM;AACJ,SACEC,2BAAAA;AAAAA,IAAC;AAAA,IAAA;AAAA,MACC,WAAW,WAAW,gBAAgB,WAAW;AAAA,QAC/C,CAAC,iBAAiB,OAAO,EAAE,GAAG;AAAA,QAC9B,CAAC,iBAAiB,SAAS,EAAE,GAAG;AAAA,MAAA,CACjC;AAAA,MACD,OAAO,EAAE,iBAAiB,MAAA;AAAA,MACzB,GAAG;AAAA,IAAA;AAAA,EAAA;AAGV;ACIO,MAAM,UAAkC,CAAC;AAAA,EAC9C;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA,YAAY;AAAA,EACZ,WAAW;AAAA,EACX,WAAW;AAAA,EACX;AAAA,EACA,GAAG;AACL,MAAM;AACJ,SACED,2BAAAA;AAAAA,IAAC;AAAA,IAAA;AAAA,MACC,WAAW,WAAW,WAAW,gBAAgB;AAAA,QAC/C,EAAE,0BAA0B,cAAc,WAAA;AAAA,QAC1C,EAAE,4BAA4B,cAAc,aAAA;AAAA,MAAa,CAC1D;AAAA,MACA,GAAG;AAAA,MAEH,UAAA;AAAA,QAAA,aACCC,2BAAAA;AAAAA,UAAC;AAAA,UAAA;AAAA,YACC,WAAW;AAAA,YACX,OAAO,EAAE,iBAAiB,cAAc,MAAA;AAAA,UAAM;AAAA,QAAA;AAAA,QAIjD,YACCA,2BAAAA;AAAAA,UAAC;AAAA,UAAA;AAAA,YACC,WAAW;AAAA,YACX;AAAA,YACA;AAAA,YACA;AAAA,UAAA;AAAA,QAAA;AAAA,QAIH,YACCA,2BAAAA;AAAAA,UAAC;AAAA,UAAA;AAAA,YACC,WAAW;AAAA,YACX,OAAO,EAAE,iBAAiB,YAAY,MAAA;AAAA,UAAM;AAAA,QAAA;AAAA,MAC9C;AAAA,IAAA;AAAA,EAAA;AAIR;AChEO,MAAM,YAAsC,CAAC;AAAA,EAClD;AAAA,EACA;AAAA,EACA;AAAA,EACA,GAAG;AACL,MAAM;AACJ,QAAM,EAAE,QAAA,IAAY,kBAAkB,SAAS;AAC/C,QAAM,aAAagB,OAAAA,YAAA;AACnB,QAAM,wBAAwB,UAAU,YAAA;AAExC,QAAM,kBACJ,gDAAgD,wBAAwB;AAC1E,QAAM,0BACJ,gDAAgD,wBAAwB;AAE1E,SACEhB,2BAAAA;AAAAA,IAAC;AAAA,IAAA;AAAA,MACC;AAAA,MACA;AAAA,MACA,OAAO,aAAa,0BAA0B;AAAA,MAC9C;AAAA,MACC,GAAG;AAAA,IAAA;AAAA,EAAA;AAGV;AChBO,MAAM,eAA4C,CAAC;AAAA,EACxD;AAAA,EACA;AAAA,EACA,iBAAiB;AAAA,EACjB;AAAA,EACA;AAAA,EACA,GAAG;AACL,MAAM;AACJ,QAAM,EAAE,KAAA,IAAS,kBAAkB,SAAS;AAC5C,QAAM,wBAAwB,UAAU,YAAA;AAExC,QAAM,kBACJ,kEACA,wBACA;AACF,QAAM,0BACJ,kEACA,wBACA;AAEF,SACEA,2BAAAA;AAAAA,IAACsB,KAAAA;AAAAA,IAAA;AAAA,MACC;AAAA,MACA;AAAA,MACA,OAAO;AAAA,MACP,eAAe;AAAA,MACf,qCAAO,MAAA,EAAK;AAAA,MACZ;AAAA,MACC,GAAG;AAAA,MAEH;AAAA,IAAA;AAAA,EAAA;AAGP;ACzDAC,MAAAA,uBAAuB,QAAQ;;;;;;;"}
1
+ {"version":3,"file":"travel.cjs.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 BicycleIcon,\n BusIcon,\n CablewayIcon,\n CarferryIcon,\n FerryIcon,\n FunicularIcon,\n HelicopterIcon,\n MetroIcon,\n MobilityIcon,\n PlaneIcon,\n SnowCoachIcon,\n TaxiIcon,\n TrainIcon,\n TramIcon,\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 | 'snowcoach'\n | 'rail'\n | 'water'\n | 'air'\n | 'none';\n\nexport type CSSVars = { [key: `--${string}`]: string | number };\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 case 'neutral':\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 'snowcoach':\n return {\n Icon: SnowCoachIcon,\n pattern: 'line',\n ariaLabel: 'Beltebil',\n };\n case 'bicycle':\n case 'citybike':\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 case 'airportlinkbus':\n return {\n Icon: BusIcon,\n pattern: 'dashed',\n ariaLabel: 'Flybuss',\n };\n case 'airportLinkRail':\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 } from 'react';\nimport classNames from 'classnames';\nimport {\n CloseSmallIcon,\n ValidationErrorFilledIcon,\n ValidationExclamationCircleFilledIcon,\n ValidationInfoFilledIcon,\n} from '@entur/icons';\nimport { useContrast } from '@entur/layout';\n\nimport { getTransportStyle } from './utils';\n\nimport type { CSSVars, 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 /** Duration brukes når man viser tid dette \"transportmiddelet\" bruker, anbefales hovedsaklig til gange og delingsmobilitet. publicCode brukes for å vise ID-en til linjen. */\n type?: 'publicCode' | 'duration';\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 /** Ekstrainnhold for tilleggsvisning i en separat boks.\n * @example Brukes ofte for å vise et tog/avgangsnummer\n */\n details?: React.ReactNode;\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 type = 'publicCode',\n transport = 'none',\n label,\n labelPlacement = 'right',\n onClose = undefined,\n details,\n style,\n ...rest\n}) => {\n const isContrast = useContrast();\n const isClosable = Boolean(onClose);\n const transportIsSet = transport !== 'none';\n const alertIsSet = alert !== 'none';\n const hasDetails = details !== undefined;\n const numberOfChildren = React.Children.count(children);\n const { Icon, ariaLabel: ariaLabelForTranportIcon } =\n getTransportStyle(transport);\n const transportLower = transport.toLowerCase();\n const IconWithAriaHidden = cloneElement(<Icon />, { 'aria-hidden': 'true' });\n\n const colorTheme = isContrast ? 'contrast' : 'standard';\n const colorModifier = alert === 'error' ? 'cancelled' : undefined;\n const shouldModifyTextColor = alert === 'error' || transport === 'walk';\n\n const defaultBackground = `var(--basecolors-shape-disabled)`;\n const defaultTextColor = `var(--basecolors-shape-disabled)`;\n\n const dynamicCssVars: React.CSSProperties & CSSVars = {\n '--background-color': `var(--components-travel-traveltag-${colorTheme}-fill-${transportLower}${\n colorModifier ? `-${colorModifier}` : ''\n }, ${defaultBackground})`,\n ...(shouldModifyTextColor && {\n '--text-color': `var(--components-travel-traveltag-${colorTheme}-text-line-${transportLower}${\n colorModifier ? `-${colorModifier}` : ''\n }, ${defaultTextColor})`,\n }),\n };\n\n const TravelTagWithoutLabel: JSX.Element = (\n <div\n className={classNames(className, '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--type-duration': type === 'duration',\n 'eds-travel-tag--icon-and-text':\n numberOfChildren > 1 || (transportIsSet && numberOfChildren > 0),\n })}\n style={{ ...dynamicCssVars, ...style }}\n aria-label={[ariaLabelForTranportIcon, children, alertIsSet ? alert : '']\n .filter(Boolean)\n .join(' ')}\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 {hasDetails && <div className=\"eds-travel-tag__details\">{details}</div>}\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 <ValidationExclamationCircleFilledIcon\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 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":["jsxs","jsx","MetroIcon","BusIcon","PlaneIcon","HelicopterIcon","TramIcon","FunicularIcon","CablewayIcon","TaxiIcon","SnowCoachIcon","BicycleIcon","WalkIcon","TrainIcon","FerryIcon","CarferryIcon","MobilityIcon","useContrast","cloneElement","CloseSmallIcon","ValidationInfoFilledIcon","ValidationErrorFilledIcon","ValidationExclamationCircleFilledIcon","Switch","warnAboutMissingStyles"],"mappings":"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"}
@@ -172,6 +172,7 @@ const TravelTag = ({
172
172
  children,
173
173
  className,
174
174
  alert = "none",
175
+ type = "publicCode",
175
176
  transport = "none",
176
177
  label,
177
178
  labelPlacement = "right",
@@ -208,6 +209,7 @@ const TravelTag = ({
208
209
  "eds-travel-tag--alert": alertIsSet,
209
210
  "eds-travel-tag--alert--error": alert === "error",
210
211
  "eds-travel-tag--transport": transportIsSet,
212
+ "eds-travel-tag--type-duration": type === "duration",
211
213
  "eds-travel-tag--icon-and-text": numberOfChildren > 1 || transportIsSet && numberOfChildren > 0
212
214
  }),
213
215
  style: { ...dynamicCssVars, ...style },
@@ -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 BicycleIcon,\n BusIcon,\n CablewayIcon,\n CarferryIcon,\n FerryIcon,\n FunicularIcon,\n HelicopterIcon,\n MetroIcon,\n MobilityIcon,\n PlaneIcon,\n SnowCoachIcon,\n TaxiIcon,\n TrainIcon,\n TramIcon,\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 | 'snowcoach'\n | 'rail'\n | 'water'\n | 'air'\n | 'none';\n\nexport type CSSVars = { [key: `--${string}`]: string | number };\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 case 'neutral':\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 'snowcoach':\n return {\n Icon: SnowCoachIcon,\n pattern: 'line',\n ariaLabel: 'Beltebil',\n };\n case 'bicycle':\n case 'citybike':\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 case 'airportlinkbus':\n return {\n Icon: BusIcon,\n pattern: 'dashed',\n ariaLabel: 'Flybuss',\n };\n case 'airportLinkRail':\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 } from 'react';\nimport classNames from 'classnames';\nimport {\n CloseSmallIcon,\n ValidationErrorFilledIcon,\n ValidationExclamationCircleFilledIcon,\n ValidationInfoFilledIcon,\n} from '@entur/icons';\nimport { useContrast } from '@entur/layout';\n\nimport { getTransportStyle } from './utils';\n\nimport type { CSSVars, 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 /** Ekstrainnhold for tilleggsvisning i en separat boks.\n * @example Brukes ofte for å vise et tog/avgangsnummer\n */\n details?: React.ReactNode;\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 details,\n style,\n ...rest\n}) => {\n const isContrast = useContrast();\n const isClosable = Boolean(onClose);\n const transportIsSet = transport !== 'none';\n const alertIsSet = alert !== 'none';\n const hasDetails = details !== undefined;\n const numberOfChildren = React.Children.count(children);\n const { Icon, ariaLabel: ariaLabelForTranportIcon } =\n getTransportStyle(transport);\n const transportLower = transport.toLowerCase();\n const IconWithAriaHidden = cloneElement(<Icon />, { 'aria-hidden': 'true' });\n\n const colorTheme = isContrast ? 'contrast' : 'standard';\n const colorModifier = alert === 'error' ? 'cancelled' : undefined;\n const shouldModifyTextColor = alert === 'error' || transport === 'walk';\n\n const defaultBackground = `var(--basecolors-shape-disabled)`;\n const defaultTextColor = `var(--basecolors-shape-disabled)`;\n\n const dynamicCssVars: React.CSSProperties & CSSVars = {\n '--background-color': `var(--components-travel-traveltag-${colorTheme}-fill-${transportLower}${\n colorModifier ? `-${colorModifier}` : ''\n }, ${defaultBackground})`,\n ...(shouldModifyTextColor && {\n '--text-color': `var(--components-travel-traveltag-${colorTheme}-text-line-${transportLower}${\n colorModifier ? `-${colorModifier}` : ''\n }, ${defaultTextColor})`,\n }),\n };\n\n const TravelTagWithoutLabel: JSX.Element = (\n <div\n className={classNames(className, '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 })}\n style={{ ...dynamicCssVars, ...style }}\n aria-label={[ariaLabelForTranportIcon, children, alertIsSet ? alert : '']\n .filter(Boolean)\n .join(' ')}\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 {hasDetails && <div className=\"eds-travel-tag__details\">{details}</div>}\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 <ValidationExclamationCircleFilledIcon\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 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":[],"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 BicycleIcon,\n BusIcon,\n CablewayIcon,\n CarferryIcon,\n FerryIcon,\n FunicularIcon,\n HelicopterIcon,\n MetroIcon,\n MobilityIcon,\n PlaneIcon,\n SnowCoachIcon,\n TaxiIcon,\n TrainIcon,\n TramIcon,\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 | 'snowcoach'\n | 'rail'\n | 'water'\n | 'air'\n | 'none';\n\nexport type CSSVars = { [key: `--${string}`]: string | number };\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 case 'neutral':\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 'snowcoach':\n return {\n Icon: SnowCoachIcon,\n pattern: 'line',\n ariaLabel: 'Beltebil',\n };\n case 'bicycle':\n case 'citybike':\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 case 'airportlinkbus':\n return {\n Icon: BusIcon,\n pattern: 'dashed',\n ariaLabel: 'Flybuss',\n };\n case 'airportLinkRail':\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 } from 'react';\nimport classNames from 'classnames';\nimport {\n CloseSmallIcon,\n ValidationErrorFilledIcon,\n ValidationExclamationCircleFilledIcon,\n ValidationInfoFilledIcon,\n} from '@entur/icons';\nimport { useContrast } from '@entur/layout';\n\nimport { getTransportStyle } from './utils';\n\nimport type { CSSVars, 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 /** Duration brukes når man viser tid dette \"transportmiddelet\" bruker, anbefales hovedsaklig til gange og delingsmobilitet. publicCode brukes for å vise ID-en til linjen. */\n type?: 'publicCode' | 'duration';\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 /** Ekstrainnhold for tilleggsvisning i en separat boks.\n * @example Brukes ofte for å vise et tog/avgangsnummer\n */\n details?: React.ReactNode;\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 type = 'publicCode',\n transport = 'none',\n label,\n labelPlacement = 'right',\n onClose = undefined,\n details,\n style,\n ...rest\n}) => {\n const isContrast = useContrast();\n const isClosable = Boolean(onClose);\n const transportIsSet = transport !== 'none';\n const alertIsSet = alert !== 'none';\n const hasDetails = details !== undefined;\n const numberOfChildren = React.Children.count(children);\n const { Icon, ariaLabel: ariaLabelForTranportIcon } =\n getTransportStyle(transport);\n const transportLower = transport.toLowerCase();\n const IconWithAriaHidden = cloneElement(<Icon />, { 'aria-hidden': 'true' });\n\n const colorTheme = isContrast ? 'contrast' : 'standard';\n const colorModifier = alert === 'error' ? 'cancelled' : undefined;\n const shouldModifyTextColor = alert === 'error' || transport === 'walk';\n\n const defaultBackground = `var(--basecolors-shape-disabled)`;\n const defaultTextColor = `var(--basecolors-shape-disabled)`;\n\n const dynamicCssVars: React.CSSProperties & CSSVars = {\n '--background-color': `var(--components-travel-traveltag-${colorTheme}-fill-${transportLower}${\n colorModifier ? `-${colorModifier}` : ''\n }, ${defaultBackground})`,\n ...(shouldModifyTextColor && {\n '--text-color': `var(--components-travel-traveltag-${colorTheme}-text-line-${transportLower}${\n colorModifier ? `-${colorModifier}` : ''\n }, ${defaultTextColor})`,\n }),\n };\n\n const TravelTagWithoutLabel: JSX.Element = (\n <div\n className={classNames(className, '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--type-duration': type === 'duration',\n 'eds-travel-tag--icon-and-text':\n numberOfChildren > 1 || (transportIsSet && numberOfChildren > 0),\n })}\n style={{ ...dynamicCssVars, ...style }}\n aria-label={[ariaLabelForTranportIcon, children, alertIsSet ? alert : '']\n .filter(Boolean)\n .join(' ')}\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 {hasDetails && <div className=\"eds-travel-tag__details\">{details}</div>}\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 <ValidationExclamationCircleFilledIcon\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 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":[],"mappings":";;;;;;;AAwBO,MAAM,eAA4C,CAAC;AAAA,EACxD,IAAI,UAAU;AAAA,EACd;AAAA,EACA;AAAA,EACA,OAAO;AAAA,EACP;AAAA,EACA;AAAA,EACA,GAAG;AACL,MAAM;AACJ,SACE;AAAA,IAAC;AAAA,IAAA;AAAA,MACC,WAAW,WAAW,qBAAqB,WAAW;AAAA,QACpD,4BAA4B,SAAS;AAAA,QACrC,6BAA6B,SAAS;AAAA,QACtC,8BAA8B;AAAA,MAAA,CAC/B;AAAA,MACD,cAAY,OAAO,IAAI,SAAS,EAAE;AAAA,MACjC,GAAG;AAAA,MAEJ,UAAA;AAAA,QAAA,oBAAC,QAAA,EAAK,WAAU,2BAA2B,UAAA,MAAK;AAAA,QAChD,oBAAC,QAAA,EAAK,WAAU,yBAAyB,UAAA,GAAA,CAAG;AAAA,MAAA;AAAA,IAAA;AAAA,EAAA;AAGlD;ACYO,MAAM,oBAAoB,CAAC,SAAuC;AACvE,UAAQ,MAAA;AAAA,IACN,KAAK;AACH,aAAO;AAAA,QACL,MAAM;AAAA,QACN,SAAS;AAAA,QACT,WAAW;AAAA,MAAA;AAAA,IAEf,KAAK;AAAA,IACL,KAAK;AACH,aAAO;AAAA,QACL,MAAM;AAAA,QACN,SAAS;AAAA,QACT,WAAW;AAAA,MAAA;AAAA,IAEf,KAAK;AAAA,IACL,KAAK;AACH,aAAO;AAAA,QACL,MAAM;AAAA,QACN,SAAS;AAAA,QACT,WAAW;AAAA,MAAA;AAAA,IAEf,KAAK;AACH,aAAO;AAAA,QACL,MAAM;AAAA,QACN,SAAS;AAAA,QACT,WAAW;AAAA,MAAA;AAAA,IAEf,KAAK;AACH,aAAO;AAAA,QACL,MAAM;AAAA,QACN,SAAS;AAAA,QACT,WAAW;AAAA,MAAA;AAAA,IAEf,KAAK;AACH,aAAO;AAAA,QACL,MAAM;AAAA,QACN,SAAS;AAAA,QACT,WAAW;AAAA,MAAA;AAAA,IAEf,KAAK;AACH,aAAO;AAAA,QACL,MAAM;AAAA,QACN,SAAS;AAAA,QACT,WAAW;AAAA,MAAA;AAAA,IAEf,KAAK;AACH,aAAO;AAAA,QACL,MAAM;AAAA,QACN,SAAS;AAAA,QACT,WAAW;AAAA,MAAA;AAAA,IAEf,KAAK;AACH,aAAO;AAAA,QACL,MAAM;AAAA,QACN,SAAS;AAAA,QACT,WAAW;AAAA,MAAA;AAAA,IAEf,KAAK;AAAA,IACL,KAAK;AACH,aAAO;AAAA,QACL,MAAM;AAAA,QACN,SAAS;AAAA,QACT,WAAW;AAAA,MAAA;AAAA,IAEf,KAAK;AACH,aAAO;AAAA,QACL,MAAM;AAAA,QACN,SAAS;AAAA,QACT,WAAW;AAAA,MAAA;AAAA,IAEf,KAAK;AAAA,IACL,KAAK;AACH,aAAO;AAAA,QACL,MAAM;AAAA,QACN,SAAS;AAAA,QACT,WAAW;AAAA,MAAA;AAAA,IAEf,KAAK;AAAA,IACL,KAAK;AACH,aAAO;AAAA,QACL,MAAM;AAAA,QACN,SAAS;AAAA,QACT,WAAW;AAAA,MAAA;AAAA,IAEf,KAAK;AACH,aAAO;AAAA,QACL,MAAM;AAAA,QACN,SAAS;AAAA,QACT,WAAW;AAAA,MAAA;AAAA,IAEf,KAAK;AACH,aAAO;AAAA,QACL,MAAM;AAAA,QACN,SAAS;AAAA,QACT,WAAW;AAAA,MAAA;AAAA,IAEf,KAAK;AAAA,IACL,KAAK;AACH,aAAO;AAAA,QACL,MAAM;AAAA,QACN,SAAS;AAAA,QACT,WAAW;AAAA,MAAA;AAAA,IAEf,KAAK;AAAA,IACL,KAAK;AACH,aAAO;AAAA,QACL,MAAM;AAAA,QACN,SAAS;AAAA,QACT,WAAW;AAAA,MAAA;AAAA,IAEf,KAAK;AACH,aAAO;AAAA,QACL,MAAM,MAAM;AAAA,QACZ,SAAS;AAAA,QACT,WAAW;AAAA,MAAA;AAAA,IAEf,KAAK;AACH,YAAM;AAAA,QACJ;AAAA,MAAA;AAAA,IAEJ,KAAK;AACH,YAAM;AAAA,QACJ;AAAA,MAAA;AAAA,IAEJ,KAAK;AACH,YAAM;AAAA,QACJ;AAAA,MAAA;AAAA,IAEJ,KAAK;AACH,YAAM;AAAA,QACJ;AAAA,MAAA;AAAA,IAEJ;AACE,YAAM,MAAM,qDAAqD;AAAA,EAAA;AAEvE;ACnJO,MAAM,YAAsC,CAAC;AAAA,EAClD;AAAA,EACA;AAAA,EACA,QAAQ;AAAA,EACR,OAAO;AAAA,EACP,YAAY;AAAA,EACZ;AAAA,EACA,iBAAiB;AAAA,EACjB,UAAU;AAAA,EACV;AAAA,EACA;AAAA,EACA,GAAG;AACL,MAAM;AACJ,QAAM,aAAa,YAAA;AACnB,QAAM,aAAa,QAAQ,OAAO;AAClC,QAAM,iBAAiB,cAAc;AACrC,QAAM,aAAa,UAAU;AAC7B,QAAM,aAAa,YAAY;AAC/B,QAAM,mBAAmB,MAAM,SAAS,MAAM,QAAQ;AACtD,QAAM,EAAE,MAAM,WAAW,yBAAA,IACvB,kBAAkB,SAAS;AAC7B,QAAM,iBAAiB,UAAU,YAAA;AACjC,QAAM,qBAAqB,aAAa,oBAAC,MAAA,CAAA,CAAK,GAAI,EAAE,eAAe,QAAQ;AAE3E,QAAM,aAAa,aAAa,aAAa;AAC7C,QAAM,gBAAgB,UAAU,UAAU,cAAc;AACxD,QAAM,wBAAwB,UAAU,WAAW,cAAc;AAEjE,QAAM,oBAAoB;AAC1B,QAAM,mBAAmB;AAEzB,QAAM,iBAAgD;AAAA,IACpD,sBAAsB,qCAAqC,UAAU,SAAS,cAAc,GAC1F,gBAAgB,IAAI,aAAa,KAAK,EACxC,KAAK,iBAAiB;AAAA,IACtB,GAAI,yBAAyB;AAAA,MAC3B,gBAAgB,qCAAqC,UAAU,cAAc,cAAc,GACzF,gBAAgB,IAAI,aAAa,KAAK,EACxC,KAAK,gBAAgB;AAAA,IAAA;AAAA,EACvB;AAGF,QAAM,wBACJ;AAAA,IAAC;AAAA,IAAA;AAAA,MACC,WAAW,WAAW,WAAW,kBAAkB;AAAA,QACjD,4BAA4B;AAAA,QAC5B,yBAAyB;AAAA,QACzB,gCAAgC,UAAU;AAAA,QAC1C,6BAA6B;AAAA,QAC7B,iCAAiC,SAAS;AAAA,QAC1C,iCACE,mBAAmB,KAAM,kBAAkB,mBAAmB;AAAA,MAAA,CACjE;AAAA,MACD,OAAO,EAAE,GAAG,gBAAgB,GAAG,MAAA;AAAA,MAC/B,cAAY,CAAC,0BAA0B,UAAU,aAAa,QAAQ,EAAE,EACrE,OAAO,OAAO,EACd,KAAK,GAAG;AAAA,MACX,MAAK;AAAA,MACJ,GAAG;AAAA,MAEH,UAAA;AAAA,QAAA;AAAA,QACA;AAAA,QACA,cACC;AAAA,UAAC;AAAA,UAAA;AAAA,YACC,SAAS;AAAA,YACT,MAAK;AAAA,YACL,WAAU;AAAA,YAEV,UAAA,oBAAC,gBAAA,EAAe,QAAM,KAAA,CAAC;AAAA,UAAA;AAAA,QAAA;AAAA,QAG1B,cAAc,oBAAC,OAAA,EAAI,WAAU,2BAA2B,UAAA,SAAQ;AAAA,QAChE,cACC,qBAAC,QAAA,EAAK,WAAU,yBACb,UAAA;AAAA,UAAA,UAAU,UACT;AAAA,YAAC;AAAA,YAAA;AAAA,cACC,eAAW;AAAA,cACX,WAAU;AAAA,YAAA;AAAA,UAAA;AAAA,UAGb,UAAU,WACT;AAAA,YAAC;AAAA,YAAA;AAAA,cACC,eAAW;AAAA,cACX,WAAU;AAAA,YAAA;AAAA,UAAA;AAAA,UAGb,UAAU,aACT;AAAA,YAAC;AAAA,YAAA;AAAA,cACC,eAAW;AAAA,cACX,WAAU;AAAA,YAAA;AAAA,UAAA;AAAA,QACZ,EAAA,CAEJ;AAAA,MAAA;AAAA,IAAA;AAAA,EAAA;AAKN,QAAM,QACJ;AAAA,IAAC;AAAA,IAAA;AAAA,MACC,WAAW,WAAW,yBAAyB;AAAA,QAC7C,CAAC,0BAA0B,cAAc,EAAE,GAAG;AAAA,QAC9C,CAAC,0BAA0B,cAAc,cAAc,GACrD,SAAS;AAAA,MAAA,CACZ;AAAA,MAEA,UAAA;AAAA,IAAA;AAAA,EAAA;AAIL,MAAI,OAAO;AACT,WACE;AAAA,MAAC;AAAA,MAAA;AAAA,QACC,WAAW,WAAW,2BAA2B;AAAA,UAC/C,CAAC,2CAA2C,cAAc,EAAE,GAAG;AAAA,QAAA,CAChE;AAAA,QAEA,UAAA;AAAA,UAAA;AAAA,UACA;AAAA,QAAA;AAAA,MAAA;AAAA,IAAA;AAAA,EAGP;AAEA,SAAO;AACT;ACzJO,MAAM,UAAkC,CAAC;AAAA,EAC9C;AAAA,EACA,YAAY;AAAA,EACZ;AAAA,EACA;AAAA,EACA,GAAG;AACL,MAAM;AACJ,SACE;AAAA,IAAC;AAAA,IAAA;AAAA,MACC,WAAW,WAAW,gBAAgB,WAAW;AAAA,QAC/C,CAAC,iBAAiB,OAAO,EAAE,GAAG;AAAA,QAC9B,CAAC,iBAAiB,SAAS,EAAE,GAAG;AAAA,MAAA,CACjC;AAAA,MACD,OAAO,EAAE,iBAAiB,MAAA;AAAA,MACzB,GAAG;AAAA,IAAA;AAAA,EAAA;AAGV;ACIO,MAAM,UAAkC,CAAC;AAAA,EAC9C;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA,YAAY;AAAA,EACZ,WAAW;AAAA,EACX,WAAW;AAAA,EACX;AAAA,EACA,GAAG;AACL,MAAM;AACJ,SACE;AAAA,IAAC;AAAA,IAAA;AAAA,MACC,WAAW,WAAW,WAAW,gBAAgB;AAAA,QAC/C,EAAE,0BAA0B,cAAc,WAAA;AAAA,QAC1C,EAAE,4BAA4B,cAAc,aAAA;AAAA,MAAa,CAC1D;AAAA,MACA,GAAG;AAAA,MAEH,UAAA;AAAA,QAAA,aACC;AAAA,UAAC;AAAA,UAAA;AAAA,YACC,WAAW;AAAA,YACX,OAAO,EAAE,iBAAiB,cAAc,MAAA;AAAA,UAAM;AAAA,QAAA;AAAA,QAIjD,YACC;AAAA,UAAC;AAAA,UAAA;AAAA,YACC,WAAW;AAAA,YACX;AAAA,YACA;AAAA,YACA;AAAA,UAAA;AAAA,QAAA;AAAA,QAIH,YACC;AAAA,UAAC;AAAA,UAAA;AAAA,YACC,WAAW;AAAA,YACX,OAAO,EAAE,iBAAiB,YAAY,MAAA;AAAA,UAAM;AAAA,QAAA;AAAA,MAC9C;AAAA,IAAA;AAAA,EAAA;AAIR;AChEO,MAAM,YAAsC,CAAC;AAAA,EAClD;AAAA,EACA;AAAA,EACA;AAAA,EACA,GAAG;AACL,MAAM;AACJ,QAAM,EAAE,QAAA,IAAY,kBAAkB,SAAS;AAC/C,QAAM,aAAa,YAAA;AACnB,QAAM,wBAAwB,UAAU,YAAA;AAExC,QAAM,kBACJ,gDAAgD,wBAAwB;AAC1E,QAAM,0BACJ,gDAAgD,wBAAwB;AAE1E,SACE;AAAA,IAAC;AAAA,IAAA;AAAA,MACC;AAAA,MACA;AAAA,MACA,OAAO,aAAa,0BAA0B;AAAA,MAC9C;AAAA,MACC,GAAG;AAAA,IAAA;AAAA,EAAA;AAGV;AChBO,MAAM,eAA4C,CAAC;AAAA,EACxD;AAAA,EACA;AAAA,EACA,iBAAiB;AAAA,EACjB;AAAA,EACA;AAAA,EACA,GAAG;AACL,MAAM;AACJ,QAAM,EAAE,KAAA,IAAS,kBAAkB,SAAS;AAC5C,QAAM,wBAAwB,UAAU,YAAA;AAExC,QAAM,kBACJ,kEACA,wBACA;AACF,QAAM,0BACJ,kEACA,wBACA;AAEF,SACE;AAAA,IAAC;AAAA,IAAA;AAAA,MACC;AAAA,MACA;AAAA,MACA,OAAO;AAAA,MACP,eAAe;AAAA,MACf,0BAAO,MAAA,EAAK;AAAA,MACZ;AAAA,MACC,GAAG;AAAA,MAEH;AAAA,IAAA;AAAA,EAAA;AAGP;ACzDA,uBAAuB,QAAQ;"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@entur/travel",
3
- "version": "6.5.11",
3
+ "version": "7.0.1",
4
4
  "license": "EUPL-1.2",
5
5
  "main": "dist/travel.cjs.js",
6
6
  "module": "dist/travel.esm.js",
@@ -26,11 +26,11 @@
26
26
  "react-dom": ">=16.8.0"
27
27
  },
28
28
  "dependencies": {
29
- "@entur/form": "^9.3.3",
30
- "@entur/icons": "^8.4.6",
31
- "@entur/layout": "^3.7.0",
32
- "@entur/tokens": "^3.22.5",
33
- "@entur/utils": "^0.13.4",
29
+ "@entur/form": "^9.3.5",
30
+ "@entur/icons": "^9.0.1",
31
+ "@entur/layout": "^3.7.2",
32
+ "@entur/tokens": "^3.23.0",
33
+ "@entur/utils": "^0.13.5",
34
34
  "classnames": "^2.5.1"
35
35
  },
36
36
  "devDependencies": {
@@ -45,5 +45,5 @@
45
45
  "vite": "^7.3.2",
46
46
  "vite-plugin-dts": "^4.5.4"
47
47
  },
48
- "gitHead": "0c3904649cb7f504f1d7bd832dfcc64f7fe5c123"
48
+ "gitHead": "3b9f95b6b6b4737245df497ca7197dd52f34ca29"
49
49
  }