{"ast":null,"code":"import * as React from 'react';\nimport StyleSheet from \"../StyleSheet\";\nimport createElement from \"../createElement\";\nvar ANIMATION_DURATION = 300;\n\nfunction getAnimationStyle(animationType, visible) {\n  if (animationType === 'slide') {\n    return visible ? animatedSlideInStyles : animatedSlideOutStyles;\n  }\n\n  if (animationType === 'fade') {\n    return visible ? animatedFadeInStyles : animatedFadeOutStyles;\n  }\n\n  return visible ? styles.container : styles.hidden;\n}\n\nfunction ModalAnimation(props) {\n  var animationType = props.animationType,\n      children = props.children,\n      onDismiss = props.onDismiss,\n      onShow = props.onShow,\n      visible = props.visible;\n\n  var _React$useState = React.useState(false),\n      isRendering = _React$useState[0],\n      setIsRendering = _React$useState[1];\n\n  var wasVisible = React.useRef(false);\n  var isAnimated = animationType && animationType !== 'none';\n  var animationEndCallback = React.useCallback(function (e) {\n    if (e && e.currentTarget !== e.target) {\n      return;\n    }\n\n    if (visible) {\n      if (onShow) {\n        onShow();\n      }\n    } else {\n      setIsRendering(false);\n\n      if (onDismiss) {\n        onDismiss();\n      }\n    }\n  }, [onDismiss, onShow, visible]);\n  React.useEffect(function () {\n    if (visible) {\n      setIsRendering(true);\n    }\n\n    if (visible !== wasVisible.current && !isAnimated) {\n      animationEndCallback();\n    }\n\n    wasVisible.current = visible;\n  }, [isAnimated, visible, animationEndCallback]);\n  return isRendering || visible ? createElement('div', {\n    style: isRendering ? getAnimationStyle(animationType, visible) : styles.hidden,\n    onAnimationEnd: animationEndCallback,\n    children: children\n  }) : null;\n}\n\nvar styles = StyleSheet.create({\n  container: {\n    position: 'fixed',\n    top: 0,\n    right: 0,\n    bottom: 0,\n    left: 0,\n    zIndex: 9999\n  },\n  animatedIn: {\n    animationDuration: ANIMATION_DURATION + \"ms\",\n    animationTimingFunction: 'ease-in'\n  },\n  animatedOut: {\n    pointerEvents: 'none',\n    animationDuration: ANIMATION_DURATION + \"ms\",\n    animationTimingFunction: 'ease-out'\n  },\n  fadeIn: {\n    opacity: 1,\n    animationKeyframes: {\n      '0%': {\n        opacity: 0\n      },\n      '100%': {\n        opacity: 1\n      }\n    }\n  },\n  fadeOut: {\n    opacity: 0,\n    animationKeyframes: {\n      '0%': {\n        opacity: 1\n      },\n      '100%': {\n        opacity: 0\n      }\n    }\n  },\n  slideIn: {\n    transform: [{\n      translateY: '0%'\n    }],\n    animationKeyframes: {\n      '0%': {\n        transform: [{\n          translateY: '100%'\n        }]\n      },\n      '100%': {\n        transform: [{\n          translateY: '0%'\n        }]\n      }\n    }\n  },\n  slideOut: {\n    transform: [{\n      translateY: '100%'\n    }],\n    animationKeyframes: {\n      '0%': {\n        transform: [{\n          translateY: '0%'\n        }]\n      },\n      '100%': {\n        transform: [{\n          translateY: '100%'\n        }]\n      }\n    }\n  },\n  hidden: {\n    opacity: 0\n  }\n});\nvar animatedSlideInStyles = [styles.container, styles.animatedIn, styles.slideIn];\nvar animatedSlideOutStyles = [styles.container, styles.animatedOut, styles.slideOut];\nvar animatedFadeInStyles = [styles.container, styles.animatedIn, styles.fadeIn];\nvar animatedFadeOutStyles = [styles.container, styles.animatedOut, styles.fadeOut];\nexport default ModalAnimation;","map":{"version":3,"sources":["/Users/rohitsingh/Documents/projects/new-nativebase-setup/NativeBase/example/node_modules/react-native-web/dist/exports/Modal/ModalAnimation.js"],"names":["React","StyleSheet","createElement","ANIMATION_DURATION","getAnimationStyle","animationType","visible","animatedSlideInStyles","animatedSlideOutStyles","animatedFadeInStyles","animatedFadeOutStyles","styles","container","hidden","ModalAnimation","props","children","onDismiss","onShow","_React$useState","useState","isRendering","setIsRendering","wasVisible","useRef","isAnimated","animationEndCallback","useCallback","e","currentTarget","target","useEffect","current","style","onAnimationEnd","create","position","top","right","bottom","left","zIndex","animatedIn","animationDuration","animationTimingFunction","animatedOut","pointerEvents","fadeIn","opacity","animationKeyframes","fadeOut","slideIn","transform","translateY","slideOut"],"mappings":"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","sourcesContent":["/**\n * Copyright (c) Nicolas Gallagher.\n * Copyright (c) Facebook, Inc. and its affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n * \n */\nimport * as React from 'react';\nimport StyleSheet from '../StyleSheet';\nimport createElement from '../createElement';\nvar ANIMATION_DURATION = 300;\n\nfunction getAnimationStyle(animationType, visible) {\n  if (animationType === 'slide') {\n    return visible ? animatedSlideInStyles : animatedSlideOutStyles;\n  }\n\n  if (animationType === 'fade') {\n    return visible ? animatedFadeInStyles : animatedFadeOutStyles;\n  }\n\n  return visible ? styles.container : styles.hidden;\n}\n\nfunction ModalAnimation(props) {\n  var animationType = props.animationType,\n      children = props.children,\n      onDismiss = props.onDismiss,\n      onShow = props.onShow,\n      visible = props.visible;\n\n  var _React$useState = React.useState(false),\n      isRendering = _React$useState[0],\n      setIsRendering = _React$useState[1];\n\n  var wasVisible = React.useRef(false);\n  var isAnimated = animationType && animationType !== 'none';\n  var animationEndCallback = React.useCallback(function (e) {\n    if (e && e.currentTarget !== e.target) {\n      // If the event was generated for something NOT this element we\n      // should ignore it as it's not relevant to us\n      return;\n    }\n\n    if (visible) {\n      if (onShow) {\n        onShow();\n      }\n    } else {\n      setIsRendering(false);\n\n      if (onDismiss) {\n        onDismiss();\n      }\n    }\n  }, [onDismiss, onShow, visible]);\n  React.useEffect(function () {\n    if (visible) {\n      setIsRendering(true);\n    }\n\n    if (visible !== wasVisible.current && !isAnimated) {\n      // Manually call `animationEndCallback` if no animation is used\n      animationEndCallback();\n    }\n\n    wasVisible.current = visible;\n  }, [isAnimated, visible, animationEndCallback]);\n  return isRendering || visible ? createElement('div', {\n    style: isRendering ? getAnimationStyle(animationType, visible) : styles.hidden,\n    onAnimationEnd: animationEndCallback,\n    children: children\n  }) : null;\n}\n\nvar styles = StyleSheet.create({\n  container: {\n    position: 'fixed',\n    top: 0,\n    right: 0,\n    bottom: 0,\n    left: 0,\n    zIndex: 9999\n  },\n  animatedIn: {\n    animationDuration: ANIMATION_DURATION + \"ms\",\n    animationTimingFunction: 'ease-in'\n  },\n  animatedOut: {\n    pointerEvents: 'none',\n    animationDuration: ANIMATION_DURATION + \"ms\",\n    animationTimingFunction: 'ease-out'\n  },\n  fadeIn: {\n    opacity: 1,\n    animationKeyframes: {\n      '0%': {\n        opacity: 0\n      },\n      '100%': {\n        opacity: 1\n      }\n    }\n  },\n  fadeOut: {\n    opacity: 0,\n    animationKeyframes: {\n      '0%': {\n        opacity: 1\n      },\n      '100%': {\n        opacity: 0\n      }\n    }\n  },\n  slideIn: {\n    transform: [{\n      translateY: '0%'\n    }],\n    animationKeyframes: {\n      '0%': {\n        transform: [{\n          translateY: '100%'\n        }]\n      },\n      '100%': {\n        transform: [{\n          translateY: '0%'\n        }]\n      }\n    }\n  },\n  slideOut: {\n    transform: [{\n      translateY: '100%'\n    }],\n    animationKeyframes: {\n      '0%': {\n        transform: [{\n          translateY: '0%'\n        }]\n      },\n      '100%': {\n        transform: [{\n          translateY: '100%'\n        }]\n      }\n    }\n  },\n  hidden: {\n    opacity: 0\n  }\n});\nvar animatedSlideInStyles = [styles.container, styles.animatedIn, styles.slideIn];\nvar animatedSlideOutStyles = [styles.container, styles.animatedOut, styles.slideOut];\nvar animatedFadeInStyles = [styles.container, styles.animatedIn, styles.fadeIn];\nvar animatedFadeOutStyles = [styles.container, styles.animatedOut, styles.fadeOut];\nexport default ModalAnimation;"]},"metadata":{},"sourceType":"module"}