All files / src/components/ui/util ConsistentWidthLabel.tsx

0% Statements 0/7
100% Branches 0/0
0% Functions 0/1
0% Lines 0/6

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                                                                   
import React from "react";
import styled from "styled-components";
 
interface ConsistentWidthLabelProps {
  label: string;
  possibleValues: string[];
}
 
const PossibleValuesWrapper = styled.span`
  max-height: 1px;
  overflow: hidden;
  white-space: pre-wrap;
  visibility: hidden;
  flex-shrink: 0;
`;
 
const ActualValueWrapper = styled.span`
  position: absolute;
`;
 
export const ConsistentWidthLabel = ({
  label,
  possibleValues,
}: ConsistentWidthLabelProps) => {
  return (
    <>
      <PossibleValuesWrapper aria-hidden="true">
        {possibleValues.join("\n")}
      </PossibleValuesWrapper>
      <ActualValueWrapper>{label}</ActualValueWrapper>
    </>
  );
};