UNPKG

@polygon.io/core

Version:

A set of themeable UI components for React

1 lines 1.97 kB
"use strict";var _interopRequireDefault=require("@babel/runtime/helpers/interopRequireDefault"),_typeof=require("@babel/runtime/helpers/typeof");Object.defineProperty(exports,"__esModule",{value:!0}),exports["default"]=void 0;var _react=_interopRequireWildcard(require("react")),_reactDom=require("react-dom"),_index=require("./index.styles"),_provider=_interopRequireDefault(require("./provider")),_useEventHandler=_interopRequireDefault(require("../../hooks/useEventHandler"));function _getRequireWildcardCache(a){if("function"!=typeof WeakMap)return null;var b=new WeakMap,c=new WeakMap;return(_getRequireWildcardCache=function(a){return a?c:b})(a)}function _interopRequireWildcard(a,b){if(!b&&a&&a.__esModule)return a;if(null===a||"object"!==_typeof(a)&&"function"!=typeof a)return{default:a};var c=_getRequireWildcardCache(b);if(c&&c.has(a))return c.get(a);var d={},e=Object.defineProperty&&Object.getOwnPropertyDescriptor;for(var f in a)if("default"!=f&&Object.prototype.hasOwnProperty.call(a,f)){var g=e?Object.getOwnPropertyDescriptor(a,f):null;g&&(g.get||g.set)?Object.defineProperty(d,f,g):d[f]=a[f]}return d["default"]=a,c&&c.set(a,d),d}var __jsx=_react["default"].createElement,Modal=function(a){var b=a.className,c=a.open,d=a.dismissible,e=a.children,f=a.onClose,g=a.fullScreen,h=a.addMinHeight,i=a.zIndex,j=(0,_react.useCallback)(function(a){var b=a.key;c&&"Escape"===b&&f()},[f,c]);(0,_useEventHandler["default"])("keydown",j);var k=(0,_react.useContext)(_provider["default"]);return c&&k.current?/*#__PURE__*/(0,_reactDom.createPortal)(__jsx(_index.StyledModal,{flexDirection:"column",justifyContent:"center",alignItems:"center",zIndex:i},__jsx(_index.ModalBackground,{onClick:d?f:void 0}),__jsx(_index.Card,{className:b,flexDirection:"column",fullScreen:g,addMinHeight:h},e)),k.current):null};Modal.defaultProps={className:void 0,open:!1,dismissible:!1,children:null,fullScreen:!1,addMinHeight:!1,zIndex:9999};var _default=Modal;exports["default"]=_default;