UNPKG

5.55 kBSource Map (JSON)View Raw
1{"version":3,"sources":["CheckboxIOS.tsx"],"names":["React","StyleSheet","View","color","MaterialCommunityIcon","TouchableRipple","withTheme","CheckboxIOS","status","disabled","onPress","theme","testID","rest","checked","indeterminate","checkedColor","colors","accent","rippleColor","text","alpha","rgb","string","fade","icon","styles","container","opacity","displayName","create","borderRadius","padding","CheckboxIOSWithTheme"],"mappings":";;AAAA,OAAO,KAAKA,KAAZ,MAAuB,OAAvB;AACA,SAASC,UAAT,EAAqBC,IAArB,QAAiC,cAAjC;AACA,OAAOC,KAAP,MAAkB,OAAlB;AACA,OAAOC,qBAAP,MAAkC,0BAAlC;AACA,OAAOC,eAAP,MAA4B,oCAA5B;AACA,SAASC,SAAT,QAA0B,oBAA1B;;AA8BA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAMC,WAAW,GAAG,QAOP;AAAA,MAPQ;AACnBC,IAAAA,MADmB;AAEnBC,IAAAA,QAFmB;AAGnBC,IAAAA,OAHmB;AAInBC,IAAAA,KAJmB;AAKnBC,IAAAA,MALmB;AAMnB,OAAGC;AANgB,GAOR;AACX,QAAMC,OAAO,GAAGN,MAAM,KAAK,SAA3B;AACA,QAAMO,aAAa,GAAGP,MAAM,KAAK,eAAjC;AAEA,QAAMQ,YAAY,GAAGP,QAAQ,GACzBE,KAAK,CAACM,MAAN,CAAaR,QADY,GAEzBI,IAAI,CAACV,KAAL,IAAcQ,KAAK,CAACM,MAAN,CAAaC,MAF/B;AAIA,MAAIC,WAAJ;;AAEA,MAAIV,QAAJ,EAAc;AACZU,IAAAA,WAAW,GAAGhB,KAAK,CAACQ,KAAK,CAACM,MAAN,CAAaG,IAAd,CAAL,CAAyBC,KAAzB,CAA+B,IAA/B,EAAqCC,GAArC,GAA2CC,MAA3C,EAAd;AACD,GAFD,MAEO;AACLJ,IAAAA,WAAW,GAAGhB,KAAK,CAACa,YAAD,CAAL,CAAoBQ,IAApB,CAAyB,IAAzB,EAA+BF,GAA/B,GAAqCC,MAArC,EAAd;AACD;;AAED,QAAME,IAAI,GAAGV,aAAa,GAAG,OAAH,GAAa,OAAvC;AAEA,sBACE,oBAAC,eAAD,eACMF,IADN;AAEE,IAAA,UAAU,MAFZ;AAGE,IAAA,WAAW,EAAEM,WAHf;AAIE,IAAA,OAAO,EAAET,OAJX;AAKE,IAAA,QAAQ,EAAED,QALZ,CAME;AANF;AAOE,IAAA,mBAAmB,EAAEA,QAAQ,GAAG,CAAC,QAAD,EAAW,UAAX,CAAH,GAA4B,QAP3D;AAQE,IAAA,0BAA0B,EAAC,QAR7B;AASE,IAAA,iBAAiB,EAAC,UATpB;AAUE,IAAA,kBAAkB,EAAE;AAAEA,MAAAA,QAAF;AAAYK,MAAAA;AAAZ,KAVtB;AAWE,IAAA,uBAAuB,EAAC,QAX1B;AAYE,IAAA,KAAK,EAAEY,MAAM,CAACC,SAZhB;AAaE,IAAA,MAAM,EAAEf;AAbV,mBAeE,oBAAC,IAAD;AAAM,IAAA,KAAK,EAAE;AAAEgB,MAAAA,OAAO,EAAEb,aAAa,IAAID,OAAjB,GAA2B,CAA3B,GAA+B;AAA1C;AAAb,kBACE,oBAAC,qBAAD;AACE,IAAA,gBAAgB,EAAE,KADpB;AAEE,IAAA,IAAI,EAAEW,IAFR;AAGE,IAAA,IAAI,EAAE,EAHR;AAIE,IAAA,KAAK,EAAET,YAJT;AAKE,IAAA,SAAS,EAAC;AALZ,IADF,CAfF,CADF;AA2BD,CApDD;;AAsDAT,WAAW,CAACsB,WAAZ,GAA0B,cAA1B;AAEA,MAAMH,MAAM,GAAGzB,UAAU,CAAC6B,MAAX,CAAkB;AAC/BH,EAAAA,SAAS,EAAE;AACTI,IAAAA,YAAY,EAAE,EADL;AAETC,IAAAA,OAAO,EAAE;AAFA;AADoB,CAAlB,CAAf;AAOA,eAAe1B,SAAS,CAACC,WAAD,CAAxB,C,CAEA;;AACA,MAAM0B,oBAAoB,GAAG3B,SAAS,CAACC,WAAD,CAAtC,C,CACA;;AACA,SAAS0B,oBAAoB,IAAI1B,WAAjC","sourcesContent":["import * as React from 'react';\nimport { StyleSheet, View } from 'react-native';\nimport color from 'color';\nimport MaterialCommunityIcon from '../MaterialCommunityIcon';\nimport TouchableRipple from '../TouchableRipple/TouchableRipple';\nimport { withTheme } from '../../core/theming';\nimport type { $RemoveChildren } from '../../types';\n\ntype Props = $RemoveChildren<typeof TouchableRipple> & {\n /**\n * Status of checkbox.\n */\n status: 'checked' | 'unchecked' | 'indeterminate';\n /**\n * Whether checkbox is disabled.\n */\n disabled?: boolean;\n /**\n * Function to execute on press.\n */\n onPress?: () => void;\n /**\n * Custom color for checkbox.\n */\n color?: string;\n /**\n * @optional\n */\n theme: ReactNativePaper.Theme;\n /**\n * testID to be used on tests.\n */\n testID?: string;\n};\n\n/**\n * Checkboxes allow the selection of multiple options from a set.\n * This component follows platform guidelines for iOS, but can be used\n * on any platform.\n *\n * <div class=\"screenshots\">\n * <figure>\n * <img src=\"screenshots/checkbox-enabled.ios.png\" />\n * <figcaption>Enabled</figcaption>\n * </figure>\n * <figure>\n * <img src=\"screenshots/checkbox-disabled.ios.png\" />\n * <figcaption>Disabled</figcaption>\n * </figure>\n * </div>\n */\nconst CheckboxIOS = ({\n status,\n disabled,\n onPress,\n theme,\n testID,\n ...rest\n}: Props) => {\n const checked = status === 'checked';\n const indeterminate = status === 'indeterminate';\n\n const checkedColor = disabled\n ? theme.colors.disabled\n : rest.color || theme.colors.accent;\n\n let rippleColor;\n\n if (disabled) {\n rippleColor = color(theme.colors.text).alpha(0.16).rgb().string();\n } else {\n rippleColor = color(checkedColor).fade(0.32).rgb().string();\n }\n\n const icon = indeterminate ? 'minus' : 'check';\n\n return (\n <TouchableRipple\n {...rest}\n borderless\n rippleColor={rippleColor}\n onPress={onPress}\n disabled={disabled}\n // @ts-expect-error We keep old a11y props for backwards compat with old RN versions\n accessibilityTraits={disabled ? ['button', 'disabled'] : 'button'}\n accessibilityComponentType=\"button\"\n accessibilityRole=\"checkbox\"\n accessibilityState={{ disabled, checked }}\n accessibilityLiveRegion=\"polite\"\n style={styles.container}\n testID={testID}\n >\n <View style={{ opacity: indeterminate || checked ? 1 : 0 }}>\n <MaterialCommunityIcon\n allowFontScaling={false}\n name={icon}\n size={24}\n color={checkedColor}\n direction=\"ltr\"\n />\n </View>\n </TouchableRipple>\n );\n};\n\nCheckboxIOS.displayName = 'Checkbox.IOS';\n\nconst styles = StyleSheet.create({\n container: {\n borderRadius: 18,\n padding: 6,\n },\n});\n\nexport default withTheme(CheckboxIOS);\n\n// @component-docs ignore-next-line\nconst CheckboxIOSWithTheme = withTheme(CheckboxIOS);\n// @component-docs ignore-next-line\nexport { CheckboxIOSWithTheme as CheckboxIOS };\n"]}
\No newline at end of file