UNPKG

@windijs/utilities

Version:

@windijs/utilities

20 lines (17 loc) 1.49 kB
import { fontSizeConfig, textAlignConfig, verticalAlignConfig, textTransformConfig, opacityConfig, textShadowConfig, textStrokeWidthConfig, whiteSpaceConfig } from '@windijs/config'; import { createUtility, fontSizeHandler, configHandler, colorHandler, meld, pxHandler, guard, cssHandler } from '@windijs/core'; import { prop } from '@windijs/helpers'; import colors from './colors.js'; var text = createUtility("text") .use(fontSizeHandler(fontSizeConfig)) .use(configHandler(textAlignConfig, "textAlign")) .use(configHandler(verticalAlignConfig, "verticalAlign")) .use(configHandler(textTransformConfig, "textTransform")) .use(colorHandler(colors, "color", "--w-text-opacity")) .case("opacity", configHandler(opacityConfig, prop `--w-text-opacity`)) .case("shadow", configHandler(textShadowConfig, "textShadow")) .case("stroke", meld(configHandler(textStrokeWidthConfig, prop `-webkit-text-stroke-width`), colorHandler(colors, prop `-webkit-text-stroke-color`, "--w-text-stroke-opacity"), pxHandler(prop `-webkit-text-stroke-width`), guard("opacity", configHandler(opacityConfig, prop `--w-text-stroke-opacity`)))) .case("space", configHandler(whiteSpaceConfig, "whiteSpace")) .case("break", meld(guard("normal", cssHandler({ wordBreak: "normal", overflowWrap: "normal" })), guard("words", cssHandler({ overflowWrap: "break-word" })), guard("all", cssHandler({ wordBreak: "break-all" })))) .init(); export { text as default };