import { RtFrameLayers } from '../rt-frame.types'; import { ColorClassKeys, TypographyClassKeys } from './get-frame-classes'; // eslint-disable-next-line @nx/enforce-module-boundaries import { _V_PREFIX_ } from '../../../../../../tools/constants'; export function handleRootAbstractions( classKeys: typeof ColorClassKeys | typeof TypographyClassKeys, currentAbstractions: RtFrameLayers ) { if (typeof document !== 'undefined') { Object.entries(classKeys).forEach(([name, key]) => { const abstractionClass = `${key}-${ currentAbstractions[name as keyof typeof currentAbstractions] }`; if (document.body.className.includes(key)) { if (!document.body.className.includes(abstractionClass)) { const oldV = document.body.className .split(' ') .find((c) => c.includes(key)); if (oldV) { document.body.classList.replace(oldV, abstractionClass); } } } else { document.body.classList.add(abstractionClass); } }); } }