{"ast":null,"code":"import _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/objectWithoutPropertiesLoose\";\nconst _excluded = [\"visible\", \"action\", \"icon\", \"onIconPress\", \"iconAccessibilityLabel\", \"duration\", \"onDismiss\", \"children\", \"elevation\", \"style\", \"wrapperStyle\", \"contentStyle\", \"theme\", \"maxFontSizeMultiplier\", \"rippleColor\", \"testID\"],\n  _excluded2 = [\"style\", \"label\", \"onPress\", \"rippleColor\"];\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 Easing from \"react-native-web/dist/exports/Easing\";\nimport I18nManager from \"react-native-web/dist/exports/I18nManager\";\nimport StyleSheet from \"react-native-web/dist/exports/StyleSheet\";\nimport View from \"react-native-web/dist/exports/View\";\nimport { useSafeAreaInsets } from 'react-native-safe-area-context';\nimport useLatestCallback from 'use-latest-callback';\nimport Button from \"./Button/Button\";\nimport IconButton from \"./IconButton/IconButton\";\nimport MaterialCommunityIcon from \"./MaterialCommunityIcon\";\nimport Surface from \"./Surface\";\nimport Text from \"./Typography/Text\";\nimport { useInternalTheme } from \"../core/theming\";\nconst DURATION_SHORT = 4000;\nconst DURATION_MEDIUM = 7000;\nconst DURATION_LONG = 10000;\nconst Snackbar = _ref => {\n  let {\n      visible,\n      action,\n      icon,\n      onIconPress,\n      iconAccessibilityLabel = 'Close icon',\n      duration = DURATION_MEDIUM,\n      onDismiss,\n      children,\n      elevation = 2,\n      style,\n      wrapperStyle,\n      contentStyle,\n      theme: themeOverrides,\n      maxFontSizeMultiplier,\n      rippleColor,\n      testID\n    } = _ref,\n    rest = _objectWithoutPropertiesLoose(_ref, _excluded);\n  const theme = useInternalTheme(themeOverrides);\n  const {\n    bottom,\n    right,\n    left\n  } = useSafeAreaInsets();\n  const {\n    current: opacity\n  } = React.useRef(new Animated.Value(0.0));\n  const hideTimeout = React.useRef(undefined);\n  const [hidden, setHidden] = React.useState(!visible);\n  const {\n    scale\n  } = theme.animation;\n  const animateShow = useLatestCallback(() => {\n    if (hideTimeout.current) clearTimeout(hideTimeout.current);\n    Animated.timing(opacity, {\n      toValue: 1,\n      duration: 200 * scale,\n      easing: Easing.out(Easing.ease),\n      useNativeDriver: true\n    }).start(({\n      finished\n    }) => {\n      if (finished) {\n        const isInfinity = duration === Number.POSITIVE_INFINITY || duration === Number.NEGATIVE_INFINITY;\n        if (!isInfinity) {\n          hideTimeout.current = setTimeout(onDismiss, duration);\n        }\n      }\n    });\n  });\n  const handleOnVisible = useLatestCallback(() => {\n    setHidden(false);\n  });\n  const handleOnHidden = useLatestCallback(() => {\n    if (hideTimeout.current) {\n      clearTimeout(hideTimeout.current);\n    }\n    Animated.timing(opacity, {\n      toValue: 0,\n      duration: 100 * scale,\n      useNativeDriver: true\n    }).start(({\n      finished\n    }) => {\n      if (finished) {\n        setHidden(true);\n      }\n    });\n  });\n  React.useEffect(() => {\n    if (!hidden) {\n      animateShow();\n    }\n  }, [animateShow, hidden]);\n  React.useEffect(() => {\n    return () => {\n      if (hideTimeout.current) clearTimeout(hideTimeout.current);\n    };\n  }, []);\n  React.useLayoutEffect(() => {\n    if (visible) {\n      handleOnVisible();\n    } else {\n      handleOnHidden();\n    }\n  }, [visible, handleOnVisible, handleOnHidden]);\n  const {\n    colors,\n    roundness,\n    isV3\n  } = theme;\n  if (hidden) {\n    return null;\n  }\n  const _ref2 = action || {},\n    {\n      style: actionStyle,\n      label: actionLabel,\n      onPress: onPressAction,\n      rippleColor: actionRippleColor\n    } = _ref2,\n    actionProps = _objectWithoutPropertiesLoose(_ref2, _excluded2);\n  const buttonTextColor = isV3 ? colors.inversePrimary : colors.accent;\n  const textColor = isV3 ? colors.inverseOnSurface : colors === null || colors === void 0 ? void 0 : colors.surface;\n  const backgroundColor = isV3 ? colors.inverseSurface : colors === null || colors === void 0 ? void 0 : colors.onSurface;\n  const isIconButton = isV3 && onIconPress;\n  const marginLeft = action ? -12 : -16;\n  const wrapperPaddings = {\n    paddingBottom: bottom,\n    paddingHorizontal: Math.max(left, right)\n  };\n  const renderChildrenWithWrapper = () => {\n    if (typeof children === 'string') {\n      return React.createElement(Text, {\n        variant: \"bodyMedium\",\n        style: [styles.content, {\n          color: textColor\n        }],\n        maxFontSizeMultiplier: maxFontSizeMultiplier\n      }, children);\n    }\n    return React.createElement(View, {\n      style: [styles.content, contentStyle]\n    }, React.createElement(View, null, children));\n  };\n  return React.createElement(View, {\n    pointerEvents: \"box-none\",\n    style: [styles.wrapper, wrapperPaddings, wrapperStyle]\n  }, React.createElement(Surface, _extends({\n    pointerEvents: \"box-none\",\n    accessibilityLiveRegion: \"polite\",\n    theme: theme,\n    style: [!isV3 && styles.elevation, styles.container, {\n      backgroundColor,\n      borderRadius: roundness,\n      opacity: opacity,\n      transform: [{\n        scale: visible ? opacity.interpolate({\n          inputRange: [0, 1],\n          outputRange: [0.9, 1]\n        }) : 1\n      }]\n    }, style],\n    testID: testID,\n    container: true\n  }, isV3 && {\n    elevation\n  }, rest), renderChildrenWithWrapper(), (action || isIconButton) && React.createElement(View, {\n    style: [styles.actionsContainer, {\n      marginLeft\n    }]\n  }, action ? React.createElement(Button, _extends({\n    onPress: event => {\n      onPressAction === null || onPressAction === void 0 || onPressAction(event);\n      onDismiss();\n    },\n    style: [styles.button, actionStyle],\n    textColor: buttonTextColor,\n    compact: !isV3,\n    mode: \"text\",\n    theme: theme,\n    rippleColor: actionRippleColor\n  }, actionProps), actionLabel) : null, isIconButton ? React.createElement(IconButton, {\n    accessibilityRole: \"button\",\n    borderless: true,\n    onPress: onIconPress,\n    iconColor: theme.colors.inverseOnSurface,\n    rippleColor: rippleColor,\n    theme: theme,\n    icon: icon || (({\n      size,\n      color\n    }) => {\n      return React.createElement(MaterialCommunityIcon, {\n        name: \"close\",\n        color: color,\n        size: size,\n        direction: I18nManager.getConstants().isRTL ? 'rtl' : 'ltr'\n      });\n    }),\n    accessibilityLabel: iconAccessibilityLabel,\n    style: styles.icon,\n    testID: `${testID}-icon`\n  }) : null)));\n};\nSnackbar.DURATION_SHORT = DURATION_SHORT;\nSnackbar.DURATION_MEDIUM = DURATION_MEDIUM;\nSnackbar.DURATION_LONG = DURATION_LONG;\nconst styles = StyleSheet.create({\n  wrapper: {\n    position: 'absolute',\n    bottom: 0,\n    width: '100%'\n  },\n  container: {\n    flexDirection: 'row',\n    justifyContent: 'space-between',\n    margin: 8,\n    borderRadius: 4,\n    minHeight: 48\n  },\n  content: {\n    marginHorizontal: 16,\n    marginVertical: 14,\n    flex: 1\n  },\n  actionsContainer: {\n    flexDirection: 'row',\n    justifyContent: 'flex-end',\n    alignItems: 'center',\n    minHeight: 48\n  },\n  button: {\n    marginRight: 8,\n    marginLeft: 4\n  },\n  elevation: {\n    elevation: 6\n  },\n  icon: {\n    width: 40,\n    height: 40,\n    margin: 0\n  }\n});\nexport default Snackbar;","map":{"version":3,"names":["React","Animated","Easing","I18nManager","StyleSheet","View","useSafeAreaInsets","useLatestCallback","Button","IconButton","MaterialCommunityIcon","Surface","Text","useInternalTheme","DURATION_SHORT","DURATION_MEDIUM","DURATION_LONG","Snackbar","_ref","visible","action","icon","onIconPress","iconAccessibilityLabel","duration","onDismiss","children","elevation","style","wrapperStyle","contentStyle","theme","themeOverrides","maxFontSizeMultiplier","rippleColor","testID","rest","_objectWithoutPropertiesLoose","_excluded","bottom","right","left","current","opacity","useRef","Value","hideTimeout","undefined","hidden","setHidden","useState","scale","animation","animateShow","clearTimeout","timing","toValue","easing","out","ease","useNativeDriver","start","finished","isInfinity","Number","POSITIVE_INFINITY","NEGATIVE_INFINITY","setTimeout","handleOnVisible","handleOnHidden","useEffect","useLayoutEffect","colors","roundness","isV3","_ref2","actionStyle","label","actionLabel","onPress","onPressAction","actionRippleColor","actionProps","_excluded2","buttonTextColor","inversePrimary","accent","textColor","inverseOnSurface","surface","backgroundColor","inverseSurface","onSurface","isIconButton","marginLeft","wrapperPaddings","paddingBottom","paddingHorizontal","Math","max","renderChildrenWithWrapper","createElement","variant","styles","content","color","pointerEvents","wrapper","_extends","accessibilityLiveRegion","container","borderRadius","transform","interpolate","inputRange","outputRange","actionsContainer","event","button","compact","mode","accessibilityRole","borderless","iconColor","size","name","direction","getConstants","isRTL","accessibilityLabel","create","position","width","flexDirection","justifyContent","margin","minHeight","marginHorizontal","marginVertical","flex","alignItems","marginRight","height"],"sources":["/Users/pmouli/Documents/GitHub.nosync/boots-strapper/mobile/node_modules/react-native-paper/src/components/Snackbar.tsx"],"sourcesContent":["import * as React from 'react';\nimport {\n  Animated,\n  ColorValue,\n  Easing,\n  I18nManager,\n  StyleProp,\n  StyleSheet,\n  View,\n  ViewStyle,\n} from 'react-native';\n\nimport { useSafeAreaInsets } from 'react-native-safe-area-context';\nimport useLatestCallback from 'use-latest-callback';\n\nimport Button from './Button/Button';\nimport type { IconSource } from './Icon';\nimport IconButton from './IconButton/IconButton';\nimport MaterialCommunityIcon from './MaterialCommunityIcon';\nimport Surface from './Surface';\nimport Text from './Typography/Text';\nimport { useInternalTheme } from '../core/theming';\nimport type { $Omit, $RemoveChildren, ThemeProp } from '../types';\n\nexport type Props = $Omit<React.ComponentProps<typeof Surface>, 'mode'> & {\n  /**\n   * Whether the Snackbar is currently visible.\n   */\n  visible: boolean;\n  /**\n   * Label and press callback for the action button. It should contain the following properties:\n   * - `label` - Label of the action button\n   * - `onPress` - Callback that is called when action button is pressed.\n   */\n  action?: $RemoveChildren<typeof Button> & {\n    label: string;\n  };\n  /**\n   * @supported Available in v5.x with theme version 3\n   * Icon to display when `onIconPress` is defined. Default will be `close` icon.\n   */\n  icon?: IconSource;\n  /**\n   * @supported Available in v5.x with theme version 3\n   * Color of the ripple effect.\n   */\n  rippleColor?: ColorValue;\n  /**\n   * @supported Available in v5.x with theme version 3\n   * Function to execute on icon button press. The icon button appears only when this prop is specified.\n   */\n  onIconPress?: () => void;\n  /**\n   * @supported Available in v5.x with theme version 3\n   * Accessibility label for the icon button. This is read by the screen reader when the user taps the button.\n   */\n  iconAccessibilityLabel?: string;\n  /**\n   * The duration for which the Snackbar is shown.\n   */\n  duration?: number;\n  /**\n   * Callback called when Snackbar is dismissed. The `visible` prop needs to be updated when this is called.\n   */\n  onDismiss: () => void;\n  /**\n   * Text content of the Snackbar.\n   */\n  children: React.ReactNode;\n  /**\n   * @supported Available in v5.x with theme version 3\n   * Changes Snackbar shadow and background on iOS and Android.\n   */\n  elevation?: 0 | 1 | 2 | 3 | 4 | 5 | Animated.Value;\n  /**\n   * Specifies the largest possible scale a text font can reach.\n   */\n  maxFontSizeMultiplier?: number;\n  /**\n   * Style for the wrapper of the snackbar\n   */\n  wrapperStyle?: StyleProp<ViewStyle>;\n  /**\n   * Style for the content of the snackbar\n   */\n  contentStyle?: StyleProp<ViewStyle>;\n  style?: Animated.WithAnimatedValue<StyleProp<ViewStyle>>;\n  ref?: React.RefObject<View>;\n  /**\n   * @optional\n   */\n  theme?: ThemeProp;\n  /**\n   * TestID used for testing purposes\n   */\n  testID?: string;\n};\n\nconst DURATION_SHORT = 4000;\nconst DURATION_MEDIUM = 7000;\nconst DURATION_LONG = 10000;\n\n/**\n * Snackbars provide brief feedback about an operation through a message rendered at the bottom of the container in which it's wrapped.\n *\n * Note: To display it as a popup, regardless of the parent's position, wrap it with a `Portal` component – refer to the example in the \"More Examples` section.\n *\n * ## Usage\n * ```js\n * import * as React from 'react';\n * import { View, StyleSheet } from 'react-native';\n * import { Button, Snackbar } from 'react-native-paper';\n *\n * const MyComponent = () => {\n *   const [visible, setVisible] = React.useState(false);\n *\n *   const onToggleSnackBar = () => setVisible(!visible);\n *\n *   const onDismissSnackBar = () => setVisible(false);\n *\n *   return (\n *     <View style={styles.container}>\n *       <Button onPress={onToggleSnackBar}>{visible ? 'Hide' : 'Show'}</Button>\n *       <Snackbar\n *         visible={visible}\n *         onDismiss={onDismissSnackBar}\n *         action={{\n *           label: 'Undo',\n *           onPress: () => {\n *             // Do something\n *           },\n *         }}>\n *         Hey there! I'm a Snackbar.\n *       </Snackbar>\n *     </View>\n *   );\n * };\n *\n * const styles = StyleSheet.create({\n *   container: {\n *     flex: 1,\n *     justifyContent: 'space-between',\n *   },\n * });\n *\n * export default MyComponent;\n * ```\n */\nconst Snackbar = ({\n  visible,\n  action,\n  icon,\n  onIconPress,\n  iconAccessibilityLabel = 'Close icon',\n  duration = DURATION_MEDIUM,\n  onDismiss,\n  children,\n  elevation = 2,\n  style,\n  wrapperStyle,\n  contentStyle,\n  theme: themeOverrides,\n  maxFontSizeMultiplier,\n  rippleColor,\n  testID,\n  ...rest\n}: Props) => {\n  const theme = useInternalTheme(themeOverrides);\n  const { bottom, right, left } = useSafeAreaInsets();\n\n  const { current: opacity } = React.useRef<Animated.Value>(\n    new Animated.Value(0.0)\n  );\n  const hideTimeout = React.useRef<NodeJS.Timeout | undefined>(undefined);\n\n  const [hidden, setHidden] = React.useState(!visible);\n\n  const { scale } = theme.animation;\n\n  const animateShow = useLatestCallback(() => {\n    if (hideTimeout.current) clearTimeout(hideTimeout.current);\n\n    Animated.timing(opacity, {\n      toValue: 1,\n      duration: 200 * scale,\n      easing: Easing.out(Easing.ease),\n      useNativeDriver: true,\n    }).start(({ finished }) => {\n      if (finished) {\n        const isInfinity =\n          duration === Number.POSITIVE_INFINITY ||\n          duration === Number.NEGATIVE_INFINITY;\n\n        if (!isInfinity) {\n          hideTimeout.current = setTimeout(\n            onDismiss,\n            duration\n          ) as unknown as NodeJS.Timeout;\n        }\n      }\n    });\n  });\n\n  const handleOnVisible = useLatestCallback(() => {\n    // show\n    setHidden(false);\n  });\n\n  const handleOnHidden = useLatestCallback(() => {\n    // hide\n    if (hideTimeout.current) {\n      clearTimeout(hideTimeout.current);\n    }\n\n    Animated.timing(opacity, {\n      toValue: 0,\n      duration: 100 * scale,\n      useNativeDriver: true,\n    }).start(({ finished }) => {\n      if (finished) {\n        setHidden(true);\n      }\n    });\n  });\n\n  React.useEffect(() => {\n    if (!hidden) {\n      animateShow();\n    }\n  }, [animateShow, hidden]);\n\n  React.useEffect(() => {\n    return () => {\n      if (hideTimeout.current) clearTimeout(hideTimeout.current);\n    };\n  }, []);\n\n  React.useLayoutEffect(() => {\n    if (visible) {\n      handleOnVisible();\n    } else {\n      handleOnHidden();\n    }\n  }, [visible, handleOnVisible, handleOnHidden]);\n\n  const { colors, roundness, isV3 } = theme;\n\n  if (hidden) {\n    return null;\n  }\n\n  const {\n    style: actionStyle,\n    label: actionLabel,\n    onPress: onPressAction,\n    rippleColor: actionRippleColor,\n    ...actionProps\n  } = action || {};\n\n  const buttonTextColor = isV3 ? colors.inversePrimary : colors.accent;\n  const textColor = isV3 ? colors.inverseOnSurface : colors?.surface;\n  const backgroundColor = isV3 ? colors.inverseSurface : colors?.onSurface;\n\n  const isIconButton = isV3 && onIconPress;\n\n  const marginLeft = action ? -12 : -16;\n\n  const wrapperPaddings = {\n    paddingBottom: bottom,\n    paddingHorizontal: Math.max(left, right),\n  };\n\n  const renderChildrenWithWrapper = () => {\n    if (typeof children === 'string') {\n      return (\n        <Text\n          variant=\"bodyMedium\"\n          style={[styles.content, { color: textColor }]}\n          maxFontSizeMultiplier={maxFontSizeMultiplier}\n        >\n          {children}\n        </Text>\n      );\n    }\n\n    return (\n      <View style={[styles.content, contentStyle]}>\n        {/* View is added to allow multiple lines support for Text component as children */}\n        <View>{children}</View>\n      </View>\n    );\n  };\n\n  return (\n    <View\n      pointerEvents=\"box-none\"\n      style={[styles.wrapper, wrapperPaddings, wrapperStyle]}\n    >\n      <Surface\n        pointerEvents=\"box-none\"\n        accessibilityLiveRegion=\"polite\"\n        theme={theme}\n        style={[\n          !isV3 && styles.elevation,\n          styles.container,\n          {\n            backgroundColor,\n            borderRadius: roundness,\n            opacity: opacity,\n            transform: [\n              {\n                scale: visible\n                  ? opacity.interpolate({\n                      inputRange: [0, 1],\n                      outputRange: [0.9, 1],\n                    })\n                  : 1,\n              },\n            ],\n          },\n          style,\n        ]}\n        testID={testID}\n        container\n        {...(isV3 && { elevation })}\n        {...rest}\n      >\n        {renderChildrenWithWrapper()}\n        {(action || isIconButton) && (\n          <View style={[styles.actionsContainer, { marginLeft }]}>\n            {action ? (\n              <Button\n                onPress={(event) => {\n                  onPressAction?.(event);\n                  onDismiss();\n                }}\n                style={[styles.button, actionStyle]}\n                textColor={buttonTextColor}\n                compact={!isV3}\n                mode=\"text\"\n                theme={theme}\n                rippleColor={actionRippleColor}\n                {...actionProps}\n              >\n                {actionLabel}\n              </Button>\n            ) : null}\n            {isIconButton ? (\n              <IconButton\n                accessibilityRole=\"button\"\n                borderless\n                onPress={onIconPress}\n                iconColor={theme.colors.inverseOnSurface}\n                rippleColor={rippleColor}\n                theme={theme}\n                icon={\n                  icon ||\n                  (({ size, color }) => {\n                    return (\n                      <MaterialCommunityIcon\n                        name=\"close\"\n                        color={color}\n                        size={size}\n                        direction={\n                          I18nManager.getConstants().isRTL ? 'rtl' : 'ltr'\n                        }\n                      />\n                    );\n                  })\n                }\n                accessibilityLabel={iconAccessibilityLabel}\n                style={styles.icon}\n                testID={`${testID}-icon`}\n              />\n            ) : null}\n          </View>\n        )}\n      </Surface>\n    </View>\n  );\n};\n\n/**\n * Show the Snackbar for a short duration.\n */\nSnackbar.DURATION_SHORT = DURATION_SHORT;\n\n/**\n * Show the Snackbar for a medium duration.\n */\nSnackbar.DURATION_MEDIUM = DURATION_MEDIUM;\n\n/**\n * Show the Snackbar for a long duration.\n */\nSnackbar.DURATION_LONG = DURATION_LONG;\n\nconst styles = StyleSheet.create({\n  wrapper: {\n    position: 'absolute',\n    bottom: 0,\n    width: '100%',\n  },\n  container: {\n    flexDirection: 'row',\n    justifyContent: 'space-between',\n    margin: 8,\n    borderRadius: 4,\n    minHeight: 48,\n  },\n  content: {\n    marginHorizontal: 16,\n    marginVertical: 14,\n    flex: 1,\n  },\n  actionsContainer: {\n    flexDirection: 'row',\n    justifyContent: 'flex-end',\n    alignItems: 'center',\n    minHeight: 48,\n  },\n  button: {\n    marginRight: 8,\n    marginLeft: 4,\n  },\n  elevation: {\n    elevation: 6,\n  },\n  icon: {\n    width: 40,\n    height: 40,\n    margin: 0,\n  },\n});\n\nexport default Snackbar;\n"],"mappings":"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","ignoreList":[]},"metadata":{"hasCjsExports":false},"sourceType":"module","externalDependencies":[]}