{"version":3,"names":["LANGUAGE_KEYS","FALLBACK_LANGUAGE","MENU_LOCALIZATION","en","defaultAriaLabel","de","sv","nl","it","hu","da","fr","es","pl","ro","hr","cs","sl","languageLocalization","element","parent","parentNode","host","langAttributeAvailable","hasAttribute","getLocalizationLocale","hostElement","closestElementWithLangAttr","closest","locale","lang","indexOf","split","Object","values","includes"],"sources":["src/constants/localization.ts","src/utils/localization-helper.ts"],"sourcesContent":["/**\n * Define all supported languages here\n */\nexport interface Localization {\n /**\n * English\n */\n en: ComponentLocalization;\n\n /**\n * German\n */\n de: ComponentLocalization;\n\n /**\n * Swedish\n */\n sv: ComponentLocalization;\n\n /**\n * Dutch locale for the Netherlands\n */\n nl: ComponentLocalization;\n\n /**\n * Italian\n */\n it: ComponentLocalization;\n\n /**\n * Hungarian\n */\n hu: ComponentLocalization;\n\n /**\n * Danish\n */\n da: ComponentLocalization;\n\n /**\n * French\n */\n fr: ComponentLocalization;\n\n /**\n * Spanish\n */\n es: ComponentLocalization;\n\n /**\n * Polish\n */\n pl: ComponentLocalization;\n\n /**\n * Romanian\n */\n ro: ComponentLocalization;\n\n /**\n * Croatian\n */\n hr: ComponentLocalization;\n\n /**\n * Czech\n */\n cs: ComponentLocalization;\n\n /**\n * Slovenian\n */\n sl: ComponentLocalization;\n}\n\n/**\n * Keep in sync with the above defined interface. These keys will be checked on runtime by setCurrentLocalizationDelegate() function.\n */\nexport enum LANGUAGE_KEYS {\n en,\n de,\n sv,\n nl,\n it,\n hu,\n da,\n fr,\n es,\n pl,\n ro,\n hr,\n cs,\n sl\n}\n\nexport const FALLBACK_LANGUAGE = \"en\";\n\ninterface MenuLocalization {\n defaultAriaLabel: string;\n}\n\nexport const MENU_LOCALIZATION: Localization = {\n en: {\n defaultAriaLabel: \"Menu\"\n },\n de: {\n defaultAriaLabel: \"Menü\"\n },\n sv: {\n defaultAriaLabel: \"Meny\"\n },\n nl: {\n defaultAriaLabel: \"Menu\"\n },\n it: {\n defaultAriaLabel: \"Menù\"\n },\n hu: {\n defaultAriaLabel: \"Menü\"\n },\n da: {\n defaultAriaLabel: \"Menu\"\n },\n fr: {\n defaultAriaLabel: \"Menu\"\n },\n es: {\n defaultAriaLabel: \"Menú\"\n },\n pl: {\n defaultAriaLabel: \"Menu\"\n },\n ro: {\n defaultAriaLabel: \"Meniul\"\n },\n hr: {\n defaultAriaLabel: \"Meni\"\n },\n cs: {\n defaultAriaLabel: \"Menu\"\n },\n sl: {\n defaultAriaLabel: \"Meni\"\n }\n};\n","import { HostElement } from \"@stencil/core/internal\";\nimport { FALLBACK_LANGUAGE, LANGUAGE_KEYS } from \"../constants/localization\";\n\nexport const languageLocalization = (element: HTMLElement) => {\n const parent = element && ((element.parentNode as HTMLElement) || ((element as any).host as HTMLElement));\n let langAttributeAvailable = parent && typeof parent.hasAttribute === \"function\" && parent.hasAttribute(\"lang\");\n\n switch (langAttributeAvailable) {\n case true:\n return parent;\n case false:\n return languageLocalization(parent);\n default:\n break;\n }\n};\n\nexport const getLocalizationLocale = (hostElement: HostElement) => {\n let closestElementWithLangAttr = hostElement.closest(\"[lang]\") as HTMLElement;\n if (closestElementWithLangAttr === null) {\n closestElementWithLangAttr = languageLocalization(hostElement);\n }\n\n let locale = FALLBACK_LANGUAGE;\n\n if (closestElementWithLangAttr && closestElementWithLangAttr.lang) {\n const lang = closestElementWithLangAttr.lang.indexOf(\"-\")\n ? closestElementWithLangAttr.lang.split(\"-\")[0]\n : closestElementWithLangAttr.lang;\n\n if (Object.values(LANGUAGE_KEYS).includes(lang)) locale = lang;\n }\n\n return locale;\n};\n"],"mappings":"AA8EA,IAAYA,GAAZ,SAAYA,GACVA,IAAA,cACAA,IAAA,cACAA,IAAA,cACAA,IAAA,cACAA,IAAA,cACAA,IAAA,cACAA,IAAA,cACAA,IAAA,cACAA,IAAA,cACAA,IAAA,cACAA,IAAA,eACAA,IAAA,eACAA,IAAA,eACAA,IAAA,cACD,EAfD,CAAYA,MAAa,KAiBlB,MAAMC,EAAoB,K,MAMpBC,EAAoD,CAC/DC,GAAI,CACFC,iBAAkB,QAEpBC,GAAI,CACFD,iBAAkB,QAEpBE,GAAI,CACFF,iBAAkB,QAEpBG,GAAI,CACFH,iBAAkB,QAEpBI,GAAI,CACFJ,iBAAkB,QAEpBK,GAAI,CACFL,iBAAkB,QAEpBM,GAAI,CACFN,iBAAkB,QAEpBO,GAAI,CACFP,iBAAkB,QAEpBQ,GAAI,CACFR,iBAAkB,QAEpBS,GAAI,CACFT,iBAAkB,QAEpBU,GAAI,CACFV,iBAAkB,UAEpBW,GAAI,CACFX,iBAAkB,QAEpBY,GAAI,CACFZ,iBAAkB,QAEpBa,GAAI,CACFb,iBAAkB,SC3If,MAAMc,EAAwBC,IACnC,MAAMC,EAASD,IAAaA,EAAQE,YAAgCF,EAAgBG,MACpF,IAAIC,EAAyBH,UAAiBA,EAAOI,eAAiB,YAAcJ,EAAOI,aAAa,QAExG,OAAQD,GACN,KAAK,KACH,OAAOH,EACT,KAAK,MACH,OAAOF,EAAqBE,G,QAMrBK,EAAyBC,IACpC,IAAIC,EAA6BD,EAAYE,QAAQ,UACrD,GAAID,IAA+B,KAAM,CACvCA,EAA6BT,EAAqBQ,E,CAGpD,IAAIG,EAAS5B,EAEb,GAAI0B,GAA8BA,EAA2BG,KAAM,CACjE,MAAMA,EAAOH,EAA2BG,KAAKC,QAAQ,KACjDJ,EAA2BG,KAAKE,MAAM,KAAK,GAC3CL,EAA2BG,KAE/B,GAAIG,OAAOC,OAAOlC,GAAemC,SAASL,GAAOD,EAASC,C,CAG5D,OAAOD,CAAM,S"}