{"version":3,"file":"getThemeAndSize.cjs","sources":["../../../src/utilities/getThemeAndSize.ts"],"sourcesContent":["import type { Size } from \"./types.js\";\n\n/*\n * For komponenter som mountes utenfor roten av applikasjonen vil styring av theme og size\n * via data-attributter satt på rot ikke fungere. Denne util'en kan brukes av slike komponenter\n * for å finne riktige verdier ved å sende inn et element som er mountet innenfor applikasjonen\n */\nexport const getThemeAndSize = (\n    element: Element | undefined,\n): { theme?: string; size?: Size } => {\n    if (!element) return {};\n\n    const computedStyles = getComputedStyle(element);\n\n    // Sett theme til dark hvis bakgrunnsfargen er mørkere enn 50% av hvit\n    // dette gir oss slingringsmonn i tilfelle verdien av Jøkuls bakgrunnsfarge endres\n    const theme = computedStyles.colorScheme;\n\n    const size = element.closest(\"[data-size]\")?.getAttribute(\"data-size\") as\n        | Size\n        | undefined;\n\n    return { theme, size };\n};\n"],"names":["element","theme","getComputedStyle","colorScheme","size","closest","getAttribute"],"mappings":"wGAQIA,IAEA,IAAKA,EAAS,MAAO,CAAA,EAMrB,MAAMC,EAJiBC,iBAAiBF,GAIXG,YAEvBC,EAAOJ,EAAQK,QAAQ,gBAAgBC,aAAa,aAI1D,MAAO,CAAEL,MAAAA,EAAOG,KAAAA"}