{"ast":null,"code":"import _objectWithoutProperties from \"@babel/runtime/helpers/objectWithoutProperties\";\nimport { usePress } from '@react-native-aria/interactions';\nimport { mergeProps } from '@react-aria/utils';\nexport function useButton(props) {\n  var isDisabled = props.isDisabled,\n      onPress = props.onPress,\n      onPressStart = props.onPressStart,\n      onPressEnd = props.onPressEnd,\n      onPressChange = props.onPressChange,\n      rest = _objectWithoutProperties(props, [\"isDisabled\", \"onPress\", \"onPressStart\", \"onPressEnd\", \"onPressChange\"]);\n\n  var _usePress = usePress({\n    onPressStart: onPressStart,\n    onPressEnd: onPressEnd,\n    onPressChange: onPressChange,\n    onPress: onPress,\n    isDisabled: isDisabled\n  }),\n      pressProps = _usePress.pressProps,\n      isPressed = _usePress.isPressed;\n\n  var mergedProps = mergeProps(pressProps, rest, {\n    accessibilityState: {\n      disabled: isDisabled\n    },\n    accessibilityRole: 'button',\n    disabled: isDisabled\n  });\n  return {\n    isPressed: isPressed,\n    buttonProps: mergedProps\n  };\n}","map":{"version":3,"sources":["useButton.ts"],"names":["rest","isPressed","usePress","onPressStart","onPressEnd","onPressChange","onPress","isDisabled","mergedProps","mergeProps","accessibilityState","disabled","accessibilityRole","buttonProps"],"mappings":";AACA,SAAA,QAAA,QAAA,iCAAA;AAEA,SAAA,UAAA,QAAA,mBAAA;AAkBA,OAAO,SAAA,SAAA,CAAA,KAAA,EAAyD;AAAA,MAC1D,UAD0D,GAC9D,KAD8D,CAC1D,UAD0D;AAAA,MAC1D,OAD0D,GAC9D,KAD8D,CAC1D,OAD0D;AAAA,MAC1D,YAD0D,GAC9D,KAD8D,CAC1D,YAD0D;AAAA,MAC1D,UAD0D,GAC9D,KAD8D,CAC1D,UAD0D;AAAA,MAC1D,aAD0D,GAC9D,KAD8D,CAC1D,aAD0D;AAAA,MAOzDA,IAPyD,4BAC9D,KAD8D;;AAAA,kBAU9BE,QAAQ,CAAC;AACvCC,IAAAA,YADuC,EACvCA,YADuC;AAEvCC,IAAAA,UAFuC,EAEvCA,UAFuC;AAGvCC,IAAAA,aAHuC,EAGvCA,aAHuC;AAIvCC,IAAAA,OAJuC,EAIvCA,OAJuC;AAKvCC,IAAAA,UAAAA,EAAAA;AALuC,GAAD,CAVsB;AAAA,MAU1D,UAV0D,aAU1D,UAV0D;AAAA,MAU5CN,SAV4C,aAU5CA,SAV4C;;AAkB9D,MAAMO,WAAW,GAAGC,UAAU,CAAA,UAAA,EAAA,IAAA,EAAmB;AAC/CC,IAAAA,kBAAkB,EAAE;AAClBC,MAAAA,QAAQ,EAAEJ;AADQ,KAD2B;AAI/CK,IAAAA,iBAAiB,EAJ8B,QAAA;AAK/CD,IAAAA,QAAQ,EAAEJ;AALqC,GAAnB,CAA9B;AAQA,SAAO;AACLN,IAAAA,SADK,EACLA,SADK;AAELY,IAAAA,WAAW,EAAEL;AAFR,GAAP;AAID","sourcesContent":["import { ReactNode } from 'react';\nimport { PressEvents, usePress } from '@react-native-aria/interactions';\nimport { AccessibilityProps, PressableProps } from 'react-native';\nimport { mergeProps } from '@react-aria/utils';\n\ninterface ButtonProps extends PressEvents {\n  /** Whether the button is disabled. */\n  isDisabled?: boolean;\n  /** The content to display in the button. */\n  children?: ReactNode;\n}\n\nexport interface RNAriaButtonProps extends AccessibilityProps, ButtonProps {}\n\nexport interface ButtonAria {\n  /** Props for the button element. */\n  buttonProps: PressableProps;\n  /** Whether the button is currently pressed. */\n  isPressed: boolean;\n}\n\nexport function useButton(props: RNAriaButtonProps): ButtonAria {\n  let {\n    isDisabled,\n    onPress,\n    onPressStart,\n    onPressEnd,\n    onPressChange,\n    ...rest\n  } = props;\n\n  let { pressProps, isPressed } = usePress({\n    onPressStart,\n    onPressEnd,\n    onPressChange,\n    onPress,\n    isDisabled,\n  });\n\n  const mergedProps = mergeProps(pressProps, rest, {\n    accessibilityState: {\n      disabled: isDisabled,\n    },\n    accessibilityRole: 'button',\n    disabled: isDisabled,\n  });\n\n  return {\n    isPressed,\n    buttonProps: mergedProps,\n  };\n}\n"]},"metadata":{},"sourceType":"module"}