Skip to main content
Go to Latest
File
import Declaration from "../declaration.js";
class BreakProps extends Declaration { /** * Change name for -webkit- and -moz- prefix */ prefixed(prop, prefix) { return `${prefix}column-${prop}`; }
/** * Return property name by final spec */ normalize(prop) { if (prop.includes("inside")) { return "break-inside"; } if (prop.includes("before")) { return "break-before"; } return "break-after"; }
/** * Change prefixed value for avoid-column and avoid-page */ set(decl, prefix) { if ( (decl.prop === "break-inside" && decl.value === "avoid-column") || decl.value === "avoid-page" ) { decl.value = "avoid"; } return super.set(decl, prefix); }
/** * Don’t prefix some values */ insert(decl, prefix, prefixes) { if (decl.prop !== "break-inside") { return super.insert(decl, prefix, prefixes); } if (/region/i.test(decl.value) || /page/i.test(decl.value)) { return undefined; } return super.insert(decl, prefix, prefixes); }}
BreakProps.names = [ "break-inside", "page-break-inside", "column-break-inside", "break-before", "page-break-before", "column-break-before", "break-after", "page-break-after", "column-break-after",];
export default BreakProps;