UNPKG

5.53 kBSource Map (JSON)View Raw
1{"version":3,"sources":["Switch.tsx"],"names":["version","NativeModules","PlatformConstants","reactNativeVersion","undefined","Switch","value","disabled","onValueChange","color","theme","rest","checkedColor","colors","accent","onTintColor","Platform","OS","dark","white","alpha","rgb","string","black","thumbTintColor","grey800","grey400","grey50","props","major","minor","activeTrackColor","thumbColor","activeThumbColor","trackColor","true","false"],"mappings":";;;;;;;AAAA;;AACA;;AACA;;AAOA;;AACA;;;;;;;;;;AAEA,MAAMA,OAAO,GAAGC,2BAAcC,iBAAd,GACZD,2BAAcC,iBAAd,CAAgCC,kBADpB,GAEZC,SAFJ;;AA4BA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAMC,MAAM,GAAG,CAAC;AACdC,EAAAA,KADc;AAEdC,EAAAA,QAFc;AAGdC,EAAAA,aAHc;AAIdC,EAAAA,KAJc;AAKdC,EAAAA,KALc;AAMd,KAAGC;AANW,CAAD,KAOF;AACX,QAAMC,YAAY,GAAGH,KAAK,IAAIC,KAAK,CAACG,MAAN,CAAaC,MAA3C;AAEA,QAAMC,WAAW,GACfC,sBAASC,EAAT,KAAgB,KAAhB,GACIL,YADJ,GAEIL,QAAQ,GACRG,KAAK,CAACQ,IAAN,GACE,oBAASC,aAAT,EAAgBC,KAAhB,CAAsB,GAAtB,EAA2BC,GAA3B,GAAiCC,MAAjC,EADF,GAEE,oBAASC,aAAT,EAAgBH,KAAhB,CAAsB,IAAtB,EAA4BC,GAA5B,GAAkCC,MAAlC,EAHM,GAIR,oBAASV,YAAT,EAAuBQ,KAAvB,CAA6B,GAA7B,EAAkCC,GAAlC,GAAwCC,MAAxC,EAPN;AASA,QAAME,cAAc,GAClBR,sBAASC,EAAT,KAAgB,KAAhB,GACIb,SADJ,GAEIG,QAAQ,GACRG,KAAK,CAACQ,IAAN,GACEO,eADF,GAEEC,eAHM,GAIRpB,KAAK,GACLM,YADK,GAELF,KAAK,CAACQ,IAAN,GACAQ,eADA,GAEAC,cAXN;AAaA,QAAMC,KAAK,GACT5B,OAAO,IAAIA,OAAO,CAAC6B,KAAR,KAAkB,CAA7B,IAAkC7B,OAAO,CAAC8B,KAAR,IAAiB,EAAnD,GACI;AACEf,IAAAA,WADF;AAEES,IAAAA;AAFF,GADJ,GAKIR,sBAASC,EAAT,KAAgB,KAAhB,GACA;AACEc,IAAAA,gBAAgB,EAAEhB,WADpB;AAEEiB,IAAAA,UAAU,EAAER,cAFd;AAGES,IAAAA,gBAAgB,EAAErB;AAHpB,GADA,GAMA;AACEoB,IAAAA,UAAU,EAAER,cADd;AAEEU,IAAAA,UAAU,EAAE;AACVC,MAAAA,IAAI,EAAEpB,WADI;AAEVqB,MAAAA,KAAK,EAAE;AAFG;AAFd,GAZN;AAoBA,sBACE,oBAAC,mBAAD;AACE,IAAA,KAAK,EAAE9B,KADT;AAEE,IAAA,QAAQ,EAAEC,QAFZ;AAGE,IAAA,aAAa,EAAEA,QAAQ,GAAGH,SAAH,GAAeI;AAHxC,KAIMoB,KAJN,EAKMjB,IALN,EADF;AASD,CA7DD;;eA+De,wBAAUN,MAAV,C","sourcesContent":["import * as React from 'react';\nimport { grey400, grey800, grey50, white, black } from '../styles/colors';\nimport {\n NativeModules,\n Platform,\n StyleProp,\n Switch as NativeSwitch,\n ViewStyle,\n} from 'react-native';\nimport setColor from 'color';\nimport { withTheme } from '../core/theming';\n\nconst version = NativeModules.PlatformConstants\n ? NativeModules.PlatformConstants.reactNativeVersion\n : undefined;\n\ntype Props = React.ComponentPropsWithRef<typeof NativeSwitch> & {\n /**\n * Disable toggling the switch.\n */\n disabled?: boolean;\n /**\n * Value of the switch, true means 'on', false means 'off'.\n */\n value?: boolean;\n /**\n * Custom color for switch.\n */\n color?: string;\n /**\n * Callback called with the new value when it changes.\n */\n onValueChange?: Function;\n style?: StyleProp<ViewStyle>;\n /**\n * @optional\n */\n theme: ReactNativePaper.Theme;\n};\n\n/**\n * Switch is a visual toggle between two mutually exclusive states — on and off.\n *\n * <div class=\"screenshots\">\n * <figure>\n * <img src=\"screenshots/switch-enabled.android.png\" />\n * <figcaption>Android (enabled)</figcaption>\n * </figure>\n * <figure>\n * <img src=\"screenshots/switch-disabled.android.png\" />\n * <figcaption>Android (disabled)</figcaption>\n * </figure>\n * <figure>\n * <img src=\"screenshots/switch-enabled.ios.png\" />\n * <figcaption>iOS (enabled)</figcaption>\n * </figure>\n * <figure>\n * <img src=\"screenshots/switch-disabled.ios.png\" />\n * <figcaption>iOS (disabled)</figcaption>\n * </figure>\n * </div>\n *\n * ## Usage\n * ```js\n * import * as React from 'react';\n * import { Switch } from 'react-native-paper';\n *\n * const MyComponent = () => {\n * const [isSwitchOn, setIsSwitchOn] = React.useState(false);\n *\n * const onToggleSwitch = () => setIsSwitchOn(!isSwitchOn);\n *\n * return <Switch value={isSwitchOn} onValueChange={onToggleSwitch} />;\n * };\n *\n * export default MyComponent;\n * ```\n */\nconst Switch = ({\n value,\n disabled,\n onValueChange,\n color,\n theme,\n ...rest\n}: Props) => {\n const checkedColor = color || theme.colors.accent;\n\n const onTintColor =\n Platform.OS === 'ios'\n ? checkedColor\n : disabled\n ? theme.dark\n ? setColor(white).alpha(0.1).rgb().string()\n : setColor(black).alpha(0.12).rgb().string()\n : setColor(checkedColor).alpha(0.5).rgb().string();\n\n const thumbTintColor =\n Platform.OS === 'ios'\n ? undefined\n : disabled\n ? theme.dark\n ? grey800\n : grey400\n : value\n ? checkedColor\n : theme.dark\n ? grey400\n : grey50;\n\n const props =\n version && version.major === 0 && version.minor <= 56\n ? {\n onTintColor,\n thumbTintColor,\n }\n : Platform.OS === 'web'\n ? {\n activeTrackColor: onTintColor,\n thumbColor: thumbTintColor,\n activeThumbColor: checkedColor,\n }\n : {\n thumbColor: thumbTintColor,\n trackColor: {\n true: onTintColor,\n false: '',\n },\n };\n\n return (\n <NativeSwitch\n value={value}\n disabled={disabled}\n onValueChange={disabled ? undefined : onValueChange}\n {...props}\n {...rest}\n />\n );\n};\n\nexport default withTheme(Switch);\n"]}
\No newline at end of file