UNPKG

@mapcss/preset-typography

Version:

Typography preset for MapCSS

147 lines (146 loc) 6.67 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.bg = 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"); function toBackgroundColor(color) { return { "background-color": color }; } function varFnGradientStops(variablePrefix) { const [, varFn] = (0, _utils_js_1.customPropertySet)("gradient-stops", variablePrefix); return varFn; } exports.bg = [ ["fixed", { "background-attachment": "fixed" }], ["local", { "background-attachment": "local" }], ["scroll", { "background-attachment": "scroll" }], ["clip", { border: { "background-clip": "border-box" }, padding: { "background-clip": "padding-box" }, content: { "background-clip": "content-box" }, text: { "background-clip": "text" }, }], ["origin", { border: { "background-origin": "border-box" }, padding: { "background-origin": "padding-box" }, content: { "background-origin": "content-box" }, }], ["top", { "background-position": "top" }], ["bottom", { "background-position": "bottom" }], ["center", { "background-position": "center" }], ["left", { DEFAULT: { "background-position": "left" }, top: { "background-position": "left top" }, bottom: { "background-position": "left bottom" }, }], ["right", { DEFAULT: { "background-position": "right" }, top: { "background-position": "right top" }, bottom: { "background-position": "right bottom" }, }], ["repeat", { DEFAULT: { "background-repeat": "repeat" }, x: { "background-repeat": "repeat-x" }, y: { "background-repeat": "repeat-y" }, round: { "background-repeat": "round" }, space: { "background-repeat": "space" }, }], ["no", { repeat: { "background-repeat": "no-repeat" }, }], ["auto", { "background-size": "auto" }], ["cover", { "background-size": "cover" }], ["contain", { "background-size": "contain" }], ["none", { "background-image": "none" }], ["blend", { normal: { "background-blend-mode": "normal" }, multiply: { "background-blend-mode": "multiply" }, screen: { "background-blend-mode": "screen" }, overlay: { "background-blend-mode": "overlay" }, darken: { "background-blend-mode": "darken" }, lighten: { "background-blend-mode": "lighten" }, difference: { "background-blend-mode": "difference" }, exclusion: { "background-blend-mode": "exclusion" }, hue: { "background-blend-mode": "hue" }, saturation: { "background-blend-mode": "saturation" }, luminosity: { "background-blend-mode": "luminosity" }, color: { DEFAULT: { "background-blend-mode": "color" }, dodge: { "background-blend-mode": "color-dodge" }, burn: { "background-blend-mode": "color-burn" }, }, hard: { light: { "background-blend-mode": "hard-light" }, }, soft: { light: { "background-blend-mode": "soft-light" }, }, }], ["gradient", { to: { t: (_, { variablePrefix }) => ({ "background-image": `linear-gradient(to top, ${varFnGradientStops(variablePrefix)})`, }), tr: (_, { variablePrefix }) => ({ "background-image": `linear-gradient(to top right, ${varFnGradientStops(variablePrefix)})`, }), r: (_, { variablePrefix }) => ({ "background-image": `linear-gradient(to right, ${varFnGradientStops(variablePrefix)})`, }), br: (_, { variablePrefix }) => ({ "background-image": `linear-gradient(to bottom right, ${varFnGradientStops(variablePrefix)})`, }), b: (_, { variablePrefix }) => ({ "background-image": `linear-gradient(to bottom, ${varFnGradientStops(variablePrefix)})`, }), bl: (_, { variablePrefix }) => ({ "background-image": `linear-gradient(to bottom left, ${varFnGradientStops(variablePrefix)})`, }), l: (_, { variablePrefix }) => ({ "background-image": `linear-gradient(to left, ${varFnGradientStops(variablePrefix)})`, }), tl: (_, { variablePrefix }) => ({ "background-image": `linear-gradient(to top left, ${varFnGradientStops(variablePrefix)})`, }), }, }], [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: toBackgroundColor, 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: toBackgroundColor, 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: toBackgroundColor, none: () => ({ "background-color": color }), }); }, ], ];