All files / libs/lti/components/src/lib/enrollment/common MonetaryValueForWidget.tsx

0% Statements 0/49
0% Branches 0/1
0% Functions 0/1
0% Lines 0/49

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                                                                                                   
import { css } from '@emotion/react';
import { memo } from 'react';
import { FormattedNumber } from 'react-intl';

import { Group, Typography } from '@allshares/studio-design-system';
import { type TypographyVariant } from '@allshares/studio-design-system/meta';
import { type CurrencySymbolsEnum } from '@amalia/ext/iso-4217';

type MonetaryValueForWidgetProps = {
  readonly value: number;
  readonly symbol: CurrencySymbolsEnum;
  readonly valueTypographyVariant?: `${TypographyVariant}`;
  readonly symbolTypographyVariant?: `${TypographyVariant}`;
  readonly className?: string;
};

export const MonetaryValueForWidget = memo(function MonetaryValueForWidget({
  value,
  symbol,
  valueTypographyVariant = 'heading4Regular',
  symbolTypographyVariant = 'bodyXsmallRegular',
  className,
}: MonetaryValueForWidgetProps) {
  return (
    <Group
      align="baseline"
      className={className}
      gap={6}
    >
      <Typography
        variant={valueTypographyVariant}
        css={css`
          color: var(--ds-text-color-700);
        `}
      >
        <FormattedNumber value={value} />
      </Typography>

      <Typography
        variant={symbolTypographyVariant}
        css={css`
          color: var(--ds-text-color-500);
        `}
      >
        {symbol}
      </Typography>
    </Group>
  );
});