@windijs/utilities
Version:
@windijs/utilities
21 lines (18 loc) • 1.5 kB
JavaScript
import { backgroundAttachmentConfig, backgroundPositionConfig, backgroundRepeatConfig, backgroundSizeConfig, backgroundImageConfig, backgroundClipConfig, blendModeConfig, backgroundOriginConfig, opacityConfig, gradientDirectionConfig, gradientConfig } from '@windijs/config';
import { createUtility, colorHandler, configHandler, callHandler, buildLinearGradient, meld, buildGradientDirection } from '@windijs/core';
import { prop } from '@windijs/helpers';
import colors from './colors.js';
var bg = createUtility("bg")
.use(colorHandler(colors, "backgroundColor", "--w-bg-opacity"))
.use(configHandler(backgroundAttachmentConfig, "backgroundAttachment"))
.use(configHandler(backgroundPositionConfig, "backgroundPosition"))
.use(configHandler(backgroundRepeatConfig, "backgroundRepeat"))
.use(configHandler(backgroundSizeConfig, "backgroundSize"))
.use(configHandler(backgroundImageConfig, "backgroundImage"))
.case("clip", configHandler(backgroundClipConfig, ["backgroundClip", prop `-webkit-background-clip`]))
.case("blend", configHandler(blendModeConfig, "backgroundBlendMode"))
.case("origin", configHandler(backgroundOriginConfig, "backgroundOrigin"))
.case("opacity", configHandler(opacityConfig, prop `--w-bg-opacity`))
.case("gradient", callHandler(buildLinearGradient, meld(configHandler(gradientDirectionConfig, buildGradientDirection), configHandler(gradientConfig, "backgroundImage"))))
.init();
export { bg as default };