{"ast":null,"code":"import _objectWithoutProperties from \"@babel/runtime/helpers/objectWithoutProperties\";\nvar _excluded = [\"_icon\", \"onPressIn\", \"onPressOut\", \"onHoverIn\", \"onHoverOut\", \"onFocus\", \"onBlur\"];\nfunction _extends() {\n  _extends = Object.assign || function (target) {\n    for (var i = 1; i < arguments.length; i++) {\n      var source = arguments[i];\n      for (var key in source) {\n        if (Object.prototype.hasOwnProperty.call(source, key)) {\n          target[key] = source[key];\n        }\n      }\n    }\n    return target;\n  };\n  return _extends.apply(this, arguments);\n}\nimport React, { memo, forwardRef } from 'react';\nimport { ModalContext } from \"./Context\";\nimport { usePropsResolution } from \"../../../hooks\";\nimport { Pressable } from \"../../primitives/Pressable\";\nimport { CloseIcon } from \"../../primitives/Icon/Icons\";\nimport { useHover, useFocus, useIsPressed } from \"../../primitives/Pressable/Pressable\";\nimport { composeEventHandlers } from \"../../../utils\";\nimport { useFocusRing } from '@react-native-aria/focus';\nvar ModalCloseButton = function ModalCloseButton(props, ref) {\n  var _useHover = useHover(),\n    hoverProps = _useHover.hoverProps,\n    isHovered = _useHover.isHovered;\n  var _useIsPressed = useIsPressed(),\n    pressableProps = _useIsPressed.pressableProps,\n    isPressed = _useIsPressed.isPressed;\n  var _useFocus = useFocus(),\n    focusProps = _useFocus.focusProps,\n    isFocused = _useFocus.isFocused;\n  var _useFocusRing = useFocusRing(),\n    isFocusVisible = _useFocusRing.isFocusVisible,\n    focusRingProps = _useFocusRing.focusProps;\n  var state = {\n    isHovered: isHovered,\n    isPressed: isPressed,\n    isFocused: isFocused,\n    isFocusVisible: isFocusVisible\n  };\n  var _usePropsResolution = usePropsResolution('ModalCloseButton', props, state),\n    _icon = _usePropsResolution._icon,\n    onPressIn = _usePropsResolution.onPressIn,\n    onPressOut = _usePropsResolution.onPressOut,\n    onHoverIn = _usePropsResolution.onHoverIn,\n    onHoverOut = _usePropsResolution.onHoverOut,\n    onFocus = _usePropsResolution.onFocus,\n    onBlur = _usePropsResolution.onBlur,\n    resolvedProps = _objectWithoutProperties(_usePropsResolution, _excluded);\n  var _React$useContext = React.useContext(ModalContext),\n    handleClose = _React$useContext.handleClose;\n  return React.createElement(Pressable, _extends({\n    accessibilityRole: \"button\",\n    ref: ref,\n    onPressIn: composeEventHandlers(onPressIn, pressableProps.onPressIn),\n    onPressOut: composeEventHandlers(onPressOut, pressableProps.onPressOut),\n    onHoverIn: composeEventHandlers(onHoverIn, hoverProps.onHoverIn),\n    onHoverOut: composeEventHandlers(onHoverOut, hoverProps.onHoverOut),\n    onFocus: composeEventHandlers(composeEventHandlers(onFocus, focusProps.onFocus), focusRingProps.onFocus),\n    onBlur: composeEventHandlers(composeEventHandlers(onBlur, focusProps.onBlur), focusRingProps.onBlur),\n    onPress: handleClose\n  }, resolvedProps), React.createElement(CloseIcon, _icon));\n};\nexport default memo(forwardRef(ModalCloseButton));","map":{"version":3,"sources":["ModalCloseButton.tsx"],"names":["React","memo","forwardRef","ModalContext","usePropsResolution","Pressable","CloseIcon","useHover","useFocus","useIsPressed","composeEventHandlers","useFocusRing","ModalCloseButton","props","ref","hoverProps","isHovered","pressableProps","isPressed","focusProps","isFocused","isFocusVisible","focusRingProps","state","_icon","onPressIn","onPressOut","onHoverIn","onHoverOut","onFocus","onBlur","resolvedProps","handleClose","useContext"],"mappings":"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","sourcesContent":["import React, { memo, forwardRef } from 'react';\nimport { ModalContext } from './Context';\nimport { usePropsResolution } from '../../../hooks';\nimport { Pressable } from '../../primitives/Pressable';\nimport { CloseIcon } from '../../primitives/Icon/Icons';\nimport type { IButtonProps } from '../../primitives/Button';\nimport {\n  useHover,\n  useFocus,\n  useIsPressed,\n} from '../../primitives/Pressable/Pressable';\nimport { composeEventHandlers } from '../../../utils';\nimport { useFocusRing } from '@react-native-aria/focus';\nconst ModalCloseButton = (props: IButtonProps, ref?: any) => {\n  const { hoverProps, isHovered } = useHover();\n  const { pressableProps, isPressed } = useIsPressed();\n  const { focusProps, isFocused } = useFocus();\n  const { isFocusVisible, focusProps: focusRingProps }: any = useFocusRing();\n  const state = {\n    isHovered,\n    isPressed,\n    isFocused,\n    isFocusVisible,\n  };\n\n  const {\n    _icon,\n    onPressIn,\n    onPressOut,\n    onHoverIn,\n    onHoverOut,\n    onFocus,\n    onBlur,\n    ...resolvedProps\n  } = usePropsResolution('ModalCloseButton', props, state);\n  const { handleClose } = React.useContext(ModalContext);\n\n  return (\n    <Pressable\n      accessibilityRole=\"button\"\n      ref={ref}\n      onPressIn={composeEventHandlers(onPressIn, pressableProps.onPressIn)}\n      onPressOut={composeEventHandlers(onPressOut, pressableProps.onPressOut)}\n      // @ts-ignore - web only\n      onHoverIn={composeEventHandlers(onHoverIn, hoverProps.onHoverIn)}\n      // @ts-ignore - web only\n      onHoverOut={composeEventHandlers(onHoverOut, hoverProps.onHoverOut)}\n      // @ts-ignore - web only\n      onFocus={composeEventHandlers(\n        composeEventHandlers(onFocus, focusProps.onFocus),\n        focusRingProps.onFocus\n      )}\n      // @ts-ignore - web only\n      onBlur={composeEventHandlers(\n        composeEventHandlers(onBlur, focusProps.onBlur),\n        focusRingProps.onBlur\n      )}\n      onPress={handleClose}\n      {...resolvedProps}\n    >\n      <CloseIcon {..._icon} />\n    </Pressable>\n  );\n};\n\nexport default memo(forwardRef(ModalCloseButton));\n"]},"metadata":{},"sourceType":"module"}