All files / components/Icon index.js

60% Statements 3/5
80% Branches 4/5
50% Functions 1/2
60% Lines 3/5

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                                2x           6x 6x                                  
// @flow
 
import type { IconProps, SelectedIconProps } from "@bluframe/blublocks"
import Icon from "./Icon"
import ionIcons from "./ionIcons"
import { prepareComponent } from "@bluframe/grapple"
 
export type Props = {|
  ...IconProps
|}
 
export type ComponentProps = {|
  ...SelectedIconProps,
  +SelectedIcon: React$ComponentType<SelectedIconProps>
|}
 
const usePrepareComponent = ({
  color,
  group = "io5",
  name,
  size
}: Props): ComponentProps => {
  Eif (group === "io5" && ionIcons[name]) {
    return {
      SelectedIcon: ionIcons[name],
      color,
      size
    }
  }
 
  return {
    SelectedIcon: () => null,
    color,
    size
  }
}
 
export default (prepareComponent<Props, ComponentProps>(usePrepareComponent)(
  Icon
): React$ComponentType<Props>)