All files / Icon index.js

0% Statements 0/5
0% Branches 0/4
0% Functions 0/2
0% Lines 0/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 42 43 44 45 46                                                                                           
// @flow
 
import Icon from "./Icon"
import ionIcons from "./ionIcons"
import { prepareComponent } from "@bluframe/grapple"
 
type IconGroup = "ion"
 
export type Props = {|
  +color?: string,
  +group: IconGroup,
  +name: string,
  +size?: string
|}
 
export type ComponentProps = {|
  +color?: string,
  +SelectedIcon: React$StatelessFunctionalComponent<*>,
  +size?: string
|}
 
const usePrepareComponent = ({
  color,
  group,
  name,
  size
}: Props): ComponentProps => {
  if (group === "ion" && ionIcons[name]) {
    return {
      SelectedIcon: ionIcons[name],
      color,
      size
    }
  }
 
  return {
    SelectedIcon: () => null,
    color,
    size
  }
}
 
export default (prepareComponent<Props, ComponentProps>(usePrepareComponent)(
  Icon
): React$AbstractComponent<Props, any>)