All files / components/Typography/Heading headingSelectors.js

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

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 72    14x 16x 16x 1x   15x     14x     2x 2x 1x     2x 2x       2x 1x   1x     14x     9x 9x 9x     9x 9x       9x 9x                 9x           9x     14x 11x 11x 1x   10x     14x 10x  
import { getTypography } from '../typographySelectors';
 
export const getHeadingSizingStyle = (theme, sizing) => {
  const sizingStyle = getTypography(theme).heading.sizings[sizing];
  if (!sizingStyle) {
    throw new Error(`There is no ${sizing} size in the <Heading /> theme`);
  }
  return sizingStyle;
};
 
export const getHeadingColor = (theme, color) => {
  let headingColor;
 
  const baseColors = getTypography(theme).colors;
  if (baseColors && baseColors[color]) {
    headingColor = baseColors[color];
  }
 
  const headingColors = getTypography(theme).heading.colors;
  Iif (headingColors && headingColors[color]) {
    headingColor = headingColors[color];
  }
 
  if (!headingColor) {
    throw new Error(`There is no ${color} color in the <Heading /> theme`);
  }
  return headingColor;
};
 
export const getHeadingColorOnBg = (theme, bgColor, color) => {
  let headingColor;
 
  const baseColors = getTypography(theme).colors;
  Eif (baseColors && baseColors[color]) {
    headingColor = baseColors[color];
  }
 
  const baseBgColors = getTypography(theme).onBackground;
  Iif (baseBgColors && baseBgColors[bgColor] && baseBgColors[bgColor][color]) {
    headingColor = baseBgColors[bgColor][color];
  }
 
  const headingTheme = getTypography(theme).heading;
  Iif (
    headingTheme &&
    headingTheme.onBackground &&
    headingTheme.onBackground[bgColor] &&
    headingTheme.onBackground[bgColor][color]
  ) {
    headingColor = headingTheme.onBackground[bgColor][color];
  }
 
  Iif (!headingColor) {
    throw new Error(
      `There is no ${color} color set for ${bgColor} background color in typography theme`
    );
  }
 
  return headingColor;
};
 
export const getHeadingOpacity = (theme, emphasis) => {
  const textOpacity = getTypography(theme).opacities[emphasis];
  if (!textOpacity) {
    throw new Error(`There is no ${emphasis} opacity in the <Heading /> theme`);
  }
  return textOpacity;
};
 
export const getHeadingCommonStyle = theme =>
  getTypography(theme).heading.common;