{"ast":null,"code":"import _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/objectWithoutPropertiesLoose\";\nconst _excluded = [\"name\", \"size\", \"color\", \"style\", \"children\"];\nvar _jsxFileName = \"/Users/pmouli/Documents/GitHub.nosync/boots-strapper/mobile/node_modules/@expo/vector-icons/build/vendor/react-native-vector-icons/lib/create-icon-set.js\";\nimport React, { PureComponent } from 'react';\nimport Platform from \"react-native-web/dist/exports/Platform\";\nimport PixelRatio from \"react-native-web/dist/exports/PixelRatio\";\nimport processColor from \"react-native-web/dist/exports/processColor\";\nimport Text from \"react-native-web/dist/exports/Text\";\nimport NativeModules from \"react-native-web/dist/exports/NativeModules\";\nimport ensureNativeModuleAvailable from \"./ensure-native-module-available\";\nimport createIconSourceCache from \"./create-icon-source-cache\";\nimport createIconButtonComponent from \"./icon-button\";\nimport { jsxDEV as _jsxDEV } from \"react/jsx-dev-runtime\";\nexport const NativeIconAPI = NativeModules.RNVectorIconsManager || NativeModules.RNVectorIconsModule;\nexport const DEFAULT_ICON_SIZE = 12;\nexport const DEFAULT_ICON_COLOR = 'black';\nexport default function createIconSet(glyphMap, fontFamily, fontFile, fontStyle) {\n  const fontBasename = fontFile ? fontFile.replace(/\\.(otf|ttf)$/, '') : fontFamily;\n  const fontReference = Platform.select({\n    windows: `/Assets/${fontFile}#${fontFamily}`,\n    android: fontBasename,\n    web: fontBasename,\n    default: fontFamily\n  });\n  class Icon extends PureComponent {\n    root = null;\n    static defaultProps = {\n      size: DEFAULT_ICON_SIZE,\n      allowFontScaling: false\n    };\n    render() {\n      const _this$props = this.props,\n        {\n          name,\n          size,\n          color,\n          style,\n          children\n        } = _this$props,\n        props = _objectWithoutPropertiesLoose(_this$props, _excluded);\n      let glyph = name ? glyphMap[name] || '?' : '';\n      if (typeof glyph === 'number') {\n        glyph = String.fromCodePoint(glyph);\n      }\n      const styleDefaults = {\n        fontSize: size,\n        color\n      };\n      const styleOverrides = {\n        fontFamily: fontReference,\n        fontWeight: 'normal',\n        fontStyle: 'normal'\n      };\n      props.style = [styleDefaults, style, styleOverrides, fontStyle || {}];\n      return _jsxDEV(Text, Object.assign({\n        selectable: false\n      }, props, {\n        children: [glyph, children]\n      }), void 0, true, {\n        fileName: _jsxFileName,\n        lineNumber: 62,\n        columnNumber: 9\n      }, this);\n    }\n  }\n  const imageSourceCache = createIconSourceCache();\n  function resolveGlyph(name) {\n    const glyph = glyphMap[name] || '?';\n    if (typeof glyph === 'number') {\n      return String.fromCodePoint(glyph);\n    }\n    return glyph;\n  }\n  function getImageSourceSync(name, size = DEFAULT_ICON_SIZE, color = DEFAULT_ICON_COLOR) {\n    ensureNativeModuleAvailable();\n    const glyph = resolveGlyph(name);\n    const processedColor = processColor(color);\n    const cacheKey = `${glyph}:${size}:${processedColor}`;\n    if (imageSourceCache.has(cacheKey)) {\n      return imageSourceCache.get(cacheKey);\n    }\n    try {\n      const imagePath = NativeIconAPI.getImageForFontSync(fontReference, glyph, size, processedColor);\n      const value = {\n        uri: imagePath,\n        scale: PixelRatio.get()\n      };\n      imageSourceCache.setValue(cacheKey, value);\n      return value;\n    } catch (error) {\n      imageSourceCache.setError(cacheKey, error);\n      throw error;\n    }\n  }\n  async function getImageSource(name, size = DEFAULT_ICON_SIZE, color = DEFAULT_ICON_COLOR) {\n    ensureNativeModuleAvailable();\n    const glyph = resolveGlyph(name);\n    const processedColor = processColor(color);\n    const cacheKey = `${glyph}:${size}:${processedColor}`;\n    if (imageSourceCache.has(cacheKey)) {\n      return imageSourceCache.get(cacheKey);\n    }\n    try {\n      const imagePath = await NativeIconAPI.getImageForFont(fontReference, glyph, size, processedColor);\n      const value = {\n        uri: imagePath,\n        scale: PixelRatio.get()\n      };\n      imageSourceCache.setValue(cacheKey, value);\n      return value;\n    } catch (error) {\n      imageSourceCache.setError(cacheKey, error);\n      throw error;\n    }\n  }\n  async function loadFont(file = fontFile) {\n    if (Platform.OS === 'ios') {\n      ensureNativeModuleAvailable();\n      if (!file) {\n        throw new Error('Unable to load font, because no file was specified. ');\n      }\n      await NativeIconAPI.loadFontWithFileName(...file.split('.'));\n    }\n  }\n  function hasIcon(name) {\n    return Object.prototype.hasOwnProperty.call(glyphMap, name);\n  }\n  function getRawGlyphMap() {\n    return glyphMap;\n  }\n  function getFontFamily() {\n    return fontReference;\n  }\n  Icon.Button = createIconButtonComponent(Icon);\n  Icon.getImageSource = getImageSource;\n  Icon.getImageSourceSync = getImageSourceSync;\n  Icon.loadFont = loadFont;\n  Icon.hasIcon = hasIcon;\n  Icon.getRawGlyphMap = getRawGlyphMap;\n  Icon.getFontFamily = getFontFamily;\n  return Icon;\n}","map":{"version":3,"names":["React","PureComponent","Platform","PixelRatio","processColor","Text","NativeModules","ensureNativeModuleAvailable","createIconSourceCache","createIconButtonComponent","jsxDEV","_jsxDEV","NativeIconAPI","RNVectorIconsManager","RNVectorIconsModule","DEFAULT_ICON_SIZE","DEFAULT_ICON_COLOR","createIconSet","glyphMap","fontFamily","fontFile","fontStyle","fontBasename","replace","fontReference","select","windows","android","web","default","Icon","root","defaultProps","size","allowFontScaling","render","_this$props","props","name","color","style","children","_objectWithoutPropertiesLoose","_excluded","glyph","String","fromCodePoint","styleDefaults","fontSize","styleOverrides","fontWeight","Object","assign","selectable","fileName","_jsxFileName","lineNumber","columnNumber","imageSourceCache","resolveGlyph","getImageSourceSync","processedColor","cacheKey","has","get","imagePath","getImageForFontSync","value","uri","scale","setValue","error","setError","getImageSource","getImageForFont","loadFont","file","OS","Error","loadFontWithFileName","split","hasIcon","prototype","hasOwnProperty","call","getRawGlyphMap","getFontFamily","Button"],"sources":["/Users/pmouli/Documents/GitHub.nosync/boots-strapper/mobile/node_modules/@expo/vector-icons/build/vendor/react-native-vector-icons/lib/create-icon-set.js"],"sourcesContent":["import React, { PureComponent } from 'react';\nimport {Platform, PixelRatio, processColor, Text, NativeModules} from 'react-native';\n\nimport ensureNativeModuleAvailable from './ensure-native-module-available';\nimport createIconSourceCache from './create-icon-source-cache';\nimport createIconButtonComponent from './icon-button';\n\nexport const NativeIconAPI =\n  NativeModules.RNVectorIconsManager || NativeModules.RNVectorIconsModule;\n\nexport const DEFAULT_ICON_SIZE = 12;\nexport const DEFAULT_ICON_COLOR = 'black';\n\nexport default function createIconSet(\n  glyphMap,\n  fontFamily,\n  fontFile,\n  fontStyle\n) {\n  // Android doesn't care about actual fontFamily name, it will only look in fonts folder.\n  const fontBasename = fontFile\n    ? fontFile.replace(/\\.(otf|ttf)$/, '')\n    : fontFamily;\n\n  const fontReference = Platform.select({\n    windows: `/Assets/${fontFile}#${fontFamily}`,\n    android: fontBasename,\n    web: fontBasename,\n    default: fontFamily,\n  });\n\n  class Icon extends PureComponent {\n    root = null;\n\n    static defaultProps = {\n      size: DEFAULT_ICON_SIZE,\n      allowFontScaling: false,\n    };\n\n    render() {\n      const { name, size, color, style, children, ...props } = this.props;\n\n      let glyph = name ? glyphMap[name] || '?' : '';\n      if (typeof glyph === 'number') {\n        glyph = String.fromCodePoint(glyph);\n      }\n\n      const styleDefaults = {\n        fontSize: size,\n        color,\n      };\n\n      const styleOverrides = {\n        fontFamily: fontReference,\n        fontWeight: 'normal',\n        fontStyle: 'normal',\n      };\n\n      props.style = [styleDefaults, style, styleOverrides, fontStyle || {}];\n\n      return (\n        <Text selectable={false} {...props}>\n          {glyph}\n          {children}\n        </Text>\n      );\n    }\n  }\n\n  const imageSourceCache = createIconSourceCache();\n\n  function resolveGlyph(name) {\n    const glyph = glyphMap[name] || '?';\n    if (typeof glyph === 'number') {\n      return String.fromCodePoint(glyph);\n    }\n    return glyph;\n  }\n\n  function getImageSourceSync(\n    name,\n    size = DEFAULT_ICON_SIZE,\n    color = DEFAULT_ICON_COLOR\n  ) {\n    ensureNativeModuleAvailable();\n\n    const glyph = resolveGlyph(name);\n    const processedColor = processColor(color);\n    const cacheKey = `${glyph}:${size}:${processedColor}`;\n\n    if (imageSourceCache.has(cacheKey)) {\n      return imageSourceCache.get(cacheKey);\n    }\n    try {\n      const imagePath = NativeIconAPI.getImageForFontSync(\n        fontReference,\n        glyph,\n        size,\n        processedColor\n      );\n      const value = { uri: imagePath, scale: PixelRatio.get() };\n      imageSourceCache.setValue(cacheKey, value);\n      return value;\n    } catch (error) {\n      imageSourceCache.setError(cacheKey, error);\n      throw error;\n    }\n  }\n\n  async function getImageSource(\n    name,\n    size = DEFAULT_ICON_SIZE,\n    color = DEFAULT_ICON_COLOR\n  ) {\n    ensureNativeModuleAvailable();\n\n    const glyph = resolveGlyph(name);\n    const processedColor = processColor(color);\n    const cacheKey = `${glyph}:${size}:${processedColor}`;\n\n    if (imageSourceCache.has(cacheKey)) {\n      return imageSourceCache.get(cacheKey);\n    }\n    try {\n      const imagePath = await NativeIconAPI.getImageForFont(\n        fontReference,\n        glyph,\n        size,\n        processedColor\n      );\n      const value = { uri: imagePath, scale: PixelRatio.get() };\n      imageSourceCache.setValue(cacheKey, value);\n      return value;\n    } catch (error) {\n      imageSourceCache.setError(cacheKey, error);\n      throw error;\n    }\n  }\n\n  async function loadFont(file = fontFile) {\n    if (Platform.OS === 'ios') {\n      ensureNativeModuleAvailable();\n      if (!file) {\n        throw new Error('Unable to load font, because no file was specified. ');\n      }\n      await NativeIconAPI.loadFontWithFileName(...file.split('.'));\n    }\n  }\n\n  function hasIcon(name) {\n    return Object.prototype.hasOwnProperty.call(glyphMap, name);\n  }\n\n  function getRawGlyphMap() {\n    return glyphMap;\n  }\n\n  function getFontFamily() {\n    return fontReference;\n  }\n\n  Icon.Button = createIconButtonComponent(Icon);\n  Icon.getImageSource = getImageSource;\n  Icon.getImageSourceSync = getImageSourceSync;\n  Icon.loadFont = loadFont;\n  Icon.hasIcon = hasIcon;\n  Icon.getRawGlyphMap = getRawGlyphMap;\n  Icon.getFontFamily = getFontFamily;\n\n  return Icon;\n}\n"],"mappings":"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","ignoreList":[]},"metadata":{"hasCjsExports":false},"sourceType":"module","externalDependencies":[]}