@atlaskit/page-layout
Version:
A collection of components which let you compose an application's page layout.
21 lines (19 loc) • 780 B
JavaScript
import { mergeGridStateIntoStorage } from '../common/merge-grid-state-into-storage';
import { removeFromGridStateInStorage } from '../common/remove-from-grid-state-in-storage';
const publishGridState = gridState => {
Object.entries(gridState).forEach(([slotName, value]) => {
if (!value) {
document.documentElement.style.removeProperty(`--${slotName}`);
removeFromGridStateInStorage('gridState', slotName);
return;
}
//Update the css variable
document.documentElement.style.setProperty(`--${slotName}`, `${value}px`);
// also update state in local storage so that
// it persists across page refresh, across tabs etc
mergeGridStateIntoStorage('gridState', {
[slotName]: value
});
});
};
export default publishGridState;