{"ast":null,"code":"import _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/objectWithoutPropertiesLoose\";\nconst _excluded = [\"status\", \"theme\", \"disabled\", \"onPress\", \"testID\"];\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 Animated from \"react-native-web/dist/exports/Animated\";\nimport StyleSheet from \"react-native-web/dist/exports/StyleSheet\";\nimport View from \"react-native-web/dist/exports/View\";\nimport { getAndroidSelectionControlColor } from \"./utils\";\nimport { useInternalTheme } from \"../../core/theming\";\nimport MaterialCommunityIcon from \"../MaterialCommunityIcon\";\nimport TouchableRipple from \"../TouchableRipple/TouchableRipple\";\nconst ANIMATION_DURATION = 100;\nconst CheckboxAndroid = _ref => {\n  let {\n      status,\n      theme: themeOverrides,\n      disabled,\n      onPress,\n      testID\n    } = _ref,\n    rest = _objectWithoutPropertiesLoose(_ref, _excluded);\n  const theme = useInternalTheme(themeOverrides);\n  const {\n    current: scaleAnim\n  } = React.useRef(new Animated.Value(1));\n  const isFirstRendering = React.useRef(true);\n  const {\n    animation: {\n      scale\n    }\n  } = theme;\n  React.useEffect(() => {\n    if (isFirstRendering.current) {\n      isFirstRendering.current = false;\n      return;\n    }\n    const checked = status === 'checked';\n    Animated.sequence([Animated.timing(scaleAnim, {\n      toValue: 0.85,\n      duration: checked ? ANIMATION_DURATION * scale : 0,\n      useNativeDriver: false\n    }), Animated.timing(scaleAnim, {\n      toValue: 1,\n      duration: checked ? ANIMATION_DURATION * scale : ANIMATION_DURATION * scale * 1.75,\n      useNativeDriver: false\n    })]).start();\n  }, [status, scaleAnim, scale]);\n  const checked = status === 'checked';\n  const indeterminate = status === 'indeterminate';\n  const {\n    rippleColor,\n    selectionControlColor\n  } = getAndroidSelectionControlColor({\n    theme,\n    disabled,\n    checked,\n    customColor: rest.color,\n    customUncheckedColor: rest.uncheckedColor\n  });\n  const borderWidth = scaleAnim.interpolate({\n    inputRange: [0.8, 1],\n    outputRange: [7, 0]\n  });\n  const icon = indeterminate ? 'minus-box' : checked ? 'checkbox-marked' : 'checkbox-blank-outline';\n  return React.createElement(TouchableRipple, _extends({}, rest, {\n    borderless: true,\n    rippleColor: rippleColor,\n    onPress: onPress,\n    disabled: disabled,\n    accessibilityRole: \"checkbox\",\n    accessibilityState: {\n      disabled,\n      checked\n    },\n    accessibilityLiveRegion: \"polite\",\n    style: styles.container,\n    testID: testID,\n    theme: theme\n  }), React.createElement(Animated.View, {\n    style: {\n      transform: [{\n        scale: scaleAnim\n      }]\n    }\n  }, React.createElement(MaterialCommunityIcon, {\n    allowFontScaling: false,\n    name: icon,\n    size: 24,\n    color: selectionControlColor,\n    direction: \"ltr\"\n  }), React.createElement(View, {\n    style: [StyleSheet.absoluteFill, styles.fillContainer]\n  }, React.createElement(Animated.View, {\n    style: [styles.fill, {\n      borderColor: selectionControlColor\n    }, {\n      borderWidth\n    }]\n  }))));\n};\nCheckboxAndroid.displayName = 'Checkbox.Android';\nconst styles = StyleSheet.create({\n  container: {\n    borderRadius: 18,\n    width: 36,\n    height: 36,\n    padding: 6\n  },\n  fillContainer: {\n    alignItems: 'center',\n    justifyContent: 'center'\n  },\n  fill: {\n    height: 14,\n    width: 14\n  }\n});\nexport default CheckboxAndroid;\nexport { CheckboxAndroid };","map":{"version":3,"names":["React","Animated","StyleSheet","View","getAndroidSelectionControlColor","useInternalTheme","MaterialCommunityIcon","TouchableRipple","ANIMATION_DURATION","CheckboxAndroid","_ref","status","theme","themeOverrides","disabled","onPress","testID","rest","_objectWithoutPropertiesLoose","_excluded","current","scaleAnim","useRef","Value","isFirstRendering","animation","scale","useEffect","checked","sequence","timing","toValue","duration","useNativeDriver","start","indeterminate","rippleColor","selectionControlColor","customColor","color","customUncheckedColor","uncheckedColor","borderWidth","interpolate","inputRange","outputRange","icon","createElement","_extends","borderless","accessibilityRole","accessibilityState","accessibilityLiveRegion","style","styles","container","transform","allowFontScaling","name","size","direction","absoluteFill","fillContainer","fill","borderColor","displayName","create","borderRadius","width","height","padding","alignItems","justifyContent"],"sources":["/Users/pmouli/Documents/GitHub.nosync/boots-strapper/mobile/node_modules/react-native-paper/src/components/Checkbox/CheckboxAndroid.tsx"],"sourcesContent":["import * as React from 'react';\nimport {\n  Animated,\n  GestureResponderEvent,\n  StyleSheet,\n  View,\n} from 'react-native';\n\nimport { getAndroidSelectionControlColor } from './utils';\nimport { useInternalTheme } from '../../core/theming';\nimport type { $RemoveChildren, ThemeProp } from '../../types';\nimport MaterialCommunityIcon from '../MaterialCommunityIcon';\nimport TouchableRipple from '../TouchableRipple/TouchableRipple';\n\nexport type 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?: (e: GestureResponderEvent) => void;\n  /**\n   * Custom color for unchecked checkbox.\n   */\n  uncheckedColor?: string;\n  /**\n   * Custom color for checkbox.\n   */\n  color?: string;\n  /**\n   * @optional\n   */\n  theme?: ThemeProp;\n  /**\n   * testID to be used on tests.\n   */\n  testID?: string;\n};\n\n// From https://material.io/design/motion/speed.html#duration\nconst ANIMATION_DURATION = 100;\n\n/**\n * Checkboxes allow the selection of multiple options from a set.\n * This component follows platform guidelines for Android, but can be used\n * on any platform.\n *\n * @extends TouchableRipple props https://callstack.github.io/react-native-paper/docs/components/TouchableRipple\n */\nconst CheckboxAndroid = ({\n  status,\n  theme: themeOverrides,\n  disabled,\n  onPress,\n  testID,\n  ...rest\n}: Props) => {\n  const theme = useInternalTheme(themeOverrides);\n  const { current: scaleAnim } = React.useRef<Animated.Value>(\n    new Animated.Value(1)\n  );\n  const isFirstRendering = React.useRef<boolean>(true);\n\n  const {\n    animation: { scale },\n  } = theme;\n\n  React.useEffect(() => {\n    // Do not run animation on very first rendering\n    if (isFirstRendering.current) {\n      isFirstRendering.current = false;\n      return;\n    }\n\n    const checked = status === 'checked';\n\n    Animated.sequence([\n      Animated.timing(scaleAnim, {\n        toValue: 0.85,\n        duration: checked ? ANIMATION_DURATION * scale : 0,\n        useNativeDriver: false,\n      }),\n      Animated.timing(scaleAnim, {\n        toValue: 1,\n        duration: checked\n          ? ANIMATION_DURATION * scale\n          : ANIMATION_DURATION * scale * 1.75,\n        useNativeDriver: false,\n      }),\n    ]).start();\n  }, [status, scaleAnim, scale]);\n\n  const checked = status === 'checked';\n  const indeterminate = status === 'indeterminate';\n\n  const { rippleColor, selectionControlColor } =\n    getAndroidSelectionControlColor({\n      theme,\n      disabled,\n      checked,\n      customColor: rest.color,\n      customUncheckedColor: rest.uncheckedColor,\n    });\n\n  const borderWidth = scaleAnim.interpolate({\n    inputRange: [0.8, 1],\n    outputRange: [7, 0],\n  });\n\n  const icon = indeterminate\n    ? 'minus-box'\n    : checked\n    ? 'checkbox-marked'\n    : 'checkbox-blank-outline';\n\n  return (\n    <TouchableRipple\n      {...rest}\n      borderless\n      rippleColor={rippleColor}\n      onPress={onPress}\n      disabled={disabled}\n      accessibilityRole=\"checkbox\"\n      accessibilityState={{ disabled, checked }}\n      accessibilityLiveRegion=\"polite\"\n      style={styles.container}\n      testID={testID}\n      theme={theme}\n    >\n      <Animated.View style={{ transform: [{ scale: scaleAnim }] }}>\n        <MaterialCommunityIcon\n          allowFontScaling={false}\n          name={icon}\n          size={24}\n          color={selectionControlColor}\n          direction=\"ltr\"\n        />\n        <View style={[StyleSheet.absoluteFill, styles.fillContainer]}>\n          <Animated.View\n            style={[\n              styles.fill,\n              { borderColor: selectionControlColor },\n              { borderWidth },\n            ]}\n          />\n        </View>\n      </Animated.View>\n    </TouchableRipple>\n  );\n};\n\nCheckboxAndroid.displayName = 'Checkbox.Android';\n\nconst styles = StyleSheet.create({\n  container: {\n    borderRadius: 18,\n    width: 36,\n    height: 36,\n    padding: 6,\n  },\n  fillContainer: {\n    alignItems: 'center',\n    justifyContent: 'center',\n  },\n  fill: {\n    height: 14,\n    width: 14,\n  },\n});\n\nexport default CheckboxAndroid;\n\n// @component-docs ignore-next-line\nexport { CheckboxAndroid };\n"],"mappings":"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","ignoreList":[]},"metadata":{"hasCjsExports":false},"sourceType":"module","externalDependencies":[]}