@mapcss/preset-typography
Version:
Typography preset for MapCSS
33 lines (32 loc) • 1.33 kB
JavaScript
import { re$PositiveNumber, reBracket_$ } from "../../core/utils/regexp.js";
import { matcher } from "./_utils.js";
import { parseNumeric } from "../../core/utils/monad.js";
export const grid = [
["DEFAULT", { display: "grid" }],
["flow", {
row: {
DEFAULT: { "grid-auto-flow": "row" },
dense: { "grid-auto-flow": "row dense" },
},
col: {
DEFAULT: { "grid-auto-flow": "column" },
dense: { "grid-auto-flow": "column dense" },
},
}],
["cols", [
["none", { "grid-template-columns": "none" }],
[
re$PositiveNumber,
([, pNumber]) => parseNumeric(pNumber).map((number) => `repeat(${number}, minmax(0, 1fr))`).match(matcher("grid-template-columns")),
],
[reBracket_$, ([, arbitrary]) => ({ "grid-template-columns": arbitrary })],
]],
["rows", [
["none", { "grid-template-rows": "none" }],
[
re$PositiveNumber,
([, pNumber]) => parseNumeric(pNumber).map((number) => `repeat(${number}, minmax(0, 1fr))`).match(matcher("grid-template-rows")),
],
[reBracket_$, ([, arbitrary]) => ({ "grid-template-rows": arbitrary })],
]],
];