@zohodesk/components
Version:
In this Package, we Provide Some Basic Components to Build Web App
56 lines (53 loc) • 1.66 kB
JavaScript
import { compileClassNames } from '@zohodesk/utils';
import { letterspacingMapping, lineheightMapping } from "../utils";
export default function cssJSLogic(_ref) {
let {
props,
style
} = _ref;
let {
$flag_reset,
$flag_dotted,
$ui_size,
$ui_lineClamp,
$ui_lineHeight,
$ui_display,
$ui_weight,
$ui_typeFace,
$ui_textAlign,
$ui_letterSpacing,
$ui_transform,
$ui_decoration,
$ui_className,
$ui_wordBreak,
$ui_wordWrap,
$ui_whiteSpace
} = props;
if ($ui_letterSpacing) {
$ui_letterSpacing = letterspacingMapping[$ui_letterSpacing];
}
if ($ui_lineHeight) {
$ui_lineHeight = lineheightMapping[$ui_lineHeight];
}
let typographyClass = compileClassNames({
[style.reset]: $flag_reset,
[style.dotted]: $flag_dotted,
[style[`size${$ui_size}`]]: !!$ui_size,
[style[`lineclamp_${$ui_lineClamp}`]]: !!$ui_lineClamp,
[style[`lineheight_${$ui_lineHeight}`]]: !!$ui_lineHeight,
[style[`display_${$ui_display}`]]: !!$ui_display,
[style[`font_${$ui_weight}`]]: !!$ui_weight,
[style[`fontStyles_${$ui_typeFace}`]]: !!$ui_typeFace,
[style[`textalign_${$ui_textAlign}`]]: !!$ui_textAlign,
[style[`letterspacing_${$ui_letterSpacing}`]]: !!$ui_letterSpacing,
[style[`transform_${$ui_transform}`]]: !!$ui_transform,
[style[`decoration_${$ui_decoration}`]]: !!$ui_decoration,
[$ui_className]: !!$ui_className,
[style[`wordBreak_${$ui_wordBreak}`]]: !!$ui_wordBreak,
[style[`wordWrap_${$ui_wordWrap}`]]: !!$ui_wordWrap,
[style[`whiteSpace_${$ui_whiteSpace}`]]: !!$ui_whiteSpace
});
return {
typographyClass
};
}