{"version":3,"names":["ArrowRightIcon","render","h","style","this","svgStyle","width","height","viewBox","version","xmlns","stroke","d","DeleteIcon","fill","NjRoute","constructor","routeProperties","component","path","title","params","getParameter","name","defaultValue","NjRouter","matchRoute","pathParts","split","matchingRoute","routes","find","route","convertParams","Object","assign","window","location","hash","queryString","keyValueParts","i","length","keyValue","decodeURI","componentWillLoad","self","addEventListener","substring","document","scrollTo","njSearchRootCss","NjSearchRoot","hostRef","showFormOnly","langItems","querySelectorAll","forEach","item","linkItem","href","loadInitData","el","class","njShoppingCartCss","NjShoppingCart","shoppingCartPrice","prebookData","insurancePremium","init","productSelectedHandler","event","detail","selectedOutwardProduct","selectedReturnProduct","product","journeyData","reservationMode","getFinalProduct","ReservationMode","Outward","Return","onPrebookRequestPrepared","outwardData","returnData","outwardOffer","getFinalOffer","returnOffer","passangers","dataStore","getSessionData","DATA_STORE_KEY_PASSENGERS","DATA_STORE_KEY_PREBOOK","paymentInformation","amount","_b","_a","insuranceSelected","handleRemoveJourney","removeJourney","renderConnectionData","connectionData","connection","depDate","departure","trainType","getTrainCategoryForName","train","toLowerCase","i18n","getMessage","onClick","format","getShortMonth","from","to","dep_time","category","hideIcon","arr_time","renderPassangerData","renderPassangerDataByType","PassangerType","Adult","TenToFourteenYearOldChild","Child","SmallChildSeat","SmallChild","Bike","passangerType","filter","passanger","njPassangerType","map","njCards","card","code","cardName","join","njChallengedOptions","wheelchair","attendant","_c","dog","renderSelectedProduct","selectedProduct","translateCompartmentName","njProduct","compartment","productType","formatPrice","price","additionalProduct","getOfferName","offer","njIndex","priceClass","renderInsurance","role","id","njShoppingCartBtnCss","NjShoppingCartBtn","loadPrices","onSessionDataChanged","sessionName","onSessionDataRemoved","handleToggleClick","ev","preventDefault","stopPropagation","shoppingDialog","querySelector","toggle","njShoppingCartDialogCss","NjShoppingCartDialog","onBodyClick","hide","onshoppingCartBtnClick","isVisible","show","njTrainIconCss","NjTrainIcon","Host","TicketsIcon","trainIconCss","TrainIcon"],"sources":["src/components/icons/arrow-right-icon.tsx","src/components/icons/delete-icon.tsx","src/components/nj-router/NjRoute.ts","src/components/nj-router/nj-router.tsx","src/components/nj-search-root/nj-search-root.css?tag=nj-search-root&encapsulation=shadow","src/components/nj-search-root/nj-search-root.tsx","src/components/nj-shopping-cart/nj-shopping-cart.scss?tag=nj-shopping-cart&encapsulation=shadow","src/components/nj-shopping-cart/nj-shopping-cart.tsx","src/components/nj-shopping-cart-btn/nj-shopping-cart-btn.scss?tag=nj-shopping-cart-btn&encapsulation=shadow","src/components/nj-shopping-cart-btn/nj-shopping-cart-btn.tsx","src/components/nj-shopping-cart-dialog/nj-shopping-cart-dialog.scss?tag=nj-shopping-cart-dialog&encapsulation=shadow","src/components/nj-shopping-cart-dialog/nj-shopping-cart-dialog.tsx","src/components/nj-train-icon/nj-train-icon.scss?tag=nj-train-icon&encapsulation=shadow","src/components/nj-train-icon/nj-train-icon.tsx","src/components/icons/tickets-icon.tsx","src/components/icons/train-icon.scss?tag=train-icon","src/components/icons/train-icon.tsx"],"sourcesContent":["import { Component,h, Prop } from '@stencil/core';\n\n\n@Component({\n tag: 'arrow-right-icon',\n shadow: false\n})\nexport class ArrowRightIcon {\n @Prop() svgStyle: any = {};\n @Prop() width: number = 12;\n @Prop() height: number = 12;\n\n render() {\n return (\n \n );\n }\n}\n","import { Component,h, Prop } from '@stencil/core';\n\n@Component({\n tag: 'delete-icon',\n shadow: false\n})\nexport class DeleteIcon {\n @Prop() svgStyle: any = {};\n @Prop() width: number = 14;\n @Prop() height: number = 14;\n\n render() {\n return (\n \n );\n }\n}\n","import { NjRouteProperties } from \"./NjRouteProperties\";\n\nexport class NjRoute {\n component: string;\n path: string;\n title?: string;\n params?: any;\n getParameter?:any;\n\n public constructor(routeProperties:NjRouteProperties){\n this.component = routeProperties.component\n this.path = routeProperties.path\n this.title = routeProperties.title\n this.params = routeProperties.params\n\n this.getParameter = function(name:string, defaultValue: any):any {\n if (this.params) {\n return this.params[name + \"\"] ? this.params[name + \"\"] : defaultValue\n\n }\n return defaultValue\n }\n}\n}","\nimport { Component, h, Prop, State,Element } from '@stencil/core';\nimport { NjRoute } from './NjRoute';\nimport { NjRouteProperties } from './NjRouteProperties';\n\n@Component({\n tag: 'nj-router'\n})\nexport class NjRouter {\n @State() route: NjRoute\n @Prop() routes: NjRouteProperties[]\n\n @Element() el: HTMLElement;\n\n matchRoute(path: string): any {\n const pathParts = path.split(\"?\");\n const matchingRoute = this.routes.find(route => route.path === pathParts[0]);\n if (matchingRoute) {\n let route: NjRoute = new NjRoute(matchingRoute);\n route.params = this.convertParams(pathParts[1], route.params);\n this.route = {...route};\n } else {\n window.location.hash = this.routes[0].path + (pathParts[1] ? '?' + pathParts[1] : '');\n }\n }\n convertParams(queryString: string,params:any): any {\n if(!params){\n params = {}\n }\n\n if (queryString) {\n let keyValueParts = queryString.split(\"&\")\n for (let i = 0; i < keyValueParts.length; i++) {\n let keyValue = keyValueParts[i].split(\"=\")\n\n params[keyValue[0]] = decodeURI(keyValue[1])\n\n }\n }\n return params\n }\n componentWillLoad() {\n if (!window.location.hash) {\n window.location.hash = \"/home\"\n }\n\n let self = this\n window.addEventListener('popstate', function () {\n self.matchRoute(this.location.hash.substring(1))\n });\n\n self.matchRoute(window.location.hash.substring(1))\n }\n\n render() {\n if (this.route) {\n if (this.route.title) document.title = this.route.title;\n window.scrollTo(0, 0);\n\n return h(this.route.component, { route: this.route });\n }\n }\n\n}\n","\n","import { Component, Element, h } from '@stencil/core';\nimport {loadInitData} from '../../utils/start';\nimport { NjRouteProperties } from '../nj-router/NjRouteProperties';\nimport '@oebb-web-team/oebb-web-components';\n\n@Component({\n tag: 'nj-search-root',\n styleUrl: 'nj-search-root.css',\n shadow: true,\n})\nexport class NjSearchRoot {\n\n lang: string;\n\n @Element() el: HTMLElement;\n\n routes: NjRouteProperties[] = [\n { path: \"/\", component: \"nj-home\", params: { showFormOnly: true } },\n { path: \"/home\", component: \"nj-home\" , params: { showFormOnly: true }},\n ];\n\n async componentWillLoad(){\n let langItems: NodeList = document.querySelectorAll(\"ul.lang-nav > li > a\")\n\n langItems.forEach((item:Node) => {\n let linkItem:HTMLLinkElement = item as HTMLLinkElement\n\n linkItem.href = linkItem.href + location.hash;\n\n });\n\n await loadInitData(this.el);\n }\n\n render() {\n return (\n
{i18n.getMessage('cart.noselection')}
\n