{"version":3,"names":["serverAddress","location","hostname","port","path","getAssetPath","endsWith","substring","length","registerCssAsset","asset","varName","replace","assetPath","document","documentElement","style","setProperty","rootUrl","url","formatPrice","price","toLocaleString","minimumFractionDigits","getLangValue","values","de","getObjectByKeyValue","objArray","key","value","find","obj","removeObjByKeyValue","filter","validateEmail","email","String","toLowerCase","match","round","input","decimalPlaces","base","roundingFactor","Math","pow","manipulateLangNav","langItems","querySelectorAll","forEach","item","linkItem","href","indexOf","hash"],"sources":["src/helpers/utils.ts"],"sourcesContent":["import {getAssetPath} from \"@stencil/core\";\n\nexport function serverAddress(): string {\n\tif (location.hostname === 'localhost') {\n\t\tconst port = location.port !== '3333' ? location.port : '8080';\n\t\treturn `http://localhost:${port}`;\n\t} else {\n\t\tconst path = getAssetPath('..');\n\t\treturn path !== '/' && path.endsWith('/') ? path.substring(0, path.length - 1) : path;\n\t}\n}\n\nexport function registerCssAsset(asset: string) {\n\tconst varName = '--asset-url-' + asset.replace(/[^a-zA-Z0-9_-]/g, '-');\n\tconst assetPath = getAssetPath('../assets/' + asset);\n\tdocument.documentElement.style.setProperty(varName, `url('${assetPath}')`);\n}\n\nexport function rootUrl(): string {\n let url: string = 'https://' + location.hostname;\n\n if (location.port) {\n\t url += ':' + location.port;\n }\n\n return url;\n}\n\nexport function formatPrice(price:number):string {\n return price.toLocaleString('de-AT', {minimumFractionDigits: 2})\n}\n\nexport function formatFileSize(length: number): string {\n if (length <= 1024 * 1024) {\n return (length / 1024).toFixed(3) + \" KB\";\n } else {\n return (length / 1024 / 1024).toFixed(3) + \" MB\";\n }\n}\n\nexport function getLangValue(values: any): any {\n if (values.de) {\n return values.de\n }\n}\n\nexport function getObjectByKeyValue(objArray: any[], key: string, value: string) {\n return objArray.find(obj => obj[key] === value)\n}\n\nexport function removeObjByKeyValue(objArray: any[], key: string, value: string) {\n return objArray.filter(function (obj) {\n return obj[key] !== value;\n });\n}\n\nexport function validateEmail(email: string) {\n return String(email)\n .toLowerCase()\n .match(\n /^(([^<>()[\\]\\\\.,;:\\s@\"]+(\\.[^<>()[\\]\\\\.,;:\\s@\"]+)*)|(\".+\"))@((\\[[0-9]{1,3}\\.[0-9]{1,3}\\.[0-9]{1,3}\\.[0-9]{1,3}\\])|(([a-zA-Z\\-0-9]+\\.)+[a-zA-Z]{2,}))$/\n );\n};\n\nexport function round(input: number, decimalPlaces: number = 0, base: number = 10) {\n const roundingFactor = Math.pow(base, decimalPlaces);\n return Math.round(input * roundingFactor) / roundingFactor;\n}\n\nexport function manipulateLangNav() {\n\n\n let langItems: NodeList = document.querySelectorAll(\"ul.lang-nav > li > a\")\n\n langItems.forEach((item: Node) => {\n\n let linkItem: HTMLLinkElement = item as HTMLLinkElement\n if (linkItem.href.indexOf(\"#\") > -1) {\n linkItem.href = linkItem.href.substring(0, linkItem.href.indexOf(\"#\")) + location.hash;\n } else {\n linkItem.href = linkItem.href + location.hash;\n }\n\n // console.log()\n });\n}\n"],"mappings":"6CAEgBA,IACf,GAAIC,SAASC,WAAa,YAAa,CACtC,MAAMC,EAAOF,SAASE,OAAS,OAASF,SAASE,KAAO,OACxD,MAAO,oBAAoBA,G,KACrB,CACN,MAAMC,EAAOC,EAAa,MAC1B,OAAOD,IAAS,KAAOA,EAAKE,SAAS,KAAOF,EAAKG,UAAU,EAAGH,EAAKI,OAAS,GAAKJ,C,CAEnF,C,SAEgBK,EAAiBC,GAChC,MAAMC,EAAU,eAAiBD,EAAME,QAAQ,kBAAmB,KAClE,MAAMC,EAAYR,EAAa,aAAeK,GAC9CI,SAASC,gBAAgBC,MAAMC,YAAYN,EAAS,QAAQE,MAC7D,C,SAEgBK,IACd,IAAIC,EAAc,WAAalB,SAASC,SAExC,GAAID,SAASE,KAAM,CAClBgB,GAAO,IAAMlB,SAASE,I,CAGvB,OAAOgB,CACT,C,SAEgBC,EAAYC,GACxB,OAAOA,EAAMC,eAAe,QAAS,CAACC,sBAAuB,GACjE,C,SAUgBC,EAAaC,GAC3B,GAAIA,EAAOC,GAAI,CACb,OAAOD,EAAOC,E,CAElB,C,SAEgBC,EAAoBC,EAAiBC,EAAaC,GAChE,OAAOF,EAASG,MAAKC,GAAOA,EAAIH,KAASC,GAC3C,C,SAEgBG,EAAoBL,EAAiBC,EAAaC,GAChE,OAAOF,EAASM,QAAO,SAAUF,GAC/B,OAAOA,EAAIH,KAASC,C,GAExB,C,SAEgBK,EAAcC,GAC5B,OAAOC,OAAOD,GACXE,cACAC,MACC,wJAEN,C,SAEgBC,EAAMC,EAAeC,EAAwB,EAAGC,EAAe,IAC7E,MAAMC,EAAiBC,KAAKC,IAAIH,EAAMD,GACtC,OAAOG,KAAKL,MAAMC,EAAQG,GAAkBA,CAC9C,C,SAEgBG,IAGd,IAAIC,EAAsBlC,SAASmC,iBAAiB,wBAEpDD,EAAUE,SAASC,IAEjB,IAAIC,EAA4BD,EAChC,GAAIC,EAASC,KAAKC,QAAQ,MAAQ,EAAG,CACnCF,EAASC,KAAOD,EAASC,KAAK9C,UAAU,EAAG6C,EAASC,KAAKC,QAAQ,MAAQrD,SAASsD,I,KAC7E,CACLH,EAASC,KAAOD,EAASC,KAAOpD,SAASsD,I,IAK/C,Q"}