{"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\";\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;\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}) {\n  const 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}\nconst 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","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,MAAMC,cAAc,GAAG,EAAE;AACzB,MAAMC,sBAAsB,GAAG,EAAE;AACjC,MAAMC,cAAc,GAAG,EAAE;AACzB,MAAMC,sBAAsB,GAAG,EAAE;AACjC,MAAMC,eAAe,GAAG,EAAE;AAC1B,MAAMC,uBAAuB,GAAG,EAAE;AAClC,MAAMC,kBAAkB,GAAG,EAAE;AAE7B,OAAO,SAASC,UAAUA,CAAC;EACzBC,KAAK,EAAEC,CAAC;EACRC,OAAO;EACPC,IAAI;EACJC,KAAK;EACLC,UAAU;EACVC,aAAa;EACbC,eAAe;EACfC,eAAe;EACfC,iBAAiB;EACjBC,UAAU;EACVC,gBAAgB;EAChBC;AACK,CAAC,EAAE;EACR,MAAMC,QAAQ,GACZX,OAAO,KAAK,UAAU,GAClBJ,kBAAkB,GAClBK,IAAI,KAAK,SAAS,GAChBN,uBAAuB,GACvBD,eAAe;EAIvB,OACEL,KAAA,CAACL,IAAI;IACH0B,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,GAEF7B,IAAA,CAACH,IAAI;MACH0B,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,EACPnB,IAAA,CAACH,IAAI;MAAC0B,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,EACPpB,IAAA,CAACF,KAAK;MACJqC,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,MAAMU,MAAM,GAAG7B,UAAU,CAACwC,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,EAAEvC,cAAc;IACrBsC,MAAM,EAAEpC;EACV,CAAC;EACDsB,mBAAmB,EAAE;IACnBe,KAAK,EAAEtC,sBAAsB;IAC7BqC,MAAM,EAAEnC;EACV,CAAC;EACDoB,eAAe,EAAE;IACfgB,KAAK,EAAEjC,kBAAkB;IACzBgC,MAAM,EAAEhC;EACV,CAAC;EACDM,KAAK,EAAE;IACLsB,QAAQ,EAAE,UAAU;IACpBM,GAAG,EAAE,CAAC,CAAC;IACPC,GAAG,EAAE,CAAC;EACR;AACF,CAAC,CAAC","ignoreList":[]},"metadata":{"hasCjsExports":false},"sourceType":"module","externalDependencies":[]}