{"ast":null,"code":"import _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/objectWithoutPropertiesLoose\";\nconst _excluded = [\"name\", \"color\", \"size\"];\nfunction _extends() {\n  return _extends = Object.assign ? Object.assign.bind() : function (n) {\n    for (var e = 1; e < arguments.length; e++) {\n      var t = arguments[e];\n      for (var r in t) ({}).hasOwnProperty.call(t, r) && (n[r] = t[r]);\n    }\n    return n;\n  }, _extends.apply(null, arguments);\n}\nimport * as React from 'react';\nimport StyleSheet from \"react-native-web/dist/exports/StyleSheet\";\nimport Text from \"react-native-web/dist/exports/Text\";\nimport Platform from \"react-native-web/dist/exports/Platform\";\nimport { black } from \"../styles/themes/v2/colors\";\nexport const accessibilityProps = Platform.OS === 'web' ? {\n  role: 'img',\n  focusable: false\n} : {\n  accessibilityElementsHidden: true,\n  importantForAccessibility: 'no-hide-descendants'\n};\nconst loadIconModule = () => {\n  try {\n    return require('@react-native-vector-icons/material-design-icons').default;\n  } catch (e) {\n    try {\n      return require('@expo/vector-icons/MaterialCommunityIcons').default;\n    } catch (e) {\n      try {\n        return require('react-native-vector-icons/MaterialCommunityIcons').default;\n      } catch (e) {\n        return null;\n      }\n    }\n  }\n};\nconst IconModule = loadIconModule();\nconst FallbackIcon = _ref => {\n  let {\n      name,\n      color,\n      size\n    } = _ref,\n    rest = _objectWithoutPropertiesLoose(_ref, _excluded);\n  console.warn(`Tried to use the icon '${name}' in a component from 'react-native-paper', but none of the required icon libraries are installed.`, `To fix this, please install one of the following:\\n` + `- @expo/vector-icons\\n` + `- @react-native-vector-icons/material-design-icons\\n` + `- react-native-vector-icons\\n\\n` + `You can also use another method to specify icon: https://callstack.github.io/react-native-paper/docs/guides/icons`);\n  return React.createElement(Text, _extends({}, rest, {\n    style: [styles.icon, {\n      color,\n      fontSize: size\n    }],\n    selectable: false\n  }), \"\\u25A1\");\n};\nconst MaterialCommunityIcons = IconModule || FallbackIcon;\nconst DefaultIcon = ({\n  name,\n  color = black,\n  size,\n  direction,\n  allowFontScaling,\n  testID\n}) => {\n  return React.createElement(MaterialCommunityIcons, _extends({\n    allowFontScaling: allowFontScaling,\n    name: name,\n    color: color,\n    size: size,\n    style: [{\n      transform: [{\n        scaleX: direction === 'rtl' ? -1 : 1\n      }],\n      lineHeight: size\n    }, styles.icon],\n    pointerEvents: \"none\",\n    selectable: false,\n    testID: testID\n  }, accessibilityProps));\n};\nconst styles = StyleSheet.create({\n  icon: {\n    backgroundColor: 'transparent'\n  }\n});\nexport default DefaultIcon;","map":{"version":3,"names":["React","StyleSheet","Text","Platform","black","accessibilityProps","OS","role","focusable","accessibilityElementsHidden","importantForAccessibility","loadIconModule","require","default","e","IconModule","FallbackIcon","_ref","name","color","size","rest","_objectWithoutPropertiesLoose","_excluded","console","warn","createElement","_extends","style","styles","icon","fontSize","selectable","MaterialCommunityIcons","DefaultIcon","direction","allowFontScaling","testID","transform","scaleX","lineHeight","pointerEvents","create","backgroundColor"],"sources":["/Users/pmouli/Documents/GitHub.nosync/boots-strapper/mobile/node_modules/react-native-paper/src/components/MaterialCommunityIcon.tsx"],"sourcesContent":["import * as React from 'react';\nimport { ComponentProps } from 'react';\nimport { StyleSheet, Text, Platform, Role, ViewProps } from 'react-native';\n\nimport { black } from '../styles/themes/v2/colors';\n\nexport type IconProps = {\n  name: ComponentProps<typeof MaterialCommunityIcons>['name'];\n  color?: string;\n  size: number;\n  direction: 'rtl' | 'ltr';\n  allowFontScaling?: boolean;\n  testID?: string;\n};\n\ntype AccessibilityProps =\n  | {\n      role?: Role;\n      focusable?: boolean;\n    }\n  | {\n      accessibilityElementsHidden?: boolean;\n      importantForAccessibility?: 'auto' | 'yes' | 'no' | 'no-hide-descendants';\n    };\n\nexport const accessibilityProps: AccessibilityProps =\n  Platform.OS === 'web'\n    ? {\n        role: 'img',\n        focusable: false,\n      }\n    : {\n        accessibilityElementsHidden: true,\n        importantForAccessibility: 'no-hide-descendants',\n      };\n\n/**\n * Loads the appropriate icon module based on available dependencies\n */\nconst loadIconModule = () => {\n  try {\n    return require('@react-native-vector-icons/material-design-icons').default;\n  } catch (e) {\n    try {\n      return require('@expo/vector-icons/MaterialCommunityIcons').default;\n    } catch (e) {\n      try {\n        return require('react-native-vector-icons/MaterialCommunityIcons')\n          .default;\n      } catch (e) {\n        return null;\n      }\n    }\n  }\n};\n\ntype IconModuleType = React.ComponentType<\n  React.ComponentProps<\n    | typeof import('@react-native-vector-icons/material-design-icons').default\n    | typeof import('react-native-vector-icons/MaterialCommunityIcons').default\n  > & {\n    color: string;\n    pointerEvents?: ViewProps['pointerEvents'];\n  }\n>;\n\nconst IconModule = loadIconModule();\n\n/**\n * Fallback component displayed when no icon library is available\n */\nconst FallbackIcon = ({ name, color, size, ...rest }: IconProps) => {\n  console.warn(\n    `Tried to use the icon '${name}' in a component from 'react-native-paper', but none of the required icon libraries are installed.`,\n    `To fix this, please install one of the following:\\n` +\n      `- @expo/vector-icons\\n` +\n      `- @react-native-vector-icons/material-design-icons\\n` +\n      `- react-native-vector-icons\\n\\n` +\n      `You can also use another method to specify icon: https://callstack.github.io/react-native-paper/docs/guides/icons`\n  );\n\n  return (\n    <Text\n      {...rest}\n      style={[styles.icon, { color, fontSize: size }]}\n      selectable={false}\n    >\n      □\n    </Text>\n  );\n};\n\nconst MaterialCommunityIcons: IconModuleType = IconModule || FallbackIcon;\n\n/**\n * Default icon component that handles icon rendering with proper styling and accessibility\n */\nconst DefaultIcon = ({\n  name,\n  color = black,\n  size,\n  direction,\n  allowFontScaling,\n  testID,\n}: IconProps) => {\n  return (\n    <MaterialCommunityIcons\n      allowFontScaling={allowFontScaling}\n      name={name}\n      color={color}\n      size={size}\n      style={[\n        {\n          transform: [{ scaleX: direction === 'rtl' ? -1 : 1 }],\n          lineHeight: size,\n        },\n        styles.icon,\n      ]}\n      pointerEvents=\"none\"\n      selectable={false}\n      testID={testID}\n      {...accessibilityProps}\n    />\n  );\n};\n\nconst styles = StyleSheet.create({\n  // eslint-disable-next-line react-native/no-color-literals\n  icon: {\n    backgroundColor: 'transparent',\n  },\n});\n\nexport default DefaultIcon;\n"],"mappings":";;;;;;;;;;;AAAA,OAAO,KAAKA,KAAK,MAAM,OAAO;AAAA,OAAAC,UAAA;AAAA,OAAAC,IAAA;AAAA,OAAAC,QAAA;AAI9B,SAASC,KAAK;AAqBd,OAAO,MAAMC,kBAAsC,GACjDF,QAAQ,CAACG,EAAE,KAAK,KAAK,GACjB;EACEC,IAAI,EAAE,KAAK;EACXC,SAAS,EAAE;AACb,CAAC,GACD;EACEC,2BAA2B,EAAE,IAAI;EACjCC,yBAAyB,EAAE;AAC7B,CAAC;AAKP,MAAMC,cAAc,GAAGA,CAAA,KAAM;EAC3B,IAAI;IACF,OAAOC,OAAO,CAAC,kDAAkD,CAAC,CAACC,OAAO;EAC5E,CAAC,CAAC,OAAOC,CAAC,EAAE;IACV,IAAI;MACF,OAAOF,OAAO,CAAC,2CAA2C,CAAC,CAACC,OAAO;IACrE,CAAC,CAAC,OAAOC,CAAC,EAAE;MACV,IAAI;QACF,OAAOF,OAAO,CAAC,kDAAkD,CAAC,CAC/DC,OAAO;MACZ,CAAC,CAAC,OAAOC,CAAC,EAAE;QACV,OAAO,IAAI;MACb;IACF;EACF;AACF,CAAC;AAYD,MAAMC,UAAU,GAAGJ,cAAc,CAAC,CAAC;AAKnC,MAAMK,YAAY,GAAGC,IAAA,IAA+C;EAAA,IAA9C;MAAEC,IAAI;MAAEC,KAAK;MAAEC;IAAyB,CAAC,GAAAH,IAAA;IAAjBI,IAAA,GAAAC,6BAAA,CAAAL,IAAA,EAAAM,SAAA;EAC5CC,OAAO,CAACC,IAAI,CACV,0BAA0BP,IAAI,oGAAoG,EAClI,qDAAqD,GACnD,wBAAwB,GACxB,sDAAsD,GACtD,iCAAiC,GACjC,mHACJ,CAAC;EAED,OACElB,KAAA,CAAA0B,aAAA,CAACxB,IAAI,EAAAyB,QAAA,KACCN,IAAI;IACRO,KAAK,EAAE,CAACC,MAAM,CAACC,IAAI,EAAE;MAAEX,KAAK;MAAEY,QAAQ,EAAEX;IAAK,CAAC,CAAE;IAChDY,UAAU,EAAE;EAAM,IACnB,QAEK,CAAC;AAEX,CAAC;AAED,MAAMC,sBAAsC,GAAGlB,UAAU,IAAIC,YAAY;AAKzE,MAAMkB,WAAW,GAAGA,CAAC;EACnBhB,IAAI;EACJC,KAAK,GAAGf,KAAK;EACbgB,IAAI;EACJe,SAAS;EACTC,gBAAgB;EAChBC;AACS,CAAC,KAAK;EACf,OACErC,KAAA,CAAA0B,aAAA,CAACO,sBAAsB,EAAAN,QAAA;IACrBS,gBAAgB,EAAEA,gBAAiB;IACnClB,IAAI,EAAEA,IAAK;IACXC,KAAK,EAAEA,KAAM;IACbC,IAAI,EAAEA,IAAK;IACXQ,KAAK,EAAE,CACL;MACEU,SAAS,EAAE,CAAC;QAAEC,MAAM,EAAEJ,SAAS,KAAK,KAAK,GAAG,CAAC,CAAC,GAAG;MAAE,CAAC,CAAC;MACrDK,UAAU,EAAEpB;IACd,CAAC,EACDS,MAAM,CAACC,IAAI,CACX;IACFW,aAAa,EAAC,MAAM;IACpBT,UAAU,EAAE,KAAM;IAClBK,MAAM,EAAEA;EAAO,GACXhC,kBAAkB,CACvB,CAAC;AAEN,CAAC;AAED,MAAMwB,MAAM,GAAG5B,UAAU,CAACyC,MAAM,CAAC;EAE/BZ,IAAI,EAAE;IACJa,eAAe,EAAE;EACnB;AACF,CAAC,CAAC;AAEF,eAAeT,WAAW","ignoreList":[]},"metadata":{"hasCjsExports":false},"sourceType":"module","externalDependencies":[]}