UNPKG

4.8 kBSource Map (JSON)View Raw
1{"version":3,"sources":["MaterialCommunityIcon.tsx"],"names":["React","StyleSheet","Text","Platform","MaterialCommunityIcons","require","default","e","isErrorLogged","name","color","size","rest","test","message","console","error","warn","styles","icon","fontSize","accessibilityProps","OS","role","focusable","accessibilityElementsHidden","importantForAccessibility","defaultIcon","direction","allowFontScaling","transform","scaleX","lineHeight","create","backgroundColor"],"mappings":";;AAAA,OAAO,KAAKA,KAAZ,MAAuB,OAAvB;AACA,SAASC,UAAT,EAAqBC,IAArB,EAA2BC,QAA3B,QAAiE,cAAjE;AAUA,IAAIC,sBAAJ;;AASA,IAAI;AACF;AACAA,EAAAA,sBAAsB,GACpBC,OAAO,CAAC,kDAAD,CAAP,CAA4DC,OAD9D;AAED,CAJD,CAIE,OAAOC,CAAP,EAAU;AACV,MAAIC,aAAa,GAAG,KAApB,CADU,CAGV;;AACAJ,EAAAA,sBAAsB,GAAG,QAAoC;AAAA,QAAnC;AAAEK,MAAAA,IAAF;AAAQC,MAAAA,KAAR;AAAeC,MAAAA,IAAf;AAAqB,SAAGC;AAAxB,KAAmC;;AAC3D;AACA,QAAI,CAACJ,aAAL,EAAoB;AAClB,UACE,CAAC,8DAA8DK,IAA9D,CACEN,CAAD,CAAWO,OADZ,CADH,EAIE;AACAC,QAAAA,OAAO,CAACC,KAAR,CAAcT,CAAd;AACD;;AAEDQ,MAAAA,OAAO,CAACE,IAAR,CACG,0BAAyBR,IAAK,yHADjC,EAEG,sKAFH;AAKAD,MAAAA,aAAa,GAAG,IAAhB;AACD;;AAED,wBACE,oBAAC,IAAD,eACMI,IADN;AAEE,MAAA,KAAK,EAAE,CAACM,MAAM,CAACC,IAAR,EAAc;AAAET,QAAAA,KAAF;AAASU,QAAAA,QAAQ,EAAET;AAAnB,OAAd,CAFT,CAGE;AAHF;AAIE,MAAA,aAAa,EAAC,MAJhB;AAKE,MAAA,UAAU,EAAE;AALd,iBADF;AAWD,GA9BD;AA+BD;;AAED,OAAO,MAAMU,kBAAkB,GAC7BlB,QAAQ,CAACmB,EAAT,KAAgB,KAAhB,GACI;AACEC,EAAAA,IAAI,EAAE,KADR;AAEEC,EAAAA,SAAS,EAAE;AAFb,CADJ,GAKI;AACEC,EAAAA,2BAA2B,EAAE,IAD/B;AAEEC,EAAAA,yBAAyB,EACvB;AAHJ,CANC;;AAYP,MAAMC,WAAW,GAAG;AAAA,MAAC;AACnBlB,IAAAA,IADmB;AAEnBC,IAAAA,KAFmB;AAGnBC,IAAAA,IAHmB;AAInBiB,IAAAA,SAJmB;AAKnBC,IAAAA;AALmB,GAAD;AAAA,sBAOlB,oBAAC,sBAAD;AACE,IAAA,gBAAgB,EAAEA,gBADpB;AAEE,IAAA,IAAI,EAAEpB,IAFR;AAGE,IAAA,KAAK,EAAEC,KAHT;AAIE,IAAA,IAAI,EAAEC,IAJR;AAKE,IAAA,KAAK,EAAE,CACL;AACEmB,MAAAA,SAAS,EAAE,CAAC;AAAEC,QAAAA,MAAM,EAAEH,SAAS,KAAK,KAAd,GAAsB,CAAC,CAAvB,GAA2B;AAArC,OAAD,CADb;AAEEI,MAAAA,UAAU,EAAErB;AAFd,KADK,EAKLO,MAAM,CAACC,IALF,CALT;AAYE,IAAA,aAAa,EAAC,MAZhB;AAaE,IAAA,UAAU,EAAE;AAbd,KAcME,kBAdN,EAPkB;AAAA,CAApB;;AAyBA,MAAMH,MAAM,GAAGjB,UAAU,CAACgC,MAAX,CAAkB;AAC/Bd,EAAAA,IAAI,EAAE;AACJe,IAAAA,eAAe,EAAE;AADb;AADyB,CAAlB,CAAf;AAMA,eAAeP,WAAf","sourcesContent":["import * as React from 'react';\nimport { StyleSheet, Text, Platform, TextProps, ViewProps } from 'react-native';\n\nexport type IconProps = {\n name: string;\n color: string;\n size: number;\n direction: 'rtl' | 'ltr';\n allowFontScaling?: boolean;\n};\n\nlet MaterialCommunityIcons: React.ComponentType<\n TextProps & {\n name: string;\n color: string;\n size: number;\n pointerEvents?: ViewProps['pointerEvents'];\n }\n>;\n\ntry {\n // Optionally require vector-icons\n MaterialCommunityIcons =\n require('react-native-vector-icons/MaterialCommunityIcons').default;\n} catch (e) {\n let isErrorLogged = false;\n\n // Fallback component for icons\n MaterialCommunityIcons = ({ name, color, size, ...rest }) => {\n /* eslint-disable no-console */\n if (!isErrorLogged) {\n if (\n !/(Cannot find module|Module not found|Cannot resolve module)/.test(\n (e as any).message\n )\n ) {\n console.error(e);\n }\n\n console.warn(\n `Tried to use the icon '${name}' in a component from 'react-native-paper', but 'react-native-vector-icons/MaterialCommunityIcons' could not be loaded.`,\n `To remove this warning, try installing 'react-native-vector-icons' or use another method to specify icon: https://callstack.github.io/react-native-paper/icons.html.`\n );\n\n isErrorLogged = true;\n }\n\n return (\n <Text\n {...rest}\n style={[styles.icon, { color, fontSize: size }]}\n // @ts-expect-error: Text doesn't support this, but it seems to affect TouchableNativeFeedback\n pointerEvents=\"none\"\n selectable={false}\n >\n □\n </Text>\n );\n };\n}\n\nexport const accessibilityProps =\n Platform.OS === 'web'\n ? {\n role: 'img',\n focusable: false,\n }\n : {\n accessibilityElementsHidden: true,\n importantForAccessibility:\n 'no-hide-descendants' as 'no-hide-descendants',\n };\n\nconst defaultIcon = ({\n name,\n color,\n size,\n direction,\n allowFontScaling,\n}: IconProps) => (\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 {...accessibilityProps}\n />\n);\n\nconst styles = StyleSheet.create({\n icon: {\n backgroundColor: 'transparent',\n },\n});\n\nexport default defaultIcon;\n"]}
\No newline at end of file