All files / components/Typography/Text textSelectors.js

88.57% Statements 31/35
67.74% Branches 21/31
100% Functions 5/5
88.24% Lines 30/34

Press n or j to go to the next uncovered block, b, p or k for the previous block.

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71    14x 9x 9x 1x   8x     14x     3x 3x 2x     3x 3x       3x 1x   2x     14x     3x 3x 3x     3x 3x       3x 3x                 3x           3x     14x 6x 6x 1x   5x     14x  
import { getTypography } from '../typographySelectors';
 
export const getTextSizingStyle = (theme, sizing) => {
  const sizingStyle = getTypography(theme).text.sizings[sizing];
  if (!sizingStyle) {
    throw new Error(`There is no ${sizing} size in the <Text /> theme`);
  }
  return sizingStyle;
};
 
export const getTextColor = (theme, color) => {
  let textColor;
 
  const baseColors = getTypography(theme).colors;
  if (baseColors && baseColors[color]) {
    textColor = baseColors[color];
  }
 
  const textColors = getTypography(theme).text.colors;
  Iif (textColors && textColors[color]) {
    textColor = textColors[color];
  }
 
  if (!textColor) {
    throw new Error(`There is no ${color} color in the <Text /> theme`);
  }
  return textColor;
};
 
export const getTextColorOnBg = (theme, bgColor, color) => {
  let textColor;
 
  const baseColors = getTypography(theme).colors;
  Eif (baseColors && baseColors[color]) {
    textColor = baseColors[color];
  }
 
  const baseBgColors = getTypography(theme).onBackground;
  Iif (baseBgColors && baseBgColors[bgColor] && baseBgColors[bgColor][color]) {
    textColor = baseBgColors[bgColor][color];
  }
 
  const textTheme = getTypography(theme).text;
  Iif (
    textTheme &&
    textTheme.onBackground &&
    textTheme.onBackground[bgColor] &&
    textTheme.onBackground[bgColor][color]
  ) {
    textColor = textTheme.onBackground[bgColor][color];
  }
 
  Iif (!textColor) {
    throw new Error(
      `There is no ${color} color set for ${bgColor} background color in typography theme`
    );
  }
 
  return textColor;
};
 
export const getTextOpacity = (theme, emphasis) => {
  const textOpacity = getTypography(theme).opacities[emphasis];
  if (!textOpacity) {
    throw new Error(`There is no ${emphasis} opacity in the <Text /> theme`);
  }
  return textOpacity;
};
 
export const getTextCommonStyle = theme => getTypography(theme).text.common;