{"ast":null,"code":"var _jsxFileName = \"/Users/pmouli/Documents/GitHub.nosync/boots-strapper/mobile/node_modules/@expo/vector-icons/build/createIconSet.js\";\nimport * as Font from 'expo-font';\nimport React from 'react';\nimport Text from \"react-native-web/dist/exports/Text\";\nimport createIconSet from \"./vendor/react-native-vector-icons/lib/create-icon-set\";\nimport createIconButtonComponent from \"./vendor/react-native-vector-icons/lib/icon-button\";\nimport { jsxDEV as _jsxDEV } from \"react/jsx-dev-runtime\";\nexport { DEFAULT_ICON_COLOR, DEFAULT_ICON_SIZE } from \"./vendor/react-native-vector-icons/lib/create-icon-set\";\nexport default function (glyphMap, fontName, expoAssetId, fontStyle) {\n  const font = {\n    [fontName]: expoAssetId\n  };\n  const RNVIconComponent = createIconSet(glyphMap, fontName, null, fontStyle);\n  return class Icon extends React.Component {\n    static defaultProps = RNVIconComponent.defaultProps;\n    static Button = createIconButtonComponent(Icon);\n    static glyphMap = glyphMap;\n    static getRawGlyphMap = () => glyphMap;\n    static getFontFamily = () => fontName;\n    static loadFont = () => Font.loadAsync(font);\n    static font = font;\n    _mounted = false;\n    state = {\n      fontIsLoaded: Font.isLoaded(fontName)\n    };\n    async componentDidMount() {\n      this._mounted = true;\n      if (!this.state.fontIsLoaded) {\n        await Font.loadAsync(font);\n        this._mounted && this.setState({\n          fontIsLoaded: true\n        });\n      }\n    }\n    componentWillUnmount() {\n      this._mounted = false;\n    }\n    setNativeProps(props) {\n      if (this._icon) {\n        this._icon.setNativeProps(props);\n      }\n    }\n    render() {\n      if (__DEV__ && this.props.name && !(this.props.name in glyphMap)) {\n        console.warn(`\"${this.props.name}\" is not a valid icon name for family \"${fontName}\"`);\n      }\n      if (!this.state.fontIsLoaded) {\n        return _jsxDEV(Text, {}, void 0, false, {\n          fileName: _jsxFileName,\n          lineNumber: 44,\n          columnNumber: 24\n        }, this);\n      }\n      return _jsxDEV(RNVIconComponent, Object.assign({\n        ref: view => {\n          this._icon = view;\n        }\n      }, this.props), void 0, false, {\n        fileName: _jsxFileName,\n        lineNumber: 46,\n        columnNumber: 21\n      }, this);\n    }\n  };\n}","map":{"version":3,"names":["Font","React","Text","createIconSet","createIconButtonComponent","jsxDEV","_jsxDEV","DEFAULT_ICON_COLOR","DEFAULT_ICON_SIZE","glyphMap","fontName","expoAssetId","fontStyle","font","RNVIconComponent","Icon","Component","defaultProps","Button","getRawGlyphMap","getFontFamily","loadFont","loadAsync","_mounted","state","fontIsLoaded","isLoaded","componentDidMount","setState","componentWillUnmount","setNativeProps","props","_icon","render","__DEV__","name","console","warn","fileName","_jsxFileName","lineNumber","columnNumber","Object","assign","ref","view"],"sources":["/Users/pmouli/Documents/GitHub.nosync/boots-strapper/mobile/node_modules/@expo/vector-icons/src/createIconSet.tsx"],"sourcesContent":["import * as Font from 'expo-font';\nimport React, { ComponentClass } from 'react';\nimport {\n  Text,\n  TextProps,\n  TouchableHighlightProps,\n  ViewProps,\n  OpaqueColorValue,\n  TextStyle,\n  ViewStyle,\n} from 'react-native';\n\nimport createIconSet from './vendor/react-native-vector-icons/lib/create-icon-set';\nimport createIconButtonComponent from './vendor/react-native-vector-icons/lib/icon-button';\n\nexport {\n  DEFAULT_ICON_COLOR,\n  DEFAULT_ICON_SIZE,\n} from './vendor/react-native-vector-icons/lib/create-icon-set';\n\nexport interface IconProps<GLYPHS extends string> extends TextProps {\n  /**\n   * Size of the icon, can also be passed as fontSize in the style object.\n   *\n   * @default 12\n   */\n  size?: number;\n\n  /**\n   * Name of the icon to show\n   *\n   * See Icon Explorer app\n   * {@link https://expo.github.io/vector-icons/}\n   */\n  name: GLYPHS;\n\n  /**\n   * Color of the icon. Can be a string or OpaqueColorValue (returned from\n   * PlatformColor(..))\n   *\n   */\n  color?: string | OpaqueColorValue;\n}\n\nexport interface IconButtonProps<GLYPHS extends string>\n  extends IconProps<GLYPHS>,\n    ViewProps,\n    TouchableHighlightProps {\n  /**\n   * Text and icon color\n   * Use iconStyle or nest a Text component if you need different colors.\n   * Can be a string or OpaqueColorValue (returned from PlatformColor(..))\n   *\n   *  @default 'white'\n   */\n  color?: string | OpaqueColorValue;\n\n  /**\n   * Border radius of the button\n   * Set to 0 to disable.\n   *\n   * @default 5\n   */\n  borderRadius?: number;\n\n  /**\n   * Styles applied to the icon only\n   * Good for setting margins or a different color.\n   *\n   * @default {marginRight: 10}\n   */\n  iconStyle?: TextStyle;\n\n  /**\n   * Style prop inherited from TextProps and TouchableWithoutFeedbackProperties\n   * Only exist here so we can have ViewStyle or TextStyle\n   *\n   */\n  style?: ViewStyle | TextStyle;\n\n  /**\n   * Background color of the button. Can be a string or OpaqueColorValue (returned from\n   * PlatformColor(..))\n   *\n   * @default '#007AFF'\n   */\n  backgroundColor?: string | OpaqueColorValue;\n}\n\nexport type GlyphMap<G extends string> = { [K in G]: number | string };\n\nexport interface Icon<G extends string, FN extends string> {\n  defaultProps: any;\n  Button: ComponentClass<IconButtonProps<G>>;\n  glyphMap: GlyphMap<G>;\n  getRawGlyphMap: () => GlyphMap<G>;\n  getFontFamily: () => FN;\n  loadFont: () => Promise<void>;\n  font: { [x: string]: any };\n  new (props: IconProps<G>): React.Component<IconProps<G>>;\n}\n\nexport default function <G extends string, FN extends string>(\n  glyphMap: GlyphMap<G>,\n  fontName: FN,\n  expoAssetId,\n  fontStyle?: any\n): Icon<G, FN> {\n  const font = { [fontName]: expoAssetId };\n  const RNVIconComponent = createIconSet(glyphMap, fontName, null, fontStyle);\n\n  return class Icon extends React.Component<IconProps<G>> {\n    static defaultProps = RNVIconComponent.defaultProps;\n    static Button = createIconButtonComponent(Icon);\n    static glyphMap = glyphMap;\n    static getRawGlyphMap = () => glyphMap;\n    static getFontFamily = () => fontName;\n    static loadFont = () => Font.loadAsync(font);\n    static font = font;\n\n    _mounted = false;\n    _icon?: any;\n\n    state = {\n      fontIsLoaded: Font.isLoaded(fontName),\n    };\n\n    async componentDidMount() {\n      this._mounted = true;\n      if (!this.state.fontIsLoaded) {\n        await Font.loadAsync(font);\n        /* eslint-disable react/no-did-mount-set-state */\n        this._mounted && this.setState({ fontIsLoaded: true });\n      }\n    }\n\n    componentWillUnmount() {\n      this._mounted = false;\n    }\n\n    setNativeProps(props) {\n      if (this._icon) {\n        this._icon.setNativeProps(props);\n      }\n    }\n\n    render() {\n      if (__DEV__ && this.props.name && !(this.props.name in glyphMap)) {\n        console.warn(`\"${this.props.name}\" is not a valid icon name for family \"${fontName}\"`);\n      }\n\n      if (!this.state.fontIsLoaded) {\n        return <Text />;\n      }\n\n      return (\n        <RNVIconComponent\n          ref={(view) => {\n            this._icon = view;\n          }}\n          {...this.props}\n        />\n      );\n    }\n  };\n}\n"],"mappings":";AAAA,OAAO,KAAKA,IAAI,MAAM,WAAW;AACjC,OAAOC,KAAyB,MAAM,OAAO;AAAC,OAAAC,IAAA;AAW9C,OAAOC,aAAa;AACpB,OAAOC,yBAAyB;AAA2D,SAAAC,MAAA,IAAAC,OAAA;AAE3F,SACEC,kBAAkB,EAClBC,iBAAiB;AAqFnB,eAAc,UACZC,QAAqB,EACrBC,QAAY,EACZC,WAAW,EACXC,SAAe;EAEf,MAAMC,IAAI,GAAG;IAAE,CAACH,QAAQ,GAAGC;EAAW,CAAE;EACxC,MAAMG,gBAAgB,GAAGX,aAAa,CAACM,QAAQ,EAAEC,QAAQ,EAAE,IAAI,EAAEE,SAAS,CAAC;EAE3E,OAAO,MAAMG,IAAK,SAAQd,KAAK,CAACe,SAAuB;IACrD,OAAOC,YAAY,GAAGH,gBAAgB,CAACG,YAAY;IACnD,OAAOC,MAAM,GAAGd,yBAAyB,CAACW,IAAI,CAAC;IAC/C,OAAON,QAAQ,GAAGA,QAAQ;IAC1B,OAAOU,cAAc,GAAGA,CAAA,KAAMV,QAAQ;IACtC,OAAOW,aAAa,GAAGA,CAAA,KAAMV,QAAQ;IACrC,OAAOW,QAAQ,GAAGA,CAAA,KAAMrB,IAAI,CAACsB,SAAS,CAACT,IAAI,CAAC;IAC5C,OAAOA,IAAI,GAAGA,IAAI;IAElBU,QAAQ,GAAG,KAAK;IAGhBC,KAAK,GAAG;MACNC,YAAY,EAAEzB,IAAI,CAAC0B,QAAQ,CAAChB,QAAQ;KACrC;IAED,MAAMiB,iBAAiBA,CAAA;MACrB,IAAI,CAACJ,QAAQ,GAAG,IAAI;MACpB,IAAI,CAAC,IAAI,CAACC,KAAK,CAACC,YAAY,EAAE;QAC5B,MAAMzB,IAAI,CAACsB,SAAS,CAACT,IAAI,CAAC;QAE1B,IAAI,CAACU,QAAQ,IAAI,IAAI,CAACK,QAAQ,CAAC;UAAEH,YAAY,EAAE;QAAI,CAAE,CAAC;MACxD;IACF;IAEAI,oBAAoBA,CAAA;MAClB,IAAI,CAACN,QAAQ,GAAG,KAAK;IACvB;IAEAO,cAAcA,CAACC,KAAK;MAClB,IAAI,IAAI,CAACC,KAAK,EAAE;QACd,IAAI,CAACA,KAAK,CAACF,cAAc,CAACC,KAAK,CAAC;MAClC;IACF;IAEAE,MAAMA,CAAA;MACJ,IAAIC,OAAO,IAAI,IAAI,CAACH,KAAK,CAACI,IAAI,IAAI,EAAE,IAAI,CAACJ,KAAK,CAACI,IAAI,IAAI1B,QAAQ,CAAC,EAAE;QAChE2B,OAAO,CAACC,IAAI,CAAC,IAAI,IAAI,CAACN,KAAK,CAACI,IAAI,0CAA0CzB,QAAQ,GAAG,CAAC;MACxF;MAEA,IAAI,CAAC,IAAI,CAACc,KAAK,CAACC,YAAY,EAAE;QAC5B,OAAOnB,OAAA,CAACJ,IAAI;UAAAoC,QAAA,EAAAC,YAAA;UAAAC,UAAA;UAAAC,YAAA;QAAA,QAAG;MACjB;MAEA,OACEnC,OAAA,CAACQ,gBAAgB,EAAA4B,MAAA,CAAAC,MAAA;QACfC,GAAG,EAAGC,IAAI,IAAI;UACZ,IAAI,CAACb,KAAK,GAAGa,IAAI;QACnB;MAAE,GACE,IAAI,CAACd,KAAK;QAAAO,QAAA,EAAAC,YAAA;QAAAC,UAAA;QAAAC,YAAA;MAAA,OAAC,CACf;IAEN;GACD;AACH","ignoreList":[]},"metadata":{"hasCjsExports":false},"sourceType":"module","externalDependencies":[]}