{"ast":null,"code":"\"use strict\";\n\nimport _objectWithoutProperties from \"@babel/runtime/helpers/objectWithoutProperties\";\nimport _defineProperty from \"@babel/runtime/helpers/defineProperty\";\nvar _excluded = [\"screen\", \"params\", \"action\", \"href\"],\n  _excluded2 = [\"variant\", \"color\", \"android_ripple\", \"style\", \"children\"];\nfunction ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }\nfunction _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }\nimport { useLinkProps, useTheme } from '@react-navigation/native';\nimport Color from 'color';\nimport * as React from 'react';\nimport Platform from \"react-native-web/dist/exports/Platform\";\nimport StyleSheet from \"react-native-web/dist/exports/StyleSheet\";\nimport { PlatformPressable } from \"./PlatformPressable.js\";\nimport { Text } from \"./Text.js\";\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nvar BUTTON_RADIUS = 40;\nexport function Button(props) {\n  if ('screen' in props || 'action' in props) {\n    return _jsx(ButtonLink, _objectSpread({}, props));\n  } else {\n    return _jsx(ButtonBase, _objectSpread({}, props));\n  }\n}\nfunction ButtonLink(_ref) {\n  var screen = _ref.screen,\n    params = _ref.params,\n    action = _ref.action,\n    href = _ref.href,\n    rest = _objectWithoutProperties(_ref, _excluded);\n  var props = useLinkProps({\n    screen: screen,\n    params: params,\n    action: action,\n    href: href\n  });\n  return _jsx(ButtonBase, _objectSpread(_objectSpread({}, rest), props));\n}\nfunction ButtonBase(_ref2) {\n  var _ref2$variant = _ref2.variant,\n    variant = _ref2$variant === void 0 ? 'tinted' : _ref2$variant,\n    customColor = _ref2.color,\n    android_ripple = _ref2.android_ripple,\n    style = _ref2.style,\n    children = _ref2.children,\n    rest = _objectWithoutProperties(_ref2, _excluded2);\n  var _useTheme = useTheme(),\n    colors = _useTheme.colors,\n    fonts = _useTheme.fonts;\n  var color = customColor != null ? customColor : colors.primary;\n  var backgroundColor;\n  var textColor;\n  switch (variant) {\n    case 'plain':\n      backgroundColor = 'transparent';\n      textColor = color;\n      break;\n    case 'tinted':\n      backgroundColor = Color(color).fade(0.85).string();\n      textColor = color;\n      break;\n    case 'filled':\n      backgroundColor = color;\n      textColor = Color(color).isDark() ? 'white' : Color(color).darken(0.71).string();\n      break;\n  }\n  return _jsx(PlatformPressable, _objectSpread(_objectSpread({}, rest), {}, {\n    android_ripple: _objectSpread({\n      radius: BUTTON_RADIUS,\n      color: Color(textColor).fade(0.85).string()\n    }, android_ripple),\n    pressOpacity: Platform.OS === 'ios' ? undefined : 1,\n    hoverEffect: {\n      color: textColor\n    },\n    style: [{\n      backgroundColor: backgroundColor\n    }, styles.button, style],\n    children: _jsx(Text, {\n      style: [{\n        color: textColor\n      }, fonts.regular, styles.text],\n      children: children\n    })\n  }));\n}\nvar styles = StyleSheet.create({\n  button: {\n    paddingHorizontal: 24,\n    paddingVertical: 10,\n    borderRadius: BUTTON_RADIUS\n  },\n  text: {\n    fontSize: 14,\n    lineHeight: 20,\n    letterSpacing: 0.1,\n    textAlign: 'center'\n  }\n});","map":{"version":3,"names":["useLinkProps","useTheme","Color","React","Platform","StyleSheet","PlatformPressable","Text","jsx","_jsx","BUTTON_RADIUS","Button","props","ButtonLink","_objectSpread","ButtonBase","_ref","screen","params","action","href","rest","_objectWithoutProperties","_excluded","_ref2","_ref2$variant","variant","customColor","color","android_ripple","style","children","_excluded2","_useTheme","colors","fonts","primary","backgroundColor","textColor","fade","string","isDark","darken","radius","pressOpacity","OS","undefined","hoverEffect","styles","button","regular","text","create","paddingHorizontal","paddingVertical","borderRadius","fontSize","lineHeight","letterSpacing","textAlign"],"sources":["/Users/pmouli/Documents/GitHub.nosync/boots-strapper/mobile/node_modules/@react-navigation/elements/src/Button.tsx"],"sourcesContent":["import {\n  type LinkProps,\n  useLinkProps,\n  useTheme,\n} from '@react-navigation/native';\nimport Color from 'color';\nimport * as React from 'react';\nimport { Platform, StyleSheet } from 'react-native';\n\nimport {\n  PlatformPressable,\n  type Props as PlatformPressableProps,\n} from './PlatformPressable';\nimport { Text } from './Text';\n\ntype ButtonBaseProps = Omit<PlatformPressableProps, 'children'> & {\n  variant?: 'plain' | 'tinted' | 'filled';\n  color?: string;\n  children: string | string[];\n};\n\ntype ButtonLinkProps<ParamList extends ReactNavigation.RootParamList> =\n  LinkProps<ParamList> & Omit<ButtonBaseProps, 'onPress'>;\n\nconst BUTTON_RADIUS = 40;\n\nexport function Button<ParamList extends ReactNavigation.RootParamList>(\n  props: ButtonLinkProps<ParamList>\n): React.JSX.Element;\n\nexport function Button(props: ButtonBaseProps): React.JSX.Element;\n\nexport function Button<ParamList extends ReactNavigation.RootParamList>(\n  props: ButtonBaseProps | ButtonLinkProps<ParamList>\n) {\n  if ('screen' in props || 'action' in props) {\n    // @ts-expect-error: This is already type-checked by the prop types\n    return <ButtonLink {...props} />;\n  } else {\n    return <ButtonBase {...props} />;\n  }\n}\n\nfunction ButtonLink<ParamList extends ReactNavigation.RootParamList>({\n  screen,\n  params,\n  action,\n  href,\n  ...rest\n}: ButtonLinkProps<ParamList>) {\n  // @ts-expect-error: This is already type-checked by the prop types\n  const props = useLinkProps({ screen, params, action, href });\n\n  return <ButtonBase {...rest} {...props} />;\n}\n\nfunction ButtonBase({\n  variant = 'tinted',\n  color: customColor,\n  android_ripple,\n  style,\n  children,\n  ...rest\n}: ButtonBaseProps) {\n  const { colors, fonts } = useTheme();\n\n  const color = customColor ?? colors.primary;\n\n  let backgroundColor;\n  let textColor;\n\n  switch (variant) {\n    case 'plain':\n      backgroundColor = 'transparent';\n      textColor = color;\n      break;\n    case 'tinted':\n      backgroundColor = Color(color).fade(0.85).string();\n      textColor = color;\n      break;\n    case 'filled':\n      backgroundColor = color;\n      textColor = Color(color).isDark()\n        ? 'white'\n        : Color(color).darken(0.71).string();\n      break;\n  }\n\n  return (\n    <PlatformPressable\n      {...rest}\n      android_ripple={{\n        radius: BUTTON_RADIUS,\n        color: Color(textColor).fade(0.85).string(),\n        ...android_ripple,\n      }}\n      pressOpacity={Platform.OS === 'ios' ? undefined : 1}\n      hoverEffect={{ color: textColor }}\n      style={[{ backgroundColor }, styles.button, style]}\n    >\n      <Text style={[{ color: textColor }, fonts.regular, styles.text]}>\n        {children}\n      </Text>\n    </PlatformPressable>\n  );\n}\n\nconst styles = StyleSheet.create({\n  button: {\n    paddingHorizontal: 24,\n    paddingVertical: 10,\n    borderRadius: BUTTON_RADIUS,\n  },\n  text: {\n    fontSize: 14,\n    lineHeight: 20,\n    letterSpacing: 0.1,\n    textAlign: 'center',\n  },\n});\n"],"mappings":"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","ignoreList":[]},"metadata":{},"sourceType":"module","externalDependencies":[]}