{"ast":null,"code":"\"use strict\";\n\nimport React from 'react';\nimport StyleSheet from \"react-native-web/dist/exports/StyleSheet\";\nimport View from \"react-native-web/dist/exports/View\";\nimport { Badge } from \"./Badge.js\";\nimport { jsx as _jsx, jsxs as _jsxs } from \"react/jsx-runtime\";\nvar ICON_SIZE_WIDE = 31;\nvar ICON_SIZE_WIDE_COMPACT = 23;\nvar ICON_SIZE_TALL = 28;\nvar ICON_SIZE_TALL_COMPACT = 20;\nvar ICON_SIZE_ROUND = 25;\nvar ICON_SIZE_ROUND_COMPACT = 18;\nvar ICON_SIZE_MATERIAL = 24;\nexport function TabBarIcon(_ref) {\n  var _ = _ref.route,\n    variant = _ref.variant,\n    size = _ref.size,\n    badge = _ref.badge,\n    badgeStyle = _ref.badgeStyle,\n    activeOpacity = _ref.activeOpacity,\n    inactiveOpacity = _ref.inactiveOpacity,\n    activeTintColor = _ref.activeTintColor,\n    inactiveTintColor = _ref.inactiveTintColor,\n    renderIcon = _ref.renderIcon,\n    allowFontScaling = _ref.allowFontScaling,\n    style = _ref.style;\n  var iconSize = variant === 'material' ? ICON_SIZE_MATERIAL : size === 'compact' ? ICON_SIZE_ROUND_COMPACT : ICON_SIZE_ROUND;\n  return _jsxs(View, {\n    style: [variant === 'material' ? styles.wrapperMaterial : size === 'compact' ? styles.wrapperUikitCompact : styles.wrapperUikit, style],\n    children: [_jsx(View, {\n      style: [styles.icon, {\n        opacity: activeOpacity,\n        minWidth: iconSize\n      }],\n      children: renderIcon({\n        focused: true,\n        size: iconSize,\n        color: activeTintColor\n      })\n    }), _jsx(View, {\n      style: [styles.icon, {\n        opacity: inactiveOpacity\n      }],\n      children: renderIcon({\n        focused: false,\n        size: iconSize,\n        color: inactiveTintColor\n      })\n    }), _jsx(Badge, {\n      visible: badge != null,\n      size: iconSize * 0.75,\n      allowFontScaling: allowFontScaling,\n      style: [styles.badge, badgeStyle],\n      children: badge\n    })]\n  });\n}\nvar styles = StyleSheet.create({\n  icon: {\n    position: 'absolute',\n    alignSelf: 'center',\n    alignItems: 'center',\n    justifyContent: 'center',\n    height: '100%',\n    width: '100%'\n  },\n  wrapperUikit: {\n    width: ICON_SIZE_WIDE,\n    height: ICON_SIZE_TALL\n  },\n  wrapperUikitCompact: {\n    width: ICON_SIZE_WIDE_COMPACT,\n    height: ICON_SIZE_TALL_COMPACT\n  },\n  wrapperMaterial: {\n    width: ICON_SIZE_MATERIAL,\n    height: ICON_SIZE_MATERIAL\n  },\n  badge: {\n    position: 'absolute',\n    end: -3,\n    top: -3\n  }\n});","map":{"version":3,"names":["React","StyleSheet","View","Badge","jsx","_jsx","jsxs","_jsxs","ICON_SIZE_WIDE","ICON_SIZE_WIDE_COMPACT","ICON_SIZE_TALL","ICON_SIZE_TALL_COMPACT","ICON_SIZE_ROUND","ICON_SIZE_ROUND_COMPACT","ICON_SIZE_MATERIAL","TabBarIcon","_ref","_","route","variant","size","badge","badgeStyle","activeOpacity","inactiveOpacity","activeTintColor","inactiveTintColor","renderIcon","allowFontScaling","style","iconSize","styles","wrapperMaterial","wrapperUikitCompact","wrapperUikit","children","icon","opacity","minWidth","focused","color","visible","create","position","alignSelf","alignItems","justifyContent","height","width","end","top"],"sources":["/Users/pmouli/Documents/GitHub.nosync/boots-strapper/mobile/node_modules/@react-navigation/bottom-tabs/src/views/TabBarIcon.tsx"],"sourcesContent":["import type { Route } from '@react-navigation/native';\nimport React from 'react';\nimport {\n  type StyleProp,\n  StyleSheet,\n  type TextStyle,\n  View,\n  type ViewStyle,\n} from 'react-native';\n\nimport { Badge } from './Badge';\n\ntype Props = {\n  route: Route<string>;\n  variant: 'uikit' | 'material';\n  size: 'compact' | 'regular';\n  badge?: string | number;\n  badgeStyle?: StyleProp<TextStyle>;\n  activeOpacity: number;\n  inactiveOpacity: number;\n  activeTintColor: string;\n  inactiveTintColor: string;\n  renderIcon: (props: {\n    focused: boolean;\n    color: string;\n    size: number;\n  }) => React.ReactNode;\n  allowFontScaling?: boolean;\n  style: StyleProp<ViewStyle>;\n};\n\n/**\n * Icon sizes taken from Apple HIG\n * https://developer.apple.com/design/human-interface-guidelines/tab-bars\n */\nconst ICON_SIZE_WIDE = 31;\nconst ICON_SIZE_WIDE_COMPACT = 23;\nconst ICON_SIZE_TALL = 28;\nconst ICON_SIZE_TALL_COMPACT = 20;\nconst ICON_SIZE_ROUND = 25;\nconst ICON_SIZE_ROUND_COMPACT = 18;\nconst ICON_SIZE_MATERIAL = 24;\n\nexport function TabBarIcon({\n  route: _,\n  variant,\n  size,\n  badge,\n  badgeStyle,\n  activeOpacity,\n  inactiveOpacity,\n  activeTintColor,\n  inactiveTintColor,\n  renderIcon,\n  allowFontScaling,\n  style,\n}: Props) {\n  const iconSize =\n    variant === 'material'\n      ? ICON_SIZE_MATERIAL\n      : size === 'compact'\n        ? ICON_SIZE_ROUND_COMPACT\n        : ICON_SIZE_ROUND;\n\n  // We render the icon twice at the same position on top of each other:\n  // active and inactive one, so we can fade between them.\n  return (\n    <View\n      style={[\n        variant === 'material'\n          ? styles.wrapperMaterial\n          : size === 'compact'\n            ? styles.wrapperUikitCompact\n            : styles.wrapperUikit,\n        style,\n      ]}\n    >\n      <View\n        style={[\n          styles.icon,\n          {\n            opacity: activeOpacity,\n            // Workaround for react-native >= 0.54 layout bug\n            minWidth: iconSize,\n          },\n        ]}\n      >\n        {renderIcon({\n          focused: true,\n          size: iconSize,\n          color: activeTintColor,\n        })}\n      </View>\n      <View style={[styles.icon, { opacity: inactiveOpacity }]}>\n        {renderIcon({\n          focused: false,\n          size: iconSize,\n          color: inactiveTintColor,\n        })}\n      </View>\n      <Badge\n        visible={badge != null}\n        size={iconSize * 0.75}\n        allowFontScaling={allowFontScaling}\n        style={[styles.badge, badgeStyle]}\n      >\n        {badge}\n      </Badge>\n    </View>\n  );\n}\n\nconst styles = StyleSheet.create({\n  icon: {\n    // We render the icon twice at the same position on top of each other:\n    // active and inactive one, so we can fade between them:\n    // Cover the whole iconContainer:\n    position: 'absolute',\n    alignSelf: 'center',\n    alignItems: 'center',\n    justifyContent: 'center',\n    height: '100%',\n    width: '100%',\n  },\n  wrapperUikit: {\n    width: ICON_SIZE_WIDE,\n    height: ICON_SIZE_TALL,\n  },\n  wrapperUikitCompact: {\n    width: ICON_SIZE_WIDE_COMPACT,\n    height: ICON_SIZE_TALL_COMPACT,\n  },\n  wrapperMaterial: {\n    width: ICON_SIZE_MATERIAL,\n    height: ICON_SIZE_MATERIAL,\n  },\n  badge: {\n    position: 'absolute',\n    end: -3,\n    top: -3,\n  },\n});\n"],"mappings":";;AACA,OAAOA,KAAK,MAAM,OAAO;AAAA,OAAAC,UAAA;AAAA,OAAAC,IAAA;AASzB,SAASC,KAAK;AAAkB,SAAAC,GAAA,IAAAC,IAAA,EAAAC,IAAA,IAAAC,KAAA;AAyBhC,IAAMC,cAAc,GAAG,EAAE;AACzB,IAAMC,sBAAsB,GAAG,EAAE;AACjC,IAAMC,cAAc,GAAG,EAAE;AACzB,IAAMC,sBAAsB,GAAG,EAAE;AACjC,IAAMC,eAAe,GAAG,EAAE;AAC1B,IAAMC,uBAAuB,GAAG,EAAE;AAClC,IAAMC,kBAAkB,GAAG,EAAE;AAE7B,OAAO,SAASC,UAAUA,CAAAC,IAAA,EAahB;EAAA,IAZDC,CAAC,GAAAD,IAAA,CAARE,KAAK;IACLC,OAAO,GAAAH,IAAA,CAAPG,OAAO;IACPC,IAAI,GAAAJ,IAAA,CAAJI,IAAI;IACJC,KAAK,GAAAL,IAAA,CAALK,KAAK;IACLC,UAAU,GAAAN,IAAA,CAAVM,UAAU;IACVC,aAAa,GAAAP,IAAA,CAAbO,aAAa;IACbC,eAAe,GAAAR,IAAA,CAAfQ,eAAe;IACfC,eAAe,GAAAT,IAAA,CAAfS,eAAe;IACfC,iBAAiB,GAAAV,IAAA,CAAjBU,iBAAiB;IACjBC,UAAU,GAAAX,IAAA,CAAVW,UAAU;IACVC,gBAAgB,GAAAZ,IAAA,CAAhBY,gBAAgB;IAChBC,KAAA,GAAAb,IAAA,CAAAa,KAAA;EAEA,IAAMC,QAAQ,GACZX,OAAO,KAAK,UAAU,GAClBL,kBAAkB,GAClBM,IAAI,KAAK,SAAS,GAChBP,uBAAuB,GACvBD,eAAe;EAIvB,OACEL,KAAA,CAACL,IAAI;IACH2B,KAAK,EAAE,CACLV,OAAO,KAAK,UAAU,GAClBY,MAAM,CAACC,eAAe,GACtBZ,IAAI,KAAK,SAAS,GAChBW,MAAM,CAACE,mBAAmB,GAC1BF,MAAM,CAACG,YAAY,EACzBL,KAAK,CACL;IAAAM,QAAA,GAEF9B,IAAA,CAACH,IAAI;MACH2B,KAAK,EAAE,CACLE,MAAM,CAACK,IAAI,EACX;QACEC,OAAO,EAAEd,aAAa;QAEtBe,QAAQ,EAAER;MACZ,CAAC,CACD;MAAAK,QAAA,EAEDR,UAAU,CAAC;QACVY,OAAO,EAAE,IAAI;QACbnB,IAAI,EAAEU,QAAQ;QACdU,KAAK,EAAEf;MACT,CAAC;IAAC,CACE,CAAC,EACPpB,IAAA,CAACH,IAAI;MAAC2B,KAAK,EAAE,CAACE,MAAM,CAACK,IAAI,EAAE;QAAEC,OAAO,EAAEb;MAAgB,CAAC,CAAE;MAAAW,QAAA,EACtDR,UAAU,CAAC;QACVY,OAAO,EAAE,KAAK;QACdnB,IAAI,EAAEU,QAAQ;QACdU,KAAK,EAAEd;MACT,CAAC;IAAC,CACE,CAAC,EACPrB,IAAA,CAACF,KAAK;MACJsC,OAAO,EAAEpB,KAAK,IAAI,IAAK;MACvBD,IAAI,EAAEU,QAAQ,GAAG,IAAK;MACtBF,gBAAgB,EAAEA,gBAAiB;MACnCC,KAAK,EAAE,CAACE,MAAM,CAACV,KAAK,EAAEC,UAAU,CAAE;MAAAa,QAAA,EAEjCd;IAAK,CACD,CAAC;EAAA,CACJ,CAAC;AAEX;AAEA,IAAMU,MAAM,GAAG9B,UAAU,CAACyC,MAAM,CAAC;EAC/BN,IAAI,EAAE;IAIJO,QAAQ,EAAE,UAAU;IACpBC,SAAS,EAAE,QAAQ;IACnBC,UAAU,EAAE,QAAQ;IACpBC,cAAc,EAAE,QAAQ;IACxBC,MAAM,EAAE,MAAM;IACdC,KAAK,EAAE;EACT,CAAC;EACDd,YAAY,EAAE;IACZc,KAAK,EAAExC,cAAc;IACrBuC,MAAM,EAAErC;EACV,CAAC;EACDuB,mBAAmB,EAAE;IACnBe,KAAK,EAAEvC,sBAAsB;IAC7BsC,MAAM,EAAEpC;EACV,CAAC;EACDqB,eAAe,EAAE;IACfgB,KAAK,EAAElC,kBAAkB;IACzBiC,MAAM,EAAEjC;EACV,CAAC;EACDO,KAAK,EAAE;IACLsB,QAAQ,EAAE,UAAU;IACpBM,GAAG,EAAE,CAAC,CAAC;IACPC,GAAG,EAAE,CAAC;EACR;AACF,CAAC,CAAC","ignoreList":[]},"metadata":{},"sourceType":"module","externalDependencies":[]}