@razorpay/blade
Version:
The Design System that powers Razorpay
86 lines (83 loc) • 4.11 kB
JavaScript
import _defineProperty from '@babel/runtime/helpers/defineProperty';
import getIn from '../../../utils/lodashButBetter/get.js';
import '../../../utils/makeTypographySize/index.web.js';
import '../../../utils/index.js';
import '../../../utils/makeLetterSpacing/index.js';
import { makeTypographySize } from '../../../utils/makeTypographySize/makeTypographySize.web.js';
import { makeLetterSpacing } from '../../../utils/makeLetterSpacing/makeLetterSpacing.js';
import { isReactNative } from '../../../utils/platform/isReactNative.js';
function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
var getBaseTextStyles = function getBaseTextStyles(_ref) {
var _ref$color = _ref.color,
color = _ref$color === void 0 ? 'surface.text.gray.normal' : _ref$color,
_ref$fontFamily = _ref.fontFamily,
fontFamily = _ref$fontFamily === void 0 ? 'text' : _ref$fontFamily,
_ref$fontSize = _ref.fontSize,
fontSize = _ref$fontSize === void 0 ? 200 : _ref$fontSize,
_ref$fontWeight = _ref.fontWeight,
fontWeight = _ref$fontWeight === void 0 ? 'regular' : _ref$fontWeight,
_ref$fontStyle = _ref.fontStyle,
fontStyle = _ref$fontStyle === void 0 ? 'normal' : _ref$fontStyle,
_ref$textDecorationLi = _ref.textDecorationLine,
textDecorationLine = _ref$textDecorationLi === void 0 ? 'none' : _ref$textDecorationLi,
numberOfLines = _ref.numberOfLines,
wordBreak = _ref.wordBreak,
_ref$lineHeight = _ref.lineHeight,
lineHeight = _ref$lineHeight === void 0 ? 100 : _ref$lineHeight,
_ref$letterSpacing = _ref.letterSpacing,
letterSpacing = _ref$letterSpacing === void 0 ? 100 : _ref$letterSpacing,
textAlign = _ref.textAlign,
opacity = _ref.opacity,
theme = _ref.theme;
var textColor = color === 'currentColor' ? 'currentColor' : getIn(theme.colors, color);
var themeFontFamily = theme.typography.fonts.family[fontFamily];
var themeFontSize = makeTypographySize(theme.typography.fonts.size[fontSize]);
var themeFontWeight = theme.typography.fonts.weight[fontWeight];
var themeLineHeight = makeTypographySize(theme.typography.lineHeights[lineHeight]);
var themeLetterSpacing = makeLetterSpacing(theme.typography.letterSpacings[letterSpacing], theme.typography.fonts.size[fontSize]);
var truncateStyles = {};
var wordBreakStyles = {};
if (numberOfLines !== undefined) {
if (isReactNative()) {
truncateStyles = {};
} else {
truncateStyles = {
overflow: 'hidden',
display: '-webkit-box',
'line-clamp': "".concat(numberOfLines),
'-webkit-line-clamp': "".concat(numberOfLines),
'-webkit-box-orient': 'vertical',
overflowWrap: 'break-word'
};
}
}
if (wordBreak !== undefined) {
if (isReactNative()) {
wordBreakStyles = {};
} else {
wordBreakStyles = {
wordBreak: wordBreak
};
}
}
return _objectSpread(_objectSpread(_objectSpread({
color: textColor,
fontFamily: themeFontFamily,
fontSize: themeFontSize,
fontWeight: themeFontWeight,
fontStyle: fontStyle,
textDecorationLine: textDecorationLine
}, textDecorationLine !== 'none' && {
textDecorationColor: textColor
}), {}, {
lineHeight: themeLineHeight,
letterSpacing: themeLetterSpacing,
textAlign: textAlign,
margin: 0,
padding: 0,
opacity: opacity
}, truncateStyles), wordBreakStyles);
};
export { getBaseTextStyles as default };
//# sourceMappingURL=getBaseTextStyles.js.map