{"ast":null,"code":"import * as React from 'react';\nimport ModalPortal from \"./ModalPortal\";\nimport ModalAnimation from \"./ModalAnimation\";\nimport ModalContent from \"./ModalContent\";\nimport ModalFocusTrap from \"./ModalFocusTrap\";\nvar uniqueModalIdentifier = 0;\nvar activeModalStack = [];\nvar activeModalListeners = {};\n\nfunction notifyActiveModalListeners() {\n  if (activeModalStack.length === 0) {\n    return;\n  }\n\n  var activeModalId = activeModalStack[activeModalStack.length - 1];\n  activeModalStack.forEach(function (modalId) {\n    if (modalId in activeModalListeners) {\n      activeModalListeners[modalId](modalId === activeModalId);\n    }\n  });\n}\n\nfunction removeActiveModal(modalId) {\n  if (modalId in activeModalListeners) {\n    activeModalListeners[modalId](false);\n    delete activeModalListeners[modalId];\n  }\n\n  var index = activeModalStack.indexOf(modalId);\n\n  if (index !== -1) {\n    activeModalStack.splice(index, 1);\n    notifyActiveModalListeners();\n  }\n}\n\nfunction addActiveModal(modalId, listener) {\n  removeActiveModal(modalId);\n  activeModalStack.push(modalId);\n  activeModalListeners[modalId] = listener;\n  notifyActiveModalListeners();\n}\n\nvar Modal = React.forwardRef(function (props, forwardedRef) {\n  var animationType = props.animationType,\n      children = props.children,\n      onDismiss = props.onDismiss,\n      onRequestClose = props.onRequestClose,\n      onShow = props.onShow,\n      transparent = props.transparent,\n      _props$visible = props.visible,\n      visible = _props$visible === void 0 ? true : _props$visible;\n  var modalId = React.useMemo(function () {\n    return uniqueModalIdentifier++;\n  }, []);\n\n  var _React$useState = React.useState(false),\n      isActive = _React$useState[0],\n      setIsActive = _React$useState[1];\n\n  var onDismissCallback = React.useCallback(function () {\n    removeActiveModal(modalId);\n\n    if (onDismiss) {\n      onDismiss();\n    }\n  }, [modalId, onDismiss]);\n  var onShowCallback = React.useCallback(function () {\n    addActiveModal(modalId, setIsActive);\n\n    if (onShow) {\n      onShow();\n    }\n  }, [modalId, onShow]);\n  React.useEffect(function () {\n    return function () {\n      return removeActiveModal(modalId);\n    };\n  }, [modalId]);\n  return React.createElement(ModalPortal, null, React.createElement(ModalAnimation, {\n    animationType: animationType,\n    onDismiss: onDismissCallback,\n    onShow: onShowCallback,\n    visible: visible\n  }, React.createElement(ModalFocusTrap, {\n    active: isActive\n  }, React.createElement(ModalContent, {\n    active: isActive,\n    onRequestClose: onRequestClose,\n    ref: forwardedRef,\n    transparent: transparent\n  }, children))));\n});\nexport default Modal;","map":{"version":3,"sources":["/Users/rohitsingh/Documents/projects/new-nativebase-setup/NativeBase/example/node_modules/react-native-web/dist/exports/Modal/index.js"],"names":["React","ModalPortal","ModalAnimation","ModalContent","ModalFocusTrap","uniqueModalIdentifier","activeModalStack","activeModalListeners","notifyActiveModalListeners","length","activeModalId","forEach","modalId","removeActiveModal","index","indexOf","splice","addActiveModal","listener","push","Modal","forwardRef","props","forwardedRef","animationType","children","onDismiss","onRequestClose","onShow","transparent","_props$visible","visible","useMemo","_React$useState","useState","isActive","setIsActive","onDismissCallback","useCallback","onShowCallback","useEffect","createElement","active","ref"],"mappings":"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","sourcesContent":["/**\n * Copyright (c) Nicolas Gallagher.\n * Copyright (c) Facebook, Inc. and its affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n * \n */\nimport * as React from 'react';\nimport ModalPortal from './ModalPortal';\nimport ModalAnimation from './ModalAnimation';\nimport ModalContent from './ModalContent';\nimport ModalFocusTrap from './ModalFocusTrap';\nvar uniqueModalIdentifier = 0;\nvar activeModalStack = [];\nvar activeModalListeners = {};\n\nfunction notifyActiveModalListeners() {\n  if (activeModalStack.length === 0) {\n    return;\n  }\n\n  var activeModalId = activeModalStack[activeModalStack.length - 1];\n  activeModalStack.forEach(function (modalId) {\n    if (modalId in activeModalListeners) {\n      activeModalListeners[modalId](modalId === activeModalId);\n    }\n  });\n}\n\nfunction removeActiveModal(modalId) {\n  if (modalId in activeModalListeners) {\n    // Before removing this listener we should probably tell it\n    // that it's no longer the active modal for sure.\n    activeModalListeners[modalId](false);\n    delete activeModalListeners[modalId];\n  }\n\n  var index = activeModalStack.indexOf(modalId);\n\n  if (index !== -1) {\n    activeModalStack.splice(index, 1);\n    notifyActiveModalListeners();\n  }\n}\n\nfunction addActiveModal(modalId, listener) {\n  removeActiveModal(modalId);\n  activeModalStack.push(modalId);\n  activeModalListeners[modalId] = listener;\n  notifyActiveModalListeners();\n}\n\nvar Modal = /*#__PURE__*/React.forwardRef(function (props, forwardedRef) {\n  var animationType = props.animationType,\n      children = props.children,\n      onDismiss = props.onDismiss,\n      onRequestClose = props.onRequestClose,\n      onShow = props.onShow,\n      transparent = props.transparent,\n      _props$visible = props.visible,\n      visible = _props$visible === void 0 ? true : _props$visible; // Set a unique model identifier so we can correctly route\n  // dismissals and check the layering of modals.\n\n  var modalId = React.useMemo(function () {\n    return uniqueModalIdentifier++;\n  }, []);\n\n  var _React$useState = React.useState(false),\n      isActive = _React$useState[0],\n      setIsActive = _React$useState[1];\n\n  var onDismissCallback = React.useCallback(function () {\n    removeActiveModal(modalId);\n\n    if (onDismiss) {\n      onDismiss();\n    }\n  }, [modalId, onDismiss]);\n  var onShowCallback = React.useCallback(function () {\n    addActiveModal(modalId, setIsActive);\n\n    if (onShow) {\n      onShow();\n    }\n  }, [modalId, onShow]);\n  React.useEffect(function () {\n    return function () {\n      return removeActiveModal(modalId);\n    };\n  }, [modalId]);\n  return /*#__PURE__*/React.createElement(ModalPortal, null, /*#__PURE__*/React.createElement(ModalAnimation, {\n    animationType: animationType,\n    onDismiss: onDismissCallback,\n    onShow: onShowCallback,\n    visible: visible\n  }, /*#__PURE__*/React.createElement(ModalFocusTrap, {\n    active: isActive\n  }, /*#__PURE__*/React.createElement(ModalContent, {\n    active: isActive,\n    onRequestClose: onRequestClose,\n    ref: forwardedRef,\n    transparent: transparent\n  }, children))));\n});\nexport default Modal;"]},"metadata":{},"sourceType":"module"}