{"version":3,"file":"dom.cjs","sources":["../../../src/utils/dom.ts"],"sourcesContent":["import { ThemeName } from '@/theme/theme.types';\nimport { CUI_THEME_STORAGE_KEY } from './localStorage';\n\nexport const THEME_ATTRIBUTE = `data-${CUI_THEME_STORAGE_KEY}`;\n\nconst getDOMElement = (selector: string) => {\n  if (typeof document === 'undefined') {\n    return null;\n  }\n\n  const el = document.querySelector(selector) as HTMLElement | null;\n\n  if (!el) {\n    console.warn(`Missing DOM element <${selector}>!`);\n    return null;\n  }\n\n  return el;\n};\n\nexport const getRootElement = () => getDOMElement('html');\n\nexport const setRootThemeAttribute = (theme: ThemeName) => {\n  const el = getRootElement();\n\n  if (!el) {\n    return;\n  }\n\n  el.setAttribute(THEME_ATTRIBUTE, theme);\n};\n\nexport const removeRootThemeAttribute = () => {\n  const el = getDOMElement('html');\n\n  if (!el) {\n    return;\n  }\n\n  el.removeAttribute(THEME_ATTRIBUTE);\n};\n"],"names":["CUI_THEME_STORAGE_KEY"],"mappings":";;;;;;AAGO,MAAM,eAAA,GAAkB,QAAQA,kCAAqB,CAAA;AAE5D,MAAM,aAAA,GAAgB,CAAC,QAAA,KAAqB;AAC1C,EAAA,IAAI,OAAO,aAAa,WAAA,EAAa;AACnC,IAAA,OAAO,IAAA;AAAA,EACT;AAEA,EAAA,MAAM,EAAA,GAAK,QAAA,CAAS,aAAA,CAAc,QAAQ,CAAA;AAE1C,EAAA,IAAI,CAAC,EAAA,EAAI;AACP,IAAA,OAAA,CAAQ,IAAA,CAAK,CAAA,qBAAA,EAAwB,QAAQ,CAAA,EAAA,CAAI,CAAA;AACjD,IAAA,OAAO,IAAA;AAAA,EACT;AAEA,EAAA,OAAO,EAAA;AACT,CAAA;AAEO,MAAM,cAAA,GAAiB,MAAM,aAAA,CAAc,MAAM;AAEjD,MAAM,qBAAA,GAAwB,CAAC,KAAA,KAAqB;AACzD,EAAA,MAAM,KAAK,cAAA,EAAe;AAE1B,EAAA,IAAI,CAAC,EAAA,EAAI;AACP,IAAA;AAAA,EACF;AAEA,EAAA,EAAA,CAAG,YAAA,CAAa,iBAAiB,KAAK,CAAA;AACxC;AAEO,MAAM,2BAA2B,MAAM;AAC5C,EAAA,MAAM,EAAA,GAAK,cAAc,MAAM,CAAA;AAE/B,EAAA,IAAI,CAAC,EAAA,EAAI;AACP,IAAA;AAAA,EACF;AAEA,EAAA,EAAA,CAAG,gBAAgB,eAAe,CAAA;AACpC;;;;;"}