UNPKG

@wordpress/style-engine

Version:
71 lines (70 loc) 1.72 kB
// packages/style-engine/src/styles/border/index.ts import { generateRule, generateBoxRules, camelCaseJoin } from "../utils"; function createBorderGenerateFunction(path) { return (style, options) => generateRule(style, options, path, camelCaseJoin(path)); } function createBorderEdgeGenerateFunction(edge) { return (style, options) => { return ["color", "style", "width"].flatMap((key) => { const path = ["border", edge, key]; return createBorderGenerateFunction(path)(style, options); }); }; } var color = { name: "color", generate: createBorderGenerateFunction(["border", "color"]) }; var radius = { name: "radius", generate: (style, options) => { return generateBoxRules( style, options, ["border", "radius"], { default: "borderRadius", individual: "border%sRadius" }, ["topLeft", "topRight", "bottomLeft", "bottomRight"] ); } }; var borderStyle = { name: "style", generate: createBorderGenerateFunction(["border", "style"]) }; var width = { name: "width", generate: createBorderGenerateFunction(["border", "width"]) }; var borderTop = { name: "borderTop", generate: createBorderEdgeGenerateFunction("top") }; var borderRight = { name: "borderRight", generate: createBorderEdgeGenerateFunction("right") }; var borderBottom = { name: "borderBottom", generate: createBorderEdgeGenerateFunction("bottom") }; var borderLeft = { name: "borderLeft", generate: createBorderEdgeGenerateFunction("left") }; var border_default = [ color, borderStyle, width, radius, borderTop, borderRight, borderBottom, borderLeft ]; export { border_default as default }; //# sourceMappingURL=index.js.map