{"ast":null,"code":"import _defineProperty from \"@babel/runtime/helpers/defineProperty\";\nimport _slicedToArray from \"@babel/runtime/helpers/slicedToArray\";\nfunction ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }\nfunction _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }\nimport { useTheme } from '@react-navigation/native';\nimport * as React from 'react';\nimport Animated from \"react-native-web/dist/exports/Animated\";\nimport I18nManager from \"react-native-web/dist/exports/I18nManager\";\nimport Image from \"react-native-web/dist/exports/Image\";\nimport Platform from \"react-native-web/dist/exports/Platform\";\nimport StyleSheet from \"react-native-web/dist/exports/StyleSheet\";\nimport View from \"react-native-web/dist/exports/View\";\nimport MaskedView from \"../MaskedView\";\nimport PlatformPressable from \"../PlatformPressable\";\nexport default function HeaderBackButton(_ref) {\n  var disabled = _ref.disabled,\n    allowFontScaling = _ref.allowFontScaling,\n    backImage = _ref.backImage,\n    label = _ref.label,\n    labelStyle = _ref.labelStyle,\n    labelVisible = _ref.labelVisible,\n    onLabelLayout = _ref.onLabelLayout,\n    onPress = _ref.onPress,\n    pressColor = _ref.pressColor,\n    pressOpacity = _ref.pressOpacity,\n    screenLayout = _ref.screenLayout,\n    customTintColor = _ref.tintColor,\n    titleLayout = _ref.titleLayout,\n    _ref$truncatedLabel = _ref.truncatedLabel,\n    truncatedLabel = _ref$truncatedLabel === void 0 ? 'Back' : _ref$truncatedLabel,\n    _ref$accessibilityLab = _ref.accessibilityLabel,\n    accessibilityLabel = _ref$accessibilityLab === void 0 ? label && label !== 'Back' ? `${label}, back` : 'Go back' : _ref$accessibilityLab,\n    testID = _ref.testID,\n    style = _ref.style;\n  var _useTheme = useTheme(),\n    colors = _useTheme.colors;\n  var _React$useState = React.useState(undefined),\n    _React$useState2 = _slicedToArray(_React$useState, 2),\n    initialLabelWidth = _React$useState2[0],\n    setInitialLabelWidth = _React$useState2[1];\n  var tintColor = customTintColor !== undefined ? customTintColor : Platform.select({\n    ios: colors.primary,\n    default: colors.text\n  });\n  var handleLabelLayout = function handleLabelLayout(e) {\n    onLabelLayout === null || onLabelLayout === void 0 ? void 0 : onLabelLayout(e);\n    setInitialLabelWidth(e.nativeEvent.layout.x + e.nativeEvent.layout.width);\n  };\n  var shouldTruncateLabel = function shouldTruncateLabel() {\n    return !label || initialLabelWidth && titleLayout && screenLayout && (screenLayout.width - titleLayout.width) / 2 < initialLabelWidth + 26;\n  };\n  var renderBackImage = function renderBackImage() {\n    if (backImage) {\n      return backImage({\n        tintColor: tintColor\n      });\n    } else {\n      return React.createElement(Image, {\n        style: [styles.icon, Boolean(labelVisible) && styles.iconWithLabel, Boolean(tintColor) && {\n          tintColor: tintColor\n        }],\n        source: require(\"../assets/back-icon.png\"),\n        fadeDuration: 0\n      });\n    }\n  };\n  var renderLabel = function renderLabel() {\n    var leftLabelText = shouldTruncateLabel() ? truncatedLabel : label;\n    if (!labelVisible || leftLabelText === undefined) {\n      return null;\n    }\n    var labelElement = React.createElement(View, {\n      style: screenLayout ? [styles.labelWrapper, {\n        minWidth: screenLayout.width / 2 - 27\n      }] : null\n    }, React.createElement(Animated.Text, {\n      accessible: false,\n      onLayout: leftLabelText === label ? handleLabelLayout : undefined,\n      style: [styles.label, tintColor ? {\n        color: tintColor\n      } : null, labelStyle],\n      numberOfLines: 1,\n      allowFontScaling: !!allowFontScaling\n    }, leftLabelText));\n    if (backImage || Platform.OS !== 'ios') {\n      return labelElement;\n    }\n    return React.createElement(MaskedView, {\n      maskElement: React.createElement(View, {\n        style: styles.iconMaskContainer\n      }, React.createElement(Image, {\n        source: require(\"../assets/back-icon-mask.png\"),\n        style: styles.iconMask\n      }), React.createElement(View, {\n        style: styles.iconMaskFillerRect\n      }))\n    }, labelElement);\n  };\n  var handlePress = function handlePress() {\n    return onPress && requestAnimationFrame(onPress);\n  };\n  return React.createElement(PlatformPressable, {\n    disabled: disabled,\n    accessible: true,\n    accessibilityRole: \"button\",\n    accessibilityLabel: accessibilityLabel,\n    testID: testID,\n    onPress: disabled ? undefined : handlePress,\n    pressColor: pressColor,\n    pressOpacity: pressOpacity,\n    android_ripple: {\n      borderless: true\n    },\n    style: [styles.container, disabled && styles.disabled, style],\n    hitSlop: Platform.select({\n      ios: undefined,\n      default: {\n        top: 16,\n        right: 16,\n        bottom: 16,\n        left: 16\n      }\n    })\n  }, React.createElement(React.Fragment, null, renderBackImage(), renderLabel()));\n}\nvar styles = StyleSheet.create({\n  container: _objectSpread({\n    alignItems: 'center',\n    flexDirection: 'row',\n    minWidth: StyleSheet.hairlineWidth\n  }, Platform.select({\n    ios: null,\n    default: {\n      marginVertical: 3,\n      marginHorizontal: 11\n    }\n  })),\n  disabled: {\n    opacity: 0.5\n  },\n  label: {\n    fontSize: 17,\n    letterSpacing: 0.35\n  },\n  labelWrapper: {\n    flexDirection: 'row',\n    alignItems: 'flex-start'\n  },\n  icon: Platform.select({\n    ios: {\n      height: 21,\n      width: 13,\n      marginLeft: 8,\n      marginRight: 22,\n      marginVertical: 12,\n      resizeMode: 'contain',\n      transform: [{\n        scaleX: I18nManager.getConstants().isRTL ? -1 : 1\n      }]\n    },\n    default: {\n      height: 24,\n      width: 24,\n      margin: 3,\n      resizeMode: 'contain',\n      transform: [{\n        scaleX: I18nManager.getConstants().isRTL ? -1 : 1\n      }]\n    }\n  }),\n  iconWithLabel: Platform.OS === 'ios' ? {\n    marginRight: 6\n  } : {},\n  iconMaskContainer: {\n    flex: 1,\n    flexDirection: 'row',\n    justifyContent: 'center'\n  },\n  iconMaskFillerRect: {\n    flex: 1,\n    backgroundColor: '#000'\n  },\n  iconMask: {\n    height: 21,\n    width: 13,\n    marginLeft: -14.5,\n    marginVertical: 12,\n    alignSelf: 'center',\n    resizeMode: 'contain',\n    transform: [{\n      scaleX: I18nManager.getConstants().isRTL ? -1 : 1\n    }]\n  }\n});","map":{"version":3,"sources":["Header/HeaderBackButton.tsx"],"names":["useTheme","React","MaskedView","PlatformPressable","HeaderBackButton","disabled","allowFontScaling","backImage","label","labelStyle","labelVisible","onLabelLayout","onPress","pressColor","pressOpacity","screenLayout","tintColor","customTintColor","titleLayout","truncatedLabel","accessibilityLabel","testID","style","colors","initialLabelWidth","setInitialLabelWidth","useState","undefined","Platform","select","ios","primary","default","text","handleLabelLayout","e","nativeEvent","layout","x","width","shouldTruncateLabel","renderBackImage","styles","icon","Boolean","iconWithLabel","require","renderLabel","leftLabelText","labelElement","labelWrapper","minWidth","color","OS","iconMaskContainer","iconMask","iconMaskFillerRect","handlePress","requestAnimationFrame","borderless","container","top","right","bottom","left","StyleSheet","create","alignItems","flexDirection","hairlineWidth","marginVertical","marginHorizontal","opacity","fontSize","letterSpacing","height","marginLeft","marginRight","resizeMode","transform","scaleX","I18nManager","getConstants","isRTL","margin","flex","justifyContent","backgroundColor","alignSelf"],"mappings":"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","sourceRoot":"../../../src","sourcesContent":["import { useTheme } from '@react-navigation/native';\nimport * as React from 'react';\nimport { Animated, I18nManager, Image, Platform, StyleSheet, View } from 'react-native';\nimport MaskedView from '../MaskedView';\nimport PlatformPressable from '../PlatformPressable';\nexport default function HeaderBackButton(_ref) {\n  let {\n    disabled,\n    allowFontScaling,\n    backImage,\n    label,\n    labelStyle,\n    labelVisible,\n    onLabelLayout,\n    onPress,\n    pressColor,\n    pressOpacity,\n    screenLayout,\n    tintColor: customTintColor,\n    titleLayout,\n    truncatedLabel = 'Back',\n    accessibilityLabel = label && label !== 'Back' ? `${label}, back` : 'Go back',\n    testID,\n    style\n  } = _ref;\n  const {\n    colors\n  } = useTheme();\n  const [initialLabelWidth, setInitialLabelWidth] = React.useState(undefined);\n  const tintColor = customTintColor !== undefined ? customTintColor : Platform.select({\n    ios: colors.primary,\n    default: colors.text\n  });\n  const handleLabelLayout = e => {\n    onLabelLayout === null || onLabelLayout === void 0 ? void 0 : onLabelLayout(e);\n    setInitialLabelWidth(e.nativeEvent.layout.x + e.nativeEvent.layout.width);\n  };\n  const shouldTruncateLabel = () => {\n    return !label || initialLabelWidth && titleLayout && screenLayout && (screenLayout.width - titleLayout.width) / 2 < initialLabelWidth + 26;\n  };\n  const renderBackImage = () => {\n    if (backImage) {\n      return backImage({\n        tintColor\n      });\n    } else {\n      return /*#__PURE__*/React.createElement(Image, {\n        style: [styles.icon, Boolean(labelVisible) && styles.iconWithLabel, Boolean(tintColor) && {\n          tintColor\n        }],\n        source: require('../assets/back-icon.png'),\n        fadeDuration: 0\n      });\n    }\n  };\n  const renderLabel = () => {\n    const leftLabelText = shouldTruncateLabel() ? truncatedLabel : label;\n    if (!labelVisible || leftLabelText === undefined) {\n      return null;\n    }\n    const labelElement = /*#__PURE__*/React.createElement(View, {\n      style: screenLayout ?\n      // We make the button extend till the middle of the screen\n      // Otherwise it appears to cut off when translating\n      [styles.labelWrapper, {\n        minWidth: screenLayout.width / 2 - 27\n      }] : null\n    }, /*#__PURE__*/React.createElement(Animated.Text, {\n      accessible: false,\n      onLayout:\n      // This measurement is used to determine if we should truncate the label when it doesn't fit\n      // Only measure it when label is not truncated because we want the measurement of full label\n      leftLabelText === label ? handleLabelLayout : undefined,\n      style: [styles.label, tintColor ? {\n        color: tintColor\n      } : null, labelStyle],\n      numberOfLines: 1,\n      allowFontScaling: !!allowFontScaling\n    }, leftLabelText));\n    if (backImage || Platform.OS !== 'ios') {\n      // When a custom backimage is specified, we can't mask the label\n      // Otherwise there might be weird effect due to our mask not being the same as the image\n      return labelElement;\n    }\n    return /*#__PURE__*/React.createElement(MaskedView, {\n      maskElement: /*#__PURE__*/React.createElement(View, {\n        style: styles.iconMaskContainer\n      }, /*#__PURE__*/React.createElement(Image, {\n        source: require('../assets/back-icon-mask.png'),\n        style: styles.iconMask\n      }), /*#__PURE__*/React.createElement(View, {\n        style: styles.iconMaskFillerRect\n      }))\n    }, labelElement);\n  };\n  const handlePress = () => onPress && requestAnimationFrame(onPress);\n  return /*#__PURE__*/React.createElement(PlatformPressable, {\n    disabled: disabled,\n    accessible: true,\n    accessibilityRole: \"button\",\n    accessibilityLabel: accessibilityLabel,\n    testID: testID,\n    onPress: disabled ? undefined : handlePress,\n    pressColor: pressColor,\n    pressOpacity: pressOpacity,\n    android_ripple: {\n      borderless: true\n    },\n    style: [styles.container, disabled && styles.disabled, style],\n    hitSlop: Platform.select({\n      ios: undefined,\n      default: {\n        top: 16,\n        right: 16,\n        bottom: 16,\n        left: 16\n      }\n    })\n  }, /*#__PURE__*/React.createElement(React.Fragment, null, renderBackImage(), renderLabel()));\n}\nconst styles = StyleSheet.create({\n  container: {\n    alignItems: 'center',\n    flexDirection: 'row',\n    minWidth: StyleSheet.hairlineWidth,\n    // Avoid collapsing when title is long\n    ...Platform.select({\n      ios: null,\n      default: {\n        marginVertical: 3,\n        marginHorizontal: 11\n      }\n    })\n  },\n  disabled: {\n    opacity: 0.5\n  },\n  label: {\n    fontSize: 17,\n    // Title and back label are a bit different width due to title being bold\n    // Adjusting the letterSpacing makes them coincide better\n    letterSpacing: 0.35\n  },\n  labelWrapper: {\n    // These styles will make sure that the label doesn't fill the available space\n    // Otherwise it messes with the measurement of the label\n    flexDirection: 'row',\n    alignItems: 'flex-start'\n  },\n  icon: Platform.select({\n    ios: {\n      height: 21,\n      width: 13,\n      marginLeft: 8,\n      marginRight: 22,\n      marginVertical: 12,\n      resizeMode: 'contain',\n      transform: [{\n        scaleX: I18nManager.getConstants().isRTL ? -1 : 1\n      }]\n    },\n    default: {\n      height: 24,\n      width: 24,\n      margin: 3,\n      resizeMode: 'contain',\n      transform: [{\n        scaleX: I18nManager.getConstants().isRTL ? -1 : 1\n      }]\n    }\n  }),\n  iconWithLabel: Platform.OS === 'ios' ? {\n    marginRight: 6\n  } : {},\n  iconMaskContainer: {\n    flex: 1,\n    flexDirection: 'row',\n    justifyContent: 'center'\n  },\n  iconMaskFillerRect: {\n    flex: 1,\n    backgroundColor: '#000'\n  },\n  iconMask: {\n    height: 21,\n    width: 13,\n    marginLeft: -14.5,\n    marginVertical: 12,\n    alignSelf: 'center',\n    resizeMode: 'contain',\n    transform: [{\n      scaleX: I18nManager.getConstants().isRTL ? -1 : 1\n    }]\n  }\n});\n//# sourceMappingURL=HeaderBackButton.js.map"]},"metadata":{},"sourceType":"module"}