braid-design-system
Version:
Themeable design system for the SEEK Group
15 lines (14 loc) • 668 B
JavaScript
import { space } from "../css/atoms/atomicProperties.mjs";
import { breakpointNames } from "../css/breakpoints.mjs";
const validSpaceValues = Object.keys(space);
const cleanSpaceValue = (space2) => {
const validResponsiveObject = typeof space2 === "object" && Object.keys(space2).some(
(bp) => breakpointNames.includes(bp) && validSpaceValues.includes(space2[bp])
);
const validArray = Array.isArray(space2) && space2.some((s) => validSpaceValues.includes(s));
const validSpace = typeof space2 === "string" && validSpaceValues.includes(space2);
return validSpace || validResponsiveObject || validArray ? space2 : void 0;
};
export {
cleanSpaceValue
};