react-modal-construction-kit
Version:
A flexible Modal component kit for React
189 lines (161 loc) • 27.7 kB
JavaScript
(function webpackUniversalModuleDefinition(root, factory) {
if(typeof exports === 'object' && typeof module === 'object')
module.exports = factory(require("prop-types"), require("react"), require("react-dom"), require("react-transition-group"));
else if(typeof define === 'function' && define.amd)
define(["prop-types", "react", "react-dom", "react-transition-group"], factory);
else if(typeof exports === 'object')
exports["ReactModalConstructionKit"] = factory(require("prop-types"), require("react"), require("react-dom"), require("react-transition-group"));
else
root["ReactModalConstructionKit"] = factory(root["PropTypes"], root["React"], root["ReactDom"], root["ReactTransitionGroup"]);
})(window, function(__WEBPACK_EXTERNAL_MODULE_prop_types__, __WEBPACK_EXTERNAL_MODULE_react__, __WEBPACK_EXTERNAL_MODULE_react_dom__, __WEBPACK_EXTERNAL_MODULE_react_transition_group__) {
return /******/ (function(modules) { // webpackBootstrap
/******/ // The module cache
/******/ var installedModules = {};
/******/
/******/ // The require function
/******/ function __webpack_require__(moduleId) {
/******/
/******/ // Check if module is in cache
/******/ if(installedModules[moduleId]) {
/******/ return installedModules[moduleId].exports;
/******/ }
/******/ // Create a new module (and put it into the cache)
/******/ var module = installedModules[moduleId] = {
/******/ i: moduleId,
/******/ l: false,
/******/ exports: {}
/******/ };
/******/
/******/ // Execute the module function
/******/ modules[moduleId].call(module.exports, module, module.exports, __webpack_require__);
/******/
/******/ // Flag the module as loaded
/******/ module.l = true;
/******/
/******/ // Return the exports of the module
/******/ return module.exports;
/******/ }
/******/
/******/
/******/ // expose the modules object (__webpack_modules__)
/******/ __webpack_require__.m = modules;
/******/
/******/ // expose the module cache
/******/ __webpack_require__.c = installedModules;
/******/
/******/ // define getter function for harmony exports
/******/ __webpack_require__.d = function(exports, name, getter) {
/******/ if(!__webpack_require__.o(exports, name)) {
/******/ Object.defineProperty(exports, name, {
/******/ configurable: false,
/******/ enumerable: true,
/******/ get: getter
/******/ });
/******/ }
/******/ };
/******/
/******/ // define __esModule on exports
/******/ __webpack_require__.r = function(exports) {
/******/ Object.defineProperty(exports, '__esModule', { value: true });
/******/ };
/******/
/******/ // getDefaultExport function for compatibility with non-harmony modules
/******/ __webpack_require__.n = function(module) {
/******/ var getter = module && module.__esModule ?
/******/ function getDefault() { return module['default']; } :
/******/ function getModuleExports() { return module; };
/******/ __webpack_require__.d(getter, 'a', getter);
/******/ return getter;
/******/ };
/******/
/******/ // Object.prototype.hasOwnProperty.call
/******/ __webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); };
/******/
/******/ // __webpack_public_path__
/******/ __webpack_require__.p = "";
/******/
/******/
/******/ // Load entry module and return exports
/******/ return __webpack_require__(__webpack_require__.s = "./src/index.js");
/******/ })
/************************************************************************/
/******/ ({
/***/ "./src/Modal/Modal.js":
/*!****************************!*\
!*** ./src/Modal/Modal.js ***!
\****************************/
/*! no static exports found */
/***/ (function(module, exports, __webpack_require__) {
"use strict";
eval("\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.getTransitionStyles = undefined;\n\nvar _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; };\n\nvar _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\nvar _react = __webpack_require__(/*! react */ \"react\");\n\nvar _react2 = _interopRequireDefault(_react);\n\nvar _propTypes = __webpack_require__(/*! prop-types */ \"prop-types\");\n\nvar _propTypes2 = _interopRequireDefault(_propTypes);\n\nvar _Portal = __webpack_require__(/*! ../Portal/Portal */ \"./src/Portal/Portal.js\");\n\nvar _Portal2 = _interopRequireDefault(_Portal);\n\nvar _reactTransitionGroup = __webpack_require__(/*! react-transition-group */ \"react-transition-group\");\n\nvar _utils = __webpack_require__(/*! ../utils */ \"./src/utils.js\");\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; }\n\nvar getTransitionStyles = exports.getTransitionStyles = function getTransitionStyles() {\n return {\n exited: {\n display: 'none'\n },\n entering: {\n opacity: 0.01,\n transform: 'scale(1.05)'\n },\n entered: {\n opacity: 1,\n transform: 'none'\n },\n exiting: {\n opacity: 0.01,\n transform: 'scale(0.90)'\n }\n };\n};\n\nvar getStyle = function getStyle(_ref) {\n var zIndex = _ref.zIndex,\n isCentered = _ref.isCentered,\n transitionDuration = _ref.transitionDuration;\n return {\n component: {\n overflowX: 'hidden',\n overflowY: 'auto',\n position: 'fixed',\n top: 0,\n right: 0,\n bottom: 0,\n left: 0,\n zIndex: zIndex,\n outline: 0,\n transition: 'opacity ' + transitionDuration / 2 + 'ms linear, transform ' + transitionDuration + 'ms ease-out'\n },\n dialog: {\n display: 'flex',\n alignItems: 'center',\n position: 'relative',\n maxWidth: '500px',\n margin: isCentered ? '0 auto' : '1.75rem auto',\n minHeight: isCentered && '100%',\n width: 'auto',\n boxSizing: 'border-box',\n pointerEvents: 'none'\n },\n content: {\n position: 'relative',\n WebkitBoxOrient: 'vertical',\n WebkitBoxDirection: 'normal',\n MsFlexDirection: 'column',\n flexDirection: 'column',\n width: '100%',\n pointerEvents: 'auto',\n backgroundColor: 'white',\n backgroundClip: 'padding-box',\n outline: 0,\n display: 'flex',\n boxSizing: 'border-box'\n }\n };\n};\n\nvar Modal = function (_React$Component) {\n _inherits(Modal, _React$Component);\n\n function Modal(props) {\n _classCallCheck(this, Modal);\n\n var _this = _possibleConstructorReturn(this, (Modal.__proto__ || Object.getPrototypeOf(Modal)).call(this, props));\n\n _this.onOpened = function (node, isAppearing) {\n var _this$props = _this.props,\n onOpened = _this$props.onOpened,\n onEntered = _this$props.onEntered;\n\n\n onOpened();\n onEntered(node, isAppearing);\n };\n\n _this.onClosed = function (node) {\n var _this$props2 = _this.props,\n onClosed = _this$props2.onClosed,\n onExited = _this$props2.onExited;\n\n\n onClosed();\n onExited(node);\n _this.destroy();\n\n if (_this._isMounted) {\n _this.setState({ isOpen: false });\n }\n };\n\n _this.handleEscape = function (e) {\n var _this$props3 = _this.props,\n isOpen = _this$props3.isOpen,\n hasEscapeClose = _this$props3.hasEscapeClose,\n onClosed = _this$props3.onClosed;\n\n\n if (isOpen && hasEscapeClose && e.keyCode === 27 && onClosed) {\n onClosed();\n }\n };\n\n _this.handleClick = function (e) {\n var hasClickedOutside = !_this.contentRef.contains(e.target);\n\n if (hasClickedOutside) {\n _this.props.onClosed();\n }\n };\n\n _this.element = null;\n _this.originalBodyPadding = null;\n\n _this.state = {\n isOpen: props.isOpen\n };\n\n if (props.isOpen) {\n _this.init();\n }\n return _this;\n }\n\n _createClass(Modal, [{\n key: 'componentDidMount',\n value: function componentDidMount() {\n if (this.props.onEnter) {\n this.props.onEnter();\n }\n\n if (this.state.isOpen && this.props.autoFocus) {\n this.setFocus();\n }\n\n window.addEventListener('keydown', this.handleEscape, true);\n\n this._isMounted = true;\n }\n }, {\n key: 'componentWillReceiveProps',\n value: function componentWillReceiveProps(nextProps) {\n if (nextProps.isOpen && !this.props.isOpen) {\n this.setState({ isOpen: nextProps.isOpen });\n }\n }\n }, {\n key: 'componentWillUpdate',\n value: function componentWillUpdate(nextProps, nextState) {\n if (nextState.isOpen && !this.state.isOpen) {\n this.init();\n }\n }\n }, {\n key: 'componentDidUpdate',\n value: function componentDidUpdate(prevProps, prevState) {\n if (this.props.autoFocus && this.state.isOpen && !prevState.isOpen) {\n this.setFocus();\n }\n }\n }, {\n key: 'componentWillUnmount',\n value: function componentWillUnmount() {\n if (this.props.onExit) {\n this.props.onExit();\n }\n\n if (this.state.isOpen) {\n this.destroy();\n }\n\n window.removeEventListener('keydown', this.handleEscape, true);\n\n this._isMounted = false;\n }\n }, {\n key: 'setFocus',\n value: function setFocus() {\n if (this.dialogRef && this.dialogRef.parentNode && typeof this.dialogRef.parentNode.focus === 'function') {\n this.dialogRef.parentNode.focus();\n }\n }\n }, {\n key: 'init',\n value: function init() {\n this.element = document.createElement('div');\n this.element.setAttribute('tabindex', '-1');\n this.element.style.position = 'relative';\n this.element.style.zIndex = this.props.zIndex;\n this.originalBodyPadding = (0, _utils.getOriginalBodyPadding)();\n\n (0, _utils.conditionallyUpdateScrollbar)();\n\n document.body.appendChild(this.element);\n\n if (!this._bodyStyleAdded) {\n document.body.style.overflow = 'hidden';\n this._bodyStyleAdded = true;\n }\n }\n }, {\n key: 'destroy',\n value: function destroy() {\n if (this.element) {\n document.body.removeChild(this.element);\n this.element = null;\n }\n\n if (this._bodyStyleAdded) {\n document.body.style.overflow = null;\n this._bodyStyleAdded = false;\n }\n\n (0, _utils.setScrollbarWidth)(this.originalBodyPadding);\n }\n }, {\n key: 'render',\n value: function render() {\n var _this2 = this;\n\n if (!this.state.isOpen) {\n return null;\n }\n\n var _props = this.props,\n isOpen = _props.isOpen,\n role = _props.role,\n transitionDuration = _props.transitionDuration,\n children = _props.children,\n className = _props.className,\n dialogClassName = _props.dialogClassName,\n contentClassName = _props.contentClassName,\n hasOutsideClickClose = _props.hasOutsideClickClose;\n\n\n var style = getStyle(this.props);\n\n return _react2.default.createElement(\n _Portal2.default,\n { node: this.element },\n _react2.default.createElement(\n _reactTransitionGroup.Transition,\n {\n appear: true,\n onEntered: this.onOpened,\n onExited: this.onClosed,\n timeout: transitionDuration,\n 'in': isOpen },\n function (state) {\n return _react2.default.createElement(\n 'div',\n {\n onClick: hasOutsideClickClose ? _this2.handleClick : null,\n tabIndex: '-1',\n role: role,\n className: className,\n style: _extends({}, style.component, getTransitionStyles()[state]) },\n _react2.default.createElement(\n 'div',\n {\n className: dialogClassName,\n style: style.dialog,\n role: 'document',\n ref: function ref(c) {\n _this2.dialogRef = c;\n } },\n _react2.default.createElement(\n 'div',\n {\n className: contentClassName,\n ref: function ref(c) {\n _this2.contentRef = c;\n },\n style: style.content },\n children\n )\n )\n );\n }\n )\n );\n }\n }]);\n\n return Modal;\n}(_react2.default.Component);\n\nModal.propTypes = {\n isOpen: _propTypes2.default.bool,\n autoFocus: _propTypes2.default.bool,\n hasEscapeClose: _propTypes2.default.bool,\n hasOutsideClickClose: _propTypes2.default.bool,\n role: _propTypes2.default.string,\n onEnter: _propTypes2.default.func,\n onExit: _propTypes2.default.func,\n onOpened: _propTypes2.default.func,\n onClosed: _propTypes2.default.func,\n zIndex: _propTypes2.default.number,\n children: _propTypes2.default.node.isRequired,\n onEntered: _propTypes2.default.func,\n onExited: _propTypes2.default.func,\n transitionDuration: _propTypes2.default.number,\n className: _propTypes2.default.string,\n dialogClassName: _propTypes2.default.string,\n contentClassName: _propTypes2.default.string,\n // eslint-disable-next-line react/no-unused-prop-types\n isCentered: _propTypes2.default.bool\n};\nModal.defaultProps = {\n isOpen: false,\n autoFocus: true,\n role: 'dialog',\n zIndex: 750,\n onOpened: _utils.noop,\n hasEscapeClose: true,\n hasOutsideClickClose: true,\n onClosed: _utils.noop,\n transitionDuration: 300,\n onEntered: _utils.noop,\n onExited: _utils.noop,\n isCentered: true\n};\nexports.default = Modal;\n\n//# sourceURL=webpack://ReactModalConstructionKit/./src/Modal/Modal.js?");
/***/ }),
/***/ "./src/Overlay/Overlay.js":
/*!********************************!*\
!*** ./src/Overlay/Overlay.js ***!
\********************************/
/*! no static exports found */
/***/ (function(module, exports, __webpack_require__) {
"use strict";
eval("\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.getTransitionStyles = undefined;\n\nvar _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; };\n\nvar _react = __webpack_require__(/*! react */ \"react\");\n\nvar _react2 = _interopRequireDefault(_react);\n\nvar _propTypes = __webpack_require__(/*! prop-types */ \"prop-types\");\n\nvar _propTypes2 = _interopRequireDefault(_propTypes);\n\nvar _Portal = __webpack_require__(/*! ../Portal/Portal */ \"./src/Portal/Portal.js\");\n\nvar _Portal2 = _interopRequireDefault(_Portal);\n\nvar _reactTransitionGroup = __webpack_require__(/*! react-transition-group */ \"react-transition-group\");\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nvar getDefaultStyle = function getDefaultStyle(transitionDuration) {\n return {\n position: 'fixed',\n top: 0,\n right: 0,\n bottom: 0,\n left: 0,\n willChange: 'opacity',\n backgroundColor: 'black',\n transition: 'opacity ' + transitionDuration + 'ms ease-in-out'\n };\n};\n\nvar getTransitionStyles = exports.getTransitionStyles = function getTransitionStyles(opacity) {\n return {\n exited: {\n display: 'none'\n },\n entering: {\n opacity: 0.01\n },\n entered: {\n opacity: opacity\n },\n exiting: {\n opacity: 0.01\n }\n };\n};\n\nvar Overlay = function Overlay(_ref) {\n var isVisible = _ref.isVisible,\n zIndex = _ref.zIndex,\n transitionDuration = _ref.transitionDuration,\n opacity = _ref.opacity,\n onClick = _ref.onClick,\n className = _ref.className;\n\n var style = _extends({}, getDefaultStyle(transitionDuration), {\n zIndex: zIndex || 500\n });\n\n return _react2.default.createElement(\n _Portal2.default,\n null,\n _react2.default.createElement(\n _reactTransitionGroup.Transition,\n {\n 'in': isVisible,\n timeout: transitionDuration },\n function (state) {\n return _react2.default.createElement('div', {\n className: className,\n onClick: onClick,\n style: _extends({}, style, getTransitionStyles(opacity)[state]) });\n }\n )\n );\n};\n\nOverlay.propTypes = {\n isVisible: _propTypes2.default.bool.isRequired,\n transitionDuration: _propTypes2.default.number,\n zIndex: _propTypes2.default.number,\n opacity: _propTypes2.default.number,\n onClick: _propTypes2.default.func,\n className: _propTypes2.default.string\n};\n\nOverlay.defaultProps = {\n transitionDuration: 150,\n zIndex: 500,\n opacity: 0.7,\n backgroundColor: 'black'\n};\n\nexports.default = Overlay;\n\n//# sourceURL=webpack://ReactModalConstructionKit/./src/Overlay/Overlay.js?");
/***/ }),
/***/ "./src/Portal/Portal.js":
/*!******************************!*\
!*** ./src/Portal/Portal.js ***!
\******************************/
/*! no static exports found */
/***/ (function(module, exports, __webpack_require__) {
"use strict";
eval("\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\nvar _react = __webpack_require__(/*! react */ \"react\");\n\nvar _react2 = _interopRequireDefault(_react);\n\nvar _reactDom = __webpack_require__(/*! react-dom */ \"react-dom\");\n\nvar _propTypes = __webpack_require__(/*! prop-types */ \"prop-types\");\n\nvar _propTypes2 = _interopRequireDefault(_propTypes);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; }\n\nvar Portal = function (_React$Component) {\n _inherits(Portal, _React$Component);\n\n function Portal() {\n _classCallCheck(this, Portal);\n\n return _possibleConstructorReturn(this, (Portal.__proto__ || Object.getPrototypeOf(Portal)).apply(this, arguments));\n }\n\n _createClass(Portal, [{\n key: 'componentWillUnmount',\n value: function componentWillUnmount() {\n if (this.defaultNode) {\n document.body.removeChild(this.defaultNode);\n }\n\n this.defaultNode = null;\n }\n }, {\n key: 'render',\n value: function render() {\n if (!this.props.node && !this.defaultNode) {\n this.defaultNode = document.createElement('div');\n document.body.appendChild(this.defaultNode);\n }\n\n return (0, _reactDom.createPortal)(this.props.children, this.props.node || this.defaultNode);\n }\n }]);\n\n return Portal;\n}(_react2.default.Component);\n\nPortal.propTypes = {\n children: _propTypes2.default.node.isRequired,\n node: _propTypes2.default.any\n};\nexports.default = Portal;\n\n//# sourceURL=webpack://ReactModalConstructionKit/./src/Portal/Portal.js?");
/***/ }),
/***/ "./src/index.js":
/*!**********************!*\
!*** ./src/index.js ***!
\**********************/
/*! no static exports found */
/***/ (function(module, exports, __webpack_require__) {
"use strict";
eval("\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.Portal = exports.Overlay = exports.Modal = undefined;\n\nvar _Modal = __webpack_require__(/*! ./Modal/Modal */ \"./src/Modal/Modal.js\");\n\nvar _Modal2 = _interopRequireDefault(_Modal);\n\nvar _Overlay = __webpack_require__(/*! ./Overlay/Overlay */ \"./src/Overlay/Overlay.js\");\n\nvar _Overlay2 = _interopRequireDefault(_Overlay);\n\nvar _Portal = __webpack_require__(/*! ./Portal/Portal */ \"./src/Portal/Portal.js\");\n\nvar _Portal2 = _interopRequireDefault(_Portal);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nexports.Modal = _Modal2.default;\nexports.Overlay = _Overlay2.default;\nexports.Portal = _Portal2.default;\n\n//# sourceURL=webpack://ReactModalConstructionKit/./src/index.js?");
/***/ }),
/***/ "./src/utils.js":
/*!**********************!*\
!*** ./src/utils.js ***!
\**********************/
/*! no static exports found */
/***/ (function(module, exports, __webpack_require__) {
"use strict";
eval("\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.getScrollbarWidth = getScrollbarWidth;\nexports.setScrollbarWidth = setScrollbarWidth;\nexports.isBodyOverflowing = isBodyOverflowing;\nexports.getOriginalBodyPadding = getOriginalBodyPadding;\nexports.conditionallyUpdateScrollbar = conditionallyUpdateScrollbar;\nexports.noop = noop;\nfunction getScrollbarWidth() {\n var scrollDiv = document.createElement('div');\n scrollDiv.style.position = 'absolute';\n scrollDiv.style.top = '-9999px';\n scrollDiv.style.width = '50px';\n scrollDiv.style.height = '50px';\n scrollDiv.style.overflow = 'scroll';\n document.body.appendChild(scrollDiv);\n var scrollbarWidth = scrollDiv.offsetWidth - scrollDiv.clientWidth;\n document.body.removeChild(scrollDiv);\n return scrollbarWidth;\n}\n\nfunction setScrollbarWidth(padding) {\n document.body.style.paddingRight = padding > 0 ? padding + 'px' : null;\n}\n\nfunction isBodyOverflowing() {\n return document.body.clientWidth < window.innerWidth;\n}\n\nfunction getOriginalBodyPadding() {\n var style = window.getComputedStyle(document.body, null);\n\n return parseInt(style && style.getPropertyValue('padding-right') || 0, 10);\n}\n\nfunction conditionallyUpdateScrollbar() {\n var scrollbarWidth = getScrollbarWidth();\n var bodyPadding = 0;\n\n if (isBodyOverflowing()) {\n setScrollbarWidth(bodyPadding + scrollbarWidth);\n }\n}\n\nfunction noop() {}\n\n//# sourceURL=webpack://ReactModalConstructionKit/./src/utils.js?");
/***/ }),
/***/ "prop-types":
/*!*********************************************************************************************************!*\
!*** external {"root":"PropTypes","commonjs2":"prop-types","commonjs":"prop-types","amd":"prop-types"} ***!
\*********************************************************************************************************/
/*! no static exports found */
/***/ (function(module, exports) {
eval("module.exports = __WEBPACK_EXTERNAL_MODULE_prop_types__;\n\n//# sourceURL=webpack://ReactModalConstructionKit/external_%7B%22root%22:%22PropTypes%22,%22commonjs2%22:%22prop-types%22,%22commonjs%22:%22prop-types%22,%22amd%22:%22prop-types%22%7D?");
/***/ }),
/***/ "react":
/*!**************************************************************************************!*\
!*** external {"root":"React","commonjs2":"react","commonjs":"react","amd":"react"} ***!
\**************************************************************************************/
/*! no static exports found */
/***/ (function(module, exports) {
eval("module.exports = __WEBPACK_EXTERNAL_MODULE_react__;\n\n//# sourceURL=webpack://ReactModalConstructionKit/external_%7B%22root%22:%22React%22,%22commonjs2%22:%22react%22,%22commonjs%22:%22react%22,%22amd%22:%22react%22%7D?");
/***/ }),
/***/ "react-dom":
/*!*****************************************************************************************************!*\
!*** external {"root":"ReactDom","commonjs2":"react-dom","commonjs":"react-dom","amd":"react-dom"} ***!
\*****************************************************************************************************/
/*! no static exports found */
/***/ (function(module, exports) {
eval("module.exports = __WEBPACK_EXTERNAL_MODULE_react_dom__;\n\n//# sourceURL=webpack://ReactModalConstructionKit/external_%7B%22root%22:%22ReactDom%22,%22commonjs2%22:%22react-dom%22,%22commonjs%22:%22react-dom%22,%22amd%22:%22react-dom%22%7D?");
/***/ }),
/***/ "react-transition-group":
/*!********************************************************************************************************************************************************!*\
!*** external {"root":"ReactTransitionGroup","commonjs2":"react-transition-group","commonjs":"react-transition-group","amd":"react-transition-group"} ***!
\********************************************************************************************************************************************************/
/*! no static exports found */
/***/ (function(module, exports) {
eval("module.exports = __WEBPACK_EXTERNAL_MODULE_react_transition_group__;\n\n//# sourceURL=webpack://ReactModalConstructionKit/external_%7B%22root%22:%22ReactTransitionGroup%22,%22commonjs2%22:%22react-transition-group%22,%22commonjs%22:%22react-transition-group%22,%22amd%22:%22react-transition-group%22%7D?");
/***/ })
/******/ });
});