{"ast":null,"code":"import _slicedToArray from \"@babel/runtime/helpers/slicedToArray\";\nimport _objectWithoutProperties from \"@babel/runtime/helpers/objectWithoutProperties\";\nvar _excluded = [\"children\", \"isOpen\", \"onClose\", \"defaultIsOpen\", \"initialFocusRef\", \"finalFocusRef\", \"avoidKeyboard\", \"closeOnOverlayClick\", \"isKeyboardDismissable\", \"overlayVisible\", \"backdropVisible\", \"animationPreset\"],\n  _excluded2 = [\"_backdrop\", \"_backdropFade\", \"_fade\", \"contentSize\", \"_slide\", \"_overlay\", \"useRNModal\"];\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, { forwardRef, memo } from 'react';\nimport StyleSheet from \"react-native-web/dist/exports/StyleSheet\";\nimport Backdrop from \"../Backdrop\";\nimport { Slide } from \"../Transitions\";\nimport { FocusScope } from '@react-native-aria/focus';\nimport { useControllableState, usePropsResolution } from \"../../../hooks\";\nimport { ModalContext } from \"./Context\";\nimport Box from \"../../primitives/Box\";\nimport { Fade } from \"../../composites/Transitions\";\nimport { useKeyboardBottomInset } from \"../../../utils\";\nimport { Overlay } from \"../../primitives/Overlay\";\nvar Modal = function Modal(_ref, ref) {\n  var children = _ref.children,\n    isOpen = _ref.isOpen,\n    onClose = _ref.onClose,\n    defaultIsOpen = _ref.defaultIsOpen,\n    initialFocusRef = _ref.initialFocusRef,\n    finalFocusRef = _ref.finalFocusRef,\n    avoidKeyboard = _ref.avoidKeyboard,\n    _ref$closeOnOverlayCl = _ref.closeOnOverlayClick,\n    closeOnOverlayClick = _ref$closeOnOverlayCl === void 0 ? true : _ref$closeOnOverlayCl,\n    _ref$isKeyboardDismis = _ref.isKeyboardDismissable,\n    isKeyboardDismissable = _ref$isKeyboardDismis === void 0 ? true : _ref$isKeyboardDismis,\n    _ref$overlayVisible = _ref.overlayVisible,\n    overlayVisible = _ref$overlayVisible === void 0 ? true : _ref$overlayVisible,\n    _ref$backdropVisible = _ref.backdropVisible,\n    backdropVisible = _ref$backdropVisible === void 0 ? true : _ref$backdropVisible,\n    animationPreset = _ref.animationPreset,\n    rest = _objectWithoutProperties(_ref, _excluded);\n  var bottomInset = useKeyboardBottomInset();\n  var _usePropsResolution = usePropsResolution('Modal', rest),\n    _backdrop = _usePropsResolution._backdrop,\n    _backdropFade = _usePropsResolution._backdropFade,\n    _fade = _usePropsResolution._fade,\n    contentSize = _usePropsResolution.contentSize,\n    _slide = _usePropsResolution._slide,\n    _overlay = _usePropsResolution._overlay,\n    useRNModal = _usePropsResolution.useRNModal,\n    resolvedProps = _objectWithoutProperties(_usePropsResolution, _excluded2);\n  var _useControllableState = useControllableState({\n      value: isOpen,\n      defaultValue: defaultIsOpen,\n      onChange: function onChange(val) {\n        if (!val) onClose && onClose();\n      }\n    }),\n    _useControllableState2 = _slicedToArray(_useControllableState, 2),\n    visible = _useControllableState2[0],\n    setVisible = _useControllableState2[1];\n  var handleClose = React.useCallback(function () {\n    return setVisible(false);\n  }, [setVisible]);\n  var child = React.createElement(Box, _extends({\n    bottom: avoidKeyboard ? bottomInset + 'px' : undefined\n  }, resolvedProps, {\n    ref: ref,\n    pointerEvents: \"box-none\"\n  }), children);\n  var contextValue = React.useMemo(function () {\n    return {\n      handleClose: handleClose,\n      contentSize: contentSize,\n      initialFocusRef: initialFocusRef,\n      finalFocusRef: finalFocusRef,\n      visible: visible\n    };\n  }, [handleClose, contentSize, initialFocusRef, finalFocusRef, visible]);\n  return React.createElement(Overlay, _extends({\n    isOpen: visible,\n    onRequestClose: handleClose,\n    isKeyboardDismissable: isKeyboardDismissable,\n    animationPreset: animationPreset,\n    useRNModalOnAndroid: true,\n    useRNModal: useRNModal\n  }, _overlay), React.createElement(ModalContext.Provider, {\n    value: contextValue\n  }, React.createElement(Fade, _extends({\n    in: visible,\n    style: StyleSheet.absoluteFill\n  }, _backdropFade), overlayVisible && backdropVisible && React.createElement(Backdrop, _extends({\n    onPress: function onPress() {\n      closeOnOverlayClick && handleClose();\n    }\n  }, _backdrop))), animationPreset === 'slide' ? React.createElement(Slide, _extends({\n    in: visible\n  }, _slide), React.createElement(FocusScope, {\n    contain: visible,\n    autoFocus: visible && !initialFocusRef,\n    restoreFocus: visible && !finalFocusRef\n  }, child)) : React.createElement(Fade, _extends({\n    in: visible,\n    style: StyleSheet.absoluteFill\n  }, _fade), React.createElement(FocusScope, {\n    contain: visible,\n    autoFocus: visible && !initialFocusRef,\n    restoreFocus: visible && !finalFocusRef\n  }, child))));\n};\nexport default memo(forwardRef(Modal));","map":{"version":3,"sources":["Modal.tsx"],"names":["React","forwardRef","memo","Backdrop","Slide","FocusScope","useControllableState","usePropsResolution","ModalContext","Box","Fade","useKeyboardBottomInset","Overlay","Modal","children","isOpen","onClose","defaultIsOpen","initialFocusRef","finalFocusRef","avoidKeyboard","closeOnOverlayClick","isKeyboardDismissable","overlayVisible","backdropVisible","animationPreset","rest","ref","bottomInset","_backdrop","_backdropFade","_fade","contentSize","_slide","_overlay","useRNModal","resolvedProps","visible","setVisible","value","defaultValue","onChange","val","handleClose","useCallback","child","undefined","contextValue","useMemo","StyleSheet","absoluteFill"],"mappings":";;;;;;;;;;;;;;;;;;AAAA,OAAOA,KAAP,IAAgBC,UAAhB,EAA4BC,IAA5B,QAAwC,OAAxC;AAAA,OAAA,UAAA;AAEA,OAAOC,QAAP;AACA,SAASC,KAAT;AACA,SAASC,UAAT,QAA2B,0BAA3B;AACA,SAASC,oBAAT,EAA+BC,kBAA/B;AACA,SAASC,YAAT;AACA,OAAOC,GAAP;AAEA,SAASC,IAAT;AACA,SAASC,sBAAT;AACA,SAASC,OAAT;AACA,IAAMC,KAAK,GAAG,SAARA,KAAK,CAAA,IAAA,EAgBTc,GAhBY,EAiBT;EAAA,IAfDb,QADF,GAAA,IAAA,CACEA,QADF;IAEEC,MAFF,GAAA,IAAA,CAEEA,MAFF;IAGEC,OAHF,GAAA,IAAA,CAGEA,OAHF;IAIEC,aAJF,GAAA,IAAA,CAIEA,aAJF;IAKEC,eALF,GAAA,IAAA,CAKEA,eALF;IAMEC,aANF,GAAA,IAAA,CAMEA,aANF;IAOEC,aAPF,GAAA,IAAA,CAOEA,aAPF;IAAA,qBAAA,GAAA,IAAA,CAQEC,mBAAmB;IAAnBA,mBAAmB,GAAA,qBAAA,cAAG,IARxB,GAAA,qBAAA;IAAA,qBAAA,GAAA,IAAA,CASEC,qBAAqB;IAArBA,qBAAqB,GAAA,qBAAA,cAAG,IAT1B,GAAA,qBAAA;IAAA,mBAAA,GAAA,IAAA,CAUEC,cAAc;IAAdA,cAAc,GAAA,mBAAA,cAAG,IAVnB,GAAA,mBAAA;IAAA,oBAAA,GAAA,IAAA,CAWEC,eAAe;IAAfA,eAAe,GAAA,oBAAA,cAAG,IAXpB,GAAA,oBAAA;IAYEC,eAZF,GAAA,IAAA,CAYEA,eAZF;IAaKC,IAAAA,GAAAA,wBAAAA,CAAAA,IAAAA,EAAAA,SAAAA;EAIL,IAAME,WAAW,GAAGjB,sBAAsB,CAAA,CAA1C;EACA,IAAA,mBAAA,GASIJ,kBAAkB,CAAC,OAAD,EAAUmB,IAAV,CATtB;IACEG,SADI,GAAA,mBAAA,CACJA,SADI;IAEJC,aAFI,GAAA,mBAAA,CAEJA,aAFI;IAGJC,KAHI,GAAA,mBAAA,CAGJA,KAHI;IAIJC,WAJI,GAAA,mBAAA,CAIJA,WAJI;IAKJC,MALI,GAAA,mBAAA,CAKJA,MALI;IAMJC,QANI,GAAA,mBAAA,CAMJA,QANI;IAOJC,UAPI,GAAA,mBAAA,CAOJA,UAPI;IAQDC,aAAAA,GAAAA,wBAAAA,CAAAA,mBAAAA,EAAAA,UAAAA;EAGL,IAAA,qBAAA,GAA8B9B,oBAAoB,CAAC;MACjDiC,KAAK,EAAExB,MAD0C;MAEjDyB,YAAY,EAAEvB,aAFmC;MAGjDwB,QAAQ,EAAGC,SAAAA,SAAAA,GAAD,EAAS;QACjB,IAAI,CAACA,GAAL,EAAU1B,OAAO,IAAIA,OAAO,CAAA,CAAlBA;MACX;IALgD,CAAD,CAAlD;IAAA,sBAAA,GAAA,cAAA,CAAA,qBAAA;IAAOqB,OAAD,GAAA,sBAAA;IAAUC,UAAV,GAAA,sBAAA;EAQN,IAAMK,WAAW,GAAG3C,KAAK,CAAC4C,WAAN5C,CAAkB;IAAA,OAAMsC,UAAU,CAAC,KAAD,CAAlCtC;EAAAA,GAA2C,CAACsC,UAAD,CAA3CtC,CArBjB;EA6BH,IAAM6C,KAAK,GACT,KAAA,CAAA,aAAA,CAAC,GAAD,EAAA,QAAA,CAAA;IACE,MAAM,EAAEzB,aAAa,GAAGQ,WAAW,GAAG,IAAjB,GAAwBkB;EAD/C,CAAA,EAEMV,aAFN,EAAA;IAGE,GAAG,EAAET,GAHP;IAIE,aAAa,EAJf;EAAA,CAAA,CAAA,EAOGb,QAPH,CADF;EAYA,IAAMiC,YAAY,GAAG,KAAK,CAACC,OAAN,CAAc,YAAM;IACvC,OAAO;MACLL,WADK,EACLA,WADK;MAELX,WAAW,EAAEA,WAFR;MAGLd,eAHK,EAGLA,eAHK;MAILC,aAJK,EAILA,aAJK;MAKLkB,OAAAA,EAAAA;IALK,CAAP;EAOD,CARoB,EAQlB,CAACM,WAAD,EAAcX,WAAd,EAA2Bd,eAA3B,EAA4CC,aAA5C,EAA2DkB,OAA3D,CARkB,CAzClB;EAoDH,OACE,KAAA,CAAA,aAAA,CAAC,OAAD,EAAA,QAAA,CAAA;IACE,MAAM,EAAEA,OADV;IAEE,cAAc,EAAEM,WAFlB;IAGE,qBAAqB,EAAErB,qBAHzB;IAIE,eAAe,EAAEG,eAJnB;IAKE,mBAAmB,EAAA,IALrB;IAME,UAAU,EAAEU;EANd,CAAA,EAOMD,QAPN,CAAA,EASE,KAAA,CAAA,aAAA,CAAC,YAAD,CAAc,QAAd,EAAA;IAAuB,KAAK,EAAEa;EAA9B,CAAA,EACE,KAAA,CAAA,aAAA,CAAC,IAAD,EAAA,QAAA,CAAA;IAAM,EAAE,EAAEV,OAAV;IAAmB,KAAK,EAAEY,UAAU,CAACC;EAArC,CAAA,EAAuDpB,aAAvD,CAAA,EACGP,cAAc,IAAIC,eAAlBD,IACC,KAAA,CAAA,aAAA,CAAC,QAAD,EAAA,QAAA,CAAA;IACE,OAAO,EAAE,SAAA,QAAA,EAAM;MACbF,mBAAmB,IAAIsB,WAAW,CAAA,CAAlCtB;IACD;EAHH,CAAA,EAIMQ,SAJN,CAAA,CAFJ,CADF,EAWG,eAAe,KAAK,OAApB,GACC,KAAA,CAAA,aAAA,CAAC,KAAD,EAAA,QAAA,CAAA;IAAO,EAAE,EAAEQ;EAAX,CAAA,EAAwBJ,MAAxB,CAAA,EACE,KAAA,CAAA,aAAA,CAAC,UAAD,EAAA;IACE,OAAO,EAAEI,OADX;IAEE,SAAS,EAAEA,OAAO,IAAI,CAACnB,eAFzB;IAGE,YAAY,EAAEmB,OAAO,IAAI,CAAClB;EAH5B,CAAA,EAKG0B,KALH,CADF,CADD,GAWC,KAAA,CAAA,aAAA,CAAC,IAAD,EAAA,QAAA,CAAA;IAAM,EAAE,EAAER,OAAV;IAAmB,KAAK,EAAEY,UAAU,CAACC;EAArC,CAAA,EAAuDnB,KAAvD,CAAA,EACE,KAAA,CAAA,aAAA,CAAC,UAAD,EAAA;IACE,OAAO,EAAEM,OADX;IAEE,SAAS,EAAEA,OAAO,IAAI,CAACnB,eAFzB;IAGE,YAAY,EAAEmB,OAAO,IAAI,CAAClB;EAH5B,CAAA,EAKG0B,KALH,CADF,CAtBJ,CATF,CADF;AA6CD,CAlHD;AAoHA,eAAe3C,IAAI,CAACD,UAAU,CAACY,KAAD,CAAX,CAAnB","sourcesContent":["import React, { forwardRef, memo } from 'react';\nimport { StyleSheet } from 'react-native';\nimport Backdrop from '../Backdrop';\nimport { Slide } from '../Transitions';\nimport { FocusScope } from '@react-native-aria/focus';\nimport { useControllableState, usePropsResolution } from '../../../hooks';\nimport { ModalContext } from './Context';\nimport Box from '../../primitives/Box';\nimport type { IModalProps } from './types';\nimport { Fade } from '../../composites/Transitions';\nimport { useKeyboardBottomInset } from '../../../utils';\nimport { Overlay } from '../../primitives/Overlay';\nconst Modal = (\n  {\n    children,\n    isOpen,\n    onClose,\n    defaultIsOpen,\n    initialFocusRef,\n    finalFocusRef,\n    avoidKeyboard,\n    closeOnOverlayClick = true,\n    isKeyboardDismissable = true,\n    overlayVisible = true,\n    backdropVisible = true,\n    animationPreset,\n    ...rest\n  }: IModalProps,\n  ref: any\n) => {\n  const bottomInset = useKeyboardBottomInset();\n  const {\n    _backdrop,\n    _backdropFade,\n    _fade,\n    contentSize,\n    _slide,\n    _overlay,\n    useRNModal,\n    ...resolvedProps\n  } = usePropsResolution('Modal', rest);\n\n  const [visible, setVisible] = useControllableState({\n    value: isOpen,\n    defaultValue: defaultIsOpen,\n    onChange: (val) => {\n      if (!val) onClose && onClose();\n    },\n  });\n\n  const handleClose = React.useCallback(() => setVisible(false), [setVisible]);\n\n  // console.log(\n  //   StyleSheet.flatten(style),\n  //   resolvedProps,\n  //   contentSize,\n  //   'hello style here 2 2 2 2'\n  // );\n  const child = (\n    <Box\n      bottom={avoidKeyboard ? bottomInset + 'px' : undefined}\n      {...resolvedProps}\n      ref={ref}\n      pointerEvents=\"box-none\"\n      // bg=\"red.500\"\n    >\n      {children}\n    </Box>\n  );\n\n  const contextValue = React.useMemo(() => {\n    return {\n      handleClose,\n      contentSize: contentSize,\n      initialFocusRef,\n      finalFocusRef,\n      visible,\n    };\n  }, [handleClose, contentSize, initialFocusRef, finalFocusRef, visible]);\n\n  // console.log('visible here ****', visible, restDefaultProps);\n  return (\n    <Overlay\n      isOpen={visible}\n      onRequestClose={handleClose}\n      isKeyboardDismissable={isKeyboardDismissable}\n      animationPreset={animationPreset}\n      useRNModalOnAndroid\n      useRNModal={useRNModal}\n      {..._overlay}\n    >\n      <ModalContext.Provider value={contextValue}>\n        <Fade in={visible} style={StyleSheet.absoluteFill} {..._backdropFade}>\n          {overlayVisible && backdropVisible && (\n            <Backdrop\n              onPress={() => {\n                closeOnOverlayClick && handleClose();\n              }}\n              {..._backdrop}\n            />\n          )}\n        </Fade>\n        {animationPreset === 'slide' ? (\n          <Slide in={visible} {..._slide}>\n            <FocusScope\n              contain={visible}\n              autoFocus={visible && !initialFocusRef}\n              restoreFocus={visible && !finalFocusRef}\n            >\n              {child}\n            </FocusScope>\n          </Slide>\n        ) : (\n          <Fade in={visible} style={StyleSheet.absoluteFill} {..._fade}>\n            <FocusScope\n              contain={visible}\n              autoFocus={visible && !initialFocusRef}\n              restoreFocus={visible && !finalFocusRef}\n            >\n              {child}\n            </FocusScope>\n          </Fade>\n        )}\n      </ModalContext.Provider>\n    </Overlay>\n  );\n};\n\nexport default memo(forwardRef(Modal));\n"]},"metadata":{},"sourceType":"module"}