UNPKG

@mapcss/preset-typography

Version:

Typography preset for MapCSS

337 lines (336 loc) 18 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.border = void 0; const _utils_js_1 = require("./_utils.js"); const resolve_js_1 = require("../../core/resolve.js"); const deps_js_1 = require("../../deps.js"); const regexp_js_1 = require("../../core/utils/regexp.js"); const monad_js_1 = require("../../core/utils/monad.js"); const format_js_1 = require("../../core/utils/format.js"); const BORDER_WIDTH = "border-width"; exports.border = [ ["DEFAULT", { [BORDER_WIDTH]: "1px" }], ["solid", { "border-style": "solid" }], ["dashed", { "border-style": "dashed" }], ["dotted", { "border-style": "dotted" }], ["double", { "border-style": "double" }], ["hidden", { "border-style": "hidden" }], ["none", { "border-style": "none" }], ["collapse", { "border-collapse": "collapse" }], ["separate", { "border-collapse": "separate" }], ["x", [ ["DEFAULT", { "border-left-width": "1px", "border-right-width": "1px", }], [ regexp_js_1.re$Numeric, ([, numeric]) => (0, monad_js_1.parseNumeric)(numeric).map(_utils_js_1.pxify).match((0, _utils_js_1.matcher)(["border-left-width", "border-right-width"])), ], [regexp_js_1.re$AllPer$PositiveNumber, ([, body, numeric], context) => { const color = (0, resolve_js_1.resolveTheme)(body, "color", context); if ((0, deps_js_1.isUndefined)(color)) return; return (0, monad_js_1.parseNumeric)(numeric).match({ some: (number) => (0, monad_js_1.parseColor)(color).map((0, format_js_1.completionRGBA)((0, format_js_1.ratio)(number))).map(format_js_1.rgbFn).match({ some: (color) => (0, deps_js_1.associateWith)(["border-right-color", "border-left-color"], () => color), none: undefined, }), none: undefined, }); }], [regexp_js_1.re$AllPerBracket_$, ([, body, alpha], context) => { const color = (0, resolve_js_1.resolveTheme)(body, "color", context); if ((0, deps_js_1.isUndefined)(color)) return; return (0, monad_js_1.parseColor)(color).map(({ r, g, b }) => ({ r, g, b, a: alpha })) .map(format_js_1.rgbFn).match({ some: (color) => (0, deps_js_1.associateWith)(["border-right-color", "border-left-color"], () => color), none: undefined, }); }], [ regexp_js_1.re$All, ([body], context) => { const color = (0, resolve_js_1.resolveTheme)(body, "color", context); if ((0, deps_js_1.isUndefined)(color)) return; return (0, monad_js_1.parseColor)(color).map((0, format_js_1.completionRGBA)(1, true)) .map(format_js_1.rgbFn) .match({ some: (color) => (0, deps_js_1.associateWith)(["border-right-color", "border-left-color"], () => color), none: () => (0, deps_js_1.associateWith)(["border-right-color", "border-left-color"], () => color), }); }, ], ]], ["y", [ ["DEFAULT", { "border-top-width": "1px", "border-bottom-width": "1px", }], [regexp_js_1.re$AllPer$PositiveNumber, ([, body, alpha], context) => { const color = (0, resolve_js_1.resolveTheme)(body, "color", context); if ((0, deps_js_1.isUndefined)(color)) return; return (0, monad_js_1.parseNumeric)(alpha).match({ some: (number) => (0, monad_js_1.parseColor)(color).map((0, format_js_1.completionRGBA)((0, format_js_1.ratio)(number))).map(format_js_1.rgbFn).match({ some: (color) => (0, deps_js_1.associateWith)(["border-top-color", "border-bottom-color"], () => color), none: undefined, }), none: undefined, }); }], [ regexp_js_1.re$Numeric, ([, numeric]) => (0, monad_js_1.parseNumeric)(numeric).map(_utils_js_1.pxify).match((0, _utils_js_1.matcher)(["border-top-width", "border-bottom-width"])), ], [regexp_js_1.re$AllPer$PositiveNumber, ([, body, numeric], context) => { const color = (0, resolve_js_1.resolveTheme)(body, "color", context); if ((0, deps_js_1.isUndefined)(color)) return; return (0, monad_js_1.parseNumeric)(numeric).match({ some: (number) => (0, monad_js_1.parseColor)(color).map((0, format_js_1.completionRGBA)((0, format_js_1.ratio)(number))).map(format_js_1.rgbFn).match({ some: (color) => (0, deps_js_1.associateWith)(["border-top-color", "border-bottom-color"], () => color), none: undefined, }), none: undefined, }); }], [regexp_js_1.re$AllPerBracket_$, ([, body, alpha], context) => { const color = (0, resolve_js_1.resolveTheme)(body, "color", context); if ((0, deps_js_1.isUndefined)(color)) return; return (0, monad_js_1.parseColor)(color).map(({ r, g, b }) => ({ r, g, b, a: alpha })) .map(format_js_1.rgbFn).match({ some: (color) => (0, deps_js_1.associateWith)(["border-top-color", "border-bottom-color"], () => color), none: undefined, }); }], [ regexp_js_1.re$All, ([body], context) => { const color = (0, resolve_js_1.resolveTheme)(body, "color", context); if ((0, deps_js_1.isUndefined)(color)) return; return (0, monad_js_1.parseColor)(color).map((0, format_js_1.completionRGBA)(1, true)) .map(format_js_1.rgbFn) .match({ some: (color) => (0, deps_js_1.associateWith)(["border-top-color", "border-bottom-color"], () => color), none: () => (0, deps_js_1.associateWith)(["border-top-color", "border-bottom-color"], () => color), }); }, ], ]], ["t", [ ["DEFAULT", { "border-top-width": "1px" }], [ regexp_js_1.re$Numeric, ([, numeric]) => (0, monad_js_1.parseNumeric)(numeric).map(_utils_js_1.pxify).match((0, _utils_js_1.matcher)("border-top-width")), ], [regexp_js_1.re$AllPer$PositiveNumber, ([, body, numeric], context) => { const color = (0, resolve_js_1.resolveTheme)(body, "color", context); if ((0, deps_js_1.isUndefined)(color)) return; return (0, monad_js_1.parseNumeric)(numeric).match({ some: (number) => (0, monad_js_1.parseColor)(color).map((0, format_js_1.completionRGBA)((0, format_js_1.ratio)(number))).map(format_js_1.rgbFn).match({ some: (color) => ({ "border-top-color": color }), none: undefined, }), none: undefined, }); }], [regexp_js_1.re$AllPerBracket_$, ([, body, alpha], context) => { const color = (0, resolve_js_1.resolveTheme)(body, "color", context); if ((0, deps_js_1.isUndefined)(color)) return; return (0, monad_js_1.parseColor)(color).map(({ r, g, b }) => ({ r, g, b, a: alpha })) .map(format_js_1.rgbFn).match({ some: (color) => ({ "border-top-color": color }), none: undefined, }); }], [ regexp_js_1.re$All, ([body], context) => { const color = (0, resolve_js_1.resolveTheme)(body, "color", context); if ((0, deps_js_1.isUndefined)(color)) return; return (0, monad_js_1.parseColor)(color).map((0, format_js_1.completionRGBA)(1, true)) .map(format_js_1.rgbFn) .match({ some: (color) => ({ "border-top-color": color }), none: ({ "border-top-color": color }), }); }, ], ]], ["r", [ ["DEFAULT", { "border-right-width": "1px" }], [ regexp_js_1.re$Numeric, ([, numeric]) => (0, monad_js_1.parseNumeric)(numeric).map(_utils_js_1.pxify).match((0, _utils_js_1.matcher)("border-right-width")), ], [regexp_js_1.re$AllPer$PositiveNumber, ([, body, numeric], context) => { const color = (0, resolve_js_1.resolveTheme)(body, "color", context); if ((0, deps_js_1.isUndefined)(color)) return; return (0, monad_js_1.parseNumeric)(numeric).match({ some: (number) => (0, monad_js_1.parseColor)(color).map((0, format_js_1.completionRGBA)((0, format_js_1.ratio)(number))).map(format_js_1.rgbFn).match({ some: (color) => ({ "border-right-color": color }), none: undefined, }), none: undefined, }); }], [regexp_js_1.re$AllPerBracket_$, ([, body, alpha], context) => { const color = (0, resolve_js_1.resolveTheme)(body, "color", context); if ((0, deps_js_1.isUndefined)(color)) return; return (0, monad_js_1.parseColor)(color).map(({ r, g, b }) => ({ r, g, b, a: alpha })) .map(format_js_1.rgbFn).match({ some: (color) => ({ "border-right-color": color }), none: undefined, }); }], [ regexp_js_1.re$All, ([body], context) => { const color = (0, resolve_js_1.resolveTheme)(body, "color", context); if ((0, deps_js_1.isUndefined)(color)) return; return (0, monad_js_1.parseColor)(color).map((0, format_js_1.completionRGBA)(1, true)) .map(format_js_1.rgbFn) .match({ some: (color) => ({ "border-right-color": color }), none: ({ "border-right-color": color }), }); }, ], ]], ["b", [ ["DEFAULT", { "border-bottom-width": "1px" }], [ regexp_js_1.re$Numeric, ([, numeric]) => (0, monad_js_1.parseNumeric)(numeric).map(_utils_js_1.pxify).match((0, _utils_js_1.matcher)("border-bottom-width")), ], [regexp_js_1.re$AllPerBracket_$, ([, body, alpha], context) => { const color = (0, resolve_js_1.resolveTheme)(body, "color", context); if ((0, deps_js_1.isUndefined)(color)) return; return (0, monad_js_1.parseColor)(color).map(({ r, g, b }) => ({ r, g, b, a: alpha })) .map(format_js_1.rgbFn).match({ some: (color) => ({ "border-bottom-color": color }), none: undefined, }); }], [regexp_js_1.re$AllPer$PositiveNumber, ([, body, numeric], context) => { const color = (0, resolve_js_1.resolveTheme)(body, "color", context); if ((0, deps_js_1.isUndefined)(color)) return; return (0, monad_js_1.parseNumeric)(numeric).match({ some: (number) => (0, monad_js_1.parseColor)(color).map((0, format_js_1.completionRGBA)((0, format_js_1.ratio)(number))).map(format_js_1.rgbFn).match({ some: (color) => ({ "border-bottom-color": color }), none: undefined, }), none: undefined, }); }], [ regexp_js_1.re$All, ([body], context) => { const color = (0, resolve_js_1.resolveTheme)(body, "color", context); if ((0, deps_js_1.isUndefined)(color)) return; return (0, monad_js_1.parseColor)(color).map((0, format_js_1.completionRGBA)(1, true)) .map(format_js_1.rgbFn) .match({ some: (color) => ({ "border-bottom-color": color }), none: ({ "border-bottom-color": color }), }); }, ], ]], ["l", [ ["DEFAULT", { "border-left-width": "1px" }], [ regexp_js_1.re$Numeric, ([, numeric]) => (0, monad_js_1.parseNumeric)(numeric).map(_utils_js_1.pxify).match((0, _utils_js_1.matcher)("border-left-width")), ], [regexp_js_1.re$AllPer$PositiveNumber, ([, body, numeric], context) => { const color = (0, resolve_js_1.resolveTheme)(body, "color", context); if ((0, deps_js_1.isUndefined)(color)) return; return (0, monad_js_1.parseNumeric)(numeric).match({ some: (number) => (0, monad_js_1.parseColor)(color).map((0, format_js_1.completionRGBA)((0, format_js_1.ratio)(number))).map(format_js_1.rgbFn).match({ some: (color) => ({ "border-left-color": color }), none: undefined, }), none: undefined, }); }], [regexp_js_1.re$AllPerBracket_$, ([, body, alpha], context) => { const color = (0, resolve_js_1.resolveTheme)(body, "color", context); if ((0, deps_js_1.isUndefined)(color)) return; return (0, monad_js_1.parseColor)(color).map(({ r, g, b }) => ({ r, g, b, a: alpha })) .map(format_js_1.rgbFn).match({ some: (color) => ({ "border-left-color": color }), none: undefined, }); }], [ regexp_js_1.re$All, ([body], context) => { const color = (0, resolve_js_1.resolveTheme)(body, "color", context); if ((0, deps_js_1.isUndefined)(color)) return; return (0, monad_js_1.parseColor)(color).map((0, format_js_1.completionRGBA)(1, true)) .map(format_js_1.rgbFn) .match({ some: (color) => ({ "border-left-color": color }), none: ({ "border-left-color": color }), }); }, ], ]], [ regexp_js_1.re$Numeric, ([, numeric]) => (0, monad_js_1.parseNumeric)(numeric).map(format_js_1.shortDecimal).map((0, format_js_1.unit)("px")).match((0, _utils_js_1.matcher)(BORDER_WIDTH)), ], [regexp_js_1.re$AllPer$PositiveNumber, ([, body, numeric], context) => { const color = (0, resolve_js_1.resolveTheme)(body, "color", context); if ((0, deps_js_1.isUndefined)(color)) return; return (0, monad_js_1.parseNumeric)(numeric).match({ some: (number) => (0, monad_js_1.parseColor)(color).map((0, format_js_1.completionRGBA)((0, format_js_1.ratio)(number))).map(format_js_1.rgbFn).match({ some: (color) => ({ "border-color": color }), none: undefined, }), none: undefined, }); }], [regexp_js_1.re$AllPerBracket_$, ([, body, alpha], context) => { const color = (0, resolve_js_1.resolveTheme)(body, "color", context); if ((0, deps_js_1.isUndefined)(color)) return; return (0, monad_js_1.parseColor)(color).map(({ r, g, b }) => ({ r, g, b, a: alpha })).map(format_js_1.rgbFn).match({ some: (color) => ({ "border-color": color }), none: undefined, }); }], [ regexp_js_1.re$All, ([body], context) => { const color = (0, resolve_js_1.resolveTheme)(body, "color", context); if ((0, deps_js_1.isUndefined)(color)) return; return (0, monad_js_1.parseColor)(color).map((0, format_js_1.completionRGBA)(1, true)) .map(format_js_1.rgbFn) .match({ some: (color) => ({ "border-color": color }), none: ({ "border-color": color }), }); }, ], ];