PK!qapistar_crud/__init__.py__version__ = "0.2.3" __license__ = "GPLv3" __author__ = "José Antonio Perdiguero López" __email__ = "perdy.hh@gmail.com" __url__ = "https://github.com/PeRDy/apistar-crud" __description__ = "API Star tools to create CRUD resources." PK!HMUapistar_crud/admin.pyimport typing from apistar import App, Route, types, validators class Metadata(types.Type): resources = validators.Object(title="resources", description="Resource list") schema = validators.String(title="schema", description="OpenAPI schema") class Admin: def __init__(self, *resources): self.resources = {resource.name: resource for resource in resources} def main(self, app: App, path: str = ""): """ Admin main page presenting a list of resources. """ return app.render_template("apistar_crud/admin.html") def metadata(self, app: App) -> Metadata: """ Admin metadata. """ return Metadata( { "resources": {resource.verbose_name: resource.name for resource in self.resources.values()}, "admin": app.reverse_url("admin:main"), "schema": app.reverse_url("serve_schema"), } ) @property def routes(self) -> typing.List[Route]: return [ Route("/", "GET", self.main, name="main", documented=False), Route("/metadata/", "GET", self.metadata, name="metadata", documented=False), Route("/{+path}", "GET", self.main, name="main-path", documented=False), ] PK!!apistar_crud/resource/__init__.pyPK!hV V apistar_crud/resource/base.pyimport re import typing from apistar import Route class BaseResource(type): METHODS = { "list": ("/", "GET"), # List resource collection "drop": ("/", "DELETE"), # Drop resource entire collection "create": ("/", "POST"), # Create a new element for this resource "retrieve": ("/{element_id}/", "GET"), # Retrieve an element of this resource "update": ("/{element_id}/", "PUT"), # Update an element of this resource "delete": ("/{element_id}/", "DELETE"), # Delete an element of this resource } AVAILABLE_METHODS = tuple(METHODS.keys()) DEFAULT_METHODS = ("create", "retrieve", "update", "delete", "list") def __new__(mcs, name, bases, namespace): try: resource_name = namespace.get("name", name.lower()) model = namespace["model"] input_type = namespace["input_type"] output_type = namespace["output_type"] except KeyError as e: raise AttributeError('{} needs to define attribute: "{}"'.format(name, e)) # Check resource name validity if re.match("[a-zA-Z][-_a-zA-Z]", resource_name) is None: raise AttributeError('Invalid resource name "{}"'.format(resource_name)) # Add valid name and verbose name namespace["name"] = resource_name namespace["verbose_name"] = namespace.get("verbose_name", namespace["name"]) methods = namespace.get("methods", mcs.DEFAULT_METHODS) # Create CRUD methods and routes mcs.add_methods(namespace, methods, model, input_type, output_type) mcs.add_routes(namespace, methods) return type(name, bases, namespace) @classmethod def add_routes(mcs, namespace: typing.Dict[str, typing.Any], methods: typing.Iterable[str]): class Routes: """Routes descriptor""" def __get__(self, instance, owner): return [Route(*mcs.METHODS[method], getattr(owner, method), name=method) for method in methods] namespace["routes"] = Routes() @classmethod def add_methods( mcs, namespace: typing.Dict[str, typing.Any], methods: typing.Iterable[str], model, input_type, output_type ): # Generate CRUD methods crud_ns = { k: v for m in methods for k, v in getattr(mcs, "add_{}".format(m))(model, input_type, output_type).items() } # Preserve already defined methods crud_ns.update({m: crud_ns[f"_{m}"] for m in methods if m not in namespace}) namespace.update(crud_ns) @classmethod def add_create(mcs, model, input_type, output_type) -> typing.Dict[str, typing.Any]: raise NotImplementedError @classmethod def add_retrieve(mcs, model, input_type, output_type) -> typing.Dict[str, typing.Any]: raise NotImplementedError @classmethod def add_update(mcs, model, input_type, output_type) -> typing.Dict[str, typing.Any]: raise NotImplementedError @classmethod def add_delete(mcs, model, input_type, output_type) -> typing.Dict[str, typing.Any]: raise NotImplementedError @classmethod def add_list(mcs, model, input_type, output_type) -> typing.Dict[str, typing.Any]: raise NotImplementedError @classmethod def add_drop(mcs, model, input_type, output_type) -> typing.Dict[str, typing.Any]: raise NotImplementedError PK!lUapistar_crud/resource/peewee.pyimport operator import typing from functools import reduce from apistar import http, types, validators from apistar.exceptions import NotFound from apistar_pagination import PageNumberResponse from peewee import DoesNotExist from apistar_crud.resource.base import BaseResource class Resource(BaseResource): @classmethod def add_create(mcs, model, input_type, output_type) -> typing.Dict[str, typing.Any]: def create(cls, element: input_type) -> output_type: """ Create a new element for this resource. """ record = model.create(**element) return http.JSONResponse(output_type(record), status_code=201) return {"_create": classmethod(create)} @classmethod def add_retrieve(mcs, model, input_type, output_type) -> typing.Dict[str, typing.Any]: def retrieve(cls, element_id: str) -> output_type: """ Retrieve an element of this resource. """ try: record = model.get_by_id(element_id) except DoesNotExist: raise NotFound return output_type(record) return {"_retrieve": classmethod(retrieve)} @classmethod def add_update(mcs, model, input_type, output_type) -> typing.Dict[str, typing.Any]: def update(cls, element_id: str, element: input_type) -> output_type: """ Update an element of this resource. """ try: record = model.get_by_id(element_id) except DoesNotExist: raise NotFound for k, value in element.items(): setattr(record, k, value) record.save() return http.JSONResponse(output_type(record), status_code=200) return {"_update": classmethod(update)} @classmethod def add_delete(mcs, model, input_type, output_type) -> typing.Dict[str, typing.Any]: def delete(cls, element_id: str) -> typing.Dict[str, typing.Any]: """ Delete an element of this resource. """ try: record = model.get_by_id(element_id) except DoesNotExist: raise NotFound record.delete_instance() return http.JSONResponse(None, status_code=204) return {"_delete": classmethod(delete)} @classmethod def add_list(mcs, model, input_type, output_type) -> typing.Dict[str, typing.Any]: def filter_(cls, **filters) -> typing.List[output_type]: """ Filtering over a resource collection. """ queryset = model.select() filters = {k: v for k, v in filters.items() if v} if filters: queryset = queryset.where(reduce(operator.and_, [(getattr(model, k) == v) for k, v in filters.items()])) return [output_type(record) for record in queryset] def list_(cls, page: http.QueryParam = None, page_size: http.QueryParam = None) -> typing.List[output_type]: """ List resource collection. """ return PageNumberResponse(page=page, page_size=page_size, content=cls._filter()) # noqa return {"_list": classmethod(list_), "_filter": classmethod(filter_)} @classmethod def add_drop(mcs, model, input_type, output_type) -> typing.Dict[str, typing.Any]: class DropOutput(types.Type): deleted = validators.Integer(title="deleted", description="Number of deleted elements", minimum=0) def drop(cls) -> DropOutput: """ Drop resource collection. """ num_records = model.delete().execute() return http.JSONResponse(DropOutput({"deleted": num_records}), status_code=204) return {"_drop": classmethod(drop)} PK!b*Eqq#apistar_crud/resource/sqlalchemy.pyimport typing from apistar import http, types, validators from apistar.exceptions import NotFound from apistar_pagination import PageNumberResponse from sqlalchemy.orm import Session from apistar_crud.resource.base import BaseResource class Resource(BaseResource): @classmethod def add_create(mcs, model, input_type, output_type) -> typing.Dict[str, typing.Any]: def create(cls, session: Session, element: input_type) -> output_type: """ Create a new element for this resource. """ record = model(**element) session.add(record) session.flush() return http.JSONResponse(output_type(record), status_code=201) return {"_create": classmethod(create)} @classmethod def add_retrieve(mcs, model, input_type, output_type) -> typing.Dict[str, typing.Any]: def retrieve(cls, session: Session, element_id: str) -> output_type: """ Retrieve an element of this resource. """ record = session.query(model).get(element_id) if record is None: raise NotFound return output_type(record) return {"_retrieve": classmethod(retrieve)} @classmethod def add_update(mcs, model, input_type, output_type) -> typing.Dict[str, typing.Any]: def update(cls, session: Session, element_id: str, element: input_type) -> output_type: """ Update an element of this resource. """ record = session.query(model).get(element_id) if record is None: raise NotFound for k, value in element.items(): setattr(record, k, value) return http.JSONResponse(output_type(record), status_code=200) return {"_update": classmethod(update)} @classmethod def add_delete(mcs, model, input_type, output_type) -> typing.Dict[str, typing.Any]: def delete(cls, session: Session, element_id: str) -> typing.Dict[str, typing.Any]: """ Delete an element of this resource. """ if session.query(model).filter_by(id=element_id).count() == 0: raise NotFound session.query(model).filter_by(id=element_id).delete() return http.JSONResponse(None, status_code=204) return {"_delete": classmethod(delete)} @classmethod def add_list(mcs, model, input_type, output_type) -> typing.Dict[str, typing.Any]: def filter_(cls, session: Session, **filters) -> typing.List[output_type]: """ Filter resource collection. """ filters = {k: v for k, v in filters.items() if v} if filters: queryset = session.query(model).filter_by(**filters) else: queryset = session.query(model).all() return [output_type(record) for record in queryset] def list_(cls, page: http.QueryParam = None, page_size: http.QueryParam = None) -> typing.List[output_type]: """ List resource collection. """ return PageNumberResponse(page=page, page_size=page_size, content=cls._filter()) # noqa return {"_list": classmethod(list_), "_filter": classmethod(filter_)} @classmethod def add_drop(mcs, model, input_type, output_type) -> typing.Dict[str, typing.Any]: class DropOutput(types.Type): deleted = validators.Integer(title="deleted", description="Number of deleted elements", minimum=0) def drop(cls, session: Session) -> DropOutput: """ Drop resource collection. """ num_records = session.query(model).count() session.query(model).delete() return http.JSONResponse(DropOutput({"deleted": num_records}), status_code=204) return {"_drop": classmethod(drop)} PK!3apistar_crud/routes.pyimport typing from collections import namedtuple from apistar import Include from apistar_crud.admin import Admin __all__ = ["routes"] RouteOptions = namedtuple("RouteOptions", ("url", "admin")) class Routes: def __init__(self): self.resources = {} def register(self, resource, url: str = None, admin: bool = True): """ Register a resource. :param resource: Resource. :param url: Route url. :param admin: True if should be added to admin site. """ url = url or "/{}".format(resource.name) self.resources[resource] = RouteOptions(url, admin) def routes(self, admin="/admin") -> typing.List[Include]: """ Generate the list of routes for all resources and admin views. :param admin: Admin path, disabled if None. :return: List of routes. """ r = [Include(opts.url, r.name, r.routes) for r, opts in self.resources.items()] if admin: a = Admin(*[r for r, opts in self.resources.items() if opts.admin]) r.append(Include(admin, "admin", a.routes, documented=False)) return r routes = Routes() PK!5ܽ2C2Capistar_crud/static/index.js(window["webpackJsonp"] = window["webpackJsonp"] || []).push([["index"],{ /***/ "./admin/App.js": /*!**********************!*\ !*** ./admin/App.js ***! \**********************/ /*! no static exports found */ /***/ (function(module, exports, __webpack_require__) { "use strict"; Object.defineProperty(exports, "__esModule", { value: true }); var _getPrototypeOf = __webpack_require__(/*! babel-runtime/core-js/object/get-prototype-of */ "./node_modules/babel-runtime/core-js/object/get-prototype-of.js"); var _getPrototypeOf2 = _interopRequireDefault(_getPrototypeOf); var _classCallCheck2 = __webpack_require__(/*! babel-runtime/helpers/classCallCheck */ "./node_modules/babel-runtime/helpers/classCallCheck.js"); var _classCallCheck3 = _interopRequireDefault(_classCallCheck2); var _createClass2 = __webpack_require__(/*! babel-runtime/helpers/createClass */ "./node_modules/babel-runtime/helpers/createClass.js"); var _createClass3 = _interopRequireDefault(_createClass2); var _possibleConstructorReturn2 = __webpack_require__(/*! babel-runtime/helpers/possibleConstructorReturn */ "./node_modules/babel-runtime/helpers/possibleConstructorReturn.js"); var _possibleConstructorReturn3 = _interopRequireDefault(_possibleConstructorReturn2); var _inherits2 = __webpack_require__(/*! babel-runtime/helpers/inherits */ "./node_modules/babel-runtime/helpers/inherits.js"); var _inherits3 = _interopRequireDefault(_inherits2); var _react = __webpack_require__(/*! react */ "./node_modules/react/index.js"); var _react2 = _interopRequireDefault(_react); var _propTypes = __webpack_require__(/*! prop-types */ "./node_modules/prop-types/index.js"); var _propTypes2 = _interopRequireDefault(_propTypes); var _routes = __webpack_require__(/*! ./routes */ "./admin/routes/index.js"); var _routes2 = _interopRequireDefault(_routes); __webpack_require__(/*! ./App.css */ "./admin/App.css"); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } var propTypes = { fetchMetadata: _propTypes2.default.func.isRequired }; var App = function (_Component) { (0, _inherits3.default)(App, _Component); function App() { (0, _classCallCheck3.default)(this, App); return (0, _possibleConstructorReturn3.default)(this, (App.__proto__ || (0, _getPrototypeOf2.default)(App)).apply(this, arguments)); } (0, _createClass3.default)(App, [{ key: 'componentDidMount', value: function componentDidMount() { this.props.fetchMetadata(); } }, { key: 'render', value: function render() { return _react2.default.createElement( 'div', { className: 'App' }, _react2.default.createElement(_routes2.default, null) ); } }]); return App; }(_react.Component); App.propTypes = propTypes; exports.default = App; /***/ }), /***/ "./admin/AppContainer.js": /*!*******************************!*\ !*** ./admin/AppContainer.js ***! \*******************************/ /*! no static exports found */ /***/ (function(module, exports, __webpack_require__) { "use strict"; Object.defineProperty(exports, "__esModule", { value: true }); var _reactRedux = __webpack_require__(/*! react-redux */ "./node_modules/react-redux/es/index.js"); var _App = __webpack_require__(/*! ./App */ "./admin/App.js"); var _App2 = _interopRequireDefault(_App); var _metadata = __webpack_require__(/*! ./ducks/metadata */ "./admin/ducks/metadata.js"); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } var mapStatetoProps = function mapStatetoProps(state) { return {}; }; var mapDispatchToProps = { fetchMetadata: _metadata.fetchMetadataRequest }; exports.default = (0, _reactRedux.connect)(mapStatetoProps, mapDispatchToProps)(_App2.default); /***/ }), /***/ "./admin/api.js": /*!**********************!*\ !*** ./admin/api.js ***! \**********************/ /*! no static exports found */ /***/ (function(module, exports, __webpack_require__) { "use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.REL_PATH = undefined; var _stringify = __webpack_require__(/*! babel-runtime/core-js/json/stringify */ "./node_modules/babel-runtime/core-js/json/stringify.js"); var _stringify2 = _interopRequireDefault(_stringify); var _classCallCheck2 = __webpack_require__(/*! babel-runtime/helpers/classCallCheck */ "./node_modules/babel-runtime/helpers/classCallCheck.js"); var _classCallCheck3 = _interopRequireDefault(_classCallCheck2); var _createClass2 = __webpack_require__(/*! babel-runtime/helpers/createClass */ "./node_modules/babel-runtime/helpers/createClass.js"); var _createClass3 = _interopRequireDefault(_createClass2); var _superagent = __webpack_require__(/*! superagent */ "./node_modules/superagent/lib/client.js"); var _superagent2 = _interopRequireDefault(_superagent); var _swaggerClient = __webpack_require__(/*! swagger-client */ "./node_modules/swagger-client/dist/index.js"); var _swaggerClient2 = _interopRequireDefault(_swaggerClient); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } var REL_PATH = exports.REL_PATH = '/admin/'; var urls = { host: 'http://localhost:8000', metadata: '/admin/metadata/' }; var Api = function () { function Api() { (0, _classCallCheck3.default)(this, Api); } (0, _createClass3.default)(Api, null, [{ key: 'fetchMetadata', value: function fetchMetadata() { return _superagent2.default.get(urls.host + urls.metadata).then(function (response) { return response.body; }).catch(function (error) { throw Error(error.message); }); } }, { key: 'fetchResource', value: function fetchResource(payload, client) { var resourceName = payload.resourceName, query = payload.query; return client.apis[resourceName].list(query).then(function (response) { return response.body; }).catch(function (error) { throw Error(error.message); }); } }, { key: 'fetchResourceElement', value: function fetchResourceElement(payload, client) { var resource = payload.resourceName; var id = payload.resourceId; return client.apis[resource].retrieve({ element_id: id }).then(function (response) { return response.body; }).catch(function (error) { throw Error(error.message); }); } }, { key: 'fetchSwaggerSchema', value: function fetchSwaggerSchema(schemaUrl) { return (0, _swaggerClient2.default)(urls.host + schemaUrl).then(function (client) { return client; }); } }, { key: 'submitResource', value: function submitResource(payload, client) { return client.apis[payload.resourceName].create({}, { requestBody: payload.resourceData }).then(function (response) { return response.body; }).catch(function (error) { throw Error((0, _stringify2.default)(error.response.body)); }); } }, { key: 'updateResourceElement', value: function updateResourceElement(payload, client) { var resourceName = payload.resourceName, resourceId = payload.resourceId, resourceData = payload.resourceData; return client.apis[resourceName].update({ element_id: resourceId }, { requestBody: resourceData }).then(function (response) { return response.body; }); } }, { key: 'deleteResourceElement', value: function deleteResourceElement(payload, client) { var resourceName = payload.resourceName, resourceId = payload.resourceId; return client.apis[resourceName].delete({ element_id: resourceId }).then(function (response) { return response.body; }).catch(function (error) { throw Error(error.message); }); } }]); return Api; }(); exports.default = Api; /***/ }), /***/ "./admin/components/Header/Header.js": /*!*******************************************!*\ !*** ./admin/components/Header/Header.js ***! \*******************************************/ /*! no static exports found */ /***/ (function(module, exports, __webpack_require__) { "use strict"; Object.defineProperty(exports, "__esModule", { value: true }); var _getPrototypeOf = __webpack_require__(/*! babel-runtime/core-js/object/get-prototype-of */ "./node_modules/babel-runtime/core-js/object/get-prototype-of.js"); var _getPrototypeOf2 = _interopRequireDefault(_getPrototypeOf); var _classCallCheck2 = __webpack_require__(/*! babel-runtime/helpers/classCallCheck */ "./node_modules/babel-runtime/helpers/classCallCheck.js"); var _classCallCheck3 = _interopRequireDefault(_classCallCheck2); var _createClass2 = __webpack_require__(/*! babel-runtime/helpers/createClass */ "./node_modules/babel-runtime/helpers/createClass.js"); var _createClass3 = _interopRequireDefault(_createClass2); var _possibleConstructorReturn2 = __webpack_require__(/*! babel-runtime/helpers/possibleConstructorReturn */ "./node_modules/babel-runtime/helpers/possibleConstructorReturn.js"); var _possibleConstructorReturn3 = _interopRequireDefault(_possibleConstructorReturn2); var _inherits2 = __webpack_require__(/*! babel-runtime/helpers/inherits */ "./node_modules/babel-runtime/helpers/inherits.js"); var _inherits3 = _interopRequireDefault(_inherits2); var _react = __webpack_require__(/*! react */ "./node_modules/react/index.js"); var _react2 = _interopRequireDefault(_react); var _core = __webpack_require__(/*! @material-ui/core */ "./node_modules/@material-ui/core/index.es.js"); var _reactRouterDom = __webpack_require__(/*! react-router-dom */ "./node_modules/react-router-dom/es/index.js"); var _reactRedux = __webpack_require__(/*! react-redux */ "./node_modules/react-redux/es/index.js"); var _styles = __webpack_require__(/*! @material-ui/core/styles */ "./node_modules/@material-ui/core/styles/index.js"); var _api = __webpack_require__(/*! ../../api */ "./admin/api.js"); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } var Header = function (_React$Component) { (0, _inherits3.default)(Header, _React$Component); function Header() { (0, _classCallCheck3.default)(this, Header); return (0, _possibleConstructorReturn3.default)(this, (Header.__proto__ || (0, _getPrototypeOf2.default)(Header)).apply(this, arguments)); } (0, _createClass3.default)(Header, [{ key: 'render', value: function render() { return _react2.default.createElement( _core.AppBar, { position: 'static' }, _react2.default.createElement( _core.Toolbar, null, _react2.default.createElement( _core.Typography, { variant: 'title', color: 'inherit' }, _react2.default.createElement( _reactRouterDom.Link, { to: _api.REL_PATH, className: 'HeaderLink' }, 'APISTAR' ) ) ) ); } }]); return Header; }(_react2.default.Component); var mapStateToProps = function mapStateToProps(state) { return { metadata: state.metadata }; }; exports.default = (0, _styles.withTheme)()((0, _reactRedux.connect)(mapStateToProps)(Header)); /***/ }), /***/ "./admin/components/Header/index.js": /*!******************************************!*\ !*** ./admin/components/Header/index.js ***! \******************************************/ /*! no static exports found */ /***/ (function(module, exports, __webpack_require__) { "use strict"; Object.defineProperty(exports, "__esModule", { value: true }); var _Header = __webpack_require__(/*! ./Header */ "./admin/components/Header/Header.js"); var _Header2 = _interopRequireDefault(_Header); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } exports.default = _Header2.default; /***/ }), /***/ "./admin/components/ResourceForm/ResourceForm.jsx": /*!********************************************************!*\ !*** ./admin/components/ResourceForm/ResourceForm.jsx ***! \********************************************************/ /*! no static exports found */ /***/ (function(module, exports, __webpack_require__) { "use strict"; Object.defineProperty(exports, "__esModule", { value: true }); var _entries = __webpack_require__(/*! babel-runtime/core-js/object/entries */ "./node_modules/babel-runtime/core-js/object/entries.js"); var _entries2 = _interopRequireDefault(_entries); var _defineProperty2 = __webpack_require__(/*! babel-runtime/helpers/defineProperty */ "./node_modules/babel-runtime/helpers/defineProperty.js"); var _defineProperty3 = _interopRequireDefault(_defineProperty2); var _getPrototypeOf = __webpack_require__(/*! babel-runtime/core-js/object/get-prototype-of */ "./node_modules/babel-runtime/core-js/object/get-prototype-of.js"); var _getPrototypeOf2 = _interopRequireDefault(_getPrototypeOf); var _classCallCheck2 = __webpack_require__(/*! babel-runtime/helpers/classCallCheck */ "./node_modules/babel-runtime/helpers/classCallCheck.js"); var _classCallCheck3 = _interopRequireDefault(_classCallCheck2); var _createClass2 = __webpack_require__(/*! babel-runtime/helpers/createClass */ "./node_modules/babel-runtime/helpers/createClass.js"); var _createClass3 = _interopRequireDefault(_createClass2); var _possibleConstructorReturn2 = __webpack_require__(/*! babel-runtime/helpers/possibleConstructorReturn */ "./node_modules/babel-runtime/helpers/possibleConstructorReturn.js"); var _possibleConstructorReturn3 = _interopRequireDefault(_possibleConstructorReturn2); var _inherits2 = __webpack_require__(/*! babel-runtime/helpers/inherits */ "./node_modules/babel-runtime/helpers/inherits.js"); var _inherits3 = _interopRequireDefault(_inherits2); var _react = __webpack_require__(/*! react */ "./node_modules/react/index.js"); var _react2 = _interopRequireDefault(_react); var _reactRedux = __webpack_require__(/*! react-redux */ "./node_modules/react-redux/es/index.js"); var _propTypes = __webpack_require__(/*! prop-types */ "./node_modules/prop-types/index.js"); var _propTypes2 = _interopRequireDefault(_propTypes); var _core = __webpack_require__(/*! @material-ui/core */ "./node_modules/@material-ui/core/index.es.js"); var _resource = __webpack_require__(/*! ../../ducks/resource */ "./admin/ducks/resource.js"); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } var propTypes = { schema: _propTypes2.default.object, setCurrentResourceElement: _propTypes2.default.func, updateResourceElement: _propTypes2.default.func, submitResource: _propTypes2.default.func, deleteResourceElement: _propTypes2.default.func, resourceId: _propTypes2.default.string, resourceName: _propTypes2.default.string, currentResourceElement: _propTypes2.default.object }; var defaultProps = {}; var typeMaps = { string: 'text', integer: 'number', float: 'number', // TODO: fix datetime: 'datetime' // TODO: fix }; var ResourceForm = function (_React$Component) { (0, _inherits3.default)(ResourceForm, _React$Component); function ResourceForm() { (0, _classCallCheck3.default)(this, ResourceForm); var _this = (0, _possibleConstructorReturn3.default)(this, (ResourceForm.__proto__ || (0, _getPrototypeOf2.default)(ResourceForm)).call(this)); _this.handleInputChange = _this.handleInputChange.bind(_this); _this.handleSubmit = _this.handleSubmit.bind(_this); _this.handleDialogClose = _this.handleDialogClose.bind(_this); _this.handleDialogOpen = _this.handleDialogOpen.bind(_this); _this.handleDeleteConfirmClick = _this.handleDeleteConfirmClick.bind(_this); _this.state = { data: null, isDialogOpen: false }; return _this; } (0, _createClass3.default)(ResourceForm, [{ key: 'handleInputChange', value: function handleInputChange(evt) { var _evt$target = evt.target, name = _evt$target.name, value = _evt$target.value; this.props.setCurrentResourceElement((0, _defineProperty3.default)({}, name, value)); } }, { key: 'handleSubmit', value: function handleSubmit(evt) { evt.preventDefault(); if (this.props.resourceId !== 'new') { this.props.updateResourceElement({ resourceName: this.props.resourceName, resourceData: this.props.currentResourceElement, resourceId: this.props.resourceId }); } else { this.props.submitResource({ resourceName: this.props.resourceName, resourceData: this.props.currentResourceElement }); } } }, { key: 'handleDialogClose', value: function handleDialogClose() { this.setState({ isDialogOpen: false }); } }, { key: 'handleDialogOpen', value: function handleDialogOpen() { this.setState({ isDialogOpen: true }); } }, { key: 'handleDeleteConfirmClick', value: function handleDeleteConfirmClick() { this.props.deleteResourceElement({ resourceName: this.props.resourceName, resourceId: this.props.resourceId }); } }, { key: 'render', value: function render() { var _this2 = this; var data = this.props.currentResourceElement; var errors = this.props.errors; var resourceSchema = this.props.schema && this.props.schema.spec.paths['/' + this.props.resourceName + '/'].post.requestBody.content['application/json'].schema; var requiredFields = resourceSchema && resourceSchema.required; return resourceSchema ? _react2.default.createElement( 'form', { action: '', onSubmit: this.handleSubmit }, _react2.default.createElement( _core.Grid, { container: true, alignItems: 'center', justify: 'center' }, _react2.default.createElement( _core.Grid, { item: true, xs: 12, sm: 5 }, (0, _entries2.default)(resourceSchema.properties).map(function (field) { return _react2.default.createElement(_core.TextField, { key: field[1].title, error: errors && (field[1].title ? !!errors[field[1].title] : !!errors[field[0]]), type: typeMaps[field[1].type] || 'text', min: field[1].minimum, max: field[1].maximum, id: field[1].title || field[0], label: field[1].description, name: field[1].title || field[0], value: data && (data[field[1].title] || data[field[0]]) || '', onChange: _this2.handleInputChange, margin: 'normal', fullWidth: true, required: requiredFields.includes(field[0]), helperText: errors && (field[1].title ? errors[field[1].title] : errors[field[0]]) || null }); }), this.props.resourceId !== 'new' && _react2.default.createElement( _core.Button, { variant: 'contained', color: 'secondary', className: 'ButtonDelete', onClick: this.handleDialogOpen }, 'Delete' ), _react2.default.createElement( _core.Button, { variant: 'contained', color: 'primary', type: 'submit', className: 'ButtonSave' }, 'Save' ), _react2.default.createElement( _core.Dialog, { open: this.state.isDialogOpen, onClose: this.handleDialogClose, 'aria-labelledby': 'alert-dialog-title', 'aria-describedby': 'alert-dialog-description' }, _react2.default.createElement( _core.DialogTitle, { id: 'alert-dialog-title' }, 'Confirm' ), _react2.default.createElement( _core.DialogContent, null, _react2.default.createElement( _core.DialogContentText, { id: 'alert-dialog-description' }, 'Are you sure you want to delete this item?' ) ), _react2.default.createElement( _core.DialogActions, null, _react2.default.createElement( _core.Button, { onClick: this.handleDeleteConfirmClick, color: 'secondary', variant: 'contained', autoFocus: true }, 'Yes, Delete.' ), _react2.default.createElement( _core.Button, { onClick: this.handleDialogClose }, 'Cancel' ) ) ) ) ) ) : _react2.default.createElement( 'div', { className: 'SpinnerContainer' }, _react2.default.createElement(_core.CircularProgress, null) ); } }]); return ResourceForm; }(_react2.default.Component); ResourceForm.propTypes = propTypes; ResourceForm.defaultProps = defaultProps; var mapStateToProps = function mapStateToProps(state) { return { resources: state.resource.entities, schema: state.metadata.client, currentResourceElement: state.resource.currentResourceElement, errors: state.resource.errors }; }; var mapDispatchToProps = { submitResource: _resource.submitResourceRequest, setCurrentResourceElement: _resource.setCurrentResourceElement, updateResourceElement: _resource.updateResourceElementRequest, deleteResourceElement: _resource.deleteResourceElementRequest }; exports.default = (0, _reactRedux.connect)(mapStateToProps, mapDispatchToProps)(ResourceForm); /***/ }), /***/ "./admin/components/ResourceForm/index.js": /*!************************************************!*\ !*** ./admin/components/ResourceForm/index.js ***! \************************************************/ /*! no static exports found */ /***/ (function(module, exports, __webpack_require__) { "use strict"; Object.defineProperty(exports, "__esModule", { value: true }); var _ResourceForm = __webpack_require__(/*! ./ResourceForm */ "./admin/components/ResourceForm/ResourceForm.jsx"); var _ResourceForm2 = _interopRequireDefault(_ResourceForm); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } exports.default = _ResourceForm2.default; /***/ }), /***/ "./admin/components/TablePaginationActions/TablePaginationActions.jsx": /*!****************************************************************************!*\ !*** ./admin/components/TablePaginationActions/TablePaginationActions.jsx ***! \****************************************************************************/ /*! no static exports found */ /***/ (function(module, exports, __webpack_require__) { "use strict"; Object.defineProperty(exports, "__esModule", { value: true }); var _getPrototypeOf = __webpack_require__(/*! babel-runtime/core-js/object/get-prototype-of */ "./node_modules/babel-runtime/core-js/object/get-prototype-of.js"); var _getPrototypeOf2 = _interopRequireDefault(_getPrototypeOf); var _classCallCheck2 = __webpack_require__(/*! babel-runtime/helpers/classCallCheck */ "./node_modules/babel-runtime/helpers/classCallCheck.js"); var _classCallCheck3 = _interopRequireDefault(_classCallCheck2); var _createClass2 = __webpack_require__(/*! babel-runtime/helpers/createClass */ "./node_modules/babel-runtime/helpers/createClass.js"); var _createClass3 = _interopRequireDefault(_createClass2); var _possibleConstructorReturn2 = __webpack_require__(/*! babel-runtime/helpers/possibleConstructorReturn */ "./node_modules/babel-runtime/helpers/possibleConstructorReturn.js"); var _possibleConstructorReturn3 = _interopRequireDefault(_possibleConstructorReturn2); var _inherits2 = __webpack_require__(/*! babel-runtime/helpers/inherits */ "./node_modules/babel-runtime/helpers/inherits.js"); var _inherits3 = _interopRequireDefault(_inherits2); var _react = __webpack_require__(/*! react */ "./node_modules/react/index.js"); var _react2 = _interopRequireDefault(_react); var _propTypes = __webpack_require__(/*! prop-types */ "./node_modules/prop-types/index.js"); var _propTypes2 = _interopRequireDefault(_propTypes); var _core = __webpack_require__(/*! @material-ui/core */ "./node_modules/@material-ui/core/index.es.js"); var _icons = __webpack_require__(/*! @material-ui/icons/ */ "./node_modules/@material-ui/icons/index.es.js"); var _FirstPage = __webpack_require__(/*! @material-ui/icons/FirstPage */ "./node_modules/@material-ui/icons/FirstPage.js"); var _FirstPage2 = _interopRequireDefault(_FirstPage); var _LastPage = __webpack_require__(/*! @material-ui/icons/LastPage */ "./node_modules/@material-ui/icons/LastPage.js"); var _LastPage2 = _interopRequireDefault(_LastPage); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } var propTypes = { onChangePage: _propTypes2.default.func, rowsPerPage: _propTypes2.default.number, count: _propTypes2.default.number, page: _propTypes2.default.number }; var TablePaginationActions = function (_React$Component) { (0, _inherits3.default)(TablePaginationActions, _React$Component); function TablePaginationActions() { (0, _classCallCheck3.default)(this, TablePaginationActions); var _this = (0, _possibleConstructorReturn3.default)(this, (TablePaginationActions.__proto__ || (0, _getPrototypeOf2.default)(TablePaginationActions)).call(this)); _this.handleBackButtonClick = _this.handleBackButtonClick.bind(_this); _this.handleFirstPageButtonClick = _this.handleFirstPageButtonClick.bind(_this); _this.handleNextButtonClick = _this.handleNextButtonClick.bind(_this); _this.handleLastPageButtonClick = _this.handleLastPageButtonClick.bind(_this); return _this; } (0, _createClass3.default)(TablePaginationActions, [{ key: 'handleFirstPageButtonClick', value: function handleFirstPageButtonClick(event) { this.props.onChangePage(event, 0); } }, { key: 'handleBackButtonClick', value: function handleBackButtonClick(event) { this.props.onChangePage(event, this.props.page - 1); } }, { key: 'handleNextButtonClick', value: function handleNextButtonClick(event) { this.props.onChangePage(event, this.props.page + 1); } }, { key: 'handleLastPageButtonClick', value: function handleLastPageButtonClick(event) { this.props.onChangePage(event, Math.max(0, Math.ceil(this.props.count / this.props.rowsPerPage) - 1)); } }, { key: 'render', value: function render() { var _props = this.props, count = _props.count, page = _props.page, rowsPerPage = _props.rowsPerPage; return _react2.default.createElement( 'div', { className: 'TableActions' }, _react2.default.createElement( _core.IconButton, { onClick: this.handleFirstPageButtonClick, disabled: page === 0, 'aria-label': 'First Page' }, _react2.default.createElement(_FirstPage2.default, null) ), _react2.default.createElement( _core.IconButton, { onClick: this.handleBackButtonClick, disabled: page === 0, 'aria-label': 'Previous Page' }, _react2.default.createElement(_icons.KeyboardArrowLeft, null) ), _react2.default.createElement( _core.IconButton, { onClick: this.handleNextButtonClick, disabled: page >= Math.ceil(count / rowsPerPage) - 1, 'aria-label': 'Next Page' }, _react2.default.createElement(_icons.KeyboardArrowRight, null) ), _react2.default.createElement( _core.IconButton, { onClick: this.handleLastPageButtonClick, disabled: page >= Math.ceil(count / rowsPerPage) - 1, 'aria-label': 'Last Page' }, _react2.default.createElement(_LastPage2.default, null) ) ); } }]); return TablePaginationActions; }(_react2.default.Component); TablePaginationActions.propTypes = propTypes; exports.default = TablePaginationActions; /***/ }), /***/ "./admin/components/TablePaginationActions/index.jsx": /*!***********************************************************!*\ !*** ./admin/components/TablePaginationActions/index.jsx ***! \***********************************************************/ /*! no static exports found */ /***/ (function(module, exports, __webpack_require__) { "use strict"; Object.defineProperty(exports, "__esModule", { value: true }); var _TablePaginationActions = __webpack_require__(/*! ./TablePaginationActions */ "./admin/components/TablePaginationActions/TablePaginationActions.jsx"); var _TablePaginationActions2 = _interopRequireDefault(_TablePaginationActions); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } exports.default = _TablePaginationActions2.default; /***/ }), /***/ "./admin/ducks/index.js": /*!******************************!*\ !*** ./admin/ducks/index.js ***! \******************************/ /*! no static exports found */ /***/ (function(module, exports, __webpack_require__) { "use strict"; Object.defineProperty(exports, "__esModule", { value: true }); var _redux = __webpack_require__(/*! redux */ "./node_modules/redux/es/index.js"); var _metadata = __webpack_require__(/*! ./metadata */ "./admin/ducks/metadata.js"); var _metadata2 = _interopRequireDefault(_metadata); var _resource = __webpack_require__(/*! ./resource */ "./admin/ducks/resource.js"); var _resource2 = _interopRequireDefault(_resource); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } exports.default = (0, _redux.combineReducers)({ metadata: _metadata2.default, resource: _resource2.default }); /***/ }), /***/ "./admin/ducks/metadata.js": /*!*********************************!*\ !*** ./admin/ducks/metadata.js ***! \*********************************/ /*! no static exports found */ /***/ (function(module, exports, __webpack_require__) { "use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.fetchMetadataFailure = exports.fetchMetadataSuccess = exports.fetchMetadataRequest = exports.FETCH_METADATA_FAILURE = exports.FETCH_METADATA_SUCCESS = exports.FETCH_METADATA_REQUEST = undefined; var _defineProperty2 = __webpack_require__(/*! babel-runtime/helpers/defineProperty */ "./node_modules/babel-runtime/helpers/defineProperty.js"); var _defineProperty3 = _interopRequireDefault(_defineProperty2); var _extends2 = __webpack_require__(/*! babel-runtime/helpers/extends */ "./node_modules/babel-runtime/helpers/extends.js"); var _extends3 = _interopRequireDefault(_extends2); var _handleActions; var _reduxActions = __webpack_require__(/*! redux-actions */ "./node_modules/redux-actions/es/index.js"); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } var FETCH_METADATA_REQUEST = exports.FETCH_METADATA_REQUEST = 'metadata/fetch/REQUEST'; var FETCH_METADATA_SUCCESS = exports.FETCH_METADATA_SUCCESS = 'metadata/fetch/SUCCESS'; var FETCH_METADATA_FAILURE = exports.FETCH_METADATA_FAILURE = 'metadata/fetch/FAILURE'; var fetchMetadataRequest = exports.fetchMetadataRequest = (0, _reduxActions.createAction)(FETCH_METADATA_REQUEST); var fetchMetadataSuccess = exports.fetchMetadataSuccess = (0, _reduxActions.createAction)(FETCH_METADATA_SUCCESS); var fetchMetadataFailure = exports.fetchMetadataFailure = (0, _reduxActions.createAction)(FETCH_METADATA_FAILURE); var initialState = { resources: null, schema: null, client: null }; exports.default = (0, _reduxActions.handleActions)((_handleActions = {}, (0, _defineProperty3.default)(_handleActions, FETCH_METADATA_SUCCESS, function (state, _ref) { var payload = _ref.payload; return (0, _extends3.default)({}, state, { resources: payload.resources, schema: payload.schema, client: payload.client }); }), (0, _defineProperty3.default)(_handleActions, FETCH_METADATA_FAILURE, function (state, _ref2) { var payload = _ref2.payload; return (0, _extends3.default)({}, state, { error: payload }); }), _handleActions), initialState); /***/ }), /***/ "./admin/ducks/resource.js": /*!*********************************!*\ !*** ./admin/ducks/resource.js ***! \*********************************/ /*! no static exports found */ /***/ (function(module, exports, __webpack_require__) { "use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.deleteResourceElementRequest = exports.setCurrentResourceElement = exports.updateResourceElementFailure = exports.updateResourceElementSuccess = exports.updateResourceElementRequest = exports.submitResourceFailure = exports.submitResourceSuccess = exports.submitResourceRequest = exports.fetchCurrentResourceSuccess = exports.fetchCurrentResourceRequest = exports.fetchResourceEntitiesSuccess = exports.fetchResourceEntitiesRequest = exports.DELETE_RESOURCE_ELEMENT_REQUEST = exports.SET_CURRENT_RESOURCE_ELEMENT = exports.UPDATE_RESOURCE_ELEMENT_FAILURE = exports.UPDATE_RESOURCE_ELEMENT_SUCCESS = exports.UPDATE_RESOURCE_ELEMENT_REQUEST = exports.SUBMIT_RESOURCE_FAILURE = exports.SUBMIT_RESOURCE_SUCCESS = exports.SUBMIT_RESOURCE_REQUEST = exports.FETCH_CURRENT_RESOURCE_FAILURE = exports.FETCH_CURRENT_RESOURCE_SUCCESS = exports.FETCH_CURRENT_RESOURCE_REQUEST = exports.FETCH_RESOURCE_ENTITIES_FAILURE = exports.FETCH_RESOURCE_ENTITIES_SUCCESS = exports.FETCH_RESOURCE_ENTITIES_REQUEST = undefined; var _defineProperty2 = __webpack_require__(/*! babel-runtime/helpers/defineProperty */ "./node_modules/babel-runtime/helpers/defineProperty.js"); var _defineProperty3 = _interopRequireDefault(_defineProperty2); var _toConsumableArray2 = __webpack_require__(/*! babel-runtime/helpers/toConsumableArray */ "./node_modules/babel-runtime/helpers/toConsumableArray.js"); var _toConsumableArray3 = _interopRequireDefault(_toConsumableArray2); var _extends2 = __webpack_require__(/*! babel-runtime/helpers/extends */ "./node_modules/babel-runtime/helpers/extends.js"); var _extends3 = _interopRequireDefault(_extends2); var _handleActions; var _reduxActions = __webpack_require__(/*! redux-actions */ "./node_modules/redux-actions/es/index.js"); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } var FETCH_RESOURCE_ENTITIES_REQUEST = exports.FETCH_RESOURCE_ENTITIES_REQUEST = 'resource/entities/fetch/REQUEST'; var FETCH_RESOURCE_ENTITIES_SUCCESS = exports.FETCH_RESOURCE_ENTITIES_SUCCESS = 'resource/entities/fetch/SUCCESS'; var FETCH_RESOURCE_ENTITIES_FAILURE = exports.FETCH_RESOURCE_ENTITIES_FAILURE = 'resource/entities/fetch/FAILURE'; var FETCH_CURRENT_RESOURCE_REQUEST = exports.FETCH_CURRENT_RESOURCE_REQUEST = 'resource/current-resource/REQUEST'; var FETCH_CURRENT_RESOURCE_SUCCESS = exports.FETCH_CURRENT_RESOURCE_SUCCESS = 'resource/current-resource/SUCCESS'; var FETCH_CURRENT_RESOURCE_FAILURE = exports.FETCH_CURRENT_RESOURCE_FAILURE = 'resource/current-resource/FAILURE'; var SUBMIT_RESOURCE_REQUEST = exports.SUBMIT_RESOURCE_REQUEST = 'resource/submit/REQUEST'; var SUBMIT_RESOURCE_SUCCESS = exports.SUBMIT_RESOURCE_SUCCESS = 'resource/submit/SUCCESS'; var SUBMIT_RESOURCE_FAILURE = exports.SUBMIT_RESOURCE_FAILURE = 'resource/submit/FAILURE'; var UPDATE_RESOURCE_ELEMENT_REQUEST = exports.UPDATE_RESOURCE_ELEMENT_REQUEST = 'resource/update/REQUEST'; var UPDATE_RESOURCE_ELEMENT_SUCCESS = exports.UPDATE_RESOURCE_ELEMENT_SUCCESS = 'resource/update/SUCCESS'; var UPDATE_RESOURCE_ELEMENT_FAILURE = exports.UPDATE_RESOURCE_ELEMENT_FAILURE = 'resource/update/FAILURE'; var SET_CURRENT_RESOURCE_ELEMENT = exports.SET_CURRENT_RESOURCE_ELEMENT = 'resource/current-resource/SET'; var DELETE_RESOURCE_ELEMENT_REQUEST = exports.DELETE_RESOURCE_ELEMENT_REQUEST = 'resource/delete/REQUEST'; var fetchResourceEntitiesRequest = exports.fetchResourceEntitiesRequest = (0, _reduxActions.createAction)(FETCH_RESOURCE_ENTITIES_REQUEST); var fetchResourceEntitiesSuccess = exports.fetchResourceEntitiesSuccess = (0, _reduxActions.createAction)(FETCH_RESOURCE_ENTITIES_SUCCESS); var fetchCurrentResourceRequest = exports.fetchCurrentResourceRequest = (0, _reduxActions.createAction)(FETCH_CURRENT_RESOURCE_REQUEST); var fetchCurrentResourceSuccess = exports.fetchCurrentResourceSuccess = (0, _reduxActions.createAction)(FETCH_CURRENT_RESOURCE_SUCCESS); var submitResourceRequest = exports.submitResourceRequest = (0, _reduxActions.createAction)(SUBMIT_RESOURCE_REQUEST); var submitResourceSuccess = exports.submitResourceSuccess = (0, _reduxActions.createAction)(SUBMIT_RESOURCE_SUCCESS); var submitResourceFailure = exports.submitResourceFailure = (0, _reduxActions.createAction)(SUBMIT_RESOURCE_FAILURE); var updateResourceElementRequest = exports.updateResourceElementRequest = (0, _reduxActions.createAction)(UPDATE_RESOURCE_ELEMENT_REQUEST); var updateResourceElementSuccess = exports.updateResourceElementSuccess = (0, _reduxActions.createAction)(UPDATE_RESOURCE_ELEMENT_SUCCESS); var updateResourceElementFailure = exports.updateResourceElementFailure = (0, _reduxActions.createAction)(UPDATE_RESOURCE_ELEMENT_FAILURE); var setCurrentResourceElement = exports.setCurrentResourceElement = (0, _reduxActions.createAction)(SET_CURRENT_RESOURCE_ELEMENT); var deleteResourceElementRequest = exports.deleteResourceElementRequest = (0, _reduxActions.createAction)(DELETE_RESOURCE_ELEMENT_REQUEST); var initialState = { entities: null, currentResourceElement: null, rowsPerPage: null, totalCount: null, currentPage: null, errors: null }; exports.default = (0, _reduxActions.handleActions)((_handleActions = {}, (0, _defineProperty3.default)(_handleActions, FETCH_RESOURCE_ENTITIES_SUCCESS, function (state, _ref) { var payload = _ref.payload; return (0, _extends3.default)({}, state, { entities: payload.resources.data, currentResourceElement: null, rowsPerPage: payload.resources.meta.page_size, currentPage: payload.resources.meta.page, totalCount: payload.resources.meta.count }); }), (0, _defineProperty3.default)(_handleActions, FETCH_CURRENT_RESOURCE_SUCCESS, function (state, _ref2) { var payload = _ref2.payload; return (0, _extends3.default)({}, state, { currentResourceElement: payload }); }), (0, _defineProperty3.default)(_handleActions, SUBMIT_RESOURCE_SUCCESS, function (state, _ref3) { var payload = _ref3.payload; return (0, _extends3.default)({}, state, { entities: [].concat((0, _toConsumableArray3.default)(state.entities), [payload]) }); }), (0, _defineProperty3.default)(_handleActions, SUBMIT_RESOURCE_FAILURE, function (state, _ref4) { var payload = _ref4.payload; return (0, _extends3.default)({}, state, { errors: payload }); }), (0, _defineProperty3.default)(_handleActions, SET_CURRENT_RESOURCE_ELEMENT, function (state, _ref5) { var payload = _ref5.payload; return (0, _extends3.default)({}, state, { currentResourceElement: (0, _extends3.default)({}, state.currentResourceElement, payload) }); }), _handleActions), initialState); /***/ }), /***/ "./admin/index.js": /*!************************!*\ !*** ./admin/index.js ***! \************************/ /*! no static exports found */ /***/ (function(module, exports, __webpack_require__) { "use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.history = undefined; var _react = __webpack_require__(/*! react */ "./node_modules/react/index.js"); var _react2 = _interopRequireDefault(_react); var _reactDom = __webpack_require__(/*! react-dom */ "./node_modules/react-dom/index.js"); var _reactDom2 = _interopRequireDefault(_reactDom); var _AppContainer = __webpack_require__(/*! ./AppContainer */ "./admin/AppContainer.js"); var _AppContainer2 = _interopRequireDefault(_AppContainer); __webpack_require__(/*! ./index.css */ "./admin/index.css"); var _createBrowserHistory = __webpack_require__(/*! history/createBrowserHistory */ "./node_modules/history/createBrowserHistory.js"); var _createBrowserHistory2 = _interopRequireDefault(_createBrowserHistory); var _reactRedux = __webpack_require__(/*! react-redux */ "./node_modules/react-redux/es/index.js"); var _redux = __webpack_require__(/*! redux */ "./node_modules/redux/es/index.js"); var _connectedReactRouter = __webpack_require__(/*! connected-react-router */ "./node_modules/connected-react-router/lib/index.js"); var _reduxSaga = __webpack_require__(/*! redux-saga */ "./node_modules/redux-saga/es/index.js"); var _reduxSaga2 = _interopRequireDefault(_reduxSaga); var _ducks = __webpack_require__(/*! ./ducks */ "./admin/ducks/index.js"); var _ducks2 = _interopRequireDefault(_ducks); var _sagas = __webpack_require__(/*! ./sagas */ "./admin/sagas/index.js"); var _sagas2 = _interopRequireDefault(_sagas); var _reactTapEventPlugin = __webpack_require__(/*! react-tap-event-plugin */ "./node_modules/react-tap-event-plugin/src/injectTapEventPlugin.js"); var _reactTapEventPlugin2 = _interopRequireDefault(_reactTapEventPlugin); var _styles = __webpack_require__(/*! @material-ui/core/styles/ */ "./node_modules/@material-ui/core/styles/index.js"); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } var muiTheme = (0, _styles.createMuiTheme)({ palette: { primary: { main: '#31CACC', contrastText: '#fff' } } }); var history = exports.history = (0, _createBrowserHistory2.default)(); var sagaMiddleware = (0, _reduxSaga2.default)(); var composeEnhancers = _redux.compose; if (true) { var composeWithDevToolsExtension = window.__REDUX_DEVTOOLS_EXTENSION_COMPOSE__; if (typeof composeWithDevToolsExtension === 'function') { composeEnhancers = composeWithDevToolsExtension; } } var store = (0, _redux.createStore)((0, _connectedReactRouter.connectRouter)(history)(_ducks2.default), composeEnhancers((0, _redux.applyMiddleware)((0, _connectedReactRouter.routerMiddleware)(history), sagaMiddleware))); sagaMiddleware.run(_sagas2.default); (0, _reactTapEventPlugin2.default)(); _reactDom2.default.render(_react2.default.createElement( _styles.MuiThemeProvider, { theme: muiTheme }, _react2.default.createElement( _reactRedux.Provider, { store: store }, _react2.default.createElement(_AppContainer2.default, null) ) ), document.getElementById('root')); /***/ }), /***/ "./admin/routes/DetailPage.jsx": /*!*************************************!*\ !*** ./admin/routes/DetailPage.jsx ***! \*************************************/ /*! no static exports found */ /***/ (function(module, exports, __webpack_require__) { "use strict"; Object.defineProperty(exports, "__esModule", { value: true }); var _extends2 = __webpack_require__(/*! babel-runtime/helpers/extends */ "./node_modules/babel-runtime/helpers/extends.js"); var _extends3 = _interopRequireDefault(_extends2); var _getPrototypeOf = __webpack_require__(/*! babel-runtime/core-js/object/get-prototype-of */ "./node_modules/babel-runtime/core-js/object/get-prototype-of.js"); var _getPrototypeOf2 = _interopRequireDefault(_getPrototypeOf); var _classCallCheck2 = __webpack_require__(/*! babel-runtime/helpers/classCallCheck */ "./node_modules/babel-runtime/helpers/classCallCheck.js"); var _classCallCheck3 = _interopRequireDefault(_classCallCheck2); var _createClass2 = __webpack_require__(/*! babel-runtime/helpers/createClass */ "./node_modules/babel-runtime/helpers/createClass.js"); var _createClass3 = _interopRequireDefault(_createClass2); var _possibleConstructorReturn2 = __webpack_require__(/*! babel-runtime/helpers/possibleConstructorReturn */ "./node_modules/babel-runtime/helpers/possibleConstructorReturn.js"); var _possibleConstructorReturn3 = _interopRequireDefault(_possibleConstructorReturn2); var _inherits2 = __webpack_require__(/*! babel-runtime/helpers/inherits */ "./node_modules/babel-runtime/helpers/inherits.js"); var _inherits3 = _interopRequireDefault(_inherits2); var _react = __webpack_require__(/*! react */ "./node_modules/react/index.js"); var _react2 = _interopRequireDefault(_react); var _reactRedux = __webpack_require__(/*! react-redux */ "./node_modules/react-redux/es/index.js"); var _reactRouterDom = __webpack_require__(/*! react-router-dom */ "./node_modules/react-router-dom/es/index.js"); var _propTypes = __webpack_require__(/*! prop-types */ "./node_modules/prop-types/index.js"); var _propTypes2 = _interopRequireDefault(_propTypes); var _core = __webpack_require__(/*! @material-ui/core */ "./node_modules/@material-ui/core/index.es.js"); var _api = __webpack_require__(/*! ../api */ "./admin/api.js"); var _ResourceForm = __webpack_require__(/*! ../components/ResourceForm */ "./admin/components/ResourceForm/index.js"); var _ResourceForm2 = _interopRequireDefault(_ResourceForm); var _resource = __webpack_require__(/*! ../ducks/resource */ "./admin/ducks/resource.js"); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } var propTypes = { metadata: _propTypes2.default.shape({ resources: _propTypes2.default.object, client: _propTypes2.default.object, schema: _propTypes2.default.string }), match: _propTypes2.default.object, fetchResource: _propTypes2.default.func.isRequired }; var DetailPage = function (_React$Component) { (0, _inherits3.default)(DetailPage, _React$Component); function DetailPage() { (0, _classCallCheck3.default)(this, DetailPage); return (0, _possibleConstructorReturn3.default)(this, (DetailPage.__proto__ || (0, _getPrototypeOf2.default)(DetailPage)).apply(this, arguments)); } (0, _createClass3.default)(DetailPage, [{ key: 'componentDidMount', value: function componentDidMount() { if (this.props.match.params.id !== 'new') { this.props.fetchResource({ resourceName: this.props.match.params.resource, resourceId: this.props.match.params.id }); } } }, { key: 'render', value: function render() { var resourceName = this.props.match.params.resource; var resourceId = this.props.match.params.id; return _react2.default.createElement( _core.Grid, { container: true, className: 'MainContainer' }, _react2.default.createElement( _core.Grid, { item: true, xs: 12 }, _react2.default.createElement( _core.Button, { className: 'ButtonBack', component: function component(props) { return _react2.default.createElement(_reactRouterDom.Link, (0, _extends3.default)({ to: '' + _api.REL_PATH + resourceName + '/' }, props)); } }, _react2.default.createElement( _core.Icon, null, 'arrow_back' ), '\xA0Back' ), _react2.default.createElement(_ResourceForm2.default, { resourceName: resourceName, resourceId: resourceId }) ) ); } }]); return DetailPage; }(_react2.default.Component); DetailPage.propTypes = propTypes; var mapStateToProps = function mapStateToProps(state) { return { metadata: state.metadata }; }; var mapDispatchToProps = { fetchResource: _resource.fetchCurrentResourceRequest }; exports.default = (0, _reactRedux.connect)(mapStateToProps, mapDispatchToProps)(DetailPage); /***/ }), /***/ "./admin/routes/ErrorPage.jsx": /*!************************************!*\ !*** ./admin/routes/ErrorPage.jsx ***! \************************************/ /*! no static exports found */ /***/ (function(module, exports, __webpack_require__) { "use strict"; Object.defineProperty(exports, "__esModule", { value: true }); var _react = __webpack_require__(/*! react */ "./node_modules/react/index.js"); var _react2 = _interopRequireDefault(_react); var _propTypes = __webpack_require__(/*! prop-types */ "./node_modules/prop-types/index.js"); var _propTypes2 = _interopRequireDefault(_propTypes); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } var propTypes = {}; var defaultProps = {}; var ErrorPage = function ErrorPage(props) { return _react2.default.createElement( 'div', null, '404 Not found' ); }; ErrorPage.propTypes = propTypes; ErrorPage.defaultProps = defaultProps; exports.default = ErrorPage; /***/ }), /***/ "./admin/routes/HomePage.js": /*!**********************************!*\ !*** ./admin/routes/HomePage.js ***! \**********************************/ /*! no static exports found */ /***/ (function(module, exports, __webpack_require__) { "use strict"; Object.defineProperty(exports, "__esModule", { value: true }); var _extends2 = __webpack_require__(/*! babel-runtime/helpers/extends */ "./node_modules/babel-runtime/helpers/extends.js"); var _extends3 = _interopRequireDefault(_extends2); var _entries = __webpack_require__(/*! babel-runtime/core-js/object/entries */ "./node_modules/babel-runtime/core-js/object/entries.js"); var _entries2 = _interopRequireDefault(_entries); var _getPrototypeOf = __webpack_require__(/*! babel-runtime/core-js/object/get-prototype-of */ "./node_modules/babel-runtime/core-js/object/get-prototype-of.js"); var _getPrototypeOf2 = _interopRequireDefault(_getPrototypeOf); var _classCallCheck2 = __webpack_require__(/*! babel-runtime/helpers/classCallCheck */ "./node_modules/babel-runtime/helpers/classCallCheck.js"); var _classCallCheck3 = _interopRequireDefault(_classCallCheck2); var _createClass2 = __webpack_require__(/*! babel-runtime/helpers/createClass */ "./node_modules/babel-runtime/helpers/createClass.js"); var _createClass3 = _interopRequireDefault(_createClass2); var _possibleConstructorReturn2 = __webpack_require__(/*! babel-runtime/helpers/possibleConstructorReturn */ "./node_modules/babel-runtime/helpers/possibleConstructorReturn.js"); var _possibleConstructorReturn3 = _interopRequireDefault(_possibleConstructorReturn2); var _inherits2 = __webpack_require__(/*! babel-runtime/helpers/inherits */ "./node_modules/babel-runtime/helpers/inherits.js"); var _inherits3 = _interopRequireDefault(_inherits2); var _react = __webpack_require__(/*! react */ "./node_modules/react/index.js"); var _react2 = _interopRequireDefault(_react); var _reactRedux = __webpack_require__(/*! react-redux */ "./node_modules/react-redux/es/index.js"); var _reactRouterDom = __webpack_require__(/*! react-router-dom */ "./node_modules/react-router-dom/es/index.js"); var _propTypes = __webpack_require__(/*! prop-types */ "./node_modules/prop-types/index.js"); var _propTypes2 = _interopRequireDefault(_propTypes); var _core = __webpack_require__(/*! @material-ui/core */ "./node_modules/@material-ui/core/index.es.js"); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } var propTypes = { metadata: _propTypes2.default.shape({ resources: _propTypes2.default.object, schema: _propTypes2.default.string, client: _propTypes2.default.object }) }; var HomePage = function (_React$Component) { (0, _inherits3.default)(HomePage, _React$Component); function HomePage() { (0, _classCallCheck3.default)(this, HomePage); return (0, _possibleConstructorReturn3.default)(this, (HomePage.__proto__ || (0, _getPrototypeOf2.default)(HomePage)).apply(this, arguments)); } (0, _createClass3.default)(HomePage, [{ key: 'render', value: function render() { var resources = this.props.metadata.resources; return resources && _react2.default.createElement( _core.Grid, { container: true, alignItems: 'center', className: 'MainContainer' }, _react2.default.createElement( _core.Grid, { item: true, xs: 12, sm: 6 }, _react2.default.createElement( _core.Paper, { square: true }, _react2.default.createElement( _core.Typography, { variant: 'title', className: 'PanelTitle' }, 'Resources' ), _react2.default.createElement( _core.List, { component: 'nav' }, (0, _entries2.default)(resources).map(function (resource) { return _react2.default.createElement( _core.ListItem, { key: resource[0], button: true, component: function component(props) { return _react2.default.createElement(_reactRouterDom.Link, (0, _extends3.default)({ to: resource[1] + '/' }, props)); } }, _react2.default.createElement(_core.ListItemText, { primary: resource[0] }) ); }) ) ) ) ); } }]); return HomePage; }(_react2.default.Component); HomePage.propTypes = propTypes; var mapStateToProps = function mapStateToProps(state) { return { metadata: state.metadata }; }; exports.default = (0, _reactRedux.connect)(mapStateToProps)(HomePage); /***/ }), /***/ "./admin/routes/ListPage.jsx": /*!***********************************!*\ !*** ./admin/routes/ListPage.jsx ***! \***********************************/ /*! no static exports found */ /***/ (function(module, exports, __webpack_require__) { "use strict"; Object.defineProperty(exports, "__esModule", { value: true }); var _values = __webpack_require__(/*! babel-runtime/core-js/object/values */ "./node_modules/babel-runtime/core-js/object/values.js"); var _values2 = _interopRequireDefault(_values); var _extends2 = __webpack_require__(/*! babel-runtime/helpers/extends */ "./node_modules/babel-runtime/helpers/extends.js"); var _extends3 = _interopRequireDefault(_extends2); var _getPrototypeOf = __webpack_require__(/*! babel-runtime/core-js/object/get-prototype-of */ "./node_modules/babel-runtime/core-js/object/get-prototype-of.js"); var _getPrototypeOf2 = _interopRequireDefault(_getPrototypeOf); var _classCallCheck2 = __webpack_require__(/*! babel-runtime/helpers/classCallCheck */ "./node_modules/babel-runtime/helpers/classCallCheck.js"); var _classCallCheck3 = _interopRequireDefault(_classCallCheck2); var _createClass2 = __webpack_require__(/*! babel-runtime/helpers/createClass */ "./node_modules/babel-runtime/helpers/createClass.js"); var _createClass3 = _interopRequireDefault(_createClass2); var _possibleConstructorReturn2 = __webpack_require__(/*! babel-runtime/helpers/possibleConstructorReturn */ "./node_modules/babel-runtime/helpers/possibleConstructorReturn.js"); var _possibleConstructorReturn3 = _interopRequireDefault(_possibleConstructorReturn2); var _inherits2 = __webpack_require__(/*! babel-runtime/helpers/inherits */ "./node_modules/babel-runtime/helpers/inherits.js"); var _inherits3 = _interopRequireDefault(_inherits2); var _react = __webpack_require__(/*! react */ "./node_modules/react/index.js"); var _react2 = _interopRequireDefault(_react); var _propTypes = __webpack_require__(/*! prop-types */ "./node_modules/prop-types/index.js"); var _propTypes2 = _interopRequireDefault(_propTypes); var _reactRedux = __webpack_require__(/*! react-redux */ "./node_modules/react-redux/es/index.js"); var _findKey = __webpack_require__(/*! lodash/findKey */ "./node_modules/lodash/findKey.js"); var _findKey2 = _interopRequireDefault(_findKey); var _core = __webpack_require__(/*! @material-ui/core */ "./node_modules/@material-ui/core/index.es.js"); var _reactRouterDom = __webpack_require__(/*! react-router-dom */ "./node_modules/react-router-dom/es/index.js"); var _api = __webpack_require__(/*! ../api */ "./admin/api.js"); var _TablePaginationActions = __webpack_require__(/*! ../components/TablePaginationActions */ "./admin/components/TablePaginationActions/index.jsx"); var _TablePaginationActions2 = _interopRequireDefault(_TablePaginationActions); var _resource = __webpack_require__(/*! ../ducks/resource */ "./admin/ducks/resource.js"); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } var propTypes = { match: _propTypes2.default.object, fetchResources: _propTypes2.default.func, schema: _propTypes2.default.PropTypes.object, resources: _propTypes2.default.arrayOf(_propTypes2.default.object), rowsPerPage: _propTypes2.default.number, currentPage: _propTypes2.default.number }; var DEFAULT_PAGE_SIZE = 10; var ListPage = function (_React$Component) { (0, _inherits3.default)(ListPage, _React$Component); function ListPage() { (0, _classCallCheck3.default)(this, ListPage); var _this = (0, _possibleConstructorReturn3.default)(this, (ListPage.__proto__ || (0, _getPrototypeOf2.default)(ListPage)).call(this)); _this.handleChangePage = _this.handleChangePage.bind(_this); return _this; } (0, _createClass3.default)(ListPage, [{ key: 'componentDidMount', value: function componentDidMount() { this.props.fetchResources({ resourceName: this.props.match.params.resource, query: { page_size: DEFAULT_PAGE_SIZE, page: 1 } }); } }, { key: 'handleChangePage', value: function handleChangePage(evt, page) { // Mui has some weird default pagination behaviour on cDU if (evt) { this.props.fetchResources({ resourceName: this.props.match.params.resource, query: { page: page + 1, // TablePagination starts at 0; page_size: DEFAULT_PAGE_SIZE } }); } } }, { key: 'render', value: function render() { var resource = this.props.match.params.resource; var resourceSchema = this.props.schema && this.props.schema.spec.paths['/' + resource + '/'].post.requestBody.content['application/json'].schema; return resourceSchema && _react2.default.createElement( _core.Grid, { container: true, spacing: 8, className: 'MainContainer' }, _react2.default.createElement( _core.Grid, { item: true, xs: 12 }, _react2.default.createElement( _core.Paper, { square: true }, _react2.default.createElement( _core.Typography, { variant: 'title', className: 'TableTitle PanelTitle' }, (0, _findKey2.default)(this.props.resourceList, function (resource) { return resource === resource; }) ), _react2.default.createElement( _core.Button, { component: function component(props) { return _react2.default.createElement(_reactRouterDom.Link, (0, _extends3.default)({ to: 'new' }, props)); }, variant: 'contained', color: 'primary', className: 'ButtonNew' }, 'Create New' ), this.props.resources ? _react2.default.createElement( _react.Fragment, null, _react2.default.createElement( 'div', { className: 'TableContainer' }, _react2.default.createElement( _core.Table, { className: 'TableContainer' }, _react2.default.createElement( _core.TableHead, null, _react2.default.createElement( _core.TableRow, null, _react2.default.createElement( _core.TableCell, { key: 'edit' }, 'Edit' ), (0, _values2.default)(resourceSchema.properties).map(function (field) { return _react2.default.createElement( _core.TableCell, { key: field.title }, field.description ); }) ) ), _react2.default.createElement( _core.TableBody, null, this.props.resources.map(function (item) { return _react2.default.createElement( _core.TableRow, { key: item.id }, _react2.default.createElement( _core.TableCell, null, _react2.default.createElement( _reactRouterDom.Link, { to: '' + _api.REL_PATH + resource + '/' + item.id }, _react2.default.createElement( _core.Icon, null, 'edit' ) ) ), (0, _values2.default)(resourceSchema.properties).map(function (field) { return _react2.default.createElement( _core.TableCell, { key: field.title }, item[field.title] ); }) ); }) ), _react2.default.createElement( _core.TableFooter, null, _react2.default.createElement(_core.TableRow, null) ) ) ), _react2.default.createElement(_core.TablePagination, { colSpan: 3, component: 'div', className: 'TablePagination', count: this.props.totalCount, rowsPerPage: this.props.rowsPerPage, page: this.props.currentPage - 1, onChangePage: this.handleChangePage, onChangeRowsPerPage: this.handleChangeRowsPerPage, ActionsComponent: _TablePaginationActions2.default, rowsPerPageOptions: [0] }) ) : _react2.default.createElement( 'div', { className: 'SpinnerContainer' }, _react2.default.createElement(_core.CircularProgress, null) ) ) ) ); } }]); return ListPage; }(_react2.default.Component); ListPage.propTypes = propTypes; var mapStateToProps = function mapStateToProps(state) { return { rowsPerPage: state.resource.rowsPerPage, currentPage: state.resource.currentPage, totalCount: state.resource.totalCount, resources: state.resource.entities, schema: state.metadata.client, resourceList: state.metadata.resources }; }; var mapDispatchToProps = { fetchResources: _resource.fetchResourceEntitiesRequest }; exports.default = (0, _reactRedux.connect)(mapStateToProps, mapDispatchToProps)(ListPage); /***/ }), /***/ "./admin/routes/index.js": /*!*******************************!*\ !*** ./admin/routes/index.js ***! \*******************************/ /*! no static exports found */ /***/ (function(module, exports, __webpack_require__) { "use strict"; Object.defineProperty(exports, "__esModule", { value: true }); var _getPrototypeOf = __webpack_require__(/*! babel-runtime/core-js/object/get-prototype-of */ "./node_modules/babel-runtime/core-js/object/get-prototype-of.js"); var _getPrototypeOf2 = _interopRequireDefault(_getPrototypeOf); var _classCallCheck2 = __webpack_require__(/*! babel-runtime/helpers/classCallCheck */ "./node_modules/babel-runtime/helpers/classCallCheck.js"); var _classCallCheck3 = _interopRequireDefault(_classCallCheck2); var _createClass2 = __webpack_require__(/*! babel-runtime/helpers/createClass */ "./node_modules/babel-runtime/helpers/createClass.js"); var _createClass3 = _interopRequireDefault(_createClass2); var _possibleConstructorReturn2 = __webpack_require__(/*! babel-runtime/helpers/possibleConstructorReturn */ "./node_modules/babel-runtime/helpers/possibleConstructorReturn.js"); var _possibleConstructorReturn3 = _interopRequireDefault(_possibleConstructorReturn2); var _inherits2 = __webpack_require__(/*! babel-runtime/helpers/inherits */ "./node_modules/babel-runtime/helpers/inherits.js"); var _inherits3 = _interopRequireDefault(_inherits2); var _react = __webpack_require__(/*! react */ "./node_modules/react/index.js"); var _react2 = _interopRequireDefault(_react); var _reactRouterDom = __webpack_require__(/*! react-router-dom */ "./node_modules/react-router-dom/es/index.js"); var _reactRouterRedux = __webpack_require__(/*! react-router-redux */ "./node_modules/react-router-redux/es/index.js"); var _Header = __webpack_require__(/*! ../components/Header */ "./admin/components/Header/index.js"); var _Header2 = _interopRequireDefault(_Header); var _HomePage = __webpack_require__(/*! ./HomePage */ "./admin/routes/HomePage.js"); var _HomePage2 = _interopRequireDefault(_HomePage); var _ListPage = __webpack_require__(/*! ./ListPage */ "./admin/routes/ListPage.jsx"); var _ListPage2 = _interopRequireDefault(_ListPage); var _DetailPage = __webpack_require__(/*! ./DetailPage */ "./admin/routes/DetailPage.jsx"); var _DetailPage2 = _interopRequireDefault(_DetailPage); var _ErrorPage = __webpack_require__(/*! ./ErrorPage */ "./admin/routes/ErrorPage.jsx"); var _ErrorPage2 = _interopRequireDefault(_ErrorPage); var _api = __webpack_require__(/*! ../api */ "./admin/api.js"); var _index = __webpack_require__(/*! ../index.js */ "./admin/index.js"); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } var Routes = function (_Component) { (0, _inherits3.default)(Routes, _Component); function Routes() { (0, _classCallCheck3.default)(this, Routes); return (0, _possibleConstructorReturn3.default)(this, (Routes.__proto__ || (0, _getPrototypeOf2.default)(Routes)).apply(this, arguments)); } (0, _createClass3.default)(Routes, [{ key: 'render', value: function render() { return _react2.default.createElement( _reactRouterRedux.ConnectedRouter, { history: _index.history }, _react2.default.createElement( 'div', null, _react2.default.createElement(_Header2.default, null), _react2.default.createElement( _reactRouterDom.Switch, null, _react2.default.createElement(_reactRouterDom.Route, { exact: true, path: _api.REL_PATH, component: _HomePage2.default }), _react2.default.createElement(_reactRouterDom.Route, { exact: true, path: _api.REL_PATH + ':resource', component: _ListPage2.default }), _react2.default.createElement(_reactRouterDom.Route, { exact: true, path: _api.REL_PATH + ':resource/:id', component: _DetailPage2.default }), _react2.default.createElement(_reactRouterDom.Route, { path: '/not-found', component: _ErrorPage2.default }), _react2.default.createElement(_reactRouterDom.Route, { component: _ErrorPage2.default }) ) ) ); } }]); return Routes; }(_react.Component); exports.default = Routes; /***/ }), /***/ "./admin/sagas/index.js": /*!******************************!*\ !*** ./admin/sagas/index.js ***! \******************************/ /*! no static exports found */ /***/ (function(module, exports, __webpack_require__) { "use strict"; Object.defineProperty(exports, "__esModule", { value: true }); var _regenerator = __webpack_require__(/*! babel-runtime/regenerator */ "./node_modules/babel-runtime/regenerator/index.js"); var _regenerator2 = _interopRequireDefault(_regenerator); exports.default = root; var _effects = __webpack_require__(/*! redux-saga/effects */ "./node_modules/redux-saga/es/effects.js"); var _metadata = __webpack_require__(/*! ./metadata */ "./admin/sagas/metadata.js"); var _metadata2 = _interopRequireDefault(_metadata); var _resource = __webpack_require__(/*! ./resource */ "./admin/sagas/resource.js"); var _resource2 = _interopRequireDefault(_resource); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } var _marked = /*#__PURE__*/_regenerator2.default.mark(root); function root() { return _regenerator2.default.wrap(function root$(_context) { while (1) { switch (_context.prev = _context.next) { case 0: _context.next = 2; return (0, _effects.all)([(0, _metadata2.default)(), (0, _resource2.default)()]); case 2: case 'end': return _context.stop(); } } }, _marked, this); } /***/ }), /***/ "./admin/sagas/metadata.js": /*!*********************************!*\ !*** ./admin/sagas/metadata.js ***! \*********************************/ /*! no static exports found */ /***/ (function(module, exports, __webpack_require__) { "use strict"; Object.defineProperty(exports, "__esModule", { value: true }); var _regenerator = __webpack_require__(/*! babel-runtime/regenerator */ "./node_modules/babel-runtime/regenerator/index.js"); var _regenerator2 = _interopRequireDefault(_regenerator); var _extends2 = __webpack_require__(/*! babel-runtime/helpers/extends */ "./node_modules/babel-runtime/helpers/extends.js"); var _extends3 = _interopRequireDefault(_extends2); exports.default = watchMetadata; var _effects = __webpack_require__(/*! redux-saga/effects */ "./node_modules/redux-saga/es/effects.js"); var _metadata = __webpack_require__(/*! ../ducks/metadata */ "./admin/ducks/metadata.js"); var _api = __webpack_require__(/*! ../api */ "./admin/api.js"); var _api2 = _interopRequireDefault(_api); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } var _marked = /*#__PURE__*/_regenerator2.default.mark(fetchMetadata), _marked2 = /*#__PURE__*/_regenerator2.default.mark(watchMetadata); function fetchMetadata() { var metadata, client; return _regenerator2.default.wrap(function fetchMetadata$(_context) { while (1) { switch (_context.prev = _context.next) { case 0: _context.prev = 0; _context.next = 3; return (0, _effects.call)(_api2.default.fetchMetadata); case 3: metadata = _context.sent; _context.next = 6; return (0, _effects.call)(_api2.default.fetchSwaggerSchema, metadata.schema); case 6: client = _context.sent; _context.next = 9; return (0, _effects.put)((0, _metadata.fetchMetadataSuccess)((0, _extends3.default)({}, metadata, { client: client }))); case 9: _context.next = 14; break; case 11: _context.prev = 11; _context.t0 = _context['catch'](0); throw Error(_context.t0); case 14: case 'end': return _context.stop(); } } }, _marked, this, [[0, 11]]); } function watchMetadata() { return _regenerator2.default.wrap(function watchMetadata$(_context2) { while (1) { switch (_context2.prev = _context2.next) { case 0: _context2.next = 2; return (0, _effects.takeLatest)(_metadata.FETCH_METADATA_REQUEST, fetchMetadata); case 2: case 'end': return _context2.stop(); } } }, _marked2, this); } /***/ }), /***/ "./admin/sagas/resource.js": /*!*********************************!*\ !*** ./admin/sagas/resource.js ***! \*********************************/ /*! no static exports found */ /***/ (function(module, exports, __webpack_require__) { "use strict"; Object.defineProperty(exports, "__esModule", { value: true }); var _regenerator = __webpack_require__(/*! babel-runtime/regenerator */ "./node_modules/babel-runtime/regenerator/index.js"); var _regenerator2 = _interopRequireDefault(_regenerator); exports.default = watchResource; var _effects = __webpack_require__(/*! redux-saga/effects */ "./node_modules/redux-saga/es/effects.js"); var _schema = __webpack_require__(/*! ../selectors/schema */ "./admin/selectors/schema.js"); var _reactRouterRedux = __webpack_require__(/*! react-router-redux */ "./node_modules/react-router-redux/es/index.js"); var _api = __webpack_require__(/*! ../api */ "./admin/api.js"); var _api2 = _interopRequireDefault(_api); var _resource = __webpack_require__(/*! ../ducks/resource */ "./admin/ducks/resource.js"); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } var _marked = /*#__PURE__*/_regenerator2.default.mark(fetchResource), _marked2 = /*#__PURE__*/_regenerator2.default.mark(submitResource), _marked3 = /*#__PURE__*/_regenerator2.default.mark(updateResourceElement), _marked4 = /*#__PURE__*/_regenerator2.default.mark(fetchResourceElement), _marked5 = /*#__PURE__*/_regenerator2.default.mark(deleteResourceElement), _marked6 = /*#__PURE__*/_regenerator2.default.mark(watchResource); function fetchResource(_ref) { var payload = _ref.payload; var client, metadata, schema, resources; return _regenerator2.default.wrap(function fetchResource$(_context) { while (1) { switch (_context.prev = _context.next) { case 0: _context.prev = 0; _context.next = 3; return (0, _effects.select)(_schema.selectClient); case 3: client = _context.sent; if (client) { _context.next = 12; break; } _context.next = 7; return (0, _effects.call)(_api2.default.fetchMetadata); case 7: metadata = _context.sent; schema = metadata.schema; _context.next = 11; return (0, _effects.call)(_api2.default.fetchSwaggerSchema, schema); case 11: client = _context.sent; case 12: _context.next = 14; return (0, _effects.call)(_api2.default.fetchResource, payload, client); case 14: resources = _context.sent; _context.next = 17; return (0, _effects.put)((0, _resource.fetchResourceEntitiesSuccess)({ resources: resources })); case 17: _context.next = 23; break; case 19: _context.prev = 19; _context.t0 = _context['catch'](0); _context.next = 23; return (0, _effects.put)((0, _reactRouterRedux.push)('/not-found')); case 23: case 'end': return _context.stop(); } } }, _marked, this, [[0, 19]]); } function submitResource(_ref2) { var payload = _ref2.payload; var client, response, errors; return _regenerator2.default.wrap(function submitResource$(_context2) { while (1) { switch (_context2.prev = _context2.next) { case 0: _context2.prev = 0; _context2.next = 3; return (0, _effects.select)(_schema.selectClient); case 3: client = _context2.sent; _context2.next = 6; return (0, _effects.call)(_api2.default.submitResource, payload, client); case 6: response = _context2.sent; _context2.next = 9; return (0, _effects.put)((0, _resource.submitResourceSuccess)(response)); case 9: _context2.next = 11; return (0, _effects.put)((0, _reactRouterRedux.push)('' + _api.REL_PATH + payload.resourceName + '/')); case 11: _context2.next = 18; break; case 13: _context2.prev = 13; _context2.t0 = _context2['catch'](0); errors = JSON.parse(_context2.t0.message); _context2.next = 18; return (0, _effects.put)((0, _resource.submitResourceFailure)(errors)); case 18: case 'end': return _context2.stop(); } } }, _marked2, this, [[0, 13]]); } function updateResourceElement(_ref3) { var payload = _ref3.payload; var client, response; return _regenerator2.default.wrap(function updateResourceElement$(_context3) { while (1) { switch (_context3.prev = _context3.next) { case 0: _context3.prev = 0; _context3.next = 3; return (0, _effects.select)(_schema.selectClient); case 3: client = _context3.sent; _context3.next = 6; return (0, _effects.call)(_api2.default.updateResourceElement, payload, client); case 6: response = _context3.sent; _context3.next = 9; return (0, _effects.put)((0, _resource.updateResourceElementSuccess)(response)); case 9: _context3.next = 11; return (0, _effects.put)((0, _reactRouterRedux.push)('' + _api.REL_PATH + payload.resourceName + '/')); case 11: _context3.next = 15; break; case 13: _context3.prev = 13; _context3.t0 = _context3['catch'](0); case 15: case 'end': return _context3.stop(); } } }, _marked3, this, [[0, 13]]); } function fetchResourceElement(_ref4) { var payload = _ref4.payload; var client, metadata, schema, resource; return _regenerator2.default.wrap(function fetchResourceElement$(_context4) { while (1) { switch (_context4.prev = _context4.next) { case 0: _context4.prev = 0; _context4.next = 3; return (0, _effects.select)(_schema.selectClient); case 3: client = _context4.sent; if (client) { _context4.next = 12; break; } _context4.next = 7; return (0, _effects.call)(_api2.default.fetchMetadata); case 7: metadata = _context4.sent; schema = metadata.schema; _context4.next = 11; return (0, _effects.call)(_api2.default.fetchSwaggerSchema, schema); case 11: client = _context4.sent; case 12: _context4.next = 14; return (0, _effects.call)(_api2.default.fetchResourceElement, payload, client); case 14: resource = _context4.sent; _context4.next = 17; return (0, _effects.put)((0, _resource.fetchCurrentResourceSuccess)(resource)); case 17: _context4.next = 23; break; case 19: _context4.prev = 19; _context4.t0 = _context4['catch'](0); _context4.next = 23; return (0, _effects.put)((0, _reactRouterRedux.push)('/not-found')); case 23: case 'end': return _context4.stop(); } } }, _marked4, this, [[0, 19]]); } function deleteResourceElement(_ref5) { var payload = _ref5.payload; var client, metadata, schema; return _regenerator2.default.wrap(function deleteResourceElement$(_context5) { while (1) { switch (_context5.prev = _context5.next) { case 0: _context5.prev = 0; _context5.next = 3; return (0, _effects.select)(_schema.selectClient); case 3: client = _context5.sent; if (client) { _context5.next = 12; break; } _context5.next = 7; return (0, _effects.call)(_api2.default.fetchMetadata); case 7: metadata = _context5.sent; schema = metadata.schema; _context5.next = 11; return (0, _effects.call)(_api2.default.fetchSwaggerSchema, schema); case 11: client = _context5.sent; case 12: _context5.next = 14; return (0, _effects.call)(_api2.default.deleteResourceElement, payload, client); case 14: _context5.next = 16; return (0, _effects.put)((0, _reactRouterRedux.push)('' + _api.REL_PATH + payload.resourceName + '/')); case 16: _context5.next = 20; break; case 18: _context5.prev = 18; _context5.t0 = _context5['catch'](0); case 20: case 'end': return _context5.stop(); } } }, _marked5, this, [[0, 18]]); } function watchResource() { return _regenerator2.default.wrap(function watchResource$(_context6) { while (1) { switch (_context6.prev = _context6.next) { case 0: _context6.next = 2; return (0, _effects.takeLatest)(_resource.FETCH_RESOURCE_ENTITIES_REQUEST, fetchResource); case 2: _context6.next = 4; return (0, _effects.takeLatest)(_resource.SUBMIT_RESOURCE_REQUEST, submitResource); case 4: _context6.next = 6; return (0, _effects.takeLatest)(_resource.FETCH_CURRENT_RESOURCE_REQUEST, fetchResourceElement); case 6: _context6.next = 8; return (0, _effects.takeLatest)(_resource.UPDATE_RESOURCE_ELEMENT_REQUEST, updateResourceElement); case 8: _context6.next = 10; return (0, _effects.takeLatest)(_resource.DELETE_RESOURCE_ELEMENT_REQUEST, deleteResourceElement); case 10: case 'end': return _context6.stop(); } } }, _marked6, this); } /***/ }), /***/ "./admin/selectors/schema.js": /*!***********************************!*\ !*** ./admin/selectors/schema.js ***! \***********************************/ /*! no static exports found */ /***/ (function(module, exports, __webpack_require__) { "use strict"; Object.defineProperty(exports, "__esModule", { value: true }); var selectSchemaUrl = exports.selectSchemaUrl = function selectSchemaUrl(state) { return state.metadata.schema; }; var selectClient = exports.selectClient = function selectClient(state) { return state.metadata.client; }; /***/ }) },[["./admin/index.js","runtime~index","styles.react","vendors~index"]]]); //# sourceMappingURL=index.js.mapPK!5ܽ2C2Capistar_crud/static/index.js(window["webpackJsonp"] = window["webpackJsonp"] || []).push([["index"],{ /***/ "./admin/App.js": /*!**********************!*\ !*** ./admin/App.js ***! \**********************/ /*! no static exports found */ /***/ (function(module, exports, __webpack_require__) { "use strict"; Object.defineProperty(exports, "__esModule", { value: true }); var _getPrototypeOf = __webpack_require__(/*! babel-runtime/core-js/object/get-prototype-of */ "./node_modules/babel-runtime/core-js/object/get-prototype-of.js"); var _getPrototypeOf2 = _interopRequireDefault(_getPrototypeOf); var _classCallCheck2 = __webpack_require__(/*! babel-runtime/helpers/classCallCheck */ "./node_modules/babel-runtime/helpers/classCallCheck.js"); var _classCallCheck3 = _interopRequireDefault(_classCallCheck2); var _createClass2 = __webpack_require__(/*! babel-runtime/helpers/createClass */ "./node_modules/babel-runtime/helpers/createClass.js"); var _createClass3 = _interopRequireDefault(_createClass2); var _possibleConstructorReturn2 = __webpack_require__(/*! babel-runtime/helpers/possibleConstructorReturn */ "./node_modules/babel-runtime/helpers/possibleConstructorReturn.js"); var _possibleConstructorReturn3 = _interopRequireDefault(_possibleConstructorReturn2); var _inherits2 = __webpack_require__(/*! babel-runtime/helpers/inherits */ "./node_modules/babel-runtime/helpers/inherits.js"); var _inherits3 = _interopRequireDefault(_inherits2); var _react = __webpack_require__(/*! react */ "./node_modules/react/index.js"); var _react2 = _interopRequireDefault(_react); var _propTypes = __webpack_require__(/*! prop-types */ "./node_modules/prop-types/index.js"); var _propTypes2 = _interopRequireDefault(_propTypes); var _routes = __webpack_require__(/*! ./routes */ "./admin/routes/index.js"); var _routes2 = _interopRequireDefault(_routes); __webpack_require__(/*! ./App.css */ "./admin/App.css"); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } var propTypes = { fetchMetadata: _propTypes2.default.func.isRequired }; var App = function (_Component) { (0, _inherits3.default)(App, _Component); function App() { (0, _classCallCheck3.default)(this, App); return (0, _possibleConstructorReturn3.default)(this, (App.__proto__ || (0, _getPrototypeOf2.default)(App)).apply(this, arguments)); } (0, _createClass3.default)(App, [{ key: 'componentDidMount', value: function componentDidMount() { this.props.fetchMetadata(); } }, { key: 'render', value: function render() { return _react2.default.createElement( 'div', { className: 'App' }, _react2.default.createElement(_routes2.default, null) ); } }]); return App; }(_react.Component); App.propTypes = propTypes; exports.default = App; /***/ }), /***/ "./admin/AppContainer.js": /*!*******************************!*\ !*** ./admin/AppContainer.js ***! \*******************************/ /*! no static exports found */ /***/ (function(module, exports, __webpack_require__) { "use strict"; Object.defineProperty(exports, "__esModule", { value: true }); var _reactRedux = __webpack_require__(/*! react-redux */ "./node_modules/react-redux/es/index.js"); var _App = __webpack_require__(/*! ./App */ "./admin/App.js"); var _App2 = _interopRequireDefault(_App); var _metadata = __webpack_require__(/*! ./ducks/metadata */ "./admin/ducks/metadata.js"); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } var mapStatetoProps = function mapStatetoProps(state) { return {}; }; var mapDispatchToProps = { fetchMetadata: _metadata.fetchMetadataRequest }; exports.default = (0, _reactRedux.connect)(mapStatetoProps, mapDispatchToProps)(_App2.default); /***/ }), /***/ "./admin/api.js": /*!**********************!*\ !*** ./admin/api.js ***! \**********************/ /*! no static exports found */ /***/ (function(module, exports, __webpack_require__) { "use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.REL_PATH = undefined; var _stringify = __webpack_require__(/*! babel-runtime/core-js/json/stringify */ "./node_modules/babel-runtime/core-js/json/stringify.js"); var _stringify2 = _interopRequireDefault(_stringify); var _classCallCheck2 = __webpack_require__(/*! babel-runtime/helpers/classCallCheck */ "./node_modules/babel-runtime/helpers/classCallCheck.js"); var _classCallCheck3 = _interopRequireDefault(_classCallCheck2); var _createClass2 = __webpack_require__(/*! babel-runtime/helpers/createClass */ "./node_modules/babel-runtime/helpers/createClass.js"); var _createClass3 = _interopRequireDefault(_createClass2); var _superagent = __webpack_require__(/*! superagent */ "./node_modules/superagent/lib/client.js"); var _superagent2 = _interopRequireDefault(_superagent); var _swaggerClient = __webpack_require__(/*! swagger-client */ "./node_modules/swagger-client/dist/index.js"); var _swaggerClient2 = _interopRequireDefault(_swaggerClient); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } var REL_PATH = exports.REL_PATH = '/admin/'; var urls = { host: 'http://localhost:8000', metadata: '/admin/metadata/' }; var Api = function () { function Api() { (0, _classCallCheck3.default)(this, Api); } (0, _createClass3.default)(Api, null, [{ key: 'fetchMetadata', value: function fetchMetadata() { return _superagent2.default.get(urls.host + urls.metadata).then(function (response) { return response.body; }).catch(function (error) { throw Error(error.message); }); } }, { key: 'fetchResource', value: function fetchResource(payload, client) { var resourceName = payload.resourceName, query = payload.query; return client.apis[resourceName].list(query).then(function (response) { return response.body; }).catch(function (error) { throw Error(error.message); }); } }, { key: 'fetchResourceElement', value: function fetchResourceElement(payload, client) { var resource = payload.resourceName; var id = payload.resourceId; return client.apis[resource].retrieve({ element_id: id }).then(function (response) { return response.body; }).catch(function (error) { throw Error(error.message); }); } }, { key: 'fetchSwaggerSchema', value: function fetchSwaggerSchema(schemaUrl) { return (0, _swaggerClient2.default)(urls.host + schemaUrl).then(function (client) { return client; }); } }, { key: 'submitResource', value: function submitResource(payload, client) { return client.apis[payload.resourceName].create({}, { requestBody: payload.resourceData }).then(function (response) { return response.body; }).catch(function (error) { throw Error((0, _stringify2.default)(error.response.body)); }); } }, { key: 'updateResourceElement', value: function updateResourceElement(payload, client) { var resourceName = payload.resourceName, resourceId = payload.resourceId, resourceData = payload.resourceData; return client.apis[resourceName].update({ element_id: resourceId }, { requestBody: resourceData }).then(function (response) { return response.body; }); } }, { key: 'deleteResourceElement', value: function deleteResourceElement(payload, client) { var resourceName = payload.resourceName, resourceId = payload.resourceId; return client.apis[resourceName].delete({ element_id: resourceId }).then(function (response) { return response.body; }).catch(function (error) { throw Error(error.message); }); } }]); return Api; }(); exports.default = Api; /***/ }), /***/ "./admin/components/Header/Header.js": /*!*******************************************!*\ !*** ./admin/components/Header/Header.js ***! \*******************************************/ /*! no static exports found */ /***/ (function(module, exports, __webpack_require__) { "use strict"; Object.defineProperty(exports, "__esModule", { value: true }); var _getPrototypeOf = __webpack_require__(/*! babel-runtime/core-js/object/get-prototype-of */ "./node_modules/babel-runtime/core-js/object/get-prototype-of.js"); var _getPrototypeOf2 = _interopRequireDefault(_getPrototypeOf); var _classCallCheck2 = __webpack_require__(/*! babel-runtime/helpers/classCallCheck */ "./node_modules/babel-runtime/helpers/classCallCheck.js"); var _classCallCheck3 = _interopRequireDefault(_classCallCheck2); var _createClass2 = __webpack_require__(/*! babel-runtime/helpers/createClass */ "./node_modules/babel-runtime/helpers/createClass.js"); var _createClass3 = _interopRequireDefault(_createClass2); var _possibleConstructorReturn2 = __webpack_require__(/*! babel-runtime/helpers/possibleConstructorReturn */ "./node_modules/babel-runtime/helpers/possibleConstructorReturn.js"); var _possibleConstructorReturn3 = _interopRequireDefault(_possibleConstructorReturn2); var _inherits2 = __webpack_require__(/*! babel-runtime/helpers/inherits */ "./node_modules/babel-runtime/helpers/inherits.js"); var _inherits3 = _interopRequireDefault(_inherits2); var _react = __webpack_require__(/*! react */ "./node_modules/react/index.js"); var _react2 = _interopRequireDefault(_react); var _core = __webpack_require__(/*! @material-ui/core */ "./node_modules/@material-ui/core/index.es.js"); var _reactRouterDom = __webpack_require__(/*! react-router-dom */ "./node_modules/react-router-dom/es/index.js"); var _reactRedux = __webpack_require__(/*! react-redux */ "./node_modules/react-redux/es/index.js"); var _styles = __webpack_require__(/*! @material-ui/core/styles */ "./node_modules/@material-ui/core/styles/index.js"); var _api = __webpack_require__(/*! ../../api */ "./admin/api.js"); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } var Header = function (_React$Component) { (0, _inherits3.default)(Header, _React$Component); function Header() { (0, _classCallCheck3.default)(this, Header); return (0, _possibleConstructorReturn3.default)(this, (Header.__proto__ || (0, _getPrototypeOf2.default)(Header)).apply(this, arguments)); } (0, _createClass3.default)(Header, [{ key: 'render', value: function render() { return _react2.default.createElement( _core.AppBar, { position: 'static' }, _react2.default.createElement( _core.Toolbar, null, _react2.default.createElement( _core.Typography, { variant: 'title', color: 'inherit' }, _react2.default.createElement( _reactRouterDom.Link, { to: _api.REL_PATH, className: 'HeaderLink' }, 'APISTAR' ) ) ) ); } }]); return Header; }(_react2.default.Component); var mapStateToProps = function mapStateToProps(state) { return { metadata: state.metadata }; }; exports.default = (0, _styles.withTheme)()((0, _reactRedux.connect)(mapStateToProps)(Header)); /***/ }), /***/ "./admin/components/Header/index.js": /*!******************************************!*\ !*** ./admin/components/Header/index.js ***! \******************************************/ /*! no static exports found */ /***/ (function(module, exports, __webpack_require__) { "use strict"; Object.defineProperty(exports, "__esModule", { value: true }); var _Header = __webpack_require__(/*! ./Header */ "./admin/components/Header/Header.js"); var _Header2 = _interopRequireDefault(_Header); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } exports.default = _Header2.default; /***/ }), /***/ "./admin/components/ResourceForm/ResourceForm.jsx": /*!********************************************************!*\ !*** ./admin/components/ResourceForm/ResourceForm.jsx ***! \********************************************************/ /*! no static exports found */ /***/ (function(module, exports, __webpack_require__) { "use strict"; Object.defineProperty(exports, "__esModule", { value: true }); var _entries = __webpack_require__(/*! babel-runtime/core-js/object/entries */ "./node_modules/babel-runtime/core-js/object/entries.js"); var _entries2 = _interopRequireDefault(_entries); var _defineProperty2 = __webpack_require__(/*! babel-runtime/helpers/defineProperty */ "./node_modules/babel-runtime/helpers/defineProperty.js"); var _defineProperty3 = _interopRequireDefault(_defineProperty2); var _getPrototypeOf = __webpack_require__(/*! babel-runtime/core-js/object/get-prototype-of */ "./node_modules/babel-runtime/core-js/object/get-prototype-of.js"); var _getPrototypeOf2 = _interopRequireDefault(_getPrototypeOf); var _classCallCheck2 = __webpack_require__(/*! babel-runtime/helpers/classCallCheck */ "./node_modules/babel-runtime/helpers/classCallCheck.js"); var _classCallCheck3 = _interopRequireDefault(_classCallCheck2); var _createClass2 = __webpack_require__(/*! babel-runtime/helpers/createClass */ "./node_modules/babel-runtime/helpers/createClass.js"); var _createClass3 = _interopRequireDefault(_createClass2); var _possibleConstructorReturn2 = __webpack_require__(/*! babel-runtime/helpers/possibleConstructorReturn */ "./node_modules/babel-runtime/helpers/possibleConstructorReturn.js"); var _possibleConstructorReturn3 = _interopRequireDefault(_possibleConstructorReturn2); var _inherits2 = __webpack_require__(/*! babel-runtime/helpers/inherits */ "./node_modules/babel-runtime/helpers/inherits.js"); var _inherits3 = _interopRequireDefault(_inherits2); var _react = __webpack_require__(/*! react */ "./node_modules/react/index.js"); var _react2 = _interopRequireDefault(_react); var _reactRedux = __webpack_require__(/*! react-redux */ "./node_modules/react-redux/es/index.js"); var _propTypes = __webpack_require__(/*! prop-types */ "./node_modules/prop-types/index.js"); var _propTypes2 = _interopRequireDefault(_propTypes); var _core = __webpack_require__(/*! @material-ui/core */ "./node_modules/@material-ui/core/index.es.js"); var _resource = __webpack_require__(/*! ../../ducks/resource */ "./admin/ducks/resource.js"); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } var propTypes = { schema: _propTypes2.default.object, setCurrentResourceElement: _propTypes2.default.func, updateResourceElement: _propTypes2.default.func, submitResource: _propTypes2.default.func, deleteResourceElement: _propTypes2.default.func, resourceId: _propTypes2.default.string, resourceName: _propTypes2.default.string, currentResourceElement: _propTypes2.default.object }; var defaultProps = {}; var typeMaps = { string: 'text', integer: 'number', float: 'number', // TODO: fix datetime: 'datetime' // TODO: fix }; var ResourceForm = function (_React$Component) { (0, _inherits3.default)(ResourceForm, _React$Component); function ResourceForm() { (0, _classCallCheck3.default)(this, ResourceForm); var _this = (0, _possibleConstructorReturn3.default)(this, (ResourceForm.__proto__ || (0, _getPrototypeOf2.default)(ResourceForm)).call(this)); _this.handleInputChange = _this.handleInputChange.bind(_this); _this.handleSubmit = _this.handleSubmit.bind(_this); _this.handleDialogClose = _this.handleDialogClose.bind(_this); _this.handleDialogOpen = _this.handleDialogOpen.bind(_this); _this.handleDeleteConfirmClick = _this.handleDeleteConfirmClick.bind(_this); _this.state = { data: null, isDialogOpen: false }; return _this; } (0, _createClass3.default)(ResourceForm, [{ key: 'handleInputChange', value: function handleInputChange(evt) { var _evt$target = evt.target, name = _evt$target.name, value = _evt$target.value; this.props.setCurrentResourceElement((0, _defineProperty3.default)({}, name, value)); } }, { key: 'handleSubmit', value: function handleSubmit(evt) { evt.preventDefault(); if (this.props.resourceId !== 'new') { this.props.updateResourceElement({ resourceName: this.props.resourceName, resourceData: this.props.currentResourceElement, resourceId: this.props.resourceId }); } else { this.props.submitResource({ resourceName: this.props.resourceName, resourceData: this.props.currentResourceElement }); } } }, { key: 'handleDialogClose', value: function handleDialogClose() { this.setState({ isDialogOpen: false }); } }, { key: 'handleDialogOpen', value: function handleDialogOpen() { this.setState({ isDialogOpen: true }); } }, { key: 'handleDeleteConfirmClick', value: function handleDeleteConfirmClick() { this.props.deleteResourceElement({ resourceName: this.props.resourceName, resourceId: this.props.resourceId }); } }, { key: 'render', value: function render() { var _this2 = this; var data = this.props.currentResourceElement; var errors = this.props.errors; var resourceSchema = this.props.schema && this.props.schema.spec.paths['/' + this.props.resourceName + '/'].post.requestBody.content['application/json'].schema; var requiredFields = resourceSchema && resourceSchema.required; return resourceSchema ? _react2.default.createElement( 'form', { action: '', onSubmit: this.handleSubmit }, _react2.default.createElement( _core.Grid, { container: true, alignItems: 'center', justify: 'center' }, _react2.default.createElement( _core.Grid, { item: true, xs: 12, sm: 5 }, (0, _entries2.default)(resourceSchema.properties).map(function (field) { return _react2.default.createElement(_core.TextField, { key: field[1].title, error: errors && (field[1].title ? !!errors[field[1].title] : !!errors[field[0]]), type: typeMaps[field[1].type] || 'text', min: field[1].minimum, max: field[1].maximum, id: field[1].title || field[0], label: field[1].description, name: field[1].title || field[0], value: data && (data[field[1].title] || data[field[0]]) || '', onChange: _this2.handleInputChange, margin: 'normal', fullWidth: true, required: requiredFields.includes(field[0]), helperText: errors && (field[1].title ? errors[field[1].title] : errors[field[0]]) || null }); }), this.props.resourceId !== 'new' && _react2.default.createElement( _core.Button, { variant: 'contained', color: 'secondary', className: 'ButtonDelete', onClick: this.handleDialogOpen }, 'Delete' ), _react2.default.createElement( _core.Button, { variant: 'contained', color: 'primary', type: 'submit', className: 'ButtonSave' }, 'Save' ), _react2.default.createElement( _core.Dialog, { open: this.state.isDialogOpen, onClose: this.handleDialogClose, 'aria-labelledby': 'alert-dialog-title', 'aria-describedby': 'alert-dialog-description' }, _react2.default.createElement( _core.DialogTitle, { id: 'alert-dialog-title' }, 'Confirm' ), _react2.default.createElement( _core.DialogContent, null, _react2.default.createElement( _core.DialogContentText, { id: 'alert-dialog-description' }, 'Are you sure you want to delete this item?' ) ), _react2.default.createElement( _core.DialogActions, null, _react2.default.createElement( _core.Button, { onClick: this.handleDeleteConfirmClick, color: 'secondary', variant: 'contained', autoFocus: true }, 'Yes, Delete.' ), _react2.default.createElement( _core.Button, { onClick: this.handleDialogClose }, 'Cancel' ) ) ) ) ) ) : _react2.default.createElement( 'div', { className: 'SpinnerContainer' }, _react2.default.createElement(_core.CircularProgress, null) ); } }]); return ResourceForm; }(_react2.default.Component); ResourceForm.propTypes = propTypes; ResourceForm.defaultProps = defaultProps; var mapStateToProps = function mapStateToProps(state) { return { resources: state.resource.entities, schema: state.metadata.client, currentResourceElement: state.resource.currentResourceElement, errors: state.resource.errors }; }; var mapDispatchToProps = { submitResource: _resource.submitResourceRequest, setCurrentResourceElement: _resource.setCurrentResourceElement, updateResourceElement: _resource.updateResourceElementRequest, deleteResourceElement: _resource.deleteResourceElementRequest }; exports.default = (0, _reactRedux.connect)(mapStateToProps, mapDispatchToProps)(ResourceForm); /***/ }), /***/ "./admin/components/ResourceForm/index.js": /*!************************************************!*\ !*** ./admin/components/ResourceForm/index.js ***! \************************************************/ /*! no static exports found */ /***/ (function(module, exports, __webpack_require__) { "use strict"; Object.defineProperty(exports, "__esModule", { value: true }); var _ResourceForm = __webpack_require__(/*! ./ResourceForm */ "./admin/components/ResourceForm/ResourceForm.jsx"); var _ResourceForm2 = _interopRequireDefault(_ResourceForm); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } exports.default = _ResourceForm2.default; /***/ }), /***/ "./admin/components/TablePaginationActions/TablePaginationActions.jsx": /*!****************************************************************************!*\ !*** ./admin/components/TablePaginationActions/TablePaginationActions.jsx ***! \****************************************************************************/ /*! no static exports found */ /***/ (function(module, exports, __webpack_require__) { "use strict"; Object.defineProperty(exports, "__esModule", { value: true }); var _getPrototypeOf = __webpack_require__(/*! babel-runtime/core-js/object/get-prototype-of */ "./node_modules/babel-runtime/core-js/object/get-prototype-of.js"); var _getPrototypeOf2 = _interopRequireDefault(_getPrototypeOf); var _classCallCheck2 = __webpack_require__(/*! babel-runtime/helpers/classCallCheck */ "./node_modules/babel-runtime/helpers/classCallCheck.js"); var _classCallCheck3 = _interopRequireDefault(_classCallCheck2); var _createClass2 = __webpack_require__(/*! babel-runtime/helpers/createClass */ "./node_modules/babel-runtime/helpers/createClass.js"); var _createClass3 = _interopRequireDefault(_createClass2); var _possibleConstructorReturn2 = __webpack_require__(/*! babel-runtime/helpers/possibleConstructorReturn */ "./node_modules/babel-runtime/helpers/possibleConstructorReturn.js"); var _possibleConstructorReturn3 = _interopRequireDefault(_possibleConstructorReturn2); var _inherits2 = __webpack_require__(/*! babel-runtime/helpers/inherits */ "./node_modules/babel-runtime/helpers/inherits.js"); var _inherits3 = _interopRequireDefault(_inherits2); var _react = __webpack_require__(/*! react */ "./node_modules/react/index.js"); var _react2 = _interopRequireDefault(_react); var _propTypes = __webpack_require__(/*! prop-types */ "./node_modules/prop-types/index.js"); var _propTypes2 = _interopRequireDefault(_propTypes); var _core = __webpack_require__(/*! @material-ui/core */ "./node_modules/@material-ui/core/index.es.js"); var _icons = __webpack_require__(/*! @material-ui/icons/ */ "./node_modules/@material-ui/icons/index.es.js"); var _FirstPage = __webpack_require__(/*! @material-ui/icons/FirstPage */ "./node_modules/@material-ui/icons/FirstPage.js"); var _FirstPage2 = _interopRequireDefault(_FirstPage); var _LastPage = __webpack_require__(/*! @material-ui/icons/LastPage */ "./node_modules/@material-ui/icons/LastPage.js"); var _LastPage2 = _interopRequireDefault(_LastPage); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } var propTypes = { onChangePage: _propTypes2.default.func, rowsPerPage: _propTypes2.default.number, count: _propTypes2.default.number, page: _propTypes2.default.number }; var TablePaginationActions = function (_React$Component) { (0, _inherits3.default)(TablePaginationActions, _React$Component); function TablePaginationActions() { (0, _classCallCheck3.default)(this, TablePaginationActions); var _this = (0, _possibleConstructorReturn3.default)(this, (TablePaginationActions.__proto__ || (0, _getPrototypeOf2.default)(TablePaginationActions)).call(this)); _this.handleBackButtonClick = _this.handleBackButtonClick.bind(_this); _this.handleFirstPageButtonClick = _this.handleFirstPageButtonClick.bind(_this); _this.handleNextButtonClick = _this.handleNextButtonClick.bind(_this); _this.handleLastPageButtonClick = _this.handleLastPageButtonClick.bind(_this); return _this; } (0, _createClass3.default)(TablePaginationActions, [{ key: 'handleFirstPageButtonClick', value: function handleFirstPageButtonClick(event) { this.props.onChangePage(event, 0); } }, { key: 'handleBackButtonClick', value: function handleBackButtonClick(event) { this.props.onChangePage(event, this.props.page - 1); } }, { key: 'handleNextButtonClick', value: function handleNextButtonClick(event) { this.props.onChangePage(event, this.props.page + 1); } }, { key: 'handleLastPageButtonClick', value: function handleLastPageButtonClick(event) { this.props.onChangePage(event, Math.max(0, Math.ceil(this.props.count / this.props.rowsPerPage) - 1)); } }, { key: 'render', value: function render() { var _props = this.props, count = _props.count, page = _props.page, rowsPerPage = _props.rowsPerPage; return _react2.default.createElement( 'div', { className: 'TableActions' }, _react2.default.createElement( _core.IconButton, { onClick: this.handleFirstPageButtonClick, disabled: page === 0, 'aria-label': 'First Page' }, _react2.default.createElement(_FirstPage2.default, null) ), _react2.default.createElement( _core.IconButton, { onClick: this.handleBackButtonClick, disabled: page === 0, 'aria-label': 'Previous Page' }, _react2.default.createElement(_icons.KeyboardArrowLeft, null) ), _react2.default.createElement( _core.IconButton, { onClick: this.handleNextButtonClick, disabled: page >= Math.ceil(count / rowsPerPage) - 1, 'aria-label': 'Next Page' }, _react2.default.createElement(_icons.KeyboardArrowRight, null) ), _react2.default.createElement( _core.IconButton, { onClick: this.handleLastPageButtonClick, disabled: page >= Math.ceil(count / rowsPerPage) - 1, 'aria-label': 'Last Page' }, _react2.default.createElement(_LastPage2.default, null) ) ); } }]); return TablePaginationActions; }(_react2.default.Component); TablePaginationActions.propTypes = propTypes; exports.default = TablePaginationActions; /***/ }), /***/ "./admin/components/TablePaginationActions/index.jsx": /*!***********************************************************!*\ !*** ./admin/components/TablePaginationActions/index.jsx ***! \***********************************************************/ /*! no static exports found */ /***/ (function(module, exports, __webpack_require__) { "use strict"; Object.defineProperty(exports, "__esModule", { value: true }); var _TablePaginationActions = __webpack_require__(/*! ./TablePaginationActions */ "./admin/components/TablePaginationActions/TablePaginationActions.jsx"); var _TablePaginationActions2 = _interopRequireDefault(_TablePaginationActions); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } exports.default = _TablePaginationActions2.default; /***/ }), /***/ "./admin/ducks/index.js": /*!******************************!*\ !*** ./admin/ducks/index.js ***! \******************************/ /*! no static exports found */ /***/ (function(module, exports, __webpack_require__) { "use strict"; Object.defineProperty(exports, "__esModule", { value: true }); var _redux = __webpack_require__(/*! redux */ "./node_modules/redux/es/index.js"); var _metadata = __webpack_require__(/*! ./metadata */ "./admin/ducks/metadata.js"); var _metadata2 = _interopRequireDefault(_metadata); var _resource = __webpack_require__(/*! ./resource */ "./admin/ducks/resource.js"); var _resource2 = _interopRequireDefault(_resource); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } exports.default = (0, _redux.combineReducers)({ metadata: _metadata2.default, resource: _resource2.default }); /***/ }), /***/ "./admin/ducks/metadata.js": /*!*********************************!*\ !*** ./admin/ducks/metadata.js ***! \*********************************/ /*! no static exports found */ /***/ (function(module, exports, __webpack_require__) { "use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.fetchMetadataFailure = exports.fetchMetadataSuccess = exports.fetchMetadataRequest = exports.FETCH_METADATA_FAILURE = exports.FETCH_METADATA_SUCCESS = exports.FETCH_METADATA_REQUEST = undefined; var _defineProperty2 = __webpack_require__(/*! babel-runtime/helpers/defineProperty */ "./node_modules/babel-runtime/helpers/defineProperty.js"); var _defineProperty3 = _interopRequireDefault(_defineProperty2); var _extends2 = __webpack_require__(/*! babel-runtime/helpers/extends */ "./node_modules/babel-runtime/helpers/extends.js"); var _extends3 = _interopRequireDefault(_extends2); var _handleActions; var _reduxActions = __webpack_require__(/*! redux-actions */ "./node_modules/redux-actions/es/index.js"); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } var FETCH_METADATA_REQUEST = exports.FETCH_METADATA_REQUEST = 'metadata/fetch/REQUEST'; var FETCH_METADATA_SUCCESS = exports.FETCH_METADATA_SUCCESS = 'metadata/fetch/SUCCESS'; var FETCH_METADATA_FAILURE = exports.FETCH_METADATA_FAILURE = 'metadata/fetch/FAILURE'; var fetchMetadataRequest = exports.fetchMetadataRequest = (0, _reduxActions.createAction)(FETCH_METADATA_REQUEST); var fetchMetadataSuccess = exports.fetchMetadataSuccess = (0, _reduxActions.createAction)(FETCH_METADATA_SUCCESS); var fetchMetadataFailure = exports.fetchMetadataFailure = (0, _reduxActions.createAction)(FETCH_METADATA_FAILURE); var initialState = { resources: null, schema: null, client: null }; exports.default = (0, _reduxActions.handleActions)((_handleActions = {}, (0, _defineProperty3.default)(_handleActions, FETCH_METADATA_SUCCESS, function (state, _ref) { var payload = _ref.payload; return (0, _extends3.default)({}, state, { resources: payload.resources, schema: payload.schema, client: payload.client }); }), (0, _defineProperty3.default)(_handleActions, FETCH_METADATA_FAILURE, function (state, _ref2) { var payload = _ref2.payload; return (0, _extends3.default)({}, state, { error: payload }); }), _handleActions), initialState); /***/ }), /***/ "./admin/ducks/resource.js": /*!*********************************!*\ !*** ./admin/ducks/resource.js ***! \*********************************/ /*! no static exports found */ /***/ (function(module, exports, __webpack_require__) { "use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.deleteResourceElementRequest = exports.setCurrentResourceElement = exports.updateResourceElementFailure = exports.updateResourceElementSuccess = exports.updateResourceElementRequest = exports.submitResourceFailure = exports.submitResourceSuccess = exports.submitResourceRequest = exports.fetchCurrentResourceSuccess = exports.fetchCurrentResourceRequest = exports.fetchResourceEntitiesSuccess = exports.fetchResourceEntitiesRequest = exports.DELETE_RESOURCE_ELEMENT_REQUEST = exports.SET_CURRENT_RESOURCE_ELEMENT = exports.UPDATE_RESOURCE_ELEMENT_FAILURE = exports.UPDATE_RESOURCE_ELEMENT_SUCCESS = exports.UPDATE_RESOURCE_ELEMENT_REQUEST = exports.SUBMIT_RESOURCE_FAILURE = exports.SUBMIT_RESOURCE_SUCCESS = exports.SUBMIT_RESOURCE_REQUEST = exports.FETCH_CURRENT_RESOURCE_FAILURE = exports.FETCH_CURRENT_RESOURCE_SUCCESS = exports.FETCH_CURRENT_RESOURCE_REQUEST = exports.FETCH_RESOURCE_ENTITIES_FAILURE = exports.FETCH_RESOURCE_ENTITIES_SUCCESS = exports.FETCH_RESOURCE_ENTITIES_REQUEST = undefined; var _defineProperty2 = __webpack_require__(/*! babel-runtime/helpers/defineProperty */ "./node_modules/babel-runtime/helpers/defineProperty.js"); var _defineProperty3 = _interopRequireDefault(_defineProperty2); var _toConsumableArray2 = __webpack_require__(/*! babel-runtime/helpers/toConsumableArray */ "./node_modules/babel-runtime/helpers/toConsumableArray.js"); var _toConsumableArray3 = _interopRequireDefault(_toConsumableArray2); var _extends2 = __webpack_require__(/*! babel-runtime/helpers/extends */ "./node_modules/babel-runtime/helpers/extends.js"); var _extends3 = _interopRequireDefault(_extends2); var _handleActions; var _reduxActions = __webpack_require__(/*! redux-actions */ "./node_modules/redux-actions/es/index.js"); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } var FETCH_RESOURCE_ENTITIES_REQUEST = exports.FETCH_RESOURCE_ENTITIES_REQUEST = 'resource/entities/fetch/REQUEST'; var FETCH_RESOURCE_ENTITIES_SUCCESS = exports.FETCH_RESOURCE_ENTITIES_SUCCESS = 'resource/entities/fetch/SUCCESS'; var FETCH_RESOURCE_ENTITIES_FAILURE = exports.FETCH_RESOURCE_ENTITIES_FAILURE = 'resource/entities/fetch/FAILURE'; var FETCH_CURRENT_RESOURCE_REQUEST = exports.FETCH_CURRENT_RESOURCE_REQUEST = 'resource/current-resource/REQUEST'; var FETCH_CURRENT_RESOURCE_SUCCESS = exports.FETCH_CURRENT_RESOURCE_SUCCESS = 'resource/current-resource/SUCCESS'; var FETCH_CURRENT_RESOURCE_FAILURE = exports.FETCH_CURRENT_RESOURCE_FAILURE = 'resource/current-resource/FAILURE'; var SUBMIT_RESOURCE_REQUEST = exports.SUBMIT_RESOURCE_REQUEST = 'resource/submit/REQUEST'; var SUBMIT_RESOURCE_SUCCESS = exports.SUBMIT_RESOURCE_SUCCESS = 'resource/submit/SUCCESS'; var SUBMIT_RESOURCE_FAILURE = exports.SUBMIT_RESOURCE_FAILURE = 'resource/submit/FAILURE'; var UPDATE_RESOURCE_ELEMENT_REQUEST = exports.UPDATE_RESOURCE_ELEMENT_REQUEST = 'resource/update/REQUEST'; var UPDATE_RESOURCE_ELEMENT_SUCCESS = exports.UPDATE_RESOURCE_ELEMENT_SUCCESS = 'resource/update/SUCCESS'; var UPDATE_RESOURCE_ELEMENT_FAILURE = exports.UPDATE_RESOURCE_ELEMENT_FAILURE = 'resource/update/FAILURE'; var SET_CURRENT_RESOURCE_ELEMENT = exports.SET_CURRENT_RESOURCE_ELEMENT = 'resource/current-resource/SET'; var DELETE_RESOURCE_ELEMENT_REQUEST = exports.DELETE_RESOURCE_ELEMENT_REQUEST = 'resource/delete/REQUEST'; var fetchResourceEntitiesRequest = exports.fetchResourceEntitiesRequest = (0, _reduxActions.createAction)(FETCH_RESOURCE_ENTITIES_REQUEST); var fetchResourceEntitiesSuccess = exports.fetchResourceEntitiesSuccess = (0, _reduxActions.createAction)(FETCH_RESOURCE_ENTITIES_SUCCESS); var fetchCurrentResourceRequest = exports.fetchCurrentResourceRequest = (0, _reduxActions.createAction)(FETCH_CURRENT_RESOURCE_REQUEST); var fetchCurrentResourceSuccess = exports.fetchCurrentResourceSuccess = (0, _reduxActions.createAction)(FETCH_CURRENT_RESOURCE_SUCCESS); var submitResourceRequest = exports.submitResourceRequest = (0, _reduxActions.createAction)(SUBMIT_RESOURCE_REQUEST); var submitResourceSuccess = exports.submitResourceSuccess = (0, _reduxActions.createAction)(SUBMIT_RESOURCE_SUCCESS); var submitResourceFailure = exports.submitResourceFailure = (0, _reduxActions.createAction)(SUBMIT_RESOURCE_FAILURE); var updateResourceElementRequest = exports.updateResourceElementRequest = (0, _reduxActions.createAction)(UPDATE_RESOURCE_ELEMENT_REQUEST); var updateResourceElementSuccess = exports.updateResourceElementSuccess = (0, _reduxActions.createAction)(UPDATE_RESOURCE_ELEMENT_SUCCESS); var updateResourceElementFailure = exports.updateResourceElementFailure = (0, _reduxActions.createAction)(UPDATE_RESOURCE_ELEMENT_FAILURE); var setCurrentResourceElement = exports.setCurrentResourceElement = (0, _reduxActions.createAction)(SET_CURRENT_RESOURCE_ELEMENT); var deleteResourceElementRequest = exports.deleteResourceElementRequest = (0, _reduxActions.createAction)(DELETE_RESOURCE_ELEMENT_REQUEST); var initialState = { entities: null, currentResourceElement: null, rowsPerPage: null, totalCount: null, currentPage: null, errors: null }; exports.default = (0, _reduxActions.handleActions)((_handleActions = {}, (0, _defineProperty3.default)(_handleActions, FETCH_RESOURCE_ENTITIES_SUCCESS, function (state, _ref) { var payload = _ref.payload; return (0, _extends3.default)({}, state, { entities: payload.resources.data, currentResourceElement: null, rowsPerPage: payload.resources.meta.page_size, currentPage: payload.resources.meta.page, totalCount: payload.resources.meta.count }); }), (0, _defineProperty3.default)(_handleActions, FETCH_CURRENT_RESOURCE_SUCCESS, function (state, _ref2) { var payload = _ref2.payload; return (0, _extends3.default)({}, state, { currentResourceElement: payload }); }), (0, _defineProperty3.default)(_handleActions, SUBMIT_RESOURCE_SUCCESS, function (state, _ref3) { var payload = _ref3.payload; return (0, _extends3.default)({}, state, { entities: [].concat((0, _toConsumableArray3.default)(state.entities), [payload]) }); }), (0, _defineProperty3.default)(_handleActions, SUBMIT_RESOURCE_FAILURE, function (state, _ref4) { var payload = _ref4.payload; return (0, _extends3.default)({}, state, { errors: payload }); }), (0, _defineProperty3.default)(_handleActions, SET_CURRENT_RESOURCE_ELEMENT, function (state, _ref5) { var payload = _ref5.payload; return (0, _extends3.default)({}, state, { currentResourceElement: (0, _extends3.default)({}, state.currentResourceElement, payload) }); }), _handleActions), initialState); /***/ }), /***/ "./admin/index.js": /*!************************!*\ !*** ./admin/index.js ***! \************************/ /*! no static exports found */ /***/ (function(module, exports, __webpack_require__) { "use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.history = undefined; var _react = __webpack_require__(/*! react */ "./node_modules/react/index.js"); var _react2 = _interopRequireDefault(_react); var _reactDom = __webpack_require__(/*! react-dom */ "./node_modules/react-dom/index.js"); var _reactDom2 = _interopRequireDefault(_reactDom); var _AppContainer = __webpack_require__(/*! ./AppContainer */ "./admin/AppContainer.js"); var _AppContainer2 = _interopRequireDefault(_AppContainer); __webpack_require__(/*! ./index.css */ "./admin/index.css"); var _createBrowserHistory = __webpack_require__(/*! history/createBrowserHistory */ "./node_modules/history/createBrowserHistory.js"); var _createBrowserHistory2 = _interopRequireDefault(_createBrowserHistory); var _reactRedux = __webpack_require__(/*! react-redux */ "./node_modules/react-redux/es/index.js"); var _redux = __webpack_require__(/*! redux */ "./node_modules/redux/es/index.js"); var _connectedReactRouter = __webpack_require__(/*! connected-react-router */ "./node_modules/connected-react-router/lib/index.js"); var _reduxSaga = __webpack_require__(/*! redux-saga */ "./node_modules/redux-saga/es/index.js"); var _reduxSaga2 = _interopRequireDefault(_reduxSaga); var _ducks = __webpack_require__(/*! ./ducks */ "./admin/ducks/index.js"); var _ducks2 = _interopRequireDefault(_ducks); var _sagas = __webpack_require__(/*! ./sagas */ "./admin/sagas/index.js"); var _sagas2 = _interopRequireDefault(_sagas); var _reactTapEventPlugin = __webpack_require__(/*! react-tap-event-plugin */ "./node_modules/react-tap-event-plugin/src/injectTapEventPlugin.js"); var _reactTapEventPlugin2 = _interopRequireDefault(_reactTapEventPlugin); var _styles = __webpack_require__(/*! @material-ui/core/styles/ */ "./node_modules/@material-ui/core/styles/index.js"); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } var muiTheme = (0, _styles.createMuiTheme)({ palette: { primary: { main: '#31CACC', contrastText: '#fff' } } }); var history = exports.history = (0, _createBrowserHistory2.default)(); var sagaMiddleware = (0, _reduxSaga2.default)(); var composeEnhancers = _redux.compose; if (true) { var composeWithDevToolsExtension = window.__REDUX_DEVTOOLS_EXTENSION_COMPOSE__; if (typeof composeWithDevToolsExtension === 'function') { composeEnhancers = composeWithDevToolsExtension; } } var store = (0, _redux.createStore)((0, _connectedReactRouter.connectRouter)(history)(_ducks2.default), composeEnhancers((0, _redux.applyMiddleware)((0, _connectedReactRouter.routerMiddleware)(history), sagaMiddleware))); sagaMiddleware.run(_sagas2.default); (0, _reactTapEventPlugin2.default)(); _reactDom2.default.render(_react2.default.createElement( _styles.MuiThemeProvider, { theme: muiTheme }, _react2.default.createElement( _reactRedux.Provider, { store: store }, _react2.default.createElement(_AppContainer2.default, null) ) ), document.getElementById('root')); /***/ }), /***/ "./admin/routes/DetailPage.jsx": /*!*************************************!*\ !*** ./admin/routes/DetailPage.jsx ***! \*************************************/ /*! no static exports found */ /***/ (function(module, exports, __webpack_require__) { "use strict"; Object.defineProperty(exports, "__esModule", { value: true }); var _extends2 = __webpack_require__(/*! babel-runtime/helpers/extends */ "./node_modules/babel-runtime/helpers/extends.js"); var _extends3 = _interopRequireDefault(_extends2); var _getPrototypeOf = __webpack_require__(/*! babel-runtime/core-js/object/get-prototype-of */ "./node_modules/babel-runtime/core-js/object/get-prototype-of.js"); var _getPrototypeOf2 = _interopRequireDefault(_getPrototypeOf); var _classCallCheck2 = __webpack_require__(/*! babel-runtime/helpers/classCallCheck */ "./node_modules/babel-runtime/helpers/classCallCheck.js"); var _classCallCheck3 = _interopRequireDefault(_classCallCheck2); var _createClass2 = __webpack_require__(/*! babel-runtime/helpers/createClass */ "./node_modules/babel-runtime/helpers/createClass.js"); var _createClass3 = _interopRequireDefault(_createClass2); var _possibleConstructorReturn2 = __webpack_require__(/*! babel-runtime/helpers/possibleConstructorReturn */ "./node_modules/babel-runtime/helpers/possibleConstructorReturn.js"); var _possibleConstructorReturn3 = _interopRequireDefault(_possibleConstructorReturn2); var _inherits2 = __webpack_require__(/*! babel-runtime/helpers/inherits */ "./node_modules/babel-runtime/helpers/inherits.js"); var _inherits3 = _interopRequireDefault(_inherits2); var _react = __webpack_require__(/*! react */ "./node_modules/react/index.js"); var _react2 = _interopRequireDefault(_react); var _reactRedux = __webpack_require__(/*! react-redux */ "./node_modules/react-redux/es/index.js"); var _reactRouterDom = __webpack_require__(/*! react-router-dom */ "./node_modules/react-router-dom/es/index.js"); var _propTypes = __webpack_require__(/*! prop-types */ "./node_modules/prop-types/index.js"); var _propTypes2 = _interopRequireDefault(_propTypes); var _core = __webpack_require__(/*! @material-ui/core */ "./node_modules/@material-ui/core/index.es.js"); var _api = __webpack_require__(/*! ../api */ "./admin/api.js"); var _ResourceForm = __webpack_require__(/*! ../components/ResourceForm */ "./admin/components/ResourceForm/index.js"); var _ResourceForm2 = _interopRequireDefault(_ResourceForm); var _resource = __webpack_require__(/*! ../ducks/resource */ "./admin/ducks/resource.js"); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } var propTypes = { metadata: _propTypes2.default.shape({ resources: _propTypes2.default.object, client: _propTypes2.default.object, schema: _propTypes2.default.string }), match: _propTypes2.default.object, fetchResource: _propTypes2.default.func.isRequired }; var DetailPage = function (_React$Component) { (0, _inherits3.default)(DetailPage, _React$Component); function DetailPage() { (0, _classCallCheck3.default)(this, DetailPage); return (0, _possibleConstructorReturn3.default)(this, (DetailPage.__proto__ || (0, _getPrototypeOf2.default)(DetailPage)).apply(this, arguments)); } (0, _createClass3.default)(DetailPage, [{ key: 'componentDidMount', value: function componentDidMount() { if (this.props.match.params.id !== 'new') { this.props.fetchResource({ resourceName: this.props.match.params.resource, resourceId: this.props.match.params.id }); } } }, { key: 'render', value: function render() { var resourceName = this.props.match.params.resource; var resourceId = this.props.match.params.id; return _react2.default.createElement( _core.Grid, { container: true, className: 'MainContainer' }, _react2.default.createElement( _core.Grid, { item: true, xs: 12 }, _react2.default.createElement( _core.Button, { className: 'ButtonBack', component: function component(props) { return _react2.default.createElement(_reactRouterDom.Link, (0, _extends3.default)({ to: '' + _api.REL_PATH + resourceName + '/' }, props)); } }, _react2.default.createElement( _core.Icon, null, 'arrow_back' ), '\xA0Back' ), _react2.default.createElement(_ResourceForm2.default, { resourceName: resourceName, resourceId: resourceId }) ) ); } }]); return DetailPage; }(_react2.default.Component); DetailPage.propTypes = propTypes; var mapStateToProps = function mapStateToProps(state) { return { metadata: state.metadata }; }; var mapDispatchToProps = { fetchResource: _resource.fetchCurrentResourceRequest }; exports.default = (0, _reactRedux.connect)(mapStateToProps, mapDispatchToProps)(DetailPage); /***/ }), /***/ "./admin/routes/ErrorPage.jsx": /*!************************************!*\ !*** ./admin/routes/ErrorPage.jsx ***! \************************************/ /*! no static exports found */ /***/ (function(module, exports, __webpack_require__) { "use strict"; Object.defineProperty(exports, "__esModule", { value: true }); var _react = __webpack_require__(/*! react */ "./node_modules/react/index.js"); var _react2 = _interopRequireDefault(_react); var _propTypes = __webpack_require__(/*! prop-types */ "./node_modules/prop-types/index.js"); var _propTypes2 = _interopRequireDefault(_propTypes); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } var propTypes = {}; var defaultProps = {}; var ErrorPage = function ErrorPage(props) { return _react2.default.createElement( 'div', null, '404 Not found' ); }; ErrorPage.propTypes = propTypes; ErrorPage.defaultProps = defaultProps; exports.default = ErrorPage; /***/ }), /***/ "./admin/routes/HomePage.js": /*!**********************************!*\ !*** ./admin/routes/HomePage.js ***! \**********************************/ /*! no static exports found */ /***/ (function(module, exports, __webpack_require__) { "use strict"; Object.defineProperty(exports, "__esModule", { value: true }); var _extends2 = __webpack_require__(/*! babel-runtime/helpers/extends */ "./node_modules/babel-runtime/helpers/extends.js"); var _extends3 = _interopRequireDefault(_extends2); var _entries = __webpack_require__(/*! babel-runtime/core-js/object/entries */ "./node_modules/babel-runtime/core-js/object/entries.js"); var _entries2 = _interopRequireDefault(_entries); var _getPrototypeOf = __webpack_require__(/*! babel-runtime/core-js/object/get-prototype-of */ "./node_modules/babel-runtime/core-js/object/get-prototype-of.js"); var _getPrototypeOf2 = _interopRequireDefault(_getPrototypeOf); var _classCallCheck2 = __webpack_require__(/*! babel-runtime/helpers/classCallCheck */ "./node_modules/babel-runtime/helpers/classCallCheck.js"); var _classCallCheck3 = _interopRequireDefault(_classCallCheck2); var _createClass2 = __webpack_require__(/*! babel-runtime/helpers/createClass */ "./node_modules/babel-runtime/helpers/createClass.js"); var _createClass3 = _interopRequireDefault(_createClass2); var _possibleConstructorReturn2 = __webpack_require__(/*! babel-runtime/helpers/possibleConstructorReturn */ "./node_modules/babel-runtime/helpers/possibleConstructorReturn.js"); var _possibleConstructorReturn3 = _interopRequireDefault(_possibleConstructorReturn2); var _inherits2 = __webpack_require__(/*! babel-runtime/helpers/inherits */ "./node_modules/babel-runtime/helpers/inherits.js"); var _inherits3 = _interopRequireDefault(_inherits2); var _react = __webpack_require__(/*! react */ "./node_modules/react/index.js"); var _react2 = _interopRequireDefault(_react); var _reactRedux = __webpack_require__(/*! react-redux */ "./node_modules/react-redux/es/index.js"); var _reactRouterDom = __webpack_require__(/*! react-router-dom */ "./node_modules/react-router-dom/es/index.js"); var _propTypes = __webpack_require__(/*! prop-types */ "./node_modules/prop-types/index.js"); var _propTypes2 = _interopRequireDefault(_propTypes); var _core = __webpack_require__(/*! @material-ui/core */ "./node_modules/@material-ui/core/index.es.js"); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } var propTypes = { metadata: _propTypes2.default.shape({ resources: _propTypes2.default.object, schema: _propTypes2.default.string, client: _propTypes2.default.object }) }; var HomePage = function (_React$Component) { (0, _inherits3.default)(HomePage, _React$Component); function HomePage() { (0, _classCallCheck3.default)(this, HomePage); return (0, _possibleConstructorReturn3.default)(this, (HomePage.__proto__ || (0, _getPrototypeOf2.default)(HomePage)).apply(this, arguments)); } (0, _createClass3.default)(HomePage, [{ key: 'render', value: function render() { var resources = this.props.metadata.resources; return resources && _react2.default.createElement( _core.Grid, { container: true, alignItems: 'center', className: 'MainContainer' }, _react2.default.createElement( _core.Grid, { item: true, xs: 12, sm: 6 }, _react2.default.createElement( _core.Paper, { square: true }, _react2.default.createElement( _core.Typography, { variant: 'title', className: 'PanelTitle' }, 'Resources' ), _react2.default.createElement( _core.List, { component: 'nav' }, (0, _entries2.default)(resources).map(function (resource) { return _react2.default.createElement( _core.ListItem, { key: resource[0], button: true, component: function component(props) { return _react2.default.createElement(_reactRouterDom.Link, (0, _extends3.default)({ to: resource[1] + '/' }, props)); } }, _react2.default.createElement(_core.ListItemText, { primary: resource[0] }) ); }) ) ) ) ); } }]); return HomePage; }(_react2.default.Component); HomePage.propTypes = propTypes; var mapStateToProps = function mapStateToProps(state) { return { metadata: state.metadata }; }; exports.default = (0, _reactRedux.connect)(mapStateToProps)(HomePage); /***/ }), /***/ "./admin/routes/ListPage.jsx": /*!***********************************!*\ !*** ./admin/routes/ListPage.jsx ***! \***********************************/ /*! no static exports found */ /***/ (function(module, exports, __webpack_require__) { "use strict"; Object.defineProperty(exports, "__esModule", { value: true }); var _values = __webpack_require__(/*! babel-runtime/core-js/object/values */ "./node_modules/babel-runtime/core-js/object/values.js"); var _values2 = _interopRequireDefault(_values); var _extends2 = __webpack_require__(/*! babel-runtime/helpers/extends */ "./node_modules/babel-runtime/helpers/extends.js"); var _extends3 = _interopRequireDefault(_extends2); var _getPrototypeOf = __webpack_require__(/*! babel-runtime/core-js/object/get-prototype-of */ "./node_modules/babel-runtime/core-js/object/get-prototype-of.js"); var _getPrototypeOf2 = _interopRequireDefault(_getPrototypeOf); var _classCallCheck2 = __webpack_require__(/*! babel-runtime/helpers/classCallCheck */ "./node_modules/babel-runtime/helpers/classCallCheck.js"); var _classCallCheck3 = _interopRequireDefault(_classCallCheck2); var _createClass2 = __webpack_require__(/*! babel-runtime/helpers/createClass */ "./node_modules/babel-runtime/helpers/createClass.js"); var _createClass3 = _interopRequireDefault(_createClass2); var _possibleConstructorReturn2 = __webpack_require__(/*! babel-runtime/helpers/possibleConstructorReturn */ "./node_modules/babel-runtime/helpers/possibleConstructorReturn.js"); var _possibleConstructorReturn3 = _interopRequireDefault(_possibleConstructorReturn2); var _inherits2 = __webpack_require__(/*! babel-runtime/helpers/inherits */ "./node_modules/babel-runtime/helpers/inherits.js"); var _inherits3 = _interopRequireDefault(_inherits2); var _react = __webpack_require__(/*! react */ "./node_modules/react/index.js"); var _react2 = _interopRequireDefault(_react); var _propTypes = __webpack_require__(/*! prop-types */ "./node_modules/prop-types/index.js"); var _propTypes2 = _interopRequireDefault(_propTypes); var _reactRedux = __webpack_require__(/*! react-redux */ "./node_modules/react-redux/es/index.js"); var _findKey = __webpack_require__(/*! lodash/findKey */ "./node_modules/lodash/findKey.js"); var _findKey2 = _interopRequireDefault(_findKey); var _core = __webpack_require__(/*! @material-ui/core */ "./node_modules/@material-ui/core/index.es.js"); var _reactRouterDom = __webpack_require__(/*! react-router-dom */ "./node_modules/react-router-dom/es/index.js"); var _api = __webpack_require__(/*! ../api */ "./admin/api.js"); var _TablePaginationActions = __webpack_require__(/*! ../components/TablePaginationActions */ "./admin/components/TablePaginationActions/index.jsx"); var _TablePaginationActions2 = _interopRequireDefault(_TablePaginationActions); var _resource = __webpack_require__(/*! ../ducks/resource */ "./admin/ducks/resource.js"); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } var propTypes = { match: _propTypes2.default.object, fetchResources: _propTypes2.default.func, schema: _propTypes2.default.PropTypes.object, resources: _propTypes2.default.arrayOf(_propTypes2.default.object), rowsPerPage: _propTypes2.default.number, currentPage: _propTypes2.default.number }; var DEFAULT_PAGE_SIZE = 10; var ListPage = function (_React$Component) { (0, _inherits3.default)(ListPage, _React$Component); function ListPage() { (0, _classCallCheck3.default)(this, ListPage); var _this = (0, _possibleConstructorReturn3.default)(this, (ListPage.__proto__ || (0, _getPrototypeOf2.default)(ListPage)).call(this)); _this.handleChangePage = _this.handleChangePage.bind(_this); return _this; } (0, _createClass3.default)(ListPage, [{ key: 'componentDidMount', value: function componentDidMount() { this.props.fetchResources({ resourceName: this.props.match.params.resource, query: { page_size: DEFAULT_PAGE_SIZE, page: 1 } }); } }, { key: 'handleChangePage', value: function handleChangePage(evt, page) { // Mui has some weird default pagination behaviour on cDU if (evt) { this.props.fetchResources({ resourceName: this.props.match.params.resource, query: { page: page + 1, // TablePagination starts at 0; page_size: DEFAULT_PAGE_SIZE } }); } } }, { key: 'render', value: function render() { var resource = this.props.match.params.resource; var resourceSchema = this.props.schema && this.props.schema.spec.paths['/' + resource + '/'].post.requestBody.content['application/json'].schema; return resourceSchema && _react2.default.createElement( _core.Grid, { container: true, spacing: 8, className: 'MainContainer' }, _react2.default.createElement( _core.Grid, { item: true, xs: 12 }, _react2.default.createElement( _core.Paper, { square: true }, _react2.default.createElement( _core.Typography, { variant: 'title', className: 'TableTitle PanelTitle' }, (0, _findKey2.default)(this.props.resourceList, function (resource) { return resource === resource; }) ), _react2.default.createElement( _core.Button, { component: function component(props) { return _react2.default.createElement(_reactRouterDom.Link, (0, _extends3.default)({ to: 'new' }, props)); }, variant: 'contained', color: 'primary', className: 'ButtonNew' }, 'Create New' ), this.props.resources ? _react2.default.createElement( _react.Fragment, null, _react2.default.createElement( 'div', { className: 'TableContainer' }, _react2.default.createElement( _core.Table, { className: 'TableContainer' }, _react2.default.createElement( _core.TableHead, null, _react2.default.createElement( _core.TableRow, null, _react2.default.createElement( _core.TableCell, { key: 'edit' }, 'Edit' ), (0, _values2.default)(resourceSchema.properties).map(function (field) { return _react2.default.createElement( _core.TableCell, { key: field.title }, field.description ); }) ) ), _react2.default.createElement( _core.TableBody, null, this.props.resources.map(function (item) { return _react2.default.createElement( _core.TableRow, { key: item.id }, _react2.default.createElement( _core.TableCell, null, _react2.default.createElement( _reactRouterDom.Link, { to: '' + _api.REL_PATH + resource + '/' + item.id }, _react2.default.createElement( _core.Icon, null, 'edit' ) ) ), (0, _values2.default)(resourceSchema.properties).map(function (field) { return _react2.default.createElement( _core.TableCell, { key: field.title }, item[field.title] ); }) ); }) ), _react2.default.createElement( _core.TableFooter, null, _react2.default.createElement(_core.TableRow, null) ) ) ), _react2.default.createElement(_core.TablePagination, { colSpan: 3, component: 'div', className: 'TablePagination', count: this.props.totalCount, rowsPerPage: this.props.rowsPerPage, page: this.props.currentPage - 1, onChangePage: this.handleChangePage, onChangeRowsPerPage: this.handleChangeRowsPerPage, ActionsComponent: _TablePaginationActions2.default, rowsPerPageOptions: [0] }) ) : _react2.default.createElement( 'div', { className: 'SpinnerContainer' }, _react2.default.createElement(_core.CircularProgress, null) ) ) ) ); } }]); return ListPage; }(_react2.default.Component); ListPage.propTypes = propTypes; var mapStateToProps = function mapStateToProps(state) { return { rowsPerPage: state.resource.rowsPerPage, currentPage: state.resource.currentPage, totalCount: state.resource.totalCount, resources: state.resource.entities, schema: state.metadata.client, resourceList: state.metadata.resources }; }; var mapDispatchToProps = { fetchResources: _resource.fetchResourceEntitiesRequest }; exports.default = (0, _reactRedux.connect)(mapStateToProps, mapDispatchToProps)(ListPage); /***/ }), /***/ "./admin/routes/index.js": /*!*******************************!*\ !*** ./admin/routes/index.js ***! \*******************************/ /*! no static exports found */ /***/ (function(module, exports, __webpack_require__) { "use strict"; Object.defineProperty(exports, "__esModule", { value: true }); var _getPrototypeOf = __webpack_require__(/*! babel-runtime/core-js/object/get-prototype-of */ "./node_modules/babel-runtime/core-js/object/get-prototype-of.js"); var _getPrototypeOf2 = _interopRequireDefault(_getPrototypeOf); var _classCallCheck2 = __webpack_require__(/*! babel-runtime/helpers/classCallCheck */ "./node_modules/babel-runtime/helpers/classCallCheck.js"); var _classCallCheck3 = _interopRequireDefault(_classCallCheck2); var _createClass2 = __webpack_require__(/*! babel-runtime/helpers/createClass */ "./node_modules/babel-runtime/helpers/createClass.js"); var _createClass3 = _interopRequireDefault(_createClass2); var _possibleConstructorReturn2 = __webpack_require__(/*! babel-runtime/helpers/possibleConstructorReturn */ "./node_modules/babel-runtime/helpers/possibleConstructorReturn.js"); var _possibleConstructorReturn3 = _interopRequireDefault(_possibleConstructorReturn2); var _inherits2 = __webpack_require__(/*! babel-runtime/helpers/inherits */ "./node_modules/babel-runtime/helpers/inherits.js"); var _inherits3 = _interopRequireDefault(_inherits2); var _react = __webpack_require__(/*! react */ "./node_modules/react/index.js"); var _react2 = _interopRequireDefault(_react); var _reactRouterDom = __webpack_require__(/*! react-router-dom */ "./node_modules/react-router-dom/es/index.js"); var _reactRouterRedux = __webpack_require__(/*! react-router-redux */ "./node_modules/react-router-redux/es/index.js"); var _Header = __webpack_require__(/*! ../components/Header */ "./admin/components/Header/index.js"); var _Header2 = _interopRequireDefault(_Header); var _HomePage = __webpack_require__(/*! ./HomePage */ "./admin/routes/HomePage.js"); var _HomePage2 = _interopRequireDefault(_HomePage); var _ListPage = __webpack_require__(/*! ./ListPage */ "./admin/routes/ListPage.jsx"); var _ListPage2 = _interopRequireDefault(_ListPage); var _DetailPage = __webpack_require__(/*! ./DetailPage */ "./admin/routes/DetailPage.jsx"); var _DetailPage2 = _interopRequireDefault(_DetailPage); var _ErrorPage = __webpack_require__(/*! ./ErrorPage */ "./admin/routes/ErrorPage.jsx"); var _ErrorPage2 = _interopRequireDefault(_ErrorPage); var _api = __webpack_require__(/*! ../api */ "./admin/api.js"); var _index = __webpack_require__(/*! ../index.js */ "./admin/index.js"); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } var Routes = function (_Component) { (0, _inherits3.default)(Routes, _Component); function Routes() { (0, _classCallCheck3.default)(this, Routes); return (0, _possibleConstructorReturn3.default)(this, (Routes.__proto__ || (0, _getPrototypeOf2.default)(Routes)).apply(this, arguments)); } (0, _createClass3.default)(Routes, [{ key: 'render', value: function render() { return _react2.default.createElement( _reactRouterRedux.ConnectedRouter, { history: _index.history }, _react2.default.createElement( 'div', null, _react2.default.createElement(_Header2.default, null), _react2.default.createElement( _reactRouterDom.Switch, null, _react2.default.createElement(_reactRouterDom.Route, { exact: true, path: _api.REL_PATH, component: _HomePage2.default }), _react2.default.createElement(_reactRouterDom.Route, { exact: true, path: _api.REL_PATH + ':resource', component: _ListPage2.default }), _react2.default.createElement(_reactRouterDom.Route, { exact: true, path: _api.REL_PATH + ':resource/:id', component: _DetailPage2.default }), _react2.default.createElement(_reactRouterDom.Route, { path: '/not-found', component: _ErrorPage2.default }), _react2.default.createElement(_reactRouterDom.Route, { component: _ErrorPage2.default }) ) ) ); } }]); return Routes; }(_react.Component); exports.default = Routes; /***/ }), /***/ "./admin/sagas/index.js": /*!******************************!*\ !*** ./admin/sagas/index.js ***! \******************************/ /*! no static exports found */ /***/ (function(module, exports, __webpack_require__) { "use strict"; Object.defineProperty(exports, "__esModule", { value: true }); var _regenerator = __webpack_require__(/*! babel-runtime/regenerator */ "./node_modules/babel-runtime/regenerator/index.js"); var _regenerator2 = _interopRequireDefault(_regenerator); exports.default = root; var _effects = __webpack_require__(/*! redux-saga/effects */ "./node_modules/redux-saga/es/effects.js"); var _metadata = __webpack_require__(/*! ./metadata */ "./admin/sagas/metadata.js"); var _metadata2 = _interopRequireDefault(_metadata); var _resource = __webpack_require__(/*! ./resource */ "./admin/sagas/resource.js"); var _resource2 = _interopRequireDefault(_resource); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } var _marked = /*#__PURE__*/_regenerator2.default.mark(root); function root() { return _regenerator2.default.wrap(function root$(_context) { while (1) { switch (_context.prev = _context.next) { case 0: _context.next = 2; return (0, _effects.all)([(0, _metadata2.default)(), (0, _resource2.default)()]); case 2: case 'end': return _context.stop(); } } }, _marked, this); } /***/ }), /***/ "./admin/sagas/metadata.js": /*!*********************************!*\ !*** ./admin/sagas/metadata.js ***! \*********************************/ /*! no static exports found */ /***/ (function(module, exports, __webpack_require__) { "use strict"; Object.defineProperty(exports, "__esModule", { value: true }); var _regenerator = __webpack_require__(/*! babel-runtime/regenerator */ "./node_modules/babel-runtime/regenerator/index.js"); var _regenerator2 = _interopRequireDefault(_regenerator); var _extends2 = __webpack_require__(/*! babel-runtime/helpers/extends */ "./node_modules/babel-runtime/helpers/extends.js"); var _extends3 = _interopRequireDefault(_extends2); exports.default = watchMetadata; var _effects = __webpack_require__(/*! redux-saga/effects */ "./node_modules/redux-saga/es/effects.js"); var _metadata = __webpack_require__(/*! ../ducks/metadata */ "./admin/ducks/metadata.js"); var _api = __webpack_require__(/*! ../api */ "./admin/api.js"); var _api2 = _interopRequireDefault(_api); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } var _marked = /*#__PURE__*/_regenerator2.default.mark(fetchMetadata), _marked2 = /*#__PURE__*/_regenerator2.default.mark(watchMetadata); function fetchMetadata() { var metadata, client; return _regenerator2.default.wrap(function fetchMetadata$(_context) { while (1) { switch (_context.prev = _context.next) { case 0: _context.prev = 0; _context.next = 3; return (0, _effects.call)(_api2.default.fetchMetadata); case 3: metadata = _context.sent; _context.next = 6; return (0, _effects.call)(_api2.default.fetchSwaggerSchema, metadata.schema); case 6: client = _context.sent; _context.next = 9; return (0, _effects.put)((0, _metadata.fetchMetadataSuccess)((0, _extends3.default)({}, metadata, { client: client }))); case 9: _context.next = 14; break; case 11: _context.prev = 11; _context.t0 = _context['catch'](0); throw Error(_context.t0); case 14: case 'end': return _context.stop(); } } }, _marked, this, [[0, 11]]); } function watchMetadata() { return _regenerator2.default.wrap(function watchMetadata$(_context2) { while (1) { switch (_context2.prev = _context2.next) { case 0: _context2.next = 2; return (0, _effects.takeLatest)(_metadata.FETCH_METADATA_REQUEST, fetchMetadata); case 2: case 'end': return _context2.stop(); } } }, _marked2, this); } /***/ }), /***/ "./admin/sagas/resource.js": /*!*********************************!*\ !*** ./admin/sagas/resource.js ***! \*********************************/ /*! no static exports found */ /***/ (function(module, exports, __webpack_require__) { "use strict"; Object.defineProperty(exports, "__esModule", { value: true }); var _regenerator = __webpack_require__(/*! babel-runtime/regenerator */ "./node_modules/babel-runtime/regenerator/index.js"); var _regenerator2 = _interopRequireDefault(_regenerator); exports.default = watchResource; var _effects = __webpack_require__(/*! redux-saga/effects */ "./node_modules/redux-saga/es/effects.js"); var _schema = __webpack_require__(/*! ../selectors/schema */ "./admin/selectors/schema.js"); var _reactRouterRedux = __webpack_require__(/*! react-router-redux */ "./node_modules/react-router-redux/es/index.js"); var _api = __webpack_require__(/*! ../api */ "./admin/api.js"); var _api2 = _interopRequireDefault(_api); var _resource = __webpack_require__(/*! ../ducks/resource */ "./admin/ducks/resource.js"); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } var _marked = /*#__PURE__*/_regenerator2.default.mark(fetchResource), _marked2 = /*#__PURE__*/_regenerator2.default.mark(submitResource), _marked3 = /*#__PURE__*/_regenerator2.default.mark(updateResourceElement), _marked4 = /*#__PURE__*/_regenerator2.default.mark(fetchResourceElement), _marked5 = /*#__PURE__*/_regenerator2.default.mark(deleteResourceElement), _marked6 = /*#__PURE__*/_regenerator2.default.mark(watchResource); function fetchResource(_ref) { var payload = _ref.payload; var client, metadata, schema, resources; return _regenerator2.default.wrap(function fetchResource$(_context) { while (1) { switch (_context.prev = _context.next) { case 0: _context.prev = 0; _context.next = 3; return (0, _effects.select)(_schema.selectClient); case 3: client = _context.sent; if (client) { _context.next = 12; break; } _context.next = 7; return (0, _effects.call)(_api2.default.fetchMetadata); case 7: metadata = _context.sent; schema = metadata.schema; _context.next = 11; return (0, _effects.call)(_api2.default.fetchSwaggerSchema, schema); case 11: client = _context.sent; case 12: _context.next = 14; return (0, _effects.call)(_api2.default.fetchResource, payload, client); case 14: resources = _context.sent; _context.next = 17; return (0, _effects.put)((0, _resource.fetchResourceEntitiesSuccess)({ resources: resources })); case 17: _context.next = 23; break; case 19: _context.prev = 19; _context.t0 = _context['catch'](0); _context.next = 23; return (0, _effects.put)((0, _reactRouterRedux.push)('/not-found')); case 23: case 'end': return _context.stop(); } } }, _marked, this, [[0, 19]]); } function submitResource(_ref2) { var payload = _ref2.payload; var client, response, errors; return _regenerator2.default.wrap(function submitResource$(_context2) { while (1) { switch (_context2.prev = _context2.next) { case 0: _context2.prev = 0; _context2.next = 3; return (0, _effects.select)(_schema.selectClient); case 3: client = _context2.sent; _context2.next = 6; return (0, _effects.call)(_api2.default.submitResource, payload, client); case 6: response = _context2.sent; _context2.next = 9; return (0, _effects.put)((0, _resource.submitResourceSuccess)(response)); case 9: _context2.next = 11; return (0, _effects.put)((0, _reactRouterRedux.push)('' + _api.REL_PATH + payload.resourceName + '/')); case 11: _context2.next = 18; break; case 13: _context2.prev = 13; _context2.t0 = _context2['catch'](0); errors = JSON.parse(_context2.t0.message); _context2.next = 18; return (0, _effects.put)((0, _resource.submitResourceFailure)(errors)); case 18: case 'end': return _context2.stop(); } } }, _marked2, this, [[0, 13]]); } function updateResourceElement(_ref3) { var payload = _ref3.payload; var client, response; return _regenerator2.default.wrap(function updateResourceElement$(_context3) { while (1) { switch (_context3.prev = _context3.next) { case 0: _context3.prev = 0; _context3.next = 3; return (0, _effects.select)(_schema.selectClient); case 3: client = _context3.sent; _context3.next = 6; return (0, _effects.call)(_api2.default.updateResourceElement, payload, client); case 6: response = _context3.sent; _context3.next = 9; return (0, _effects.put)((0, _resource.updateResourceElementSuccess)(response)); case 9: _context3.next = 11; return (0, _effects.put)((0, _reactRouterRedux.push)('' + _api.REL_PATH + payload.resourceName + '/')); case 11: _context3.next = 15; break; case 13: _context3.prev = 13; _context3.t0 = _context3['catch'](0); case 15: case 'end': return _context3.stop(); } } }, _marked3, this, [[0, 13]]); } function fetchResourceElement(_ref4) { var payload = _ref4.payload; var client, metadata, schema, resource; return _regenerator2.default.wrap(function fetchResourceElement$(_context4) { while (1) { switch (_context4.prev = _context4.next) { case 0: _context4.prev = 0; _context4.next = 3; return (0, _effects.select)(_schema.selectClient); case 3: client = _context4.sent; if (client) { _context4.next = 12; break; } _context4.next = 7; return (0, _effects.call)(_api2.default.fetchMetadata); case 7: metadata = _context4.sent; schema = metadata.schema; _context4.next = 11; return (0, _effects.call)(_api2.default.fetchSwaggerSchema, schema); case 11: client = _context4.sent; case 12: _context4.next = 14; return (0, _effects.call)(_api2.default.fetchResourceElement, payload, client); case 14: resource = _context4.sent; _context4.next = 17; return (0, _effects.put)((0, _resource.fetchCurrentResourceSuccess)(resource)); case 17: _context4.next = 23; break; case 19: _context4.prev = 19; _context4.t0 = _context4['catch'](0); _context4.next = 23; return (0, _effects.put)((0, _reactRouterRedux.push)('/not-found')); case 23: case 'end': return _context4.stop(); } } }, _marked4, this, [[0, 19]]); } function deleteResourceElement(_ref5) { var payload = _ref5.payload; var client, metadata, schema; return _regenerator2.default.wrap(function deleteResourceElement$(_context5) { while (1) { switch (_context5.prev = _context5.next) { case 0: _context5.prev = 0; _context5.next = 3; return (0, _effects.select)(_schema.selectClient); case 3: client = _context5.sent; if (client) { _context5.next = 12; break; } _context5.next = 7; return (0, _effects.call)(_api2.default.fetchMetadata); case 7: metadata = _context5.sent; schema = metadata.schema; _context5.next = 11; return (0, _effects.call)(_api2.default.fetchSwaggerSchema, schema); case 11: client = _context5.sent; case 12: _context5.next = 14; return (0, _effects.call)(_api2.default.deleteResourceElement, payload, client); case 14: _context5.next = 16; return (0, _effects.put)((0, _reactRouterRedux.push)('' + _api.REL_PATH + payload.resourceName + '/')); case 16: _context5.next = 20; break; case 18: _context5.prev = 18; _context5.t0 = _context5['catch'](0); case 20: case 'end': return _context5.stop(); } } }, _marked5, this, [[0, 18]]); } function watchResource() { return _regenerator2.default.wrap(function watchResource$(_context6) { while (1) { switch (_context6.prev = _context6.next) { case 0: _context6.next = 2; return (0, _effects.takeLatest)(_resource.FETCH_RESOURCE_ENTITIES_REQUEST, fetchResource); case 2: _context6.next = 4; return (0, _effects.takeLatest)(_resource.SUBMIT_RESOURCE_REQUEST, submitResource); case 4: _context6.next = 6; return (0, _effects.takeLatest)(_resource.FETCH_CURRENT_RESOURCE_REQUEST, fetchResourceElement); case 6: _context6.next = 8; return (0, _effects.takeLatest)(_resource.UPDATE_RESOURCE_ELEMENT_REQUEST, updateResourceElement); case 8: _context6.next = 10; return (0, _effects.takeLatest)(_resource.DELETE_RESOURCE_ELEMENT_REQUEST, deleteResourceElement); case 10: case 'end': return _context6.stop(); } } }, _marked6, this); } /***/ }), /***/ "./admin/selectors/schema.js": /*!***********************************!*\ !*** ./admin/selectors/schema.js ***! \***********************************/ /*! no static exports found */ /***/ (function(module, exports, __webpack_require__) { "use strict"; Object.defineProperty(exports, "__esModule", { value: true }); var selectSchemaUrl = exports.selectSchemaUrl = function selectSchemaUrl(state) { return state.metadata.schema; }; var selectClient = exports.selectClient = function selectClient(state) { return state.metadata.client; }; /***/ }) },[["./admin/index.js","runtime~index","styles.react","vendors~index"]]]); //# sourceMappingURL=index.js.mapPK!__ apistar_crud/static/index.js.map{"version":3,"sources":["webpack:///./admin/App.js","webpack:///./admin/AppContainer.js","webpack:///./admin/api.js","webpack:///./admin/components/Header/Header.js","webpack:///./admin/components/Header/index.js","webpack:///./admin/components/ResourceForm/ResourceForm.jsx","webpack:///./admin/components/ResourceForm/index.js","webpack:///./admin/components/TablePaginationActions/TablePaginationActions.jsx","webpack:///./admin/components/TablePaginationActions/index.jsx","webpack:///./admin/ducks/index.js","webpack:///./admin/ducks/metadata.js","webpack:///./admin/ducks/resource.js","webpack:///./admin/index.js","webpack:///./admin/routes/DetailPage.jsx","webpack:///./admin/routes/ErrorPage.jsx","webpack:///./admin/routes/HomePage.js","webpack:///./admin/routes/ListPage.jsx","webpack:///./admin/routes/index.js","webpack:///./admin/sagas/index.js","webpack:///./admin/sagas/metadata.js","webpack:///./admin/sagas/resource.js","webpack:///./admin/selectors/schema.js"],"names":["propTypes","fetchMetadata","func","isRequired","App","props","mapStatetoProps","mapDispatchToProps","REL_PATH","urls","host","metadata","Api","get","then","response","body","catch","Error","error","message","payload","client","resourceName","query","apis","list","resource","id","resourceId","retrieve","element_id","schemaUrl","create","requestBody","resourceData","update","delete","Header","Component","mapStateToProps","state","schema","object","setCurrentResourceElement","updateResourceElement","submitResource","deleteResourceElement","string","currentResourceElement","defaultProps","typeMaps","integer","float","datetime","ResourceForm","handleInputChange","bind","handleSubmit","handleDialogClose","handleDialogOpen","handleDeleteConfirmClick","data","isDialogOpen","evt","target","name","value","preventDefault","setState","errors","resourceSchema","spec","paths","post","content","requiredFields","required","properties","map","field","title","type","minimum","maximum","description","includes","resources","entities","onChangePage","rowsPerPage","number","count","page","TablePaginationActions","handleBackButtonClick","handleFirstPageButtonClick","handleNextButtonClick","handleLastPageButtonClick","event","Math","max","ceil","FETCH_METADATA_REQUEST","FETCH_METADATA_SUCCESS","FETCH_METADATA_FAILURE","fetchMetadataRequest","fetchMetadataSuccess","fetchMetadataFailure","initialState","FETCH_RESOURCE_ENTITIES_REQUEST","FETCH_RESOURCE_ENTITIES_SUCCESS","FETCH_RESOURCE_ENTITIES_FAILURE","FETCH_CURRENT_RESOURCE_REQUEST","FETCH_CURRENT_RESOURCE_SUCCESS","FETCH_CURRENT_RESOURCE_FAILURE","SUBMIT_RESOURCE_REQUEST","SUBMIT_RESOURCE_SUCCESS","SUBMIT_RESOURCE_FAILURE","UPDATE_RESOURCE_ELEMENT_REQUEST","UPDATE_RESOURCE_ELEMENT_SUCCESS","UPDATE_RESOURCE_ELEMENT_FAILURE","SET_CURRENT_RESOURCE_ELEMENT","DELETE_RESOURCE_ELEMENT_REQUEST","fetchResourceEntitiesRequest","fetchResourceEntitiesSuccess","fetchCurrentResourceRequest","fetchCurrentResourceSuccess","submitResourceRequest","submitResourceSuccess","submitResourceFailure","updateResourceElementRequest","updateResourceElementSuccess","updateResourceElementFailure","deleteResourceElementRequest","totalCount","currentPage","meta","page_size","muiTheme","palette","primary","main","contrastText","history","sagaMiddleware","composeEnhancers","composeWithDevToolsExtension","window","__REDUX_DEVTOOLS_EXTENSION_COMPOSE__","store","run","render","document","getElementById","shape","match","fetchResource","DetailPage","params","ErrorPage","HomePage","fetchResources","PropTypes","arrayOf","DEFAULT_PAGE_SIZE","ListPage","handleChangePage","resourceList","item","handleChangeRowsPerPage","Routes","root","watchMetadata","fetchSwaggerSchema","watchResource","fetchResourceElement","JSON","parse","selectSchemaUrl","selectClient"],"mappings":"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","file":"index.js","sourcesContent":["import React, { Component } from 'react';\nimport PropTypes from 'prop-types';\nimport Routes from './routes';\n\nimport './App.css';\n\nconst propTypes = {\n fetchMetadata: PropTypes.func.isRequired,\n};\n\nclass App extends Component {\n componentDidMount() {\n this.props.fetchMetadata();\n }\n render() {\n return (\n
\n \n
\n );\n }\n}\n\nApp.propTypes = propTypes;\n\nexport default App;\n","import { connect } from 'react-redux';\n\nimport AppComponent from './App';\n\nimport { fetchMetadataRequest } from './ducks/metadata';\n\nconst mapStatetoProps = state => {\n return {};\n};\n\nconst mapDispatchToProps = {\n fetchMetadata: fetchMetadataRequest,\n};\n\nexport default connect(\n mapStatetoProps,\n mapDispatchToProps\n)(AppComponent);\n","import request from 'superagent';\nimport Swagger from 'swagger-client';\n\nexport const REL_PATH = '/admin/';\n\nconst urls = {\n host: 'http://localhost:8000',\n metadata: '/admin/metadata/',\n};\n\nexport default class Api {\n static fetchMetadata() {\n return request\n .get(urls.host + urls.metadata)\n .then(response => response.body)\n .catch(error => {\n throw Error(error.message);\n });\n }\n\n static fetchResource(payload, client) {\n const { resourceName, query } = payload;\n return client.apis[resourceName]\n .list(query)\n .then(response => response.body)\n .catch(error => {\n throw Error(error.message);\n });\n }\n\n static fetchResourceElement(payload, client) {\n const resource = payload.resourceName;\n const id = payload.resourceId;\n return client.apis[resource]\n .retrieve({ element_id: id })\n .then(response => response.body)\n .catch(error => {\n throw Error(error.message);\n });\n }\n\n static fetchSwaggerSchema(schemaUrl) {\n return Swagger(urls.host + schemaUrl).then(client => client);\n }\n\n static submitResource(payload, client) {\n return client.apis[payload.resourceName]\n .create({}, { requestBody: payload.resourceData })\n .then(response => response.body)\n .catch(error => {\n throw Error(JSON.stringify(error.response.body));\n });\n }\n\n static updateResourceElement(payload, client) {\n const { resourceName, resourceId, resourceData } = payload;\n return client.apis[resourceName]\n .update({ element_id: resourceId }, { requestBody: resourceData })\n .then(response => response.body);\n }\n\n static deleteResourceElement(payload, client) {\n const { resourceName, resourceId } = payload;\n return client.apis[resourceName]\n .delete({ element_id: resourceId })\n .then(response => response.body)\n .catch(error => {\n throw Error(error.message);\n });\n }\n}\n","import React from 'react';\n\nimport { Toolbar, AppBar, Typography } from '@material-ui/core';\nimport { Link } from 'react-router-dom';\nimport { connect } from 'react-redux';\nimport { withTheme } from '@material-ui/core/styles';\nimport { REL_PATH } from '../../api';\n\nclass Header extends React.Component {\n render() {\n return (\n \n \n \n \n APISTAR\n \n \n \n \n );\n }\n}\n\nconst mapStateToProps = state => ({\n metadata: state.metadata,\n});\n\nexport default withTheme()(connect(mapStateToProps)(Header));\n","import Header from './Header';\n\nexport default Header;\n","import React from 'react';\nimport { connect } from 'react-redux';\nimport PropTypes from 'prop-types';\nimport {\n Grid,\n TextField,\n Button,\n CircularProgress,\n Dialog,\n DialogTitle,\n DialogContent,\n DialogContentText,\n DialogActions,\n} from '@material-ui/core';\n\nimport {\n submitResourceRequest,\n setCurrentResourceElement,\n updateResourceElementRequest,\n deleteResourceElementRequest,\n} from '../../ducks/resource';\n\nconst propTypes = {\n schema: PropTypes.object,\n setCurrentResourceElement: PropTypes.func,\n updateResourceElement: PropTypes.func,\n submitResource: PropTypes.func,\n deleteResourceElement: PropTypes.func,\n resourceId: PropTypes.string,\n resourceName: PropTypes.string,\n currentResourceElement: PropTypes.object,\n};\nconst defaultProps = {};\n\nconst typeMaps = {\n string: 'text',\n integer: 'number',\n float: 'number', // TODO: fix\n datetime: 'datetime', // TODO: fix\n};\n\nclass ResourceForm extends React.Component {\n constructor() {\n super();\n this.handleInputChange = this.handleInputChange.bind(this);\n this.handleSubmit = this.handleSubmit.bind(this);\n this.handleDialogClose = this.handleDialogClose.bind(this);\n this.handleDialogOpen = this.handleDialogOpen.bind(this);\n this.handleDeleteConfirmClick = this.handleDeleteConfirmClick.bind(this);\n this.state = { data: null, isDialogOpen: false };\n }\n\n handleInputChange(evt) {\n const { name, value } = evt.target;\n this.props.setCurrentResourceElement({ [name]: value });\n }\n\n handleSubmit(evt) {\n evt.preventDefault();\n if (this.props.resourceId !== 'new') {\n this.props.updateResourceElement({\n resourceName: this.props.resourceName,\n resourceData: this.props.currentResourceElement,\n resourceId: this.props.resourceId,\n });\n } else {\n this.props.submitResource({\n resourceName: this.props.resourceName,\n resourceData: this.props.currentResourceElement,\n });\n }\n }\n\n handleDialogClose() {\n this.setState({ isDialogOpen: false });\n }\n\n handleDialogOpen() {\n this.setState({ isDialogOpen: true });\n }\n\n handleDeleteConfirmClick() {\n this.props.deleteResourceElement({\n resourceName: this.props.resourceName,\n resourceId: this.props.resourceId,\n });\n }\n\n render() {\n const data = this.props.currentResourceElement;\n const errors = this.props.errors;\n const resourceSchema =\n this.props.schema &&\n this.props.schema.spec.paths[`/${this.props.resourceName}/`].post\n .requestBody.content['application/json'].schema;\n const requiredFields = resourceSchema && resourceSchema.required;\n return resourceSchema ? (\n
\n \n \n {Object.entries(resourceSchema.properties).map(field => (\n \n ))}\n {this.props.resourceId !== 'new' && (\n \n Delete\n \n )}\n\n \n Save\n \n \n Confirm\n \n \n Are you sure you want to delete this item?\n \n \n \n \n Yes, Delete.\n \n \n \n \n \n \n
\n ) : (\n
\n \n
\n );\n }\n}\n\nResourceForm.propTypes = propTypes;\nResourceForm.defaultProps = defaultProps;\n\nconst mapStateToProps = state => ({\n resources: state.resource.entities,\n schema: state.metadata.client,\n currentResourceElement: state.resource.currentResourceElement,\n errors: state.resource.errors,\n});\n\nconst mapDispatchToProps = {\n submitResource: submitResourceRequest,\n setCurrentResourceElement,\n updateResourceElement: updateResourceElementRequest,\n deleteResourceElement: deleteResourceElementRequest,\n};\n\nexport default connect(\n mapStateToProps,\n mapDispatchToProps\n)(ResourceForm);\n","import ResourceForm from './ResourceForm';\n\nexport default ResourceForm;\n","import React from 'react';\nimport PropTypes from 'prop-types';\nimport { IconButton } from '@material-ui/core';\nimport { KeyboardArrowLeft, KeyboardArrowRight } from '@material-ui/icons/';\n\nimport FirstPageIcon from '@material-ui/icons/FirstPage';\nimport LastPageIcon from '@material-ui/icons/LastPage';\n\nconst propTypes = {\n onChangePage: PropTypes.func,\n rowsPerPage: PropTypes.number,\n count: PropTypes.number,\n page: PropTypes.number,\n};\n\nclass TablePaginationActions extends React.Component {\n constructor() {\n super();\n this.handleBackButtonClick = this.handleBackButtonClick.bind(this);\n this.handleFirstPageButtonClick = this.handleFirstPageButtonClick.bind(\n this\n );\n this.handleNextButtonClick = this.handleNextButtonClick.bind(this);\n this.handleLastPageButtonClick = this.handleLastPageButtonClick.bind(this);\n }\n handleFirstPageButtonClick(event) {\n this.props.onChangePage(event, 0);\n }\n\n handleBackButtonClick(event) {\n this.props.onChangePage(event, this.props.page - 1);\n }\n\n handleNextButtonClick(event) {\n this.props.onChangePage(event, this.props.page + 1);\n }\n\n handleLastPageButtonClick(event) {\n this.props.onChangePage(\n event,\n Math.max(0, Math.ceil(this.props.count / this.props.rowsPerPage) - 1)\n );\n }\n\n render() {\n const { count, page, rowsPerPage } = this.props;\n return (\n
\n \n \n \n \n \n \n = Math.ceil(count / rowsPerPage) - 1}\n aria-label=\"Next Page\"\n >\n \n \n = Math.ceil(count / rowsPerPage) - 1}\n aria-label=\"Last Page\"\n >\n \n \n
\n );\n }\n}\n\nTablePaginationActions.propTypes = propTypes;\n\nexport default TablePaginationActions;\n","import TablePaginationActions from './TablePaginationActions';\n\nexport default TablePaginationActions;\n","import { combineReducers } from 'redux';\n\nimport metadata from './metadata';\nimport resource from './resource';\n\nexport default combineReducers({\n metadata,\n resource,\n});\n","import { createAction, handleActions } from 'redux-actions';\n\nexport const FETCH_METADATA_REQUEST = 'metadata/fetch/REQUEST';\nexport const FETCH_METADATA_SUCCESS = 'metadata/fetch/SUCCESS';\nexport const FETCH_METADATA_FAILURE = 'metadata/fetch/FAILURE';\n\nexport const fetchMetadataRequest = createAction(FETCH_METADATA_REQUEST);\nexport const fetchMetadataSuccess = createAction(FETCH_METADATA_SUCCESS);\nexport const fetchMetadataFailure = createAction(FETCH_METADATA_FAILURE);\n\nconst initialState = {\n resources: null,\n schema: null,\n client: null,\n};\n\nexport default handleActions(\n {\n [FETCH_METADATA_SUCCESS]: (state, { payload }) => ({\n ...state,\n resources: payload.resources,\n schema: payload.schema,\n client: payload.client,\n }),\n [FETCH_METADATA_FAILURE]: (state, { payload }) => ({\n ...state,\n error: payload,\n }),\n },\n initialState\n);\n","import { createAction, handleActions } from 'redux-actions';\n\nexport const FETCH_RESOURCE_ENTITIES_REQUEST =\n 'resource/entities/fetch/REQUEST';\nexport const FETCH_RESOURCE_ENTITIES_SUCCESS =\n 'resource/entities/fetch/SUCCESS';\nexport const FETCH_RESOURCE_ENTITIES_FAILURE =\n 'resource/entities/fetch/FAILURE';\n\nexport const FETCH_CURRENT_RESOURCE_REQUEST =\n 'resource/current-resource/REQUEST';\nexport const FETCH_CURRENT_RESOURCE_SUCCESS =\n 'resource/current-resource/SUCCESS';\nexport const FETCH_CURRENT_RESOURCE_FAILURE =\n 'resource/current-resource/FAILURE';\n\nexport const SUBMIT_RESOURCE_REQUEST = 'resource/submit/REQUEST';\nexport const SUBMIT_RESOURCE_SUCCESS = 'resource/submit/SUCCESS';\nexport const SUBMIT_RESOURCE_FAILURE = 'resource/submit/FAILURE';\n\nexport const UPDATE_RESOURCE_ELEMENT_REQUEST = 'resource/update/REQUEST';\nexport const UPDATE_RESOURCE_ELEMENT_SUCCESS = 'resource/update/SUCCESS';\nexport const UPDATE_RESOURCE_ELEMENT_FAILURE = 'resource/update/FAILURE';\n\nexport const SET_CURRENT_RESOURCE_ELEMENT = 'resource/current-resource/SET';\n\nexport const DELETE_RESOURCE_ELEMENT_REQUEST = 'resource/delete/REQUEST';\n\nexport const fetchResourceEntitiesRequest = createAction(\n FETCH_RESOURCE_ENTITIES_REQUEST\n);\nexport const fetchResourceEntitiesSuccess = createAction(\n FETCH_RESOURCE_ENTITIES_SUCCESS\n);\nexport const fetchCurrentResourceRequest = createAction(\n FETCH_CURRENT_RESOURCE_REQUEST\n);\nexport const fetchCurrentResourceSuccess = createAction(\n FETCH_CURRENT_RESOURCE_SUCCESS\n);\n\nexport const submitResourceRequest = createAction(SUBMIT_RESOURCE_REQUEST);\nexport const submitResourceSuccess = createAction(SUBMIT_RESOURCE_SUCCESS);\nexport const submitResourceFailure = createAction(SUBMIT_RESOURCE_FAILURE);\nexport const updateResourceElementRequest = createAction(\n UPDATE_RESOURCE_ELEMENT_REQUEST\n);\nexport const updateResourceElementSuccess = createAction(\n UPDATE_RESOURCE_ELEMENT_SUCCESS\n);\nexport const updateResourceElementFailure = createAction(\n UPDATE_RESOURCE_ELEMENT_FAILURE\n);\nexport const setCurrentResourceElement = createAction(\n SET_CURRENT_RESOURCE_ELEMENT\n);\n\nexport const deleteResourceElementRequest = createAction(\n DELETE_RESOURCE_ELEMENT_REQUEST\n);\n\nconst initialState = {\n entities: null,\n currentResourceElement: null,\n rowsPerPage: null,\n totalCount: null,\n currentPage: null,\n errors: null,\n};\n\nexport default handleActions(\n {\n [FETCH_RESOURCE_ENTITIES_SUCCESS]: (state, { payload }) => ({\n ...state,\n entities: payload.resources.data,\n currentResourceElement: null,\n rowsPerPage: payload.resources.meta.page_size,\n currentPage: payload.resources.meta.page,\n totalCount: payload.resources.meta.count,\n }),\n [FETCH_CURRENT_RESOURCE_SUCCESS]: (state, { payload }) => ({\n ...state,\n currentResourceElement: payload,\n }),\n [SUBMIT_RESOURCE_SUCCESS]: (state, { payload }) => ({\n ...state,\n entities: [...state.entities, payload],\n }),\n [SUBMIT_RESOURCE_FAILURE]: (state, { payload }) => ({\n ...state,\n errors: payload,\n }),\n [SET_CURRENT_RESOURCE_ELEMENT]: (state, { payload }) => ({\n ...state,\n currentResourceElement: { ...state.currentResourceElement, ...payload },\n }),\n },\n initialState\n);\n","import React from 'react';\nimport ReactDOM from 'react-dom';\nimport App from './AppContainer';\nimport './index.css';\n\nimport createHistory from 'history/createBrowserHistory';\n\nimport { Provider } from 'react-redux';\nimport { createStore, applyMiddleware, compose } from 'redux';\nimport { connectRouter, routerMiddleware } from 'connected-react-router';\n\nimport createSagaMiddleware from 'redux-saga';\n\nimport reducers from './ducks';\nimport sagas from './sagas';\n\nimport injectTapEventPlugin from 'react-tap-event-plugin';\nimport { createMuiTheme, MuiThemeProvider } from '@material-ui/core/styles/';\n\nconst muiTheme = createMuiTheme({\n palette: {\n primary: { main: '#31CACC', contrastText: '#fff' },\n },\n});\n\nexport const history = createHistory();\nconst sagaMiddleware = createSagaMiddleware();\n\nlet composeEnhancers = compose;\n\nif (process.env.NODE_ENV === 'development') {\n const composeWithDevToolsExtension =\n window.__REDUX_DEVTOOLS_EXTENSION_COMPOSE__;\n if (typeof composeWithDevToolsExtension === 'function') {\n composeEnhancers = composeWithDevToolsExtension;\n }\n}\n\nconst store = createStore(\n connectRouter(history)(reducers),\n composeEnhancers(applyMiddleware(routerMiddleware(history), sagaMiddleware))\n);\n\nsagaMiddleware.run(sagas);\n\ninjectTapEventPlugin();\n\nReactDOM.render(\n \n \n \n \n ,\n document.getElementById('root')\n);\n","import React from 'react';\nimport { connect } from 'react-redux';\nimport { Link } from 'react-router-dom';\nimport PropTypes from 'prop-types';\nimport { Icon, Grid, Button } from '@material-ui/core';\n\nimport { REL_PATH } from '../api';\nimport ResourceForm from '../components/ResourceForm';\nimport { fetchCurrentResourceRequest } from '../ducks/resource';\n\nconst propTypes = {\n metadata: PropTypes.shape({\n resources: PropTypes.object,\n client: PropTypes.object,\n schema: PropTypes.string,\n }),\n match: PropTypes.object,\n fetchResource: PropTypes.func.isRequired,\n};\n\nclass DetailPage extends React.Component {\n componentDidMount() {\n if (this.props.match.params.id !== 'new') {\n this.props.fetchResource({\n resourceName: this.props.match.params.resource,\n resourceId: this.props.match.params.id,\n });\n }\n }\n\n render() {\n const resourceName = this.props.match.params.resource;\n const resourceId = this.props.match.params.id;\n\n return (\n \n \n (\n \n )}\n >\n arrow_back\n  Back\n \n \n \n \n );\n }\n}\n\nDetailPage.propTypes = propTypes;\n\nconst mapStateToProps = state => ({\n metadata: state.metadata,\n});\n\nconst mapDispatchToProps = {\n fetchResource: fetchCurrentResourceRequest,\n};\n\nexport default connect(\n mapStateToProps,\n mapDispatchToProps\n)(DetailPage);\n","import React from 'react';\nimport PropTypes from 'prop-types';\n\nconst propTypes = {};\nconst defaultProps = {};\n\nconst ErrorPage = props =>
404 Not found
;\n\nErrorPage.propTypes = propTypes;\nErrorPage.defaultProps = defaultProps;\n\nexport default ErrorPage;\n","import React from 'react';\nimport { connect } from 'react-redux';\nimport { Link } from 'react-router-dom';\nimport PropTypes from 'prop-types';\n\nimport {\n Typography,\n Grid,\n Paper,\n List,\n ListItem,\n ListItemText,\n} from '@material-ui/core';\n\nconst propTypes = {\n metadata: PropTypes.shape({\n resources: PropTypes.object,\n schema: PropTypes.string,\n client: PropTypes.object,\n }),\n};\n\nclass HomePage extends React.Component {\n render() {\n const { resources } = this.props.metadata;\n return (\n resources && (\n \n \n \n \n Resources\n \n \n {Object.entries(resources).map(resource => (\n (\n \n )}\n >\n \n \n ))}\n \n \n \n \n )\n );\n }\n}\n\nHomePage.propTypes = propTypes;\n\nconst mapStateToProps = state => ({\n metadata: state.metadata,\n});\n\nexport default connect(mapStateToProps)(HomePage);\n","import React, { Fragment } from 'react';\nimport PropTypes from 'prop-types';\nimport { connect } from 'react-redux';\nimport { findKey } from 'lodash';\nimport {\n Paper,\n Table,\n TableBody,\n TableCell,\n TableHead,\n TableRow,\n TableFooter,\n TablePagination,\n Button,\n Typography,\n Icon,\n CircularProgress,\n Grid,\n} from '@material-ui/core';\nimport { Link } from 'react-router-dom';\n\nimport { REL_PATH } from '../api';\nimport TablePaginationActions from '../components/TablePaginationActions';\nimport { fetchResourceEntitiesRequest } from '../ducks/resource';\n\nconst propTypes = {\n match: PropTypes.object,\n fetchResources: PropTypes.func,\n schema: PropTypes.PropTypes.object,\n resources: PropTypes.arrayOf(PropTypes.object),\n rowsPerPage: PropTypes.number,\n currentPage: PropTypes.number,\n};\n\nconst DEFAULT_PAGE_SIZE = 10;\n\nclass ListPage extends React.Component {\n constructor() {\n super();\n this.handleChangePage = this.handleChangePage.bind(this);\n }\n componentDidMount() {\n this.props.fetchResources({\n resourceName: this.props.match.params.resource,\n query: {\n page_size: DEFAULT_PAGE_SIZE,\n page: 1,\n },\n });\n }\n\n handleChangePage(evt, page) {\n // Mui has some weird default pagination behaviour on cDU\n if (evt) {\n this.props.fetchResources({\n resourceName: this.props.match.params.resource,\n query: {\n page: page + 1, // TablePagination starts at 0;\n page_size: DEFAULT_PAGE_SIZE,\n },\n });\n }\n }\n\n render() {\n const { resource } = this.props.match.params;\n const resourceSchema =\n this.props.schema &&\n this.props.schema.spec.paths[`/${resource}/`].post.requestBody.content[\n 'application/json'\n ].schema;\n return (\n resourceSchema && (\n \n \n \n \n {findKey(\n this.props.resourceList,\n resource => resource === resource\n )}\n \n\n }\n variant=\"contained\"\n color=\"primary\"\n className=\"ButtonNew\"\n >\n Create New\n \n {this.props.resources ? (\n \n
\n \n \n \n Edit\n {Object.values(resourceSchema.properties).map(\n field => (\n \n {field.description}\n \n )\n )}\n \n \n \n {this.props.resources.map(item => (\n \n \n \n edit\n \n \n {Object.values(resourceSchema.properties).map(\n field => (\n \n {item[field.title]}\n \n )\n )}\n \n ))}\n \n \n \n \n
\n
\n \n
\n ) : (\n
\n \n
\n )}\n
\n
\n
\n )\n );\n }\n}\n\nListPage.propTypes = propTypes;\n\nconst mapStateToProps = state => ({\n rowsPerPage: state.resource.rowsPerPage,\n currentPage: state.resource.currentPage,\n totalCount: state.resource.totalCount,\n resources: state.resource.entities,\n schema: state.metadata.client,\n resourceList: state.metadata.resources,\n});\n\nconst mapDispatchToProps = {\n fetchResources: fetchResourceEntitiesRequest,\n};\nexport default connect(\n mapStateToProps,\n mapDispatchToProps\n)(ListPage);\n","import React, { Component } from 'react';\nimport { Route, Switch } from 'react-router-dom';\nimport { ConnectedRouter } from 'react-router-redux';\nimport Header from '../components/Header';\nimport HomePage from './HomePage';\nimport ListPage from './ListPage';\nimport DetailPage from './DetailPage';\nimport ErrorPage from './ErrorPage';\n\nimport { REL_PATH } from '../api';\n\nimport { history } from '../index.js';\nexport default class Routes extends Component {\n render() {\n return (\n \n
\n
\n \n \n \n \n \n \n \n
\n
\n );\n }\n}\n","import { all } from 'redux-saga/effects';\n\nimport watchMetadata from './metadata';\nimport watchResource from './resource';\nexport default function* root() {\n yield all([watchMetadata(), watchResource()]);\n}\n","import { call, put, takeLatest } from 'redux-saga/effects';\n\nimport {\n FETCH_METADATA_REQUEST,\n fetchMetadataSuccess,\n} from '../ducks/metadata';\nimport Api from '../api';\n\nfunction* fetchMetadata() {\n try {\n const metadata = yield call(Api.fetchMetadata);\n const client = yield call(Api.fetchSwaggerSchema, metadata.schema);\n yield put(\n fetchMetadataSuccess({\n ...metadata,\n client,\n })\n );\n } catch (error) {\n throw Error(error);\n }\n}\n\nexport default function* watchMetadata() {\n yield takeLatest(FETCH_METADATA_REQUEST, fetchMetadata);\n}\n","import { call, put, select, takeLatest } from 'redux-saga/effects';\nimport { selectClient } from '../selectors/schema';\nimport { push } from 'react-router-redux';\n\nimport { REL_PATH } from '../api';\nimport {\n FETCH_RESOURCE_ENTITIES_REQUEST,\n FETCH_CURRENT_RESOURCE_REQUEST,\n SUBMIT_RESOURCE_REQUEST,\n UPDATE_RESOURCE_ELEMENT_REQUEST,\n DELETE_RESOURCE_ELEMENT_REQUEST,\n fetchResourceEntitiesSuccess,\n fetchCurrentResourceSuccess,\n submitResourceSuccess,\n updateResourceElementSuccess,\n submitResourceFailure,\n} from '../ducks/resource';\nimport Api from '../api';\n\nfunction* fetchResource({ payload }) {\n try {\n let client = yield select(selectClient);\n if (!client) {\n const metadata = yield call(Api.fetchMetadata);\n const { schema } = metadata;\n client = yield call(Api.fetchSwaggerSchema, schema);\n }\n const resources = yield call(Api.fetchResource, payload, client);\n yield put(fetchResourceEntitiesSuccess({ resources }));\n } catch (error) {\n yield put(push('/not-found'));\n }\n}\n\nfunction* submitResource({ payload }) {\n try {\n const client = yield select(selectClient);\n const response = yield call(Api.submitResource, payload, client);\n yield put(submitResourceSuccess(response));\n yield put(push(`${REL_PATH}${payload.resourceName}/`));\n } catch (error) {\n const errors = JSON.parse(error.message);\n yield put(submitResourceFailure(errors));\n }\n}\n\nfunction* updateResourceElement({ payload }) {\n try {\n const client = yield select(selectClient);\n const response = yield call(Api.updateResourceElement, payload, client);\n yield put(updateResourceElementSuccess(response));\n yield put(push(`${REL_PATH}${payload.resourceName}/`));\n } catch (error) {}\n}\n\nfunction* fetchResourceElement({ payload }) {\n try {\n let client = yield select(selectClient);\n if (!client) {\n const metadata = yield call(Api.fetchMetadata);\n const { schema } = metadata;\n client = yield call(Api.fetchSwaggerSchema, schema);\n }\n const resource = yield call(Api.fetchResourceElement, payload, client);\n yield put(fetchCurrentResourceSuccess(resource));\n } catch (error) {\n yield put(push('/not-found'));\n }\n}\n\nfunction* deleteResourceElement({ payload }) {\n try {\n let client = yield select(selectClient);\n if (!client) {\n const metadata = yield call(Api.fetchMetadata);\n const { schema } = metadata;\n client = yield call(Api.fetchSwaggerSchema, schema);\n }\n yield call(Api.deleteResourceElement, payload, client);\n yield put(push(`${REL_PATH}${payload.resourceName}/`));\n } catch (error) {}\n}\n\nexport default function* watchResource() {\n yield takeLatest(FETCH_RESOURCE_ENTITIES_REQUEST, fetchResource);\n yield takeLatest(SUBMIT_RESOURCE_REQUEST, submitResource);\n yield takeLatest(FETCH_CURRENT_RESOURCE_REQUEST, fetchResourceElement);\n yield takeLatest(UPDATE_RESOURCE_ELEMENT_REQUEST, updateResourceElement);\n yield takeLatest(DELETE_RESOURCE_ELEMENT_REQUEST, deleteResourceElement);\n}\n","export const selectSchemaUrl = state => state.metadata.schema;\nexport const selectClient = state => state.metadata.client;\n"],"sourceRoot":""}PK!__ apistar_crud/static/index.js.map{"version":3,"sources":["webpack:///./admin/App.js","webpack:///./admin/AppContainer.js","webpack:///./admin/api.js","webpack:///./admin/components/Header/Header.js","webpack:///./admin/components/Header/index.js","webpack:///./admin/components/ResourceForm/ResourceForm.jsx","webpack:///./admin/components/ResourceForm/index.js","webpack:///./admin/components/TablePaginationActions/TablePaginationActions.jsx","webpack:///./admin/components/TablePaginationActions/index.jsx","webpack:///./admin/ducks/index.js","webpack:///./admin/ducks/metadata.js","webpack:///./admin/ducks/resource.js","webpack:///./admin/index.js","webpack:///./admin/routes/DetailPage.jsx","webpack:///./admin/routes/ErrorPage.jsx","webpack:///./admin/routes/HomePage.js","webpack:///./admin/routes/ListPage.jsx","webpack:///./admin/routes/index.js","webpack:///./admin/sagas/index.js","webpack:///./admin/sagas/metadata.js","webpack:///./admin/sagas/resource.js","webpack:///./admin/selectors/schema.js"],"names":["propTypes","fetchMetadata","func","isRequired","App","props","mapStatetoProps","mapDispatchToProps","REL_PATH","urls","host","metadata","Api","get","then","response","body","catch","Error","error","message","payload","client","resourceName","query","apis","list","resource","id","resourceId","retrieve","element_id","schemaUrl","create","requestBody","resourceData","update","delete","Header","Component","mapStateToProps","state","schema","object","setCurrentResourceElement","updateResourceElement","submitResource","deleteResourceElement","string","currentResourceElement","defaultProps","typeMaps","integer","float","datetime","ResourceForm","handleInputChange","bind","handleSubmit","handleDialogClose","handleDialogOpen","handleDeleteConfirmClick","data","isDialogOpen","evt","target","name","value","preventDefault","setState","errors","resourceSchema","spec","paths","post","content","requiredFields","required","properties","map","field","title","type","minimum","maximum","description","includes","resources","entities","onChangePage","rowsPerPage","number","count","page","TablePaginationActions","handleBackButtonClick","handleFirstPageButtonClick","handleNextButtonClick","handleLastPageButtonClick","event","Math","max","ceil","FETCH_METADATA_REQUEST","FETCH_METADATA_SUCCESS","FETCH_METADATA_FAILURE","fetchMetadataRequest","fetchMetadataSuccess","fetchMetadataFailure","initialState","FETCH_RESOURCE_ENTITIES_REQUEST","FETCH_RESOURCE_ENTITIES_SUCCESS","FETCH_RESOURCE_ENTITIES_FAILURE","FETCH_CURRENT_RESOURCE_REQUEST","FETCH_CURRENT_RESOURCE_SUCCESS","FETCH_CURRENT_RESOURCE_FAILURE","SUBMIT_RESOURCE_REQUEST","SUBMIT_RESOURCE_SUCCESS","SUBMIT_RESOURCE_FAILURE","UPDATE_RESOURCE_ELEMENT_REQUEST","UPDATE_RESOURCE_ELEMENT_SUCCESS","UPDATE_RESOURCE_ELEMENT_FAILURE","SET_CURRENT_RESOURCE_ELEMENT","DELETE_RESOURCE_ELEMENT_REQUEST","fetchResourceEntitiesRequest","fetchResourceEntitiesSuccess","fetchCurrentResourceRequest","fetchCurrentResourceSuccess","submitResourceRequest","submitResourceSuccess","submitResourceFailure","updateResourceElementRequest","updateResourceElementSuccess","updateResourceElementFailure","deleteResourceElementRequest","totalCount","currentPage","meta","page_size","muiTheme","palette","primary","main","contrastText","history","sagaMiddleware","composeEnhancers","composeWithDevToolsExtension","window","__REDUX_DEVTOOLS_EXTENSION_COMPOSE__","store","run","render","document","getElementById","shape","match","fetchResource","DetailPage","params","ErrorPage","HomePage","fetchResources","PropTypes","arrayOf","DEFAULT_PAGE_SIZE","ListPage","handleChangePage","resourceList","item","handleChangeRowsPerPage","Routes","root","watchMetadata","fetchSwaggerSchema","watchResource","fetchResourceElement","JSON","parse","selectSchemaUrl","selectClient"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;;;;AACA;;;;AACA;;;;AAEA;;;;AAEA,IAAMA,YAAY;AAChBC,iBAAe,oBAAUC,IAAV,CAAeC;AADd,CAAlB;;IAIMC,G;;;;;;;;;;wCACgB;AAClB,WAAKC,KAAL,CAAWJ,aAAX;AACD;;;6BACQ;AACP,aACE;AAAA;AAAA,UAAK,WAAU,KAAf;AACE;AADF,OADF;AAKD;;;;;AAGHG,IAAIJ,SAAJ,GAAgBA,SAAhB;;kBAEeI,G;;;;;;;;;;;;;;;;;;ACzBf;;AAEA;;;;AAEA;;;;AAEA,IAAME,kBAAkB,SAAlBA,eAAkB,QAAS;AAC/B,SAAO,EAAP;AACD,CAFD;;AAIA,IAAMC,qBAAqB;AACzBN;AADyB,CAA3B;;kBAIe,yBACbK,eADa,EAEbC,kBAFa,gB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACdf;;;;AACA;;;;;;AAEO,IAAMC,8BAAW,SAAjB;;AAEP,IAAMC,OAAO;AACXC,QAAM,uBADK;AAEXC,YAAU;AAFC,CAAb;;IAKqBC,G;;;;;;;oCACI;AACrB,aAAO,qBACJC,GADI,CACAJ,KAAKC,IAAL,GAAYD,KAAKE,QADjB,EAEJG,IAFI,CAEC;AAAA,eAAYC,SAASC,IAArB;AAAA,OAFD,EAGJC,KAHI,CAGE,iBAAS;AACd,cAAMC,MAAMC,MAAMC,OAAZ,CAAN;AACD,OALI,CAAP;AAMD;;;kCAEoBC,O,EAASC,M,EAAQ;AAAA,UAC5BC,YAD4B,GACJF,OADI,CAC5BE,YAD4B;AAAA,UACdC,KADc,GACJH,OADI,CACdG,KADc;;AAEpC,aAAOF,OAAOG,IAAP,CAAYF,YAAZ,EACJG,IADI,CACCF,KADD,EAEJV,IAFI,CAEC;AAAA,eAAYC,SAASC,IAArB;AAAA,OAFD,EAGJC,KAHI,CAGE,iBAAS;AACd,cAAMC,MAAMC,MAAMC,OAAZ,CAAN;AACD,OALI,CAAP;AAMD;;;yCAE2BC,O,EAASC,M,EAAQ;AAC3C,UAAMK,WAAWN,QAAQE,YAAzB;AACA,UAAMK,KAAKP,QAAQQ,UAAnB;AACA,aAAOP,OAAOG,IAAP,CAAYE,QAAZ,EACJG,QADI,CACK,EAAEC,YAAYH,EAAd,EADL,EAEJd,IAFI,CAEC;AAAA,eAAYC,SAASC,IAArB;AAAA,OAFD,EAGJC,KAHI,CAGE,iBAAS;AACd,cAAMC,MAAMC,MAAMC,OAAZ,CAAN;AACD,OALI,CAAP;AAMD;;;uCAEyBY,S,EAAW;AACnC,aAAO,6BAAQvB,KAAKC,IAAL,GAAYsB,SAApB,EAA+BlB,IAA/B,CAAoC;AAAA,eAAUQ,MAAV;AAAA,OAApC,CAAP;AACD;;;mCAEqBD,O,EAASC,M,EAAQ;AACrC,aAAOA,OAAOG,IAAP,CAAYJ,QAAQE,YAApB,EACJU,MADI,CACG,EADH,EACO,EAAEC,aAAab,QAAQc,YAAvB,EADP,EAEJrB,IAFI,CAEC;AAAA,eAAYC,SAASC,IAArB;AAAA,OAFD,EAGJC,KAHI,CAGE,iBAAS;AACd,cAAMC,MAAM,yBAAeC,MAAMJ,QAAN,CAAeC,IAA9B,CAAN,CAAN;AACD,OALI,CAAP;AAMD;;;0CAE4BK,O,EAASC,M,EAAQ;AAAA,UACpCC,YADoC,GACOF,OADP,CACpCE,YADoC;AAAA,UACtBM,UADsB,GACOR,OADP,CACtBQ,UADsB;AAAA,UACVM,YADU,GACOd,OADP,CACVc,YADU;;AAE5C,aAAOb,OAAOG,IAAP,CAAYF,YAAZ,EACJa,MADI,CACG,EAAEL,YAAYF,UAAd,EADH,EAC+B,EAAEK,aAAaC,YAAf,EAD/B,EAEJrB,IAFI,CAEC;AAAA,eAAYC,SAASC,IAArB;AAAA,OAFD,CAAP;AAGD;;;0CAE4BK,O,EAASC,M,EAAQ;AAAA,UACpCC,YADoC,GACPF,OADO,CACpCE,YADoC;AAAA,UACtBM,UADsB,GACPR,OADO,CACtBQ,UADsB;;AAE5C,aAAOP,OAAOG,IAAP,CAAYF,YAAZ,EACJc,MADI,CACG,EAAEN,YAAYF,UAAd,EADH,EAEJf,IAFI,CAEC;AAAA,eAAYC,SAASC,IAArB;AAAA,OAFD,EAGJC,KAHI,CAGE,iBAAS;AACd,cAAMC,MAAMC,MAAMC,OAAZ,CAAN;AACD,OALI,CAAP;AAMD;;;;;kBA3DkBR,G;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACVrB;;;;AAEA;;AACA;;AACA;;AACA;;AACA;;;;IAEM0B,M;;;;;;;;;;6BACK;AACP,aACE;AAAA;AAAA,UAAQ,UAAS,QAAjB;AACE;AAAA;AAAA;AACE;AAAA;AAAA,cAAY,SAAQ,OAApB,EAA4B,OAAM,SAAlC;AACE;AAAA;AAAA,gBAAM,iBAAN,EAAoB,WAAU,YAA9B;AAAA;AAAA;AADF;AADF;AADF,OADF;AAWD;;;EAbkB,gBAAMC,S;;AAgB3B,IAAMC,kBAAkB,SAAlBA,eAAkB;AAAA,SAAU;AAChC7B,cAAU8B,MAAM9B;AADgB,GAAV;AAAA,CAAxB;;kBAIe,yBAAY,yBAAQ6B,eAAR,EAAyBF,MAAzB,CAAZ,C;;;;;;;;;;;;;;;;;;AC5Bf;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACAA;;;;AACA;;AACA;;;;AACA;;AAYA;;;;AAOA,IAAMtC,YAAY;AAChB0C,UAAQ,oBAAUC,MADF;AAEhBC,6BAA2B,oBAAU1C,IAFrB;AAGhB2C,yBAAuB,oBAAU3C,IAHjB;AAIhB4C,kBAAgB,oBAAU5C,IAJV;AAKhB6C,yBAAuB,oBAAU7C,IALjB;AAMhB2B,cAAY,oBAAUmB,MANN;AAOhBzB,gBAAc,oBAAUyB,MAPR;AAQhBC,0BAAwB,oBAAUN;AARlB,CAAlB;AAUA,IAAMO,eAAe,EAArB;;AAEA,IAAMC,WAAW;AACfH,UAAQ,MADO;AAEfI,WAAS,QAFM;AAGfC,SAAO,QAHQ,EAGE;AACjBC,YAAU,UAJK,CAIO;AAJP,CAAjB;;IAOMC,Y;;;AACJ,0BAAc;AAAA;;AAAA;;AAEZ,UAAKC,iBAAL,GAAyB,MAAKA,iBAAL,CAAuBC,IAAvB,OAAzB;AACA,UAAKC,YAAL,GAAoB,MAAKA,YAAL,CAAkBD,IAAlB,OAApB;AACA,UAAKE,iBAAL,GAAyB,MAAKA,iBAAL,CAAuBF,IAAvB,OAAzB;AACA,UAAKG,gBAAL,GAAwB,MAAKA,gBAAL,CAAsBH,IAAtB,OAAxB;AACA,UAAKI,wBAAL,GAAgC,MAAKA,wBAAL,CAA8BJ,IAA9B,OAAhC;AACA,UAAKhB,KAAL,GAAa,EAAEqB,MAAM,IAAR,EAAcC,cAAc,KAA5B,EAAb;AAPY;AAQb;;;;sCAEiBC,G,EAAK;AAAA,wBACGA,IAAIC,MADP;AAAA,UACbC,IADa,eACbA,IADa;AAAA,UACPC,KADO,eACPA,KADO;;AAErB,WAAK9D,KAAL,CAAWuC,yBAAX,mCAAwCsB,IAAxC,EAA+CC,KAA/C;AACD;;;iCAEYH,G,EAAK;AAChBA,UAAII,cAAJ;AACA,UAAI,KAAK/D,KAAL,CAAWwB,UAAX,KAA0B,KAA9B,EAAqC;AACnC,aAAKxB,KAAL,CAAWwC,qBAAX,CAAiC;AAC/BtB,wBAAc,KAAKlB,KAAL,CAAWkB,YADM;AAE/BY,wBAAc,KAAK9B,KAAL,CAAW4C,sBAFM;AAG/BpB,sBAAY,KAAKxB,KAAL,CAAWwB;AAHQ,SAAjC;AAKD,OAND,MAMO;AACL,aAAKxB,KAAL,CAAWyC,cAAX,CAA0B;AACxBvB,wBAAc,KAAKlB,KAAL,CAAWkB,YADD;AAExBY,wBAAc,KAAK9B,KAAL,CAAW4C;AAFD,SAA1B;AAID;AACF;;;wCAEmB;AAClB,WAAKoB,QAAL,CAAc,EAAEN,cAAc,KAAhB,EAAd;AACD;;;uCAEkB;AACjB,WAAKM,QAAL,CAAc,EAAEN,cAAc,IAAhB,EAAd;AACD;;;+CAE0B;AACzB,WAAK1D,KAAL,CAAW0C,qBAAX,CAAiC;AAC/BxB,sBAAc,KAAKlB,KAAL,CAAWkB,YADM;AAE/BM,oBAAY,KAAKxB,KAAL,CAAWwB;AAFQ,OAAjC;AAID;;;6BAEQ;AAAA;;AACP,UAAMiC,OAAO,KAAKzD,KAAL,CAAW4C,sBAAxB;AACA,UAAMqB,SAAS,KAAKjE,KAAL,CAAWiE,MAA1B;AACA,UAAMC,iBACJ,KAAKlE,KAAL,CAAWqC,MAAX,IACA,KAAKrC,KAAL,CAAWqC,MAAX,CAAkB8B,IAAlB,CAAuBC,KAAvB,OAAiC,KAAKpE,KAAL,CAAWkB,YAA5C,QAA6DmD,IAA7D,CACGxC,WADH,CACeyC,OADf,CACuB,kBADvB,EAC2CjC,MAH7C;AAIA,UAAMkC,iBAAiBL,kBAAkBA,eAAeM,QAAxD;AACA,aAAON,iBACL;AAAA;AAAA,UAAM,QAAO,EAAb,EAAgB,UAAU,KAAKb,YAA/B;AACE;AAAA;AAAA,YAAM,eAAN,EAAgB,YAAW,QAA3B,EAAoC,SAAQ,QAA5C;AACE;AAAA;AAAA,cAAM,UAAN,EAAW,IAAI,EAAf,EAAmB,IAAI,CAAvB;AACG,mCAAea,eAAeO,UAA9B,EAA0CC,GAA1C,CAA8C;AAAA,qBAC7C;AACE,qBAAKC,MAAM,CAAN,EAASC,KADhB;AAEE,uBACEX,WACCU,MAAM,CAAN,EAASC,KAAT,GACG,CAAC,CAACX,OAAOU,MAAM,CAAN,EAASC,KAAhB,CADL,GAEG,CAAC,CAACX,OAAOU,MAAM,CAAN,CAAP,CAHN,CAHJ;AAQE,sBAAM7B,SAAS6B,MAAM,CAAN,EAASE,IAAlB,KAA2B,MARnC;AASE,qBAAKF,MAAM,CAAN,EAASG,OAThB;AAUE,qBAAKH,MAAM,CAAN,EAASI,OAVhB;AAWE,oBAAIJ,MAAM,CAAN,EAASC,KAAT,IAAkBD,MAAM,CAAN,CAXxB;AAYE,uBAAOA,MAAM,CAAN,EAASK,WAZlB;AAaE,sBAAML,MAAM,CAAN,EAASC,KAAT,IAAkBD,MAAM,CAAN,CAb1B;AAcE,uBAAQlB,SAASA,KAAKkB,MAAM,CAAN,EAASC,KAAd,KAAwBnB,KAAKkB,MAAM,CAAN,CAAL,CAAjC,CAAD,IAAsD,EAd/D;AAeE,0BAAU,OAAKxB,iBAfjB;AAgBE,wBAAO,QAhBT;AAiBE,+BAjBF;AAkBE,0BAAUoB,eAAeU,QAAf,CAAwBN,MAAM,CAAN,CAAxB,CAlBZ;AAmBE,4BACGV,WACEU,MAAM,CAAN,EAASC,KAAT,GACGX,OAAOU,MAAM,CAAN,EAASC,KAAhB,CADH,GAEGX,OAAOU,MAAM,CAAN,CAAP,CAHL,CAAD,IAIA;AAxBJ,gBAD6C;AAAA,aAA9C,CADH;AA8BG,iBAAK3E,KAAL,CAAWwB,UAAX,KAA0B,KAA1B,IACC;AAAA;AAAA;AACE,yBAAQ,WADV;AAEE,uBAAM,WAFR;AAGE,2BAAU,cAHZ;AAIE,yBAAS,KAAK+B;AAJhB;AAAA;AAAA,aA/BJ;AAyCE;AAAA;AAAA;AACE,yBAAQ,WADV;AAEE,uBAAM,SAFR;AAGE,sBAAK,QAHP;AAIE,2BAAU;AAJZ;AAAA;AAAA,aAzCF;AAiDE;AAAA;AAAA;AACE,sBAAM,KAAKnB,KAAL,CAAWsB,YADnB;AAEE,yBAAS,KAAKJ,iBAFhB;AAGE,mCAAgB,oBAHlB;AAIE,oCAAiB;AAJnB;AAME;AAAA;AAAA,kBAAa,IAAG,oBAAhB;AAAA;AAAA,eANF;AAOE;AAAA;AAAA;AACE;AAAA;AAAA,oBAAmB,IAAG,0BAAtB;AAAA;AAAA;AADF,eAPF;AAYE;AAAA;AAAA;AACE;AAAA;AAAA;AACE,6BAAS,KAAKE,wBADhB;AAEE,2BAAM,WAFR;AAGE,6BAAQ,WAHV;AAIE;AAJF;AAAA;AAAA,iBADF;AASE;AAAA;AAAA,oBAAQ,SAAS,KAAKF,iBAAtB;AAAA;AAAA;AATF;AAZF;AAjDF;AADF;AADF,OADK,GAgFL;AAAA;AAAA,UAAK,WAAU,kBAAf;AACE;AADF,OAhFF;AAoFD;;;EA3IwB,gBAAMpB,S;;AA8IjCgB,aAAavD,SAAb,GAAyBA,SAAzB;AACAuD,aAAaL,YAAb,GAA4BA,YAA5B;;AAEA,IAAMV,kBAAkB,SAAlBA,eAAkB;AAAA,SAAU;AAChC+C,eAAW9C,MAAMd,QAAN,CAAe6D,QADM;AAEhC9C,YAAQD,MAAM9B,QAAN,CAAeW,MAFS;AAGhC2B,4BAAwBR,MAAMd,QAAN,CAAesB,sBAHP;AAIhCqB,YAAQ7B,MAAMd,QAAN,CAAe2C;AAJS,GAAV;AAAA,CAAxB;;AAOA,IAAM/D,qBAAqB;AACzBuC,iDADyB;AAEzBF,gEAFyB;AAGzBC,+DAHyB;AAIzBE;AAJyB,CAA3B;;kBAOe,yBACbP,eADa,EAEbjC,kBAFa,EAGbgD,YAHa,C;;;;;;;;;;;;;;;;;;ACxMf;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACAA;;;;AACA;;;;AACA;;AACA;;AAEA;;;;AACA;;;;;;AAEA,IAAMvD,YAAY;AAChByF,gBAAc,oBAAUvF,IADR;AAEhBwF,eAAa,oBAAUC,MAFP;AAGhBC,SAAO,oBAAUD,MAHD;AAIhBE,QAAM,oBAAUF;AAJA,CAAlB;;IAOMG,sB;;;AACJ,oCAAc;AAAA;;AAAA;;AAEZ,UAAKC,qBAAL,GAA6B,MAAKA,qBAAL,CAA2BtC,IAA3B,OAA7B;AACA,UAAKuC,0BAAL,GAAkC,MAAKA,0BAAL,CAAgCvC,IAAhC,OAAlC;AAGA,UAAKwC,qBAAL,GAA6B,MAAKA,qBAAL,CAA2BxC,IAA3B,OAA7B;AACA,UAAKyC,yBAAL,GAAiC,MAAKA,yBAAL,CAA+BzC,IAA/B,OAAjC;AAPY;AAQb;;;;+CAC0B0C,K,EAAO;AAChC,WAAK9F,KAAL,CAAWoF,YAAX,CAAwBU,KAAxB,EAA+B,CAA/B;AACD;;;0CAEqBA,K,EAAO;AAC3B,WAAK9F,KAAL,CAAWoF,YAAX,CAAwBU,KAAxB,EAA+B,KAAK9F,KAAL,CAAWwF,IAAX,GAAkB,CAAjD;AACD;;;0CAEqBM,K,EAAO;AAC3B,WAAK9F,KAAL,CAAWoF,YAAX,CAAwBU,KAAxB,EAA+B,KAAK9F,KAAL,CAAWwF,IAAX,GAAkB,CAAjD;AACD;;;8CAEyBM,K,EAAO;AAC/B,WAAK9F,KAAL,CAAWoF,YAAX,CACEU,KADF,EAEEC,KAAKC,GAAL,CAAS,CAAT,EAAYD,KAAKE,IAAL,CAAU,KAAKjG,KAAL,CAAWuF,KAAX,GAAmB,KAAKvF,KAAL,CAAWqF,WAAxC,IAAuD,CAAnE,CAFF;AAID;;;6BAEQ;AAAA,mBAC8B,KAAKrF,KADnC;AAAA,UACCuF,KADD,UACCA,KADD;AAAA,UACQC,IADR,UACQA,IADR;AAAA,UACcH,WADd,UACcA,WADd;;AAEP,aACE;AAAA;AAAA,UAAK,WAAU,cAAf;AACE;AAAA;AAAA;AACE,qBAAS,KAAKM,0BADhB;AAEE,sBAAUH,SAAS,CAFrB;AAGE,0BAAW;AAHb;AAKE;AALF,SADF;AAQE;AAAA;AAAA;AACE,qBAAS,KAAKE,qBADhB;AAEE,sBAAUF,SAAS,CAFrB;AAGE,0BAAW;AAHb;AAKE;AALF,SARF;AAeE;AAAA;AAAA;AACE,qBAAS,KAAKI,qBADhB;AAEE,sBAAUJ,QAAQO,KAAKE,IAAL,CAAUV,QAAQF,WAAlB,IAAiC,CAFrD;AAGE,0BAAW;AAHb;AAKE;AALF,SAfF;AAsBE;AAAA;AAAA;AACE,qBAAS,KAAKQ,yBADhB;AAEE,sBAAUL,QAAQO,KAAKE,IAAL,CAAUV,QAAQF,WAAlB,IAAiC,CAFrD;AAGE,0BAAW;AAHb;AAKE;AALF;AAtBF,OADF;AAgCD;;;EA/DkC,gBAAMnD,S;;AAkE3CuD,uBAAuB9F,SAAvB,GAAmCA,SAAnC;;kBAEe8F,sB;;;;;;;;;;;;;;;;;;ACnFf;;;;;;;;;;;;;;;;;;;;;;;;ACAA;;AAEA;;;;AACA;;;;;;kBAEe,4BAAgB;AAC7BnF,8BAD6B;AAE7BgB;AAF6B,CAAhB,C;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACLf;;;;AAEO,IAAM4E,0DAAyB,wBAA/B;AACA,IAAMC,0DAAyB,wBAA/B;AACA,IAAMC,0DAAyB,wBAA/B;;AAEA,IAAMC,sDAAuB,gCAAaH,sBAAb,CAA7B;AACA,IAAMI,sDAAuB,gCAAaH,sBAAb,CAA7B;AACA,IAAMI,sDAAuB,gCAAaH,sBAAb,CAA7B;;AAEP,IAAMI,eAAe;AACnBtB,aAAW,IADQ;AAEnB7C,UAAQ,IAFW;AAGnBpB,UAAQ;AAHW,CAArB;;kBAMe,qGAEVkF,sBAFU,EAEe,UAAC/D,KAAD;AAAA,MAAUpB,OAAV,QAAUA,OAAV;AAAA,oCACrBoB,KADqB;AAExB8C,eAAWlE,QAAQkE,SAFK;AAGxB7C,YAAQrB,QAAQqB,MAHQ;AAIxBpB,YAAQD,QAAQC;AAJQ;AAAA,CAFf,iDAQVmF,sBARU,EAQe,UAAChE,KAAD;AAAA,MAAUpB,OAAV,SAAUA,OAAV;AAAA,oCACrBoB,KADqB;AAExBtB,WAAOE;AAFiB;AAAA,CARf,oBAabwF,YAba,C;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AChBf;;;;AAEO,IAAMC,4EACX,iCADK;AAEA,IAAMC,4EACX,iCADK;AAEA,IAAMC,4EACX,iCADK;;AAGA,IAAMC,0EACX,mCADK;AAEA,IAAMC,0EACX,mCADK;AAEA,IAAMC,0EACX,mCADK;;AAGA,IAAMC,4DAA0B,yBAAhC;AACA,IAAMC,4DAA0B,yBAAhC;AACA,IAAMC,4DAA0B,yBAAhC;;AAEA,IAAMC,4EAAkC,yBAAxC;AACA,IAAMC,4EAAkC,yBAAxC;AACA,IAAMC,4EAAkC,yBAAxC;;AAEA,IAAMC,sEAA+B,+BAArC;;AAEA,IAAMC,4EAAkC,yBAAxC;;AAEA,IAAMC,sEAA+B,gCAC1Cd,+BAD0C,CAArC;AAGA,IAAMe,sEAA+B,gCAC1Cd,+BAD0C,CAArC;AAGA,IAAMe,oEAA8B,gCACzCb,8BADyC,CAApC;AAGA,IAAMc,oEAA8B,gCACzCb,8BADyC,CAApC;;AAIA,IAAMc,wDAAwB,gCAAaZ,uBAAb,CAA9B;AACA,IAAMa,wDAAwB,gCAAaZ,uBAAb,CAA9B;AACA,IAAMa,wDAAwB,gCAAaZ,uBAAb,CAA9B;AACA,IAAMa,sEAA+B,gCAC1CZ,+BAD0C,CAArC;AAGA,IAAMa,sEAA+B,gCAC1CZ,+BAD0C,CAArC;AAGA,IAAMa,sEAA+B,gCAC1CZ,+BAD0C,CAArC;AAGA,IAAM7E,gEAA4B,gCACvC8E,4BADuC,CAAlC;;AAIA,IAAMY,sEAA+B,gCAC1CX,+BAD0C,CAArC;;AAIP,IAAMd,eAAe;AACnBrB,YAAU,IADS;AAEnBvC,0BAAwB,IAFL;AAGnByC,eAAa,IAHM;AAInB6C,cAAY,IAJO;AAKnBC,eAAa,IALM;AAMnBlE,UAAQ;AANW,CAArB;;kBASe,qGAEVyC,+BAFU,EAEwB,UAACtE,KAAD;AAAA,MAAUpB,OAAV,QAAUA,OAAV;AAAA,oCAC9BoB,KAD8B;AAEjC+C,cAAUnE,QAAQkE,SAAR,CAAkBzB,IAFK;AAGjCb,4BAAwB,IAHS;AAIjCyC,iBAAarE,QAAQkE,SAAR,CAAkBkD,IAAlB,CAAuBC,SAJH;AAKjCF,iBAAanH,QAAQkE,SAAR,CAAkBkD,IAAlB,CAAuB5C,IALH;AAMjC0C,gBAAYlH,QAAQkE,SAAR,CAAkBkD,IAAlB,CAAuB7C;AANF;AAAA,CAFxB,iDAUVsB,8BAVU,EAUuB,UAACzE,KAAD;AAAA,MAAUpB,OAAV,SAAUA,OAAV;AAAA,oCAC7BoB,KAD6B;AAEhCQ,4BAAwB5B;AAFQ;AAAA,CAVvB,iDAcVgG,uBAdU,EAcgB,UAAC5E,KAAD;AAAA,MAAUpB,OAAV,SAAUA,OAAV;AAAA,oCACtBoB,KADsB;AAEzB+C,yDAAc/C,MAAM+C,QAApB,IAA8BnE,OAA9B;AAFyB;AAAA,CAdhB,iDAkBViG,uBAlBU,EAkBgB,UAAC7E,KAAD;AAAA,MAAUpB,OAAV,SAAUA,OAAV;AAAA,oCACtBoB,KADsB;AAEzB6B,YAAQjD;AAFiB;AAAA,CAlBhB,iDAsBVqG,4BAtBU,EAsBqB,UAACjF,KAAD;AAAA,MAAUpB,OAAV,SAAUA,OAAV;AAAA,oCAC3BoB,KAD2B;AAE9BQ,uDAA6BR,MAAMQ,sBAAnC,EAA8D5B,OAA9D;AAF8B;AAAA,CAtBrB,oBA2BbwF,YA3Ba,C;;;;;;;;;;;;;;;;;;;ACtEf;;;;AACA;;;;AACA;;;;AACA;;AAEA;;;;AAEA;;AACA;;AACA;;AAEA;;;;AAEA;;;;AACA;;;;AAEA;;;;AACA;;;;AAEA,IAAM8B,WAAW,4BAAe;AAC9BC,WAAS;AACPC,aAAS,EAAEC,MAAM,SAAR,EAAmBC,cAAc,MAAjC;AADF;AADqB,CAAf,CAAjB;;AAMO,IAAMC,4BAAU,qCAAhB;AACP,IAAMC,iBAAiB,0BAAvB;;AAEA,IAAIC,iCAAJ;;AAEA,IAAI,IAAJ,EAA4C;AAC1C,MAAMC,+BACJC,OAAOC,oCADT;AAEA,MAAI,OAAOF,4BAAP,KAAwC,UAA5C,EAAwD;AACtDD,uBAAmBC,4BAAnB;AACD;AACF;;AAED,IAAMG,QAAQ,wBACZ,yCAAcN,OAAd,kBADY,EAEZE,iBAAiB,4BAAgB,4CAAiBF,OAAjB,CAAhB,EAA2CC,cAA3C,CAAjB,CAFY,CAAd;;AAKAA,eAAeM,GAAf;;AAEA;;AAEA,mBAASC,MAAT,CACE;AAAA;AAAA,IAAkB,OAAOb,QAAzB;AACE;AAAA;AAAA,MAAU,OAAOW,KAAjB;AACE;AADF;AADF,CADF,EAMEG,SAASC,cAAT,CAAwB,MAAxB,CANF,E;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AC/CA;;;;AACA;;AACA;;AACA;;;;AACA;;AAEA;;AACA;;;;AACA;;;;AAEA,IAAM1J,YAAY;AAChBW,YAAU,oBAAUgJ,KAAV,CAAgB;AACxBpE,eAAW,oBAAU5C,MADG;AAExBrB,YAAQ,oBAAUqB,MAFM;AAGxBD,YAAQ,oBAAUM;AAHM,GAAhB,CADM;AAMhB4G,SAAO,oBAAUjH,MAND;AAOhBkH,iBAAe,oBAAU3J,IAAV,CAAeC;AAPd,CAAlB;;IAUM2J,U;;;;;;;;;;wCACgB;AAClB,UAAI,KAAKzJ,KAAL,CAAWuJ,KAAX,CAAiBG,MAAjB,CAAwBnI,EAAxB,KAA+B,KAAnC,EAA0C;AACxC,aAAKvB,KAAL,CAAWwJ,aAAX,CAAyB;AACvBtI,wBAAc,KAAKlB,KAAL,CAAWuJ,KAAX,CAAiBG,MAAjB,CAAwBpI,QADf;AAEvBE,sBAAY,KAAKxB,KAAL,CAAWuJ,KAAX,CAAiBG,MAAjB,CAAwBnI;AAFb,SAAzB;AAID;AACF;;;6BAEQ;AACP,UAAML,eAAe,KAAKlB,KAAL,CAAWuJ,KAAX,CAAiBG,MAAjB,CAAwBpI,QAA7C;AACA,UAAME,aAAa,KAAKxB,KAAL,CAAWuJ,KAAX,CAAiBG,MAAjB,CAAwBnI,EAA3C;;AAEA,aACE;AAAA;AAAA,UAAM,eAAN,EAAgB,WAAU,eAA1B;AACE;AAAA;AAAA,YAAM,UAAN,EAAW,IAAI,EAAf;AACE;AAAA;AAAA;AACE,yBAAU,YADZ;AAEE,yBAAW;AAAA,uBACT,6EAAM,yBAAkBL,YAAlB,MAAN,IAA6ClB,KAA7C,EADS;AAAA;AAFb;AAME;AAAA;AAAA;AAAA;AAAA,aANF;AAAA;AAAA,WADF;AAUE,kEAAc,cAAckB,YAA5B,EAA0C,YAAYM,UAAtD;AAVF;AADF,OADF;AAgBD;;;EA9BsB,gBAAMU,S;;AAiC/BuH,WAAW9J,SAAX,GAAuBA,SAAvB;;AAEA,IAAMwC,kBAAkB,SAAlBA,eAAkB;AAAA,SAAU;AAChC7B,cAAU8B,MAAM9B;AADgB,GAAV;AAAA,CAAxB;;AAIA,IAAMJ,qBAAqB;AACzBsJ;AADyB,CAA3B;;kBAIe,yBACbrH,eADa,EAEbjC,kBAFa,EAGbuJ,UAHa,C;;;;;;;;;;;;;;;;;;AC/Df;;;;AACA;;;;;;AAEA,IAAM9J,YAAY,EAAlB;AACA,IAAMkD,eAAe,EAArB;;AAEA,IAAM8G,YAAY,SAAZA,SAAY;AAAA,SAAS;AAAA;AAAA;AAAA;AAAA,GAAT;AAAA,CAAlB;;AAEAA,UAAUhK,SAAV,GAAsBA,SAAtB;AACAgK,UAAU9G,YAAV,GAAyBA,YAAzB;;kBAEe8G,S;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACXf;;;;AACA;;AACA;;AACA;;;;AAEA;;;;AASA,IAAMhK,YAAY;AAChBW,YAAU,oBAAUgJ,KAAV,CAAgB;AACxBpE,eAAW,oBAAU5C,MADG;AAExBD,YAAQ,oBAAUM,MAFM;AAGxB1B,YAAQ,oBAAUqB;AAHM,GAAhB;AADM,CAAlB;;IAQMsH,Q;;;;;;;;;;6BACK;AAAA,UACC1E,SADD,GACe,KAAKlF,KAAL,CAAWM,QAD1B,CACC4E,SADD;;AAEP,aACEA,aACE;AAAA;AAAA,UAAM,eAAN,EAAgB,YAAW,QAA3B,EAAoC,WAAU,eAA9C;AACE;AAAA;AAAA,YAAM,UAAN,EAAW,IAAI,EAAf,EAAmB,IAAI,CAAvB;AACE;AAAA;AAAA,cAAO,YAAP;AACE;AAAA;AAAA,gBAAY,SAAQ,OAApB,EAA4B,WAAU,YAAtC;AAAA;AAAA,aADF;AAIE;AAAA;AAAA,gBAAM,WAAU,KAAhB;AACG,qCAAeA,SAAf,EAA0BR,GAA1B,CAA8B;AAAA,uBAC7B;AAAA;AAAA;AACE,yBAAKpD,SAAS,CAAT,CADP;AAEE,gCAFF;AAGE,+BAAW;AAAA,6BACT,6EAAM,IAAOA,SAAS,CAAT,CAAP,MAAN,IAAiCtB,KAAjC,EADS;AAAA;AAHb;AAOE,sEAAc,SAASsB,SAAS,CAAT,CAAvB;AAPF,iBAD6B;AAAA,eAA9B;AADH;AAJF;AADF;AADF,OAFJ;AA0BD;;;EA7BoB,gBAAMY,S;;AAgC7B0H,SAASjK,SAAT,GAAqBA,SAArB;;AAEA,IAAMwC,kBAAkB,SAAlBA,eAAkB;AAAA,SAAU;AAChC7B,cAAU8B,MAAM9B;AADgB,GAAV;AAAA,CAAxB;;kBAIe,yBAAQ6B,eAAR,EAAyByH,QAAzB,C;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AC5Df;;;;AACA;;;;AACA;;;;;;AAEA;;AAeA;;AAEA;;AACA;;;;AACA;;;;AAEA,IAAMjK,YAAY;AAChB4J,SAAO,oBAAUjH,MADD;AAEhBuH,kBAAgB,oBAAUhK,IAFV;AAGhBwC,UAAQ,oBAAUyH,SAAV,CAAoBxH,MAHZ;AAIhB4C,aAAW,oBAAU6E,OAAV,CAAkB,oBAAUzH,MAA5B,CAJK;AAKhB+C,eAAa,oBAAUC,MALP;AAMhB6C,eAAa,oBAAU7C;AANP,CAAlB;;AASA,IAAM0E,oBAAoB,EAA1B;;IAEMC,Q;;;AACJ,sBAAc;AAAA;;AAAA;;AAEZ,UAAKC,gBAAL,GAAwB,MAAKA,gBAAL,CAAsB9G,IAAtB,OAAxB;AAFY;AAGb;;;;wCACmB;AAClB,WAAKpD,KAAL,CAAW6J,cAAX,CAA0B;AACxB3I,sBAAc,KAAKlB,KAAL,CAAWuJ,KAAX,CAAiBG,MAAjB,CAAwBpI,QADd;AAExBH,eAAO;AACLkH,qBAAW2B,iBADN;AAELxE,gBAAM;AAFD;AAFiB,OAA1B;AAOD;;;qCAEgB7B,G,EAAK6B,I,EAAM;AAC1B;AACA,UAAI7B,GAAJ,EAAS;AACP,aAAK3D,KAAL,CAAW6J,cAAX,CAA0B;AACxB3I,wBAAc,KAAKlB,KAAL,CAAWuJ,KAAX,CAAiBG,MAAjB,CAAwBpI,QADd;AAExBH,iBAAO;AACLqE,kBAAMA,OAAO,CADR,EACW;AAChB6C,uBAAW2B;AAFN;AAFiB,SAA1B;AAOD;AACF;;;6BAEQ;AAAA,UACC1I,QADD,GACc,KAAKtB,KAAL,CAAWuJ,KAAX,CAAiBG,MAD/B,CACCpI,QADD;;AAEP,UAAM4C,iBACJ,KAAKlE,KAAL,CAAWqC,MAAX,IACA,KAAKrC,KAAL,CAAWqC,MAAX,CAAkB8B,IAAlB,CAAuBC,KAAvB,OAAiC9C,QAAjC,QAA8C+C,IAA9C,CAAmDxC,WAAnD,CAA+DyC,OAA/D,CACE,kBADF,EAEEjC,MAJJ;AAKA,aACE6B,kBACE;AAAA;AAAA,UAAM,eAAN,EAAgB,SAAS,CAAzB,EAA4B,WAAU,eAAtC;AACE;AAAA;AAAA,YAAM,UAAN,EAAW,IAAI,EAAf;AACE;AAAA;AAAA,cAAO,YAAP;AACE;AAAA;AAAA,gBAAY,SAAQ,OAApB,EAA4B,WAAU,uBAAtC;AACG,qCACC,KAAKlE,KAAL,CAAWmK,YADZ,EAEC;AAAA,uBAAY7I,aAAaA,QAAzB;AAAA,eAFD;AADH,aADF;AAQE;AAAA;AAAA;AACE,2BAAW;AAAA,yBAAS,6EAAM,IAAG,KAAT,IAAmBtB,KAAnB,EAAT;AAAA,iBADb;AAEE,yBAAQ,WAFV;AAGE,uBAAM,SAHR;AAIE,2BAAU;AAJZ;AAAA;AAAA,aARF;AAgBG,iBAAKA,KAAL,CAAWkF,SAAX,GACC;AAAA;AAAA;AACE;AAAA;AAAA,kBAAK,WAAU,gBAAf;AACE;AAAA;AAAA,oBAAO,WAAU,gBAAjB;AACE;AAAA;AAAA;AACE;AAAA;AAAA;AACE;AAAA;AAAA,0BAAW,KAAI,MAAf;AAAA;AAAA,uBADF;AAEG,4CAAchB,eAAeO,UAA7B,EAAyCC,GAAzC,CACC;AAAA,+BACE;AAAA;AAAA,4BAAW,KAAKC,MAAMC,KAAtB;AACGD,gCAAMK;AADT,yBADF;AAAA,uBADD;AAFH;AADF,mBADF;AAaE;AAAA;AAAA;AACG,yBAAKhF,KAAL,CAAWkF,SAAX,CAAqBR,GAArB,CAAyB;AAAA,6BACxB;AAAA;AAAA,0BAAU,KAAK0F,KAAK7I,EAApB;AACE;AAAA;AAAA;AACE;AAAA;AAAA,8BAAM,yBAAkBD,QAAlB,SAA8B8I,KAAK7I,EAAzC;AACE;AAAA;AAAA;AAAA;AAAA;AADF;AADF,yBADF;AAMG,8CAAc2C,eAAeO,UAA7B,EAAyCC,GAAzC,CACC;AAAA,iCACE;AAAA;AAAA,8BAAW,KAAKC,MAAMC,KAAtB;AACGwF,iCAAKzF,MAAMC,KAAX;AADH,2BADF;AAAA,yBADD;AANH,uBADwB;AAAA,qBAAzB;AADH,mBAbF;AA+BE;AAAA;AAAA;AACE;AADF;AA/BF;AADF,eADF;AAsCE;AACE,yBAAS,CADX;AAEE,2BAAU,KAFZ;AAGE,2BAAU,iBAHZ;AAIE,uBAAO,KAAK5E,KAAL,CAAWkI,UAJpB;AAKE,6BAAa,KAAKlI,KAAL,CAAWqF,WAL1B;AAME,sBAAM,KAAKrF,KAAL,CAAWmI,WAAX,GAAyB,CANjC;AAOE,8BAAc,KAAK+B,gBAPrB;AAQE,qCAAqB,KAAKG,uBAR5B;AASE,kEATF;AAUE,oCAAoB,CAAC,CAAD;AAVtB;AAtCF,aADD,GAqDC;AAAA;AAAA,gBAAK,WAAU,kBAAf;AACE;AADF;AArEJ;AADF;AADF,OAFJ;AAkFD;;;EArHoB,gBAAMnI,S;;AAwH7B+H,SAAStK,SAAT,GAAqBA,SAArB;;AAEA,IAAMwC,kBAAkB,SAAlBA,eAAkB;AAAA,SAAU;AAChCkD,iBAAajD,MAAMd,QAAN,CAAe+D,WADI;AAEhC8C,iBAAa/F,MAAMd,QAAN,CAAe6G,WAFI;AAGhCD,gBAAY9F,MAAMd,QAAN,CAAe4G,UAHK;AAIhChD,eAAW9C,MAAMd,QAAN,CAAe6D,QAJM;AAKhC9C,YAAQD,MAAM9B,QAAN,CAAeW,MALS;AAMhCkJ,kBAAc/H,MAAM9B,QAAN,CAAe4E;AANG,GAAV;AAAA,CAAxB;;AASA,IAAMhF,qBAAqB;AACzB2J;AADyB,CAA3B;kBAGe,yBACb1H,eADa,EAEbjC,kBAFa,EAGb+J,QAHa,C;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AC1Kf;;;;AACA;;AACA;;AACA;;;;AACA;;;;AACA;;;;AACA;;;;AACA;;;;AAEA;;AAEA;;;;IACqBK,M;;;;;;;;;;6BACV;AACP,aACE;AAAA;AAAA,UAAiB,uBAAjB;AACE;AAAA;AAAA;AACE,+DADF;AAEE;AAAA;AAAA;AACE,mEAAO,WAAP,EAAa,mBAAb,EAA6B,6BAA7B,GADF;AAEE,mEAAO,WAAP,EAAa,iCAAb,EAA2C,6BAA3C,GAFF;AAGE;AACE,yBADF;AAEE,mDAFF;AAGE;AAHF,cAHF;AAQE,mEAAO,MAAK,YAAZ,EAAyB,8BAAzB,GARF;AASE,mEAAO,8BAAP;AATF;AAFF;AADF,OADF;AAkBD;;;;;kBApBkBA,M;;;;;;;;;;;;;;;;;;;;;;kBCRIC,I;;AAJzB;;AAEA;;;;AACA;;;;;;sDACyBA,I;;AAAV,SAAUA,IAAV;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,iBACP,kBAAI,CAAC,yBAAD,EAAkB,yBAAlB,CAAJ,CADO;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,C;;;;;;;;;;;;;;;;;;;;;;;;;;kBCmBUC,a;;AAvBzB;;AAEA;;AAIA;;;;;;sDAEU5K,a;uDAee4K,a;;AAfzB,SAAU5K,aAAV;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,iBAE2B,mBAAK,cAAIA,aAAT,CAF3B;;AAAA;AAEUU,kBAFV;AAAA;AAAA,iBAGyB,mBAAK,cAAImK,kBAAT,EAA6BnK,SAAS+B,MAAtC,CAHzB;;AAAA;AAGUpB,gBAHV;AAAA;AAAA,iBAIU,kBACJ,+DACKX,QADL;AAEEW;AAFF,aADI,CAJV;;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;AAAA,gBAWUJ,kBAXV;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;AAee,SAAU2J,aAAV;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,iBACP,2DAAmC5K,aAAnC,CADO;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,C;;;;;;;;;;;;;;;;;;;;;;kBC4DU8K,a;;AAnFzB;;AACA;;AACA;;AAEA;;;;AACA;;;;sDAcUlB,a;uDAeA/G,c;uDAYAD,qB;uDASAmI,oB;uDAeAjI,qB;uDAaegI,a;;AAhEzB,SAAUlB,aAAV;AAAA,MAA0BxI,OAA1B,QAA0BA,OAA1B;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,iBAEuB,0CAFvB;;AAAA;AAEQC,gBAFR;;AAAA,cAGSA,MAHT;AAAA;AAAA;AAAA;;AAAA;AAAA,iBAI6B,mBAAK,cAAIrB,aAAT,CAJ7B;;AAAA;AAIYU,kBAJZ;AAKc+B,gBALd,GAKyB/B,QALzB,CAKc+B,MALd;AAAA;AAAA,iBAMqB,mBAAK,cAAIoI,kBAAT,EAA6BpI,MAA7B,CANrB;;AAAA;AAMMpB,gBANN;;AAAA;AAAA;AAAA,iBAQ4B,mBAAK,cAAIuI,aAAT,EAAwBxI,OAAxB,EAAiCC,MAAjC,CAR5B;;AAAA;AAQUiE,mBARV;AAAA;AAAA,iBASU,kBAAI,4CAA6B,EAAEA,oBAAF,EAA7B,CAAJ,CATV;;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;AAAA;AAAA,iBAWU,kBAAI,4BAAK,YAAL,CAAJ,CAXV;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;AAeA,SAAUzC,cAAV;AAAA,MAA2BzB,OAA3B,SAA2BA,OAA3B;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,iBAEyB,0CAFzB;;AAAA;AAEUC,gBAFV;AAAA;AAAA,iBAG2B,mBAAK,cAAIwB,cAAT,EAAyBzB,OAAzB,EAAkCC,MAAlC,CAH3B;;AAAA;AAGUP,kBAHV;AAAA;AAAA,iBAIU,kBAAI,qCAAsBA,QAAtB,CAAJ,CAJV;;AAAA;AAAA;AAAA,iBAKU,kBAAI,iDAAmBM,QAAQE,YAA3B,OAAJ,CALV;;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;AAOU+C,gBAPV,GAOmB2G,KAAKC,KAAL,CAAW,aAAM9J,OAAjB,CAPnB;AAAA;AAAA,iBAQU,kBAAI,qCAAsBkD,MAAtB,CAAJ,CARV;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;AAYA,SAAUzB,qBAAV;AAAA,MAAkCxB,OAAlC,SAAkCA,OAAlC;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,iBAEyB,0CAFzB;;AAAA;AAEUC,gBAFV;AAAA;AAAA,iBAG2B,mBAAK,cAAIuB,qBAAT,EAAgCxB,OAAhC,EAAyCC,MAAzC,CAH3B;;AAAA;AAGUP,kBAHV;AAAA;AAAA,iBAIU,kBAAI,4CAA6BA,QAA7B,CAAJ,CAJV;;AAAA;AAAA;AAAA,iBAKU,kBAAI,iDAAmBM,QAAQE,YAA3B,OAAJ,CALV;;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;AASA,SAAUyJ,oBAAV;AAAA,MAAiC3J,OAAjC,SAAiCA,OAAjC;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,iBAEuB,0CAFvB;;AAAA;AAEQC,gBAFR;;AAAA,cAGSA,MAHT;AAAA;AAAA;AAAA;;AAAA;AAAA,iBAI6B,mBAAK,cAAIrB,aAAT,CAJ7B;;AAAA;AAIYU,kBAJZ;AAKc+B,gBALd,GAKyB/B,QALzB,CAKc+B,MALd;AAAA;AAAA,iBAMqB,mBAAK,cAAIoI,kBAAT,EAA6BpI,MAA7B,CANrB;;AAAA;AAMMpB,gBANN;;AAAA;AAAA;AAAA,iBAQ2B,mBAAK,cAAI0J,oBAAT,EAA+B3J,OAA/B,EAAwCC,MAAxC,CAR3B;;AAAA;AAQUK,kBARV;AAAA;AAAA,iBASU,kBAAI,2CAA4BA,QAA5B,CAAJ,CATV;;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;AAAA;AAAA,iBAWU,kBAAI,4BAAK,YAAL,CAAJ,CAXV;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;AAeA,SAAUoB,qBAAV;AAAA,MAAkC1B,OAAlC,SAAkCA,OAAlC;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,iBAEuB,0CAFvB;;AAAA;AAEQC,gBAFR;;AAAA,cAGSA,MAHT;AAAA;AAAA;AAAA;;AAAA;AAAA,iBAI6B,mBAAK,cAAIrB,aAAT,CAJ7B;;AAAA;AAIYU,kBAJZ;AAKc+B,gBALd,GAKyB/B,QALzB,CAKc+B,MALd;AAAA;AAAA,iBAMqB,mBAAK,cAAIoI,kBAAT,EAA6BpI,MAA7B,CANrB;;AAAA;AAMMpB,gBANN;;AAAA;AAAA;AAAA,iBAQU,mBAAK,cAAIyB,qBAAT,EAAgC1B,OAAhC,EAAyCC,MAAzC,CARV;;AAAA;AAAA;AAAA,iBASU,kBAAI,iDAAmBD,QAAQE,YAA3B,OAAJ,CATV;;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;AAae,SAAUwJ,aAAV;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,iBACP,oEAA4ClB,aAA5C,CADO;;AAAA;AAAA;AAAA,iBAEP,4DAAoC/G,cAApC,CAFO;;AAAA;AAAA;AAAA,iBAGP,mEAA2CkI,oBAA3C,CAHO;;AAAA;AAAA;AAAA,iBAIP,oEAA4CnI,qBAA5C,CAJO;;AAAA;AAAA;AAAA,iBAKP,oEAA4CE,qBAA5C,CALO;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,C;;;;;;;;;;;;;;;;;ACnFR,IAAMoI,4CAAkB,SAAlBA,eAAkB;AAAA,SAAS1I,MAAM9B,QAAN,CAAe+B,MAAxB;AAAA,CAAxB;AACA,IAAM0I,sCAAe,SAAfA,YAAe;AAAA,SAAS3I,MAAM9B,QAAN,CAAeW,MAAxB;AAAA,CAArB,C","file":"index.js","sourcesContent":["import React, { Component } from 'react';\nimport PropTypes from 'prop-types';\nimport Routes from './routes';\n\nimport './App.css';\n\nconst propTypes = {\n fetchMetadata: PropTypes.func.isRequired,\n};\n\nclass App extends Component {\n componentDidMount() {\n this.props.fetchMetadata();\n }\n render() {\n return (\n
\n \n
\n );\n }\n}\n\nApp.propTypes = propTypes;\n\nexport default App;\n","import { connect } from 'react-redux';\n\nimport AppComponent from './App';\n\nimport { fetchMetadataRequest } from './ducks/metadata';\n\nconst mapStatetoProps = state => {\n return {};\n};\n\nconst mapDispatchToProps = {\n fetchMetadata: fetchMetadataRequest,\n};\n\nexport default connect(\n mapStatetoProps,\n mapDispatchToProps\n)(AppComponent);\n","import request from 'superagent';\nimport Swagger from 'swagger-client';\n\nexport const REL_PATH = '/admin/';\n\nconst urls = {\n host: 'http://localhost:8000',\n metadata: '/admin/metadata/',\n};\n\nexport default class Api {\n static fetchMetadata() {\n return request\n .get(urls.host + urls.metadata)\n .then(response => response.body)\n .catch(error => {\n throw Error(error.message);\n });\n }\n\n static fetchResource(payload, client) {\n const { resourceName, query } = payload;\n return client.apis[resourceName]\n .list(query)\n .then(response => response.body)\n .catch(error => {\n throw Error(error.message);\n });\n }\n\n static fetchResourceElement(payload, client) {\n const resource = payload.resourceName;\n const id = payload.resourceId;\n return client.apis[resource]\n .retrieve({ element_id: id })\n .then(response => response.body)\n .catch(error => {\n throw Error(error.message);\n });\n }\n\n static fetchSwaggerSchema(schemaUrl) {\n return Swagger(urls.host + schemaUrl).then(client => client);\n }\n\n static submitResource(payload, client) {\n return client.apis[payload.resourceName]\n .create({}, { requestBody: payload.resourceData })\n .then(response => response.body)\n .catch(error => {\n throw Error(JSON.stringify(error.response.body));\n });\n }\n\n static updateResourceElement(payload, client) {\n const { resourceName, resourceId, resourceData } = payload;\n return client.apis[resourceName]\n .update({ element_id: resourceId }, { requestBody: resourceData })\n .then(response => response.body);\n }\n\n static deleteResourceElement(payload, client) {\n const { resourceName, resourceId } = payload;\n return client.apis[resourceName]\n .delete({ element_id: resourceId })\n .then(response => response.body)\n .catch(error => {\n throw Error(error.message);\n });\n }\n}\n","import React from 'react';\n\nimport { Toolbar, AppBar, Typography } from '@material-ui/core';\nimport { Link } from 'react-router-dom';\nimport { connect } from 'react-redux';\nimport { withTheme } from '@material-ui/core/styles';\nimport { REL_PATH } from '../../api';\n\nclass Header extends React.Component {\n render() {\n return (\n \n \n \n \n APISTAR\n \n \n \n \n );\n }\n}\n\nconst mapStateToProps = state => ({\n metadata: state.metadata,\n});\n\nexport default withTheme()(connect(mapStateToProps)(Header));\n","import Header from './Header';\n\nexport default Header;\n","import React from 'react';\nimport { connect } from 'react-redux';\nimport PropTypes from 'prop-types';\nimport {\n Grid,\n TextField,\n Button,\n CircularProgress,\n Dialog,\n DialogTitle,\n DialogContent,\n DialogContentText,\n DialogActions,\n} from '@material-ui/core';\n\nimport {\n submitResourceRequest,\n setCurrentResourceElement,\n updateResourceElementRequest,\n deleteResourceElementRequest,\n} from '../../ducks/resource';\n\nconst propTypes = {\n schema: PropTypes.object,\n setCurrentResourceElement: PropTypes.func,\n updateResourceElement: PropTypes.func,\n submitResource: PropTypes.func,\n deleteResourceElement: PropTypes.func,\n resourceId: PropTypes.string,\n resourceName: PropTypes.string,\n currentResourceElement: PropTypes.object,\n};\nconst defaultProps = {};\n\nconst typeMaps = {\n string: 'text',\n integer: 'number',\n float: 'number', // TODO: fix\n datetime: 'datetime', // TODO: fix\n};\n\nclass ResourceForm extends React.Component {\n constructor() {\n super();\n this.handleInputChange = this.handleInputChange.bind(this);\n this.handleSubmit = this.handleSubmit.bind(this);\n this.handleDialogClose = this.handleDialogClose.bind(this);\n this.handleDialogOpen = this.handleDialogOpen.bind(this);\n this.handleDeleteConfirmClick = this.handleDeleteConfirmClick.bind(this);\n this.state = { data: null, isDialogOpen: false };\n }\n\n handleInputChange(evt) {\n const { name, value } = evt.target;\n this.props.setCurrentResourceElement({ [name]: value });\n }\n\n handleSubmit(evt) {\n evt.preventDefault();\n if (this.props.resourceId !== 'new') {\n this.props.updateResourceElement({\n resourceName: this.props.resourceName,\n resourceData: this.props.currentResourceElement,\n resourceId: this.props.resourceId,\n });\n } else {\n this.props.submitResource({\n resourceName: this.props.resourceName,\n resourceData: this.props.currentResourceElement,\n });\n }\n }\n\n handleDialogClose() {\n this.setState({ isDialogOpen: false });\n }\n\n handleDialogOpen() {\n this.setState({ isDialogOpen: true });\n }\n\n handleDeleteConfirmClick() {\n this.props.deleteResourceElement({\n resourceName: this.props.resourceName,\n resourceId: this.props.resourceId,\n });\n }\n\n render() {\n const data = this.props.currentResourceElement;\n const errors = this.props.errors;\n const resourceSchema =\n this.props.schema &&\n this.props.schema.spec.paths[`/${this.props.resourceName}/`].post\n .requestBody.content['application/json'].schema;\n const requiredFields = resourceSchema && resourceSchema.required;\n return resourceSchema ? (\n
\n \n \n {Object.entries(resourceSchema.properties).map(field => (\n \n ))}\n {this.props.resourceId !== 'new' && (\n \n Delete\n \n )}\n\n \n Save\n \n \n Confirm\n \n \n Are you sure you want to delete this item?\n \n \n \n \n Yes, Delete.\n \n \n \n \n \n \n
\n ) : (\n
\n \n
\n );\n }\n}\n\nResourceForm.propTypes = propTypes;\nResourceForm.defaultProps = defaultProps;\n\nconst mapStateToProps = state => ({\n resources: state.resource.entities,\n schema: state.metadata.client,\n currentResourceElement: state.resource.currentResourceElement,\n errors: state.resource.errors,\n});\n\nconst mapDispatchToProps = {\n submitResource: submitResourceRequest,\n setCurrentResourceElement,\n updateResourceElement: updateResourceElementRequest,\n deleteResourceElement: deleteResourceElementRequest,\n};\n\nexport default connect(\n mapStateToProps,\n mapDispatchToProps\n)(ResourceForm);\n","import ResourceForm from './ResourceForm';\n\nexport default ResourceForm;\n","import React from 'react';\nimport PropTypes from 'prop-types';\nimport { IconButton } from '@material-ui/core';\nimport { KeyboardArrowLeft, KeyboardArrowRight } from '@material-ui/icons/';\n\nimport FirstPageIcon from '@material-ui/icons/FirstPage';\nimport LastPageIcon from '@material-ui/icons/LastPage';\n\nconst propTypes = {\n onChangePage: PropTypes.func,\n rowsPerPage: PropTypes.number,\n count: PropTypes.number,\n page: PropTypes.number,\n};\n\nclass TablePaginationActions extends React.Component {\n constructor() {\n super();\n this.handleBackButtonClick = this.handleBackButtonClick.bind(this);\n this.handleFirstPageButtonClick = this.handleFirstPageButtonClick.bind(\n this\n );\n this.handleNextButtonClick = this.handleNextButtonClick.bind(this);\n this.handleLastPageButtonClick = this.handleLastPageButtonClick.bind(this);\n }\n handleFirstPageButtonClick(event) {\n this.props.onChangePage(event, 0);\n }\n\n handleBackButtonClick(event) {\n this.props.onChangePage(event, this.props.page - 1);\n }\n\n handleNextButtonClick(event) {\n this.props.onChangePage(event, this.props.page + 1);\n }\n\n handleLastPageButtonClick(event) {\n this.props.onChangePage(\n event,\n Math.max(0, Math.ceil(this.props.count / this.props.rowsPerPage) - 1)\n );\n }\n\n render() {\n const { count, page, rowsPerPage } = this.props;\n return (\n
\n \n \n \n \n \n \n = Math.ceil(count / rowsPerPage) - 1}\n aria-label=\"Next Page\"\n >\n \n \n = Math.ceil(count / rowsPerPage) - 1}\n aria-label=\"Last Page\"\n >\n \n \n
\n );\n }\n}\n\nTablePaginationActions.propTypes = propTypes;\n\nexport default TablePaginationActions;\n","import TablePaginationActions from './TablePaginationActions';\n\nexport default TablePaginationActions;\n","import { combineReducers } from 'redux';\n\nimport metadata from './metadata';\nimport resource from './resource';\n\nexport default combineReducers({\n metadata,\n resource,\n});\n","import { createAction, handleActions } from 'redux-actions';\n\nexport const FETCH_METADATA_REQUEST = 'metadata/fetch/REQUEST';\nexport const FETCH_METADATA_SUCCESS = 'metadata/fetch/SUCCESS';\nexport const FETCH_METADATA_FAILURE = 'metadata/fetch/FAILURE';\n\nexport const fetchMetadataRequest = createAction(FETCH_METADATA_REQUEST);\nexport const fetchMetadataSuccess = createAction(FETCH_METADATA_SUCCESS);\nexport const fetchMetadataFailure = createAction(FETCH_METADATA_FAILURE);\n\nconst initialState = {\n resources: null,\n schema: null,\n client: null,\n};\n\nexport default handleActions(\n {\n [FETCH_METADATA_SUCCESS]: (state, { payload }) => ({\n ...state,\n resources: payload.resources,\n schema: payload.schema,\n client: payload.client,\n }),\n [FETCH_METADATA_FAILURE]: (state, { payload }) => ({\n ...state,\n error: payload,\n }),\n },\n initialState\n);\n","import { createAction, handleActions } from 'redux-actions';\n\nexport const FETCH_RESOURCE_ENTITIES_REQUEST =\n 'resource/entities/fetch/REQUEST';\nexport const FETCH_RESOURCE_ENTITIES_SUCCESS =\n 'resource/entities/fetch/SUCCESS';\nexport const FETCH_RESOURCE_ENTITIES_FAILURE =\n 'resource/entities/fetch/FAILURE';\n\nexport const FETCH_CURRENT_RESOURCE_REQUEST =\n 'resource/current-resource/REQUEST';\nexport const FETCH_CURRENT_RESOURCE_SUCCESS =\n 'resource/current-resource/SUCCESS';\nexport const FETCH_CURRENT_RESOURCE_FAILURE =\n 'resource/current-resource/FAILURE';\n\nexport const SUBMIT_RESOURCE_REQUEST = 'resource/submit/REQUEST';\nexport const SUBMIT_RESOURCE_SUCCESS = 'resource/submit/SUCCESS';\nexport const SUBMIT_RESOURCE_FAILURE = 'resource/submit/FAILURE';\n\nexport const UPDATE_RESOURCE_ELEMENT_REQUEST = 'resource/update/REQUEST';\nexport const UPDATE_RESOURCE_ELEMENT_SUCCESS = 'resource/update/SUCCESS';\nexport const UPDATE_RESOURCE_ELEMENT_FAILURE = 'resource/update/FAILURE';\n\nexport const SET_CURRENT_RESOURCE_ELEMENT = 'resource/current-resource/SET';\n\nexport const DELETE_RESOURCE_ELEMENT_REQUEST = 'resource/delete/REQUEST';\n\nexport const fetchResourceEntitiesRequest = createAction(\n FETCH_RESOURCE_ENTITIES_REQUEST\n);\nexport const fetchResourceEntitiesSuccess = createAction(\n FETCH_RESOURCE_ENTITIES_SUCCESS\n);\nexport const fetchCurrentResourceRequest = createAction(\n FETCH_CURRENT_RESOURCE_REQUEST\n);\nexport const fetchCurrentResourceSuccess = createAction(\n FETCH_CURRENT_RESOURCE_SUCCESS\n);\n\nexport const submitResourceRequest = createAction(SUBMIT_RESOURCE_REQUEST);\nexport const submitResourceSuccess = createAction(SUBMIT_RESOURCE_SUCCESS);\nexport const submitResourceFailure = createAction(SUBMIT_RESOURCE_FAILURE);\nexport const updateResourceElementRequest = createAction(\n UPDATE_RESOURCE_ELEMENT_REQUEST\n);\nexport const updateResourceElementSuccess = createAction(\n UPDATE_RESOURCE_ELEMENT_SUCCESS\n);\nexport const updateResourceElementFailure = createAction(\n UPDATE_RESOURCE_ELEMENT_FAILURE\n);\nexport const setCurrentResourceElement = createAction(\n SET_CURRENT_RESOURCE_ELEMENT\n);\n\nexport const deleteResourceElementRequest = createAction(\n DELETE_RESOURCE_ELEMENT_REQUEST\n);\n\nconst initialState = {\n entities: null,\n currentResourceElement: null,\n rowsPerPage: null,\n totalCount: null,\n currentPage: null,\n errors: null,\n};\n\nexport default handleActions(\n {\n [FETCH_RESOURCE_ENTITIES_SUCCESS]: (state, { payload }) => ({\n ...state,\n entities: payload.resources.data,\n currentResourceElement: null,\n rowsPerPage: payload.resources.meta.page_size,\n currentPage: payload.resources.meta.page,\n totalCount: payload.resources.meta.count,\n }),\n [FETCH_CURRENT_RESOURCE_SUCCESS]: (state, { payload }) => ({\n ...state,\n currentResourceElement: payload,\n }),\n [SUBMIT_RESOURCE_SUCCESS]: (state, { payload }) => ({\n ...state,\n entities: [...state.entities, payload],\n }),\n [SUBMIT_RESOURCE_FAILURE]: (state, { payload }) => ({\n ...state,\n errors: payload,\n }),\n [SET_CURRENT_RESOURCE_ELEMENT]: (state, { payload }) => ({\n ...state,\n currentResourceElement: { ...state.currentResourceElement, ...payload },\n }),\n },\n initialState\n);\n","import React from 'react';\nimport ReactDOM from 'react-dom';\nimport App from './AppContainer';\nimport './index.css';\n\nimport createHistory from 'history/createBrowserHistory';\n\nimport { Provider } from 'react-redux';\nimport { createStore, applyMiddleware, compose } from 'redux';\nimport { connectRouter, routerMiddleware } from 'connected-react-router';\n\nimport createSagaMiddleware from 'redux-saga';\n\nimport reducers from './ducks';\nimport sagas from './sagas';\n\nimport injectTapEventPlugin from 'react-tap-event-plugin';\nimport { createMuiTheme, MuiThemeProvider } from '@material-ui/core/styles/';\n\nconst muiTheme = createMuiTheme({\n palette: {\n primary: { main: '#31CACC', contrastText: '#fff' },\n },\n});\n\nexport const history = createHistory();\nconst sagaMiddleware = createSagaMiddleware();\n\nlet composeEnhancers = compose;\n\nif (process.env.NODE_ENV === 'development') {\n const composeWithDevToolsExtension =\n window.__REDUX_DEVTOOLS_EXTENSION_COMPOSE__;\n if (typeof composeWithDevToolsExtension === 'function') {\n composeEnhancers = composeWithDevToolsExtension;\n }\n}\n\nconst store = createStore(\n connectRouter(history)(reducers),\n composeEnhancers(applyMiddleware(routerMiddleware(history), sagaMiddleware))\n);\n\nsagaMiddleware.run(sagas);\n\ninjectTapEventPlugin();\n\nReactDOM.render(\n \n \n \n \n ,\n document.getElementById('root')\n);\n","import React from 'react';\nimport { connect } from 'react-redux';\nimport { Link } from 'react-router-dom';\nimport PropTypes from 'prop-types';\nimport { Icon, Grid, Button } from '@material-ui/core';\n\nimport { REL_PATH } from '../api';\nimport ResourceForm from '../components/ResourceForm';\nimport { fetchCurrentResourceRequest } from '../ducks/resource';\n\nconst propTypes = {\n metadata: PropTypes.shape({\n resources: PropTypes.object,\n client: PropTypes.object,\n schema: PropTypes.string,\n }),\n match: PropTypes.object,\n fetchResource: PropTypes.func.isRequired,\n};\n\nclass DetailPage extends React.Component {\n componentDidMount() {\n if (this.props.match.params.id !== 'new') {\n this.props.fetchResource({\n resourceName: this.props.match.params.resource,\n resourceId: this.props.match.params.id,\n });\n }\n }\n\n render() {\n const resourceName = this.props.match.params.resource;\n const resourceId = this.props.match.params.id;\n\n return (\n \n \n (\n \n )}\n >\n arrow_back\n  Back\n \n \n \n \n );\n }\n}\n\nDetailPage.propTypes = propTypes;\n\nconst mapStateToProps = state => ({\n metadata: state.metadata,\n});\n\nconst mapDispatchToProps = {\n fetchResource: fetchCurrentResourceRequest,\n};\n\nexport default connect(\n mapStateToProps,\n mapDispatchToProps\n)(DetailPage);\n","import React from 'react';\nimport PropTypes from 'prop-types';\n\nconst propTypes = {};\nconst defaultProps = {};\n\nconst ErrorPage = props =>
404 Not found
;\n\nErrorPage.propTypes = propTypes;\nErrorPage.defaultProps = defaultProps;\n\nexport default ErrorPage;\n","import React from 'react';\nimport { connect } from 'react-redux';\nimport { Link } from 'react-router-dom';\nimport PropTypes from 'prop-types';\n\nimport {\n Typography,\n Grid,\n Paper,\n List,\n ListItem,\n ListItemText,\n} from '@material-ui/core';\n\nconst propTypes = {\n metadata: PropTypes.shape({\n resources: PropTypes.object,\n schema: PropTypes.string,\n client: PropTypes.object,\n }),\n};\n\nclass HomePage extends React.Component {\n render() {\n const { resources } = this.props.metadata;\n return (\n resources && (\n \n \n \n \n Resources\n \n \n {Object.entries(resources).map(resource => (\n (\n \n )}\n >\n \n \n ))}\n \n \n \n \n )\n );\n }\n}\n\nHomePage.propTypes = propTypes;\n\nconst mapStateToProps = state => ({\n metadata: state.metadata,\n});\n\nexport default connect(mapStateToProps)(HomePage);\n","import React, { Fragment } from 'react';\nimport PropTypes from 'prop-types';\nimport { connect } from 'react-redux';\nimport { findKey } from 'lodash';\nimport {\n Paper,\n Table,\n TableBody,\n TableCell,\n TableHead,\n TableRow,\n TableFooter,\n TablePagination,\n Button,\n Typography,\n Icon,\n CircularProgress,\n Grid,\n} from '@material-ui/core';\nimport { Link } from 'react-router-dom';\n\nimport { REL_PATH } from '../api';\nimport TablePaginationActions from '../components/TablePaginationActions';\nimport { fetchResourceEntitiesRequest } from '../ducks/resource';\n\nconst propTypes = {\n match: PropTypes.object,\n fetchResources: PropTypes.func,\n schema: PropTypes.PropTypes.object,\n resources: PropTypes.arrayOf(PropTypes.object),\n rowsPerPage: PropTypes.number,\n currentPage: PropTypes.number,\n};\n\nconst DEFAULT_PAGE_SIZE = 10;\n\nclass ListPage extends React.Component {\n constructor() {\n super();\n this.handleChangePage = this.handleChangePage.bind(this);\n }\n componentDidMount() {\n this.props.fetchResources({\n resourceName: this.props.match.params.resource,\n query: {\n page_size: DEFAULT_PAGE_SIZE,\n page: 1,\n },\n });\n }\n\n handleChangePage(evt, page) {\n // Mui has some weird default pagination behaviour on cDU\n if (evt) {\n this.props.fetchResources({\n resourceName: this.props.match.params.resource,\n query: {\n page: page + 1, // TablePagination starts at 0;\n page_size: DEFAULT_PAGE_SIZE,\n },\n });\n }\n }\n\n render() {\n const { resource } = this.props.match.params;\n const resourceSchema =\n this.props.schema &&\n this.props.schema.spec.paths[`/${resource}/`].post.requestBody.content[\n 'application/json'\n ].schema;\n return (\n resourceSchema && (\n \n \n \n \n {findKey(\n this.props.resourceList,\n resource => resource === resource\n )}\n \n\n }\n variant=\"contained\"\n color=\"primary\"\n className=\"ButtonNew\"\n >\n Create New\n \n {this.props.resources ? (\n \n
\n \n \n \n Edit\n {Object.values(resourceSchema.properties).map(\n field => (\n \n {field.description}\n \n )\n )}\n \n \n \n {this.props.resources.map(item => (\n \n \n \n edit\n \n \n {Object.values(resourceSchema.properties).map(\n field => (\n \n {item[field.title]}\n \n )\n )}\n \n ))}\n \n \n \n \n
\n
\n \n
\n ) : (\n
\n \n
\n )}\n
\n
\n
\n )\n );\n }\n}\n\nListPage.propTypes = propTypes;\n\nconst mapStateToProps = state => ({\n rowsPerPage: state.resource.rowsPerPage,\n currentPage: state.resource.currentPage,\n totalCount: state.resource.totalCount,\n resources: state.resource.entities,\n schema: state.metadata.client,\n resourceList: state.metadata.resources,\n});\n\nconst mapDispatchToProps = {\n fetchResources: fetchResourceEntitiesRequest,\n};\nexport default connect(\n mapStateToProps,\n mapDispatchToProps\n)(ListPage);\n","import React, { Component } from 'react';\nimport { Route, Switch } from 'react-router-dom';\nimport { ConnectedRouter } from 'react-router-redux';\nimport Header from '../components/Header';\nimport HomePage from './HomePage';\nimport ListPage from './ListPage';\nimport DetailPage from './DetailPage';\nimport ErrorPage from './ErrorPage';\n\nimport { REL_PATH } from '../api';\n\nimport { history } from '../index.js';\nexport default class Routes extends Component {\n render() {\n return (\n \n
\n
\n \n \n \n \n \n \n \n
\n
\n );\n }\n}\n","import { all } from 'redux-saga/effects';\n\nimport watchMetadata from './metadata';\nimport watchResource from './resource';\nexport default function* root() {\n yield all([watchMetadata(), watchResource()]);\n}\n","import { call, put, takeLatest } from 'redux-saga/effects';\n\nimport {\n FETCH_METADATA_REQUEST,\n fetchMetadataSuccess,\n} from '../ducks/metadata';\nimport Api from '../api';\n\nfunction* fetchMetadata() {\n try {\n const metadata = yield call(Api.fetchMetadata);\n const client = yield call(Api.fetchSwaggerSchema, metadata.schema);\n yield put(\n fetchMetadataSuccess({\n ...metadata,\n client,\n })\n );\n } catch (error) {\n throw Error(error);\n }\n}\n\nexport default function* watchMetadata() {\n yield takeLatest(FETCH_METADATA_REQUEST, fetchMetadata);\n}\n","import { call, put, select, takeLatest } from 'redux-saga/effects';\nimport { selectClient } from '../selectors/schema';\nimport { push } from 'react-router-redux';\n\nimport { REL_PATH } from '../api';\nimport {\n FETCH_RESOURCE_ENTITIES_REQUEST,\n FETCH_CURRENT_RESOURCE_REQUEST,\n SUBMIT_RESOURCE_REQUEST,\n UPDATE_RESOURCE_ELEMENT_REQUEST,\n DELETE_RESOURCE_ELEMENT_REQUEST,\n fetchResourceEntitiesSuccess,\n fetchCurrentResourceSuccess,\n submitResourceSuccess,\n updateResourceElementSuccess,\n submitResourceFailure,\n} from '../ducks/resource';\nimport Api from '../api';\n\nfunction* fetchResource({ payload }) {\n try {\n let client = yield select(selectClient);\n if (!client) {\n const metadata = yield call(Api.fetchMetadata);\n const { schema } = metadata;\n client = yield call(Api.fetchSwaggerSchema, schema);\n }\n const resources = yield call(Api.fetchResource, payload, client);\n yield put(fetchResourceEntitiesSuccess({ resources }));\n } catch (error) {\n yield put(push('/not-found'));\n }\n}\n\nfunction* submitResource({ payload }) {\n try {\n const client = yield select(selectClient);\n const response = yield call(Api.submitResource, payload, client);\n yield put(submitResourceSuccess(response));\n yield put(push(`${REL_PATH}${payload.resourceName}/`));\n } catch (error) {\n const errors = JSON.parse(error.message);\n yield put(submitResourceFailure(errors));\n }\n}\n\nfunction* updateResourceElement({ payload }) {\n try {\n const client = yield select(selectClient);\n const response = yield call(Api.updateResourceElement, payload, client);\n yield put(updateResourceElementSuccess(response));\n yield put(push(`${REL_PATH}${payload.resourceName}/`));\n } catch (error) {}\n}\n\nfunction* fetchResourceElement({ payload }) {\n try {\n let client = yield select(selectClient);\n if (!client) {\n const metadata = yield call(Api.fetchMetadata);\n const { schema } = metadata;\n client = yield call(Api.fetchSwaggerSchema, schema);\n }\n const resource = yield call(Api.fetchResourceElement, payload, client);\n yield put(fetchCurrentResourceSuccess(resource));\n } catch (error) {\n yield put(push('/not-found'));\n }\n}\n\nfunction* deleteResourceElement({ payload }) {\n try {\n let client = yield select(selectClient);\n if (!client) {\n const metadata = yield call(Api.fetchMetadata);\n const { schema } = metadata;\n client = yield call(Api.fetchSwaggerSchema, schema);\n }\n yield call(Api.deleteResourceElement, payload, client);\n yield put(push(`${REL_PATH}${payload.resourceName}/`));\n } catch (error) {}\n}\n\nexport default function* watchResource() {\n yield takeLatest(FETCH_RESOURCE_ENTITIES_REQUEST, fetchResource);\n yield takeLatest(SUBMIT_RESOURCE_REQUEST, submitResource);\n yield takeLatest(FETCH_CURRENT_RESOURCE_REQUEST, fetchResourceElement);\n yield takeLatest(UPDATE_RESOURCE_ELEMENT_REQUEST, updateResourceElement);\n yield takeLatest(DELETE_RESOURCE_ELEMENT_REQUEST, deleteResourceElement);\n}\n","export const selectSchemaUrl = state => state.metadata.schema;\nexport const selectClient = state => state.metadata.client;\n"],"sourceRoot":""}PK!^דpp$apistar_crud/static/runtime~index.js/******/ (function(modules) { // webpackBootstrap /******/ // install a JSONP callback for chunk loading /******/ function webpackJsonpCallback(data) { /******/ var chunkIds = data[0]; /******/ var moreModules = data[1]; /******/ var executeModules = data[2]; /******/ /******/ // add "moreModules" to the modules object, /******/ // then flag all "chunkIds" as loaded and fire callback /******/ var moduleId, chunkId, i = 0, resolves = []; /******/ for(;i < chunkIds.length; i++) { /******/ chunkId = chunkIds[i]; /******/ if(installedChunks[chunkId]) { /******/ resolves.push(installedChunks[chunkId][0]); /******/ } /******/ installedChunks[chunkId] = 0; /******/ } /******/ for(moduleId in moreModules) { /******/ if(Object.prototype.hasOwnProperty.call(moreModules, moduleId)) { /******/ modules[moduleId] = moreModules[moduleId]; /******/ } /******/ } /******/ if(parentJsonpFunction) parentJsonpFunction(data); /******/ /******/ while(resolves.length) { /******/ resolves.shift()(); /******/ } /******/ /******/ // add entry modules from loaded chunk to deferred list /******/ deferredModules.push.apply(deferredModules, executeModules || []); /******/ /******/ // run deferred modules when all chunks ready /******/ return checkDeferredModules(); /******/ }; /******/ function checkDeferredModules() { /******/ var result; /******/ for(var i = 0; i < deferredModules.length; i++) { /******/ var deferredModule = deferredModules[i]; /******/ var fulfilled = true; /******/ for(var j = 1; j < deferredModule.length; j++) { /******/ var depId = deferredModule[j]; /******/ if(installedChunks[depId] !== 0) fulfilled = false; /******/ } /******/ if(fulfilled) { /******/ deferredModules.splice(i--, 1); /******/ result = __webpack_require__(__webpack_require__.s = deferredModule[0]); /******/ } /******/ } /******/ return result; /******/ } /******/ /******/ // The module cache /******/ var installedModules = {}; /******/ /******/ // object to store loaded and loading chunks /******/ // undefined = chunk not loaded, null = chunk preloaded/prefetched /******/ // Promise = chunk loading, 0 = chunk loaded /******/ var installedChunks = { /******/ "runtime~index": 0 /******/ }; /******/ /******/ var deferredModules = []; /******/ /******/ // 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, { enumerable: true, get: getter }); /******/ } /******/ }; /******/ /******/ // define __esModule on exports /******/ __webpack_require__.r = function(exports) { /******/ if(typeof Symbol !== 'undefined' && Symbol.toStringTag) { /******/ Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' }); /******/ } /******/ Object.defineProperty(exports, '__esModule', { value: true }); /******/ }; /******/ /******/ // create a fake namespace object /******/ // mode & 1: value is a module id, require it /******/ // mode & 2: merge all properties of value into the ns /******/ // mode & 4: return value when already ns object /******/ // mode & 8|1: behave like require /******/ __webpack_require__.t = function(value, mode) { /******/ if(mode & 1) value = __webpack_require__(value); /******/ if(mode & 8) return value; /******/ if((mode & 4) && typeof value === 'object' && value && value.__esModule) return value; /******/ var ns = Object.create(null); /******/ __webpack_require__.r(ns); /******/ Object.defineProperty(ns, 'default', { enumerable: true, value: value }); /******/ if(mode & 2 && typeof value != 'string') for(var key in value) __webpack_require__.d(ns, key, function(key) { return value[key]; }.bind(null, key)); /******/ return ns; /******/ }; /******/ /******/ // 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 = "apistar_crud/static/"; /******/ /******/ var jsonpArray = window["webpackJsonp"] = window["webpackJsonp"] || []; /******/ var oldJsonpFunction = jsonpArray.push.bind(jsonpArray); /******/ jsonpArray.push = webpackJsonpCallback; /******/ jsonpArray = jsonpArray.slice(); /******/ for(var i = 0; i < jsonpArray.length; i++) webpackJsonpCallback(jsonpArray[i]); /******/ var parentJsonpFunction = oldJsonpFunction; /******/ /******/ /******/ // run deferred modules from other chunks /******/ checkDeferredModules(); /******/ }) /************************************************************************/ /******/ ([]); //# sourceMappingURL=runtime~index.js.mapPK!^דpp$apistar_crud/static/runtime~index.js/******/ (function(modules) { // webpackBootstrap /******/ // install a JSONP callback for chunk loading /******/ function webpackJsonpCallback(data) { /******/ var chunkIds = data[0]; /******/ var moreModules = data[1]; /******/ var executeModules = data[2]; /******/ /******/ // add "moreModules" to the modules object, /******/ // then flag all "chunkIds" as loaded and fire callback /******/ var moduleId, chunkId, i = 0, resolves = []; /******/ for(;i < chunkIds.length; i++) { /******/ chunkId = chunkIds[i]; /******/ if(installedChunks[chunkId]) { /******/ resolves.push(installedChunks[chunkId][0]); /******/ } /******/ installedChunks[chunkId] = 0; /******/ } /******/ for(moduleId in moreModules) { /******/ if(Object.prototype.hasOwnProperty.call(moreModules, moduleId)) { /******/ modules[moduleId] = moreModules[moduleId]; /******/ } /******/ } /******/ if(parentJsonpFunction) parentJsonpFunction(data); /******/ /******/ while(resolves.length) { /******/ resolves.shift()(); /******/ } /******/ /******/ // add entry modules from loaded chunk to deferred list /******/ deferredModules.push.apply(deferredModules, executeModules || []); /******/ /******/ // run deferred modules when all chunks ready /******/ return checkDeferredModules(); /******/ }; /******/ function checkDeferredModules() { /******/ var result; /******/ for(var i = 0; i < deferredModules.length; i++) { /******/ var deferredModule = deferredModules[i]; /******/ var fulfilled = true; /******/ for(var j = 1; j < deferredModule.length; j++) { /******/ var depId = deferredModule[j]; /******/ if(installedChunks[depId] !== 0) fulfilled = false; /******/ } /******/ if(fulfilled) { /******/ deferredModules.splice(i--, 1); /******/ result = __webpack_require__(__webpack_require__.s = deferredModule[0]); /******/ } /******/ } /******/ return result; /******/ } /******/ /******/ // The module cache /******/ var installedModules = {}; /******/ /******/ // object to store loaded and loading chunks /******/ // undefined = chunk not loaded, null = chunk preloaded/prefetched /******/ // Promise = chunk loading, 0 = chunk loaded /******/ var installedChunks = { /******/ "runtime~index": 0 /******/ }; /******/ /******/ var deferredModules = []; /******/ /******/ // 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, { enumerable: true, get: getter }); /******/ } /******/ }; /******/ /******/ // define __esModule on exports /******/ __webpack_require__.r = function(exports) { /******/ if(typeof Symbol !== 'undefined' && Symbol.toStringTag) { /******/ Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' }); /******/ } /******/ Object.defineProperty(exports, '__esModule', { value: true }); /******/ }; /******/ /******/ // create a fake namespace object /******/ // mode & 1: value is a module id, require it /******/ // mode & 2: merge all properties of value into the ns /******/ // mode & 4: return value when already ns object /******/ // mode & 8|1: behave like require /******/ __webpack_require__.t = function(value, mode) { /******/ if(mode & 1) value = __webpack_require__(value); /******/ if(mode & 8) return value; /******/ if((mode & 4) && typeof value === 'object' && value && value.__esModule) return value; /******/ var ns = Object.create(null); /******/ __webpack_require__.r(ns); /******/ Object.defineProperty(ns, 'default', { enumerable: true, value: value }); /******/ if(mode & 2 && typeof value != 'string') for(var key in value) __webpack_require__.d(ns, key, function(key) { return value[key]; }.bind(null, key)); /******/ return ns; /******/ }; /******/ /******/ // 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 = "apistar_crud/static/"; /******/ /******/ var jsonpArray = window["webpackJsonp"] = window["webpackJsonp"] || []; /******/ var oldJsonpFunction = jsonpArray.push.bind(jsonpArray); /******/ jsonpArray.push = webpackJsonpCallback; /******/ jsonpArray = jsonpArray.slice(); /******/ for(var i = 0; i < jsonpArray.length; i++) webpackJsonpCallback(jsonpArray[i]); /******/ var parentJsonpFunction = oldJsonpFunction; /******/ /******/ /******/ // run deferred modules from other chunks /******/ checkDeferredModules(); /******/ }) /************************************************************************/ /******/ ([]); //# sourceMappingURL=runtime~index.js.mapPK! cff(apistar_crud/static/runtime~index.js.map{"version":3,"sources":["webpack:///webpack/bootstrap"],"names":[],"mappings":";AAAA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,gBAAQ,oBAAoB;AAC5B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,yBAAiB,4BAA4B;AAC7C;AACA;AACA,0BAAkB,2BAA2B;AAC7C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;;AAGA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA,kDAA0C,gCAAgC;AAC1E;AACA;;AAEA;AACA;AACA;AACA,gEAAwD,kBAAkB;AAC1E;AACA,yDAAiD,cAAc;AAC/D;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iDAAyC,iCAAiC;AAC1E,wHAAgH,mBAAmB,EAAE;AACrI;AACA;;AAEA;AACA;AACA;AACA,mCAA2B,0BAA0B,EAAE;AACvD,yCAAiC,eAAe;AAChD;AACA;AACA;;AAEA;AACA,8DAAsD,+DAA+D;;AAErH;AACA;;AAEA;AACA;AACA;AACA;AACA,wBAAgB,uBAAuB;AACvC;;;AAGA;AACA","file":"runtime~index.js","sourcesContent":[" \t// install a JSONP callback for chunk loading\n \tfunction webpackJsonpCallback(data) {\n \t\tvar chunkIds = data[0];\n \t\tvar moreModules = data[1];\n \t\tvar executeModules = data[2];\n\n \t\t// add \"moreModules\" to the modules object,\n \t\t// then flag all \"chunkIds\" as loaded and fire callback\n \t\tvar moduleId, chunkId, i = 0, resolves = [];\n \t\tfor(;i < chunkIds.length; i++) {\n \t\t\tchunkId = chunkIds[i];\n \t\t\tif(installedChunks[chunkId]) {\n \t\t\t\tresolves.push(installedChunks[chunkId][0]);\n \t\t\t}\n \t\t\tinstalledChunks[chunkId] = 0;\n \t\t}\n \t\tfor(moduleId in moreModules) {\n \t\t\tif(Object.prototype.hasOwnProperty.call(moreModules, moduleId)) {\n \t\t\t\tmodules[moduleId] = moreModules[moduleId];\n \t\t\t}\n \t\t}\n \t\tif(parentJsonpFunction) parentJsonpFunction(data);\n\n \t\twhile(resolves.length) {\n \t\t\tresolves.shift()();\n \t\t}\n\n \t\t// add entry modules from loaded chunk to deferred list\n \t\tdeferredModules.push.apply(deferredModules, executeModules || []);\n\n \t\t// run deferred modules when all chunks ready\n \t\treturn checkDeferredModules();\n \t};\n \tfunction checkDeferredModules() {\n \t\tvar result;\n \t\tfor(var i = 0; i < deferredModules.length; i++) {\n \t\t\tvar deferredModule = deferredModules[i];\n \t\t\tvar fulfilled = true;\n \t\t\tfor(var j = 1; j < deferredModule.length; j++) {\n \t\t\t\tvar depId = deferredModule[j];\n \t\t\t\tif(installedChunks[depId] !== 0) fulfilled = false;\n \t\t\t}\n \t\t\tif(fulfilled) {\n \t\t\t\tdeferredModules.splice(i--, 1);\n \t\t\t\tresult = __webpack_require__(__webpack_require__.s = deferredModule[0]);\n \t\t\t}\n \t\t}\n \t\treturn result;\n \t}\n\n \t// The module cache\n \tvar installedModules = {};\n\n \t// object to store loaded and loading chunks\n \t// undefined = chunk not loaded, null = chunk preloaded/prefetched\n \t// Promise = chunk loading, 0 = chunk loaded\n \tvar installedChunks = {\n \t\t\"runtime~index\": 0\n \t};\n\n \tvar deferredModules = [];\n\n \t// The require function\n \tfunction __webpack_require__(moduleId) {\n\n \t\t// Check if module is in cache\n \t\tif(installedModules[moduleId]) {\n \t\t\treturn installedModules[moduleId].exports;\n \t\t}\n \t\t// Create a new module (and put it into the cache)\n \t\tvar module = installedModules[moduleId] = {\n \t\t\ti: moduleId,\n \t\t\tl: false,\n \t\t\texports: {}\n \t\t};\n\n \t\t// Execute the module function\n \t\tmodules[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n\n \t\t// Flag the module as loaded\n \t\tmodule.l = true;\n\n \t\t// Return the exports of the module\n \t\treturn module.exports;\n \t}\n\n\n \t// expose the modules object (__webpack_modules__)\n \t__webpack_require__.m = modules;\n\n \t// expose the module cache\n \t__webpack_require__.c = installedModules;\n\n \t// define getter function for harmony exports\n \t__webpack_require__.d = function(exports, name, getter) {\n \t\tif(!__webpack_require__.o(exports, name)) {\n \t\t\tObject.defineProperty(exports, name, { enumerable: true, get: getter });\n \t\t}\n \t};\n\n \t// define __esModule on exports\n \t__webpack_require__.r = function(exports) {\n \t\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n \t\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n \t\t}\n \t\tObject.defineProperty(exports, '__esModule', { value: true });\n \t};\n\n \t// create a fake namespace object\n \t// mode & 1: value is a module id, require it\n \t// mode & 2: merge all properties of value into the ns\n \t// mode & 4: return value when already ns object\n \t// mode & 8|1: behave like require\n \t__webpack_require__.t = function(value, mode) {\n \t\tif(mode & 1) value = __webpack_require__(value);\n \t\tif(mode & 8) return value;\n \t\tif((mode & 4) && typeof value === 'object' && value && value.__esModule) return value;\n \t\tvar ns = Object.create(null);\n \t\t__webpack_require__.r(ns);\n \t\tObject.defineProperty(ns, 'default', { enumerable: true, value: value });\n \t\tif(mode & 2 && typeof value != 'string') for(var key in value) __webpack_require__.d(ns, key, function(key) { return value[key]; }.bind(null, key));\n \t\treturn ns;\n \t};\n\n \t// getDefaultExport function for compatibility with non-harmony modules\n \t__webpack_require__.n = function(module) {\n \t\tvar getter = module && module.__esModule ?\n \t\t\tfunction getDefault() { return module['default']; } :\n \t\t\tfunction getModuleExports() { return module; };\n \t\t__webpack_require__.d(getter, 'a', getter);\n \t\treturn getter;\n \t};\n\n \t// Object.prototype.hasOwnProperty.call\n \t__webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); };\n\n \t// __webpack_public_path__\n \t__webpack_require__.p = \"apistar_crud/static/\";\n\n \tvar jsonpArray = window[\"webpackJsonp\"] = window[\"webpackJsonp\"] || [];\n \tvar oldJsonpFunction = jsonpArray.push.bind(jsonpArray);\n \tjsonpArray.push = webpackJsonpCallback;\n \tjsonpArray = jsonpArray.slice();\n \tfor(var i = 0; i < jsonpArray.length; i++) webpackJsonpCallback(jsonpArray[i]);\n \tvar parentJsonpFunction = oldJsonpFunction;\n\n\n \t// run deferred modules from other chunks\n \tcheckDeferredModules();\n"],"sourceRoot":""}PK! cff(apistar_crud/static/runtime~index.js.map{"version":3,"sources":["webpack:///webpack/bootstrap"],"names":[],"mappings":";AAAA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,gBAAQ,oBAAoB;AAC5B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,yBAAiB,4BAA4B;AAC7C;AACA;AACA,0BAAkB,2BAA2B;AAC7C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;;AAGA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA,kDAA0C,gCAAgC;AAC1E;AACA;;AAEA;AACA;AACA;AACA,gEAAwD,kBAAkB;AAC1E;AACA,yDAAiD,cAAc;AAC/D;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iDAAyC,iCAAiC;AAC1E,wHAAgH,mBAAmB,EAAE;AACrI;AACA;;AAEA;AACA;AACA;AACA,mCAA2B,0BAA0B,EAAE;AACvD,yCAAiC,eAAe;AAChD;AACA;AACA;;AAEA;AACA,8DAAsD,+DAA+D;;AAErH;AACA;;AAEA;AACA;AACA;AACA;AACA,wBAAgB,uBAAuB;AACvC;;;AAGA;AACA","file":"runtime~index.js","sourcesContent":[" \t// install a JSONP callback for chunk loading\n \tfunction webpackJsonpCallback(data) {\n \t\tvar chunkIds = data[0];\n \t\tvar moreModules = data[1];\n \t\tvar executeModules = data[2];\n\n \t\t// add \"moreModules\" to the modules object,\n \t\t// then flag all \"chunkIds\" as loaded and fire callback\n \t\tvar moduleId, chunkId, i = 0, resolves = [];\n \t\tfor(;i < chunkIds.length; i++) {\n \t\t\tchunkId = chunkIds[i];\n \t\t\tif(installedChunks[chunkId]) {\n \t\t\t\tresolves.push(installedChunks[chunkId][0]);\n \t\t\t}\n \t\t\tinstalledChunks[chunkId] = 0;\n \t\t}\n \t\tfor(moduleId in moreModules) {\n \t\t\tif(Object.prototype.hasOwnProperty.call(moreModules, moduleId)) {\n \t\t\t\tmodules[moduleId] = moreModules[moduleId];\n \t\t\t}\n \t\t}\n \t\tif(parentJsonpFunction) parentJsonpFunction(data);\n\n \t\twhile(resolves.length) {\n \t\t\tresolves.shift()();\n \t\t}\n\n \t\t// add entry modules from loaded chunk to deferred list\n \t\tdeferredModules.push.apply(deferredModules, executeModules || []);\n\n \t\t// run deferred modules when all chunks ready\n \t\treturn checkDeferredModules();\n \t};\n \tfunction checkDeferredModules() {\n \t\tvar result;\n \t\tfor(var i = 0; i < deferredModules.length; i++) {\n \t\t\tvar deferredModule = deferredModules[i];\n \t\t\tvar fulfilled = true;\n \t\t\tfor(var j = 1; j < deferredModule.length; j++) {\n \t\t\t\tvar depId = deferredModule[j];\n \t\t\t\tif(installedChunks[depId] !== 0) fulfilled = false;\n \t\t\t}\n \t\t\tif(fulfilled) {\n \t\t\t\tdeferredModules.splice(i--, 1);\n \t\t\t\tresult = __webpack_require__(__webpack_require__.s = deferredModule[0]);\n \t\t\t}\n \t\t}\n \t\treturn result;\n \t}\n\n \t// The module cache\n \tvar installedModules = {};\n\n \t// object to store loaded and loading chunks\n \t// undefined = chunk not loaded, null = chunk preloaded/prefetched\n \t// Promise = chunk loading, 0 = chunk loaded\n \tvar installedChunks = {\n \t\t\"runtime~index\": 0\n \t};\n\n \tvar deferredModules = [];\n\n \t// The require function\n \tfunction __webpack_require__(moduleId) {\n\n \t\t// Check if module is in cache\n \t\tif(installedModules[moduleId]) {\n \t\t\treturn installedModules[moduleId].exports;\n \t\t}\n \t\t// Create a new module (and put it into the cache)\n \t\tvar module = installedModules[moduleId] = {\n \t\t\ti: moduleId,\n \t\t\tl: false,\n \t\t\texports: {}\n \t\t};\n\n \t\t// Execute the module function\n \t\tmodules[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n\n \t\t// Flag the module as loaded\n \t\tmodule.l = true;\n\n \t\t// Return the exports of the module\n \t\treturn module.exports;\n \t}\n\n\n \t// expose the modules object (__webpack_modules__)\n \t__webpack_require__.m = modules;\n\n \t// expose the module cache\n \t__webpack_require__.c = installedModules;\n\n \t// define getter function for harmony exports\n \t__webpack_require__.d = function(exports, name, getter) {\n \t\tif(!__webpack_require__.o(exports, name)) {\n \t\t\tObject.defineProperty(exports, name, { enumerable: true, get: getter });\n \t\t}\n \t};\n\n \t// define __esModule on exports\n \t__webpack_require__.r = function(exports) {\n \t\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n \t\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n \t\t}\n \t\tObject.defineProperty(exports, '__esModule', { value: true });\n \t};\n\n \t// create a fake namespace object\n \t// mode & 1: value is a module id, require it\n \t// mode & 2: merge all properties of value into the ns\n \t// mode & 4: return value when already ns object\n \t// mode & 8|1: behave like require\n \t__webpack_require__.t = function(value, mode) {\n \t\tif(mode & 1) value = __webpack_require__(value);\n \t\tif(mode & 8) return value;\n \t\tif((mode & 4) && typeof value === 'object' && value && value.__esModule) return value;\n \t\tvar ns = Object.create(null);\n \t\t__webpack_require__.r(ns);\n \t\tObject.defineProperty(ns, 'default', { enumerable: true, value: value });\n \t\tif(mode & 2 && typeof value != 'string') for(var key in value) __webpack_require__.d(ns, key, function(key) { return value[key]; }.bind(null, key));\n \t\treturn ns;\n \t};\n\n \t// getDefaultExport function for compatibility with non-harmony modules\n \t__webpack_require__.n = function(module) {\n \t\tvar getter = module && module.__esModule ?\n \t\t\tfunction getDefault() { return module['default']; } :\n \t\t\tfunction getModuleExports() { return module; };\n \t\t__webpack_require__.d(getter, 'a', getter);\n \t\treturn getter;\n \t};\n\n \t// Object.prototype.hasOwnProperty.call\n \t__webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); };\n\n \t// __webpack_public_path__\n \t__webpack_require__.p = \"apistar_crud/static/\";\n\n \tvar jsonpArray = window[\"webpackJsonp\"] = window[\"webpackJsonp\"] || [];\n \tvar oldJsonpFunction = jsonpArray.push.bind(jsonpArray);\n \tjsonpArray.push = webpackJsonpCallback;\n \tjsonpArray = jsonpArray.slice();\n \tfor(var i = 0; i < jsonpArray.length; i++) webpackJsonpCallback(jsonpArray[i]);\n \tvar parentJsonpFunction = oldJsonpFunction;\n\n\n \t// run deferred modules from other chunks\n \tcheckDeferredModules();\n"],"sourceRoot":""}PK!;LE$apistar_crud/static/styles.react.cssbody { background-color: #FAFAFA; } .MainContainer { padding-top: 25px; padding-right: 15px; padding-left: 15px; margin-right: auto; margin-left: auto; } @media (min-width: 768px) { .MainContainer { width: 750px; } } @media (min-width: 992px) { .MainContainer { width: 970px; } } @media (min-width: 1200px) { .MainContainer { width: 1170px; } } .HeaderLink { color: #fff; text-decoration: none; } .TableContainer { overflow-x: scroll; } .TableContainer td a { color: #31CACC; } .TableTitle { display: inline-block !important; } .TableActions { display: flex; } .PanelTitle { padding: 15px 25px; } .ButtonNew { margin-top: 10px !important; margin-right: 10px !important; float: right; } .ButtonSave { margin-top: 20px !important; float: right; } .ButtonDelete { margin-top: 20px !important; } .ButtonBack { padding-left: 0 !important; } .ResourceFormContainer { padding: 15px 25px; } .SpinnerContainer { width: 100%; height: 100%; padding: 25px; display: flex; align-items: center; justify-content: center; } .TablePagination { overflow: auto; } body { margin: 0; padding: 0; font-family: sans-serif; } /*# sourceMappingURL=styles.react.css.map*/PK!;LE$apistar_crud/static/styles.react.cssbody { background-color: #FAFAFA; } .MainContainer { padding-top: 25px; padding-right: 15px; padding-left: 15px; margin-right: auto; margin-left: auto; } @media (min-width: 768px) { .MainContainer { width: 750px; } } @media (min-width: 992px) { .MainContainer { width: 970px; } } @media (min-width: 1200px) { .MainContainer { width: 1170px; } } .HeaderLink { color: #fff; text-decoration: none; } .TableContainer { overflow-x: scroll; } .TableContainer td a { color: #31CACC; } .TableTitle { display: inline-block !important; } .TableActions { display: flex; } .PanelTitle { padding: 15px 25px; } .ButtonNew { margin-top: 10px !important; margin-right: 10px !important; float: right; } .ButtonSave { margin-top: 20px !important; float: right; } .ButtonDelete { margin-top: 20px !important; } .ButtonBack { padding-left: 0 !important; } .ResourceFormContainer { padding: 15px 25px; } .SpinnerContainer { width: 100%; height: 100%; padding: 25px; display: flex; align-items: center; justify-content: center; } .TablePagination { overflow: auto; } body { margin: 0; padding: 0; font-family: sans-serif; } /*# sourceMappingURL=styles.react.css.map*/PK!WW(apistar_crud/static/styles.react.css.map{"version":3,"sources":["webpack:///./admin/App.css","webpack:///./admin/index.css"],"names":[],"mappings":"AAAA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA,8B;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,C;ACtFA;AACA;AACA;AACA;AACA","file":"styles.react.css","sourcesContent":["body {\n background-color: #FAFAFA;\n}\n\n.MainContainer {\n padding-top: 25px;\n padding-right: 15px;\n padding-left: 15px;\n margin-right: auto;\n margin-left: auto;\n}\n@media (min-width: 768px) {\n .MainContainer {\n width: 750px;\n }\n}\n@media (min-width: 992px) {\n .MainContainer {\n width: 970px;\n }\n}\n@media (min-width: 1200px) {\n .MainContainer {\n width: 1170px;\n }\n}\n\n.HeaderLink {\n color: #fff;\n text-decoration: none;\n}\n\n.TableContainer {\n overflow-x: scroll;\n}\n\n.TableContainer td a {\n color: #31CACC;\n}\n\n.TableTitle {\n display: inline-block !important;\n}\n\n.TableActions {\n display: flex;\n}\n\n.PanelTitle {\n padding: 15px 25px;\n}\n\n.ButtonNew {\n margin-top: 10px !important;\n margin-right: 10px !important;\n float: right;\n}\n\n.ButtonSave {\n margin-top: 20px !important;\n float: right;\n}\n\n.ButtonDelete {\n margin-top: 20px !important; \n}\n\n.ButtonBack {\n padding-left: 0 !important;\n}\n\n.ResourceFormContainer {\n padding: 15px 25px;\n}\n\n.SpinnerContainer {\n width: 100%;\n height: 100%;\n padding: 25px;\n display: flex;\n align-items: center;\n justify-content: center;\n}\n\n.TablePagination {\n overflow: auto;\n}","body {\n margin: 0;\n padding: 0;\n font-family: sans-serif;\n}\n"],"sourceRoot":""}PK!WW(apistar_crud/static/styles.react.css.map{"version":3,"sources":["webpack:///./admin/App.css","webpack:///./admin/index.css"],"names":[],"mappings":"AAAA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA,8B;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,C;ACtFA;AACA;AACA;AACA;AACA","file":"styles.react.css","sourcesContent":["body {\n background-color: #FAFAFA;\n}\n\n.MainContainer {\n padding-top: 25px;\n padding-right: 15px;\n padding-left: 15px;\n margin-right: auto;\n margin-left: auto;\n}\n@media (min-width: 768px) {\n .MainContainer {\n width: 750px;\n }\n}\n@media (min-width: 992px) {\n .MainContainer {\n width: 970px;\n }\n}\n@media (min-width: 1200px) {\n .MainContainer {\n width: 1170px;\n }\n}\n\n.HeaderLink {\n color: #fff;\n text-decoration: none;\n}\n\n.TableContainer {\n overflow-x: scroll;\n}\n\n.TableContainer td a {\n color: #31CACC;\n}\n\n.TableTitle {\n display: inline-block !important;\n}\n\n.TableActions {\n display: flex;\n}\n\n.PanelTitle {\n padding: 15px 25px;\n}\n\n.ButtonNew {\n margin-top: 10px !important;\n margin-right: 10px !important;\n float: right;\n}\n\n.ButtonSave {\n margin-top: 20px !important;\n float: right;\n}\n\n.ButtonDelete {\n margin-top: 20px !important; \n}\n\n.ButtonBack {\n padding-left: 0 !important;\n}\n\n.ResourceFormContainer {\n padding: 15px 25px;\n}\n\n.SpinnerContainer {\n width: 100%;\n height: 100%;\n padding: 25px;\n display: flex;\n align-items: center;\n justify-content: center;\n}\n\n.TablePagination {\n overflow: auto;\n}","body {\n margin: 0;\n padding: 0;\n font-family: sans-serif;\n}\n"],"sourceRoot":""}PK!HP||#apistar_crud/static/styles.react.js(window["webpackJsonp"] = window["webpackJsonp"] || []).push([["styles.react"],{ /***/ "./admin/App.css": /*!***********************!*\ !*** ./admin/App.css ***! \***********************/ /*! no static exports found */ /***/ (function(module, exports, __webpack_require__) { // extracted by mini-css-extract-plugin /***/ }), /***/ "./admin/index.css": /*!*************************!*\ !*** ./admin/index.css ***! \*************************/ /*! no static exports found */ /***/ (function(module, exports, __webpack_require__) { // extracted by mini-css-extract-plugin /***/ }) }]); //# sourceMappingURL=styles.react.js.mapPK!HP||#apistar_crud/static/styles.react.js(window["webpackJsonp"] = window["webpackJsonp"] || []).push([["styles.react"],{ /***/ "./admin/App.css": /*!***********************!*\ !*** ./admin/App.css ***! \***********************/ /*! no static exports found */ /***/ (function(module, exports, __webpack_require__) { // extracted by mini-css-extract-plugin /***/ }), /***/ "./admin/index.css": /*!*************************!*\ !*** ./admin/index.css ***! \*************************/ /*! no static exports found */ /***/ (function(module, exports, __webpack_require__) { // extracted by mini-css-extract-plugin /***/ }) }]); //# sourceMappingURL=styles.react.js.mapPK!"**'apistar_crud/static/styles.react.js.map{"version":3,"sources":["webpack:///./admin/App.css?bb11","webpack:///./admin/index.css?037c"],"names":[],"mappings":";;;;;;;;;AAAA,uC;;;;;;;;;;;ACAA,uC","file":"styles.react.js","sourcesContent":["// extracted by mini-css-extract-plugin","// extracted by mini-css-extract-plugin"],"sourceRoot":""}PK!"**'apistar_crud/static/styles.react.js.map{"version":3,"sources":["webpack:///./admin/App.css?bb11","webpack:///./admin/index.css?037c"],"names":[],"mappings":";;;;;;;;;AAAA,uC;;;;;;;;;;;ACAA,uC","file":"styles.react.js","sourcesContent":["// extracted by mini-css-extract-plugin","// extracted by mini-css-extract-plugin"],"sourceRoot":""}PK!ls`Xs`X$apistar_crud/static/vendors~index.js(window["webpackJsonp"] = window["webpackJsonp"] || []).push([["vendors~index"],{ /***/ "./node_modules/@babel/runtime/helpers/builtin/arrayWithoutHoles.js": /*!**************************************************************************!*\ !*** ./node_modules/@babel/runtime/helpers/builtin/arrayWithoutHoles.js ***! \**************************************************************************/ /*! no static exports found */ /***/ (function(module, exports) { function _arrayWithoutHoles(arr) { if (Array.isArray(arr)) { for (var i = 0, arr2 = new Array(arr.length); i < arr.length; i++) { arr2[i] = arr[i]; } return arr2; } } module.exports = _arrayWithoutHoles; /***/ }), /***/ "./node_modules/@babel/runtime/helpers/builtin/assertThisInitialized.js": /*!******************************************************************************!*\ !*** ./node_modules/@babel/runtime/helpers/builtin/assertThisInitialized.js ***! \******************************************************************************/ /*! no static exports found */ /***/ (function(module, exports) { function _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return self; } module.exports = _assertThisInitialized; /***/ }), /***/ "./node_modules/@babel/runtime/helpers/builtin/classCallCheck.js": /*!***********************************************************************!*\ !*** ./node_modules/@babel/runtime/helpers/builtin/classCallCheck.js ***! \***********************************************************************/ /*! no static exports found */ /***/ (function(module, exports) { function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } } module.exports = _classCallCheck; /***/ }), /***/ "./node_modules/@babel/runtime/helpers/builtin/createClass.js": /*!********************************************************************!*\ !*** ./node_modules/@babel/runtime/helpers/builtin/createClass.js ***! \********************************************************************/ /*! no static exports found */ /***/ (function(module, exports) { 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); } } function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; } module.exports = _createClass; /***/ }), /***/ "./node_modules/@babel/runtime/helpers/builtin/defineProperty.js": /*!***********************************************************************!*\ !*** ./node_modules/@babel/runtime/helpers/builtin/defineProperty.js ***! \***********************************************************************/ /*! no static exports found */ /***/ (function(module, exports) { function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; } module.exports = _defineProperty; /***/ }), /***/ "./node_modules/@babel/runtime/helpers/builtin/extends.js": /*!****************************************************************!*\ !*** ./node_modules/@babel/runtime/helpers/builtin/extends.js ***! \****************************************************************/ /*! no static exports found */ /***/ (function(module, exports) { function _extends() { module.exports = _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; }; return _extends.apply(this, arguments); } module.exports = _extends; /***/ }), /***/ "./node_modules/@babel/runtime/helpers/builtin/inherits.js": /*!*****************************************************************!*\ !*** ./node_modules/@babel/runtime/helpers/builtin/inherits.js ***! \*****************************************************************/ /*! no static exports found */ /***/ (function(module, exports, __webpack_require__) { var setPrototypeOf = __webpack_require__(/*! ./setPrototypeOf */ "./node_modules/@babel/runtime/helpers/builtin/setPrototypeOf.js"); function _inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); if (superClass) setPrototypeOf(subClass, superClass); } module.exports = _inherits; /***/ }), /***/ "./node_modules/@babel/runtime/helpers/builtin/interopRequireDefault.js": /*!******************************************************************************!*\ !*** ./node_modules/@babel/runtime/helpers/builtin/interopRequireDefault.js ***! \******************************************************************************/ /*! no static exports found */ /***/ (function(module, exports) { function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } module.exports = _interopRequireDefault; /***/ }), /***/ "./node_modules/@babel/runtime/helpers/builtin/interopRequireWildcard.js": /*!*******************************************************************************!*\ !*** ./node_modules/@babel/runtime/helpers/builtin/interopRequireWildcard.js ***! \*******************************************************************************/ /*! no static exports found */ /***/ (function(module, exports) { function _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj; } else { var newObj = {}; if (obj != null) { for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) { var desc = Object.defineProperty && Object.getOwnPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : {}; if (desc.get || desc.set) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } } newObj.default = obj; return newObj; } } module.exports = _interopRequireWildcard; /***/ }), /***/ "./node_modules/@babel/runtime/helpers/builtin/iterableToArray.js": /*!************************************************************************!*\ !*** ./node_modules/@babel/runtime/helpers/builtin/iterableToArray.js ***! \************************************************************************/ /*! no static exports found */ /***/ (function(module, exports) { function _iterableToArray(iter) { if (Symbol.iterator in Object(iter) || Object.prototype.toString.call(iter) === "[object Arguments]") return Array.from(iter); } module.exports = _iterableToArray; /***/ }), /***/ "./node_modules/@babel/runtime/helpers/builtin/nonIterableSpread.js": /*!**************************************************************************!*\ !*** ./node_modules/@babel/runtime/helpers/builtin/nonIterableSpread.js ***! \**************************************************************************/ /*! no static exports found */ /***/ (function(module, exports) { function _nonIterableSpread() { throw new TypeError("Invalid attempt to spread non-iterable instance"); } module.exports = _nonIterableSpread; /***/ }), /***/ "./node_modules/@babel/runtime/helpers/builtin/objectSpread.js": /*!*********************************************************************!*\ !*** ./node_modules/@babel/runtime/helpers/builtin/objectSpread.js ***! \*********************************************************************/ /*! no static exports found */ /***/ (function(module, exports, __webpack_require__) { var defineProperty = __webpack_require__(/*! ./defineProperty */ "./node_modules/@babel/runtime/helpers/builtin/defineProperty.js"); function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; var ownKeys = Object.keys(source); if (typeof Object.getOwnPropertySymbols === 'function') { ownKeys = ownKeys.concat(Object.getOwnPropertySymbols(source).filter(function (sym) { return Object.getOwnPropertyDescriptor(source, sym).enumerable; })); } ownKeys.forEach(function (key) { defineProperty(target, key, source[key]); }); } return target; } module.exports = _objectSpread; /***/ }), /***/ "./node_modules/@babel/runtime/helpers/builtin/objectWithoutProperties.js": /*!********************************************************************************!*\ !*** ./node_modules/@babel/runtime/helpers/builtin/objectWithoutProperties.js ***! \********************************************************************************/ /*! no static exports found */ /***/ (function(module, exports, __webpack_require__) { var objectWithoutPropertiesLoose = __webpack_require__(/*! ./objectWithoutPropertiesLoose */ "./node_modules/@babel/runtime/helpers/builtin/objectWithoutPropertiesLoose.js"); function _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; } module.exports = _objectWithoutProperties; /***/ }), /***/ "./node_modules/@babel/runtime/helpers/builtin/objectWithoutPropertiesLoose.js": /*!*************************************************************************************!*\ !*** ./node_modules/@babel/runtime/helpers/builtin/objectWithoutPropertiesLoose.js ***! \*************************************************************************************/ /*! no static exports found */ /***/ (function(module, exports) { function _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; } module.exports = _objectWithoutPropertiesLoose; /***/ }), /***/ "./node_modules/@babel/runtime/helpers/builtin/possibleConstructorReturn.js": /*!**********************************************************************************!*\ !*** ./node_modules/@babel/runtime/helpers/builtin/possibleConstructorReturn.js ***! \**********************************************************************************/ /*! no static exports found */ /***/ (function(module, exports, __webpack_require__) { var _typeof = __webpack_require__(/*! ../../helpers/builtin/typeof */ "./node_modules/@babel/runtime/helpers/builtin/typeof.js"); var assertThisInitialized = __webpack_require__(/*! ./assertThisInitialized */ "./node_modules/@babel/runtime/helpers/builtin/assertThisInitialized.js"); function _possibleConstructorReturn(self, call) { if (call && (_typeof(call) === "object" || typeof call === "function")) { return call; } return assertThisInitialized(self); } module.exports = _possibleConstructorReturn; /***/ }), /***/ "./node_modules/@babel/runtime/helpers/builtin/setPrototypeOf.js": /*!***********************************************************************!*\ !*** ./node_modules/@babel/runtime/helpers/builtin/setPrototypeOf.js ***! \***********************************************************************/ /*! no static exports found */ /***/ (function(module, exports) { function _setPrototypeOf(o, p) { module.exports = _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); } module.exports = _setPrototypeOf; /***/ }), /***/ "./node_modules/@babel/runtime/helpers/builtin/toConsumableArray.js": /*!**************************************************************************!*\ !*** ./node_modules/@babel/runtime/helpers/builtin/toConsumableArray.js ***! \**************************************************************************/ /*! no static exports found */ /***/ (function(module, exports, __webpack_require__) { var arrayWithoutHoles = __webpack_require__(/*! ./arrayWithoutHoles */ "./node_modules/@babel/runtime/helpers/builtin/arrayWithoutHoles.js"); var iterableToArray = __webpack_require__(/*! ./iterableToArray */ "./node_modules/@babel/runtime/helpers/builtin/iterableToArray.js"); var nonIterableSpread = __webpack_require__(/*! ./nonIterableSpread */ "./node_modules/@babel/runtime/helpers/builtin/nonIterableSpread.js"); function _toConsumableArray(arr) { return arrayWithoutHoles(arr) || iterableToArray(arr) || nonIterableSpread(); } module.exports = _toConsumableArray; /***/ }), /***/ "./node_modules/@babel/runtime/helpers/builtin/typeof.js": /*!***************************************************************!*\ !*** ./node_modules/@babel/runtime/helpers/builtin/typeof.js ***! \***************************************************************/ /*! no static exports found */ /***/ (function(module, exports) { function _typeof2(obj) { if (typeof Symbol === "function" && typeof Symbol.iterator === "symbol") { _typeof2 = function _typeof2(obj) { return typeof obj; }; } else { _typeof2 = function _typeof2(obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }; } return _typeof2(obj); } function _typeof(obj) { if (typeof Symbol === "function" && _typeof2(Symbol.iterator) === "symbol") { module.exports = _typeof = function _typeof(obj) { return _typeof2(obj); }; } else { module.exports = _typeof = function _typeof(obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : _typeof2(obj); }; } return _typeof(obj); } module.exports = _typeof; /***/ }), /***/ "./node_modules/@kyleshockey/object-assign-deep/dist/objectAssignDeep.js": /*!*******************************************************************************!*\ !*** ./node_modules/@kyleshockey/object-assign-deep/dist/objectAssignDeep.js ***! \*******************************************************************************/ /*! no static exports found */ /***/ (function(module, exports, __webpack_require__) { "use strict"; /* * OBJECT ASSIGN DEEP * Allows deep cloning of plain objects that contain primitives, nested plain objects, or nested plain arrays. */ /* * A unified way of returning a string that describes the type of the given variable. */ var _typeof = typeof Symbol === "function" && typeof Symbol.iterator === "symbol" ? function (obj) { return typeof obj; } : function (obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }; function getTypeOf(input) { if (input === null) { return 'null'; } else if (typeof input === 'undefined') { return 'undefined'; } else if ((typeof input === 'undefined' ? 'undefined' : _typeof(input)) === 'object') { return Array.isArray(input) ? 'array' : 'object'; } return typeof input === 'undefined' ? 'undefined' : _typeof(input); } /* * Branching logic which calls the correct function to clone the given value base on its type. */ function cloneValue(value) { // The value is an object so lets clone it. if (getTypeOf(value) === 'object') { return quickCloneObject(value); } // The value is an array so lets clone it. else if (getTypeOf(value) === 'array') { return quickCloneArray(value); } // Any other value can just be copied. return value; } /* * Enumerates the given array and returns a new array, with each of its values cloned (i.e. references broken). */ function quickCloneArray(input) { return input.map(cloneValue); } /* * Enumerates the properties of the given object (ignoring the prototype chain) and returns a new object, with each of * its values cloned (i.e. references broken). */ function quickCloneObject(input) { var output = {}; for (var key in input) { if (!input.hasOwnProperty(key)) { continue; } output[key] = cloneValue(input[key]); } return output; } /* * Does the actual deep merging. */ function executeDeepMerge(target) { var _objects = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : []; var _options = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {}; var options = { arrayBehaviour: _options.arrayBehaviour || 'replace' // Can be "merge" or "replace". }; // Ensure we have actual objects for each. var objects = _objects.map(function (object) { return object || {}; }); var output = target || {}; // Enumerate the objects and their keys. for (var oindex = 0; oindex < objects.length; oindex++) { var object = objects[oindex]; var keys = Object.keys(object); for (var kindex = 0; kindex < keys.length; kindex++) { var key = keys[kindex]; var value = object[key]; var type = getTypeOf(value); var existingValueType = getTypeOf(output[key]); if (type === 'object') { if (existingValueType !== 'undefined') { var existingValue = existingValueType === 'object' ? output[key] : {}; output[key] = executeDeepMerge({}, [existingValue, quickCloneObject(value)], options); } else { output[key] = quickCloneObject(value); } } else if (type === 'array') { if (existingValueType === 'array') { var newValue = quickCloneArray(value); output[key] = options.arrayBehaviour === 'merge' ? output[key].concat(newValue) : newValue; } else { output[key] = quickCloneArray(value); } } else { output[key] = value; } } } return output; } /* * Merge all the supplied objects into the target object, breaking all references, including those of nested objects * and arrays, and even objects nested inside arrays. The first parameter is not mutated unlike Object.assign(). * Properties in later objects will always overwrite. */ module.exports = function objectAssignDeep(target) { for (var _len = arguments.length, objects = Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) { objects[_key - 1] = arguments[_key]; } return executeDeepMerge(target, objects); }; /* * Same as objectAssignDeep() except it doesn't mutate the target object and returns an entirely new object. */ module.exports.noMutate = function objectAssignDeepInto() { for (var _len2 = arguments.length, objects = Array(_len2), _key2 = 0; _key2 < _len2; _key2++) { objects[_key2] = arguments[_key2]; } return executeDeepMerge({}, objects); }; /* * Allows an options object to be passed in to customise the behaviour of the function. */ module.exports.withOptions = function objectAssignDeepInto(target, objects, options) { return executeDeepMerge(target, objects, options); }; /***/ }), /***/ "./node_modules/@material-ui/core/AppBar/AppBar.js": /*!*********************************************************!*\ !*** ./node_modules/@material-ui/core/AppBar/AppBar.js ***! \*********************************************************/ /*! no static exports found */ /***/ (function(module, exports, __webpack_require__) { "use strict"; var _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/builtin/interopRequireDefault */ "./node_modules/@babel/runtime/helpers/builtin/interopRequireDefault.js"); Object.defineProperty(exports, "__esModule", { value: true }); exports.default = exports.styles = void 0; var _extends2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/builtin/extends */ "./node_modules/@babel/runtime/helpers/builtin/extends.js")); var _defineProperty2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/builtin/defineProperty */ "./node_modules/@babel/runtime/helpers/builtin/defineProperty.js")); var _objectWithoutProperties2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/builtin/objectWithoutProperties */ "./node_modules/@babel/runtime/helpers/builtin/objectWithoutProperties.js")); var _react = _interopRequireDefault(__webpack_require__(/*! react */ "./node_modules/react/index.js")); var _propTypes = _interopRequireDefault(__webpack_require__(/*! prop-types */ "./node_modules/prop-types/index.js")); var _classnames = _interopRequireDefault(__webpack_require__(/*! classnames */ "./node_modules/classnames/index.js")); var _withStyles = _interopRequireDefault(__webpack_require__(/*! ../styles/withStyles */ "./node_modules/@material-ui/core/styles/withStyles.js")); var _helpers = __webpack_require__(/*! ../utils/helpers */ "./node_modules/@material-ui/core/utils/helpers.js"); var _Paper = _interopRequireDefault(__webpack_require__(/*! ../Paper */ "./node_modules/@material-ui/core/Paper/index.js")); // @inheritedComponent Paper var styles = function styles(theme) { var backgroundColorDefault = theme.palette.type === 'light' ? theme.palette.grey[100] : theme.palette.grey[900]; return { root: { display: 'flex', flexDirection: 'column', width: '100%', boxSizing: 'border-box', // Prevent padding issue with the Modal and fixed positioned AppBar. zIndex: theme.zIndex.appBar, flexShrink: 0 }, positionFixed: { position: 'fixed', top: 0, left: 'auto', right: 0 }, positionAbsolute: { position: 'absolute', top: 0, left: 'auto', right: 0 }, positionSticky: { position: 'sticky', top: 0, left: 'auto', right: 0 }, positionStatic: { position: 'static' }, colorDefault: { backgroundColor: backgroundColorDefault, color: theme.palette.getContrastText(backgroundColorDefault) }, colorPrimary: { backgroundColor: theme.palette.primary.main, color: theme.palette.primary.contrastText }, colorSecondary: { backgroundColor: theme.palette.secondary.main, color: theme.palette.secondary.contrastText } }; }; exports.styles = styles; function AppBar(props) { var _classNames; var children = props.children, classes = props.classes, classNameProp = props.className, color = props.color, position = props.position, other = (0, _objectWithoutProperties2.default)(props, ["children", "classes", "className", "color", "position"]); var className = (0, _classnames.default)(classes.root, classes["position".concat((0, _helpers.capitalize)(position))], (_classNames = {}, (0, _defineProperty2.default)(_classNames, classes["color".concat((0, _helpers.capitalize)(color))], color !== 'inherit'), (0, _defineProperty2.default)(_classNames, 'mui-fixed', position === 'fixed'), _classNames), classNameProp); return _react.default.createElement(_Paper.default, (0, _extends2.default)({ square: true, component: "header", elevation: 4, className: className }, other), children); } AppBar.propTypes = true ? { /** * The content of the component. */ children: _propTypes.default.node.isRequired, /** * Override or extend the styles applied to the component. * See [CSS API](#css-api) below for more details. */ classes: _propTypes.default.object.isRequired, /** * @ignore */ className: _propTypes.default.string, /** * The color of the component. It supports those theme colors that make sense for this component. */ color: _propTypes.default.oneOf(['inherit', 'primary', 'secondary', 'default']), /** * The positioning type. The behavior of the different options is described * [here](https://developer.mozilla.org/en-US/docs/Learn/CSS/CSS_layout/Positioning). * Note: `sticky` is not universally supported and will fall back to `static` when unavailable. */ position: _propTypes.default.oneOf(['fixed', 'absolute', 'sticky', 'static']) } : undefined; AppBar.defaultProps = { color: 'primary', position: 'fixed' }; var _default = (0, _withStyles.default)(styles, { name: 'MuiAppBar' })(AppBar); exports.default = _default; /***/ }), /***/ "./node_modules/@material-ui/core/AppBar/index.js": /*!********************************************************!*\ !*** ./node_modules/@material-ui/core/AppBar/index.js ***! \********************************************************/ /*! no static exports found */ /***/ (function(module, exports, __webpack_require__) { "use strict"; var _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/builtin/interopRequireDefault */ "./node_modules/@babel/runtime/helpers/builtin/interopRequireDefault.js"); Object.defineProperty(exports, "__esModule", { value: true }); Object.defineProperty(exports, "default", { enumerable: true, get: function get() { return _AppBar.default; } }); var _AppBar = _interopRequireDefault(__webpack_require__(/*! ./AppBar */ "./node_modules/@material-ui/core/AppBar/AppBar.js")); /***/ }), /***/ "./node_modules/@material-ui/core/Avatar/Avatar.js": /*!*********************************************************!*\ !*** ./node_modules/@material-ui/core/Avatar/Avatar.js ***! \*********************************************************/ /*! no static exports found */ /***/ (function(module, exports, __webpack_require__) { "use strict"; var _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/builtin/interopRequireDefault */ "./node_modules/@babel/runtime/helpers/builtin/interopRequireDefault.js"); Object.defineProperty(exports, "__esModule", { value: true }); exports.default = exports.styles = void 0; var _extends2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/builtin/extends */ "./node_modules/@babel/runtime/helpers/builtin/extends.js")); var _defineProperty2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/builtin/defineProperty */ "./node_modules/@babel/runtime/helpers/builtin/defineProperty.js")); var _objectWithoutProperties2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/builtin/objectWithoutProperties */ "./node_modules/@babel/runtime/helpers/builtin/objectWithoutProperties.js")); var _react = _interopRequireDefault(__webpack_require__(/*! react */ "./node_modules/react/index.js")); var _propTypes = _interopRequireDefault(__webpack_require__(/*! prop-types */ "./node_modules/prop-types/index.js")); var _classnames = _interopRequireDefault(__webpack_require__(/*! classnames */ "./node_modules/classnames/index.js")); var _withStyles = _interopRequireDefault(__webpack_require__(/*! ../styles/withStyles */ "./node_modules/@material-ui/core/styles/withStyles.js")); var styles = function styles(theme) { return { root: { position: 'relative', display: 'flex', alignItems: 'center', justifyContent: 'center', flexShrink: 0, width: 40, height: 40, fontFamily: theme.typography.fontFamily, fontSize: theme.typography.pxToRem(20), borderRadius: '50%', overflow: 'hidden', userSelect: 'none' }, colorDefault: { color: theme.palette.background.default, backgroundColor: theme.palette.type === 'light' ? theme.palette.grey[400] : theme.palette.grey[600] }, img: { width: '100%', height: '100%', textAlign: 'center', // Handle non-square image. The property isn't supported by IE11. objectFit: 'cover' } }; }; exports.styles = styles; function Avatar(props) { var alt = props.alt, childrenProp = props.children, childrenClassNameProp = props.childrenClassName, classes = props.classes, classNameProp = props.className, Component = props.component, imgProps = props.imgProps, sizes = props.sizes, src = props.src, srcSet = props.srcSet, other = (0, _objectWithoutProperties2.default)(props, ["alt", "children", "childrenClassName", "classes", "className", "component", "imgProps", "sizes", "src", "srcSet"]); var className = (0, _classnames.default)(classes.root, (0, _defineProperty2.default)({}, classes.colorDefault, childrenProp && !src && !srcSet), classNameProp); var children = null; if (childrenProp) { if (childrenClassNameProp && typeof childrenProp !== 'string' && _react.default.isValidElement(childrenProp)) { var childrenClassName = (0, _classnames.default)(childrenClassNameProp, childrenProp.props.className); children = _react.default.cloneElement(childrenProp, { className: childrenClassName }); } else { children = childrenProp; } } else if (src || srcSet) { children = _react.default.createElement("img", (0, _extends2.default)({ alt: alt, src: src, srcSet: srcSet, sizes: sizes, className: classes.img }, imgProps)); } return _react.default.createElement(Component, (0, _extends2.default)({ className: className }, other), children); } Avatar.propTypes = true ? { /** * Used in combination with `src` or `srcSet` to * provide an alt attribute for the rendered `img` element. */ alt: _propTypes.default.string, /** * Used to render icon or text elements inside the Avatar. * `src` and `alt` props will not be used and no `img` will * be rendered by default. * * This can be an element, or just a string. */ children: _propTypes.default.node, /** * @ignore * The className of the child element. * Used by Chip and ListItemIcon to style the Avatar icon. */ childrenClassName: _propTypes.default.string, /** * Override or extend the styles applied to the component. * See [CSS API](#css-api) below for more details. */ classes: _propTypes.default.object.isRequired, /** * @ignore */ className: _propTypes.default.string, /** * The component used for the root node. * Either a string to use a DOM element or a component. */ component: _propTypes.default.oneOfType([_propTypes.default.string, _propTypes.default.func, _propTypes.default.object]), /** * Attributes applied to the `img` element when the component * is used to display an image. */ imgProps: _propTypes.default.object, /** * The `sizes` attribute for the `img` element. */ sizes: _propTypes.default.string, /** * The `src` attribute for the `img` element. */ src: _propTypes.default.string, /** * The `srcSet` attribute for the `img` element. */ srcSet: _propTypes.default.string } : undefined; Avatar.defaultProps = { component: 'div' }; var _default = (0, _withStyles.default)(styles, { name: 'MuiAvatar' })(Avatar); exports.default = _default; /***/ }), /***/ "./node_modules/@material-ui/core/Avatar/index.js": /*!********************************************************!*\ !*** ./node_modules/@material-ui/core/Avatar/index.js ***! \********************************************************/ /*! no static exports found */ /***/ (function(module, exports, __webpack_require__) { "use strict"; var _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/builtin/interopRequireDefault */ "./node_modules/@babel/runtime/helpers/builtin/interopRequireDefault.js"); Object.defineProperty(exports, "__esModule", { value: true }); Object.defineProperty(exports, "default", { enumerable: true, get: function get() { return _Avatar.default; } }); var _Avatar = _interopRequireDefault(__webpack_require__(/*! ./Avatar */ "./node_modules/@material-ui/core/Avatar/Avatar.js")); /***/ }), /***/ "./node_modules/@material-ui/core/Backdrop/Backdrop.js": /*!*************************************************************!*\ !*** ./node_modules/@material-ui/core/Backdrop/Backdrop.js ***! \*************************************************************/ /*! no static exports found */ /***/ (function(module, exports, __webpack_require__) { "use strict"; var _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/builtin/interopRequireDefault */ "./node_modules/@babel/runtime/helpers/builtin/interopRequireDefault.js"); Object.defineProperty(exports, "__esModule", { value: true }); exports.default = exports.styles = void 0; var _extends2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/builtin/extends */ "./node_modules/@babel/runtime/helpers/builtin/extends.js")); var _defineProperty2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/builtin/defineProperty */ "./node_modules/@babel/runtime/helpers/builtin/defineProperty.js")); var _objectWithoutProperties2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/builtin/objectWithoutProperties */ "./node_modules/@babel/runtime/helpers/builtin/objectWithoutProperties.js")); var _react = _interopRequireDefault(__webpack_require__(/*! react */ "./node_modules/react/index.js")); var _propTypes = _interopRequireDefault(__webpack_require__(/*! prop-types */ "./node_modules/prop-types/index.js")); var _classnames = _interopRequireDefault(__webpack_require__(/*! classnames */ "./node_modules/classnames/index.js")); var _withStyles = _interopRequireDefault(__webpack_require__(/*! ../styles/withStyles */ "./node_modules/@material-ui/core/styles/withStyles.js")); var _Fade = _interopRequireDefault(__webpack_require__(/*! ../Fade */ "./node_modules/@material-ui/core/Fade/index.js")); var styles = { root: { zIndex: -1, width: '100%', height: '100%', position: 'fixed', top: 0, left: 0, // Remove grey highlight WebkitTapHighlightColor: 'transparent', backgroundColor: 'rgba(0, 0, 0, 0.5)' }, invisible: { backgroundColor: 'transparent' } }; exports.styles = styles; function Backdrop(props) { var classes = props.classes, className = props.className, invisible = props.invisible, open = props.open, transitionDuration = props.transitionDuration, other = (0, _objectWithoutProperties2.default)(props, ["classes", "className", "invisible", "open", "transitionDuration"]); return _react.default.createElement(_Fade.default, (0, _extends2.default)({ appear: true, "in": open, timeout: transitionDuration }, other), _react.default.createElement("div", { className: (0, _classnames.default)(classes.root, (0, _defineProperty2.default)({}, classes.invisible, invisible), className), "aria-hidden": "true" })); } Backdrop.propTypes = true ? { /** * Override or extend the styles applied to the component. * See [CSS API](#css-api) below for more details. */ classes: _propTypes.default.object.isRequired, /** * @ignore */ className: _propTypes.default.string, /** * If `true`, the backdrop is invisible. * It can be used when rendering a popover or a custom select component. */ invisible: _propTypes.default.bool, /** * If `true`, the backdrop is open. */ open: _propTypes.default.bool.isRequired, /** * The duration for the transition, in milliseconds. * You may specify a single timeout for all transitions, or individually with an object. */ transitionDuration: _propTypes.default.oneOfType([_propTypes.default.number, _propTypes.default.shape({ enter: _propTypes.default.number, exit: _propTypes.default.number })]) } : undefined; Backdrop.defaultProps = { invisible: false }; var _default = (0, _withStyles.default)(styles, { name: 'MuiBackdrop' })(Backdrop); exports.default = _default; /***/ }), /***/ "./node_modules/@material-ui/core/Backdrop/index.js": /*!**********************************************************!*\ !*** ./node_modules/@material-ui/core/Backdrop/index.js ***! \**********************************************************/ /*! no static exports found */ /***/ (function(module, exports, __webpack_require__) { "use strict"; var _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/builtin/interopRequireDefault */ "./node_modules/@babel/runtime/helpers/builtin/interopRequireDefault.js"); Object.defineProperty(exports, "__esModule", { value: true }); Object.defineProperty(exports, "default", { enumerable: true, get: function get() { return _Backdrop.default; } }); var _Backdrop = _interopRequireDefault(__webpack_require__(/*! ./Backdrop */ "./node_modules/@material-ui/core/Backdrop/Backdrop.js")); /***/ }), /***/ "./node_modules/@material-ui/core/Badge/Badge.js": /*!*******************************************************!*\ !*** ./node_modules/@material-ui/core/Badge/Badge.js ***! \*******************************************************/ /*! no static exports found */ /***/ (function(module, exports, __webpack_require__) { "use strict"; var _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/builtin/interopRequireDefault */ "./node_modules/@babel/runtime/helpers/builtin/interopRequireDefault.js"); Object.defineProperty(exports, "__esModule", { value: true }); exports.default = exports.styles = void 0; var _extends2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/builtin/extends */ "./node_modules/@babel/runtime/helpers/builtin/extends.js")); var _defineProperty2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/builtin/defineProperty */ "./node_modules/@babel/runtime/helpers/builtin/defineProperty.js")); var _objectWithoutProperties2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/builtin/objectWithoutProperties */ "./node_modules/@babel/runtime/helpers/builtin/objectWithoutProperties.js")); var _react = _interopRequireDefault(__webpack_require__(/*! react */ "./node_modules/react/index.js")); var _propTypes = _interopRequireDefault(__webpack_require__(/*! prop-types */ "./node_modules/prop-types/index.js")); var _classnames = _interopRequireDefault(__webpack_require__(/*! classnames */ "./node_modules/classnames/index.js")); var _withStyles = _interopRequireDefault(__webpack_require__(/*! ../styles/withStyles */ "./node_modules/@material-ui/core/styles/withStyles.js")); var _helpers = __webpack_require__(/*! ../utils/helpers */ "./node_modules/@material-ui/core/utils/helpers.js"); var RADIUS = 12; var styles = function styles(theme) { return { root: { position: 'relative', display: 'inline-flex', // For correct alignment with the text. verticalAlign: 'middle' }, badge: { display: 'flex', flexDirection: 'row', flexWrap: 'wrap', justifyContent: 'center', alignContent: 'center', alignItems: 'center', position: 'absolute', top: -RADIUS, right: -RADIUS, fontFamily: theme.typography.fontFamily, fontWeight: theme.typography.fontWeight, fontSize: theme.typography.pxToRem(RADIUS), width: RADIUS * 2, height: RADIUS * 2, borderRadius: '50%', backgroundColor: theme.palette.color, color: theme.palette.textColor, zIndex: 1 // Render the badge on top of potential ripples. }, colorPrimary: { backgroundColor: theme.palette.primary.main, color: theme.palette.primary.contrastText }, colorSecondary: { backgroundColor: theme.palette.secondary.main, color: theme.palette.secondary.contrastText }, colorError: { backgroundColor: theme.palette.error.main, color: theme.palette.error.contrastText } }; }; exports.styles = styles; function Badge(props) { var badgeContent = props.badgeContent, children = props.children, classes = props.classes, classNameProp = props.className, color = props.color, ComponentProp = props.component, other = (0, _objectWithoutProperties2.default)(props, ["badgeContent", "children", "classes", "className", "color", "component"]); var badgeClassName = (0, _classnames.default)(classes.badge, (0, _defineProperty2.default)({}, classes["color".concat((0, _helpers.capitalize)(color))], color !== 'default')); return _react.default.createElement(ComponentProp, (0, _extends2.default)({ className: (0, _classnames.default)(classes.root, classNameProp) }, other), children, _react.default.createElement("span", { className: badgeClassName }, badgeContent)); } Badge.propTypes = true ? { /** * The content rendered within the badge. */ badgeContent: _propTypes.default.node.isRequired, /** * The badge will be added relative to this node. */ children: _propTypes.default.node.isRequired, /** * Override or extend the styles applied to the component. * See [CSS API](#css-api) below for more details. */ classes: _propTypes.default.object.isRequired, /** * @ignore */ className: _propTypes.default.string, /** * The color of the component. It supports those theme colors that make sense for this component. */ color: _propTypes.default.oneOf(['default', 'primary', 'secondary', 'error']), /** * The component used for the root node. * Either a string to use a DOM element or a component. */ component: _propTypes.default.oneOfType([_propTypes.default.string, _propTypes.default.func, _propTypes.default.object]) } : undefined; Badge.defaultProps = { color: 'default', component: 'span' }; var _default = (0, _withStyles.default)(styles, { name: 'MuiBadge' })(Badge); exports.default = _default; /***/ }), /***/ "./node_modules/@material-ui/core/Badge/index.js": /*!*******************************************************!*\ !*** ./node_modules/@material-ui/core/Badge/index.js ***! \*******************************************************/ /*! no static exports found */ /***/ (function(module, exports, __webpack_require__) { "use strict"; var _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/builtin/interopRequireDefault */ "./node_modules/@babel/runtime/helpers/builtin/interopRequireDefault.js"); Object.defineProperty(exports, "__esModule", { value: true }); Object.defineProperty(exports, "default", { enumerable: true, get: function get() { return _Badge.default; } }); var _Badge = _interopRequireDefault(__webpack_require__(/*! ./Badge */ "./node_modules/@material-ui/core/Badge/Badge.js")); /***/ }), /***/ "./node_modules/@material-ui/core/BottomNavigation/BottomNavigation.js": /*!*****************************************************************************!*\ !*** ./node_modules/@material-ui/core/BottomNavigation/BottomNavigation.js ***! \*****************************************************************************/ /*! no static exports found */ /***/ (function(module, exports, __webpack_require__) { "use strict"; var _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/builtin/interopRequireDefault */ "./node_modules/@babel/runtime/helpers/builtin/interopRequireDefault.js"); Object.defineProperty(exports, "__esModule", { value: true }); exports.default = exports.styles = void 0; var _extends2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/builtin/extends */ "./node_modules/@babel/runtime/helpers/builtin/extends.js")); var _objectWithoutProperties2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/builtin/objectWithoutProperties */ "./node_modules/@babel/runtime/helpers/builtin/objectWithoutProperties.js")); var _react = _interopRequireDefault(__webpack_require__(/*! react */ "./node_modules/react/index.js")); var _propTypes = _interopRequireDefault(__webpack_require__(/*! prop-types */ "./node_modules/prop-types/index.js")); var _classnames = _interopRequireDefault(__webpack_require__(/*! classnames */ "./node_modules/classnames/index.js")); var _warning = _interopRequireDefault(__webpack_require__(/*! warning */ "./node_modules/@material-ui/core/node_modules/warning/warning.js")); var _withStyles = _interopRequireDefault(__webpack_require__(/*! ../styles/withStyles */ "./node_modules/@material-ui/core/styles/withStyles.js")); var styles = function styles(theme) { return { root: { display: 'flex', justifyContent: 'center', height: 56, backgroundColor: theme.palette.background.paper } }; }; exports.styles = styles; function BottomNavigation(props) { var childrenProp = props.children, classes = props.classes, classNameProp = props.className, onChange = props.onChange, showLabels = props.showLabels, value = props.value, other = (0, _objectWithoutProperties2.default)(props, ["children", "classes", "className", "onChange", "showLabels", "value"]); var className = (0, _classnames.default)(classes.root, classNameProp); var children = _react.default.Children.map(childrenProp, function (child, childIndex) { if (!_react.default.isValidElement(child)) { return null; } true ? (0, _warning.default)(child.type !== _react.default.Fragment, ["Material-UI: the BottomNavigation component doesn't accept a Fragment as a child.", 'Consider providing an array instead.'].join('\n')) : undefined; var childValue = child.props.value === undefined ? childIndex : child.props.value; return _react.default.cloneElement(child, { selected: childValue === value, showLabel: child.props.showLabel !== undefined ? child.props.showLabel : showLabels, value: childValue, onChange: onChange }); }); return _react.default.createElement("div", (0, _extends2.default)({ className: className }, other), children); } BottomNavigation.propTypes = true ? { /** * The content of the component. */ children: _propTypes.default.node.isRequired, /** * Override or extend the styles applied to the component. * See [CSS API](#css-api) below for more details. */ classes: _propTypes.default.object.isRequired, /** * @ignore */ className: _propTypes.default.string, /** * Callback fired when the value changes. * * @param {object} event The event source of the callback * @param {any} value We default to the index of the child */ onChange: _propTypes.default.func, /** * If `true`, all `BottomNavigationAction`s will show their labels. * By default, only the selected `BottomNavigationAction` will show its label. */ showLabels: _propTypes.default.bool, /** * The value of the currently selected `BottomNavigationAction`. */ value: _propTypes.default.any } : undefined; BottomNavigation.defaultProps = { showLabels: false }; var _default = (0, _withStyles.default)(styles, { name: 'MuiBottomNavigation' })(BottomNavigation); exports.default = _default; /***/ }), /***/ "./node_modules/@material-ui/core/BottomNavigation/index.js": /*!******************************************************************!*\ !*** ./node_modules/@material-ui/core/BottomNavigation/index.js ***! \******************************************************************/ /*! no static exports found */ /***/ (function(module, exports, __webpack_require__) { "use strict"; var _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/builtin/interopRequireDefault */ "./node_modules/@babel/runtime/helpers/builtin/interopRequireDefault.js"); Object.defineProperty(exports, "__esModule", { value: true }); Object.defineProperty(exports, "default", { enumerable: true, get: function get() { return _BottomNavigation.default; } }); var _BottomNavigation = _interopRequireDefault(__webpack_require__(/*! ./BottomNavigation */ "./node_modules/@material-ui/core/BottomNavigation/BottomNavigation.js")); /***/ }), /***/ "./node_modules/@material-ui/core/BottomNavigationAction/BottomNavigationAction.js": /*!*****************************************************************************************!*\ !*** ./node_modules/@material-ui/core/BottomNavigationAction/BottomNavigationAction.js ***! \*****************************************************************************************/ /*! no static exports found */ /***/ (function(module, exports, __webpack_require__) { "use strict"; var _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/builtin/interopRequireDefault */ "./node_modules/@babel/runtime/helpers/builtin/interopRequireDefault.js"); Object.defineProperty(exports, "__esModule", { value: true }); exports.default = exports.styles = void 0; var _extends2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/builtin/extends */ "./node_modules/@babel/runtime/helpers/builtin/extends.js")); var _defineProperty2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/builtin/defineProperty */ "./node_modules/@babel/runtime/helpers/builtin/defineProperty.js")); var _objectWithoutProperties2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/builtin/objectWithoutProperties */ "./node_modules/@babel/runtime/helpers/builtin/objectWithoutProperties.js")); var _classCallCheck2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/builtin/classCallCheck */ "./node_modules/@babel/runtime/helpers/builtin/classCallCheck.js")); var _createClass2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/builtin/createClass */ "./node_modules/@babel/runtime/helpers/builtin/createClass.js")); var _possibleConstructorReturn2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/builtin/possibleConstructorReturn */ "./node_modules/@babel/runtime/helpers/builtin/possibleConstructorReturn.js")); var _inherits2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/builtin/inherits */ "./node_modules/@babel/runtime/helpers/builtin/inherits.js")); var _react = _interopRequireDefault(__webpack_require__(/*! react */ "./node_modules/react/index.js")); var _propTypes = _interopRequireDefault(__webpack_require__(/*! prop-types */ "./node_modules/prop-types/index.js")); var _classnames = _interopRequireDefault(__webpack_require__(/*! classnames */ "./node_modules/classnames/index.js")); var _withStyles = _interopRequireDefault(__webpack_require__(/*! ../styles/withStyles */ "./node_modules/@material-ui/core/styles/withStyles.js")); var _ButtonBase = _interopRequireDefault(__webpack_require__(/*! ../ButtonBase */ "./node_modules/@material-ui/core/ButtonBase/index.js")); var _unsupportedProp = _interopRequireDefault(__webpack_require__(/*! ../utils/unsupportedProp */ "./node_modules/@material-ui/core/utils/unsupportedProp.js")); // @inheritedComponent ButtonBase var styles = function styles(theme) { return { root: { transition: theme.transitions.create(['color', 'padding-top'], { duration: theme.transitions.duration.short }), paddingTop: 8, paddingBottom: 10, paddingLeft: 12, paddingRight: 12, minWidth: 80, maxWidth: 168, color: theme.palette.text.secondary, flex: '1', '&$iconOnly': { paddingTop: 16 }, '&$selected': { paddingTop: 6, color: theme.palette.primary.main } }, selected: {}, iconOnly: {}, wrapper: { display: 'inline-flex', alignItems: 'center', justifyContent: 'center', width: '100%', flexDirection: 'column' }, label: { fontFamily: theme.typography.fontFamily, fontSize: theme.typography.pxToRem(12), opacity: 1, transition: 'font-size 0.2s, opacity 0.2s', transitionDelay: '0.1s', '&$iconOnly': { opacity: 0, transitionDelay: '0s' }, '&$selected': { fontSize: theme.typography.pxToRem(14) } } }; }; exports.styles = styles; var BottomNavigationAction = /*#__PURE__*/ function (_React$Component) { (0, _inherits2.default)(BottomNavigationAction, _React$Component); function BottomNavigationAction() { var _ref; var _temp, _this; (0, _classCallCheck2.default)(this, BottomNavigationAction); for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) { args[_key] = arguments[_key]; } return (0, _possibleConstructorReturn2.default)(_this, (_temp = _this = (0, _possibleConstructorReturn2.default)(this, (_ref = BottomNavigationAction.__proto__ || Object.getPrototypeOf(BottomNavigationAction)).call.apply(_ref, [this].concat(args))), _this.handleChange = function (event) { var _this$props = _this.props, onChange = _this$props.onChange, value = _this$props.value, onClick = _this$props.onClick; if (onChange) { onChange(event, value); } if (onClick) { onClick(event); } }, _temp)); } (0, _createClass2.default)(BottomNavigationAction, [{ key: "render", value: function render() { var _classNames, _classNames2; var _props = this.props, classes = _props.classes, classNameProp = _props.className, icon = _props.icon, label = _props.label, onChange = _props.onChange, onClick = _props.onClick, selected = _props.selected, showLabelProp = _props.showLabel, value = _props.value, other = (0, _objectWithoutProperties2.default)(_props, ["classes", "className", "icon", "label", "onChange", "onClick", "selected", "showLabel", "value"]); var className = (0, _classnames.default)(classes.root, (_classNames = {}, (0, _defineProperty2.default)(_classNames, classes.selected, selected), (0, _defineProperty2.default)(_classNames, classes.iconOnly, !showLabelProp && !selected), _classNames), classNameProp); var labelClassName = (0, _classnames.default)(classes.label, (_classNames2 = {}, (0, _defineProperty2.default)(_classNames2, classes.selected, selected), (0, _defineProperty2.default)(_classNames2, classes.iconOnly, !showLabelProp && !selected), _classNames2)); return _react.default.createElement(_ButtonBase.default, (0, _extends2.default)({ className: className, focusRipple: true, onClick: this.handleChange }, other), _react.default.createElement("span", { className: classes.wrapper }, icon, _react.default.createElement("span", { className: labelClassName }, label))); } }]); return BottomNavigationAction; }(_react.default.Component); BottomNavigationAction.propTypes = true ? { /** * This property isn't supported. * Use the `component` property if you need to change the children structure. */ children: _unsupportedProp.default, /** * Override or extend the styles applied to the component. * See [CSS API](#css-api) below for more details. */ classes: _propTypes.default.object.isRequired, /** * @ignore */ className: _propTypes.default.string, /** * The icon element. */ icon: _propTypes.default.node, /** * The label element. */ label: _propTypes.default.node, /** * @ignore */ onChange: _propTypes.default.func, /** * @ignore */ onClick: _propTypes.default.func, /** * @ignore */ selected: _propTypes.default.bool, /** * If `true`, the BottomNavigationAction will show its label. */ showLabel: _propTypes.default.bool, /** * You can provide your own value. Otherwise, we fallback to the child position index. */ value: _propTypes.default.any } : undefined; var _default = (0, _withStyles.default)(styles, { name: 'MuiBottomNavigationAction' })(BottomNavigationAction); exports.default = _default; /***/ }), /***/ "./node_modules/@material-ui/core/BottomNavigationAction/index.js": /*!************************************************************************!*\ !*** ./node_modules/@material-ui/core/BottomNavigationAction/index.js ***! \************************************************************************/ /*! no static exports found */ /***/ (function(module, exports, __webpack_require__) { "use strict"; var _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/builtin/interopRequireDefault */ "./node_modules/@babel/runtime/helpers/builtin/interopRequireDefault.js"); Object.defineProperty(exports, "__esModule", { value: true }); Object.defineProperty(exports, "default", { enumerable: true, get: function get() { return _BottomNavigationAction.default; } }); var _BottomNavigationAction = _interopRequireDefault(__webpack_require__(/*! ./BottomNavigationAction */ "./node_modules/@material-ui/core/BottomNavigationAction/BottomNavigationAction.js")); /***/ }), /***/ "./node_modules/@material-ui/core/Button/Button.js": /*!*********************************************************!*\ !*** ./node_modules/@material-ui/core/Button/Button.js ***! \*********************************************************/ /*! no static exports found */ /***/ (function(module, exports, __webpack_require__) { "use strict"; var _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/builtin/interopRequireDefault */ "./node_modules/@babel/runtime/helpers/builtin/interopRequireDefault.js"); Object.defineProperty(exports, "__esModule", { value: true }); exports.default = exports.styles = void 0; var _extends2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/builtin/extends */ "./node_modules/@babel/runtime/helpers/builtin/extends.js")); var _defineProperty2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/builtin/defineProperty */ "./node_modules/@babel/runtime/helpers/builtin/defineProperty.js")); var _objectWithoutProperties2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/builtin/objectWithoutProperties */ "./node_modules/@babel/runtime/helpers/builtin/objectWithoutProperties.js")); var _objectSpread2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/builtin/objectSpread */ "./node_modules/@babel/runtime/helpers/builtin/objectSpread.js")); var _react = _interopRequireDefault(__webpack_require__(/*! react */ "./node_modules/react/index.js")); var _propTypes = _interopRequireDefault(__webpack_require__(/*! prop-types */ "./node_modules/prop-types/index.js")); var _classnames = _interopRequireDefault(__webpack_require__(/*! classnames */ "./node_modules/classnames/index.js")); var _withStyles = _interopRequireDefault(__webpack_require__(/*! ../styles/withStyles */ "./node_modules/@material-ui/core/styles/withStyles.js")); var _colorManipulator = __webpack_require__(/*! ../styles/colorManipulator */ "./node_modules/@material-ui/core/styles/colorManipulator.js"); var _ButtonBase = _interopRequireDefault(__webpack_require__(/*! ../ButtonBase */ "./node_modules/@material-ui/core/ButtonBase/index.js")); var _helpers = __webpack_require__(/*! ../utils/helpers */ "./node_modules/@material-ui/core/utils/helpers.js"); // @inheritedComponent ButtonBase var styles = function styles(theme) { return { root: (0, _objectSpread2.default)({}, theme.typography.button, { lineHeight: '1.4em', // Improve readability for multiline button. boxSizing: 'border-box', minWidth: 64, minHeight: 36, padding: '8px 16px', borderRadius: theme.shape.borderRadius, color: theme.palette.text.primary, transition: theme.transitions.create(['background-color', 'box-shadow'], { duration: theme.transitions.duration.short }), '&:hover': { textDecoration: 'none', backgroundColor: (0, _colorManipulator.fade)(theme.palette.text.primary, theme.palette.action.hoverOpacity), // Reset on touch devices, it doesn't add specificity '@media (hover: none)': { backgroundColor: 'transparent' }, '&$disabled': { backgroundColor: 'transparent' } }, '&$disabled': { color: theme.palette.action.disabled } }), label: { display: 'inherit', alignItems: 'inherit', justifyContent: 'inherit' }, text: {}, textPrimary: { color: theme.palette.primary.main, '&:hover': { backgroundColor: (0, _colorManipulator.fade)(theme.palette.primary.main, theme.palette.action.hoverOpacity), // Reset on touch devices, it doesn't add specificity '@media (hover: none)': { backgroundColor: 'transparent' } } }, textSecondary: { color: theme.palette.secondary.main, '&:hover': { backgroundColor: (0, _colorManipulator.fade)(theme.palette.secondary.main, theme.palette.action.hoverOpacity), // Reset on touch devices, it doesn't add specificity '@media (hover: none)': { backgroundColor: 'transparent' } } }, flat: {}, // legacy flatPrimary: {}, // legacy flatSecondary: {}, // legacy outlined: { border: "1px solid ".concat(theme.palette.type === 'light' ? 'rgba(0, 0, 0, 0.23)' : 'rgba(255, 255, 255, 0.23)') }, contained: { color: theme.palette.getContrastText(theme.palette.grey[300]), backgroundColor: theme.palette.grey[300], boxShadow: theme.shadows[2], '&$focusVisible': { boxShadow: theme.shadows[6] }, '&:active': { boxShadow: theme.shadows[8] }, '&$disabled': { color: theme.palette.action.disabled, boxShadow: theme.shadows[0], backgroundColor: theme.palette.action.disabledBackground }, '&:hover': { backgroundColor: theme.palette.grey.A100, // Reset on touch devices, it doesn't add specificity '@media (hover: none)': { backgroundColor: theme.palette.grey[300] }, '&$disabled': { backgroundColor: theme.palette.action.disabledBackground } } }, containedPrimary: { color: theme.palette.primary.contrastText, backgroundColor: theme.palette.primary.main, '&:hover': { backgroundColor: theme.palette.primary.dark, // Reset on touch devices, it doesn't add specificity '@media (hover: none)': { backgroundColor: theme.palette.primary.main } } }, containedSecondary: { color: theme.palette.secondary.contrastText, backgroundColor: theme.palette.secondary.main, '&:hover': { backgroundColor: theme.palette.secondary.dark, // Reset on touch devices, it doesn't add specificity '@media (hover: none)': { backgroundColor: theme.palette.secondary.main } } }, raised: {}, // legacy raisedPrimary: {}, // legacy raisedSecondary: {}, // legacy fab: { borderRadius: '50%', padding: 0, minWidth: 0, width: 56, height: 56, boxShadow: theme.shadows[6], '&:active': { boxShadow: theme.shadows[12] } }, extendedFab: { borderRadius: 48 / 2, padding: '0 16px', width: 'auto', minWidth: 48, height: 48 }, focusVisible: {}, disabled: {}, colorInherit: { color: 'inherit' }, mini: { width: 40, height: 40 }, sizeSmall: { padding: '7px 8px', minWidth: 64, minHeight: 32, fontSize: theme.typography.pxToRem(13) }, sizeLarge: { padding: '8px 24px', minWidth: 112, minHeight: 40, fontSize: theme.typography.pxToRem(15) }, fullWidth: { width: '100%' } }; }; exports.styles = styles; function Button(props) { var _classNames; var children = props.children, classes = props.classes, classNameProp = props.className, color = props.color, disabled = props.disabled, disableFocusRipple = props.disableFocusRipple, fullWidth = props.fullWidth, focusVisibleClassName = props.focusVisibleClassName, mini = props.mini, size = props.size, variant = props.variant, other = (0, _objectWithoutProperties2.default)(props, ["children", "classes", "className", "color", "disabled", "disableFocusRipple", "fullWidth", "focusVisibleClassName", "mini", "size", "variant"]); var fab = variant === 'fab' || variant === 'extendedFab'; var contained = variant === 'contained' || variant === 'raised'; var text = variant === 'text' || variant === 'flat' || variant === 'outlined'; var className = (0, _classnames.default)(classes.root, (_classNames = {}, (0, _defineProperty2.default)(_classNames, classes.fab, fab), (0, _defineProperty2.default)(_classNames, classes.mini, fab && mini), (0, _defineProperty2.default)(_classNames, classes.extendedFab, variant === 'extendedFab'), (0, _defineProperty2.default)(_classNames, classes.text, text), (0, _defineProperty2.default)(_classNames, classes.textPrimary, text && color === 'primary'), (0, _defineProperty2.default)(_classNames, classes.textSecondary, text && color === 'secondary'), (0, _defineProperty2.default)(_classNames, classes.flat, variant === 'text' || variant === 'flat'), (0, _defineProperty2.default)(_classNames, classes.flatPrimary, (variant === 'text' || variant === 'flat') && color === 'primary'), (0, _defineProperty2.default)(_classNames, classes.flatSecondary, (variant === 'text' || variant === 'flat') && color === 'secondary'), (0, _defineProperty2.default)(_classNames, classes.contained, contained || fab), (0, _defineProperty2.default)(_classNames, classes.containedPrimary, (contained || fab) && color === 'primary'), (0, _defineProperty2.default)(_classNames, classes.containedSecondary, (contained || fab) && color === 'secondary'), (0, _defineProperty2.default)(_classNames, classes.raised, contained || fab), (0, _defineProperty2.default)(_classNames, classes.raisedPrimary, (contained || fab) && color === 'primary'), (0, _defineProperty2.default)(_classNames, classes.raisedSecondary, (contained || fab) && color === 'secondary'), (0, _defineProperty2.default)(_classNames, classes.outlined, variant === 'outlined'), (0, _defineProperty2.default)(_classNames, classes["size".concat((0, _helpers.capitalize)(size))], size !== 'medium'), (0, _defineProperty2.default)(_classNames, classes.disabled, disabled), (0, _defineProperty2.default)(_classNames, classes.fullWidth, fullWidth), (0, _defineProperty2.default)(_classNames, classes.colorInherit, color === 'inherit'), _classNames), classNameProp); return _react.default.createElement(_ButtonBase.default, (0, _extends2.default)({ className: className, disabled: disabled, focusRipple: !disableFocusRipple, focusVisibleClassName: (0, _classnames.default)(classes.focusVisible, focusVisibleClassName) }, other), _react.default.createElement("span", { className: classes.label }, children)); } Button.propTypes = true ? { /** * The content of the button. */ children: _propTypes.default.node.isRequired, /** * Override or extend the styles applied to the component. * See [CSS API](#css-api) below for more details. */ classes: _propTypes.default.object.isRequired, /** * @ignore */ className: _propTypes.default.string, /** * The color of the component. It supports those theme colors that make sense for this component. */ color: _propTypes.default.oneOf(['default', 'inherit', 'primary', 'secondary']), /** * The component used for the root node. * Either a string to use a DOM element or a component. */ component: _propTypes.default.oneOfType([_propTypes.default.string, _propTypes.default.func, _propTypes.default.object]), /** * If `true`, the button will be disabled. */ disabled: _propTypes.default.bool, /** * If `true`, the keyboard focus ripple will be disabled. * `disableRipple` must also be true. */ disableFocusRipple: _propTypes.default.bool, /** * If `true`, the ripple effect will be disabled. */ disableRipple: _propTypes.default.bool, /** * @ignore */ focusVisibleClassName: _propTypes.default.string, /** * If `true`, the button will take up the full width of its container. */ fullWidth: _propTypes.default.bool, /** * The URL to link to when the button is clicked. * If defined, an `a` element will be used as the root node. */ href: _propTypes.default.string, /** * If `true`, and `variant` is `'fab'`, will use mini floating action button styling. */ mini: _propTypes.default.bool, /** * The size of the button. * `small` is equivalent to the dense button styling. */ size: _propTypes.default.oneOf(['small', 'medium', 'large']), /** * @ignore */ type: _propTypes.default.string, /** * The variant to use. */ variant: _propTypes.default.oneOf(['text', 'flat', 'outlined', 'contained', 'raised', 'fab', 'extendedFab']) } : undefined; Button.defaultProps = { color: 'default', component: 'button', disabled: false, disableFocusRipple: false, fullWidth: false, mini: false, size: 'medium', type: 'button', variant: 'text' }; var _default = (0, _withStyles.default)(styles, { name: 'MuiButton' })(Button); exports.default = _default; /***/ }), /***/ "./node_modules/@material-ui/core/Button/index.js": /*!********************************************************!*\ !*** ./node_modules/@material-ui/core/Button/index.js ***! \********************************************************/ /*! no static exports found */ /***/ (function(module, exports, __webpack_require__) { "use strict"; var _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/builtin/interopRequireDefault */ "./node_modules/@babel/runtime/helpers/builtin/interopRequireDefault.js"); Object.defineProperty(exports, "__esModule", { value: true }); Object.defineProperty(exports, "default", { enumerable: true, get: function get() { return _Button.default; } }); var _Button = _interopRequireDefault(__webpack_require__(/*! ./Button */ "./node_modules/@material-ui/core/Button/Button.js")); /***/ }), /***/ "./node_modules/@material-ui/core/ButtonBase/ButtonBase.js": /*!*****************************************************************!*\ !*** ./node_modules/@material-ui/core/ButtonBase/ButtonBase.js ***! \*****************************************************************/ /*! no static exports found */ /***/ (function(module, exports, __webpack_require__) { "use strict"; var _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/builtin/interopRequireDefault */ "./node_modules/@babel/runtime/helpers/builtin/interopRequireDefault.js"); Object.defineProperty(exports, "__esModule", { value: true }); exports.default = exports.styles = void 0; var _extends2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/builtin/extends */ "./node_modules/@babel/runtime/helpers/builtin/extends.js")); var _defineProperty2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/builtin/defineProperty */ "./node_modules/@babel/runtime/helpers/builtin/defineProperty.js")); var _objectWithoutProperties2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/builtin/objectWithoutProperties */ "./node_modules/@babel/runtime/helpers/builtin/objectWithoutProperties.js")); var _classCallCheck2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/builtin/classCallCheck */ "./node_modules/@babel/runtime/helpers/builtin/classCallCheck.js")); var _createClass2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/builtin/createClass */ "./node_modules/@babel/runtime/helpers/builtin/createClass.js")); var _possibleConstructorReturn2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/builtin/possibleConstructorReturn */ "./node_modules/@babel/runtime/helpers/builtin/possibleConstructorReturn.js")); var _inherits2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/builtin/inherits */ "./node_modules/@babel/runtime/helpers/builtin/inherits.js")); var _assertThisInitialized2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/builtin/assertThisInitialized */ "./node_modules/@babel/runtime/helpers/builtin/assertThisInitialized.js")); var _react = _interopRequireDefault(__webpack_require__(/*! react */ "./node_modules/react/index.js")); var _propTypes = _interopRequireDefault(__webpack_require__(/*! prop-types */ "./node_modules/prop-types/index.js")); var _reactDom = _interopRequireDefault(__webpack_require__(/*! react-dom */ "./node_modules/react-dom/index.js")); var _classnames = _interopRequireDefault(__webpack_require__(/*! classnames */ "./node_modules/classnames/index.js")); var _keycode = _interopRequireDefault(__webpack_require__(/*! keycode */ "./node_modules/keycode/index.js")); var _ownerWindow = _interopRequireDefault(__webpack_require__(/*! ../utils/ownerWindow */ "./node_modules/@material-ui/core/utils/ownerWindow.js")); var _withStyles = _interopRequireDefault(__webpack_require__(/*! ../styles/withStyles */ "./node_modules/@material-ui/core/styles/withStyles.js")); var _focusVisible = __webpack_require__(/*! ./focusVisible */ "./node_modules/@material-ui/core/ButtonBase/focusVisible.js"); var _TouchRipple = _interopRequireDefault(__webpack_require__(/*! ./TouchRipple */ "./node_modules/@material-ui/core/ButtonBase/TouchRipple.js")); var _createRippleHandler = _interopRequireDefault(__webpack_require__(/*! ./createRippleHandler */ "./node_modules/@material-ui/core/ButtonBase/createRippleHandler.js")); var styles = { root: { display: 'inline-flex', alignItems: 'center', justifyContent: 'center', position: 'relative', // Remove grey highlight WebkitTapHighlightColor: 'transparent', backgroundColor: 'transparent', // Reset default value // We disable the focus ring for mouse, touch and keyboard users. outline: 'none', border: 0, margin: 0, // Remove the margin in Safari borderRadius: 0, padding: 0, // Remove the padding in Firefox cursor: 'pointer', userSelect: 'none', verticalAlign: 'middle', '-moz-appearance': 'none', // Reset '-webkit-appearance': 'none', // Reset textDecoration: 'none', // So we take precedent over the style of a native element. color: 'inherit', '&::-moz-focus-inner': { borderStyle: 'none' // Remove Firefox dotted outline. }, '&$disabled': { pointerEvents: 'none', // Disable link interactions cursor: 'default' } }, disabled: {}, focusVisible: {} }; /* istanbul ignore if */ exports.styles = styles; if ("development" !== 'production' && !_react.default.createContext) { throw new Error('Material-UI: react@16.3.0 or greater is required.'); } /** * `ButtonBase` contains as few styles as possible. * It aims to be a simple building block for creating a button. * It contains a load of style reset and some focus/ripple logic. */ var ButtonBase = /*#__PURE__*/ function (_React$Component) { (0, _inherits2.default)(ButtonBase, _React$Component); function ButtonBase() { var _ref; var _temp, _this; (0, _classCallCheck2.default)(this, ButtonBase); for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) { args[_key] = arguments[_key]; } return (0, _possibleConstructorReturn2.default)(_this, (_temp = _this = (0, _possibleConstructorReturn2.default)(this, (_ref = ButtonBase.__proto__ || Object.getPrototypeOf(ButtonBase)).call.apply(_ref, [this].concat(args))), _this.ripple = null, _this.keyDown = false, _this.button = null, _this.focusVisibleTimeout = null, _this.focusVisibleCheckTime = 50, _this.focusVisibleMaxCheckTimes = 5, _this.handleMouseDown = (0, _createRippleHandler.default)((0, _assertThisInitialized2.default)(_this), 'MouseDown', 'start', function () { clearTimeout(_this.focusVisibleTimeout); if (_this.state.focusVisible) { _this.setState({ focusVisible: false }); } }), _this.handleMouseUp = (0, _createRippleHandler.default)((0, _assertThisInitialized2.default)(_this), 'MouseUp', 'stop'), _this.handleMouseLeave = (0, _createRippleHandler.default)((0, _assertThisInitialized2.default)(_this), 'MouseLeave', 'stop', function (event) { if (_this.state.focusVisible) { event.preventDefault(); } }), _this.handleTouchStart = (0, _createRippleHandler.default)((0, _assertThisInitialized2.default)(_this), 'TouchStart', 'start'), _this.handleTouchEnd = (0, _createRippleHandler.default)((0, _assertThisInitialized2.default)(_this), 'TouchEnd', 'stop'), _this.handleTouchMove = (0, _createRippleHandler.default)((0, _assertThisInitialized2.default)(_this), 'TouchMove', 'stop'), _this.handleBlur = (0, _createRippleHandler.default)((0, _assertThisInitialized2.default)(_this), 'Blur', 'stop', function () { clearTimeout(_this.focusVisibleTimeout); if (_this.state.focusVisible) { _this.setState({ focusVisible: false }); } }), _this.state = {}, _this.onRippleRef = function (node) { _this.ripple = node; }, _this.onFocusVisibleHandler = function (event) { _this.keyDown = false; _this.setState({ focusVisible: true }); if (_this.props.onFocusVisible) { _this.props.onFocusVisible(event); } }, _this.handleKeyDown = function (event) { var _this$props = _this.props, component = _this$props.component, focusRipple = _this$props.focusRipple, onKeyDown = _this$props.onKeyDown, onClick = _this$props.onClick; var key = (0, _keycode.default)(event); // Check if key is already down to avoid repeats being counted as multiple activations if (focusRipple && !_this.keyDown && _this.state.focusVisible && _this.ripple && key === 'space') { _this.keyDown = true; event.persist(); _this.ripple.stop(event, function () { _this.ripple.start(event); }); } if (onKeyDown) { onKeyDown(event); } // Keyboard accessibility for non interactive elements if (event.target === event.currentTarget && component && component !== 'button' && (key === 'space' || key === 'enter') && !(_this.button.tagName === 'A' && _this.button.href)) { event.preventDefault(); if (onClick) { onClick(event); } } }, _this.handleKeyUp = function (event) { if (_this.props.focusRipple && (0, _keycode.default)(event) === 'space' && _this.ripple && _this.state.focusVisible) { _this.keyDown = false; event.persist(); _this.ripple.stop(event, function () { _this.ripple.pulsate(event); }); } if (_this.props.onKeyUp) { _this.props.onKeyUp(event); } }, _this.handleFocus = function (event) { if (_this.props.disabled) { return; } // Fix for https://github.com/facebook/react/issues/7769 if (!_this.button) { _this.button = event.currentTarget; } event.persist(); (0, _focusVisible.detectFocusVisible)((0, _assertThisInitialized2.default)(_this), _this.button, function () { _this.onFocusVisibleHandler(event); }); if (_this.props.onFocus) { _this.props.onFocus(event); } }, _temp)); } (0, _createClass2.default)(ButtonBase, [{ key: "componentDidMount", value: function componentDidMount() { var _this2 = this; this.button = _reactDom.default.findDOMNode(this); (0, _focusVisible.listenForFocusKeys)((0, _ownerWindow.default)(this.button)); if (this.props.action) { this.props.action({ focusVisible: function focusVisible() { _this2.setState({ focusVisible: true }); _this2.button.focus(); } }); } } }, { key: "componentDidUpdate", value: function componentDidUpdate(prevProps, prevState) { if (this.props.focusRipple && !this.props.disableRipple && !prevState.focusVisible && this.state.focusVisible) { this.ripple.pulsate(); } } }, { key: "componentWillUnmount", value: function componentWillUnmount() { this.button = null; clearTimeout(this.focusVisibleTimeout); } }, { key: "render", value: function render() { var _classNames; var _props = this.props, action = _props.action, buttonRef = _props.buttonRef, centerRipple = _props.centerRipple, children = _props.children, classes = _props.classes, classNameProp = _props.className, component = _props.component, disabled = _props.disabled, disableRipple = _props.disableRipple, disableTouchRipple = _props.disableTouchRipple, focusRipple = _props.focusRipple, focusVisibleClassName = _props.focusVisibleClassName, onBlur = _props.onBlur, onFocus = _props.onFocus, onFocusVisible = _props.onFocusVisible, onKeyDown = _props.onKeyDown, onKeyUp = _props.onKeyUp, onMouseDown = _props.onMouseDown, onMouseLeave = _props.onMouseLeave, onMouseUp = _props.onMouseUp, onTouchEnd = _props.onTouchEnd, onTouchMove = _props.onTouchMove, onTouchStart = _props.onTouchStart, tabIndex = _props.tabIndex, TouchRippleProps = _props.TouchRippleProps, type = _props.type, other = (0, _objectWithoutProperties2.default)(_props, ["action", "buttonRef", "centerRipple", "children", "classes", "className", "component", "disabled", "disableRipple", "disableTouchRipple", "focusRipple", "focusVisibleClassName", "onBlur", "onFocus", "onFocusVisible", "onKeyDown", "onKeyUp", "onMouseDown", "onMouseLeave", "onMouseUp", "onTouchEnd", "onTouchMove", "onTouchStart", "tabIndex", "TouchRippleProps", "type"]); var className = (0, _classnames.default)(classes.root, (_classNames = {}, (0, _defineProperty2.default)(_classNames, classes.disabled, disabled), (0, _defineProperty2.default)(_classNames, classes.focusVisible, this.state.focusVisible), (0, _defineProperty2.default)(_classNames, focusVisibleClassName, this.state.focusVisible), _classNames), classNameProp); var buttonProps = {}; var ComponentProp = component; if (ComponentProp === 'button' && other.href) { ComponentProp = 'a'; } if (ComponentProp === 'button') { buttonProps.type = type || 'button'; buttonProps.disabled = disabled; } else { buttonProps.role = 'button'; } return _react.default.createElement(ComponentProp, (0, _extends2.default)({ onBlur: this.handleBlur, onFocus: this.handleFocus, onKeyDown: this.handleKeyDown, onKeyUp: this.handleKeyUp, onMouseDown: this.handleMouseDown, onMouseLeave: this.handleMouseLeave, onMouseUp: this.handleMouseUp, onTouchEnd: this.handleTouchEnd, onTouchMove: this.handleTouchMove, onTouchStart: this.handleTouchStart, tabIndex: disabled ? '-1' : tabIndex, className: className, ref: buttonRef }, buttonProps, other), children, !disableRipple && !disabled ? _react.default.createElement(_TouchRipple.default, (0, _extends2.default)({ innerRef: this.onRippleRef, center: centerRipple }, TouchRippleProps)) : null); } }], [{ key: "getDerivedStateFromProps", value: function getDerivedStateFromProps(nextProps, prevState) { if (typeof prevState.focusVisible === 'undefined') { return { focusVisible: false, lastDisabled: nextProps.disabled }; } // The blur won't fire when the disabled state is set on a focused input. // We need to book keep the focused state manually. if (!prevState.prevState && nextProps.disabled && prevState.focusVisible) { return { focusVisible: false, lastDisabled: nextProps.disabled }; } return { lastDisabled: nextProps.disabled }; } }]); return ButtonBase; }(_react.default.Component); ButtonBase.propTypes = true ? { /** * Callback fired when the component mounts. * This is useful when you want to trigger an action programmatically. * It currently only supports `focusVisible()` action. * * @param {object} actions This object contains all possible actions * that can be triggered programmatically. */ action: _propTypes.default.func, /** * Use that property to pass a ref callback to the native button component. */ buttonRef: _propTypes.default.oneOfType([_propTypes.default.func, _propTypes.default.object]), /** * If `true`, the ripples will be centered. * They won't start at the cursor interaction position. */ centerRipple: _propTypes.default.bool, /** * The content of the component. */ children: _propTypes.default.node, /** * Override or extend the styles applied to the component. * See [CSS API](#css-api) below for more details. */ classes: _propTypes.default.object.isRequired, /** * @ignore */ className: _propTypes.default.string, /** * The component used for the root node. * Either a string to use a DOM element or a component. */ component: _propTypes.default.oneOfType([_propTypes.default.string, _propTypes.default.func, _propTypes.default.object]), /** * If `true`, the base button will be disabled. */ disabled: _propTypes.default.bool, /** * If `true`, the ripple effect will be disabled. */ disableRipple: _propTypes.default.bool, /** * If `true`, the touch ripple effect will be disabled. */ disableTouchRipple: _propTypes.default.bool, /** * If `true`, the base button will have a keyboard focus ripple. * `disableRipple` must also be `false`. */ focusRipple: _propTypes.default.bool, /** * This property can help a person know which element has the keyboard focus. * The class name will be applied when the element gain the focus throught a keyboard interaction. * It's a polyfill for the [CSS :focus-visible feature](https://drafts.csswg.org/selectors-4/#the-focus-visible-pseudo). * The rational for using this feature [is explain here](https://github.com/WICG/focus-visible/blob/master/explainer.md). */ focusVisibleClassName: _propTypes.default.string, /** * @ignore */ onBlur: _propTypes.default.func, /** * @ignore */ onClick: _propTypes.default.func, /** * @ignore */ onFocus: _propTypes.default.func, /** * Callback fired when the component is focused with a keyboard. * We trigger a `onFocus` callback too. */ onFocusVisible: _propTypes.default.func, /** * @ignore */ onKeyDown: _propTypes.default.func, /** * @ignore */ onKeyUp: _propTypes.default.func, /** * @ignore */ onMouseDown: _propTypes.default.func, /** * @ignore */ onMouseLeave: _propTypes.default.func, /** * @ignore */ onMouseUp: _propTypes.default.func, /** * @ignore */ onTouchEnd: _propTypes.default.func, /** * @ignore */ onTouchMove: _propTypes.default.func, /** * @ignore */ onTouchStart: _propTypes.default.func, /** * @ignore */ role: _propTypes.default.string, /** * @ignore */ tabIndex: _propTypes.default.oneOfType([_propTypes.default.number, _propTypes.default.string]), /** * Properties applied to the `TouchRipple` element. */ TouchRippleProps: _propTypes.default.object, /** * Used to control the button's purpose. * This property passes the value to the `type` attribute of the native button component. * Valid property values include `button`, `submit`, and `reset`. */ type: _propTypes.default.string } : undefined; ButtonBase.defaultProps = { centerRipple: false, component: 'button', disableRipple: false, disableTouchRipple: false, focusRipple: false, tabIndex: '0', type: 'button' }; var _default = (0, _withStyles.default)(styles, { name: 'MuiButtonBase' })(ButtonBase); exports.default = _default; /***/ }), /***/ "./node_modules/@material-ui/core/ButtonBase/Ripple.js": /*!*************************************************************!*\ !*** ./node_modules/@material-ui/core/ButtonBase/Ripple.js ***! \*************************************************************/ /*! no static exports found */ /***/ (function(module, exports, __webpack_require__) { "use strict"; var _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/builtin/interopRequireDefault */ "./node_modules/@babel/runtime/helpers/builtin/interopRequireDefault.js"); Object.defineProperty(exports, "__esModule", { value: true }); exports.default = void 0; var _extends2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/builtin/extends */ "./node_modules/@babel/runtime/helpers/builtin/extends.js")); var _defineProperty2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/builtin/defineProperty */ "./node_modules/@babel/runtime/helpers/builtin/defineProperty.js")); var _objectWithoutProperties2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/builtin/objectWithoutProperties */ "./node_modules/@babel/runtime/helpers/builtin/objectWithoutProperties.js")); var _classCallCheck2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/builtin/classCallCheck */ "./node_modules/@babel/runtime/helpers/builtin/classCallCheck.js")); var _createClass2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/builtin/createClass */ "./node_modules/@babel/runtime/helpers/builtin/createClass.js")); var _possibleConstructorReturn2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/builtin/possibleConstructorReturn */ "./node_modules/@babel/runtime/helpers/builtin/possibleConstructorReturn.js")); var _inherits2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/builtin/inherits */ "./node_modules/@babel/runtime/helpers/builtin/inherits.js")); var _react = _interopRequireDefault(__webpack_require__(/*! react */ "./node_modules/react/index.js")); var _propTypes = _interopRequireDefault(__webpack_require__(/*! prop-types */ "./node_modules/prop-types/index.js")); var _classnames = _interopRequireDefault(__webpack_require__(/*! classnames */ "./node_modules/classnames/index.js")); var _Transition = _interopRequireDefault(__webpack_require__(/*! react-transition-group/Transition */ "./node_modules/@material-ui/core/node_modules/react-transition-group/Transition.js")); /** * @ignore - internal component. */ var Ripple = /*#__PURE__*/ function (_React$Component) { (0, _inherits2.default)(Ripple, _React$Component); function Ripple() { var _ref; var _temp, _this; (0, _classCallCheck2.default)(this, Ripple); for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) { args[_key] = arguments[_key]; } return (0, _possibleConstructorReturn2.default)(_this, (_temp = _this = (0, _possibleConstructorReturn2.default)(this, (_ref = Ripple.__proto__ || Object.getPrototypeOf(Ripple)).call.apply(_ref, [this].concat(args))), _this.state = { visible: false, leaving: false }, _this.handleEnter = function () { _this.setState({ visible: true }); }, _this.handleExit = function () { _this.setState({ leaving: true }); }, _temp)); } (0, _createClass2.default)(Ripple, [{ key: "render", value: function render() { var _classNames, _classNames2; var _props = this.props, classes = _props.classes, classNameProp = _props.className, pulsate = _props.pulsate, rippleX = _props.rippleX, rippleY = _props.rippleY, rippleSize = _props.rippleSize, other = (0, _objectWithoutProperties2.default)(_props, ["classes", "className", "pulsate", "rippleX", "rippleY", "rippleSize"]); var _state = this.state, visible = _state.visible, leaving = _state.leaving; var rippleClassName = (0, _classnames.default)(classes.ripple, (_classNames = {}, (0, _defineProperty2.default)(_classNames, classes.rippleVisible, visible), (0, _defineProperty2.default)(_classNames, classes.ripplePulsate, pulsate), _classNames), classNameProp); var rippleStyles = { width: rippleSize, height: rippleSize, top: -(rippleSize / 2) + rippleY, left: -(rippleSize / 2) + rippleX }; var childClassName = (0, _classnames.default)(classes.child, (_classNames2 = {}, (0, _defineProperty2.default)(_classNames2, classes.childLeaving, leaving), (0, _defineProperty2.default)(_classNames2, classes.childPulsate, pulsate), _classNames2)); return _react.default.createElement(_Transition.default, (0, _extends2.default)({ onEnter: this.handleEnter, onExit: this.handleExit }, other), _react.default.createElement("span", { className: rippleClassName, style: rippleStyles }, _react.default.createElement("span", { className: childClassName }))); } }]); return Ripple; }(_react.default.Component); Ripple.propTypes = true ? { /** * Override or extend the styles applied to the component. * See [CSS API](#css-api) below for more details. */ classes: _propTypes.default.object.isRequired, /** * @ignore */ className: _propTypes.default.string, /** * If `true`, the ripple pulsates, typically indicating the keyboard focus state of an element. */ pulsate: _propTypes.default.bool, /** * Diameter of the ripple. */ rippleSize: _propTypes.default.number, /** * Horizontal position of the ripple center. */ rippleX: _propTypes.default.number, /** * Vertical position of the ripple center. */ rippleY: _propTypes.default.number } : undefined; Ripple.defaultProps = { pulsate: false }; var _default = Ripple; exports.default = _default; /***/ }), /***/ "./node_modules/@material-ui/core/ButtonBase/TouchRipple.js": /*!******************************************************************!*\ !*** ./node_modules/@material-ui/core/ButtonBase/TouchRipple.js ***! \******************************************************************/ /*! no static exports found */ /***/ (function(module, exports, __webpack_require__) { "use strict"; var _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/builtin/interopRequireDefault */ "./node_modules/@babel/runtime/helpers/builtin/interopRequireDefault.js"); Object.defineProperty(exports, "__esModule", { value: true }); exports.default = exports.styles = exports.DELAY_RIPPLE = void 0; var _extends2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/builtin/extends */ "./node_modules/@babel/runtime/helpers/builtin/extends.js")); var _objectWithoutProperties2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/builtin/objectWithoutProperties */ "./node_modules/@babel/runtime/helpers/builtin/objectWithoutProperties.js")); var _toConsumableArray2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/builtin/toConsumableArray */ "./node_modules/@babel/runtime/helpers/builtin/toConsumableArray.js")); var _classCallCheck2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/builtin/classCallCheck */ "./node_modules/@babel/runtime/helpers/builtin/classCallCheck.js")); var _createClass2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/builtin/createClass */ "./node_modules/@babel/runtime/helpers/builtin/createClass.js")); var _possibleConstructorReturn2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/builtin/possibleConstructorReturn */ "./node_modules/@babel/runtime/helpers/builtin/possibleConstructorReturn.js")); var _inherits2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/builtin/inherits */ "./node_modules/@babel/runtime/helpers/builtin/inherits.js")); var _assertThisInitialized2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/builtin/assertThisInitialized */ "./node_modules/@babel/runtime/helpers/builtin/assertThisInitialized.js")); var _react = _interopRequireDefault(__webpack_require__(/*! react */ "./node_modules/react/index.js")); var _propTypes = _interopRequireDefault(__webpack_require__(/*! prop-types */ "./node_modules/prop-types/index.js")); var _reactDom = _interopRequireDefault(__webpack_require__(/*! react-dom */ "./node_modules/react-dom/index.js")); var _TransitionGroup = _interopRequireDefault(__webpack_require__(/*! react-transition-group/TransitionGroup */ "./node_modules/@material-ui/core/node_modules/react-transition-group/TransitionGroup.js")); var _classnames = _interopRequireDefault(__webpack_require__(/*! classnames */ "./node_modules/classnames/index.js")); var _withStyles = _interopRequireDefault(__webpack_require__(/*! ../styles/withStyles */ "./node_modules/@material-ui/core/styles/withStyles.js")); var _Ripple = _interopRequireDefault(__webpack_require__(/*! ./Ripple */ "./node_modules/@material-ui/core/ButtonBase/Ripple.js")); var DURATION = 550; var DELAY_RIPPLE = 80; exports.DELAY_RIPPLE = DELAY_RIPPLE; var styles = function styles(theme) { return { root: { display: 'block', position: 'absolute', overflow: 'hidden', borderRadius: 'inherit', width: '100%', height: '100%', left: 0, top: 0, pointerEvents: 'none', zIndex: 0 }, ripple: { width: 50, height: 50, left: 0, top: 0, opacity: 0, position: 'absolute' }, rippleVisible: { opacity: 0.3, transform: 'scale(1)', animation: "mui-ripple-enter ".concat(DURATION, "ms ").concat(theme.transitions.easing.easeInOut) }, ripplePulsate: { animationDuration: "".concat(theme.transitions.duration.shorter, "ms") }, child: { opacity: 1, display: 'block', width: '100%', height: '100%', borderRadius: '50%', backgroundColor: 'currentColor' }, childLeaving: { opacity: 0, animation: "mui-ripple-exit ".concat(DURATION, "ms ").concat(theme.transitions.easing.easeInOut) }, childPulsate: { position: 'absolute', left: 0, top: 0, animation: "mui-ripple-pulsate 2500ms ".concat(theme.transitions.easing.easeInOut, " 200ms infinite") }, '@keyframes mui-ripple-enter': { '0%': { transform: 'scale(0)', opacity: 0.1 }, '100%': { transform: 'scale(1)', opacity: 0.3 } }, '@keyframes mui-ripple-exit': { '0%': { opacity: 1 }, '100%': { opacity: 0 } }, '@keyframes mui-ripple-pulsate': { '0%': { transform: 'scale(1)' }, '50%': { transform: 'scale(0.92)' }, '100%': { transform: 'scale(1)' } } }; }; exports.styles = styles; var TouchRipple = /*#__PURE__*/ function (_React$PureComponent) { (0, _inherits2.default)(TouchRipple, _React$PureComponent); function TouchRipple() { var _ref; var _temp, _this; (0, _classCallCheck2.default)(this, TouchRipple); for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) { args[_key] = arguments[_key]; } return (0, _possibleConstructorReturn2.default)(_this, (_temp = _this = (0, _possibleConstructorReturn2.default)(this, (_ref = TouchRipple.__proto__ || Object.getPrototypeOf(TouchRipple)).call.apply(_ref, [this].concat(args))), _this.ignoringMouseDown = false, _this.startTimer = null, _this.startTimerCommit = null, _this.state = { // eslint-disable-next-line react/no-unused-state nextKey: 0, ripples: [] }, _this.pulsate = function () { _this.start({}, { pulsate: true }); }, _this.start = function () { var event = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {}; var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {}; var cb = arguments.length > 2 ? arguments[2] : undefined; var _options$pulsate = options.pulsate, pulsate = _options$pulsate === void 0 ? false : _options$pulsate, _options$center = options.center, center = _options$center === void 0 ? _this.props.center || options.pulsate : _options$center, _options$fakeElement = options.fakeElement, fakeElement = _options$fakeElement === void 0 ? false : _options$fakeElement; if (event.type === 'mousedown' && _this.ignoringMouseDown) { _this.ignoringMouseDown = false; return; } if (event.type === 'touchstart') { _this.ignoringMouseDown = true; } var element = fakeElement ? null : _reactDom.default.findDOMNode((0, _assertThisInitialized2.default)(_this)); var rect = element ? element.getBoundingClientRect() : { width: 0, height: 0, left: 0, top: 0 }; // Get the size of the ripple var rippleX; var rippleY; var rippleSize; if (center || event.clientX === 0 && event.clientY === 0 || !event.clientX && !event.touches) { rippleX = Math.round(rect.width / 2); rippleY = Math.round(rect.height / 2); } else { var clientX = event.clientX ? event.clientX : event.touches[0].clientX; var clientY = event.clientY ? event.clientY : event.touches[0].clientY; rippleX = Math.round(clientX - rect.left); rippleY = Math.round(clientY - rect.top); } if (center) { rippleSize = Math.sqrt((2 * Math.pow(rect.width, 2) + Math.pow(rect.height, 2)) / 3); // For some reason the animation is broken on Mobile Chrome if the size if even. if (rippleSize % 2 === 0) { rippleSize += 1; } } else { var sizeX = Math.max(Math.abs((element ? element.clientWidth : 0) - rippleX), rippleX) * 2 + 2; var sizeY = Math.max(Math.abs((element ? element.clientHeight : 0) - rippleY), rippleY) * 2 + 2; rippleSize = Math.sqrt(Math.pow(sizeX, 2) + Math.pow(sizeY, 2)); } // Touche devices if (event.touches) { // Prepare the ripple effect. _this.startTimerCommit = function () { _this.startCommit({ pulsate: pulsate, rippleX: rippleX, rippleY: rippleY, rippleSize: rippleSize, cb: cb }); }; // Deplay the execution of the ripple effect. _this.startTimer = setTimeout(function () { if (_this.startTimerCommit) { _this.startTimerCommit(); _this.startTimerCommit = null; } }, DELAY_RIPPLE); // We have to make a tradeoff with this value. } else { _this.startCommit({ pulsate: pulsate, rippleX: rippleX, rippleY: rippleY, rippleSize: rippleSize, cb: cb }); } }, _this.startCommit = function (params) { var pulsate = params.pulsate, rippleX = params.rippleX, rippleY = params.rippleY, rippleSize = params.rippleSize, cb = params.cb; _this.setState(function (state) { return { nextKey: state.nextKey + 1, ripples: (0, _toConsumableArray2.default)(state.ripples).concat([_react.default.createElement(_Ripple.default, { key: state.nextKey, classes: _this.props.classes, timeout: { exit: DURATION, enter: DURATION }, pulsate: pulsate, rippleX: rippleX, rippleY: rippleY, rippleSize: rippleSize })]) }; }, cb); }, _this.stop = function (event, cb) { clearTimeout(_this.startTimer); var ripples = _this.state.ripples; // The touch interaction occures to quickly. // We still want to show ripple effect. if (event.type === 'touchend' && _this.startTimerCommit) { event.persist(); _this.startTimerCommit(); _this.startTimerCommit = null; _this.startTimer = setTimeout(function () { _this.stop(event, cb); }, 0); return; } _this.startTimerCommit = null; if (ripples && ripples.length) { _this.setState({ ripples: ripples.slice(1) }, cb); } }, _temp)); } (0, _createClass2.default)(TouchRipple, [{ key: "componentWillUnmount", value: function componentWillUnmount() { clearTimeout(this.startTimer); } }, { key: "render", value: function render() { var _props = this.props, center = _props.center, classes = _props.classes, className = _props.className, other = (0, _objectWithoutProperties2.default)(_props, ["center", "classes", "className"]); return _react.default.createElement(_TransitionGroup.default, (0, _extends2.default)({ component: "span", enter: true, exit: true, className: (0, _classnames.default)(classes.root, className) }, other), this.state.ripples); } }]); return TouchRipple; }(_react.default.PureComponent); TouchRipple.propTypes = true ? { /** * If `true`, the ripple starts at the center of the component * rather than at the point of interaction. */ center: _propTypes.default.bool, /** * Override or extend the styles applied to the component. * See [CSS API](#css-api) below for more details. */ classes: _propTypes.default.object.isRequired, /** * @ignore */ className: _propTypes.default.string } : undefined; TouchRipple.defaultProps = { center: false }; var _default = (0, _withStyles.default)(styles, { flip: false, name: 'MuiTouchRipple' })(TouchRipple); exports.default = _default; /***/ }), /***/ "./node_modules/@material-ui/core/ButtonBase/createRippleHandler.js": /*!**************************************************************************!*\ !*** ./node_modules/@material-ui/core/ButtonBase/createRippleHandler.js ***! \**************************************************************************/ /*! no static exports found */ /***/ (function(module, exports, __webpack_require__) { "use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.default = void 0; function createRippleHandler(instance, eventName, action, cb) { return function handleEvent(event) { if (cb) { cb.call(instance, event); } var ignore = false; if (event.defaultPrevented) { ignore = true; } if (instance.props.disableTouchRipple && eventName !== 'Blur') { ignore = true; } if (!ignore && instance.ripple) { instance.ripple[action](event); } if (typeof instance.props["on".concat(eventName)] === 'function') { instance.props["on".concat(eventName)](event); } return true; }; } var _default = createRippleHandler; exports.default = _default; /***/ }), /***/ "./node_modules/@material-ui/core/ButtonBase/focusVisible.js": /*!*******************************************************************!*\ !*** ./node_modules/@material-ui/core/ButtonBase/focusVisible.js ***! \*******************************************************************/ /*! no static exports found */ /***/ (function(module, exports, __webpack_require__) { "use strict"; var _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/builtin/interopRequireDefault */ "./node_modules/@babel/runtime/helpers/builtin/interopRequireDefault.js"); Object.defineProperty(exports, "__esModule", { value: true }); exports.detectFocusVisible = detectFocusVisible; exports.listenForFocusKeys = listenForFocusKeys; var _keycode = _interopRequireDefault(__webpack_require__(/*! keycode */ "./node_modules/keycode/index.js")); var _warning = _interopRequireDefault(__webpack_require__(/*! warning */ "./node_modules/@material-ui/core/node_modules/warning/warning.js")); var _ownerDocument = _interopRequireDefault(__webpack_require__(/*! ../utils/ownerDocument */ "./node_modules/@material-ui/core/utils/ownerDocument.js")); // weak var internal = { focusKeyPressed: false, keyUpEventTimeout: -1 }; function detectFocusVisible(instance, element, callback) { var attempt = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : 1; true ? (0, _warning.default)(instance.focusVisibleCheckTime, 'Material-UI: missing instance.focusVisibleCheckTime.') : undefined; true ? (0, _warning.default)(instance.focusVisibleMaxCheckTimes, 'Material-UI: missing instance.focusVisibleMaxCheckTimes.') : undefined; instance.focusVisibleTimeout = setTimeout(function () { var doc = (0, _ownerDocument.default)(element); if (internal.focusKeyPressed && (doc.activeElement === element || element.contains(doc.activeElement))) { callback(); } else if (attempt < instance.focusVisibleMaxCheckTimes) { detectFocusVisible(instance, element, callback, attempt + 1); } }, instance.focusVisibleCheckTime); } var FOCUS_KEYS = ['tab', 'enter', 'space', 'esc', 'up', 'down', 'left', 'right']; function isFocusKey(event) { return FOCUS_KEYS.indexOf((0, _keycode.default)(event)) > -1; } var handleKeyUpEvent = function handleKeyUpEvent(event) { if (isFocusKey(event)) { internal.focusKeyPressed = true; // Let's consider that the user is using a keyboard during a window frame of 1s. clearTimeout(internal.keyUpEventTimeout); internal.keyUpEventTimeout = setTimeout(function () { internal.focusKeyPressed = false; }, 1e3); } }; function listenForFocusKeys(win) { // The event listener will only be added once per window. // Duplicate event listeners will be ignored by addEventListener. // Also, this logic is client side only, we don't need a teardown. win.addEventListener('keyup', handleKeyUpEvent); } /***/ }), /***/ "./node_modules/@material-ui/core/ButtonBase/index.js": /*!************************************************************!*\ !*** ./node_modules/@material-ui/core/ButtonBase/index.js ***! \************************************************************/ /*! no static exports found */ /***/ (function(module, exports, __webpack_require__) { "use strict"; var _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/builtin/interopRequireDefault */ "./node_modules/@babel/runtime/helpers/builtin/interopRequireDefault.js"); Object.defineProperty(exports, "__esModule", { value: true }); Object.defineProperty(exports, "default", { enumerable: true, get: function get() { return _ButtonBase.default; } }); var _ButtonBase = _interopRequireDefault(__webpack_require__(/*! ./ButtonBase */ "./node_modules/@material-ui/core/ButtonBase/ButtonBase.js")); /***/ }), /***/ "./node_modules/@material-ui/core/Card/Card.js": /*!*****************************************************!*\ !*** ./node_modules/@material-ui/core/Card/Card.js ***! \*****************************************************/ /*! no static exports found */ /***/ (function(module, exports, __webpack_require__) { "use strict"; var _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/builtin/interopRequireDefault */ "./node_modules/@babel/runtime/helpers/builtin/interopRequireDefault.js"); Object.defineProperty(exports, "__esModule", { value: true }); exports.default = exports.styles = void 0; var _extends2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/builtin/extends */ "./node_modules/@babel/runtime/helpers/builtin/extends.js")); var _objectWithoutProperties2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/builtin/objectWithoutProperties */ "./node_modules/@babel/runtime/helpers/builtin/objectWithoutProperties.js")); var _react = _interopRequireDefault(__webpack_require__(/*! react */ "./node_modules/react/index.js")); var _propTypes = _interopRequireDefault(__webpack_require__(/*! prop-types */ "./node_modules/prop-types/index.js")); var _classnames = _interopRequireDefault(__webpack_require__(/*! classnames */ "./node_modules/classnames/index.js")); var _Paper = _interopRequireDefault(__webpack_require__(/*! ../Paper */ "./node_modules/@material-ui/core/Paper/index.js")); var _withStyles = _interopRequireDefault(__webpack_require__(/*! ../styles/withStyles */ "./node_modules/@material-ui/core/styles/withStyles.js")); // @inheritedComponent Paper var styles = { root: { overflow: 'hidden' } }; exports.styles = styles; function Card(props) { var classes = props.classes, className = props.className, raised = props.raised, other = (0, _objectWithoutProperties2.default)(props, ["classes", "className", "raised"]); return _react.default.createElement(_Paper.default, (0, _extends2.default)({ className: (0, _classnames.default)(classes.root, className), elevation: raised ? 8 : 1 }, other)); } Card.propTypes = true ? { /** * Override or extend the styles applied to the component. * See [CSS API](#css-api) below for more details. */ classes: _propTypes.default.object.isRequired, /** * @ignore */ className: _propTypes.default.string, /** * If `true`, the card will use raised styling. */ raised: _propTypes.default.bool } : undefined; Card.defaultProps = { raised: false }; var _default = (0, _withStyles.default)(styles, { name: 'MuiCard' })(Card); exports.default = _default; /***/ }), /***/ "./node_modules/@material-ui/core/Card/index.js": /*!******************************************************!*\ !*** ./node_modules/@material-ui/core/Card/index.js ***! \******************************************************/ /*! no static exports found */ /***/ (function(module, exports, __webpack_require__) { "use strict"; var _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/builtin/interopRequireDefault */ "./node_modules/@babel/runtime/helpers/builtin/interopRequireDefault.js"); Object.defineProperty(exports, "__esModule", { value: true }); Object.defineProperty(exports, "default", { enumerable: true, get: function get() { return _Card.default; } }); var _Card = _interopRequireDefault(__webpack_require__(/*! ./Card */ "./node_modules/@material-ui/core/Card/Card.js")); /***/ }), /***/ "./node_modules/@material-ui/core/CardActions/CardActions.js": /*!*******************************************************************!*\ !*** ./node_modules/@material-ui/core/CardActions/CardActions.js ***! \*******************************************************************/ /*! no static exports found */ /***/ (function(module, exports, __webpack_require__) { "use strict"; var _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/builtin/interopRequireDefault */ "./node_modules/@babel/runtime/helpers/builtin/interopRequireDefault.js"); Object.defineProperty(exports, "__esModule", { value: true }); exports.default = exports.styles = void 0; var _extends2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/builtin/extends */ "./node_modules/@babel/runtime/helpers/builtin/extends.js")); var _objectWithoutProperties2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/builtin/objectWithoutProperties */ "./node_modules/@babel/runtime/helpers/builtin/objectWithoutProperties.js")); var _defineProperty2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/builtin/defineProperty */ "./node_modules/@babel/runtime/helpers/builtin/defineProperty.js")); var _react = _interopRequireDefault(__webpack_require__(/*! react */ "./node_modules/react/index.js")); var _propTypes = _interopRequireDefault(__webpack_require__(/*! prop-types */ "./node_modules/prop-types/index.js")); var _classnames = _interopRequireDefault(__webpack_require__(/*! classnames */ "./node_modules/classnames/index.js")); var _withStyles = _interopRequireDefault(__webpack_require__(/*! ../styles/withStyles */ "./node_modules/@material-ui/core/styles/withStyles.js")); var _reactHelpers = __webpack_require__(/*! ../utils/reactHelpers */ "./node_modules/@material-ui/core/utils/reactHelpers.js"); __webpack_require__(/*! ../Button */ "./node_modules/@material-ui/core/Button/index.js"); // So we don't have any override priority issue. var styles = function styles(theme) { return { root: (0, _defineProperty2.default)({ display: 'flex', alignItems: 'center', boxSizing: 'border-box', padding: '8px 4px' }, theme.breakpoints.up('sm'), { padding: '8px 12px' }), action: { margin: '0 4px' } }; }; exports.styles = styles; function CardActions(props) { var disableActionSpacing = props.disableActionSpacing, children = props.children, classes = props.classes, className = props.className, other = (0, _objectWithoutProperties2.default)(props, ["disableActionSpacing", "children", "classes", "className"]); return _react.default.createElement("div", (0, _extends2.default)({ className: (0, _classnames.default)(classes.root, className) }, other), disableActionSpacing ? children : (0, _reactHelpers.cloneChildrenWithClassName)(children, classes.action)); } CardActions.propTypes = true ? { /** * The content of the component. */ children: _propTypes.default.node, /** * Override or extend the styles applied to the component. * See [CSS API](#css-api) below for more details. */ classes: _propTypes.default.object.isRequired, /** * @ignore */ className: _propTypes.default.string, /** * If `true`, the card actions do not have additional margin. */ disableActionSpacing: _propTypes.default.bool } : undefined; CardActions.defaultProps = { disableActionSpacing: false }; var _default = (0, _withStyles.default)(styles, { name: 'MuiCardActions' })(CardActions); exports.default = _default; /***/ }), /***/ "./node_modules/@material-ui/core/CardActions/index.js": /*!*************************************************************!*\ !*** ./node_modules/@material-ui/core/CardActions/index.js ***! \*************************************************************/ /*! no static exports found */ /***/ (function(module, exports, __webpack_require__) { "use strict"; var _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/builtin/interopRequireDefault */ "./node_modules/@babel/runtime/helpers/builtin/interopRequireDefault.js"); Object.defineProperty(exports, "__esModule", { value: true }); Object.defineProperty(exports, "default", { enumerable: true, get: function get() { return _CardActions.default; } }); var _CardActions = _interopRequireDefault(__webpack_require__(/*! ./CardActions */ "./node_modules/@material-ui/core/CardActions/CardActions.js")); /***/ }), /***/ "./node_modules/@material-ui/core/CardContent/CardContent.js": /*!*******************************************************************!*\ !*** ./node_modules/@material-ui/core/CardContent/CardContent.js ***! \*******************************************************************/ /*! no static exports found */ /***/ (function(module, exports, __webpack_require__) { "use strict"; var _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/builtin/interopRequireDefault */ "./node_modules/@babel/runtime/helpers/builtin/interopRequireDefault.js"); Object.defineProperty(exports, "__esModule", { value: true }); exports.default = exports.styles = void 0; var _extends2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/builtin/extends */ "./node_modules/@babel/runtime/helpers/builtin/extends.js")); var _objectWithoutProperties2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/builtin/objectWithoutProperties */ "./node_modules/@babel/runtime/helpers/builtin/objectWithoutProperties.js")); var _react = _interopRequireDefault(__webpack_require__(/*! react */ "./node_modules/react/index.js")); var _propTypes = _interopRequireDefault(__webpack_require__(/*! prop-types */ "./node_modules/prop-types/index.js")); var _classnames = _interopRequireDefault(__webpack_require__(/*! classnames */ "./node_modules/classnames/index.js")); var _withStyles = _interopRequireDefault(__webpack_require__(/*! ../styles/withStyles */ "./node_modules/@material-ui/core/styles/withStyles.js")); var styles = function styles(theme) { return { root: theme.mixins.gutters({ paddingTop: 16, paddingBottom: 16, '&:last-child': { paddingBottom: 24 } }) }; }; exports.styles = styles; function CardContent(props) { var classes = props.classes, className = props.className, Component = props.component, other = (0, _objectWithoutProperties2.default)(props, ["classes", "className", "component"]); return _react.default.createElement(Component, (0, _extends2.default)({ className: (0, _classnames.default)(classes.root, className) }, other)); } CardContent.propTypes = true ? { /** * Override or extend the styles applied to the component. * See [CSS API](#css-api) below for more details. */ classes: _propTypes.default.object.isRequired, /** * @ignore */ className: _propTypes.default.string, /** * The component used for the root node. * Either a string to use a DOM element or a component. */ component: _propTypes.default.oneOfType([_propTypes.default.string, _propTypes.default.func, _propTypes.default.object]) } : undefined; CardContent.defaultProps = { component: 'div' }; var _default = (0, _withStyles.default)(styles, { name: 'MuiCardContent' })(CardContent); exports.default = _default; /***/ }), /***/ "./node_modules/@material-ui/core/CardContent/index.js": /*!*************************************************************!*\ !*** ./node_modules/@material-ui/core/CardContent/index.js ***! \*************************************************************/ /*! no static exports found */ /***/ (function(module, exports, __webpack_require__) { "use strict"; var _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/builtin/interopRequireDefault */ "./node_modules/@babel/runtime/helpers/builtin/interopRequireDefault.js"); Object.defineProperty(exports, "__esModule", { value: true }); Object.defineProperty(exports, "default", { enumerable: true, get: function get() { return _CardContent.default; } }); var _CardContent = _interopRequireDefault(__webpack_require__(/*! ./CardContent */ "./node_modules/@material-ui/core/CardContent/CardContent.js")); /***/ }), /***/ "./node_modules/@material-ui/core/CardHeader/CardHeader.js": /*!*****************************************************************!*\ !*** ./node_modules/@material-ui/core/CardHeader/CardHeader.js ***! \*****************************************************************/ /*! no static exports found */ /***/ (function(module, exports, __webpack_require__) { "use strict"; var _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/builtin/interopRequireDefault */ "./node_modules/@babel/runtime/helpers/builtin/interopRequireDefault.js"); Object.defineProperty(exports, "__esModule", { value: true }); exports.default = exports.styles = void 0; var _extends2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/builtin/extends */ "./node_modules/@babel/runtime/helpers/builtin/extends.js")); var _objectWithoutProperties2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/builtin/objectWithoutProperties */ "./node_modules/@babel/runtime/helpers/builtin/objectWithoutProperties.js")); var _react = _interopRequireDefault(__webpack_require__(/*! react */ "./node_modules/react/index.js")); var _propTypes = _interopRequireDefault(__webpack_require__(/*! prop-types */ "./node_modules/prop-types/index.js")); var _classnames = _interopRequireDefault(__webpack_require__(/*! classnames */ "./node_modules/classnames/index.js")); var _withStyles = _interopRequireDefault(__webpack_require__(/*! ../styles/withStyles */ "./node_modules/@material-ui/core/styles/withStyles.js")); var _Typography = _interopRequireDefault(__webpack_require__(/*! ../Typography */ "./node_modules/@material-ui/core/Typography/index.js")); var styles = function styles(theme) { return { root: theme.mixins.gutters({ display: 'flex', alignItems: 'center', paddingTop: 16, paddingBottom: 16 }), avatar: { flex: '0 0 auto', marginRight: 16 }, action: { flex: '0 0 auto', alignSelf: 'flex-start', marginTop: -8, marginRight: -16 }, content: { flex: '1 1 auto' }, title: {}, subheader: {} }; }; exports.styles = styles; function CardHeader(props) { var action = props.action, avatar = props.avatar, classes = props.classes, classNameProp = props.className, Component = props.component, subheader = props.subheader, title = props.title, other = (0, _objectWithoutProperties2.default)(props, ["action", "avatar", "classes", "className", "component", "subheader", "title"]); return _react.default.createElement(Component, (0, _extends2.default)({ className: (0, _classnames.default)(classes.root, classNameProp) }, other), avatar && _react.default.createElement("div", { className: classes.avatar }, avatar), _react.default.createElement("div", { className: classes.content }, _react.default.createElement(_Typography.default, { variant: avatar ? 'body2' : 'headline', component: "span", className: classes.title }, title), subheader && _react.default.createElement(_Typography.default, { variant: avatar ? 'body2' : 'body1', component: "span", color: "textSecondary", className: classes.subheader }, subheader)), action && _react.default.createElement("div", { className: classes.action }, action)); } CardHeader.propTypes = true ? { /** * The action to display in the card header. */ action: _propTypes.default.node, /** * The Avatar for the Card Header. */ avatar: _propTypes.default.node, /** * Override or extend the styles applied to the component. * See [CSS API](#css-api) below for more details. */ classes: _propTypes.default.object.isRequired, /** * @ignore */ className: _propTypes.default.string, /** * The component used for the root node. * Either a string to use a DOM element or a component. */ component: _propTypes.default.oneOfType([_propTypes.default.string, _propTypes.default.func, _propTypes.default.object]), /** * The content of the component. */ subheader: _propTypes.default.node, /** * The content of the Card Title. */ title: _propTypes.default.node } : undefined; CardHeader.defaultProps = { component: 'div' }; var _default = (0, _withStyles.default)(styles, { name: 'MuiCardHeader' })(CardHeader); exports.default = _default; /***/ }), /***/ "./node_modules/@material-ui/core/CardHeader/index.js": /*!************************************************************!*\ !*** ./node_modules/@material-ui/core/CardHeader/index.js ***! \************************************************************/ /*! no static exports found */ /***/ (function(module, exports, __webpack_require__) { "use strict"; var _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/builtin/interopRequireDefault */ "./node_modules/@babel/runtime/helpers/builtin/interopRequireDefault.js"); Object.defineProperty(exports, "__esModule", { value: true }); Object.defineProperty(exports, "default", { enumerable: true, get: function get() { return _CardHeader.default; } }); var _CardHeader = _interopRequireDefault(__webpack_require__(/*! ./CardHeader */ "./node_modules/@material-ui/core/CardHeader/CardHeader.js")); /***/ }), /***/ "./node_modules/@material-ui/core/CardMedia/CardMedia.js": /*!***************************************************************!*\ !*** ./node_modules/@material-ui/core/CardMedia/CardMedia.js ***! \***************************************************************/ /*! no static exports found */ /***/ (function(module, exports, __webpack_require__) { "use strict"; var _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/builtin/interopRequireDefault */ "./node_modules/@babel/runtime/helpers/builtin/interopRequireDefault.js"); Object.defineProperty(exports, "__esModule", { value: true }); exports.default = exports.styles = void 0; var _extends2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/builtin/extends */ "./node_modules/@babel/runtime/helpers/builtin/extends.js")); var _defineProperty2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/builtin/defineProperty */ "./node_modules/@babel/runtime/helpers/builtin/defineProperty.js")); var _objectSpread2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/builtin/objectSpread */ "./node_modules/@babel/runtime/helpers/builtin/objectSpread.js")); var _objectWithoutProperties2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/builtin/objectWithoutProperties */ "./node_modules/@babel/runtime/helpers/builtin/objectWithoutProperties.js")); var _react = _interopRequireDefault(__webpack_require__(/*! react */ "./node_modules/react/index.js")); var _propTypes = _interopRequireDefault(__webpack_require__(/*! prop-types */ "./node_modules/prop-types/index.js")); var _classnames = _interopRequireDefault(__webpack_require__(/*! classnames */ "./node_modules/classnames/index.js")); var _warning = _interopRequireDefault(__webpack_require__(/*! warning */ "./node_modules/@material-ui/core/node_modules/warning/warning.js")); var _withStyles = _interopRequireDefault(__webpack_require__(/*! ../styles/withStyles */ "./node_modules/@material-ui/core/styles/withStyles.js")); var styles = { root: { display: 'block', backgroundSize: 'cover', backgroundRepeat: 'no-repeat', backgroundPosition: 'center' }, media: { width: '100%' } }; exports.styles = styles; var MEDIA_COMPONENTS = ['video', 'audio', 'picture', 'iframe', 'img']; function CardMedia(props) { var classes = props.classes, className = props.className, Component = props.component, image = props.image, src = props.src, style = props.style, other = (0, _objectWithoutProperties2.default)(props, ["classes", "className", "component", "image", "src", "style"]); true ? (0, _warning.default)(Boolean(image || src), 'Material-UI: either `image` or `src` property must be specified.') : undefined; var isMediaComponent = MEDIA_COMPONENTS.indexOf(Component) !== -1; var composedStyle = !isMediaComponent && image ? (0, _objectSpread2.default)({ backgroundImage: "url(\"".concat(image, "\")") }, style) : style; return _react.default.createElement(Component, (0, _extends2.default)({ className: (0, _classnames.default)(classes.root, (0, _defineProperty2.default)({}, classes.media, isMediaComponent), className), style: composedStyle, src: isMediaComponent ? image || src : undefined }, other)); } CardMedia.propTypes = true ? { /** * Override or extend the styles applied to the component. * See [CSS API](#css-api) below for more details. */ classes: _propTypes.default.object.isRequired, /** * @ignore */ className: _propTypes.default.string, /** * Component for rendering image. * Either a string to use a DOM element or a component. */ component: _propTypes.default.oneOfType([_propTypes.default.string, _propTypes.default.func, _propTypes.default.object]), /** * Image to be displayed as a background image. * Either `image` or `src` prop must be specified. * Note that caller must specify height otherwise the image will not be visible. */ image: _propTypes.default.string, /** * An alias for `image` property. * Available only with media components. * Media components: `video`, `audio`, `picture`, `iframe`, `img`. */ src: _propTypes.default.string, /** * @ignore */ style: _propTypes.default.object } : undefined; CardMedia.defaultProps = { component: 'div' }; var _default = (0, _withStyles.default)(styles, { name: 'MuiCardMedia' })(CardMedia); exports.default = _default; /***/ }), /***/ "./node_modules/@material-ui/core/CardMedia/index.js": /*!***********************************************************!*\ !*** ./node_modules/@material-ui/core/CardMedia/index.js ***! \***********************************************************/ /*! no static exports found */ /***/ (function(module, exports, __webpack_require__) { "use strict"; var _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/builtin/interopRequireDefault */ "./node_modules/@babel/runtime/helpers/builtin/interopRequireDefault.js"); Object.defineProperty(exports, "__esModule", { value: true }); Object.defineProperty(exports, "default", { enumerable: true, get: function get() { return _CardMedia.default; } }); var _CardMedia = _interopRequireDefault(__webpack_require__(/*! ./CardMedia */ "./node_modules/@material-ui/core/CardMedia/CardMedia.js")); /***/ }), /***/ "./node_modules/@material-ui/core/Checkbox/Checkbox.js": /*!*************************************************************!*\ !*** ./node_modules/@material-ui/core/Checkbox/Checkbox.js ***! \*************************************************************/ /*! no static exports found */ /***/ (function(module, exports, __webpack_require__) { "use strict"; var _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/builtin/interopRequireDefault */ "./node_modules/@babel/runtime/helpers/builtin/interopRequireDefault.js"); Object.defineProperty(exports, "__esModule", { value: true }); exports.default = exports.styles = void 0; var _extends2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/builtin/extends */ "./node_modules/@babel/runtime/helpers/builtin/extends.js")); var _objectWithoutProperties2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/builtin/objectWithoutProperties */ "./node_modules/@babel/runtime/helpers/builtin/objectWithoutProperties.js")); var _react = _interopRequireDefault(__webpack_require__(/*! react */ "./node_modules/react/index.js")); var _propTypes = _interopRequireDefault(__webpack_require__(/*! prop-types */ "./node_modules/prop-types/index.js")); var _classnames = _interopRequireDefault(__webpack_require__(/*! classnames */ "./node_modules/classnames/index.js")); var _SwitchBase = _interopRequireDefault(__webpack_require__(/*! ../internal/SwitchBase */ "./node_modules/@material-ui/core/internal/SwitchBase.js")); var _CheckBoxOutlineBlank = _interopRequireDefault(__webpack_require__(/*! ../internal/svg-icons/CheckBoxOutlineBlank */ "./node_modules/@material-ui/core/internal/svg-icons/CheckBoxOutlineBlank.js")); var _CheckBox = _interopRequireDefault(__webpack_require__(/*! ../internal/svg-icons/CheckBox */ "./node_modules/@material-ui/core/internal/svg-icons/CheckBox.js")); var _IndeterminateCheckBox = _interopRequireDefault(__webpack_require__(/*! ../internal/svg-icons/IndeterminateCheckBox */ "./node_modules/@material-ui/core/internal/svg-icons/IndeterminateCheckBox.js")); var _helpers = __webpack_require__(/*! ../utils/helpers */ "./node_modules/@material-ui/core/utils/helpers.js"); var _withStyles = _interopRequireDefault(__webpack_require__(/*! ../styles/withStyles */ "./node_modules/@material-ui/core/styles/withStyles.js")); var styles = function styles(theme) { return { root: { color: theme.palette.text.secondary }, checked: {}, disabled: {}, colorPrimary: { '&$checked': { color: theme.palette.primary.main }, '&$disabled': { color: theme.palette.action.disabled } }, colorSecondary: { '&$checked': { color: theme.palette.secondary.main }, '&$disabled': { color: theme.palette.action.disabled } } }; }; exports.styles = styles; function Checkbox(props) { var checkedIcon = props.checkedIcon, classes = props.classes, color = props.color, icon = props.icon, indeterminate = props.indeterminate, indeterminateIcon = props.indeterminateIcon, other = (0, _objectWithoutProperties2.default)(props, ["checkedIcon", "classes", "color", "icon", "indeterminate", "indeterminateIcon"]); return _react.default.createElement(_SwitchBase.default, (0, _extends2.default)({ checkedIcon: indeterminate ? indeterminateIcon : checkedIcon, classes: { root: (0, _classnames.default)(classes.root, classes["color".concat((0, _helpers.capitalize)(color))]), checked: classes.checked, disabled: classes.disabled }, icon: indeterminate ? indeterminateIcon : icon }, other)); } Checkbox.propTypes = true ? { /** * If `true`, the component is checked. */ checked: _propTypes.default.oneOfType([_propTypes.default.bool, _propTypes.default.string]), /** * The icon to display when the component is checked. */ checkedIcon: _propTypes.default.node, /** * Override or extend the styles applied to the component. * See [CSS API](#css-api) below for more details. */ classes: _propTypes.default.object.isRequired, /** * The color of the component. It supports those theme colors that make sense for this component. */ color: _propTypes.default.oneOf(['primary', 'secondary', 'default']), /** * If `true`, the switch will be disabled. */ disabled: _propTypes.default.bool, /** * If `true`, the ripple effect will be disabled. */ disableRipple: _propTypes.default.bool, /** * The icon to display when the component is unchecked. */ icon: _propTypes.default.node, /** * The id of the `input` element. */ id: _propTypes.default.string, /** * If `true`, the component appears indeterminate. */ indeterminate: _propTypes.default.bool, /** * The icon to display when the component is indeterminate. */ indeterminateIcon: _propTypes.default.node, /** * Properties applied to the `input` element. */ inputProps: _propTypes.default.object, /** * Use that property to pass a ref callback to the native input component. */ inputRef: _propTypes.default.oneOfType([_propTypes.default.func, _propTypes.default.object]), /** * Callback fired when the state is changed. * * @param {object} event The event source of the callback. * You can pull out the new value by accessing `event.target.checked`. * @param {boolean} checked The `checked` value of the switch */ onChange: _propTypes.default.func, /** * The input component property `type`. */ type: _propTypes.default.string, /** * The value of the component. */ value: _propTypes.default.string } : undefined; Checkbox.defaultProps = { checkedIcon: _react.default.createElement(_CheckBox.default, null), color: 'secondary', icon: _react.default.createElement(_CheckBoxOutlineBlank.default, null), indeterminate: false, indeterminateIcon: _react.default.createElement(_IndeterminateCheckBox.default, null) }; var _default = (0, _withStyles.default)(styles, { name: 'MuiCheckbox' })(Checkbox); exports.default = _default; /***/ }), /***/ "./node_modules/@material-ui/core/Checkbox/index.js": /*!**********************************************************!*\ !*** ./node_modules/@material-ui/core/Checkbox/index.js ***! \**********************************************************/ /*! no static exports found */ /***/ (function(module, exports, __webpack_require__) { "use strict"; var _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/builtin/interopRequireDefault */ "./node_modules/@babel/runtime/helpers/builtin/interopRequireDefault.js"); Object.defineProperty(exports, "__esModule", { value: true }); Object.defineProperty(exports, "default", { enumerable: true, get: function get() { return _Checkbox.default; } }); var _Checkbox = _interopRequireDefault(__webpack_require__(/*! ./Checkbox */ "./node_modules/@material-ui/core/Checkbox/Checkbox.js")); /***/ }), /***/ "./node_modules/@material-ui/core/Chip/Chip.js": /*!*****************************************************!*\ !*** ./node_modules/@material-ui/core/Chip/Chip.js ***! \*****************************************************/ /*! no static exports found */ /***/ (function(module, exports, __webpack_require__) { "use strict"; var _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/builtin/interopRequireDefault */ "./node_modules/@babel/runtime/helpers/builtin/interopRequireDefault.js"); Object.defineProperty(exports, "__esModule", { value: true }); exports.default = exports.styles = void 0; var _extends2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/builtin/extends */ "./node_modules/@babel/runtime/helpers/builtin/extends.js")); var _defineProperty2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/builtin/defineProperty */ "./node_modules/@babel/runtime/helpers/builtin/defineProperty.js")); var _objectWithoutProperties2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/builtin/objectWithoutProperties */ "./node_modules/@babel/runtime/helpers/builtin/objectWithoutProperties.js")); var _classCallCheck2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/builtin/classCallCheck */ "./node_modules/@babel/runtime/helpers/builtin/classCallCheck.js")); var _createClass2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/builtin/createClass */ "./node_modules/@babel/runtime/helpers/builtin/createClass.js")); var _possibleConstructorReturn2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/builtin/possibleConstructorReturn */ "./node_modules/@babel/runtime/helpers/builtin/possibleConstructorReturn.js")); var _inherits2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/builtin/inherits */ "./node_modules/@babel/runtime/helpers/builtin/inherits.js")); var _react = _interopRequireDefault(__webpack_require__(/*! react */ "./node_modules/react/index.js")); var _propTypes = _interopRequireDefault(__webpack_require__(/*! prop-types */ "./node_modules/prop-types/index.js")); var _classnames = _interopRequireDefault(__webpack_require__(/*! classnames */ "./node_modules/classnames/index.js")); var _keycode = _interopRequireDefault(__webpack_require__(/*! keycode */ "./node_modules/keycode/index.js")); var _Cancel = _interopRequireDefault(__webpack_require__(/*! ../internal/svg-icons/Cancel */ "./node_modules/@material-ui/core/internal/svg-icons/Cancel.js")); var _withStyles = _interopRequireDefault(__webpack_require__(/*! ../styles/withStyles */ "./node_modules/@material-ui/core/styles/withStyles.js")); var _colorManipulator = __webpack_require__(/*! ../styles/colorManipulator */ "./node_modules/@material-ui/core/styles/colorManipulator.js"); var _unsupportedProp = _interopRequireDefault(__webpack_require__(/*! ../utils/unsupportedProp */ "./node_modules/@material-ui/core/utils/unsupportedProp.js")); __webpack_require__(/*! ../Avatar/Avatar */ "./node_modules/@material-ui/core/Avatar/Avatar.js"); // So we don't have any override priority issue. var styles = function styles(theme) { var height = 32; var backgroundColor = theme.palette.type === 'light' ? theme.palette.grey[300] : theme.palette.grey[700]; var deleteIconColor = (0, _colorManipulator.fade)(theme.palette.text.primary, 0.26); return { root: { fontFamily: theme.typography.fontFamily, fontSize: theme.typography.pxToRem(13), display: 'inline-flex', alignItems: 'center', justifyContent: 'center', height: height, color: theme.palette.getContrastText(backgroundColor), backgroundColor: backgroundColor, borderRadius: height / 2, whiteSpace: 'nowrap', transition: theme.transitions.create(['background-color', 'box-shadow']), // label will inherit this from root, then `clickable` class overrides this for both cursor: 'default', // We disable the focus ring for mouse, touch and keyboard users. outline: 'none', textDecoration: 'none', border: 'none', // Remove `button` border padding: 0 // Remove `button` padding }, clickable: { // Remove grey highlight WebkitTapHighlightColor: 'transparent', cursor: 'pointer', '&:hover, &:focus': { backgroundColor: (0, _colorManipulator.emphasize)(backgroundColor, 0.08) }, '&:active': { boxShadow: theme.shadows[1], backgroundColor: (0, _colorManipulator.emphasize)(backgroundColor, 0.12) } }, deletable: { '&:focus': { backgroundColor: (0, _colorManipulator.emphasize)(backgroundColor, 0.08) } }, avatar: { marginRight: -4, width: height, height: height, color: theme.palette.type === 'light' ? theme.palette.grey[700] : theme.palette.grey[300], fontSize: theme.typography.pxToRem(16) }, avatarChildren: { width: 19, height: 19 }, label: { display: 'flex', alignItems: 'center', paddingLeft: 12, paddingRight: 12, userSelect: 'none', whiteSpace: 'nowrap', cursor: 'inherit' }, deleteIcon: { // Remove grey highlight WebkitTapHighlightColor: 'transparent', color: deleteIconColor, cursor: 'pointer', height: 'auto', margin: '0 4px 0 -8px', '&:hover': { color: (0, _colorManipulator.fade)(deleteIconColor, 0.4) } } }; }; /** * Chips represent complex entities in small blocks, such as a contact. */ exports.styles = styles; var Chip = /*#__PURE__*/ function (_React$Component) { (0, _inherits2.default)(Chip, _React$Component); function Chip() { var _ref; var _temp, _this; (0, _classCallCheck2.default)(this, Chip); for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) { args[_key] = arguments[_key]; } return (0, _possibleConstructorReturn2.default)(_this, (_temp = _this = (0, _possibleConstructorReturn2.default)(this, (_ref = Chip.__proto__ || Object.getPrototypeOf(Chip)).call.apply(_ref, [this].concat(args))), _this.chipRef = null, _this.handleDeleteIconClick = function (event) { // Stop the event from bubbling up to the `Chip` event.stopPropagation(); var onDelete = _this.props.onDelete; if (onDelete) { onDelete(event); } }, _this.handleKeyDown = function (event) { // Ignore events from children of `Chip`. if (event.currentTarget !== event.target) { return; } var _this$props = _this.props, onClick = _this$props.onClick, onDelete = _this$props.onDelete, onKeyDown = _this$props.onKeyDown; var key = (0, _keycode.default)(event); if (onClick && (key === 'space' || key === 'enter')) { event.preventDefault(); onClick(event); } else if (onDelete && key === 'backspace') { event.preventDefault(); onDelete(event); } else if (key === 'esc') { event.preventDefault(); if (_this.chipRef) { _this.chipRef.blur(); } } if (onKeyDown) { onKeyDown(event); } }, _temp)); } (0, _createClass2.default)(Chip, [{ key: "render", value: function render() { var _this2 = this; var _props = this.props, avatarProp = _props.avatar, classes = _props.classes, classNameProp = _props.className, clickable = _props.clickable, Component = _props.component, deleteIconProp = _props.deleteIcon, label = _props.label, onClick = _props.onClick, onDelete = _props.onDelete, onKeyDown = _props.onKeyDown, tabIndexProp = _props.tabIndex, other = (0, _objectWithoutProperties2.default)(_props, ["avatar", "classes", "className", "clickable", "component", "deleteIcon", "label", "onClick", "onDelete", "onKeyDown", "tabIndex"]); var className = (0, _classnames.default)(classes.root, (0, _defineProperty2.default)({}, classes.clickable, onClick || clickable), (0, _defineProperty2.default)({}, classes.deletable, onDelete), classNameProp); var deleteIcon = null; if (onDelete) { deleteIcon = deleteIconProp && _react.default.isValidElement(deleteIconProp) ? _react.default.cloneElement(deleteIconProp, { className: (0, _classnames.default)(deleteIconProp.props.className, classes.deleteIcon), onClick: this.handleDeleteIconClick }) : _react.default.createElement(_Cancel.default, { className: classes.deleteIcon, onClick: this.handleDeleteIconClick }); } var avatar = null; if (avatarProp && _react.default.isValidElement(avatarProp)) { avatar = _react.default.cloneElement(avatarProp, { className: (0, _classnames.default)(classes.avatar, avatarProp.props.className), childrenClassName: (0, _classnames.default)(classes.avatarChildren, avatarProp.props.childrenClassName) }); } var tabIndex = tabIndexProp; if (!tabIndex) { tabIndex = onClick || onDelete || clickable ? 0 : -1; } return _react.default.createElement(Component, (0, _extends2.default)({ role: "button", className: className, tabIndex: tabIndex, onClick: onClick, onKeyDown: this.handleKeyDown, ref: function ref(node) { _this2.chipRef = node; } }, other), avatar, _react.default.createElement("span", { className: classes.label }, label), deleteIcon); } }]); return Chip; }(_react.default.Component); Chip.propTypes = true ? { /** * Avatar element. */ avatar: _propTypes.default.element, /** * This property isn't supported. * Use the `component` property if you need to change the children structure. */ children: _unsupportedProp.default, /** * Override or extend the styles applied to the component. * See [CSS API](#css-api) below for more details. */ classes: _propTypes.default.object.isRequired, /** * @ignore */ className: _propTypes.default.string, /** * If true, the chip will appear clickable, and will raise when pressed, * even if the onClick property is not defined. This can be used, for example, * along with the component property to indicate an anchor Chip is clickable. */ clickable: _propTypes.default.bool, /** * The component used for the root node. * Either a string to use a DOM element or a component. */ component: _propTypes.default.oneOfType([_propTypes.default.string, _propTypes.default.func, _propTypes.default.object]), /** * Override the default delete icon element. Shown only if `onDelete` is set. */ deleteIcon: _propTypes.default.element, /** * The content of the label. */ label: _propTypes.default.node, /** * @ignore */ onClick: _propTypes.default.func, /** * Callback function fired when the delete icon is clicked. * If set, the delete icon will be shown. */ onDelete: _propTypes.default.func, /** * @ignore */ onKeyDown: _propTypes.default.func, /** * @ignore */ tabIndex: _propTypes.default.oneOfType([_propTypes.default.number, _propTypes.default.string]) } : undefined; Chip.defaultProps = { clickable: false, component: 'div' }; var _default = (0, _withStyles.default)(styles, { name: 'MuiChip' })(Chip); exports.default = _default; /***/ }), /***/ "./node_modules/@material-ui/core/Chip/index.js": /*!******************************************************!*\ !*** ./node_modules/@material-ui/core/Chip/index.js ***! \******************************************************/ /*! no static exports found */ /***/ (function(module, exports, __webpack_require__) { "use strict"; var _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/builtin/interopRequireDefault */ "./node_modules/@babel/runtime/helpers/builtin/interopRequireDefault.js"); Object.defineProperty(exports, "__esModule", { value: true }); Object.defineProperty(exports, "default", { enumerable: true, get: function get() { return _Chip.default; } }); var _Chip = _interopRequireDefault(__webpack_require__(/*! ./Chip */ "./node_modules/@material-ui/core/Chip/Chip.js")); /***/ }), /***/ "./node_modules/@material-ui/core/CircularProgress/CircularProgress.js": /*!*****************************************************************************!*\ !*** ./node_modules/@material-ui/core/CircularProgress/CircularProgress.js ***! \*****************************************************************************/ /*! no static exports found */ /***/ (function(module, exports, __webpack_require__) { "use strict"; var _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/builtin/interopRequireDefault */ "./node_modules/@babel/runtime/helpers/builtin/interopRequireDefault.js"); Object.defineProperty(exports, "__esModule", { value: true }); exports.default = exports.styles = void 0; var _extends2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/builtin/extends */ "./node_modules/@babel/runtime/helpers/builtin/extends.js")); var _objectSpread2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/builtin/objectSpread */ "./node_modules/@babel/runtime/helpers/builtin/objectSpread.js")); var _defineProperty2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/builtin/defineProperty */ "./node_modules/@babel/runtime/helpers/builtin/defineProperty.js")); var _objectWithoutProperties2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/builtin/objectWithoutProperties */ "./node_modules/@babel/runtime/helpers/builtin/objectWithoutProperties.js")); var _react = _interopRequireDefault(__webpack_require__(/*! react */ "./node_modules/react/index.js")); var _propTypes = _interopRequireDefault(__webpack_require__(/*! prop-types */ "./node_modules/prop-types/index.js")); var _classnames = _interopRequireDefault(__webpack_require__(/*! classnames */ "./node_modules/classnames/index.js")); var _withStyles = _interopRequireDefault(__webpack_require__(/*! ../styles/withStyles */ "./node_modules/@material-ui/core/styles/withStyles.js")); var _helpers = __webpack_require__(/*! ../utils/helpers */ "./node_modules/@material-ui/core/utils/helpers.js"); var SIZE = 44; function getRelativeValue(value, min, max) { var clampedValue = Math.min(Math.max(min, value), max); return (clampedValue - min) / (max - min); } function easeOut(t) { t = getRelativeValue(t, 0, 1); // https://gist.github.com/gre/1650294 t = (t -= 1) * t * t + 1; return t; } function easeIn(t) { return t * t; } var styles = function styles(theme) { return { root: { display: 'inline-block', lineHeight: 1 // Keep the progress centered }, static: { transition: theme.transitions.create('transform') }, indeterminate: { animation: 'mui-progress-circular-rotate 1.4s linear infinite' }, colorPrimary: { color: theme.palette.primary.main }, colorSecondary: { color: theme.palette.secondary.main }, svg: {}, circle: { stroke: 'currentColor' // Use butt to follow the specification, by chance, it's already the default CSS value. // strokeLinecap: 'butt', }, circleStatic: { transition: theme.transitions.create('stroke-dashoffset') }, circleIndeterminate: { animation: 'mui-progress-circular-dash 1.4s ease-in-out infinite', // Some default value that looks fine waiting for the animation to kicks in. strokeDasharray: '80px, 200px', strokeDashoffset: '0px' // Add the unit to fix a Edge 16 and below bug. }, '@keyframes mui-progress-circular-rotate': { '100%': { transform: 'rotate(360deg)' } }, '@keyframes mui-progress-circular-dash': { '0%': { strokeDasharray: '1px, 200px', strokeDashoffset: '0px' }, '50%': { strokeDasharray: '100px, 200px', strokeDashoffset: '-15px' }, '100%': { strokeDasharray: '100px, 200px', strokeDashoffset: '-120px' } } }; }; /** * ## ARIA * * If the progress bar is describing the loading progress of a particular region of a page, * you should use `aria-describedby` to point to the progress bar, and set the `aria-busy` * attribute to `true` on that region until it has finished loading. */ exports.styles = styles; function CircularProgress(props) { var _classNames, _classNames2; var classes = props.classes, className = props.className, color = props.color, size = props.size, style = props.style, thickness = props.thickness, value = props.value, variant = props.variant, other = (0, _objectWithoutProperties2.default)(props, ["classes", "className", "color", "size", "style", "thickness", "value", "variant"]); var circleStyle = {}; var rootStyle = {}; var rootProps = {}; if (variant === 'determinate' || variant === 'static') { var circumference = 2 * Math.PI * ((SIZE - thickness) / 2); circleStyle.strokeDasharray = circumference.toFixed(3); rootProps['aria-valuenow'] = Math.round(value); if (variant === 'static') { circleStyle.strokeDashoffset = "".concat(((100 - value) / 100 * circumference).toFixed(3), "px"); rootStyle.transform = 'rotate(-90deg)'; } else { circleStyle.strokeDashoffset = "".concat((easeIn((100 - value) / 100) * circumference).toFixed(3), "px"); rootStyle.transform = "rotate(".concat((easeOut(value / 70) * 270).toFixed(3), "deg)"); } } return _react.default.createElement("div", (0, _extends2.default)({ className: (0, _classnames.default)(classes.root, (_classNames = {}, (0, _defineProperty2.default)(_classNames, classes["color".concat((0, _helpers.capitalize)(color))], color !== 'inherit'), (0, _defineProperty2.default)(_classNames, classes.indeterminate, variant === 'indeterminate'), (0, _defineProperty2.default)(_classNames, classes.static, variant === 'static'), _classNames), className), style: (0, _objectSpread2.default)({ width: size, height: size }, rootStyle, style), role: "progressbar" }, rootProps, other), _react.default.createElement("svg", { className: classes.svg, viewBox: "".concat(SIZE / 2, " ").concat(SIZE / 2, " ").concat(SIZE, " ").concat(SIZE) }, _react.default.createElement("circle", { className: (0, _classnames.default)(classes.circle, (_classNames2 = {}, (0, _defineProperty2.default)(_classNames2, classes.circleIndeterminate, variant === 'indeterminate'), (0, _defineProperty2.default)(_classNames2, classes.circleStatic, variant === 'static'), _classNames2)), style: circleStyle, cx: SIZE, cy: SIZE, r: (SIZE - thickness) / 2, fill: "none", strokeWidth: thickness }))); } CircularProgress.propTypes = true ? { /** * Override or extend the styles applied to the component. * See [CSS API](#css-api) below for more details. */ classes: _propTypes.default.object.isRequired, /** * @ignore */ className: _propTypes.default.string, /** * The color of the component. It supports those theme colors that make sense for this component. */ color: _propTypes.default.oneOf(['primary', 'secondary', 'inherit']), /** * The size of the circle. */ size: _propTypes.default.oneOfType([_propTypes.default.number, _propTypes.default.string]), /** * @ignore */ style: _propTypes.default.object, /** * The thickness of the circle. */ thickness: _propTypes.default.number, /** * The value of the progress indicator for the determinate and static variants. * Value between 0 and 100. */ value: _propTypes.default.number, /** * The variant to use. * Use indeterminate when there is no progress value. */ variant: _propTypes.default.oneOf(['determinate', 'indeterminate', 'static']) } : undefined; CircularProgress.defaultProps = { color: 'primary', size: 40, thickness: 3.6, value: 0, variant: 'indeterminate' }; var _default = (0, _withStyles.default)(styles, { name: 'MuiCircularProgress', flip: false })(CircularProgress); exports.default = _default; /***/ }), /***/ "./node_modules/@material-ui/core/CircularProgress/index.js": /*!******************************************************************!*\ !*** ./node_modules/@material-ui/core/CircularProgress/index.js ***! \******************************************************************/ /*! no static exports found */ /***/ (function(module, exports, __webpack_require__) { "use strict"; var _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/builtin/interopRequireDefault */ "./node_modules/@babel/runtime/helpers/builtin/interopRequireDefault.js"); Object.defineProperty(exports, "__esModule", { value: true }); Object.defineProperty(exports, "default", { enumerable: true, get: function get() { return _CircularProgress.default; } }); var _CircularProgress = _interopRequireDefault(__webpack_require__(/*! ./CircularProgress */ "./node_modules/@material-ui/core/CircularProgress/CircularProgress.js")); /***/ }), /***/ "./node_modules/@material-ui/core/ClickAwayListener/ClickAwayListener.js": /*!*******************************************************************************!*\ !*** ./node_modules/@material-ui/core/ClickAwayListener/ClickAwayListener.js ***! \*******************************************************************************/ /*! no static exports found */ /***/ (function(module, exports, __webpack_require__) { "use strict"; var _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/builtin/interopRequireDefault */ "./node_modules/@babel/runtime/helpers/builtin/interopRequireDefault.js"); Object.defineProperty(exports, "__esModule", { value: true }); exports.default = void 0; var _extends2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/builtin/extends */ "./node_modules/@babel/runtime/helpers/builtin/extends.js")); var _objectWithoutProperties2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/builtin/objectWithoutProperties */ "./node_modules/@babel/runtime/helpers/builtin/objectWithoutProperties.js")); var _classCallCheck2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/builtin/classCallCheck */ "./node_modules/@babel/runtime/helpers/builtin/classCallCheck.js")); var _createClass2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/builtin/createClass */ "./node_modules/@babel/runtime/helpers/builtin/createClass.js")); var _possibleConstructorReturn2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/builtin/possibleConstructorReturn */ "./node_modules/@babel/runtime/helpers/builtin/possibleConstructorReturn.js")); var _inherits2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/builtin/inherits */ "./node_modules/@babel/runtime/helpers/builtin/inherits.js")); var _react = _interopRequireDefault(__webpack_require__(/*! react */ "./node_modules/react/index.js")); var _reactDom = _interopRequireDefault(__webpack_require__(/*! react-dom */ "./node_modules/react-dom/index.js")); var _propTypes = _interopRequireDefault(__webpack_require__(/*! prop-types */ "./node_modules/prop-types/index.js")); var _reactEventListener = _interopRequireDefault(__webpack_require__(/*! react-event-listener */ "./node_modules/react-event-listener/dist/react-event-listener.cjs.js")); var _ownerDocument = _interopRequireDefault(__webpack_require__(/*! ../utils/ownerDocument */ "./node_modules/@material-ui/core/utils/ownerDocument.js")); // @inheritedComponent EventListener /** * Listen for click events that occur somewhere in the document, outside of the element itself. * For instance, if you need to hide a menu when people click anywhere else on your page. */ var ClickAwayListener = /*#__PURE__*/ function (_React$Component) { (0, _inherits2.default)(ClickAwayListener, _React$Component); function ClickAwayListener() { var _ref; var _temp, _this; (0, _classCallCheck2.default)(this, ClickAwayListener); for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) { args[_key] = arguments[_key]; } return (0, _possibleConstructorReturn2.default)(_this, (_temp = _this = (0, _possibleConstructorReturn2.default)(this, (_ref = ClickAwayListener.__proto__ || Object.getPrototypeOf(ClickAwayListener)).call.apply(_ref, [this].concat(args))), _this.node = null, _this.mounted = null, _this.handleClickAway = function (event) { // Ignore events that have been `event.preventDefault()` marked. if (event.defaultPrevented) { return; } // IE11 support, which trigger the handleClickAway even after the unbind if (!_this.mounted) { return; } // The child might render null. if (!_this.node) { return; } var doc = (0, _ownerDocument.default)(_this.node); if (doc.documentElement && doc.documentElement.contains(event.target) && !_this.node.contains(event.target)) { _this.props.onClickAway(event); } }, _temp)); } (0, _createClass2.default)(ClickAwayListener, [{ key: "componentDidMount", value: function componentDidMount() { // Finds the first child when a component returns a fragment. // https://github.com/facebook/react/blob/036ae3c6e2f056adffc31dfb78d1b6f0c63272f0/packages/react-dom/src/__tests__/ReactDOMFiber-test.js#L105 this.node = _reactDom.default.findDOMNode(this); this.mounted = true; } }, { key: "componentWillUnmount", value: function componentWillUnmount() { this.mounted = false; } }, { key: "render", value: function render() { var _props = this.props, children = _props.children, mouseEvent = _props.mouseEvent, touchEvent = _props.touchEvent, onClickAway = _props.onClickAway, other = (0, _objectWithoutProperties2.default)(_props, ["children", "mouseEvent", "touchEvent", "onClickAway"]); var listenerProps = {}; if (mouseEvent !== false) { listenerProps[mouseEvent] = this.handleClickAway; } if (touchEvent !== false) { listenerProps[touchEvent] = this.handleClickAway; } return _react.default.createElement(_reactEventListener.default, (0, _extends2.default)({ target: "document" }, listenerProps, other), children); } }]); return ClickAwayListener; }(_react.default.Component); ClickAwayListener.propTypes = true ? { /** * The wrapped element. */ children: _propTypes.default.element.isRequired, /** * The mouse event to listen to. You can disable the listener by providing `false`. */ mouseEvent: _propTypes.default.oneOf(['onClick', 'onMouseDown', 'onMouseUp', false]), /** * Callback fired when a "click away" event is detected. */ onClickAway: _propTypes.default.func.isRequired, /** * The touch event to listen to. You can disable the listener by providing `false`. */ touchEvent: _propTypes.default.oneOf(['onTouchStart', 'onTouchEnd', false]) } : undefined; ClickAwayListener.defaultProps = { mouseEvent: 'onMouseUp', touchEvent: 'onTouchEnd' }; var _default = ClickAwayListener; exports.default = _default; /***/ }), /***/ "./node_modules/@material-ui/core/ClickAwayListener/index.js": /*!*******************************************************************!*\ !*** ./node_modules/@material-ui/core/ClickAwayListener/index.js ***! \*******************************************************************/ /*! no static exports found */ /***/ (function(module, exports, __webpack_require__) { "use strict"; var _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/builtin/interopRequireDefault */ "./node_modules/@babel/runtime/helpers/builtin/interopRequireDefault.js"); Object.defineProperty(exports, "__esModule", { value: true }); Object.defineProperty(exports, "default", { enumerable: true, get: function get() { return _ClickAwayListener.default; } }); var _ClickAwayListener = _interopRequireDefault(__webpack_require__(/*! ./ClickAwayListener */ "./node_modules/@material-ui/core/ClickAwayListener/ClickAwayListener.js")); /***/ }), /***/ "./node_modules/@material-ui/core/Collapse/Collapse.js": /*!*************************************************************!*\ !*** ./node_modules/@material-ui/core/Collapse/Collapse.js ***! \*************************************************************/ /*! no static exports found */ /***/ (function(module, exports, __webpack_require__) { "use strict"; var _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/builtin/interopRequireDefault */ "./node_modules/@babel/runtime/helpers/builtin/interopRequireDefault.js"); Object.defineProperty(exports, "__esModule", { value: true }); exports.default = exports.styles = void 0; var _extends2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/builtin/extends */ "./node_modules/@babel/runtime/helpers/builtin/extends.js")); var _objectSpread2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/builtin/objectSpread */ "./node_modules/@babel/runtime/helpers/builtin/objectSpread.js")); var _defineProperty2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/builtin/defineProperty */ "./node_modules/@babel/runtime/helpers/builtin/defineProperty.js")); var _objectWithoutProperties2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/builtin/objectWithoutProperties */ "./node_modules/@babel/runtime/helpers/builtin/objectWithoutProperties.js")); var _classCallCheck2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/builtin/classCallCheck */ "./node_modules/@babel/runtime/helpers/builtin/classCallCheck.js")); var _createClass2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/builtin/createClass */ "./node_modules/@babel/runtime/helpers/builtin/createClass.js")); var _possibleConstructorReturn2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/builtin/possibleConstructorReturn */ "./node_modules/@babel/runtime/helpers/builtin/possibleConstructorReturn.js")); var _inherits2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/builtin/inherits */ "./node_modules/@babel/runtime/helpers/builtin/inherits.js")); var _react = _interopRequireDefault(__webpack_require__(/*! react */ "./node_modules/react/index.js")); var _classnames = _interopRequireDefault(__webpack_require__(/*! classnames */ "./node_modules/classnames/index.js")); var _propTypes = _interopRequireDefault(__webpack_require__(/*! prop-types */ "./node_modules/prop-types/index.js")); var _Transition = _interopRequireDefault(__webpack_require__(/*! react-transition-group/Transition */ "./node_modules/@material-ui/core/node_modules/react-transition-group/Transition.js")); var _withStyles = _interopRequireDefault(__webpack_require__(/*! ../styles/withStyles */ "./node_modules/@material-ui/core/styles/withStyles.js")); var _transitions = __webpack_require__(/*! ../styles/transitions */ "./node_modules/@material-ui/core/styles/transitions.js"); var _utils = __webpack_require__(/*! ../transitions/utils */ "./node_modules/@material-ui/core/transitions/utils.js"); // @inheritedComponent Transition var styles = function styles(theme) { return { container: { height: 0, overflow: 'hidden', transition: theme.transitions.create('height') }, entered: { height: 'auto' }, wrapper: { // Hack to get children with a negative margin to not falsify the height computation. display: 'flex' }, wrapperInner: { width: '100%' } }; }; /** * The Collapse transition is used by the * [Vertical Stepper](/demos/steppers#vertical-stepper) StepContent component. * It uses [react-transition-group](https://github.com/reactjs/react-transition-group) internally. */ exports.styles = styles; var Collapse = /*#__PURE__*/ function (_React$Component) { (0, _inherits2.default)(Collapse, _React$Component); function Collapse() { var _ref; var _temp, _this; (0, _classCallCheck2.default)(this, Collapse); for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) { args[_key] = arguments[_key]; } return (0, _possibleConstructorReturn2.default)(_this, (_temp = _this = (0, _possibleConstructorReturn2.default)(this, (_ref = Collapse.__proto__ || Object.getPrototypeOf(Collapse)).call.apply(_ref, [this].concat(args))), _this.wrapper = null, _this.autoTransitionDuration = null, _this.timer = null, _this.handleEnter = function (node) { node.style.height = _this.props.collapsedHeight; if (_this.props.onEnter) { _this.props.onEnter(node); } }, _this.handleEntering = function (node) { var _this$props = _this.props, timeout = _this$props.timeout, theme = _this$props.theme; var wrapperHeight = _this.wrapper ? _this.wrapper.clientHeight : 0; var _getTransitionProps = (0, _utils.getTransitionProps)(_this.props, { mode: 'enter' }), transitionDuration = _getTransitionProps.duration; if (timeout === 'auto') { var duration2 = theme.transitions.getAutoHeightDuration(wrapperHeight); node.style.transitionDuration = "".concat(duration2, "ms"); _this.autoTransitionDuration = duration2; } else { node.style.transitionDuration = typeof transitionDuration === 'string' ? transitionDuration : "".concat(transitionDuration, "ms"); } node.style.height = "".concat(wrapperHeight, "px"); if (_this.props.onEntering) { _this.props.onEntering(node); } }, _this.handleEntered = function (node) { node.style.height = 'auto'; if (_this.props.onEntered) { _this.props.onEntered(node); } }, _this.handleExit = function (node) { var wrapperHeight = _this.wrapper ? _this.wrapper.clientHeight : 0; node.style.height = "".concat(wrapperHeight, "px"); if (_this.props.onExit) { _this.props.onExit(node); } }, _this.handleExiting = function (node) { var _this$props2 = _this.props, timeout = _this$props2.timeout, theme = _this$props2.theme; var wrapperHeight = _this.wrapper ? _this.wrapper.clientHeight : 0; var _getTransitionProps2 = (0, _utils.getTransitionProps)(_this.props, { mode: 'exit' }), transitionDuration = _getTransitionProps2.duration; if (timeout === 'auto') { var duration2 = theme.transitions.getAutoHeightDuration(wrapperHeight); node.style.transitionDuration = "".concat(duration2, "ms"); _this.autoTransitionDuration = duration2; } else { node.style.transitionDuration = typeof transitionDuration === 'string' ? transitionDuration : "".concat(transitionDuration, "ms"); } node.style.height = _this.props.collapsedHeight; if (_this.props.onExiting) { _this.props.onExiting(node); } }, _this.addEndListener = function (_, next) { if (_this.props.timeout === 'auto') { _this.timer = setTimeout(next, _this.autoTransitionDuration || 0); } }, _temp)); } (0, _createClass2.default)(Collapse, [{ key: "componentWillUnmount", value: function componentWillUnmount() { clearTimeout(this.timer); } }, { key: "render", value: function render() { var _this2 = this; var _props = this.props, children = _props.children, classes = _props.classes, className = _props.className, collapsedHeight = _props.collapsedHeight, Component = _props.component, onEnter = _props.onEnter, onEntered = _props.onEntered, onEntering = _props.onEntering, onExit = _props.onExit, onExiting = _props.onExiting, style = _props.style, theme = _props.theme, timeout = _props.timeout, other = (0, _objectWithoutProperties2.default)(_props, ["children", "classes", "className", "collapsedHeight", "component", "onEnter", "onEntered", "onEntering", "onExit", "onExiting", "style", "theme", "timeout"]); return _react.default.createElement(_Transition.default, (0, _extends2.default)({ onEnter: this.handleEnter, onEntered: this.handleEntered, onEntering: this.handleEntering, onExit: this.handleExit, onExiting: this.handleExiting, addEndListener: this.addEndListener, timeout: timeout === 'auto' ? null : timeout }, other), function (state, childProps) { return _react.default.createElement(Component, (0, _extends2.default)({ className: (0, _classnames.default)(classes.container, (0, _defineProperty2.default)({}, classes.entered, state === 'entered'), className), style: (0, _objectSpread2.default)({}, style, { minHeight: collapsedHeight }) }, childProps), _react.default.createElement("div", { className: classes.wrapper, ref: function ref(node) { _this2.wrapper = node; } }, _react.default.createElement("div", { className: classes.wrapperInner }, children))); }); } }]); return Collapse; }(_react.default.Component); Collapse.propTypes = true ? { /** * The content node to be collapsed. */ children: _propTypes.default.node, /** * Override or extend the styles applied to the component. * See [CSS API](#css-api) below for more details. */ classes: _propTypes.default.object.isRequired, /** * @ignore */ className: _propTypes.default.string, /** * The height of the container when collapsed. */ collapsedHeight: _propTypes.default.string, /** * The component used for the root node. * Either a string to use a DOM element or a component. */ component: _propTypes.default.oneOfType([_propTypes.default.string, _propTypes.default.func, _propTypes.default.object]), /** * If `true`, the component will transition in. */ in: _propTypes.default.bool, /** * @ignore */ onEnter: _propTypes.default.func, /** * @ignore */ onEntered: _propTypes.default.func, /** * @ignore */ onEntering: _propTypes.default.func, /** * @ignore */ onExit: _propTypes.default.func, /** * @ignore */ onExiting: _propTypes.default.func, /** * @ignore */ style: _propTypes.default.object, /** * @ignore */ theme: _propTypes.default.object.isRequired, /** * The duration for the transition, in milliseconds. * You may specify a single timeout for all transitions, or individually with an object. * * Set to 'auto' to automatically calculate transition time based on height. */ timeout: _propTypes.default.oneOfType([_propTypes.default.number, _propTypes.default.shape({ enter: _propTypes.default.number, exit: _propTypes.default.number }), _propTypes.default.oneOf(['auto'])]) } : undefined; Collapse.defaultProps = { collapsedHeight: '0px', component: 'div', timeout: _transitions.duration.standard }; Collapse.muiSupportAuto = true; var _default = (0, _withStyles.default)(styles, { withTheme: true, name: 'MuiCollapse' })(Collapse); exports.default = _default; /***/ }), /***/ "./node_modules/@material-ui/core/Collapse/index.js": /*!**********************************************************!*\ !*** ./node_modules/@material-ui/core/Collapse/index.js ***! \**********************************************************/ /*! no static exports found */ /***/ (function(module, exports, __webpack_require__) { "use strict"; var _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/builtin/interopRequireDefault */ "./node_modules/@babel/runtime/helpers/builtin/interopRequireDefault.js"); Object.defineProperty(exports, "__esModule", { value: true }); Object.defineProperty(exports, "default", { enumerable: true, get: function get() { return _Collapse.default; } }); var _Collapse = _interopRequireDefault(__webpack_require__(/*! ./Collapse */ "./node_modules/@material-ui/core/Collapse/Collapse.js")); /***/ }), /***/ "./node_modules/@material-ui/core/CssBaseline/CssBaseline.js": /*!*******************************************************************!*\ !*** ./node_modules/@material-ui/core/CssBaseline/CssBaseline.js ***! \*******************************************************************/ /*! no static exports found */ /***/ (function(module, exports, __webpack_require__) { "use strict"; var _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/builtin/interopRequireDefault */ "./node_modules/@babel/runtime/helpers/builtin/interopRequireDefault.js"); Object.defineProperty(exports, "__esModule", { value: true }); exports.default = void 0; var _classCallCheck2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/builtin/classCallCheck */ "./node_modules/@babel/runtime/helpers/builtin/classCallCheck.js")); var _createClass2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/builtin/createClass */ "./node_modules/@babel/runtime/helpers/builtin/createClass.js")); var _possibleConstructorReturn2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/builtin/possibleConstructorReturn */ "./node_modules/@babel/runtime/helpers/builtin/possibleConstructorReturn.js")); var _inherits2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/builtin/inherits */ "./node_modules/@babel/runtime/helpers/builtin/inherits.js")); var _react = _interopRequireDefault(__webpack_require__(/*! react */ "./node_modules/react/index.js")); var _propTypes = _interopRequireDefault(__webpack_require__(/*! prop-types */ "./node_modules/prop-types/index.js")); var _styles = __webpack_require__(/*! ../styles */ "./node_modules/@material-ui/core/styles/index.js"); var _exactProp = _interopRequireDefault(__webpack_require__(/*! ../utils/exactProp */ "./node_modules/@material-ui/core/utils/exactProp.js")); /* eslint-disable react/no-unused-prop-types */ var styles = function styles(theme) { return { '@global': { html: { WebkitFontSmoothing: 'antialiased', // Antialiasing. MozOsxFontSmoothing: 'grayscale', // Antialiasing. // Change from `box-sizing: content-box` so that `width` // is not affected by `padding` or `border`. boxSizing: 'border-box' }, '*, *::before, *::after': { boxSizing: 'inherit' }, body: { margin: 0, // Remove the margin in all browsers. backgroundColor: theme.palette.background.default, '@media print': { // Save printer ink. backgroundColor: theme.palette.common.white } } } }; }; /** * Kickstart an elegant, consistent, and simple baseline to build upon. */ var CssBaseline = /*#__PURE__*/ function (_React$Component) { (0, _inherits2.default)(CssBaseline, _React$Component); function CssBaseline() { (0, _classCallCheck2.default)(this, CssBaseline); return (0, _possibleConstructorReturn2.default)(this, (CssBaseline.__proto__ || Object.getPrototypeOf(CssBaseline)).apply(this, arguments)); } (0, _createClass2.default)(CssBaseline, [{ key: "render", value: function render() { return this.props.children; } }]); return CssBaseline; }(_react.default.Component); CssBaseline.propTypes = true ? { /** * You can wrap a node. */ children: _propTypes.default.node, /** * @ignore */ classes: _propTypes.default.object.isRequired } : undefined; CssBaseline.propTypes = true ? (0, _exactProp.default)(CssBaseline.propTypes) : undefined; CssBaseline.defaultProps = { children: null }; var _default = (0, _styles.withStyles)(styles, { name: 'MuiCssBaseline' })(CssBaseline); exports.default = _default; /***/ }), /***/ "./node_modules/@material-ui/core/CssBaseline/index.js": /*!*************************************************************!*\ !*** ./node_modules/@material-ui/core/CssBaseline/index.js ***! \*************************************************************/ /*! no static exports found */ /***/ (function(module, exports, __webpack_require__) { "use strict"; var _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/builtin/interopRequireDefault */ "./node_modules/@babel/runtime/helpers/builtin/interopRequireDefault.js"); Object.defineProperty(exports, "__esModule", { value: true }); Object.defineProperty(exports, "default", { enumerable: true, get: function get() { return _CssBaseline.default; } }); var _CssBaseline = _interopRequireDefault(__webpack_require__(/*! ./CssBaseline */ "./node_modules/@material-ui/core/CssBaseline/CssBaseline.js")); /***/ }), /***/ "./node_modules/@material-ui/core/Dialog/Dialog.js": /*!*********************************************************!*\ !*** ./node_modules/@material-ui/core/Dialog/Dialog.js ***! \*********************************************************/ /*! no static exports found */ /***/ (function(module, exports, __webpack_require__) { "use strict"; var _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/builtin/interopRequireDefault */ "./node_modules/@babel/runtime/helpers/builtin/interopRequireDefault.js"); Object.defineProperty(exports, "__esModule", { value: true }); exports.default = exports.styles = void 0; var _extends2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/builtin/extends */ "./node_modules/@babel/runtime/helpers/builtin/extends.js")); var _objectSpread2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/builtin/objectSpread */ "./node_modules/@babel/runtime/helpers/builtin/objectSpread.js")); var _objectWithoutProperties2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/builtin/objectWithoutProperties */ "./node_modules/@babel/runtime/helpers/builtin/objectWithoutProperties.js")); var _defineProperty2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/builtin/defineProperty */ "./node_modules/@babel/runtime/helpers/builtin/defineProperty.js")); var _react = _interopRequireDefault(__webpack_require__(/*! react */ "./node_modules/react/index.js")); var _propTypes = _interopRequireDefault(__webpack_require__(/*! prop-types */ "./node_modules/prop-types/index.js")); var _classnames = _interopRequireDefault(__webpack_require__(/*! classnames */ "./node_modules/classnames/index.js")); var _withStyles = _interopRequireDefault(__webpack_require__(/*! ../styles/withStyles */ "./node_modules/@material-ui/core/styles/withStyles.js")); var _helpers = __webpack_require__(/*! ../utils/helpers */ "./node_modules/@material-ui/core/utils/helpers.js"); var _Modal = _interopRequireDefault(__webpack_require__(/*! ../Modal */ "./node_modules/@material-ui/core/Modal/index.js")); var _Fade = _interopRequireDefault(__webpack_require__(/*! ../Fade */ "./node_modules/@material-ui/core/Fade/index.js")); var _transitions = __webpack_require__(/*! ../styles/transitions */ "./node_modules/@material-ui/core/styles/transitions.js"); var _Paper = _interopRequireDefault(__webpack_require__(/*! ../Paper */ "./node_modules/@material-ui/core/Paper/index.js")); // @inheritedComponent Modal var styles = function styles(theme) { return { root: {}, scrollPaper: { display: 'flex', justifyContent: 'center', alignItems: 'center' }, scrollBody: { overflowY: 'auto', overflowX: 'hidden' }, paper: { display: 'flex', flexDirection: 'column', margin: 48, position: 'relative', overflowY: 'auto', // Fix IE11 issue, to remove at some point. // We disable the focus ring for mouse, touch and keyboard users. outline: 'none' }, paperScrollPaper: { flex: '0 1 auto', maxHeight: 'calc(100% - 96px)' }, paperScrollBody: { margin: '48px auto' }, paperWidthXs: { maxWidth: Math.max(theme.breakpoints.values.xs, 360), '&$paperScrollBody': (0, _defineProperty2.default)({}, theme.breakpoints.down(Math.max(theme.breakpoints.values.xs, 360) + 48 * 2), { margin: 48 }) }, paperWidthSm: { maxWidth: theme.breakpoints.values.sm, '&$paperScrollBody': (0, _defineProperty2.default)({}, theme.breakpoints.down(theme.breakpoints.values.sm + 48 * 2), { margin: 48 }) }, paperWidthMd: { maxWidth: theme.breakpoints.values.md, '&$paperScrollBody': (0, _defineProperty2.default)({}, theme.breakpoints.down(theme.breakpoints.values.md + 48 * 2), { margin: 48 }) }, paperFullWidth: { width: '100%' }, paperFullScreen: { margin: 0, width: '100%', maxWidth: '100%', height: '100%', maxHeight: 'none', borderRadius: 0 } }; }; /** * Dialogs are overlaid modal paper based components with a backdrop. */ exports.styles = styles; function Dialog(props) { var _classNames; var BackdropProps = props.BackdropProps, children = props.children, classes = props.classes, className = props.className, disableBackdropClick = props.disableBackdropClick, disableEscapeKeyDown = props.disableEscapeKeyDown, fullScreen = props.fullScreen, fullWidth = props.fullWidth, maxWidth = props.maxWidth, onBackdropClick = props.onBackdropClick, onClose = props.onClose, onEnter = props.onEnter, onEntered = props.onEntered, onEntering = props.onEntering, onEscapeKeyDown = props.onEscapeKeyDown, onExit = props.onExit, onExited = props.onExited, onExiting = props.onExiting, open = props.open, PaperProps = props.PaperProps, scroll = props.scroll, TransitionComponent = props.TransitionComponent, transitionDuration = props.transitionDuration, TransitionProps = props.TransitionProps, other = (0, _objectWithoutProperties2.default)(props, ["BackdropProps", "children", "classes", "className", "disableBackdropClick", "disableEscapeKeyDown", "fullScreen", "fullWidth", "maxWidth", "onBackdropClick", "onClose", "onEnter", "onEntered", "onEntering", "onEscapeKeyDown", "onExit", "onExited", "onExiting", "open", "PaperProps", "scroll", "TransitionComponent", "transitionDuration", "TransitionProps"]); return _react.default.createElement(_Modal.default, (0, _extends2.default)({ className: (0, _classnames.default)(classes.root, classes["scroll".concat((0, _helpers.capitalize)(scroll))], className), BackdropProps: (0, _objectSpread2.default)({ transitionDuration: transitionDuration }, BackdropProps), disableBackdropClick: disableBackdropClick, disableEscapeKeyDown: disableEscapeKeyDown, onBackdropClick: onBackdropClick, onEscapeKeyDown: onEscapeKeyDown, onClose: onClose, open: open, role: "dialog" }, other), _react.default.createElement(TransitionComponent, (0, _extends2.default)({ appear: true, "in": open, timeout: transitionDuration, onEnter: onEnter, onEntering: onEntering, onEntered: onEntered, onExit: onExit, onExiting: onExiting, onExited: onExited }, TransitionProps), _react.default.createElement(_Paper.default, (0, _extends2.default)({ elevation: 24, className: (0, _classnames.default)(classes.paper, classes["paperScroll".concat((0, _helpers.capitalize)(scroll))], (_classNames = {}, (0, _defineProperty2.default)(_classNames, classes["paperWidth".concat(maxWidth ? (0, _helpers.capitalize)(maxWidth) : '')], maxWidth), (0, _defineProperty2.default)(_classNames, classes.paperFullScreen, fullScreen), (0, _defineProperty2.default)(_classNames, classes.paperFullWidth, fullWidth), _classNames)) }, PaperProps), children))); } Dialog.propTypes = true ? { /** * @ignore */ BackdropProps: _propTypes.default.object, /** * Dialog children, usually the included sub-components. */ children: _propTypes.default.node.isRequired, /** * Override or extend the styles applied to the component. * See [CSS API](#css-api) below for more details. */ classes: _propTypes.default.object.isRequired, /** * @ignore */ className: _propTypes.default.string, /** * If `true`, clicking the backdrop will not fire the `onClose` callback. */ disableBackdropClick: _propTypes.default.bool, /** * If `true`, hitting escape will not fire the `onClose` callback. */ disableEscapeKeyDown: _propTypes.default.bool, /** * If `true`, the dialog will be full-screen */ fullScreen: _propTypes.default.bool, /** * If `true`, the dialog stretches to `maxWidth`. */ fullWidth: _propTypes.default.bool, /** * Determine the max width of the dialog. * The dialog width grows with the size of the screen, this property is useful * on the desktop where you might need some coherent different width size across your * application. Set to `false` to disable `maxWidth`. */ maxWidth: _propTypes.default.oneOf(['xs', 'sm', 'md', false]), /** * Callback fired when the backdrop is clicked. */ onBackdropClick: _propTypes.default.func, /** * Callback fired when the component requests to be closed. * * @param {object} event The event source of the callback */ onClose: _propTypes.default.func, /** * Callback fired before the dialog enters. */ onEnter: _propTypes.default.func, /** * Callback fired when the dialog has entered. */ onEntered: _propTypes.default.func, /** * Callback fired when the dialog is entering. */ onEntering: _propTypes.default.func, /** * Callback fired when the escape key is pressed, * `disableKeyboard` is false and the modal is in focus. */ onEscapeKeyDown: _propTypes.default.func, /** * Callback fired before the dialog exits. */ onExit: _propTypes.default.func, /** * Callback fired when the dialog has exited. */ onExited: _propTypes.default.func, /** * Callback fired when the dialog is exiting. */ onExiting: _propTypes.default.func, /** * If `true`, the Dialog is open. */ open: _propTypes.default.bool.isRequired, /** * Properties applied to the [`Paper`](/api/paper) element. */ PaperProps: _propTypes.default.object, /** * Determine the container for scrolling the dialog. */ scroll: _propTypes.default.oneOf(['body', 'paper']), /** * Transition component. */ TransitionComponent: _propTypes.default.oneOfType([_propTypes.default.string, _propTypes.default.func, _propTypes.default.object]), /** * The duration for the transition, in milliseconds. * You may specify a single timeout for all transitions, or individually with an object. */ transitionDuration: _propTypes.default.oneOfType([_propTypes.default.number, _propTypes.default.shape({ enter: _propTypes.default.number, exit: _propTypes.default.number })]), /** * Properties applied to the `Transition` element. */ TransitionProps: _propTypes.default.object } : undefined; Dialog.defaultProps = { disableBackdropClick: false, disableEscapeKeyDown: false, fullScreen: false, fullWidth: false, maxWidth: 'sm', scroll: 'paper', TransitionComponent: _Fade.default, transitionDuration: { enter: _transitions.duration.enteringScreen, exit: _transitions.duration.leavingScreen } }; var _default = (0, _withStyles.default)(styles, { name: 'MuiDialog' })(Dialog); exports.default = _default; /***/ }), /***/ "./node_modules/@material-ui/core/Dialog/index.js": /*!********************************************************!*\ !*** ./node_modules/@material-ui/core/Dialog/index.js ***! \********************************************************/ /*! no static exports found */ /***/ (function(module, exports, __webpack_require__) { "use strict"; var _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/builtin/interopRequireDefault */ "./node_modules/@babel/runtime/helpers/builtin/interopRequireDefault.js"); Object.defineProperty(exports, "__esModule", { value: true }); Object.defineProperty(exports, "default", { enumerable: true, get: function get() { return _Dialog.default; } }); var _Dialog = _interopRequireDefault(__webpack_require__(/*! ./Dialog */ "./node_modules/@material-ui/core/Dialog/Dialog.js")); /***/ }), /***/ "./node_modules/@material-ui/core/DialogActions/DialogActions.js": /*!***********************************************************************!*\ !*** ./node_modules/@material-ui/core/DialogActions/DialogActions.js ***! \***********************************************************************/ /*! no static exports found */ /***/ (function(module, exports, __webpack_require__) { "use strict"; var _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/builtin/interopRequireDefault */ "./node_modules/@babel/runtime/helpers/builtin/interopRequireDefault.js"); Object.defineProperty(exports, "__esModule", { value: true }); exports.default = exports.styles = void 0; var _extends2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/builtin/extends */ "./node_modules/@babel/runtime/helpers/builtin/extends.js")); var _objectWithoutProperties2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/builtin/objectWithoutProperties */ "./node_modules/@babel/runtime/helpers/builtin/objectWithoutProperties.js")); var _react = _interopRequireDefault(__webpack_require__(/*! react */ "./node_modules/react/index.js")); var _propTypes = _interopRequireDefault(__webpack_require__(/*! prop-types */ "./node_modules/prop-types/index.js")); var _classnames = _interopRequireDefault(__webpack_require__(/*! classnames */ "./node_modules/classnames/index.js")); var _withStyles = _interopRequireDefault(__webpack_require__(/*! ../styles/withStyles */ "./node_modules/@material-ui/core/styles/withStyles.js")); var _reactHelpers = __webpack_require__(/*! ../utils/reactHelpers */ "./node_modules/@material-ui/core/utils/reactHelpers.js"); __webpack_require__(/*! ../Button */ "./node_modules/@material-ui/core/Button/index.js"); // So we don't have any override priority issue. var styles = { root: { display: 'flex', alignItems: 'center', justifyContent: 'flex-end', flex: '0 0 auto', margin: '8px 4px' }, action: { margin: '0 4px' } }; exports.styles = styles; function DialogActions(props) { var disableActionSpacing = props.disableActionSpacing, children = props.children, classes = props.classes, className = props.className, other = (0, _objectWithoutProperties2.default)(props, ["disableActionSpacing", "children", "classes", "className"]); return _react.default.createElement("div", (0, _extends2.default)({ className: (0, _classnames.default)(classes.root, className) }, other), disableActionSpacing ? children : (0, _reactHelpers.cloneChildrenWithClassName)(children, classes.action)); } DialogActions.propTypes = true ? { /** * The content of the component. */ children: _propTypes.default.node, /** * Override or extend the styles applied to the component. * See [CSS API](#css-api) below for more details. */ classes: _propTypes.default.object.isRequired, /** * @ignore */ className: _propTypes.default.string, /** * If `true`, the dialog actions do not have additional margin. */ disableActionSpacing: _propTypes.default.bool } : undefined; DialogActions.defaultProps = { disableActionSpacing: false }; var _default = (0, _withStyles.default)(styles, { name: 'MuiDialogActions' })(DialogActions); exports.default = _default; /***/ }), /***/ "./node_modules/@material-ui/core/DialogActions/index.js": /*!***************************************************************!*\ !*** ./node_modules/@material-ui/core/DialogActions/index.js ***! \***************************************************************/ /*! no static exports found */ /***/ (function(module, exports, __webpack_require__) { "use strict"; var _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/builtin/interopRequireDefault */ "./node_modules/@babel/runtime/helpers/builtin/interopRequireDefault.js"); Object.defineProperty(exports, "__esModule", { value: true }); Object.defineProperty(exports, "default", { enumerable: true, get: function get() { return _DialogActions.default; } }); var _DialogActions = _interopRequireDefault(__webpack_require__(/*! ./DialogActions */ "./node_modules/@material-ui/core/DialogActions/DialogActions.js")); /***/ }), /***/ "./node_modules/@material-ui/core/DialogContent/DialogContent.js": /*!***********************************************************************!*\ !*** ./node_modules/@material-ui/core/DialogContent/DialogContent.js ***! \***********************************************************************/ /*! no static exports found */ /***/ (function(module, exports, __webpack_require__) { "use strict"; var _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/builtin/interopRequireDefault */ "./node_modules/@babel/runtime/helpers/builtin/interopRequireDefault.js"); Object.defineProperty(exports, "__esModule", { value: true }); exports.default = exports.styles = void 0; var _extends2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/builtin/extends */ "./node_modules/@babel/runtime/helpers/builtin/extends.js")); var _objectWithoutProperties2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/builtin/objectWithoutProperties */ "./node_modules/@babel/runtime/helpers/builtin/objectWithoutProperties.js")); var _react = _interopRequireDefault(__webpack_require__(/*! react */ "./node_modules/react/index.js")); var _propTypes = _interopRequireDefault(__webpack_require__(/*! prop-types */ "./node_modules/prop-types/index.js")); var _classnames = _interopRequireDefault(__webpack_require__(/*! classnames */ "./node_modules/classnames/index.js")); var _withStyles = _interopRequireDefault(__webpack_require__(/*! ../styles/withStyles */ "./node_modules/@material-ui/core/styles/withStyles.js")); var styles = { root: { flex: '1 1 auto', overflowY: 'auto', WebkitOverflowScrolling: 'touch', // Add iOS momentum scrolling. padding: '0 24px 24px', '&:first-child': { paddingTop: 24 } } }; exports.styles = styles; function DialogContent(props) { var classes = props.classes, children = props.children, className = props.className, other = (0, _objectWithoutProperties2.default)(props, ["classes", "children", "className"]); return _react.default.createElement("div", (0, _extends2.default)({ className: (0, _classnames.default)(classes.root, className) }, other), children); } DialogContent.propTypes = true ? { /** * The content of the component. */ children: _propTypes.default.node, /** * Override or extend the styles applied to the component. * See [CSS API](#css-api) below for more details. */ classes: _propTypes.default.object.isRequired, /** * @ignore */ className: _propTypes.default.string } : undefined; var _default = (0, _withStyles.default)(styles, { name: 'MuiDialogContent' })(DialogContent); exports.default = _default; /***/ }), /***/ "./node_modules/@material-ui/core/DialogContent/index.js": /*!***************************************************************!*\ !*** ./node_modules/@material-ui/core/DialogContent/index.js ***! \***************************************************************/ /*! no static exports found */ /***/ (function(module, exports, __webpack_require__) { "use strict"; var _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/builtin/interopRequireDefault */ "./node_modules/@babel/runtime/helpers/builtin/interopRequireDefault.js"); Object.defineProperty(exports, "__esModule", { value: true }); Object.defineProperty(exports, "default", { enumerable: true, get: function get() { return _DialogContent.default; } }); var _DialogContent = _interopRequireDefault(__webpack_require__(/*! ./DialogContent */ "./node_modules/@material-ui/core/DialogContent/DialogContent.js")); /***/ }), /***/ "./node_modules/@material-ui/core/DialogContentText/DialogContentText.js": /*!*******************************************************************************!*\ !*** ./node_modules/@material-ui/core/DialogContentText/DialogContentText.js ***! \*******************************************************************************/ /*! no static exports found */ /***/ (function(module, exports, __webpack_require__) { "use strict"; var _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/builtin/interopRequireDefault */ "./node_modules/@babel/runtime/helpers/builtin/interopRequireDefault.js"); Object.defineProperty(exports, "__esModule", { value: true }); exports.default = exports.styles = void 0; var _extends2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/builtin/extends */ "./node_modules/@babel/runtime/helpers/builtin/extends.js")); var _objectWithoutProperties2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/builtin/objectWithoutProperties */ "./node_modules/@babel/runtime/helpers/builtin/objectWithoutProperties.js")); var _react = _interopRequireDefault(__webpack_require__(/*! react */ "./node_modules/react/index.js")); var _propTypes = _interopRequireDefault(__webpack_require__(/*! prop-types */ "./node_modules/prop-types/index.js")); var _classnames = _interopRequireDefault(__webpack_require__(/*! classnames */ "./node_modules/classnames/index.js")); var _withStyles = _interopRequireDefault(__webpack_require__(/*! ../styles/withStyles */ "./node_modules/@material-ui/core/styles/withStyles.js")); var _Typography = _interopRequireDefault(__webpack_require__(/*! ../Typography */ "./node_modules/@material-ui/core/Typography/index.js")); // @inheritedComponent Typography var styles = function styles(theme) { return { root: { color: theme.palette.text.secondary } }; }; exports.styles = styles; function DialogContentText(props) { var children = props.children, classes = props.classes, className = props.className, other = (0, _objectWithoutProperties2.default)(props, ["children", "classes", "className"]); return _react.default.createElement(_Typography.default, (0, _extends2.default)({ component: "p", variant: "subheading", className: (0, _classnames.default)(classes.root, className) }, other), children); } DialogContentText.propTypes = true ? { /** * The content of the component. */ children: _propTypes.default.node, /** * Override or extend the styles applied to the component. * See [CSS API](#css-api) below for more details. */ classes: _propTypes.default.object.isRequired, /** * @ignore */ className: _propTypes.default.string } : undefined; var _default = (0, _withStyles.default)(styles, { name: 'MuiDialogContentText' })(DialogContentText); exports.default = _default; /***/ }), /***/ "./node_modules/@material-ui/core/DialogContentText/index.js": /*!*******************************************************************!*\ !*** ./node_modules/@material-ui/core/DialogContentText/index.js ***! \*******************************************************************/ /*! no static exports found */ /***/ (function(module, exports, __webpack_require__) { "use strict"; var _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/builtin/interopRequireDefault */ "./node_modules/@babel/runtime/helpers/builtin/interopRequireDefault.js"); Object.defineProperty(exports, "__esModule", { value: true }); Object.defineProperty(exports, "default", { enumerable: true, get: function get() { return _DialogContentText.default; } }); var _DialogContentText = _interopRequireDefault(__webpack_require__(/*! ./DialogContentText */ "./node_modules/@material-ui/core/DialogContentText/DialogContentText.js")); /***/ }), /***/ "./node_modules/@material-ui/core/DialogTitle/DialogTitle.js": /*!*******************************************************************!*\ !*** ./node_modules/@material-ui/core/DialogTitle/DialogTitle.js ***! \*******************************************************************/ /*! no static exports found */ /***/ (function(module, exports, __webpack_require__) { "use strict"; var _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/builtin/interopRequireDefault */ "./node_modules/@babel/runtime/helpers/builtin/interopRequireDefault.js"); Object.defineProperty(exports, "__esModule", { value: true }); exports.default = exports.styles = void 0; var _extends2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/builtin/extends */ "./node_modules/@babel/runtime/helpers/builtin/extends.js")); var _objectWithoutProperties2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/builtin/objectWithoutProperties */ "./node_modules/@babel/runtime/helpers/builtin/objectWithoutProperties.js")); var _react = _interopRequireDefault(__webpack_require__(/*! react */ "./node_modules/react/index.js")); var _propTypes = _interopRequireDefault(__webpack_require__(/*! prop-types */ "./node_modules/prop-types/index.js")); var _classnames = _interopRequireDefault(__webpack_require__(/*! classnames */ "./node_modules/classnames/index.js")); var _withStyles = _interopRequireDefault(__webpack_require__(/*! ../styles/withStyles */ "./node_modules/@material-ui/core/styles/withStyles.js")); var _Typography = _interopRequireDefault(__webpack_require__(/*! ../Typography */ "./node_modules/@material-ui/core/Typography/index.js")); var styles = { root: { margin: 0, padding: '24px 24px 20px', flex: '0 0 auto' } }; exports.styles = styles; function DialogTitle(props) { var children = props.children, classes = props.classes, className = props.className, disableTypography = props.disableTypography, other = (0, _objectWithoutProperties2.default)(props, ["children", "classes", "className", "disableTypography"]); return _react.default.createElement("div", (0, _extends2.default)({ className: (0, _classnames.default)(classes.root, className) }, other), disableTypography ? children : _react.default.createElement(_Typography.default, { variant: "title" }, children)); } DialogTitle.propTypes = true ? { /** * The content of the component. */ children: _propTypes.default.node.isRequired, /** * Override or extend the styles applied to the component. * See [CSS API](#css-api) below for more details. */ classes: _propTypes.default.object.isRequired, /** * @ignore */ className: _propTypes.default.string, /** * If `true`, the children won't be wrapped by a typography component. * For instance, this can be useful to render an h4 instead of the default h2. */ disableTypography: _propTypes.default.bool } : undefined; DialogTitle.defaultProps = { disableTypography: false }; var _default = (0, _withStyles.default)(styles, { name: 'MuiDialogTitle' })(DialogTitle); exports.default = _default; /***/ }), /***/ "./node_modules/@material-ui/core/DialogTitle/index.js": /*!*************************************************************!*\ !*** ./node_modules/@material-ui/core/DialogTitle/index.js ***! \*************************************************************/ /*! no static exports found */ /***/ (function(module, exports, __webpack_require__) { "use strict"; var _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/builtin/interopRequireDefault */ "./node_modules/@babel/runtime/helpers/builtin/interopRequireDefault.js"); Object.defineProperty(exports, "__esModule", { value: true }); Object.defineProperty(exports, "default", { enumerable: true, get: function get() { return _DialogTitle.default; } }); var _DialogTitle = _interopRequireDefault(__webpack_require__(/*! ./DialogTitle */ "./node_modules/@material-ui/core/DialogTitle/DialogTitle.js")); /***/ }), /***/ "./node_modules/@material-ui/core/Divider/Divider.js": /*!***********************************************************!*\ !*** ./node_modules/@material-ui/core/Divider/Divider.js ***! \***********************************************************/ /*! no static exports found */ /***/ (function(module, exports, __webpack_require__) { "use strict"; var _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/builtin/interopRequireDefault */ "./node_modules/@babel/runtime/helpers/builtin/interopRequireDefault.js"); Object.defineProperty(exports, "__esModule", { value: true }); exports.default = exports.styles = void 0; var _extends2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/builtin/extends */ "./node_modules/@babel/runtime/helpers/builtin/extends.js")); var _defineProperty2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/builtin/defineProperty */ "./node_modules/@babel/runtime/helpers/builtin/defineProperty.js")); var _objectWithoutProperties2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/builtin/objectWithoutProperties */ "./node_modules/@babel/runtime/helpers/builtin/objectWithoutProperties.js")); var _react = _interopRequireDefault(__webpack_require__(/*! react */ "./node_modules/react/index.js")); var _propTypes = _interopRequireDefault(__webpack_require__(/*! prop-types */ "./node_modules/prop-types/index.js")); var _classnames = _interopRequireDefault(__webpack_require__(/*! classnames */ "./node_modules/classnames/index.js")); var _withStyles = _interopRequireDefault(__webpack_require__(/*! ../styles/withStyles */ "./node_modules/@material-ui/core/styles/withStyles.js")); var _colorManipulator = __webpack_require__(/*! ../styles/colorManipulator */ "./node_modules/@material-ui/core/styles/colorManipulator.js"); var styles = function styles(theme) { return { root: { height: 1, margin: 0, // Reset browser default style. border: 'none', flexShrink: 0, backgroundColor: theme.palette.divider }, absolute: { position: 'absolute', bottom: 0, left: 0, width: '100%' }, inset: { marginLeft: 72 }, light: { backgroundColor: (0, _colorManipulator.fade)(theme.palette.divider, 0.08) } }; }; exports.styles = styles; function Divider(props) { var _classNames; var absolute = props.absolute, classes = props.classes, classNameProp = props.className, Component = props.component, inset = props.inset, light = props.light, other = (0, _objectWithoutProperties2.default)(props, ["absolute", "classes", "className", "component", "inset", "light"]); var className = (0, _classnames.default)(classes.root, (_classNames = {}, (0, _defineProperty2.default)(_classNames, classes.absolute, absolute), (0, _defineProperty2.default)(_classNames, classes.inset, inset), (0, _defineProperty2.default)(_classNames, classes.light, light), _classNames), classNameProp); return _react.default.createElement(Component, (0, _extends2.default)({ className: className }, other)); } Divider.propTypes = true ? { absolute: _propTypes.default.bool, /** * Override or extend the styles applied to the component. * See [CSS API](#css-api) below for more details. */ classes: _propTypes.default.object.isRequired, /** * @ignore */ className: _propTypes.default.string, /** * The component used for the root node. * Either a string to use a DOM element or a component. */ component: _propTypes.default.oneOfType([_propTypes.default.string, _propTypes.default.func, _propTypes.default.object]), /** * If `true`, the divider will be indented. */ inset: _propTypes.default.bool, /** * If `true`, the divider will have a lighter color. */ light: _propTypes.default.bool } : undefined; Divider.defaultProps = { absolute: false, component: 'hr', inset: false, light: false }; var _default = (0, _withStyles.default)(styles, { name: 'MuiDivider' })(Divider); exports.default = _default; /***/ }), /***/ "./node_modules/@material-ui/core/Divider/index.js": /*!*********************************************************!*\ !*** ./node_modules/@material-ui/core/Divider/index.js ***! \*********************************************************/ /*! no static exports found */ /***/ (function(module, exports, __webpack_require__) { "use strict"; var _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/builtin/interopRequireDefault */ "./node_modules/@babel/runtime/helpers/builtin/interopRequireDefault.js"); Object.defineProperty(exports, "__esModule", { value: true }); Object.defineProperty(exports, "default", { enumerable: true, get: function get() { return _Divider.default; } }); var _Divider = _interopRequireDefault(__webpack_require__(/*! ./Divider */ "./node_modules/@material-ui/core/Divider/Divider.js")); /***/ }), /***/ "./node_modules/@material-ui/core/Drawer/Drawer.js": /*!*********************************************************!*\ !*** ./node_modules/@material-ui/core/Drawer/Drawer.js ***! \*********************************************************/ /*! no static exports found */ /***/ (function(module, exports, __webpack_require__) { "use strict"; var _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/builtin/interopRequireDefault */ "./node_modules/@babel/runtime/helpers/builtin/interopRequireDefault.js"); Object.defineProperty(exports, "__esModule", { value: true }); exports.isHorizontal = isHorizontal; exports.getAnchor = getAnchor; exports.default = exports.styles = void 0; var _objectSpread2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/builtin/objectSpread */ "./node_modules/@babel/runtime/helpers/builtin/objectSpread.js")); var _extends2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/builtin/extends */ "./node_modules/@babel/runtime/helpers/builtin/extends.js")); var _defineProperty2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/builtin/defineProperty */ "./node_modules/@babel/runtime/helpers/builtin/defineProperty.js")); var _objectWithoutProperties2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/builtin/objectWithoutProperties */ "./node_modules/@babel/runtime/helpers/builtin/objectWithoutProperties.js")); var _classCallCheck2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/builtin/classCallCheck */ "./node_modules/@babel/runtime/helpers/builtin/classCallCheck.js")); var _createClass2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/builtin/createClass */ "./node_modules/@babel/runtime/helpers/builtin/createClass.js")); var _possibleConstructorReturn2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/builtin/possibleConstructorReturn */ "./node_modules/@babel/runtime/helpers/builtin/possibleConstructorReturn.js")); var _inherits2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/builtin/inherits */ "./node_modules/@babel/runtime/helpers/builtin/inherits.js")); var _react = _interopRequireDefault(__webpack_require__(/*! react */ "./node_modules/react/index.js")); var _propTypes = _interopRequireDefault(__webpack_require__(/*! prop-types */ "./node_modules/prop-types/index.js")); var _classnames = _interopRequireDefault(__webpack_require__(/*! classnames */ "./node_modules/classnames/index.js")); var _Modal = _interopRequireDefault(__webpack_require__(/*! ../Modal */ "./node_modules/@material-ui/core/Modal/index.js")); var _withStyles = _interopRequireDefault(__webpack_require__(/*! ../styles/withStyles */ "./node_modules/@material-ui/core/styles/withStyles.js")); var _Slide = _interopRequireDefault(__webpack_require__(/*! ../Slide */ "./node_modules/@material-ui/core/Slide/index.js")); var _Paper = _interopRequireDefault(__webpack_require__(/*! ../Paper */ "./node_modules/@material-ui/core/Paper/index.js")); var _helpers = __webpack_require__(/*! ../utils/helpers */ "./node_modules/@material-ui/core/utils/helpers.js"); var _transitions = __webpack_require__(/*! ../styles/transitions */ "./node_modules/@material-ui/core/styles/transitions.js"); var oppositeDirection = { left: 'right', right: 'left', top: 'down', bottom: 'up' }; function isHorizontal(props) { return ['left', 'right'].indexOf(props.anchor) !== -1; } function getAnchor(props) { return props.theme.direction === 'rtl' && isHorizontal(props) ? oppositeDirection[props.anchor] : props.anchor; } var styles = function styles(theme) { return { docked: { flex: '0 0 auto' }, paper: { overflowY: 'auto', display: 'flex', flexDirection: 'column', height: '100vh', flex: '1 0 auto', zIndex: theme.zIndex.drawer, WebkitOverflowScrolling: 'touch', // Add iOS momentum scrolling. // temporary style position: 'fixed', top: 0, // We disable the focus ring for mouse, touch and keyboard users. // At some point, it would be better to keep it for keyboard users. // :focus-ring CSS pseudo-class will help. outline: 'none' }, paperAnchorLeft: { left: 0, right: 'auto' }, paperAnchorRight: { left: 'auto', right: 0 }, paperAnchorTop: { top: 0, left: 0, bottom: 'auto', right: 0, height: 'auto', maxHeight: '100vh' }, paperAnchorBottom: { top: 'auto', left: 0, bottom: 0, right: 0, height: 'auto', maxHeight: '100vh' }, paperAnchorDockedLeft: { borderRight: "1px solid ".concat(theme.palette.divider) }, paperAnchorDockedTop: { borderBottom: "1px solid ".concat(theme.palette.divider) }, paperAnchorDockedRight: { borderLeft: "1px solid ".concat(theme.palette.divider) }, paperAnchorDockedBottom: { borderTop: "1px solid ".concat(theme.palette.divider) }, modal: {} // Just here so people can override the style. }; }; /** * The properties of the [Modal](/api/modal) component are available * when `variant="temporary"` is set. */ exports.styles = styles; var Drawer = /*#__PURE__*/ function (_React$Component) { (0, _inherits2.default)(Drawer, _React$Component); function Drawer() { var _ref; var _temp, _this; (0, _classCallCheck2.default)(this, Drawer); for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) { args[_key] = arguments[_key]; } return (0, _possibleConstructorReturn2.default)(_this, (_temp = _this = (0, _possibleConstructorReturn2.default)(this, (_ref = Drawer.__proto__ || Object.getPrototypeOf(Drawer)).call.apply(_ref, [this].concat(args))), _this.mounted = false, _temp)); } (0, _createClass2.default)(Drawer, [{ key: "componentDidMount", value: function componentDidMount() { this.mounted = true; } }, { key: "render", value: function render() { var _props = this.props, anchorProp = _props.anchor, children = _props.children, classes = _props.classes, className = _props.className, elevation = _props.elevation, _props$ModalProps = _props.ModalProps; _props$ModalProps = _props$ModalProps === void 0 ? {} : _props$ModalProps; var BackdropPropsProp = _props$ModalProps.BackdropProps, ModalProps = (0, _objectWithoutProperties2.default)(_props$ModalProps, ["BackdropProps"]), onClose = _props.onClose, open = _props.open, PaperProps = _props.PaperProps, SlideProps = _props.SlideProps, theme = _props.theme, transitionDuration = _props.transitionDuration, variant = _props.variant, other = (0, _objectWithoutProperties2.default)(_props, ["anchor", "children", "classes", "className", "elevation", "ModalProps", "onClose", "open", "PaperProps", "SlideProps", "theme", "transitionDuration", "variant"]); var anchor = getAnchor(this.props); var drawer = _react.default.createElement(_Paper.default, (0, _extends2.default)({ elevation: variant === 'temporary' ? elevation : 0, square: true, className: (0, _classnames.default)(classes.paper, classes["paperAnchor".concat((0, _helpers.capitalize)(anchor))], (0, _defineProperty2.default)({}, classes["paperAnchorDocked".concat((0, _helpers.capitalize)(anchor))], variant !== 'temporary')) }, PaperProps), children); if (variant === 'permanent') { return _react.default.createElement("div", (0, _extends2.default)({ className: (0, _classnames.default)(classes.docked, className) }, other), drawer); } var slidingDrawer = _react.default.createElement(_Slide.default, (0, _extends2.default)({ "in": open, direction: oppositeDirection[anchor], timeout: transitionDuration, appear: this.mounted }, SlideProps), drawer); if (variant === 'persistent') { return _react.default.createElement("div", (0, _extends2.default)({ className: (0, _classnames.default)(classes.docked, className) }, other), slidingDrawer); } // variant === temporary return _react.default.createElement(_Modal.default, (0, _extends2.default)({ BackdropProps: (0, _objectSpread2.default)({}, BackdropPropsProp, { transitionDuration: transitionDuration }), className: (0, _classnames.default)(classes.modal, className), open: open, onClose: onClose }, other, ModalProps), slidingDrawer); } }]); return Drawer; }(_react.default.Component); Drawer.propTypes = true ? { /** * Side from which the drawer will appear. */ anchor: _propTypes.default.oneOf(['left', 'top', 'right', 'bottom']), /** * The contents of the drawer. */ children: _propTypes.default.node, /** * Override or extend the styles applied to the component. * See [CSS API](#css-api) below for more details. */ classes: _propTypes.default.object.isRequired, /** * @ignore */ className: _propTypes.default.string, /** * The elevation of the drawer. */ elevation: _propTypes.default.number, /** * Properties applied to the [`Modal`](/api/modal) element. */ ModalProps: _propTypes.default.object, /** * Callback fired when the component requests to be closed. * * @param {object} event The event source of the callback */ onClose: _propTypes.default.func, /** * If `true`, the drawer is open. */ open: _propTypes.default.bool, /** * Properties applied to the [`Paper`](/api/paper) element. */ PaperProps: _propTypes.default.object, /** * Properties applied to the [`Slide`](/api/slide) element. */ SlideProps: _propTypes.default.object, /** * @ignore */ theme: _propTypes.default.object.isRequired, /** * The duration for the transition, in milliseconds. * You may specify a single timeout for all transitions, or individually with an object. */ transitionDuration: _propTypes.default.oneOfType([_propTypes.default.number, _propTypes.default.shape({ enter: _propTypes.default.number, exit: _propTypes.default.number })]), /** * The variant to use. */ variant: _propTypes.default.oneOf(['permanent', 'persistent', 'temporary']) } : undefined; Drawer.defaultProps = { anchor: 'left', elevation: 16, open: false, transitionDuration: { enter: _transitions.duration.enteringScreen, exit: _transitions.duration.leavingScreen }, variant: 'temporary' // Mobile first. }; var _default = (0, _withStyles.default)(styles, { name: 'MuiDrawer', flip: false, withTheme: true })(Drawer); exports.default = _default; /***/ }), /***/ "./node_modules/@material-ui/core/Drawer/index.js": /*!********************************************************!*\ !*** ./node_modules/@material-ui/core/Drawer/index.js ***! \********************************************************/ /*! no static exports found */ /***/ (function(module, exports, __webpack_require__) { "use strict"; var _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/builtin/interopRequireDefault */ "./node_modules/@babel/runtime/helpers/builtin/interopRequireDefault.js"); Object.defineProperty(exports, "__esModule", { value: true }); Object.defineProperty(exports, "default", { enumerable: true, get: function get() { return _Drawer.default; } }); var _Drawer = _interopRequireDefault(__webpack_require__(/*! ./Drawer */ "./node_modules/@material-ui/core/Drawer/Drawer.js")); /***/ }), /***/ "./node_modules/@material-ui/core/ExpansionPanel/ExpansionPanel.js": /*!*************************************************************************!*\ !*** ./node_modules/@material-ui/core/ExpansionPanel/ExpansionPanel.js ***! \*************************************************************************/ /*! no static exports found */ /***/ (function(module, exports, __webpack_require__) { "use strict"; var _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/builtin/interopRequireDefault */ "./node_modules/@babel/runtime/helpers/builtin/interopRequireDefault.js"); Object.defineProperty(exports, "__esModule", { value: true }); exports.default = exports.styles = void 0; var _extends2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/builtin/extends */ "./node_modules/@babel/runtime/helpers/builtin/extends.js")); var _defineProperty2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/builtin/defineProperty */ "./node_modules/@babel/runtime/helpers/builtin/defineProperty.js")); var _objectWithoutProperties2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/builtin/objectWithoutProperties */ "./node_modules/@babel/runtime/helpers/builtin/objectWithoutProperties.js")); var _classCallCheck2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/builtin/classCallCheck */ "./node_modules/@babel/runtime/helpers/builtin/classCallCheck.js")); var _createClass2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/builtin/createClass */ "./node_modules/@babel/runtime/helpers/builtin/createClass.js")); var _possibleConstructorReturn2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/builtin/possibleConstructorReturn */ "./node_modules/@babel/runtime/helpers/builtin/possibleConstructorReturn.js")); var _inherits2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/builtin/inherits */ "./node_modules/@babel/runtime/helpers/builtin/inherits.js")); var _objectSpread2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/builtin/objectSpread */ "./node_modules/@babel/runtime/helpers/builtin/objectSpread.js")); var _react = _interopRequireDefault(__webpack_require__(/*! react */ "./node_modules/react/index.js")); var _propTypes = _interopRequireDefault(__webpack_require__(/*! prop-types */ "./node_modules/prop-types/index.js")); var _classnames = _interopRequireDefault(__webpack_require__(/*! classnames */ "./node_modules/classnames/index.js")); var _warning = _interopRequireDefault(__webpack_require__(/*! warning */ "./node_modules/@material-ui/core/node_modules/warning/warning.js")); var _Collapse = _interopRequireDefault(__webpack_require__(/*! ../Collapse */ "./node_modules/@material-ui/core/Collapse/index.js")); var _Paper = _interopRequireDefault(__webpack_require__(/*! ../Paper */ "./node_modules/@material-ui/core/Paper/index.js")); var _withStyles = _interopRequireDefault(__webpack_require__(/*! ../styles/withStyles */ "./node_modules/@material-ui/core/styles/withStyles.js")); var _reactHelpers = __webpack_require__(/*! ../utils/reactHelpers */ "./node_modules/@material-ui/core/utils/reactHelpers.js"); // @inheritedComponent Paper // Workaround https://github.com/jsdom/jsdom/issues/2026 var edgeFix = typeof window !== 'undefined' && /jsdom/.test(window.navigator.userAgent) ? {} : { // Fix a rendering issue on Edge '@supports (-ms-ime-align: auto)': { borderBottomLeftRadius: 0, borderBottomRightRadius: 0 } }; var styles = function styles(theme) { var transition = { duration: theme.transitions.duration.shortest }; return { root: { position: 'relative', transition: theme.transitions.create(['margin'], transition), '&:before': { position: 'absolute', left: 0, top: -1, right: 0, height: 1, content: '""', opacity: 1, backgroundColor: theme.palette.divider, transition: theme.transitions.create(['opacity', 'background-color'], transition) }, '&:first-child': { borderTopLeftRadius: 2, borderTopRightRadius: 2, '&:before': { display: 'none' } }, '&:last-child': (0, _objectSpread2.default)({ borderBottomLeftRadius: 2, borderBottomRightRadius: 2 }, edgeFix), '&$expanded + &': { '&:before': { display: 'none' } } }, expanded: { margin: '16px 0', '&:first-child': { marginTop: 0 }, '&:last-child': { marginBottom: 0 }, '&:before': { opacity: 0 } }, disabled: { backgroundColor: theme.palette.action.disabledBackground } }; }; exports.styles = styles; var ExpansionPanel = /*#__PURE__*/ function (_React$Component) { (0, _inherits2.default)(ExpansionPanel, _React$Component); function ExpansionPanel(props) { var _this; (0, _classCallCheck2.default)(this, ExpansionPanel); _this = (0, _possibleConstructorReturn2.default)(this, (ExpansionPanel.__proto__ || Object.getPrototypeOf(ExpansionPanel)).call(this, props)); _this.isControlled = null; _this.state = {}; _this.handleChange = function (event) { var expanded = _this.isControlled ? _this.props.expanded : _this.state.expanded; if (!_this.isControlled) { _this.setState({ expanded: !expanded }); } if (_this.props.onChange) { _this.props.onChange(event, !expanded); } }; _this.isControlled = props.expanded != null; if (!_this.isControlled) { // not controlled, use internal state _this.state.expanded = props.defaultExpanded !== undefined ? props.defaultExpanded : false; } return _this; } (0, _createClass2.default)(ExpansionPanel, [{ key: "render", value: function render() { var _classNames, _this2 = this; var _props = this.props, childrenProp = _props.children, classes = _props.classes, classNameProp = _props.className, CollapsePropsProp = _props.CollapseProps, defaultExpanded = _props.defaultExpanded, disabled = _props.disabled, expandedProp = _props.expanded, onChange = _props.onChange, other = (0, _objectWithoutProperties2.default)(_props, ["children", "classes", "className", "CollapseProps", "defaultExpanded", "disabled", "expanded", "onChange"]); var expanded = this.isControlled ? expandedProp : this.state.expanded; var className = (0, _classnames.default)(classes.root, (_classNames = {}, (0, _defineProperty2.default)(_classNames, classes.expanded, expanded), (0, _defineProperty2.default)(_classNames, classes.disabled, disabled), _classNames), classNameProp); var summary = null; var children = _react.default.Children.map(childrenProp, function (child) { if (!_react.default.isValidElement(child)) { return null; } true ? (0, _warning.default)(child.type !== _react.default.Fragment, ["Material-UI: the ExpansionPanel component doesn't accept a Fragment as a child.", 'Consider providing an array instead.'].join('\n')) : undefined; if ((0, _reactHelpers.isMuiElement)(child, ['ExpansionPanelSummary'])) { summary = _react.default.cloneElement(child, { disabled: disabled, expanded: expanded, onChange: _this2.handleChange }); return null; } return child; }); var CollapseProps = !expanded ? { 'aria-hidden': 'true' } : null; return _react.default.createElement(_Paper.default, (0, _extends2.default)({ className: className, elevation: 1, square: true }, other), summary, _react.default.createElement(_Collapse.default, (0, _extends2.default)({ "in": expanded, timeout: "auto" }, CollapseProps, CollapsePropsProp), children)); } }]); return ExpansionPanel; }(_react.default.Component); ExpansionPanel.propTypes = true ? { /** * The content of the expansion panel. */ children: _propTypes.default.node.isRequired, /** * Override or extend the styles applied to the component. * See [CSS API](#css-api) below for more details. */ classes: _propTypes.default.object.isRequired, /** * @ignore */ className: _propTypes.default.string, /** * Properties applied to the [`Collapse`](/api/collapse) element. */ CollapseProps: _propTypes.default.object, /** * If `true`, expands the panel by default. */ defaultExpanded: _propTypes.default.bool, /** * If `true`, the panel will be displayed in a disabled state. */ disabled: _propTypes.default.bool, /** * If `true`, expands the panel, otherwise collapse it. * Setting this prop enables control over the panel. */ expanded: _propTypes.default.bool, /** * Callback fired when the expand/collapse state is changed. * * @param {object} event The event source of the callback * @param {boolean} expanded The `expanded` state of the panel */ onChange: _propTypes.default.func } : undefined; ExpansionPanel.defaultProps = { defaultExpanded: false, disabled: false }; var _default = (0, _withStyles.default)(styles, { name: 'MuiExpansionPanel' })(ExpansionPanel); exports.default = _default; /***/ }), /***/ "./node_modules/@material-ui/core/ExpansionPanel/index.js": /*!****************************************************************!*\ !*** ./node_modules/@material-ui/core/ExpansionPanel/index.js ***! \****************************************************************/ /*! no static exports found */ /***/ (function(module, exports, __webpack_require__) { "use strict"; var _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/builtin/interopRequireDefault */ "./node_modules/@babel/runtime/helpers/builtin/interopRequireDefault.js"); Object.defineProperty(exports, "__esModule", { value: true }); Object.defineProperty(exports, "default", { enumerable: true, get: function get() { return _ExpansionPanel.default; } }); var _ExpansionPanel = _interopRequireDefault(__webpack_require__(/*! ./ExpansionPanel */ "./node_modules/@material-ui/core/ExpansionPanel/ExpansionPanel.js")); /***/ }), /***/ "./node_modules/@material-ui/core/ExpansionPanelActions/ExpansionPanelActions.js": /*!***************************************************************************************!*\ !*** ./node_modules/@material-ui/core/ExpansionPanelActions/ExpansionPanelActions.js ***! \***************************************************************************************/ /*! no static exports found */ /***/ (function(module, exports, __webpack_require__) { "use strict"; var _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/builtin/interopRequireDefault */ "./node_modules/@babel/runtime/helpers/builtin/interopRequireDefault.js"); Object.defineProperty(exports, "__esModule", { value: true }); exports.default = exports.styles = void 0; var _extends2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/builtin/extends */ "./node_modules/@babel/runtime/helpers/builtin/extends.js")); var _objectWithoutProperties2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/builtin/objectWithoutProperties */ "./node_modules/@babel/runtime/helpers/builtin/objectWithoutProperties.js")); var _react = _interopRequireDefault(__webpack_require__(/*! react */ "./node_modules/react/index.js")); var _propTypes = _interopRequireDefault(__webpack_require__(/*! prop-types */ "./node_modules/prop-types/index.js")); var _classnames = _interopRequireDefault(__webpack_require__(/*! classnames */ "./node_modules/classnames/index.js")); var _withStyles = _interopRequireDefault(__webpack_require__(/*! ../styles/withStyles */ "./node_modules/@material-ui/core/styles/withStyles.js")); var _reactHelpers = __webpack_require__(/*! ../utils/reactHelpers */ "./node_modules/@material-ui/core/utils/reactHelpers.js"); __webpack_require__(/*! ../Button */ "./node_modules/@material-ui/core/Button/index.js"); // So we don't have any override priority issue. var styles = { root: { display: 'flex', alignItems: 'center', justifyContent: 'flex-end', padding: '16px 8px' }, action: { marginLeft: 8 } }; exports.styles = styles; function ExpansionPanelActions(props) { var children = props.children, classes = props.classes, className = props.className, other = (0, _objectWithoutProperties2.default)(props, ["children", "classes", "className"]); return _react.default.createElement("div", (0, _extends2.default)({ className: (0, _classnames.default)(classes.root, className) }, other), (0, _reactHelpers.cloneChildrenWithClassName)(children, classes.action)); } ExpansionPanelActions.propTypes = true ? { /** * The content of the component. */ children: _propTypes.default.node.isRequired, /** * Override or extend the styles applied to the component. * See [CSS API](#css-api) below for more details. */ classes: _propTypes.default.object.isRequired, /** * @ignore */ className: _propTypes.default.string } : undefined; var _default = (0, _withStyles.default)(styles, { name: 'MuiExpansionPanelActions' })(ExpansionPanelActions); exports.default = _default; /***/ }), /***/ "./node_modules/@material-ui/core/ExpansionPanelActions/index.js": /*!***********************************************************************!*\ !*** ./node_modules/@material-ui/core/ExpansionPanelActions/index.js ***! \***********************************************************************/ /*! no static exports found */ /***/ (function(module, exports, __webpack_require__) { "use strict"; var _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/builtin/interopRequireDefault */ "./node_modules/@babel/runtime/helpers/builtin/interopRequireDefault.js"); Object.defineProperty(exports, "__esModule", { value: true }); Object.defineProperty(exports, "default", { enumerable: true, get: function get() { return _ExpansionPanelActions.default; } }); var _ExpansionPanelActions = _interopRequireDefault(__webpack_require__(/*! ./ExpansionPanelActions */ "./node_modules/@material-ui/core/ExpansionPanelActions/ExpansionPanelActions.js")); /***/ }), /***/ "./node_modules/@material-ui/core/ExpansionPanelDetails/ExpansionPanelDetails.js": /*!***************************************************************************************!*\ !*** ./node_modules/@material-ui/core/ExpansionPanelDetails/ExpansionPanelDetails.js ***! \***************************************************************************************/ /*! no static exports found */ /***/ (function(module, exports, __webpack_require__) { "use strict"; var _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/builtin/interopRequireDefault */ "./node_modules/@babel/runtime/helpers/builtin/interopRequireDefault.js"); Object.defineProperty(exports, "__esModule", { value: true }); exports.default = exports.styles = void 0; var _extends2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/builtin/extends */ "./node_modules/@babel/runtime/helpers/builtin/extends.js")); var _objectWithoutProperties2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/builtin/objectWithoutProperties */ "./node_modules/@babel/runtime/helpers/builtin/objectWithoutProperties.js")); var _react = _interopRequireDefault(__webpack_require__(/*! react */ "./node_modules/react/index.js")); var _propTypes = _interopRequireDefault(__webpack_require__(/*! prop-types */ "./node_modules/prop-types/index.js")); var _classnames = _interopRequireDefault(__webpack_require__(/*! classnames */ "./node_modules/classnames/index.js")); var _withStyles = _interopRequireDefault(__webpack_require__(/*! ../styles/withStyles */ "./node_modules/@material-ui/core/styles/withStyles.js")); var styles = { root: { display: 'flex', padding: '8px 24px 24px' } }; exports.styles = styles; function ExpansionPanelDetails(props) { var classes = props.classes, children = props.children, className = props.className, other = (0, _objectWithoutProperties2.default)(props, ["classes", "children", "className"]); return _react.default.createElement("div", (0, _extends2.default)({ className: (0, _classnames.default)(classes.root, className) }, other), children); } ExpansionPanelDetails.propTypes = true ? { /** * The content of the expansion panel details. */ children: _propTypes.default.node.isRequired, /** * Override or extend the styles applied to the component. * See [CSS API](#css-api) below for more details. */ classes: _propTypes.default.object.isRequired, /** * @ignore */ className: _propTypes.default.string } : undefined; var _default = (0, _withStyles.default)(styles, { name: 'MuiExpansionPanelDetails' })(ExpansionPanelDetails); exports.default = _default; /***/ }), /***/ "./node_modules/@material-ui/core/ExpansionPanelDetails/index.js": /*!***********************************************************************!*\ !*** ./node_modules/@material-ui/core/ExpansionPanelDetails/index.js ***! \***********************************************************************/ /*! no static exports found */ /***/ (function(module, exports, __webpack_require__) { "use strict"; var _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/builtin/interopRequireDefault */ "./node_modules/@babel/runtime/helpers/builtin/interopRequireDefault.js"); Object.defineProperty(exports, "__esModule", { value: true }); Object.defineProperty(exports, "default", { enumerable: true, get: function get() { return _ExpansionPanelDetails.default; } }); var _ExpansionPanelDetails = _interopRequireDefault(__webpack_require__(/*! ./ExpansionPanelDetails */ "./node_modules/@material-ui/core/ExpansionPanelDetails/ExpansionPanelDetails.js")); /***/ }), /***/ "./node_modules/@material-ui/core/ExpansionPanelSummary/ExpansionPanelSummary.js": /*!***************************************************************************************!*\ !*** ./node_modules/@material-ui/core/ExpansionPanelSummary/ExpansionPanelSummary.js ***! \***************************************************************************************/ /*! no static exports found */ /***/ (function(module, exports, __webpack_require__) { "use strict"; var _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/builtin/interopRequireDefault */ "./node_modules/@babel/runtime/helpers/builtin/interopRequireDefault.js"); Object.defineProperty(exports, "__esModule", { value: true }); exports.default = exports.styles = void 0; var _extends2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/builtin/extends */ "./node_modules/@babel/runtime/helpers/builtin/extends.js")); var _defineProperty2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/builtin/defineProperty */ "./node_modules/@babel/runtime/helpers/builtin/defineProperty.js")); var _objectWithoutProperties2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/builtin/objectWithoutProperties */ "./node_modules/@babel/runtime/helpers/builtin/objectWithoutProperties.js")); var _classCallCheck2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/builtin/classCallCheck */ "./node_modules/@babel/runtime/helpers/builtin/classCallCheck.js")); var _createClass2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/builtin/createClass */ "./node_modules/@babel/runtime/helpers/builtin/createClass.js")); var _possibleConstructorReturn2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/builtin/possibleConstructorReturn */ "./node_modules/@babel/runtime/helpers/builtin/possibleConstructorReturn.js")); var _inherits2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/builtin/inherits */ "./node_modules/@babel/runtime/helpers/builtin/inherits.js")); var _react = _interopRequireDefault(__webpack_require__(/*! react */ "./node_modules/react/index.js")); var _propTypes = _interopRequireDefault(__webpack_require__(/*! prop-types */ "./node_modules/prop-types/index.js")); var _classnames = _interopRequireDefault(__webpack_require__(/*! classnames */ "./node_modules/classnames/index.js")); var _ButtonBase = _interopRequireDefault(__webpack_require__(/*! ../ButtonBase */ "./node_modules/@material-ui/core/ButtonBase/index.js")); var _IconButton = _interopRequireDefault(__webpack_require__(/*! ../IconButton */ "./node_modules/@material-ui/core/IconButton/index.js")); var _withStyles = _interopRequireDefault(__webpack_require__(/*! ../styles/withStyles */ "./node_modules/@material-ui/core/styles/withStyles.js")); // @inheritedComponent ButtonBase var styles = function styles(theme) { var transition = { duration: theme.transitions.duration.shortest }; return { root: { display: 'flex', minHeight: 8 * 6, transition: theme.transitions.create(['min-height', 'background-color'], transition), padding: '0 24px 0 24px', '&:hover:not($disabled)': { cursor: 'pointer' }, '&$expanded': { minHeight: 64 }, '&$focused': { backgroundColor: theme.palette.grey[300] }, '&$disabled': { opacity: 0.38 } }, expanded: {}, focused: {}, disabled: {}, content: { display: 'flex', flexGrow: 1, transition: theme.transitions.create(['margin'], transition), margin: '12px 0', '& > :last-child': { paddingRight: 32 }, '&$expanded': { margin: '20px 0' } }, expandIcon: { position: 'absolute', top: '50%', right: 8, transform: 'translateY(-50%) rotate(0deg)', transition: theme.transitions.create('transform', transition), '&:hover': { // Disable the hover effect for the IconButton, // because a hover effect should apply to the entire Expand button and // not only to the IconButton. backgroundColor: 'transparent' }, '&$expanded': { transform: 'translateY(-50%) rotate(180deg)' } } }; }; exports.styles = styles; var ExpansionPanelSummary = /*#__PURE__*/ function (_React$Component) { (0, _inherits2.default)(ExpansionPanelSummary, _React$Component); function ExpansionPanelSummary() { var _ref; var _temp, _this; (0, _classCallCheck2.default)(this, ExpansionPanelSummary); for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) { args[_key] = arguments[_key]; } return (0, _possibleConstructorReturn2.default)(_this, (_temp = _this = (0, _possibleConstructorReturn2.default)(this, (_ref = ExpansionPanelSummary.__proto__ || Object.getPrototypeOf(ExpansionPanelSummary)).call.apply(_ref, [this].concat(args))), _this.state = { focused: false }, _this.handleFocus = function () { _this.setState({ focused: true }); }, _this.handleBlur = function () { _this.setState({ focused: false }); }, _this.handleChange = function (event) { var _this$props = _this.props, onChange = _this$props.onChange, onClick = _this$props.onClick; if (onChange) { onChange(event); } if (onClick) { onClick(event); } }, _temp)); } (0, _createClass2.default)(ExpansionPanelSummary, [{ key: "render", value: function render() { var _classNames; var _props = this.props, children = _props.children, classes = _props.classes, className = _props.className, disabled = _props.disabled, expanded = _props.expanded, expandIcon = _props.expandIcon, IconButtonProps = _props.IconButtonProps, onChange = _props.onChange, other = (0, _objectWithoutProperties2.default)(_props, ["children", "classes", "className", "disabled", "expanded", "expandIcon", "IconButtonProps", "onChange"]); var focused = this.state.focused; return _react.default.createElement(_ButtonBase.default, (0, _extends2.default)({ focusRipple: false, disableRipple: true, disabled: disabled, component: "div", "aria-expanded": expanded, className: (0, _classnames.default)(classes.root, (_classNames = {}, (0, _defineProperty2.default)(_classNames, classes.disabled, disabled), (0, _defineProperty2.default)(_classNames, classes.expanded, expanded), (0, _defineProperty2.default)(_classNames, classes.focused, focused), _classNames), className) }, other, { onFocusVisible: this.handleFocus, onBlur: this.handleBlur, onClick: this.handleChange }), _react.default.createElement("div", { className: (0, _classnames.default)(classes.content, (0, _defineProperty2.default)({}, classes.expanded, expanded)) }, children), expandIcon && _react.default.createElement(_IconButton.default, (0, _extends2.default)({ disabled: disabled, className: (0, _classnames.default)(classes.expandIcon, (0, _defineProperty2.default)({}, classes.expanded, expanded)), component: "div", tabIndex: -1, "aria-hidden": "true" }, IconButtonProps), expandIcon)); } }]); return ExpansionPanelSummary; }(_react.default.Component); ExpansionPanelSummary.propTypes = true ? { /** * The content of the expansion panel summary. */ children: _propTypes.default.node, /** * Override or extend the styles applied to the component. * See [CSS API](#css-api) below for more details. */ classes: _propTypes.default.object.isRequired, /** * @ignore */ className: _propTypes.default.string, /** * @ignore * If `true`, the summary will be displayed in a disabled state. */ disabled: _propTypes.default.bool, /** * @ignore * If `true`, expands the summary, otherwise collapse it. */ expanded: _propTypes.default.bool, /** * The icon to display as the expand indicator. */ expandIcon: _propTypes.default.node, /** * Properties applied to the `TouchRipple` element wrapping the expand icon. */ IconButtonProps: _propTypes.default.object, /** * @ignore */ onChange: _propTypes.default.func, /** * @ignore */ onClick: _propTypes.default.func } : undefined; ExpansionPanelSummary.defaultProps = { disabled: false }; ExpansionPanelSummary.muiName = 'ExpansionPanelSummary'; var _default = (0, _withStyles.default)(styles, { name: 'MuiExpansionPanelSummary' })(ExpansionPanelSummary); exports.default = _default; /***/ }), /***/ "./node_modules/@material-ui/core/ExpansionPanelSummary/index.js": /*!***********************************************************************!*\ !*** ./node_modules/@material-ui/core/ExpansionPanelSummary/index.js ***! \***********************************************************************/ /*! no static exports found */ /***/ (function(module, exports, __webpack_require__) { "use strict"; var _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/builtin/interopRequireDefault */ "./node_modules/@babel/runtime/helpers/builtin/interopRequireDefault.js"); Object.defineProperty(exports, "__esModule", { value: true }); Object.defineProperty(exports, "default", { enumerable: true, get: function get() { return _ExpansionPanelSummary.default; } }); var _ExpansionPanelSummary = _interopRequireDefault(__webpack_require__(/*! ./ExpansionPanelSummary */ "./node_modules/@material-ui/core/ExpansionPanelSummary/ExpansionPanelSummary.js")); /***/ }), /***/ "./node_modules/@material-ui/core/Fade/Fade.js": /*!*****************************************************!*\ !*** ./node_modules/@material-ui/core/Fade/Fade.js ***! \*****************************************************/ /*! no static exports found */ /***/ (function(module, exports, __webpack_require__) { "use strict"; var _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/builtin/interopRequireDefault */ "./node_modules/@babel/runtime/helpers/builtin/interopRequireDefault.js"); Object.defineProperty(exports, "__esModule", { value: true }); exports.default = void 0; var _extends2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/builtin/extends */ "./node_modules/@babel/runtime/helpers/builtin/extends.js")); var _objectSpread2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/builtin/objectSpread */ "./node_modules/@babel/runtime/helpers/builtin/objectSpread.js")); var _objectWithoutProperties2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/builtin/objectWithoutProperties */ "./node_modules/@babel/runtime/helpers/builtin/objectWithoutProperties.js")); var _classCallCheck2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/builtin/classCallCheck */ "./node_modules/@babel/runtime/helpers/builtin/classCallCheck.js")); var _createClass2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/builtin/createClass */ "./node_modules/@babel/runtime/helpers/builtin/createClass.js")); var _possibleConstructorReturn2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/builtin/possibleConstructorReturn */ "./node_modules/@babel/runtime/helpers/builtin/possibleConstructorReturn.js")); var _inherits2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/builtin/inherits */ "./node_modules/@babel/runtime/helpers/builtin/inherits.js")); var _react = _interopRequireDefault(__webpack_require__(/*! react */ "./node_modules/react/index.js")); var _propTypes = _interopRequireDefault(__webpack_require__(/*! prop-types */ "./node_modules/prop-types/index.js")); var _Transition = _interopRequireDefault(__webpack_require__(/*! react-transition-group/Transition */ "./node_modules/@material-ui/core/node_modules/react-transition-group/Transition.js")); var _transitions = __webpack_require__(/*! ../styles/transitions */ "./node_modules/@material-ui/core/styles/transitions.js"); var _withTheme = _interopRequireDefault(__webpack_require__(/*! ../styles/withTheme */ "./node_modules/@material-ui/core/styles/withTheme.js")); var _utils = __webpack_require__(/*! ../transitions/utils */ "./node_modules/@material-ui/core/transitions/utils.js"); // @inheritedComponent Transition var styles = { entering: { opacity: 1 }, entered: { opacity: 1 } }; /** * The Fade transition is used by the [Modal](/utils/modal) component. * It uses [react-transition-group](https://github.com/reactjs/react-transition-group) internally. */ var Fade = /*#__PURE__*/ function (_React$Component) { (0, _inherits2.default)(Fade, _React$Component); function Fade() { var _ref; var _temp, _this; (0, _classCallCheck2.default)(this, Fade); for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) { args[_key] = arguments[_key]; } return (0, _possibleConstructorReturn2.default)(_this, (_temp = _this = (0, _possibleConstructorReturn2.default)(this, (_ref = Fade.__proto__ || Object.getPrototypeOf(Fade)).call.apply(_ref, [this].concat(args))), _this.handleEnter = function (node) { var theme = _this.props.theme; (0, _utils.reflow)(node); // So the animation always start from the start. var transitionProps = (0, _utils.getTransitionProps)(_this.props, { mode: 'enter' }); node.style.webkitTransition = theme.transitions.create('opacity', transitionProps); node.style.transition = theme.transitions.create('opacity', transitionProps); if (_this.props.onEnter) { _this.props.onEnter(node); } }, _this.handleExit = function (node) { var theme = _this.props.theme; var transitionProps = (0, _utils.getTransitionProps)(_this.props, { mode: 'exit' }); node.style.webkitTransition = theme.transitions.create('opacity', transitionProps); node.style.transition = theme.transitions.create('opacity', transitionProps); if (_this.props.onExit) { _this.props.onExit(node); } }, _temp)); } (0, _createClass2.default)(Fade, [{ key: "render", value: function render() { var _props = this.props, children = _props.children, onEnter = _props.onEnter, onExit = _props.onExit, styleProp = _props.style, theme = _props.theme, other = (0, _objectWithoutProperties2.default)(_props, ["children", "onEnter", "onExit", "style", "theme"]); var style = (0, _objectSpread2.default)({}, styleProp, _react.default.isValidElement(children) ? children.props.style : {}); return _react.default.createElement(_Transition.default, (0, _extends2.default)({ appear: true, onEnter: this.handleEnter, onExit: this.handleExit }, other), function (state, childProps) { return _react.default.cloneElement(children, (0, _objectSpread2.default)({ style: (0, _objectSpread2.default)({ opacity: 0, willChange: 'opacity' }, styles[state], style) }, childProps)); }); } }]); return Fade; }(_react.default.Component); Fade.propTypes = true ? { /** * A single child content element. */ children: _propTypes.default.oneOfType([_propTypes.default.element, _propTypes.default.func]), /** * If `true`, the component will transition in. */ in: _propTypes.default.bool, /** * @ignore */ onEnter: _propTypes.default.func, /** * @ignore */ onExit: _propTypes.default.func, /** * @ignore */ style: _propTypes.default.object, /** * @ignore */ theme: _propTypes.default.object.isRequired, /** * The duration for the transition, in milliseconds. * You may specify a single timeout for all transitions, or individually with an object. */ timeout: _propTypes.default.oneOfType([_propTypes.default.number, _propTypes.default.shape({ enter: _propTypes.default.number, exit: _propTypes.default.number })]) } : undefined; Fade.defaultProps = { timeout: { enter: _transitions.duration.enteringScreen, exit: _transitions.duration.leavingScreen } }; var _default = (0, _withTheme.default)()(Fade); exports.default = _default; /***/ }), /***/ "./node_modules/@material-ui/core/Fade/index.js": /*!******************************************************!*\ !*** ./node_modules/@material-ui/core/Fade/index.js ***! \******************************************************/ /*! no static exports found */ /***/ (function(module, exports, __webpack_require__) { "use strict"; var _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/builtin/interopRequireDefault */ "./node_modules/@babel/runtime/helpers/builtin/interopRequireDefault.js"); Object.defineProperty(exports, "__esModule", { value: true }); Object.defineProperty(exports, "default", { enumerable: true, get: function get() { return _Fade.default; } }); var _Fade = _interopRequireDefault(__webpack_require__(/*! ./Fade */ "./node_modules/@material-ui/core/Fade/Fade.js")); /***/ }), /***/ "./node_modules/@material-ui/core/FormControl/FormControl.js": /*!*******************************************************************!*\ !*** ./node_modules/@material-ui/core/FormControl/FormControl.js ***! \*******************************************************************/ /*! no static exports found */ /***/ (function(module, exports, __webpack_require__) { "use strict"; var _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/builtin/interopRequireDefault */ "./node_modules/@babel/runtime/helpers/builtin/interopRequireDefault.js"); Object.defineProperty(exports, "__esModule", { value: true }); exports.default = exports.styles = void 0; var _extends2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/builtin/extends */ "./node_modules/@babel/runtime/helpers/builtin/extends.js")); var _defineProperty2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/builtin/defineProperty */ "./node_modules/@babel/runtime/helpers/builtin/defineProperty.js")); var _objectWithoutProperties2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/builtin/objectWithoutProperties */ "./node_modules/@babel/runtime/helpers/builtin/objectWithoutProperties.js")); var _classCallCheck2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/builtin/classCallCheck */ "./node_modules/@babel/runtime/helpers/builtin/classCallCheck.js")); var _createClass2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/builtin/createClass */ "./node_modules/@babel/runtime/helpers/builtin/createClass.js")); var _possibleConstructorReturn2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/builtin/possibleConstructorReturn */ "./node_modules/@babel/runtime/helpers/builtin/possibleConstructorReturn.js")); var _inherits2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/builtin/inherits */ "./node_modules/@babel/runtime/helpers/builtin/inherits.js")); var _react = _interopRequireDefault(__webpack_require__(/*! react */ "./node_modules/react/index.js")); var _propTypes = _interopRequireDefault(__webpack_require__(/*! prop-types */ "./node_modules/prop-types/index.js")); var _classnames = _interopRequireDefault(__webpack_require__(/*! classnames */ "./node_modules/classnames/index.js")); var _withStyles = _interopRequireDefault(__webpack_require__(/*! ../styles/withStyles */ "./node_modules/@material-ui/core/styles/withStyles.js")); var _Input = __webpack_require__(/*! ../Input/Input */ "./node_modules/@material-ui/core/Input/Input.js"); var _helpers = __webpack_require__(/*! ../utils/helpers */ "./node_modules/@material-ui/core/utils/helpers.js"); var _reactHelpers = __webpack_require__(/*! ../utils/reactHelpers */ "./node_modules/@material-ui/core/utils/reactHelpers.js"); var styles = { root: { display: 'inline-flex', flexDirection: 'column', position: 'relative', // Reset fieldset default style minWidth: 0, padding: 0, margin: 0, border: 0 }, marginNormal: { marginTop: 16, marginBottom: 8 }, marginDense: { marginTop: 8, marginBottom: 4 }, fullWidth: { width: '100%' } }; /** * Provides context such as filled/focused/error/required for form inputs. * Relying on the context provides high flexibilty and ensures that the state always stays * consistent across the children of the `FormControl`. * This context is used by the following components: * - FormLabel * - FormHelperText * - Input * - InputLabel */ exports.styles = styles; var FormControl = /*#__PURE__*/ function (_React$Component) { (0, _inherits2.default)(FormControl, _React$Component); function FormControl(props) { var _this; (0, _classCallCheck2.default)(this, FormControl); _this = (0, _possibleConstructorReturn2.default)(this, (FormControl.__proto__ || Object.getPrototypeOf(FormControl)).call(this, props)); // We need to iterate through the children and find the Input in order // to fully support server side rendering. _this.state = { adornedStart: false, filled: false, focused: false }; _this.handleFocus = function () { _this.setState(function (state) { return !state.focused ? { focused: true } : null; }); }; _this.handleBlur = function () { _this.setState(function (state) { return state.focused ? { focused: false } : null; }); }; _this.handleDirty = function () { if (!_this.state.filled) { _this.setState({ filled: true }); } }; _this.handleClean = function () { if (_this.state.filled) { _this.setState({ filled: false }); } }; var children = _this.props.children; if (children) { _react.default.Children.forEach(children, function (child) { if (!(0, _reactHelpers.isMuiElement)(child, ['Input', 'Select', 'NativeSelect'])) { return; } if ((0, _Input.isFilled)(child.props, true)) { _this.state.filled = true; } var input = (0, _reactHelpers.isMuiElement)(child, ['Select', 'NativeSelect']) ? child.props.input : child; if (input && (0, _Input.isAdornedStart)(input.props)) { _this.state.adornedStart = true; } }); } return _this; } (0, _createClass2.default)(FormControl, [{ key: "getChildContext", value: function getChildContext() { var _props = this.props, disabled = _props.disabled, error = _props.error, required = _props.required, margin = _props.margin; var _state = this.state, adornedStart = _state.adornedStart, filled = _state.filled, focused = _state.focused; return { muiFormControl: { adornedStart: adornedStart, disabled: disabled, error: error, filled: filled, focused: focused, margin: margin, onBlur: this.handleBlur, onEmpty: this.handleClean, onFilled: this.handleDirty, onFocus: this.handleFocus, required: required } }; } }, { key: "render", value: function render() { var _classNames; var _props2 = this.props, classes = _props2.classes, className = _props2.className, Component = _props2.component, disabled = _props2.disabled, error = _props2.error, fullWidth = _props2.fullWidth, margin = _props2.margin, required = _props2.required, other = (0, _objectWithoutProperties2.default)(_props2, ["classes", "className", "component", "disabled", "error", "fullWidth", "margin", "required"]); return _react.default.createElement(Component, (0, _extends2.default)({ className: (0, _classnames.default)(classes.root, (_classNames = {}, (0, _defineProperty2.default)(_classNames, classes["margin".concat((0, _helpers.capitalize)(margin))], margin !== 'none'), (0, _defineProperty2.default)(_classNames, classes.fullWidth, fullWidth), _classNames), className) }, other)); } }]); return FormControl; }(_react.default.Component); FormControl.propTypes = true ? { /** * The contents of the form control. */ children: _propTypes.default.node, /** * Override or extend the styles applied to the component. * See [CSS API](#css-api) below for more details. */ classes: _propTypes.default.object.isRequired, /** * @ignore */ className: _propTypes.default.string, /** * The component used for the root node. * Either a string to use a DOM element or a component. */ component: _propTypes.default.oneOfType([_propTypes.default.string, _propTypes.default.func, _propTypes.default.object]), /** * If `true`, the label, input and helper text should be displayed in a disabled state. */ disabled: _propTypes.default.bool, /** * If `true`, the label should be displayed in an error state. */ error: _propTypes.default.bool, /** * If `true`, the component will take up the full width of its container. */ fullWidth: _propTypes.default.bool, /** * If `dense` or `normal`, will adjust vertical spacing of this and contained components. */ margin: _propTypes.default.oneOf(['none', 'dense', 'normal']), /** * If `true`, the label will indicate that the input is required. */ required: _propTypes.default.bool } : undefined; FormControl.defaultProps = { component: 'div', disabled: false, error: false, fullWidth: false, margin: 'none', required: false }; FormControl.childContextTypes = { muiFormControl: _propTypes.default.object }; var _default = (0, _withStyles.default)(styles, { name: 'MuiFormControl' })(FormControl); exports.default = _default; /***/ }), /***/ "./node_modules/@material-ui/core/FormControl/index.js": /*!*************************************************************!*\ !*** ./node_modules/@material-ui/core/FormControl/index.js ***! \*************************************************************/ /*! no static exports found */ /***/ (function(module, exports, __webpack_require__) { "use strict"; var _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/builtin/interopRequireDefault */ "./node_modules/@babel/runtime/helpers/builtin/interopRequireDefault.js"); Object.defineProperty(exports, "__esModule", { value: true }); Object.defineProperty(exports, "default", { enumerable: true, get: function get() { return _FormControl.default; } }); var _FormControl = _interopRequireDefault(__webpack_require__(/*! ./FormControl */ "./node_modules/@material-ui/core/FormControl/FormControl.js")); /***/ }), /***/ "./node_modules/@material-ui/core/FormControlLabel/FormControlLabel.js": /*!*****************************************************************************!*\ !*** ./node_modules/@material-ui/core/FormControlLabel/FormControlLabel.js ***! \*****************************************************************************/ /*! no static exports found */ /***/ (function(module, exports, __webpack_require__) { "use strict"; var _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/builtin/interopRequireDefault */ "./node_modules/@babel/runtime/helpers/builtin/interopRequireDefault.js"); Object.defineProperty(exports, "__esModule", { value: true }); exports.default = exports.styles = void 0; var _extends2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/builtin/extends */ "./node_modules/@babel/runtime/helpers/builtin/extends.js")); var _defineProperty2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/builtin/defineProperty */ "./node_modules/@babel/runtime/helpers/builtin/defineProperty.js")); var _objectWithoutProperties2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/builtin/objectWithoutProperties */ "./node_modules/@babel/runtime/helpers/builtin/objectWithoutProperties.js")); var _react = _interopRequireDefault(__webpack_require__(/*! react */ "./node_modules/react/index.js")); var _propTypes = _interopRequireDefault(__webpack_require__(/*! prop-types */ "./node_modules/prop-types/index.js")); var _classnames = _interopRequireDefault(__webpack_require__(/*! classnames */ "./node_modules/classnames/index.js")); var _withStyles = _interopRequireDefault(__webpack_require__(/*! ../styles/withStyles */ "./node_modules/@material-ui/core/styles/withStyles.js")); var _Typography = _interopRequireDefault(__webpack_require__(/*! ../Typography */ "./node_modules/@material-ui/core/Typography/index.js")); /* eslint-disable jsx-a11y/label-has-for */ var styles = function styles(theme) { return { root: { display: 'inline-flex', alignItems: 'center', cursor: 'pointer', // For correct alignment with the text. verticalAlign: 'middle', // Remove grey highlight WebkitTapHighlightColor: 'transparent', marginLeft: -14, marginRight: 16, // used for row presentation of radio/checkbox '&$disabled': { cursor: 'default' } }, disabled: {}, label: { '&$disabled': { color: theme.palette.text.disabled } } }; }; /** * Drop in replacement of the `Radio`, `Switch` and `Checkbox` component. * Use this component if you want to display an extra label. */ exports.styles = styles; function FormControlLabel(props, context) { var checked = props.checked, classes = props.classes, classNameProp = props.className, control = props.control, disabledProp = props.disabled, inputRef = props.inputRef, label = props.label, name = props.name, onChange = props.onChange, value = props.value, other = (0, _objectWithoutProperties2.default)(props, ["checked", "classes", "className", "control", "disabled", "inputRef", "label", "name", "onChange", "value"]); var muiFormControl = context.muiFormControl; var disabled = disabledProp; if (typeof disabled === 'undefined' && typeof control.props.disabled !== 'undefined') { disabled = control.props.disabled; } if (typeof disabled === 'undefined' && muiFormControl) { disabled = muiFormControl.disabled; } var controlProps = { disabled: disabled }; ['checked', 'name', 'onChange', 'value', 'inputRef'].forEach(function (key) { if (typeof control.props[key] === 'undefined' && typeof props[key] !== 'undefined') { controlProps[key] = props[key]; } }); return _react.default.createElement("label", (0, _extends2.default)({ className: (0, _classnames.default)(classes.root, (0, _defineProperty2.default)({}, classes.disabled, disabled), classNameProp) }, other), _react.default.cloneElement(control, controlProps), _react.default.createElement(_Typography.default, { component: "span", className: (0, _classnames.default)(classes.label, (0, _defineProperty2.default)({}, classes.disabled, disabled)) }, label)); } FormControlLabel.propTypes = true ? { /** * If `true`, the component appears selected. */ checked: _propTypes.default.oneOfType([_propTypes.default.bool, _propTypes.default.string]), /** * Override or extend the styles applied to the component. * See [CSS API](#css-api) below for more details. */ classes: _propTypes.default.object.isRequired, /** * @ignore */ className: _propTypes.default.string, /** * A control element. For instance, it can be be a `Radio`, a `Switch` or a `Checkbox`. */ control: _propTypes.default.element, /** * If `true`, the control will be disabled. */ disabled: _propTypes.default.bool, /** * Use that property to pass a ref callback to the native input component. */ inputRef: _propTypes.default.oneOfType([_propTypes.default.func, _propTypes.default.object]), /** * The text to be used in an enclosing label element. */ label: _propTypes.default.node, /* * @ignore */ name: _propTypes.default.string, /** * Callback fired when the state is changed. * * @param {object} event The event source of the callback. * You can pull out the new value by accessing `event.target.checked`. * @param {boolean} checked The `checked` value of the switch */ onChange: _propTypes.default.func, /** * The value of the component. */ value: _propTypes.default.string } : undefined; FormControlLabel.contextTypes = { muiFormControl: _propTypes.default.object }; var _default = (0, _withStyles.default)(styles, { name: 'MuiFormControlLabel' })(FormControlLabel); exports.default = _default; /***/ }), /***/ "./node_modules/@material-ui/core/FormControlLabel/index.js": /*!******************************************************************!*\ !*** ./node_modules/@material-ui/core/FormControlLabel/index.js ***! \******************************************************************/ /*! no static exports found */ /***/ (function(module, exports, __webpack_require__) { "use strict"; var _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/builtin/interopRequireDefault */ "./node_modules/@babel/runtime/helpers/builtin/interopRequireDefault.js"); Object.defineProperty(exports, "__esModule", { value: true }); Object.defineProperty(exports, "default", { enumerable: true, get: function get() { return _FormControlLabel.default; } }); var _FormControlLabel = _interopRequireDefault(__webpack_require__(/*! ./FormControlLabel */ "./node_modules/@material-ui/core/FormControlLabel/FormControlLabel.js")); /***/ }), /***/ "./node_modules/@material-ui/core/FormGroup/FormGroup.js": /*!***************************************************************!*\ !*** ./node_modules/@material-ui/core/FormGroup/FormGroup.js ***! \***************************************************************/ /*! no static exports found */ /***/ (function(module, exports, __webpack_require__) { "use strict"; var _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/builtin/interopRequireDefault */ "./node_modules/@babel/runtime/helpers/builtin/interopRequireDefault.js"); Object.defineProperty(exports, "__esModule", { value: true }); exports.default = exports.styles = void 0; var _extends2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/builtin/extends */ "./node_modules/@babel/runtime/helpers/builtin/extends.js")); var _defineProperty2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/builtin/defineProperty */ "./node_modules/@babel/runtime/helpers/builtin/defineProperty.js")); var _objectWithoutProperties2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/builtin/objectWithoutProperties */ "./node_modules/@babel/runtime/helpers/builtin/objectWithoutProperties.js")); var _react = _interopRequireDefault(__webpack_require__(/*! react */ "./node_modules/react/index.js")); var _propTypes = _interopRequireDefault(__webpack_require__(/*! prop-types */ "./node_modules/prop-types/index.js")); var _classnames = _interopRequireDefault(__webpack_require__(/*! classnames */ "./node_modules/classnames/index.js")); var _withStyles = _interopRequireDefault(__webpack_require__(/*! ../styles/withStyles */ "./node_modules/@material-ui/core/styles/withStyles.js")); var styles = { root: { display: 'flex', flexDirection: 'column', flexWrap: 'wrap' }, row: { flexDirection: 'row' } }; /** * `FormGroup` wraps controls such as `Checkbox` and `Switch`. * It provides compact row layout. * For the `Radio`, you should be using the `RadioGroup` component instead of this one. */ exports.styles = styles; function FormGroup(props) { var classes = props.classes, className = props.className, children = props.children, row = props.row, other = (0, _objectWithoutProperties2.default)(props, ["classes", "className", "children", "row"]); return _react.default.createElement("div", (0, _extends2.default)({ className: (0, _classnames.default)(classes.root, (0, _defineProperty2.default)({}, classes.row, row), className) }, other), children); } FormGroup.propTypes = true ? { /** * The content of the component. */ children: _propTypes.default.node, /** * Override or extend the styles applied to the component. * See [CSS API](#css-api) below for more details. */ classes: _propTypes.default.object.isRequired, /** * @ignore */ className: _propTypes.default.string, /** * Display group of elements in a compact row. */ row: _propTypes.default.bool } : undefined; FormGroup.defaultProps = { row: false }; var _default = (0, _withStyles.default)(styles, { name: 'MuiFormGroup' })(FormGroup); exports.default = _default; /***/ }), /***/ "./node_modules/@material-ui/core/FormGroup/index.js": /*!***********************************************************!*\ !*** ./node_modules/@material-ui/core/FormGroup/index.js ***! \***********************************************************/ /*! no static exports found */ /***/ (function(module, exports, __webpack_require__) { "use strict"; var _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/builtin/interopRequireDefault */ "./node_modules/@babel/runtime/helpers/builtin/interopRequireDefault.js"); Object.defineProperty(exports, "__esModule", { value: true }); Object.defineProperty(exports, "default", { enumerable: true, get: function get() { return _FormGroup.default; } }); var _FormGroup = _interopRequireDefault(__webpack_require__(/*! ./FormGroup */ "./node_modules/@material-ui/core/FormGroup/FormGroup.js")); /***/ }), /***/ "./node_modules/@material-ui/core/FormHelperText/FormHelperText.js": /*!*************************************************************************!*\ !*** ./node_modules/@material-ui/core/FormHelperText/FormHelperText.js ***! \*************************************************************************/ /*! no static exports found */ /***/ (function(module, exports, __webpack_require__) { "use strict"; var _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/builtin/interopRequireDefault */ "./node_modules/@babel/runtime/helpers/builtin/interopRequireDefault.js"); Object.defineProperty(exports, "__esModule", { value: true }); exports.default = exports.styles = void 0; var _extends2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/builtin/extends */ "./node_modules/@babel/runtime/helpers/builtin/extends.js")); var _defineProperty2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/builtin/defineProperty */ "./node_modules/@babel/runtime/helpers/builtin/defineProperty.js")); var _objectWithoutProperties2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/builtin/objectWithoutProperties */ "./node_modules/@babel/runtime/helpers/builtin/objectWithoutProperties.js")); var _react = _interopRequireDefault(__webpack_require__(/*! react */ "./node_modules/react/index.js")); var _propTypes = _interopRequireDefault(__webpack_require__(/*! prop-types */ "./node_modules/prop-types/index.js")); var _classnames = _interopRequireDefault(__webpack_require__(/*! classnames */ "./node_modules/classnames/index.js")); var _withStyles = _interopRequireDefault(__webpack_require__(/*! ../styles/withStyles */ "./node_modules/@material-ui/core/styles/withStyles.js")); var styles = function styles(theme) { return { root: { color: theme.palette.text.secondary, fontFamily: theme.typography.fontFamily, fontSize: theme.typography.pxToRem(12), textAlign: 'left', marginTop: 8, lineHeight: '1em', minHeight: '1em', margin: 0, '&$error': { color: theme.palette.error.main }, '&$disabled': { color: theme.palette.text.disabled } }, error: {}, disabled: {}, marginDense: { marginTop: 4 } }; }; exports.styles = styles; function FormHelperText(props, context) { var _classNames; var classes = props.classes, classNameProp = props.className, disabledProp = props.disabled, errorProp = props.error, marginProp = props.margin, Component = props.component, other = (0, _objectWithoutProperties2.default)(props, ["classes", "className", "disabled", "error", "margin", "component"]); var muiFormControl = context.muiFormControl; var disabled = disabledProp; var error = errorProp; var margin = marginProp; if (muiFormControl) { if (typeof disabled === 'undefined') { disabled = muiFormControl.disabled; } if (typeof error === 'undefined') { error = muiFormControl.error; } if (typeof margin === 'undefined') { margin = muiFormControl.margin; } } var className = (0, _classnames.default)(classes.root, (_classNames = {}, (0, _defineProperty2.default)(_classNames, classes.disabled, disabled), (0, _defineProperty2.default)(_classNames, classes.error, error), (0, _defineProperty2.default)(_classNames, classes.marginDense, margin === 'dense'), _classNames), classNameProp); return _react.default.createElement(Component, (0, _extends2.default)({ className: className }, other)); } FormHelperText.propTypes = true ? { /** * The content of the component. */ children: _propTypes.default.node, /** * Override or extend the styles applied to the component. * See [CSS API](#css-api) below for more details. */ classes: _propTypes.default.object.isRequired, /** * @ignore */ className: _propTypes.default.string, /** * The component used for the root node. * Either a string to use a DOM element or a component. */ component: _propTypes.default.oneOfType([_propTypes.default.string, _propTypes.default.func, _propTypes.default.object]), /** * If `true`, the helper text should be displayed in a disabled state. */ disabled: _propTypes.default.bool, /** * If `true`, helper text should be displayed in an error state. */ error: _propTypes.default.bool, /** * If `dense`, will adjust vertical spacing. This is normally obtained via context from * FormControl. */ margin: _propTypes.default.oneOf(['dense']) } : undefined; FormHelperText.defaultProps = { component: 'p' }; FormHelperText.contextTypes = { muiFormControl: _propTypes.default.object }; var _default = (0, _withStyles.default)(styles, { name: 'MuiFormHelperText' })(FormHelperText); exports.default = _default; /***/ }), /***/ "./node_modules/@material-ui/core/FormHelperText/index.js": /*!****************************************************************!*\ !*** ./node_modules/@material-ui/core/FormHelperText/index.js ***! \****************************************************************/ /*! no static exports found */ /***/ (function(module, exports, __webpack_require__) { "use strict"; var _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/builtin/interopRequireDefault */ "./node_modules/@babel/runtime/helpers/builtin/interopRequireDefault.js"); Object.defineProperty(exports, "__esModule", { value: true }); Object.defineProperty(exports, "default", { enumerable: true, get: function get() { return _FormHelperText.default; } }); var _FormHelperText = _interopRequireDefault(__webpack_require__(/*! ./FormHelperText */ "./node_modules/@material-ui/core/FormHelperText/FormHelperText.js")); /***/ }), /***/ "./node_modules/@material-ui/core/FormLabel/FormLabel.js": /*!***************************************************************!*\ !*** ./node_modules/@material-ui/core/FormLabel/FormLabel.js ***! \***************************************************************/ /*! no static exports found */ /***/ (function(module, exports, __webpack_require__) { "use strict"; var _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/builtin/interopRequireDefault */ "./node_modules/@babel/runtime/helpers/builtin/interopRequireDefault.js"); Object.defineProperty(exports, "__esModule", { value: true }); exports.default = exports.styles = void 0; var _extends2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/builtin/extends */ "./node_modules/@babel/runtime/helpers/builtin/extends.js")); var _defineProperty2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/builtin/defineProperty */ "./node_modules/@babel/runtime/helpers/builtin/defineProperty.js")); var _objectWithoutProperties2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/builtin/objectWithoutProperties */ "./node_modules/@babel/runtime/helpers/builtin/objectWithoutProperties.js")); var _react = _interopRequireDefault(__webpack_require__(/*! react */ "./node_modules/react/index.js")); var _propTypes = _interopRequireDefault(__webpack_require__(/*! prop-types */ "./node_modules/prop-types/index.js")); var _classnames = _interopRequireDefault(__webpack_require__(/*! classnames */ "./node_modules/classnames/index.js")); var _withStyles = _interopRequireDefault(__webpack_require__(/*! ../styles/withStyles */ "./node_modules/@material-ui/core/styles/withStyles.js")); var styles = function styles(theme) { return { root: { fontFamily: theme.typography.fontFamily, color: theme.palette.text.secondary, fontSize: theme.typography.pxToRem(16), lineHeight: 1, padding: 0, '&$focused': { color: theme.palette.primary[theme.palette.type === 'light' ? 'dark' : 'light'] }, '&$disabled': { color: theme.palette.text.disabled }, '&$error': { color: theme.palette.error.main } }, focused: {}, disabled: {}, error: {}, asterisk: { '&$error': { color: theme.palette.error.main } } }; }; exports.styles = styles; function FormLabel(props, context) { var _classNames; var children = props.children, classes = props.classes, classNameProp = props.className, Component = props.component, disabledProp = props.disabled, errorProp = props.error, focusedProp = props.focused, requiredProp = props.required, other = (0, _objectWithoutProperties2.default)(props, ["children", "classes", "className", "component", "disabled", "error", "focused", "required"]); var muiFormControl = context.muiFormControl; var required = requiredProp; var focused = focusedProp; var disabled = disabledProp; var error = errorProp; if (muiFormControl) { if (typeof required === 'undefined') { required = muiFormControl.required; } if (typeof focused === 'undefined') { focused = muiFormControl.focused; } if (typeof disabled === 'undefined') { disabled = muiFormControl.disabled; } if (typeof error === 'undefined') { error = muiFormControl.error; } } var className = (0, _classnames.default)(classes.root, (_classNames = {}, (0, _defineProperty2.default)(_classNames, classes.focused, focused), (0, _defineProperty2.default)(_classNames, classes.disabled, disabled), (0, _defineProperty2.default)(_classNames, classes.error, error), _classNames), classNameProp); return _react.default.createElement(Component, (0, _extends2.default)({ className: className }, other), children, required && _react.default.createElement("span", { className: (0, _classnames.default)(classes.asterisk, (0, _defineProperty2.default)({}, classes.error, error)) }, "\u2009*")); } FormLabel.propTypes = true ? { /** * The content of the component. */ children: _propTypes.default.node, /** * Override or extend the styles applied to the component. * See [CSS API](#css-api) below for more details. */ classes: _propTypes.default.object.isRequired, /** * @ignore */ className: _propTypes.default.string, /** * The component used for the root node. * Either a string to use a DOM element or a component. */ component: _propTypes.default.oneOfType([_propTypes.default.string, _propTypes.default.func, _propTypes.default.object]), /** * If `true`, the label should be displayed in a disabled state. */ disabled: _propTypes.default.bool, /** * If `true`, the label should be displayed in an error state. */ error: _propTypes.default.bool, /** * If `true`, the input of this label is focused (used by `FormGroup` components). */ focused: _propTypes.default.bool, /** * If `true`, the label will indicate that the input is required. */ required: _propTypes.default.bool } : undefined; FormLabel.defaultProps = { component: 'label' }; FormLabel.contextTypes = { muiFormControl: _propTypes.default.object }; var _default = (0, _withStyles.default)(styles, { name: 'MuiFormLabel' })(FormLabel); exports.default = _default; /***/ }), /***/ "./node_modules/@material-ui/core/FormLabel/index.js": /*!***********************************************************!*\ !*** ./node_modules/@material-ui/core/FormLabel/index.js ***! \***********************************************************/ /*! no static exports found */ /***/ (function(module, exports, __webpack_require__) { "use strict"; var _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/builtin/interopRequireDefault */ "./node_modules/@babel/runtime/helpers/builtin/interopRequireDefault.js"); Object.defineProperty(exports, "__esModule", { value: true }); Object.defineProperty(exports, "default", { enumerable: true, get: function get() { return _FormLabel.default; } }); var _FormLabel = _interopRequireDefault(__webpack_require__(/*! ./FormLabel */ "./node_modules/@material-ui/core/FormLabel/FormLabel.js")); /***/ }), /***/ "./node_modules/@material-ui/core/Grid/Grid.js": /*!*****************************************************!*\ !*** ./node_modules/@material-ui/core/Grid/Grid.js ***! \*****************************************************/ /*! no static exports found */ /***/ (function(module, exports, __webpack_require__) { "use strict"; var _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/builtin/interopRequireDefault */ "./node_modules/@babel/runtime/helpers/builtin/interopRequireDefault.js"); Object.defineProperty(exports, "__esModule", { value: true }); exports.default = exports.styles = void 0; var _defineProperty2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/builtin/defineProperty */ "./node_modules/@babel/runtime/helpers/builtin/defineProperty.js")); var _objectWithoutProperties2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/builtin/objectWithoutProperties */ "./node_modules/@babel/runtime/helpers/builtin/objectWithoutProperties.js")); var _objectSpread2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/builtin/objectSpread */ "./node_modules/@babel/runtime/helpers/builtin/objectSpread.js")); var _extends2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/builtin/extends */ "./node_modules/@babel/runtime/helpers/builtin/extends.js")); var _react = _interopRequireDefault(__webpack_require__(/*! react */ "./node_modules/react/index.js")); var _propTypes = _interopRequireDefault(__webpack_require__(/*! prop-types */ "./node_modules/prop-types/index.js")); var _classnames = _interopRequireDefault(__webpack_require__(/*! classnames */ "./node_modules/classnames/index.js")); var _withStyles = _interopRequireDefault(__webpack_require__(/*! ../styles/withStyles */ "./node_modules/@material-ui/core/styles/withStyles.js")); var _createBreakpoints = __webpack_require__(/*! ../styles/createBreakpoints */ "./node_modules/@material-ui/core/styles/createBreakpoints.js"); var _requirePropFactory = _interopRequireDefault(__webpack_require__(/*! ../utils/requirePropFactory */ "./node_modules/@material-ui/core/utils/requirePropFactory.js")); // A grid component using the following libs as inspiration. // // For the implementation: // - http://v4-alpha.getbootstrap.com/layout/flexbox-grid/ // - https://github.com/kristoferjoseph/flexboxgrid/blob/master/src/css/flexboxgrid.css // - https://github.com/roylee0704/react-flexbox-grid // - https://material.angularjs.org/latest/layout/introduction // // Follow this flexbox Guide to better understand the underlying model: // - https://css-tricks.com/snippets/css/a-guide-to-flexbox/ var GUTTERS = [0, 8, 16, 24, 32, 40]; var GRID_SIZES = ['auto', true, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12]; function generateGrid(globalStyles, theme, breakpoint) { var styles = {}; GRID_SIZES.forEach(function (size) { var key = "grid-".concat(breakpoint, "-").concat(size); if (size === true) { // For the auto layouting styles[key] = { flexBasis: 0, flexGrow: 1, maxWidth: '100%' }; return; } if (size === 'auto') { styles[key] = { flexBasis: 'auto', flexGrow: 0, maxWidth: 'none' }; return; } // Only keep 6 significant numbers. var width = "".concat(Math.round(size / 12 * 10e6) / 10e4, "%"); // Close to the bootstrap implementation: // https://github.com/twbs/bootstrap/blob/8fccaa2439e97ec72a4b7dc42ccc1f649790adb0/scss/mixins/_grid.scss#L41 styles[key] = { flexBasis: width, flexGrow: 0, maxWidth: width }; }); // No need for a media query for the first size. if (breakpoint === 'xs') { (0, _extends2.default)(globalStyles, styles); } else { globalStyles[theme.breakpoints.up(breakpoint)] = styles; } } function generateGutter(theme, breakpoint) { var styles = {}; GUTTERS.forEach(function (spacing, index) { if (index === 0) { // Skip the default style. return; } styles["spacing-".concat(breakpoint, "-").concat(spacing)] = { margin: -spacing / 2, width: "calc(100% + ".concat(spacing, "px)"), '& > $item': { padding: spacing / 2 } }; }); return styles; } // Default CSS values // flex: '0 1 auto', // flexDirection: 'row', // alignItems: 'flex-start', // flexWrap: 'nowrap', // justifyContent: 'flex-start', var styles = function styles(theme) { return (0, _objectSpread2.default)({ container: { boxSizing: 'border-box', display: 'flex', flexWrap: 'wrap', width: '100%' }, item: { boxSizing: 'border-box', margin: '0' // For instance, it's useful when used with a `figure` element. }, zeroMinWidth: { minWidth: 0 }, 'direction-xs-column': { flexDirection: 'column' }, 'direction-xs-column-reverse': { flexDirection: 'column-reverse' }, 'direction-xs-row-reverse': { flexDirection: 'row-reverse' }, 'wrap-xs-nowrap': { flexWrap: 'nowrap' }, 'wrap-xs-wrap-reverse': { flexWrap: 'wrap-reverse' }, 'align-items-xs-center': { alignItems: 'center' }, 'align-items-xs-flex-start': { alignItems: 'flex-start' }, 'align-items-xs-flex-end': { alignItems: 'flex-end' }, 'align-items-xs-baseline': { alignItems: 'baseline' }, 'align-content-xs-center': { alignContent: 'center' }, 'align-content-xs-flex-start': { alignContent: 'flex-start' }, 'align-content-xs-flex-end': { alignContent: 'flex-end' }, 'align-content-xs-space-between': { alignContent: 'space-between' }, 'align-content-xs-space-around': { alignContent: 'space-around' }, 'justify-xs-center': { justifyContent: 'center' }, 'justify-xs-flex-end': { justifyContent: 'flex-end' }, 'justify-xs-space-between': { justifyContent: 'space-between' }, 'justify-xs-space-around': { justifyContent: 'space-around' } }, generateGutter(theme, 'xs'), _createBreakpoints.keys.reduce(function (accumulator, key) { // Use side effect over immutability for better performance. generateGrid(accumulator, theme, key); return accumulator; }, {})); }; exports.styles = styles; function Grid(props) { var _classNames; var alignContent = props.alignContent, alignItems = props.alignItems, classes = props.classes, classNameProp = props.className, Component = props.component, container = props.container, direction = props.direction, item = props.item, justify = props.justify, lg = props.lg, md = props.md, sm = props.sm, spacing = props.spacing, wrap = props.wrap, xl = props.xl, xs = props.xs, zeroMinWidth = props.zeroMinWidth, other = (0, _objectWithoutProperties2.default)(props, ["alignContent", "alignItems", "classes", "className", "component", "container", "direction", "item", "justify", "lg", "md", "sm", "spacing", "wrap", "xl", "xs", "zeroMinWidth"]); var className = (0, _classnames.default)((_classNames = {}, (0, _defineProperty2.default)(_classNames, classes.container, container), (0, _defineProperty2.default)(_classNames, classes.item, item), (0, _defineProperty2.default)(_classNames, classes.zeroMinWidth, zeroMinWidth), (0, _defineProperty2.default)(_classNames, classes["spacing-xs-".concat(String(spacing))], container && spacing !== 0), (0, _defineProperty2.default)(_classNames, classes["direction-xs-".concat(String(direction))], direction !== Grid.defaultProps.direction), (0, _defineProperty2.default)(_classNames, classes["wrap-xs-".concat(String(wrap))], wrap !== Grid.defaultProps.wrap), (0, _defineProperty2.default)(_classNames, classes["align-items-xs-".concat(String(alignItems))], alignItems !== Grid.defaultProps.alignItems), (0, _defineProperty2.default)(_classNames, classes["align-content-xs-".concat(String(alignContent))], alignContent !== Grid.defaultProps.alignContent), (0, _defineProperty2.default)(_classNames, classes["justify-xs-".concat(String(justify))], justify !== Grid.defaultProps.justify), (0, _defineProperty2.default)(_classNames, classes["grid-xs-".concat(String(xs))], xs !== false), (0, _defineProperty2.default)(_classNames, classes["grid-sm-".concat(String(sm))], sm !== false), (0, _defineProperty2.default)(_classNames, classes["grid-md-".concat(String(md))], md !== false), (0, _defineProperty2.default)(_classNames, classes["grid-lg-".concat(String(lg))], lg !== false), (0, _defineProperty2.default)(_classNames, classes["grid-xl-".concat(String(xl))], xl !== false), _classNames), classNameProp); return _react.default.createElement(Component, (0, _extends2.default)({ className: className }, other)); } Grid.propTypes = true ? { /** * Defines the `align-content` style property. * It's applied for all screen sizes. */ alignContent: _propTypes.default.oneOf(['stretch', 'center', 'flex-start', 'flex-end', 'space-between', 'space-around']), /** * Defines the `align-items` style property. * It's applied for all screen sizes. */ alignItems: _propTypes.default.oneOf(['flex-start', 'center', 'flex-end', 'stretch', 'baseline']), /** * The content of the component. */ children: _propTypes.default.node, /** * Override or extend the styles applied to the component. * See [CSS API](#css-api) below for more details. */ classes: _propTypes.default.object.isRequired, /** * @ignore */ className: _propTypes.default.string, /** * The component used for the root node. * Either a string to use a DOM element or a component. */ component: _propTypes.default.oneOfType([_propTypes.default.string, _propTypes.default.func, _propTypes.default.object]), /** * If `true`, the component will have the flex *container* behavior. * You should be wrapping *items* with a *container*. */ container: _propTypes.default.bool, /** * Defines the `flex-direction` style property. * It is applied for all screen sizes. */ direction: _propTypes.default.oneOf(['row', 'row-reverse', 'column', 'column-reverse']), /** * If `true`, the component will have the flex *item* behavior. * You should be wrapping *items* with a *container*. */ item: _propTypes.default.bool, /** * Defines the `justify-content` style property. * It is applied for all screen sizes. */ justify: _propTypes.default.oneOf(['flex-start', 'center', 'flex-end', 'space-between', 'space-around']), /** * Defines the number of grids the component is going to use. * It's applied for the `lg` breakpoint and wider screens if not overridden. */ lg: _propTypes.default.oneOf([false, 'auto', true, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12]), /** * Defines the number of grids the component is going to use. * It's applied for the `md` breakpoint and wider screens if not overridden. */ md: _propTypes.default.oneOf([false, 'auto', true, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12]), /** * Defines the number of grids the component is going to use. * It's applied for the `sm` breakpoint and wider screens if not overridden. */ sm: _propTypes.default.oneOf([false, 'auto', true, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12]), /** * Defines the space between the type `item` component. * It can only be used on a type `container` component. */ spacing: _propTypes.default.oneOf(GUTTERS), /** * Defines the `flex-wrap` style property. * It's applied for all screen sizes. */ wrap: _propTypes.default.oneOf(['nowrap', 'wrap', 'wrap-reverse']), /** * Defines the number of grids the component is going to use. * It's applied for the `xl` breakpoint and wider screens. */ xl: _propTypes.default.oneOf([false, 'auto', true, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12]), /** * Defines the number of grids the component is going to use. * It's applied for all the screen sizes with the lowest priority. */ xs: _propTypes.default.oneOf([false, 'auto', true, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12]), /** * If `true`, it sets `min-width: 0` on the item. * Refer to the limitations section of the documentation to better understand the use case. */ zeroMinWidth: _propTypes.default.bool } : undefined; Grid.defaultProps = { alignContent: 'stretch', alignItems: 'stretch', component: 'div', container: false, direction: 'row', item: false, justify: 'flex-start', lg: false, md: false, sm: false, spacing: 0, wrap: 'wrap', xl: false, xs: false, zeroMinWidth: false }; var StyledGrid = (0, _withStyles.default)(styles, { name: 'MuiGrid' })(Grid); if (true) { var requireProp = (0, _requirePropFactory.default)('Grid'); StyledGrid.propTypes = (0, _objectSpread2.default)({}, StyledGrid.propTypes, { alignContent: requireProp('container'), alignItems: requireProp('container'), direction: requireProp('container'), justify: requireProp('container'), lg: requireProp('item'), md: requireProp('item'), sm: requireProp('item'), spacing: requireProp('container'), wrap: requireProp('container'), xs: requireProp('item'), zeroMinWidth: requireProp('zeroMinWidth') }); } var _default = StyledGrid; exports.default = _default; /***/ }), /***/ "./node_modules/@material-ui/core/Grid/index.js": /*!******************************************************!*\ !*** ./node_modules/@material-ui/core/Grid/index.js ***! \******************************************************/ /*! no static exports found */ /***/ (function(module, exports, __webpack_require__) { "use strict"; var _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/builtin/interopRequireDefault */ "./node_modules/@babel/runtime/helpers/builtin/interopRequireDefault.js"); Object.defineProperty(exports, "__esModule", { value: true }); Object.defineProperty(exports, "default", { enumerable: true, get: function get() { return _Grid.default; } }); var _Grid = _interopRequireDefault(__webpack_require__(/*! ./Grid */ "./node_modules/@material-ui/core/Grid/Grid.js")); /***/ }), /***/ "./node_modules/@material-ui/core/GridList/GridList.js": /*!*************************************************************!*\ !*** ./node_modules/@material-ui/core/GridList/GridList.js ***! \*************************************************************/ /*! no static exports found */ /***/ (function(module, exports, __webpack_require__) { "use strict"; var _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/builtin/interopRequireDefault */ "./node_modules/@babel/runtime/helpers/builtin/interopRequireDefault.js"); Object.defineProperty(exports, "__esModule", { value: true }); exports.default = exports.styles = void 0; var _extends2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/builtin/extends */ "./node_modules/@babel/runtime/helpers/builtin/extends.js")); var _objectSpread2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/builtin/objectSpread */ "./node_modules/@babel/runtime/helpers/builtin/objectSpread.js")); var _objectWithoutProperties2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/builtin/objectWithoutProperties */ "./node_modules/@babel/runtime/helpers/builtin/objectWithoutProperties.js")); var _react = _interopRequireDefault(__webpack_require__(/*! react */ "./node_modules/react/index.js")); var _propTypes = _interopRequireDefault(__webpack_require__(/*! prop-types */ "./node_modules/prop-types/index.js")); var _classnames = _interopRequireDefault(__webpack_require__(/*! classnames */ "./node_modules/classnames/index.js")); var _warning = _interopRequireDefault(__webpack_require__(/*! warning */ "./node_modules/@material-ui/core/node_modules/warning/warning.js")); var _withStyles = _interopRequireDefault(__webpack_require__(/*! ../styles/withStyles */ "./node_modules/@material-ui/core/styles/withStyles.js")); var styles = { root: { display: 'flex', flexWrap: 'wrap', overflowY: 'auto', listStyle: 'none', padding: 0, WebkitOverflowScrolling: 'touch' // Add iOS momentum scrolling. } }; exports.styles = styles; function GridList(props) { var cellHeight = props.cellHeight, children = props.children, classes = props.classes, classNameProp = props.className, cols = props.cols, Component = props.component, spacing = props.spacing, style = props.style, other = (0, _objectWithoutProperties2.default)(props, ["cellHeight", "children", "classes", "className", "cols", "component", "spacing", "style"]); return _react.default.createElement(Component, (0, _extends2.default)({ className: (0, _classnames.default)(classes.root, classNameProp), style: (0, _objectSpread2.default)({ margin: -spacing / 2 }, style) }, other), _react.default.Children.map(children, function (child) { if (!_react.default.isValidElement(child)) { return null; } true ? (0, _warning.default)(child.type !== _react.default.Fragment, ["Material-UI: the GridList component doesn't accept a Fragment as a child.", 'Consider providing an array instead.'].join('\n')) : undefined; var childCols = child.props.cols || 1; var childRows = child.props.rows || 1; return _react.default.cloneElement(child, { style: (0, _extends2.default)({ width: "".concat(100 / cols * childCols, "%"), height: cellHeight === 'auto' ? 'auto' : cellHeight * childRows + spacing, padding: spacing / 2 }, child.props.style) }); })); } GridList.propTypes = true ? { /** * Number of px for one cell height. * You can set `'auto'` if you want to let the children determine the height. */ cellHeight: _propTypes.default.oneOfType([_propTypes.default.number, _propTypes.default.oneOf(['auto'])]), /** * Grid Tiles that will be in Grid List. */ children: _propTypes.default.node.isRequired, /** * Override or extend the styles applied to the component. * See [CSS API](#css-api) below for more details. */ classes: _propTypes.default.object.isRequired, /** * @ignore */ className: _propTypes.default.string, /** * Number of columns. */ cols: _propTypes.default.number, /** * The component used for the root node. * Either a string to use a DOM element or a component. */ component: _propTypes.default.oneOfType([_propTypes.default.string, _propTypes.default.func, _propTypes.default.object]), /** * Number of px for the spacing between tiles. */ spacing: _propTypes.default.number, /** * @ignore */ style: _propTypes.default.object } : undefined; GridList.defaultProps = { cellHeight: 180, cols: 2, component: 'ul', spacing: 4 }; var _default = (0, _withStyles.default)(styles, { name: 'MuiGridList' })(GridList); exports.default = _default; /***/ }), /***/ "./node_modules/@material-ui/core/GridList/index.js": /*!**********************************************************!*\ !*** ./node_modules/@material-ui/core/GridList/index.js ***! \**********************************************************/ /*! no static exports found */ /***/ (function(module, exports, __webpack_require__) { "use strict"; var _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/builtin/interopRequireDefault */ "./node_modules/@babel/runtime/helpers/builtin/interopRequireDefault.js"); Object.defineProperty(exports, "__esModule", { value: true }); Object.defineProperty(exports, "default", { enumerable: true, get: function get() { return _GridList.default; } }); var _GridList = _interopRequireDefault(__webpack_require__(/*! ./GridList */ "./node_modules/@material-ui/core/GridList/GridList.js")); /***/ }), /***/ "./node_modules/@material-ui/core/GridListTile/GridListTile.js": /*!*********************************************************************!*\ !*** ./node_modules/@material-ui/core/GridListTile/GridListTile.js ***! \*********************************************************************/ /*! no static exports found */ /***/ (function(module, exports, __webpack_require__) { "use strict"; var _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/builtin/interopRequireDefault */ "./node_modules/@babel/runtime/helpers/builtin/interopRequireDefault.js"); Object.defineProperty(exports, "__esModule", { value: true }); exports.default = exports.styles = void 0; var _extends2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/builtin/extends */ "./node_modules/@babel/runtime/helpers/builtin/extends.js")); var _objectWithoutProperties2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/builtin/objectWithoutProperties */ "./node_modules/@babel/runtime/helpers/builtin/objectWithoutProperties.js")); var _toConsumableArray2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/builtin/toConsumableArray */ "./node_modules/@babel/runtime/helpers/builtin/toConsumableArray.js")); var _classCallCheck2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/builtin/classCallCheck */ "./node_modules/@babel/runtime/helpers/builtin/classCallCheck.js")); var _createClass2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/builtin/createClass */ "./node_modules/@babel/runtime/helpers/builtin/createClass.js")); var _possibleConstructorReturn2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/builtin/possibleConstructorReturn */ "./node_modules/@babel/runtime/helpers/builtin/possibleConstructorReturn.js")); var _inherits2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/builtin/inherits */ "./node_modules/@babel/runtime/helpers/builtin/inherits.js")); var _react = _interopRequireDefault(__webpack_require__(/*! react */ "./node_modules/react/index.js")); var _propTypes = _interopRequireDefault(__webpack_require__(/*! prop-types */ "./node_modules/prop-types/index.js")); var _classnames = _interopRequireDefault(__webpack_require__(/*! classnames */ "./node_modules/classnames/index.js")); var _reactEventListener = _interopRequireDefault(__webpack_require__(/*! react-event-listener */ "./node_modules/react-event-listener/dist/react-event-listener.cjs.js")); var _debounce = _interopRequireDefault(__webpack_require__(/*! debounce */ "./node_modules/debounce/index.js")); var _withStyles = _interopRequireDefault(__webpack_require__(/*! ../styles/withStyles */ "./node_modules/@material-ui/core/styles/withStyles.js")); // < 1kb payload overhead when lodash/debounce is > 3kb. var styles = { root: { boxSizing: 'border-box', flexShrink: 0 }, tile: { position: 'relative', display: 'block', // In case it's not renderd with a div. height: '100%', overflow: 'hidden' }, imgFullHeight: { height: '100%', transform: 'translateX(-50%)', position: 'relative', left: '50%' }, imgFullWidth: { width: '100%', position: 'relative', transform: 'translateY(-50%)', top: '50%' } }; exports.styles = styles; var GridListTile = /*#__PURE__*/ function (_React$Component) { (0, _inherits2.default)(GridListTile, _React$Component); function GridListTile() { var _ref; var _temp, _this; (0, _classCallCheck2.default)(this, GridListTile); for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) { args[_key] = arguments[_key]; } return (0, _possibleConstructorReturn2.default)(_this, (_temp = _this = (0, _possibleConstructorReturn2.default)(this, (_ref = GridListTile.__proto__ || Object.getPrototypeOf(GridListTile)).call.apply(_ref, [this].concat(args))), _this.imgElement = null, _this.handleResize = (0, _debounce.default)(function () { _this.fit(); }, 166), _this.fit = function () { var imgElement = _this.imgElement; if (!imgElement || !imgElement.complete) { return; } if (imgElement.width / imgElement.height > imgElement.parentNode.offsetWidth / imgElement.parentNode.offsetHeight) { var _imgElement$classList, _imgElement$classList2; (_imgElement$classList = imgElement.classList).remove.apply(_imgElement$classList, (0, _toConsumableArray2.default)(_this.props.classes.imgFullWidth.split(' '))); (_imgElement$classList2 = imgElement.classList).add.apply(_imgElement$classList2, (0, _toConsumableArray2.default)(_this.props.classes.imgFullHeight.split(' '))); } else { var _imgElement$classList3, _imgElement$classList4; (_imgElement$classList3 = imgElement.classList).remove.apply(_imgElement$classList3, (0, _toConsumableArray2.default)(_this.props.classes.imgFullHeight.split(' '))); (_imgElement$classList4 = imgElement.classList).add.apply(_imgElement$classList4, (0, _toConsumableArray2.default)(_this.props.classes.imgFullWidth.split(' '))); } imgElement.removeEventListener('load', _this.fit); }, _temp)); } (0, _createClass2.default)(GridListTile, [{ key: "componentDidMount", // Corresponds to 10 frames at 60 Hz. value: function componentDidMount() { this.ensureImageCover(); } }, { key: "componentDidUpdate", value: function componentDidUpdate() { this.ensureImageCover(); } }, { key: "componentWillUnmount", value: function componentWillUnmount() { this.handleResize.clear(); } }, { key: "ensureImageCover", value: function ensureImageCover() { if (!this.imgElement) { return; } if (this.imgElement.complete) { this.fit(); } else { this.imgElement.addEventListener('load', this.fit); } } }, { key: "render", value: function render() { var _this2 = this; var _props = this.props, children = _props.children, classes = _props.classes, className = _props.className, cols = _props.cols, Component = _props.component, rows = _props.rows, other = (0, _objectWithoutProperties2.default)(_props, ["children", "classes", "className", "cols", "component", "rows"]); return _react.default.createElement(Component, (0, _extends2.default)({ className: (0, _classnames.default)(classes.root, className) }, other), _react.default.createElement(_reactEventListener.default, { target: "window", onResize: this.handleResize }), _react.default.createElement("div", { className: classes.tile }, _react.default.Children.map(children, function (child) { if (!_react.default.isValidElement(child)) { return null; } if (child.type === 'img') { return _react.default.cloneElement(child, { ref: function ref(node) { _this2.imgElement = node; } }); } return child; }))); } }]); return GridListTile; }(_react.default.Component); GridListTile.propTypes = true ? { /** * Theoretically you can pass any node as children, but the main use case is to pass an img, * in which case GridListTile takes care of making the image "cover" available space * (similar to `background-size: cover` or to `object-fit: cover`). */ children: _propTypes.default.node, /** * Override or extend the styles applied to the component. * See [CSS API](#css-api) below for more details. */ classes: _propTypes.default.object.isRequired, /** * @ignore */ className: _propTypes.default.string, /** * Width of the tile in number of grid cells. */ cols: _propTypes.default.number, /** * The component used for the root node. * Either a string to use a DOM element or a component. */ component: _propTypes.default.oneOfType([_propTypes.default.string, _propTypes.default.func, _propTypes.default.object]), /** * Height of the tile in number of grid cells. */ rows: _propTypes.default.number } : undefined; GridListTile.defaultProps = { cols: 1, component: 'li', rows: 1 }; var _default = (0, _withStyles.default)(styles, { name: 'MuiGridListTile' })(GridListTile); exports.default = _default; /***/ }), /***/ "./node_modules/@material-ui/core/GridListTile/index.js": /*!**************************************************************!*\ !*** ./node_modules/@material-ui/core/GridListTile/index.js ***! \**************************************************************/ /*! no static exports found */ /***/ (function(module, exports, __webpack_require__) { "use strict"; var _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/builtin/interopRequireDefault */ "./node_modules/@babel/runtime/helpers/builtin/interopRequireDefault.js"); Object.defineProperty(exports, "__esModule", { value: true }); Object.defineProperty(exports, "default", { enumerable: true, get: function get() { return _GridListTile.default; } }); var _GridListTile = _interopRequireDefault(__webpack_require__(/*! ./GridListTile */ "./node_modules/@material-ui/core/GridListTile/GridListTile.js")); /***/ }), /***/ "./node_modules/@material-ui/core/GridListTileBar/GridListTileBar.js": /*!***************************************************************************!*\ !*** ./node_modules/@material-ui/core/GridListTileBar/GridListTileBar.js ***! \***************************************************************************/ /*! no static exports found */ /***/ (function(module, exports, __webpack_require__) { "use strict"; var _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/builtin/interopRequireDefault */ "./node_modules/@babel/runtime/helpers/builtin/interopRequireDefault.js"); Object.defineProperty(exports, "__esModule", { value: true }); exports.default = exports.styles = void 0; var _extends2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/builtin/extends */ "./node_modules/@babel/runtime/helpers/builtin/extends.js")); var _defineProperty2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/builtin/defineProperty */ "./node_modules/@babel/runtime/helpers/builtin/defineProperty.js")); var _objectWithoutProperties2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/builtin/objectWithoutProperties */ "./node_modules/@babel/runtime/helpers/builtin/objectWithoutProperties.js")); var _react = _interopRequireDefault(__webpack_require__(/*! react */ "./node_modules/react/index.js")); var _propTypes = _interopRequireDefault(__webpack_require__(/*! prop-types */ "./node_modules/prop-types/index.js")); var _classnames = _interopRequireDefault(__webpack_require__(/*! classnames */ "./node_modules/classnames/index.js")); var _withStyles = _interopRequireDefault(__webpack_require__(/*! ../styles/withStyles */ "./node_modules/@material-ui/core/styles/withStyles.js")); var styles = function styles(theme) { return { root: { position: 'absolute', left: 0, right: 0, height: 48, background: 'rgba(0, 0, 0, 0.5)', display: 'flex', alignItems: 'center', fontFamily: theme.typography.fontFamily }, titlePositionBottom: { bottom: 0 }, titlePositionTop: { top: 0 }, rootSubtitle: { height: 68 }, titleWrap: { flexGrow: 1, marginLeft: theme.mixins.gutters().paddingLeft, marginRight: theme.mixins.gutters().paddingRight, color: theme.palette.common.white, overflow: 'hidden' }, titleWrapActionPosLeft: { marginLeft: 0 }, titleWrapActionPosRight: { marginRight: 0 }, title: { fontSize: theme.typography.pxToRem(16), lineHeight: '24px', textOverflow: 'ellipsis', overflow: 'hidden', whiteSpace: 'nowrap' }, subtitle: { fontSize: theme.typography.pxToRem(12), lineHeight: 1, textOverflow: 'ellipsis', overflow: 'hidden', whiteSpace: 'nowrap' }, actionIcon: {}, actionIconActionPosLeft: { order: -1 } }; }; exports.styles = styles; function GridListTileBar(props) { var _classNames, _classNames2; var actionIcon = props.actionIcon, actionPosition = props.actionPosition, classes = props.classes, classNameProp = props.className, subtitle = props.subtitle, title = props.title, titlePosition = props.titlePosition, other = (0, _objectWithoutProperties2.default)(props, ["actionIcon", "actionPosition", "classes", "className", "subtitle", "title", "titlePosition"]); var actionPos = actionIcon && actionPosition; var className = (0, _classnames.default)(classes.root, (_classNames = {}, (0, _defineProperty2.default)(_classNames, classes.titlePositionBottom, titlePosition === 'bottom'), (0, _defineProperty2.default)(_classNames, classes.titlePositionTop, titlePosition === 'top'), (0, _defineProperty2.default)(_classNames, classes.rootSubtitle, subtitle), _classNames), classNameProp); // Remove the margin between the title / subtitle wrapper, and the Action Icon var titleWrapClassName = (0, _classnames.default)(classes.titleWrap, (_classNames2 = {}, (0, _defineProperty2.default)(_classNames2, classes.titleWrapActionPosLeft, actionPos === 'left'), (0, _defineProperty2.default)(_classNames2, classes.titleWrapActionPosRight, actionPos === 'right'), _classNames2)); return _react.default.createElement("div", (0, _extends2.default)({ className: className }, other), _react.default.createElement("div", { className: titleWrapClassName }, _react.default.createElement("div", { className: classes.title }, title), subtitle ? _react.default.createElement("div", { className: classes.subtitle }, subtitle) : null), actionIcon ? _react.default.createElement("div", { className: (0, _classnames.default)(classes.actionIcon, (0, _defineProperty2.default)({}, classes.actionIconActionPosLeft, actionPos === 'left')) }, actionIcon) : null); } GridListTileBar.propTypes = true ? { /** * An IconButton element to be used as secondary action target * (primary action target is the tile itself). */ actionIcon: _propTypes.default.node, /** * Position of secondary action IconButton. */ actionPosition: _propTypes.default.oneOf(['left', 'right']), /** * Override or extend the styles applied to the component. * See [CSS API](#css-api) below for more details. */ classes: _propTypes.default.object.isRequired, /** * @ignore */ className: _propTypes.default.string, /** * String or element serving as subtitle (support text). */ subtitle: _propTypes.default.node, /** * Title to be displayed on tile. */ title: _propTypes.default.node, /** * Position of the title bar. */ titlePosition: _propTypes.default.oneOf(['top', 'bottom']) } : undefined; GridListTileBar.defaultProps = { actionPosition: 'right', titlePosition: 'bottom' }; var _default = (0, _withStyles.default)(styles, { name: 'MuiGridListTileBar' })(GridListTileBar); exports.default = _default; /***/ }), /***/ "./node_modules/@material-ui/core/GridListTileBar/index.js": /*!*****************************************************************!*\ !*** ./node_modules/@material-ui/core/GridListTileBar/index.js ***! \*****************************************************************/ /*! no static exports found */ /***/ (function(module, exports, __webpack_require__) { "use strict"; var _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/builtin/interopRequireDefault */ "./node_modules/@babel/runtime/helpers/builtin/interopRequireDefault.js"); Object.defineProperty(exports, "__esModule", { value: true }); Object.defineProperty(exports, "default", { enumerable: true, get: function get() { return _GridListTileBar.default; } }); var _GridListTileBar = _interopRequireDefault(__webpack_require__(/*! ./GridListTileBar */ "./node_modules/@material-ui/core/GridListTileBar/GridListTileBar.js")); /***/ }), /***/ "./node_modules/@material-ui/core/Grow/Grow.js": /*!*****************************************************!*\ !*** ./node_modules/@material-ui/core/Grow/Grow.js ***! \*****************************************************/ /*! no static exports found */ /***/ (function(module, exports, __webpack_require__) { "use strict"; var _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/builtin/interopRequireDefault */ "./node_modules/@babel/runtime/helpers/builtin/interopRequireDefault.js"); Object.defineProperty(exports, "__esModule", { value: true }); exports.default = void 0; var _extends2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/builtin/extends */ "./node_modules/@babel/runtime/helpers/builtin/extends.js")); var _objectSpread2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/builtin/objectSpread */ "./node_modules/@babel/runtime/helpers/builtin/objectSpread.js")); var _objectWithoutProperties2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/builtin/objectWithoutProperties */ "./node_modules/@babel/runtime/helpers/builtin/objectWithoutProperties.js")); var _classCallCheck2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/builtin/classCallCheck */ "./node_modules/@babel/runtime/helpers/builtin/classCallCheck.js")); var _createClass2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/builtin/createClass */ "./node_modules/@babel/runtime/helpers/builtin/createClass.js")); var _possibleConstructorReturn2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/builtin/possibleConstructorReturn */ "./node_modules/@babel/runtime/helpers/builtin/possibleConstructorReturn.js")); var _inherits2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/builtin/inherits */ "./node_modules/@babel/runtime/helpers/builtin/inherits.js")); var _react = _interopRequireDefault(__webpack_require__(/*! react */ "./node_modules/react/index.js")); var _propTypes = _interopRequireDefault(__webpack_require__(/*! prop-types */ "./node_modules/prop-types/index.js")); var _Transition = _interopRequireDefault(__webpack_require__(/*! react-transition-group/Transition */ "./node_modules/@material-ui/core/node_modules/react-transition-group/Transition.js")); var _withTheme = _interopRequireDefault(__webpack_require__(/*! ../styles/withTheme */ "./node_modules/@material-ui/core/styles/withTheme.js")); var _utils = __webpack_require__(/*! ../transitions/utils */ "./node_modules/@material-ui/core/transitions/utils.js"); // @inheritedComponent Transition function getScale(value) { return "scale(".concat(value, ", ").concat(Math.pow(value, 2), ")"); } var styles = { entering: { opacity: 1, transform: getScale(1) }, entered: { opacity: 1, transform: getScale(1) } }; /** * The Grow transition is used by the [Tooltip](/demos/tooltips) and * [Popover](/utils/popover) components. * It uses [react-transition-group](https://github.com/reactjs/react-transition-group) internally. */ var Grow = /*#__PURE__*/ function (_React$Component) { (0, _inherits2.default)(Grow, _React$Component); function Grow() { var _ref; var _temp, _this; (0, _classCallCheck2.default)(this, Grow); for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) { args[_key] = arguments[_key]; } return (0, _possibleConstructorReturn2.default)(_this, (_temp = _this = (0, _possibleConstructorReturn2.default)(this, (_ref = Grow.__proto__ || Object.getPrototypeOf(Grow)).call.apply(_ref, [this].concat(args))), _this.autoTimeout = null, _this.timer = null, _this.handleEnter = function (node) { var _this$props = _this.props, theme = _this$props.theme, timeout = _this$props.timeout; (0, _utils.reflow)(node); // So the animation always start from the start. var _getTransitionProps = (0, _utils.getTransitionProps)(_this.props, { mode: 'enter' }), transitionDuration = _getTransitionProps.duration, delay = _getTransitionProps.delay; var duration = 0; if (timeout === 'auto') { duration = theme.transitions.getAutoHeightDuration(node.clientHeight); _this.autoTimeout = duration; } else { duration = transitionDuration; } node.style.transition = [theme.transitions.create('opacity', { duration: duration, delay: delay }), theme.transitions.create('transform', { duration: duration * 0.666, delay: delay })].join(','); if (_this.props.onEnter) { _this.props.onEnter(node); } }, _this.handleExit = function (node) { var _this$props2 = _this.props, theme = _this$props2.theme, timeout = _this$props2.timeout; var duration = 0; var _getTransitionProps2 = (0, _utils.getTransitionProps)(_this.props, { mode: 'exit' }), transitionDuration = _getTransitionProps2.duration, delay = _getTransitionProps2.delay; if (timeout === 'auto') { duration = theme.transitions.getAutoHeightDuration(node.clientHeight); _this.autoTimeout = duration; } else { duration = transitionDuration; } node.style.transition = [theme.transitions.create('opacity', { duration: duration, delay: delay }), theme.transitions.create('transform', { duration: duration * 0.666, delay: delay || duration * 0.333 })].join(','); node.style.opacity = '0'; node.style.transform = getScale(0.75); if (_this.props.onExit) { _this.props.onExit(node); } }, _this.addEndListener = function (_, next) { if (_this.props.timeout === 'auto') { _this.timer = setTimeout(next, _this.autoTimeout || 0); } }, _temp)); } (0, _createClass2.default)(Grow, [{ key: "componentWillUnmount", value: function componentWillUnmount() { clearTimeout(this.timer); } }, { key: "render", value: function render() { var _props = this.props, children = _props.children, onEnter = _props.onEnter, onExit = _props.onExit, styleProp = _props.style, theme = _props.theme, timeout = _props.timeout, other = (0, _objectWithoutProperties2.default)(_props, ["children", "onEnter", "onExit", "style", "theme", "timeout"]); var style = (0, _objectSpread2.default)({}, styleProp, _react.default.isValidElement(children) ? children.props.style : {}); return _react.default.createElement(_Transition.default, (0, _extends2.default)({ appear: true, onEnter: this.handleEnter, onExit: this.handleExit, addEndListener: this.addEndListener, timeout: timeout === 'auto' ? null : timeout }, other), function (state, childProps) { return _react.default.cloneElement(children, (0, _objectSpread2.default)({ style: (0, _objectSpread2.default)({ opacity: 0, transform: getScale(0.75) }, styles[state], style) }, childProps)); }); } }]); return Grow; }(_react.default.Component); Grow.propTypes = true ? { /** * A single child content element. */ children: _propTypes.default.oneOfType([_propTypes.default.element, _propTypes.default.func]), /** * If `true`, show the component; triggers the enter or exit animation. */ in: _propTypes.default.bool, /** * @ignore */ onEnter: _propTypes.default.func, /** * @ignore */ onExit: _propTypes.default.func, /** * @ignore */ style: _propTypes.default.object, /** * @ignore */ theme: _propTypes.default.object.isRequired, /** * The duration for the transition, in milliseconds. * You may specify a single timeout for all transitions, or individually with an object. * * Set to 'auto' to automatically calculate transition time based on height. */ timeout: _propTypes.default.oneOfType([_propTypes.default.number, _propTypes.default.shape({ enter: _propTypes.default.number, exit: _propTypes.default.number }), _propTypes.default.oneOf(['auto'])]) } : undefined; Grow.defaultProps = { timeout: 'auto' }; Grow.muiSupportAuto = true; var _default = (0, _withTheme.default)()(Grow); exports.default = _default; /***/ }), /***/ "./node_modules/@material-ui/core/Grow/index.js": /*!******************************************************!*\ !*** ./node_modules/@material-ui/core/Grow/index.js ***! \******************************************************/ /*! no static exports found */ /***/ (function(module, exports, __webpack_require__) { "use strict"; var _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/builtin/interopRequireDefault */ "./node_modules/@babel/runtime/helpers/builtin/interopRequireDefault.js"); Object.defineProperty(exports, "__esModule", { value: true }); Object.defineProperty(exports, "default", { enumerable: true, get: function get() { return _Grow.default; } }); var _Grow = _interopRequireDefault(__webpack_require__(/*! ./Grow */ "./node_modules/@material-ui/core/Grow/Grow.js")); /***/ }), /***/ "./node_modules/@material-ui/core/Hidden/Hidden.js": /*!*********************************************************!*\ !*** ./node_modules/@material-ui/core/Hidden/Hidden.js ***! \*********************************************************/ /*! no static exports found */ /***/ (function(module, exports, __webpack_require__) { "use strict"; var _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/builtin/interopRequireDefault */ "./node_modules/@babel/runtime/helpers/builtin/interopRequireDefault.js"); Object.defineProperty(exports, "__esModule", { value: true }); exports.default = void 0; var _objectWithoutProperties2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/builtin/objectWithoutProperties */ "./node_modules/@babel/runtime/helpers/builtin/objectWithoutProperties.js")); var _react = _interopRequireDefault(__webpack_require__(/*! react */ "./node_modules/react/index.js")); var _propTypes = _interopRequireDefault(__webpack_require__(/*! prop-types */ "./node_modules/prop-types/index.js")); var _HiddenJs = _interopRequireDefault(__webpack_require__(/*! ./HiddenJs */ "./node_modules/@material-ui/core/Hidden/HiddenJs.js")); var _HiddenCss = _interopRequireDefault(__webpack_require__(/*! ./HiddenCss */ "./node_modules/@material-ui/core/Hidden/HiddenCss.js")); /** * Responsively hides children based on the selected implementation. */ function Hidden(props) { var implementation = props.implementation, other = (0, _objectWithoutProperties2.default)(props, ["implementation"]); if (implementation === 'js') { return _react.default.createElement(_HiddenJs.default, other); } return _react.default.createElement(_HiddenCss.default, other); } Hidden.propTypes = true ? { /** * The content of the component. */ children: _propTypes.default.node, /** * @ignore */ className: _propTypes.default.string, /** * Specify which implementation to use. 'js' is the default, 'css' works better for server * side rendering. */ implementation: _propTypes.default.oneOf(['js', 'css']), /** * You can use this property when choosing the `js` implementation with server side rendering. * * As `window.innerWidth` is unavailable on the server, * we default to rendering an empty componenent during the first mount. * In some situation you might want to use an heristic to approximate * the screen width of the client browser screen width. * * For instance, you could be using the user-agent or the client-hints. * http://caniuse.com/#search=client%20hint */ initialWidth: _propTypes.default.oneOf(['xs', 'sm', 'md', 'lg', 'xl']), /** * If true, screens this size and down will be hidden. */ lgDown: _propTypes.default.bool, /** * If true, screens this size and up will be hidden. */ lgUp: _propTypes.default.bool, /** * If true, screens this size and down will be hidden. */ mdDown: _propTypes.default.bool, /** * If true, screens this size and up will be hidden. */ mdUp: _propTypes.default.bool, /** * Hide the given breakpoint(s). */ only: _propTypes.default.oneOfType([_propTypes.default.oneOf(['xs', 'sm', 'md', 'lg', 'xl']), _propTypes.default.arrayOf(_propTypes.default.oneOf(['xs', 'sm', 'md', 'lg', 'xl']))]), /** * If true, screens this size and down will be hidden. */ smDown: _propTypes.default.bool, /** * If true, screens this size and up will be hidden. */ smUp: _propTypes.default.bool, /** * If true, screens this size and down will be hidden. */ xlDown: _propTypes.default.bool, /** * If true, screens this size and up will be hidden. */ xlUp: _propTypes.default.bool, /** * If true, screens this size and down will be hidden. */ xsDown: _propTypes.default.bool, /** * If true, screens this size and up will be hidden. */ xsUp: _propTypes.default.bool } : undefined; Hidden.defaultProps = { implementation: 'js', lgDown: false, lgUp: false, mdDown: false, mdUp: false, smDown: false, smUp: false, xlDown: false, xlUp: false, xsDown: false, xsUp: false }; var _default = Hidden; exports.default = _default; /***/ }), /***/ "./node_modules/@material-ui/core/Hidden/HiddenCss.js": /*!************************************************************!*\ !*** ./node_modules/@material-ui/core/Hidden/HiddenCss.js ***! \************************************************************/ /*! no static exports found */ /***/ (function(module, exports, __webpack_require__) { "use strict"; var _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/builtin/interopRequireDefault */ "./node_modules/@babel/runtime/helpers/builtin/interopRequireDefault.js"); Object.defineProperty(exports, "__esModule", { value: true }); exports.default = void 0; var _objectWithoutProperties2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/builtin/objectWithoutProperties */ "./node_modules/@babel/runtime/helpers/builtin/objectWithoutProperties.js")); var _defineProperty2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/builtin/defineProperty */ "./node_modules/@babel/runtime/helpers/builtin/defineProperty.js")); var _react = _interopRequireDefault(__webpack_require__(/*! react */ "./node_modules/react/index.js")); var _propTypes = _interopRequireDefault(__webpack_require__(/*! prop-types */ "./node_modules/prop-types/index.js")); var _warning = _interopRequireDefault(__webpack_require__(/*! warning */ "./node_modules/@material-ui/core/node_modules/warning/warning.js")); var _createBreakpoints = __webpack_require__(/*! ../styles/createBreakpoints */ "./node_modules/@material-ui/core/styles/createBreakpoints.js"); var _helpers = __webpack_require__(/*! ../utils/helpers */ "./node_modules/@material-ui/core/utils/helpers.js"); var _withStyles = _interopRequireDefault(__webpack_require__(/*! ../styles/withStyles */ "./node_modules/@material-ui/core/styles/withStyles.js")); var styles = function styles(theme) { var hidden = { display: 'none' }; return _createBreakpoints.keys.reduce(function (acc, key) { acc["only".concat((0, _helpers.capitalize)(key))] = (0, _defineProperty2.default)({}, theme.breakpoints.only(key), hidden); acc["".concat(key, "Up")] = (0, _defineProperty2.default)({}, theme.breakpoints.up(key), hidden); acc["".concat(key, "Down")] = (0, _defineProperty2.default)({}, theme.breakpoints.down(key), hidden); return acc; }, {}); }; /** * @ignore - internal component. */ function HiddenCss(props) { var children = props.children, classes = props.classes, className = props.className, lgDown = props.lgDown, lgUp = props.lgUp, mdDown = props.mdDown, mdUp = props.mdUp, only = props.only, smDown = props.smDown, smUp = props.smUp, xlDown = props.xlDown, xlUp = props.xlUp, xsDown = props.xsDown, xsUp = props.xsUp, other = (0, _objectWithoutProperties2.default)(props, ["children", "classes", "className", "lgDown", "lgUp", "mdDown", "mdUp", "only", "smDown", "smUp", "xlDown", "xlUp", "xsDown", "xsUp"]); true ? (0, _warning.default)(Object.keys(other).length === 0 || Object.keys(other).length === 1 && other.hasOwnProperty('ref'), "Material-UI: unsupported properties received ".concat(Object.keys(other).join(', '), " by ``.")) : undefined; var classNames = []; if (className) { classNames.push(className); } for (var i = 0; i < _createBreakpoints.keys.length; i += 1) { var breakpoint = _createBreakpoints.keys[i]; var breakpointUp = props["".concat(breakpoint, "Up")]; var breakpointDown = props["".concat(breakpoint, "Down")]; if (breakpointUp) { classNames.push(classes["".concat(breakpoint, "Up")]); } if (breakpointDown) { classNames.push(classes["".concat(breakpoint, "Down")]); } } if (only) { var onlyBreakpoints = Array.isArray(only) ? only : [only]; onlyBreakpoints.forEach(function (breakpoint) { classNames.push(classes["only".concat((0, _helpers.capitalize)(breakpoint))]); }); } return _react.default.createElement("div", { className: classNames.join(' ') }, children); } HiddenCss.propTypes = true ? { /** * The content of the component. */ children: _propTypes.default.node, /** * Override or extend the styles applied to the component. * See [CSS API](#css-api) below for more details. */ classes: _propTypes.default.object.isRequired, /** * @ignore */ className: _propTypes.default.string, /** * Specify which implementation to use. 'js' is the default, 'css' works better for server * side rendering. */ implementation: _propTypes.default.oneOf(['js', 'css']), /** * If true, screens this size and down will be hidden. */ lgDown: _propTypes.default.bool, /** * If true, screens this size and up will be hidden. */ lgUp: _propTypes.default.bool, /** * If true, screens this size and down will be hidden. */ mdDown: _propTypes.default.bool, /** * If true, screens this size and up will be hidden. */ mdUp: _propTypes.default.bool, /** * Hide the given breakpoint(s). */ only: _propTypes.default.oneOfType([_propTypes.default.oneOf(['xs', 'sm', 'md', 'lg', 'xl']), _propTypes.default.arrayOf(_propTypes.default.oneOf(['xs', 'sm', 'md', 'lg', 'xl']))]), /** * If true, screens this size and down will be hidden. */ smDown: _propTypes.default.bool, /** * If true, screens this size and up will be hidden. */ smUp: _propTypes.default.bool, /** * If true, screens this size and down will be hidden. */ xlDown: _propTypes.default.bool, /** * If true, screens this size and up will be hidden. */ xlUp: _propTypes.default.bool, /** * If true, screens this size and down will be hidden. */ xsDown: _propTypes.default.bool, /** * If true, screens this size and up will be hidden. */ xsUp: _propTypes.default.bool } : undefined; var _default = (0, _withStyles.default)(styles)(HiddenCss); exports.default = _default; /***/ }), /***/ "./node_modules/@material-ui/core/Hidden/HiddenJs.js": /*!***********************************************************!*\ !*** ./node_modules/@material-ui/core/Hidden/HiddenJs.js ***! \***********************************************************/ /*! no static exports found */ /***/ (function(module, exports, __webpack_require__) { "use strict"; var _interopRequireWildcard = __webpack_require__(/*! @babel/runtime/helpers/builtin/interopRequireWildcard */ "./node_modules/@babel/runtime/helpers/builtin/interopRequireWildcard.js"); var _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/builtin/interopRequireDefault */ "./node_modules/@babel/runtime/helpers/builtin/interopRequireDefault.js"); Object.defineProperty(exports, "__esModule", { value: true }); exports.default = void 0; var _propTypes = _interopRequireDefault(__webpack_require__(/*! prop-types */ "./node_modules/prop-types/index.js")); var _createBreakpoints = __webpack_require__(/*! ../styles/createBreakpoints */ "./node_modules/@material-ui/core/styles/createBreakpoints.js"); var _withWidth = _interopRequireWildcard(__webpack_require__(/*! ../withWidth */ "./node_modules/@material-ui/core/withWidth/index.js")); var _exactProp = _interopRequireDefault(__webpack_require__(/*! ../utils/exactProp */ "./node_modules/@material-ui/core/utils/exactProp.js")); /** * @ignore - internal component. */ function HiddenJs(props) { var children = props.children, only = props.only, width = props.width; var visible = true; // `only` check is faster to get out sooner if used. if (only) { if (Array.isArray(only)) { for (var i = 0; i < only.length; i += 1) { var breakpoint = only[i]; if (width === breakpoint) { visible = false; break; } } } else if (only && width === only) { visible = false; } } // Allow `only` to be combined with other props. If already hidden, no need to check others. if (visible) { // determine visibility based on the smallest size up for (var _i = 0; _i < _createBreakpoints.keys.length; _i += 1) { var _breakpoint = _createBreakpoints.keys[_i]; var breakpointUp = props["".concat(_breakpoint, "Up")]; var breakpointDown = props["".concat(_breakpoint, "Down")]; if (breakpointUp && (0, _withWidth.isWidthUp)(_breakpoint, width) || breakpointDown && (0, _withWidth.isWidthDown)(_breakpoint, width)) { visible = false; break; } } } if (!visible) { return null; } return children; } HiddenJs.propTypes = { /** * The content of the component. */ children: _propTypes.default.node, /** * @ignore */ className: _propTypes.default.string, /** * Specify which implementation to use. 'js' is the default, 'css' works better for server * side rendering. */ implementation: _propTypes.default.oneOf(['js', 'css']), /** * You can use this property when choosing the `js` implementation with server side rendering. * * As `window.innerWidth` is unavailable on the server, * we default to rendering an empty componenent during the first mount. * In some situation you might want to use an heristic to approximate * the screen width of the client browser screen width. * * For instance, you could be using the user-agent or the client-hints. * http://caniuse.com/#search=client%20hint */ initialWidth: _propTypes.default.oneOf(['xs', 'sm', 'md', 'lg', 'xl']), /** * If true, screens this size and down will be hidden. */ lgDown: _propTypes.default.bool, /** * If true, screens this size and up will be hidden. */ lgUp: _propTypes.default.bool, /** * If true, screens this size and down will be hidden. */ mdDown: _propTypes.default.bool, /** * If true, screens this size and up will be hidden. */ mdUp: _propTypes.default.bool, /** * Hide the given breakpoint(s). */ only: _propTypes.default.oneOfType([_propTypes.default.oneOf(['xs', 'sm', 'md', 'lg', 'xl']), _propTypes.default.arrayOf(_propTypes.default.oneOf(['xs', 'sm', 'md', 'lg', 'xl']))]), /** * If true, screens this size and down will be hidden. */ smDown: _propTypes.default.bool, /** * If true, screens this size and up will be hidden. */ smUp: _propTypes.default.bool, /** * @ignore * width prop provided by withWidth decorator. */ width: _propTypes.default.string.isRequired, /** * If true, screens this size and down will be hidden. */ xlDown: _propTypes.default.bool, /** * If true, screens this size and up will be hidden. */ xlUp: _propTypes.default.bool, /** * If true, screens this size and down will be hidden. */ xsDown: _propTypes.default.bool, /** * If true, screens this size and up will be hidden. */ xsUp: _propTypes.default.bool }; HiddenJs.propTypes = (0, _exactProp.default)(HiddenJs.propTypes); var _default = (0, _withWidth.default)()(HiddenJs); exports.default = _default; /***/ }), /***/ "./node_modules/@material-ui/core/Hidden/index.js": /*!********************************************************!*\ !*** ./node_modules/@material-ui/core/Hidden/index.js ***! \********************************************************/ /*! no static exports found */ /***/ (function(module, exports, __webpack_require__) { "use strict"; var _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/builtin/interopRequireDefault */ "./node_modules/@babel/runtime/helpers/builtin/interopRequireDefault.js"); Object.defineProperty(exports, "__esModule", { value: true }); Object.defineProperty(exports, "default", { enumerable: true, get: function get() { return _Hidden.default; } }); var _Hidden = _interopRequireDefault(__webpack_require__(/*! ./Hidden */ "./node_modules/@material-ui/core/Hidden/Hidden.js")); /***/ }), /***/ "./node_modules/@material-ui/core/Icon/Icon.js": /*!*****************************************************!*\ !*** ./node_modules/@material-ui/core/Icon/Icon.js ***! \*****************************************************/ /*! no static exports found */ /***/ (function(module, exports, __webpack_require__) { "use strict"; var _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/builtin/interopRequireDefault */ "./node_modules/@babel/runtime/helpers/builtin/interopRequireDefault.js"); Object.defineProperty(exports, "__esModule", { value: true }); exports.default = exports.styles = void 0; var _extends2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/builtin/extends */ "./node_modules/@babel/runtime/helpers/builtin/extends.js")); var _defineProperty2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/builtin/defineProperty */ "./node_modules/@babel/runtime/helpers/builtin/defineProperty.js")); var _objectWithoutProperties2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/builtin/objectWithoutProperties */ "./node_modules/@babel/runtime/helpers/builtin/objectWithoutProperties.js")); var _react = _interopRequireDefault(__webpack_require__(/*! react */ "./node_modules/react/index.js")); var _propTypes = _interopRequireDefault(__webpack_require__(/*! prop-types */ "./node_modules/prop-types/index.js")); var _classnames = _interopRequireDefault(__webpack_require__(/*! classnames */ "./node_modules/classnames/index.js")); var _withStyles = _interopRequireDefault(__webpack_require__(/*! ../styles/withStyles */ "./node_modules/@material-ui/core/styles/withStyles.js")); var _helpers = __webpack_require__(/*! ../utils/helpers */ "./node_modules/@material-ui/core/utils/helpers.js"); var styles = function styles(theme) { return { root: { userSelect: 'none', fontSize: 24, width: '1em', height: '1em', // Chrome fix for https://bugs.chromium.org/p/chromium/issues/detail?id=820541 // To remove at some point. overflow: 'hidden', flexShrink: 0 }, colorPrimary: { color: theme.palette.primary.main }, colorSecondary: { color: theme.palette.secondary.main }, colorAction: { color: theme.palette.action.active }, colorError: { color: theme.palette.error.main }, colorDisabled: { color: theme.palette.action.disabled }, fontSizeInherit: { fontSize: 'inherit' } }; }; exports.styles = styles; function Icon(props) { var _classNames; var children = props.children, classes = props.classes, className = props.className, color = props.color, fontSize = props.fontSize, other = (0, _objectWithoutProperties2.default)(props, ["children", "classes", "className", "color", "fontSize"]); return _react.default.createElement("span", (0, _extends2.default)({ className: (0, _classnames.default)('material-icons', classes.root, (_classNames = {}, (0, _defineProperty2.default)(_classNames, classes["color".concat((0, _helpers.capitalize)(color))], color !== 'inherit'), (0, _defineProperty2.default)(_classNames, classes["fontSize".concat((0, _helpers.capitalize)(fontSize))], fontSize !== 'default'), _classNames), className), "aria-hidden": "true" }, other), children); } Icon.propTypes = true ? { /** * The name of the icon font ligature. */ children: _propTypes.default.node, /** * Override or extend the styles applied to the component. * See [CSS API](#css-api) below for more details. */ classes: _propTypes.default.object.isRequired, /** * @ignore */ className: _propTypes.default.string, /** * The color of the component. It supports those theme colors that make sense for this component. */ color: _propTypes.default.oneOf(['inherit', 'primary', 'secondary', 'action', 'error', 'disabled']), /** * The fontSize applied to the icon. Defaults to 24px, but can be configure to inherit font size. */ fontSize: _propTypes.default.oneOf(['inherit', 'default']) } : undefined; Icon.defaultProps = { color: 'inherit', fontSize: 'default' }; Icon.muiName = 'Icon'; var _default = (0, _withStyles.default)(styles, { name: 'MuiIcon' })(Icon); exports.default = _default; /***/ }), /***/ "./node_modules/@material-ui/core/Icon/index.js": /*!******************************************************!*\ !*** ./node_modules/@material-ui/core/Icon/index.js ***! \******************************************************/ /*! no static exports found */ /***/ (function(module, exports, __webpack_require__) { "use strict"; var _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/builtin/interopRequireDefault */ "./node_modules/@babel/runtime/helpers/builtin/interopRequireDefault.js"); Object.defineProperty(exports, "__esModule", { value: true }); Object.defineProperty(exports, "default", { enumerable: true, get: function get() { return _Icon.default; } }); var _Icon = _interopRequireDefault(__webpack_require__(/*! ./Icon */ "./node_modules/@material-ui/core/Icon/Icon.js")); /***/ }), /***/ "./node_modules/@material-ui/core/IconButton/IconButton.js": /*!*****************************************************************!*\ !*** ./node_modules/@material-ui/core/IconButton/IconButton.js ***! \*****************************************************************/ /*! no static exports found */ /***/ (function(module, exports, __webpack_require__) { "use strict"; var _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/builtin/interopRequireDefault */ "./node_modules/@babel/runtime/helpers/builtin/interopRequireDefault.js"); Object.defineProperty(exports, "__esModule", { value: true }); exports.default = exports.styles = void 0; var _extends2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/builtin/extends */ "./node_modules/@babel/runtime/helpers/builtin/extends.js")); var _defineProperty2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/builtin/defineProperty */ "./node_modules/@babel/runtime/helpers/builtin/defineProperty.js")); var _objectWithoutProperties2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/builtin/objectWithoutProperties */ "./node_modules/@babel/runtime/helpers/builtin/objectWithoutProperties.js")); var _react = _interopRequireDefault(__webpack_require__(/*! react */ "./node_modules/react/index.js")); var _propTypes = _interopRequireDefault(__webpack_require__(/*! prop-types */ "./node_modules/prop-types/index.js")); var _classnames = _interopRequireDefault(__webpack_require__(/*! classnames */ "./node_modules/classnames/index.js")); var _withStyles = _interopRequireDefault(__webpack_require__(/*! ../styles/withStyles */ "./node_modules/@material-ui/core/styles/withStyles.js")); var _colorManipulator = __webpack_require__(/*! ../styles/colorManipulator */ "./node_modules/@material-ui/core/styles/colorManipulator.js"); var _ButtonBase = _interopRequireDefault(__webpack_require__(/*! ../ButtonBase */ "./node_modules/@material-ui/core/ButtonBase/index.js")); var _helpers = __webpack_require__(/*! ../utils/helpers */ "./node_modules/@material-ui/core/utils/helpers.js"); // @inheritedComponent ButtonBase var styles = function styles(theme) { return { root: { textAlign: 'center', flex: '0 0 auto', fontSize: theme.typography.pxToRem(24), width: 48, height: 48, padding: 0, borderRadius: '50%', color: theme.palette.action.active, transition: theme.transitions.create('background-color', { duration: theme.transitions.duration.shortest }), '&:hover': { backgroundColor: (0, _colorManipulator.fade)(theme.palette.action.active, theme.palette.action.hoverOpacity), // Reset on touch devices, it doesn't add specificity '@media (hover: none)': { backgroundColor: 'transparent' }, '&$disabled': { backgroundColor: 'transparent' } }, '&$disabled': { color: theme.palette.action.disabled } }, colorInherit: { color: 'inherit' }, colorPrimary: { color: theme.palette.primary.main, '&:hover': { backgroundColor: (0, _colorManipulator.fade)(theme.palette.primary.main, theme.palette.action.hoverOpacity), // Reset on touch devices, it doesn't add specificity '@media (hover: none)': { backgroundColor: 'transparent' } } }, colorSecondary: { color: theme.palette.secondary.main, '&:hover': { backgroundColor: (0, _colorManipulator.fade)(theme.palette.secondary.main, theme.palette.action.hoverOpacity), // Reset on touch devices, it doesn't add specificity '@media (hover: none)': { backgroundColor: 'transparent' } } }, disabled: {}, label: { width: '100%', display: 'flex', alignItems: 'inherit', justifyContent: 'inherit' } }; }; /** * Refer to the [Icons](/style/icons) section of the documentation * regarding the available icon options. */ exports.styles = styles; function IconButton(props) { var _classNames; var children = props.children, classes = props.classes, className = props.className, color = props.color, disabled = props.disabled, other = (0, _objectWithoutProperties2.default)(props, ["children", "classes", "className", "color", "disabled"]); return _react.default.createElement(_ButtonBase.default, (0, _extends2.default)({ className: (0, _classnames.default)(classes.root, (_classNames = {}, (0, _defineProperty2.default)(_classNames, classes["color".concat((0, _helpers.capitalize)(color))], color !== 'default'), (0, _defineProperty2.default)(_classNames, classes.disabled, disabled), _classNames), className), centerRipple: true, focusRipple: true, disabled: disabled }, other), _react.default.createElement("span", { className: classes.label }, children)); } IconButton.propTypes = true ? { /** * The icon element. */ children: _propTypes.default.node, /** * Override or extend the styles applied to the component. * See [CSS API](#css-api) below for more details. */ classes: _propTypes.default.object.isRequired, /** * @ignore */ className: _propTypes.default.string, /** * The color of the component. It supports those theme colors that make sense for this component. */ color: _propTypes.default.oneOf(['default', 'inherit', 'primary', 'secondary']), /** * If `true`, the button will be disabled. */ disabled: _propTypes.default.bool, /** * If `true`, the ripple will be disabled. */ disableRipple: _propTypes.default.bool } : undefined; IconButton.defaultProps = { color: 'default', disabled: false }; var _default = (0, _withStyles.default)(styles, { name: 'MuiIconButton' })(IconButton); exports.default = _default; /***/ }), /***/ "./node_modules/@material-ui/core/IconButton/index.js": /*!************************************************************!*\ !*** ./node_modules/@material-ui/core/IconButton/index.js ***! \************************************************************/ /*! no static exports found */ /***/ (function(module, exports, __webpack_require__) { "use strict"; var _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/builtin/interopRequireDefault */ "./node_modules/@babel/runtime/helpers/builtin/interopRequireDefault.js"); Object.defineProperty(exports, "__esModule", { value: true }); Object.defineProperty(exports, "default", { enumerable: true, get: function get() { return _IconButton.default; } }); var _IconButton = _interopRequireDefault(__webpack_require__(/*! ./IconButton */ "./node_modules/@material-ui/core/IconButton/IconButton.js")); /***/ }), /***/ "./node_modules/@material-ui/core/Input/Input.js": /*!*******************************************************!*\ !*** ./node_modules/@material-ui/core/Input/Input.js ***! \*******************************************************/ /*! no static exports found */ /***/ (function(module, exports, __webpack_require__) { "use strict"; var _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/builtin/interopRequireDefault */ "./node_modules/@babel/runtime/helpers/builtin/interopRequireDefault.js"); Object.defineProperty(exports, "__esModule", { value: true }); exports.hasValue = hasValue; exports.isFilled = isFilled; exports.isAdornedStart = isAdornedStart; exports.default = exports.styles = void 0; var _extends2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/builtin/extends */ "./node_modules/@babel/runtime/helpers/builtin/extends.js")); var _objectSpread2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/builtin/objectSpread */ "./node_modules/@babel/runtime/helpers/builtin/objectSpread.js")); var _defineProperty2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/builtin/defineProperty */ "./node_modules/@babel/runtime/helpers/builtin/defineProperty.js")); var _objectWithoutProperties2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/builtin/objectWithoutProperties */ "./node_modules/@babel/runtime/helpers/builtin/objectWithoutProperties.js")); var _classCallCheck2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/builtin/classCallCheck */ "./node_modules/@babel/runtime/helpers/builtin/classCallCheck.js")); var _createClass2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/builtin/createClass */ "./node_modules/@babel/runtime/helpers/builtin/createClass.js")); var _possibleConstructorReturn2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/builtin/possibleConstructorReturn */ "./node_modules/@babel/runtime/helpers/builtin/possibleConstructorReturn.js")); var _inherits2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/builtin/inherits */ "./node_modules/@babel/runtime/helpers/builtin/inherits.js")); var _react = _interopRequireDefault(__webpack_require__(/*! react */ "./node_modules/react/index.js")); var _propTypes = _interopRequireDefault(__webpack_require__(/*! prop-types */ "./node_modules/prop-types/index.js")); var _classnames = _interopRequireDefault(__webpack_require__(/*! classnames */ "./node_modules/classnames/index.js")); var _withStyles = _interopRequireDefault(__webpack_require__(/*! ../styles/withStyles */ "./node_modules/@material-ui/core/styles/withStyles.js")); var _Textarea = _interopRequireDefault(__webpack_require__(/*! ./Textarea */ "./node_modules/@material-ui/core/Input/Textarea.js")); // Supports determination of isControlled(). // Controlled input accepts its current value as a prop. // // @see https://facebook.github.io/react/docs/forms.html#controlled-components // @param value // @returns {boolean} true if string (including '') or number (including zero) function hasValue(value) { return value != null && !(Array.isArray(value) && value.length === 0); } // Determine if field is empty or filled. // Response determines if label is presented above field or as placeholder. // // @param obj // @param SSR // @returns {boolean} False when not present or empty string. // True when any number or string with length. function isFilled(obj) { var SSR = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false; return obj && (hasValue(obj.value) && obj.value !== '' || SSR && hasValue(obj.defaultValue) && obj.defaultValue !== ''); } // Determine if an Input is adorned on start. // It's corresponding to the left with LTR. // // @param obj // @returns {boolean} False when no adornments. // True when adorned at the start. function isAdornedStart(obj) { return obj.startAdornment; } var styles = function styles(theme) { var light = theme.palette.type === 'light'; var placeholder = { color: 'currentColor', opacity: light ? 0.42 : 0.5, transition: theme.transitions.create('opacity', { duration: theme.transitions.duration.shorter }) }; var placeholderHidden = { opacity: 0 }; var placeholderVisible = { opacity: light ? 0.42 : 0.5 }; var bottomLineColor = light ? 'rgba(0, 0, 0, 0.42)' : 'rgba(255, 255, 255, 0.7)'; return { root: { // Mimics the default input display property used by browsers for an input. display: 'inline-flex', position: 'relative', fontFamily: theme.typography.fontFamily, color: light ? 'rgba(0, 0, 0, 0.87)' : theme.palette.common.white, fontSize: theme.typography.pxToRem(16), lineHeight: '1.1875em', // Reset (19px), match the native input line-height '&$disabled': { color: theme.palette.text.disabled } }, formControl: { 'label + &': { marginTop: 16 } }, focused: {}, disabled: {}, underline: { '&:after': { borderBottom: "2px solid ".concat(theme.palette.primary[light ? 'dark' : 'light']), left: 0, bottom: 0, // Doing the other way around crash on IE11 "''" https://github.com/cssinjs/jss/issues/242 content: '""', position: 'absolute', right: 0, transform: 'scaleX(0)', transition: theme.transitions.create('transform', { duration: theme.transitions.duration.shorter, easing: theme.transitions.easing.easeOut }), pointerEvents: 'none' // Transparent to the hover style. }, '&$focused:after': { transform: 'scaleX(1)' }, '&$error:after': { borderBottomColor: theme.palette.error.main, transform: 'scaleX(1)' // error is always underlined in red }, '&:before': { borderBottom: "1px solid ".concat(bottomLineColor), left: 0, bottom: 0, // Doing the other way around crash on IE11 "''" https://github.com/cssinjs/jss/issues/242 content: '"\\00a0"', position: 'absolute', right: 0, transition: theme.transitions.create('border-bottom-color', { duration: theme.transitions.duration.shorter }), pointerEvents: 'none' // Transparent to the hover style. }, '&:hover:not($disabled):not($focused):not($error):before': { borderBottom: "2px solid ".concat(theme.palette.text.primary) }, '&$disabled:before': { borderBottom: "1px dotted ".concat(bottomLineColor) } }, error: {}, multiline: { padding: "".concat(8 - 2, "px 0 ").concat(8 - 1, "px") }, fullWidth: { width: '100%' }, input: { font: 'inherit', color: 'currentColor', padding: "".concat(8 - 2, "px 0 ").concat(8 - 1, "px"), border: 0, boxSizing: 'content-box', verticalAlign: 'middle', background: 'none', margin: 0, // Reset for Safari // Remove grey highlight WebkitTapHighlightColor: 'transparent', display: 'block', // Make the flex item shrink with Firefox minWidth: 0, flexGrow: 1, '&::-webkit-input-placeholder': placeholder, '&::-moz-placeholder': placeholder, // Firefox 19+ '&:-ms-input-placeholder': placeholder, // IE 11 '&::-ms-input-placeholder': placeholder, // Edge '&:focus': { outline: 0 }, // Reset Firefox invalid required input style '&:invalid': { boxShadow: 'none' }, '&::-webkit-search-decoration': { // Remove the padding when type=search. '-webkit-appearance': 'none' }, // Show and hide the placeholder logic 'label[data-shrink=false] + $formControl &': { '&::-webkit-input-placeholder': placeholderHidden, '&::-moz-placeholder': placeholderHidden, // Firefox 19+ '&:-ms-input-placeholder': placeholderHidden, // IE 11 '&::-ms-input-placeholder': placeholderHidden, // Edge '&:focus::-webkit-input-placeholder': placeholderVisible, '&:focus::-moz-placeholder': placeholderVisible, // Firefox 19+ '&:focus:-ms-input-placeholder': placeholderVisible, // IE 11 '&:focus::-ms-input-placeholder': placeholderVisible // Edge }, '&$disabled': { opacity: 1 // Reset iOS opacity } }, inputMarginDense: { paddingTop: 4 - 1 }, inputMultiline: { resize: 'none', padding: 0 }, inputType: { // type="date" or type="time", etc. have specific styles we need to reset. height: '1.1875em' // Reset (19px), match the native input line-height }, inputTypeSearch: { // Improve type search style. '-moz-appearance': 'textfield', '-webkit-appearance': 'textfield' } }; }; exports.styles = styles; function formControlState(props, context) { var disabled = props.disabled; var error = props.error; var margin = props.margin; if (context && context.muiFormControl) { if (typeof disabled === 'undefined') { disabled = context.muiFormControl.disabled; } if (typeof error === 'undefined') { error = context.muiFormControl.error; } if (typeof margin === 'undefined') { margin = context.muiFormControl.margin; } } return { disabled: disabled, error: error, margin: margin }; } var Input = /*#__PURE__*/ function (_React$Component) { (0, _inherits2.default)(Input, _React$Component); // Holds the input reference function Input(props, context) { var _this; (0, _classCallCheck2.default)(this, Input); _this = (0, _possibleConstructorReturn2.default)(this, (Input.__proto__ || Object.getPrototypeOf(Input)).call(this, props, context)); _this.isControlled = _this.props.value != null; _this.input = null; _this.state = { focused: false }; _this.handleFocus = function (event) { // Fix a bug with IE11 where the focus/blur events are triggered // while the input is disabled. if (formControlState(_this.props, _this.context).disabled) { event.stopPropagation(); return; } _this.setState({ focused: true }); if (_this.props.onFocus) { _this.props.onFocus(event); } var muiFormControl = _this.context.muiFormControl; if (muiFormControl && muiFormControl.onFocus) { muiFormControl.onFocus(event); } }; _this.handleBlur = function (event) { _this.setState({ focused: false }); if (_this.props.onBlur) { _this.props.onBlur(event); } var muiFormControl = _this.context.muiFormControl; if (muiFormControl && muiFormControl.onBlur) { muiFormControl.onBlur(event); } }; _this.handleChange = function (event) { if (!_this.isControlled) { _this.checkDirty(_this.input); } // Perform in the willUpdate if (_this.props.onChange) { _this.props.onChange(event); } }; _this.handleRefInput = function (node) { _this.input = node; var ref; if (_this.props.inputRef) { ref = _this.props.inputRef; } else if (_this.props.inputProps && _this.props.inputProps.ref) { ref = _this.props.inputProps.ref; } if (ref) { if (typeof ref === 'function') { ref(node); } else { ref.current = node; } } }; if (_this.isControlled) { _this.checkDirty(props); } var componentWillReceiveProps = function componentWillReceiveProps(nextProps, nextContext) { // The blur won't fire when the disabled state is set on a focused input. // We need to book keep the focused state manually. if (!formControlState(_this.props, _this.context).disabled && formControlState(nextProps, nextContext).disabled) { _this.setState({ focused: false }); } }; var componentWillUpdate = function componentWillUpdate(nextProps, nextState, nextContext) { // Book keep the focused state. if (!formControlState(_this.props, _this.context).disabled && formControlState(nextProps, nextContext).disabled) { var muiFormControl = _this.context.muiFormControl; if (muiFormControl && muiFormControl.onBlur) { muiFormControl.onBlur(); } } }; // Support for react >= 16.3.0 && < 17.0.0 /* istanbul ignore else */ if (_react.default.createContext) { _this.UNSAFE_componentWillReceiveProps = componentWillReceiveProps; _this.UNSAFE_componentWillUpdate = componentWillUpdate; } else { _this.componentWillReceiveProps = componentWillReceiveProps; _this.componentWillUpdate = componentWillUpdate; } return _this; } (0, _createClass2.default)(Input, [{ key: "getChildContext", value: function getChildContext() { // We are consuming the parent muiFormControl context. // We don't want a child to consume it a second time. return { muiFormControl: null }; } }, { key: "componentDidMount", value: function componentDidMount() { if (!this.isControlled) { this.checkDirty(this.input); } } }, { key: "componentDidUpdate", value: function componentDidUpdate() { if (this.isControlled) { this.checkDirty(this.props); } // else performed in the onChange } }, { key: "checkDirty", value: function checkDirty(obj) { var muiFormControl = this.context.muiFormControl; if (isFilled(obj)) { if (muiFormControl && muiFormControl.onFilled) { muiFormControl.onFilled(); } if (this.props.onFilled) { this.props.onFilled(); } return; } if (muiFormControl && muiFormControl.onEmpty) { muiFormControl.onEmpty(); } if (this.props.onEmpty) { this.props.onEmpty(); } } }, { key: "render", value: function render() { var _classNames, _classNames2; var _props = this.props, autoComplete = _props.autoComplete, autoFocus = _props.autoFocus, classes = _props.classes, classNameProp = _props.className, defaultValue = _props.defaultValue, disabledProp = _props.disabled, disableUnderline = _props.disableUnderline, endAdornment = _props.endAdornment, errorProp = _props.error, fullWidth = _props.fullWidth, id = _props.id, inputComponent = _props.inputComponent, _props$inputProps = _props.inputProps; _props$inputProps = _props$inputProps === void 0 ? {} : _props$inputProps; var inputPropsClassName = _props$inputProps.className, inputPropsProp = (0, _objectWithoutProperties2.default)(_props$inputProps, ["className"]), inputRef = _props.inputRef, marginProp = _props.margin, multiline = _props.multiline, name = _props.name, onBlur = _props.onBlur, onChange = _props.onChange, onEmpty = _props.onEmpty, onFilled = _props.onFilled, onFocus = _props.onFocus, onKeyDown = _props.onKeyDown, onKeyUp = _props.onKeyUp, placeholder = _props.placeholder, readOnly = _props.readOnly, rows = _props.rows, rowsMax = _props.rowsMax, startAdornment = _props.startAdornment, type = _props.type, value = _props.value, other = (0, _objectWithoutProperties2.default)(_props, ["autoComplete", "autoFocus", "classes", "className", "defaultValue", "disabled", "disableUnderline", "endAdornment", "error", "fullWidth", "id", "inputComponent", "inputProps", "inputRef", "margin", "multiline", "name", "onBlur", "onChange", "onEmpty", "onFilled", "onFocus", "onKeyDown", "onKeyUp", "placeholder", "readOnly", "rows", "rowsMax", "startAdornment", "type", "value"]); var muiFormControl = this.context.muiFormControl; var _formControlState = formControlState(this.props, this.context), disabled = _formControlState.disabled, error = _formControlState.error, margin = _formControlState.margin; var className = (0, _classnames.default)(classes.root, (_classNames = {}, (0, _defineProperty2.default)(_classNames, classes.disabled, disabled), (0, _defineProperty2.default)(_classNames, classes.error, error), (0, _defineProperty2.default)(_classNames, classes.fullWidth, fullWidth), (0, _defineProperty2.default)(_classNames, classes.focused, this.state.focused), (0, _defineProperty2.default)(_classNames, classes.formControl, muiFormControl), (0, _defineProperty2.default)(_classNames, classes.multiline, multiline), (0, _defineProperty2.default)(_classNames, classes.underline, !disableUnderline), _classNames), classNameProp); var inputClassName = (0, _classnames.default)(classes.input, (_classNames2 = {}, (0, _defineProperty2.default)(_classNames2, classes.disabled, disabled), (0, _defineProperty2.default)(_classNames2, classes.inputType, type !== 'text'), (0, _defineProperty2.default)(_classNames2, classes.inputTypeSearch, type === 'search'), (0, _defineProperty2.default)(_classNames2, classes.inputMultiline, multiline), (0, _defineProperty2.default)(_classNames2, classes.inputMarginDense, margin === 'dense'), _classNames2), inputPropsClassName); var required = muiFormControl && muiFormControl.required === true; var InputComponent = 'input'; var inputProps = (0, _objectSpread2.default)({}, inputPropsProp, { ref: this.handleRefInput }); if (inputComponent) { InputComponent = inputComponent; inputProps = (0, _objectSpread2.default)({ // Rename ref to inputRef as we don't know the // provided `inputComponent` structure. inputRef: this.handleRefInput }, inputProps, { ref: null }); } else if (multiline) { if (rows && !rowsMax) { InputComponent = 'textarea'; } else { inputProps = (0, _objectSpread2.default)({ rowsMax: rowsMax, textareaRef: this.handleRefInput }, inputProps, { ref: null }); InputComponent = _Textarea.default; } } return _react.default.createElement("div", (0, _extends2.default)({ className: className }, other), startAdornment, _react.default.createElement(InputComponent, (0, _extends2.default)({ "aria-invalid": error, autoComplete: autoComplete, autoFocus: autoFocus, className: inputClassName, defaultValue: defaultValue, disabled: disabled, id: id, name: name, onBlur: this.handleBlur, onChange: this.handleChange, onFocus: this.handleFocus, onKeyDown: onKeyDown, onKeyUp: onKeyUp, placeholder: placeholder, readOnly: readOnly, required: required ? true : undefined, rows: rows, type: type, value: value }, inputProps)), endAdornment); } }]); return Input; }(_react.default.Component); Input.propTypes = true ? { /** * This property helps users to fill forms faster, especially on mobile devices. * The name can be confusing, as it's more like an autofill. * You can learn more about it here: * https://html.spec.whatwg.org/multipage/form-control-infrastructure.html#autofill */ autoComplete: _propTypes.default.string, /** * If `true`, the input will be focused during the first mount. */ autoFocus: _propTypes.default.bool, /** * Override or extend the styles applied to the component. * See [CSS API](#css-api) below for more details. */ classes: _propTypes.default.object.isRequired, /** * The CSS class name of the wrapper element. */ className: _propTypes.default.string, /** * The default input value, useful when not controlling the component. */ defaultValue: _propTypes.default.oneOfType([_propTypes.default.string, _propTypes.default.number]), /** * If `true`, the input will be disabled. */ disabled: _propTypes.default.bool, /** * If `true`, the input will not have an underline. */ disableUnderline: _propTypes.default.bool, /** * End `InputAdornment` for this component. */ endAdornment: _propTypes.default.node, /** * If `true`, the input will indicate an error. This is normally obtained via context from * FormControl. */ error: _propTypes.default.bool, /** * If `true`, the input will take up the full width of its container. */ fullWidth: _propTypes.default.bool, /** * The id of the `input` element. */ id: _propTypes.default.string, /** * The component used for the native input. * Either a string to use a DOM element or a component. */ inputComponent: _propTypes.default.oneOfType([_propTypes.default.string, _propTypes.default.func, _propTypes.default.object]), /** * Attributes applied to the `input` element. */ inputProps: _propTypes.default.object, /** * Use that property to pass a ref callback to the native input component. */ inputRef: _propTypes.default.oneOfType([_propTypes.default.func, _propTypes.default.object]), /** * If `dense`, will adjust vertical spacing. This is normally obtained via context from * FormControl. */ margin: _propTypes.default.oneOf(['dense', 'none']), /** * If `true`, a textarea element will be rendered. */ multiline: _propTypes.default.bool, /** * Name attribute of the `input` element. */ name: _propTypes.default.string, /** * @ignore */ onBlur: _propTypes.default.func, /** * Callback fired when the value is changed. * * @param {object} event The event source of the callback. * You can pull out the new value by accessing `event.target.value`. */ onChange: _propTypes.default.func, /** * @ignore */ onEmpty: _propTypes.default.func, /** * @ignore */ onFilled: _propTypes.default.func, /** * @ignore */ onFocus: _propTypes.default.func, /** * @ignore */ onKeyDown: _propTypes.default.func, /** * @ignore */ onKeyUp: _propTypes.default.func, /** * The short hint displayed in the input before the user enters a value. */ placeholder: _propTypes.default.string, /** * @ignore */ readOnly: _propTypes.default.bool, /** * Number of rows to display when multiline option is set to true. */ rows: _propTypes.default.oneOfType([_propTypes.default.string, _propTypes.default.number]), /** * Maximum number of rows to display when multiline option is set to true. */ rowsMax: _propTypes.default.oneOfType([_propTypes.default.string, _propTypes.default.number]), /** * Start `InputAdornment` for this component. */ startAdornment: _propTypes.default.node, /** * Type of the input element. It should be a valid HTML5 input type. */ type: _propTypes.default.string, /** * The input value, required for a controlled component. */ value: _propTypes.default.oneOfType([_propTypes.default.string, _propTypes.default.number, _propTypes.default.arrayOf(_propTypes.default.oneOfType([_propTypes.default.string, _propTypes.default.number]))]) } : undefined; Input.muiName = 'Input'; Input.defaultProps = { disableUnderline: false, fullWidth: false, multiline: false, type: 'text' }; Input.contextTypes = { muiFormControl: _propTypes.default.object }; Input.childContextTypes = { muiFormControl: _propTypes.default.object }; var _default = (0, _withStyles.default)(styles, { name: 'MuiInput' })(Input); exports.default = _default; /***/ }), /***/ "./node_modules/@material-ui/core/Input/Textarea.js": /*!**********************************************************!*\ !*** ./node_modules/@material-ui/core/Input/Textarea.js ***! \**********************************************************/ /*! no static exports found */ /***/ (function(module, exports, __webpack_require__) { "use strict"; var _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/builtin/interopRequireDefault */ "./node_modules/@babel/runtime/helpers/builtin/interopRequireDefault.js"); Object.defineProperty(exports, "__esModule", { value: true }); exports.default = exports.styles = void 0; var _extends2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/builtin/extends */ "./node_modules/@babel/runtime/helpers/builtin/extends.js")); var _objectWithoutProperties2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/builtin/objectWithoutProperties */ "./node_modules/@babel/runtime/helpers/builtin/objectWithoutProperties.js")); var _classCallCheck2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/builtin/classCallCheck */ "./node_modules/@babel/runtime/helpers/builtin/classCallCheck.js")); var _createClass2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/builtin/createClass */ "./node_modules/@babel/runtime/helpers/builtin/createClass.js")); var _possibleConstructorReturn2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/builtin/possibleConstructorReturn */ "./node_modules/@babel/runtime/helpers/builtin/possibleConstructorReturn.js")); var _inherits2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/builtin/inherits */ "./node_modules/@babel/runtime/helpers/builtin/inherits.js")); var _react = _interopRequireDefault(__webpack_require__(/*! react */ "./node_modules/react/index.js")); var _propTypes = _interopRequireDefault(__webpack_require__(/*! prop-types */ "./node_modules/prop-types/index.js")); var _classnames = _interopRequireDefault(__webpack_require__(/*! classnames */ "./node_modules/classnames/index.js")); var _debounce = _interopRequireDefault(__webpack_require__(/*! debounce */ "./node_modules/debounce/index.js")); var _reactEventListener = _interopRequireDefault(__webpack_require__(/*! react-event-listener */ "./node_modules/react-event-listener/dist/react-event-listener.cjs.js")); var _withStyles = _interopRequireDefault(__webpack_require__(/*! ../styles/withStyles */ "./node_modules/@material-ui/core/styles/withStyles.js")); // < 1kb payload overhead when lodash/debounce is > 3kb. var ROWS_HEIGHT = 19; var styles = { root: { position: 'relative', // because the shadow has position: 'absolute', width: '100%' }, textarea: { width: '100%', height: '100%', resize: 'none', font: 'inherit', padding: 0, cursor: 'inherit', boxSizing: 'border-box', lineHeight: 'inherit', border: 'none', outline: 'none', background: 'transparent' }, shadow: { resize: 'none', // Overflow also needed to here to remove the extra row // added to textareas in Firefox. overflow: 'hidden', // Visibility needed to hide the extra text area on ipads visibility: 'hidden', position: 'absolute', height: 'auto', whiteSpace: 'pre-wrap' } }; /** * @ignore - internal component. */ exports.styles = styles; var Textarea = /*#__PURE__*/ function (_React$Component) { (0, _inherits2.default)(Textarea, _React$Component); // Corresponds to 10 frames at 60 Hz. function Textarea(props) { var _this; (0, _classCallCheck2.default)(this, Textarea); _this = (0, _possibleConstructorReturn2.default)(this, (Textarea.__proto__ || Object.getPrototypeOf(Textarea)).call(this, props)); // expects the components it renders to respond to 'value' // so that it can check whether they are filled. _this.shadow = null; _this.singlelineShadow = null; _this.input = null; _this.value = null; _this.handleResize = (0, _debounce.default)(function () { _this.syncHeightWithShadow(); }, 166); _this.state = { height: null }; _this.handleRefInput = function (node) { _this.input = node; var textareaRef = _this.props.textareaRef; if (textareaRef) { if (typeof textareaRef === 'function') { textareaRef(node); } else { textareaRef.current = node; } } }; _this.handleRefSinglelineShadow = function (node) { _this.singlelineShadow = node; }; _this.handleRefShadow = function (node) { _this.shadow = node; }; _this.handleChange = function (event) { _this.value = event.target.value; if (typeof _this.props.value === 'undefined' && _this.shadow) { // The component is not controlled, we need to update the shallow value. _this.shadow.value = _this.value; _this.syncHeightWithShadow(); } if (_this.props.onChange) { _this.props.onChange(event); } }; _this.value = props.value || props.defaultValue || ''; _this.state = { height: Number(props.rows) * ROWS_HEIGHT }; return _this; } (0, _createClass2.default)(Textarea, [{ key: "componentDidMount", value: function componentDidMount() { this.syncHeightWithShadow(); } }, { key: "componentDidUpdate", value: function componentDidUpdate() { this.syncHeightWithShadow(); } }, { key: "componentWillUnmount", value: function componentWillUnmount() { this.handleResize.clear(); } }, { key: "syncHeightWithShadow", value: function syncHeightWithShadow() { var props = this.props; if (!this.shadow || !this.singlelineShadow) { return; } // The component is controlled, we need to update the shallow value. if (typeof props.value !== 'undefined') { this.shadow.value = props.value == null ? '' : String(props.value); } var lineHeight = this.singlelineShadow.scrollHeight; var newHeight = this.shadow.scrollHeight; // Guarding for jsdom, where scrollHeight isn't present. // See https://github.com/tmpvar/jsdom/issues/1013 if (newHeight === undefined) { return; } if (Number(props.rowsMax) >= Number(props.rows)) { newHeight = Math.min(Number(props.rowsMax) * lineHeight, newHeight); } newHeight = Math.max(newHeight, lineHeight); // Need a large enough different to update the height. // This prevents infinite rendering loop. if (Math.abs(this.state.height - newHeight) > 1) { this.setState({ height: newHeight }); } } }, { key: "render", value: function render() { var _props = this.props, classes = _props.classes, className = _props.className, defaultValue = _props.defaultValue, onChange = _props.onChange, rows = _props.rows, rowsMax = _props.rowsMax, textareaRef = _props.textareaRef, value = _props.value, other = (0, _objectWithoutProperties2.default)(_props, ["classes", "className", "defaultValue", "onChange", "rows", "rowsMax", "textareaRef", "value"]); return _react.default.createElement("div", { className: classes.root, style: { height: this.state.height } }, _react.default.createElement(_reactEventListener.default, { target: "window", onResize: this.handleResize }), _react.default.createElement("textarea", { ref: this.handleRefSinglelineShadow, className: (0, _classnames.default)(classes.shadow, classes.textarea), tabIndex: -1, rows: "1", readOnly: true, "aria-hidden": "true", value: "" }), _react.default.createElement("textarea", { ref: this.handleRefShadow, className: (0, _classnames.default)(classes.shadow, classes.textarea), tabIndex: -1, rows: rows, "aria-hidden": "true", readOnly: true, defaultValue: defaultValue, value: value }), _react.default.createElement("textarea", (0, _extends2.default)({ rows: rows, className: (0, _classnames.default)(classes.textarea, className), defaultValue: defaultValue, value: value, onChange: this.handleChange, ref: this.handleRefInput }, other))); } }]); return Textarea; }(_react.default.Component); Textarea.propTypes = true ? { /** * Override or extend the styles applied to the component. * See [CSS API](#css-api) below for more details. */ classes: _propTypes.default.object.isRequired, /** * @ignore */ className: _propTypes.default.string, /** * @ignore */ defaultValue: _propTypes.default.oneOfType([_propTypes.default.string, _propTypes.default.number]), /** * @ignore */ disabled: _propTypes.default.bool, /** * @ignore */ onChange: _propTypes.default.func, /** * Number of rows to display when multiline option is set to true. */ rows: _propTypes.default.oneOfType([_propTypes.default.string, _propTypes.default.number]), /** * Maximum number of rows to display when multiline option is set to true. */ rowsMax: _propTypes.default.oneOfType([_propTypes.default.string, _propTypes.default.number]), /** * Use that property to pass a ref callback to the native textarea element. */ textareaRef: _propTypes.default.oneOfType([_propTypes.default.func, _propTypes.default.object]), /** * @ignore */ value: _propTypes.default.oneOfType([_propTypes.default.string, _propTypes.default.number]) } : undefined; Textarea.defaultProps = { rows: 1 }; var _default = (0, _withStyles.default)(styles)(Textarea); exports.default = _default; /***/ }), /***/ "./node_modules/@material-ui/core/Input/index.js": /*!*******************************************************!*\ !*** ./node_modules/@material-ui/core/Input/index.js ***! \*******************************************************/ /*! no static exports found */ /***/ (function(module, exports, __webpack_require__) { "use strict"; var _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/builtin/interopRequireDefault */ "./node_modules/@babel/runtime/helpers/builtin/interopRequireDefault.js"); Object.defineProperty(exports, "__esModule", { value: true }); Object.defineProperty(exports, "default", { enumerable: true, get: function get() { return _Input.default; } }); var _Input = _interopRequireDefault(__webpack_require__(/*! ./Input */ "./node_modules/@material-ui/core/Input/Input.js")); /***/ }), /***/ "./node_modules/@material-ui/core/InputAdornment/InputAdornment.js": /*!*************************************************************************!*\ !*** ./node_modules/@material-ui/core/InputAdornment/InputAdornment.js ***! \*************************************************************************/ /*! no static exports found */ /***/ (function(module, exports, __webpack_require__) { "use strict"; var _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/builtin/interopRequireDefault */ "./node_modules/@babel/runtime/helpers/builtin/interopRequireDefault.js"); Object.defineProperty(exports, "__esModule", { value: true }); exports.default = exports.styles = void 0; var _extends2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/builtin/extends */ "./node_modules/@babel/runtime/helpers/builtin/extends.js")); var _defineProperty2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/builtin/defineProperty */ "./node_modules/@babel/runtime/helpers/builtin/defineProperty.js")); var _objectWithoutProperties2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/builtin/objectWithoutProperties */ "./node_modules/@babel/runtime/helpers/builtin/objectWithoutProperties.js")); var _react = _interopRequireDefault(__webpack_require__(/*! react */ "./node_modules/react/index.js")); var _propTypes = _interopRequireDefault(__webpack_require__(/*! prop-types */ "./node_modules/prop-types/index.js")); var _classnames = _interopRequireDefault(__webpack_require__(/*! classnames */ "./node_modules/classnames/index.js")); var _Typography = _interopRequireDefault(__webpack_require__(/*! ../Typography */ "./node_modules/@material-ui/core/Typography/index.js")); var _withStyles = _interopRequireDefault(__webpack_require__(/*! ../styles/withStyles */ "./node_modules/@material-ui/core/styles/withStyles.js")); var styles = { root: { display: 'flex', maxHeight: '2em', alignItems: 'center' }, positionStart: { marginRight: 8 }, positionEnd: { marginLeft: 8 } }; exports.styles = styles; function InputAdornment(props) { var _classNames; var children = props.children, Component = props.component, classes = props.classes, className = props.className, disableTypography = props.disableTypography, position = props.position, other = (0, _objectWithoutProperties2.default)(props, ["children", "component", "classes", "className", "disableTypography", "position"]); return _react.default.createElement(Component, (0, _extends2.default)({ className: (0, _classnames.default)(classes.root, (_classNames = {}, (0, _defineProperty2.default)(_classNames, classes.positionStart, position === 'start'), (0, _defineProperty2.default)(_classNames, classes.positionEnd, position === 'end'), _classNames), className) }, other), typeof children === 'string' && !disableTypography ? _react.default.createElement(_Typography.default, { color: "textSecondary" }, children) : children); } InputAdornment.propTypes = true ? { /** * The content of the component, normally an `IconButton` or string. */ children: _propTypes.default.node.isRequired, /** * Override or extend the styles applied to the component. * See [CSS API](#css-api) below for more details. */ classes: _propTypes.default.object.isRequired, /** * @ignore */ className: _propTypes.default.string, /** * The component used for the root node. * Either a string to use a DOM element or a component. */ component: _propTypes.default.oneOfType([_propTypes.default.string, _propTypes.default.func, _propTypes.default.object]), /** * If children is a string then disable wrapping in a Typography component. */ disableTypography: _propTypes.default.bool, /** * The position this adornment should appear relative to the `Input`. */ position: _propTypes.default.oneOf(['start', 'end']) } : undefined; InputAdornment.defaultProps = { component: 'div', disableTypography: false }; var _default = (0, _withStyles.default)(styles, { name: 'MuiInputAdornment' })(InputAdornment); exports.default = _default; /***/ }), /***/ "./node_modules/@material-ui/core/InputAdornment/index.js": /*!****************************************************************!*\ !*** ./node_modules/@material-ui/core/InputAdornment/index.js ***! \****************************************************************/ /*! no static exports found */ /***/ (function(module, exports, __webpack_require__) { "use strict"; var _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/builtin/interopRequireDefault */ "./node_modules/@babel/runtime/helpers/builtin/interopRequireDefault.js"); Object.defineProperty(exports, "__esModule", { value: true }); Object.defineProperty(exports, "default", { enumerable: true, get: function get() { return _InputAdornment.default; } }); var _InputAdornment = _interopRequireDefault(__webpack_require__(/*! ./InputAdornment */ "./node_modules/@material-ui/core/InputAdornment/InputAdornment.js")); /***/ }), /***/ "./node_modules/@material-ui/core/InputLabel/InputLabel.js": /*!*****************************************************************!*\ !*** ./node_modules/@material-ui/core/InputLabel/InputLabel.js ***! \*****************************************************************/ /*! no static exports found */ /***/ (function(module, exports, __webpack_require__) { "use strict"; var _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/builtin/interopRequireDefault */ "./node_modules/@babel/runtime/helpers/builtin/interopRequireDefault.js"); Object.defineProperty(exports, "__esModule", { value: true }); exports.default = exports.styles = void 0; var _extends2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/builtin/extends */ "./node_modules/@babel/runtime/helpers/builtin/extends.js")); var _defineProperty2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/builtin/defineProperty */ "./node_modules/@babel/runtime/helpers/builtin/defineProperty.js")); var _objectWithoutProperties2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/builtin/objectWithoutProperties */ "./node_modules/@babel/runtime/helpers/builtin/objectWithoutProperties.js")); var _react = _interopRequireDefault(__webpack_require__(/*! react */ "./node_modules/react/index.js")); var _propTypes = _interopRequireDefault(__webpack_require__(/*! prop-types */ "./node_modules/prop-types/index.js")); var _classnames = _interopRequireDefault(__webpack_require__(/*! classnames */ "./node_modules/classnames/index.js")); var _withStyles = _interopRequireDefault(__webpack_require__(/*! ../styles/withStyles */ "./node_modules/@material-ui/core/styles/withStyles.js")); var _FormLabel = _interopRequireDefault(__webpack_require__(/*! ../FormLabel */ "./node_modules/@material-ui/core/FormLabel/index.js")); // @inheritedComponent FormLabel var styles = function styles(theme) { return { root: { transformOrigin: 'top left' }, formControl: { position: 'absolute', left: 0, top: 0, // slight alteration to spec spacing to match visual spec result transform: 'translate(0, 24px) scale(1)' }, marginDense: { // Compensation for the `Input.inputDense` style. transform: 'translate(0, 21px) scale(1)' }, shrink: { transform: 'translate(0, 1.5px) scale(0.75)', transformOrigin: 'top left' }, animated: { transition: theme.transitions.create('transform', { duration: theme.transitions.duration.shorter, easing: theme.transitions.easing.easeOut }) } }; }; exports.styles = styles; function InputLabel(props, context) { var _classNames; var children = props.children, classes = props.classes, classNameProp = props.className, disableAnimation = props.disableAnimation, FormLabelClasses = props.FormLabelClasses, marginProp = props.margin, shrinkProp = props.shrink, other = (0, _objectWithoutProperties2.default)(props, ["children", "classes", "className", "disableAnimation", "FormLabelClasses", "margin", "shrink"]); var muiFormControl = context.muiFormControl; var shrink = shrinkProp; if (typeof shrink === 'undefined' && muiFormControl) { shrink = muiFormControl.filled || muiFormControl.focused || muiFormControl.adornedStart; } var margin = marginProp; if (typeof margin === 'undefined' && muiFormControl) { margin = muiFormControl.margin; } var className = (0, _classnames.default)(classes.root, (_classNames = {}, (0, _defineProperty2.default)(_classNames, classes.formControl, muiFormControl), (0, _defineProperty2.default)(_classNames, classes.animated, !disableAnimation), (0, _defineProperty2.default)(_classNames, classes.shrink, shrink), (0, _defineProperty2.default)(_classNames, classes.marginDense, margin === 'dense'), _classNames), classNameProp); return _react.default.createElement(_FormLabel.default, (0, _extends2.default)({ "data-shrink": shrink, className: className, classes: FormLabelClasses }, other), children); } InputLabel.propTypes = true ? { /** * The contents of the `InputLabel`. */ children: _propTypes.default.node, /** * Override or extend the styles applied to the component. * See [CSS API](#css-api) below for more details. */ classes: _propTypes.default.object.isRequired, /** * @ignore */ className: _propTypes.default.string, /** * If `true`, the transition animation is disabled. */ disableAnimation: _propTypes.default.bool, /** * If `true`, apply disabled class. */ disabled: _propTypes.default.bool, /** * If `true`, the label will be displayed in an error state. */ error: _propTypes.default.bool, /** * If `true`, the input of this label is focused. */ focused: _propTypes.default.bool, /** * `classes` property applied to the `FormLabel` element. */ FormLabelClasses: _propTypes.default.object, /** * If `dense`, will adjust vertical spacing. This is normally obtained via context from * FormControl. */ margin: _propTypes.default.oneOf(['dense']), /** * if `true`, the label will indicate that the input is required. */ required: _propTypes.default.bool, /** * If `true`, the label is shrunk. */ shrink: _propTypes.default.bool } : undefined; InputLabel.defaultProps = { disableAnimation: false }; InputLabel.contextTypes = { muiFormControl: _propTypes.default.object }; var _default = (0, _withStyles.default)(styles, { name: 'MuiInputLabel' })(InputLabel); exports.default = _default; /***/ }), /***/ "./node_modules/@material-ui/core/InputLabel/index.js": /*!************************************************************!*\ !*** ./node_modules/@material-ui/core/InputLabel/index.js ***! \************************************************************/ /*! no static exports found */ /***/ (function(module, exports, __webpack_require__) { "use strict"; var _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/builtin/interopRequireDefault */ "./node_modules/@babel/runtime/helpers/builtin/interopRequireDefault.js"); Object.defineProperty(exports, "__esModule", { value: true }); Object.defineProperty(exports, "default", { enumerable: true, get: function get() { return _InputLabel.default; } }); var _InputLabel = _interopRequireDefault(__webpack_require__(/*! ./InputLabel */ "./node_modules/@material-ui/core/InputLabel/InputLabel.js")); /***/ }), /***/ "./node_modules/@material-ui/core/LinearProgress/LinearProgress.js": /*!*************************************************************************!*\ !*** ./node_modules/@material-ui/core/LinearProgress/LinearProgress.js ***! \*************************************************************************/ /*! no static exports found */ /***/ (function(module, exports, __webpack_require__) { "use strict"; var _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/builtin/interopRequireDefault */ "./node_modules/@babel/runtime/helpers/builtin/interopRequireDefault.js"); Object.defineProperty(exports, "__esModule", { value: true }); exports.default = exports.styles = void 0; var _extends2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/builtin/extends */ "./node_modules/@babel/runtime/helpers/builtin/extends.js")); var _defineProperty2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/builtin/defineProperty */ "./node_modules/@babel/runtime/helpers/builtin/defineProperty.js")); var _objectWithoutProperties2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/builtin/objectWithoutProperties */ "./node_modules/@babel/runtime/helpers/builtin/objectWithoutProperties.js")); var _react = _interopRequireDefault(__webpack_require__(/*! react */ "./node_modules/react/index.js")); var _propTypes = _interopRequireDefault(__webpack_require__(/*! prop-types */ "./node_modules/prop-types/index.js")); var _classnames = _interopRequireDefault(__webpack_require__(/*! classnames */ "./node_modules/classnames/index.js")); var _warning = _interopRequireDefault(__webpack_require__(/*! warning */ "./node_modules/@material-ui/core/node_modules/warning/warning.js")); var _withStyles = _interopRequireDefault(__webpack_require__(/*! ../styles/withStyles */ "./node_modules/@material-ui/core/styles/withStyles.js")); var _colorManipulator = __webpack_require__(/*! ../styles/colorManipulator */ "./node_modules/@material-ui/core/styles/colorManipulator.js"); var TRANSITION_DURATION = 4; // seconds var styles = function styles(theme) { return { root: { position: 'relative', overflow: 'hidden', height: 5 }, colorPrimary: { backgroundColor: (0, _colorManipulator.lighten)(theme.palette.primary.light, 0.6) }, colorSecondary: { backgroundColor: (0, _colorManipulator.lighten)(theme.palette.secondary.light, 0.4) }, buffer: { backgroundColor: 'transparent' }, query: { transform: 'rotate(180deg)' }, dashed: { position: 'absolute', marginTop: 0, height: '100%', width: '100%', animation: 'buffer 3s infinite linear' }, dashedColorPrimary: { backgroundImage: "radial-gradient(".concat((0, _colorManipulator.lighten)(theme.palette.primary.light, 0.6), " 0%, ").concat((0, _colorManipulator.lighten)(theme.palette.primary.light, 0.6), " 16%, transparent 42%)"), backgroundSize: '10px 10px', backgroundPosition: '0px -23px' }, dashedColorSecondary: { backgroundImage: "radial-gradient(".concat((0, _colorManipulator.lighten)(theme.palette.secondary.light, 0.4), " 0%, ").concat((0, _colorManipulator.lighten)(theme.palette.secondary.light, 0.6), " 16%, transparent 42%)"), backgroundSize: '10px 10px', backgroundPosition: '0px -23px' }, bar: { width: '100%', position: 'absolute', left: 0, bottom: 0, top: 0, transition: 'transform 0.2s linear', transformOrigin: 'left' }, barColorPrimary: { backgroundColor: theme.palette.primary.main }, barColorSecondary: { backgroundColor: theme.palette.secondary.main }, bar1Indeterminate: { width: 'auto', willChange: 'left, right', animation: 'mui-indeterminate1 2.1s cubic-bezier(0.65, 0.815, 0.735, 0.395) infinite' }, bar2Indeterminate: { width: 'auto', willChange: 'left, right', animation: 'mui-indeterminate2 2.1s cubic-bezier(0.165, 0.84, 0.44, 1) infinite', animationDelay: '1.15s' }, bar1Determinate: { willChange: 'transform', transition: "transform .".concat(TRANSITION_DURATION, "s linear") }, bar1Buffer: { zIndex: 1, transition: "transform .".concat(TRANSITION_DURATION, "s linear") }, bar2Buffer: { transition: "transform .".concat(TRANSITION_DURATION, "s linear") }, // Legends: // || represents the viewport // - represents a light background // x represents a dark background '@keyframes mui-indeterminate1': { // |-----|---x-||-----||-----| '0%': { left: '-35%', right: '100%' }, // |-----|-----||-----||xxxx-| '60%': { left: '100%', right: '-90%' }, '100%': { left: '100%', right: '-90%' } }, '@keyframes mui-indeterminate2': { // |xxxxx|xxxxx||-----||-----| '0%': { left: '-200%', right: '100%' }, // |-----|-----||-----||-x----| '60%': { left: '107%', right: '-8%' }, '100%': { left: '107%', right: '-8%' } }, '@keyframes buffer': { '0%': { opacity: 1, backgroundPosition: '0px -23px' }, '50%': { opacity: 0, backgroundPosition: '0px -23px' }, '100%': { opacity: 1, backgroundPosition: '-200px -23px' } } }; }; /** * ## ARIA * * If the progress bar is describing the loading progress of a particular region of a page, * you should use `aria-describedby` to point to the progress bar, and set the `aria-busy` * attribute to `true` on that region until it has finished loading. */ exports.styles = styles; function LinearProgress(props) { var _classNames, _classNames2, _classNames3, _classNames4; var classes = props.classes, classNameProp = props.className, color = props.color, value = props.value, valueBuffer = props.valueBuffer, variant = props.variant, other = (0, _objectWithoutProperties2.default)(props, ["classes", "className", "color", "value", "valueBuffer", "variant"]); var className = (0, _classnames.default)(classes.root, (_classNames = {}, (0, _defineProperty2.default)(_classNames, classes.colorPrimary, color === 'primary'), (0, _defineProperty2.default)(_classNames, classes.colorSecondary, color === 'secondary'), (0, _defineProperty2.default)(_classNames, classes.buffer, variant === 'buffer'), (0, _defineProperty2.default)(_classNames, classes.query, variant === 'query'), _classNames), classNameProp); var dashedClass = (0, _classnames.default)(classes.dashed, (_classNames2 = {}, (0, _defineProperty2.default)(_classNames2, classes.dashedColorPrimary, color === 'primary'), (0, _defineProperty2.default)(_classNames2, classes.dashedColorSecondary, color === 'secondary'), _classNames2)); var bar1ClassName = (0, _classnames.default)(classes.bar, (_classNames3 = {}, (0, _defineProperty2.default)(_classNames3, classes.barColorPrimary, color === 'primary'), (0, _defineProperty2.default)(_classNames3, classes.barColorSecondary, color === 'secondary'), (0, _defineProperty2.default)(_classNames3, classes.bar1Indeterminate, variant === 'indeterminate' || variant === 'query'), (0, _defineProperty2.default)(_classNames3, classes.bar1Determinate, variant === 'determinate'), (0, _defineProperty2.default)(_classNames3, classes.bar1Buffer, variant === 'buffer'), _classNames3)); var bar2ClassName = (0, _classnames.default)(classes.bar, (_classNames4 = {}, (0, _defineProperty2.default)(_classNames4, classes.barColorPrimary, color === 'primary' && variant !== 'buffer'), (0, _defineProperty2.default)(_classNames4, classes.colorPrimary, color === 'primary' && variant === 'buffer'), (0, _defineProperty2.default)(_classNames4, classes.barColorSecondary, color === 'secondary' && variant !== 'buffer'), (0, _defineProperty2.default)(_classNames4, classes.colorSecondary, color === 'secondary' && variant === 'buffer'), (0, _defineProperty2.default)(_classNames4, classes.bar2Indeterminate, variant === 'indeterminate' || variant === 'query'), (0, _defineProperty2.default)(_classNames4, classes.bar2Buffer, variant === 'buffer'), _classNames4)); var rootProps = {}; var inlineStyles = { bar1: {}, bar2: {} }; if (variant === 'determinate' || variant === 'buffer') { if (value !== undefined) { rootProps['aria-valuenow'] = Math.round(value); inlineStyles.bar1.transform = "scaleX(".concat(value / 100, ")"); } else { true ? (0, _warning.default)(false, 'Material-UI: you need to provide a value property ' + 'when using the determinate or buffer variant of LinearProgress .') : undefined; } } if (variant === 'buffer') { if (valueBuffer !== undefined) { inlineStyles.bar2.transform = "scaleX(".concat((valueBuffer || 0) / 100, ")"); } else { true ? (0, _warning.default)(false, 'Material-UI: you need to provide a valueBuffer property ' + 'when using the buffer variant of LinearProgress.') : undefined; } } return _react.default.createElement("div", (0, _extends2.default)({ className: className, role: "progressbar" }, rootProps, other), variant === 'buffer' ? _react.default.createElement("div", { className: dashedClass }) : null, _react.default.createElement("div", { className: bar1ClassName, style: inlineStyles.bar1 }), variant === 'determinate' ? null : _react.default.createElement("div", { className: bar2ClassName, style: inlineStyles.bar2 })); } LinearProgress.propTypes = true ? { /** * Override or extend the styles applied to the component. * See [CSS API](#css-api) below for more details. */ classes: _propTypes.default.object.isRequired, /** * @ignore */ className: _propTypes.default.string, /** * The color of the component. It supports those theme colors that make sense for this component. */ color: _propTypes.default.oneOf(['primary', 'secondary']), /** * The value of the progress indicator for the determinate and buffer variants. * Value between 0 and 100. */ value: _propTypes.default.number, /** * The value for the buffer variant. * Value between 0 and 100. */ valueBuffer: _propTypes.default.number, /** * The variant to use. * Use indeterminate or query when there is no progress value. */ variant: _propTypes.default.oneOf(['determinate', 'indeterminate', 'buffer', 'query']) } : undefined; LinearProgress.defaultProps = { color: 'primary', variant: 'indeterminate' }; var _default = (0, _withStyles.default)(styles, { name: 'MuiLinearProgress' })(LinearProgress); exports.default = _default; /***/ }), /***/ "./node_modules/@material-ui/core/LinearProgress/index.js": /*!****************************************************************!*\ !*** ./node_modules/@material-ui/core/LinearProgress/index.js ***! \****************************************************************/ /*! no static exports found */ /***/ (function(module, exports, __webpack_require__) { "use strict"; var _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/builtin/interopRequireDefault */ "./node_modules/@babel/runtime/helpers/builtin/interopRequireDefault.js"); Object.defineProperty(exports, "__esModule", { value: true }); Object.defineProperty(exports, "default", { enumerable: true, get: function get() { return _LinearProgress.default; } }); var _LinearProgress = _interopRequireDefault(__webpack_require__(/*! ./LinearProgress */ "./node_modules/@material-ui/core/LinearProgress/LinearProgress.js")); /***/ }), /***/ "./node_modules/@material-ui/core/List/List.js": /*!*****************************************************!*\ !*** ./node_modules/@material-ui/core/List/List.js ***! \*****************************************************/ /*! no static exports found */ /***/ (function(module, exports, __webpack_require__) { "use strict"; var _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/builtin/interopRequireDefault */ "./node_modules/@babel/runtime/helpers/builtin/interopRequireDefault.js"); Object.defineProperty(exports, "__esModule", { value: true }); exports.default = exports.styles = void 0; var _extends2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/builtin/extends */ "./node_modules/@babel/runtime/helpers/builtin/extends.js")); var _defineProperty2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/builtin/defineProperty */ "./node_modules/@babel/runtime/helpers/builtin/defineProperty.js")); var _objectWithoutProperties2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/builtin/objectWithoutProperties */ "./node_modules/@babel/runtime/helpers/builtin/objectWithoutProperties.js")); var _classCallCheck2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/builtin/classCallCheck */ "./node_modules/@babel/runtime/helpers/builtin/classCallCheck.js")); var _createClass2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/builtin/createClass */ "./node_modules/@babel/runtime/helpers/builtin/createClass.js")); var _possibleConstructorReturn2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/builtin/possibleConstructorReturn */ "./node_modules/@babel/runtime/helpers/builtin/possibleConstructorReturn.js")); var _inherits2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/builtin/inherits */ "./node_modules/@babel/runtime/helpers/builtin/inherits.js")); var _react = _interopRequireDefault(__webpack_require__(/*! react */ "./node_modules/react/index.js")); var _propTypes = _interopRequireDefault(__webpack_require__(/*! prop-types */ "./node_modules/prop-types/index.js")); var _classnames = _interopRequireDefault(__webpack_require__(/*! classnames */ "./node_modules/classnames/index.js")); var _withStyles = _interopRequireDefault(__webpack_require__(/*! ../styles/withStyles */ "./node_modules/@material-ui/core/styles/withStyles.js")); var styles = { root: { listStyle: 'none', margin: 0, padding: 0, position: 'relative' }, padding: { paddingTop: 8, paddingBottom: 8 }, dense: { paddingTop: 4, paddingBottom: 4 }, subheader: { paddingTop: 0 } }; exports.styles = styles; var List = /*#__PURE__*/ function (_React$Component) { (0, _inherits2.default)(List, _React$Component); function List() { (0, _classCallCheck2.default)(this, List); return (0, _possibleConstructorReturn2.default)(this, (List.__proto__ || Object.getPrototypeOf(List)).apply(this, arguments)); } (0, _createClass2.default)(List, [{ key: "getChildContext", value: function getChildContext() { return { dense: this.props.dense }; } }, { key: "render", value: function render() { var _classNames; var _props = this.props, children = _props.children, classes = _props.classes, classNameProp = _props.className, Component = _props.component, dense = _props.dense, disablePadding = _props.disablePadding, subheader = _props.subheader, other = (0, _objectWithoutProperties2.default)(_props, ["children", "classes", "className", "component", "dense", "disablePadding", "subheader"]); var className = (0, _classnames.default)(classes.root, (_classNames = {}, (0, _defineProperty2.default)(_classNames, classes.dense, dense && !disablePadding), (0, _defineProperty2.default)(_classNames, classes.padding, !disablePadding), (0, _defineProperty2.default)(_classNames, classes.subheader, subheader), _classNames), classNameProp); return _react.default.createElement(Component, (0, _extends2.default)({ className: className }, other), subheader, children); } }]); return List; }(_react.default.Component); List.propTypes = true ? { /** * The content of the component. */ children: _propTypes.default.node, /** * Override or extend the styles applied to the component. * See [CSS API](#css-api) below for more details. */ classes: _propTypes.default.object.isRequired, /** * @ignore */ className: _propTypes.default.string, /** * The component used for the root node. * Either a string to use a DOM element or a component. */ component: _propTypes.default.oneOfType([_propTypes.default.string, _propTypes.default.func, _propTypes.default.object]), /** * If `true`, compact vertical padding designed for keyboard and mouse input will be used for * the list and list items. The property is available to descendant components as the * `dense` context. */ dense: _propTypes.default.bool, /** * If `true`, vertical padding will be removed from the list. */ disablePadding: _propTypes.default.bool, /** * The content of the subheader, normally `ListSubheader`. */ subheader: _propTypes.default.node } : undefined; List.defaultProps = { component: 'ul', dense: false, disablePadding: false }; List.childContextTypes = { dense: _propTypes.default.bool }; var _default = (0, _withStyles.default)(styles, { name: 'MuiList' })(List); exports.default = _default; /***/ }), /***/ "./node_modules/@material-ui/core/List/index.js": /*!******************************************************!*\ !*** ./node_modules/@material-ui/core/List/index.js ***! \******************************************************/ /*! no static exports found */ /***/ (function(module, exports, __webpack_require__) { "use strict"; var _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/builtin/interopRequireDefault */ "./node_modules/@babel/runtime/helpers/builtin/interopRequireDefault.js"); Object.defineProperty(exports, "__esModule", { value: true }); Object.defineProperty(exports, "default", { enumerable: true, get: function get() { return _List.default; } }); var _List = _interopRequireDefault(__webpack_require__(/*! ./List */ "./node_modules/@material-ui/core/List/List.js")); /***/ }), /***/ "./node_modules/@material-ui/core/ListItem/ListItem.js": /*!*************************************************************!*\ !*** ./node_modules/@material-ui/core/ListItem/ListItem.js ***! \*************************************************************/ /*! no static exports found */ /***/ (function(module, exports, __webpack_require__) { "use strict"; var _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/builtin/interopRequireDefault */ "./node_modules/@babel/runtime/helpers/builtin/interopRequireDefault.js"); Object.defineProperty(exports, "__esModule", { value: true }); exports.default = exports.styles = void 0; var _extends2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/builtin/extends */ "./node_modules/@babel/runtime/helpers/builtin/extends.js")); var _objectSpread2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/builtin/objectSpread */ "./node_modules/@babel/runtime/helpers/builtin/objectSpread.js")); var _defineProperty2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/builtin/defineProperty */ "./node_modules/@babel/runtime/helpers/builtin/defineProperty.js")); var _objectWithoutProperties2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/builtin/objectWithoutProperties */ "./node_modules/@babel/runtime/helpers/builtin/objectWithoutProperties.js")); var _classCallCheck2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/builtin/classCallCheck */ "./node_modules/@babel/runtime/helpers/builtin/classCallCheck.js")); var _createClass2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/builtin/createClass */ "./node_modules/@babel/runtime/helpers/builtin/createClass.js")); var _possibleConstructorReturn2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/builtin/possibleConstructorReturn */ "./node_modules/@babel/runtime/helpers/builtin/possibleConstructorReturn.js")); var _inherits2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/builtin/inherits */ "./node_modules/@babel/runtime/helpers/builtin/inherits.js")); var _react = _interopRequireDefault(__webpack_require__(/*! react */ "./node_modules/react/index.js")); var _propTypes = _interopRequireDefault(__webpack_require__(/*! prop-types */ "./node_modules/prop-types/index.js")); var _classnames = _interopRequireDefault(__webpack_require__(/*! classnames */ "./node_modules/classnames/index.js")); var _withStyles = _interopRequireDefault(__webpack_require__(/*! ../styles/withStyles */ "./node_modules/@material-ui/core/styles/withStyles.js")); var _ButtonBase = _interopRequireDefault(__webpack_require__(/*! ../ButtonBase */ "./node_modules/@material-ui/core/ButtonBase/index.js")); var _reactHelpers = __webpack_require__(/*! ../utils/reactHelpers */ "./node_modules/@material-ui/core/utils/reactHelpers.js"); var styles = function styles(theme) { return { root: { display: 'flex', justifyContent: 'flex-start', alignItems: 'center', position: 'relative', textDecoration: 'none', width: '100%', boxSizing: 'border-box', textAlign: 'left' }, container: { position: 'relative' }, focusVisible: { backgroundColor: theme.palette.action.hover }, default: { paddingTop: 12, paddingBottom: 12 }, dense: { paddingTop: 8, paddingBottom: 8 }, disabled: { opacity: 0.5 }, divider: { borderBottom: "1px solid ".concat(theme.palette.divider), backgroundClip: 'padding-box' }, gutters: theme.mixins.gutters(), button: { transition: theme.transitions.create('background-color', { duration: theme.transitions.duration.shortest }), '&:hover': { textDecoration: 'none', backgroundColor: theme.palette.action.hover, // Reset on touch devices, it doesn't add specificity '@media (hover: none)': { backgroundColor: 'transparent' } } }, secondaryAction: { // Add some space to avoid collision as `ListItemSecondaryAction` // is absolutely positionned. paddingRight: 32 } }; }; exports.styles = styles; var ListItem = /*#__PURE__*/ function (_React$Component) { (0, _inherits2.default)(ListItem, _React$Component); function ListItem() { (0, _classCallCheck2.default)(this, ListItem); return (0, _possibleConstructorReturn2.default)(this, (ListItem.__proto__ || Object.getPrototypeOf(ListItem)).apply(this, arguments)); } (0, _createClass2.default)(ListItem, [{ key: "getChildContext", value: function getChildContext() { return { dense: this.props.dense || this.context.dense || false }; } }, { key: "render", value: function render() { var _classNames; var _props = this.props, button = _props.button, childrenProp = _props.children, classes = _props.classes, classNameProp = _props.className, componentProp = _props.component, ContainerComponent = _props.ContainerComponent, _props$ContainerProps = _props.ContainerProps; _props$ContainerProps = _props$ContainerProps === void 0 ? {} : _props$ContainerProps; var ContainerClassName = _props$ContainerProps.className, ContainerProps = (0, _objectWithoutProperties2.default)(_props$ContainerProps, ["className"]), dense = _props.dense, disabled = _props.disabled, disableGutters = _props.disableGutters, divider = _props.divider, focusVisibleClassName = _props.focusVisibleClassName, other = (0, _objectWithoutProperties2.default)(_props, ["button", "children", "classes", "className", "component", "ContainerComponent", "ContainerProps", "dense", "disabled", "disableGutters", "divider", "focusVisibleClassName"]); var isDense = dense || this.context.dense || false; var children = _react.default.Children.toArray(childrenProp); var hasAvatar = children.some(function (value) { return (0, _reactHelpers.isMuiElement)(value, ['ListItemAvatar']); }); var hasSecondaryAction = children.length && (0, _reactHelpers.isMuiElement)(children[children.length - 1], ['ListItemSecondaryAction']); var className = (0, _classnames.default)(classes.root, isDense || hasAvatar ? classes.dense : classes.default, (_classNames = {}, (0, _defineProperty2.default)(_classNames, classes.gutters, !disableGutters), (0, _defineProperty2.default)(_classNames, classes.divider, divider), (0, _defineProperty2.default)(_classNames, classes.disabled, disabled), (0, _defineProperty2.default)(_classNames, classes.button, button), (0, _defineProperty2.default)(_classNames, classes.secondaryAction, hasSecondaryAction), _classNames), classNameProp); var componentProps = (0, _objectSpread2.default)({ className: className, disabled: disabled }, other); var Component = componentProp || 'li'; if (button) { componentProps.component = componentProp || 'div'; componentProps.focusVisibleClassName = (0, _classnames.default)(classes.focusVisible, focusVisibleClassName); Component = _ButtonBase.default; } if (hasSecondaryAction) { // Use div by default. Component = !componentProps.component && !componentProp ? 'div' : Component; // Avoid nesting of li > li. if (ContainerComponent === 'li') { if (Component === 'li') { Component = 'div'; } else if (componentProps.component === 'li') { componentProps.component = 'div'; } } return _react.default.createElement(ContainerComponent, (0, _extends2.default)({ className: (0, _classnames.default)(classes.container, ContainerClassName) }, ContainerProps), _react.default.createElement(Component, componentProps, children), children.pop()); } return _react.default.createElement(Component, componentProps, children); } }]); return ListItem; }(_react.default.Component); ListItem.propTypes = true ? { /** * If `true`, the list item will be a button (using `ButtonBase`). */ button: _propTypes.default.bool, /** * The content of the component. */ children: _propTypes.default.node, /** * Override or extend the styles applied to the component. * See [CSS API](#css-api) below for more details. */ classes: _propTypes.default.object.isRequired, /** * @ignore */ className: _propTypes.default.string, /** * The component used for the root node. * Either a string to use a DOM element or a component. * By default, it's a `li` when `button` is `false` and a `div` when `button` is `true`. */ component: _propTypes.default.oneOfType([_propTypes.default.string, _propTypes.default.func, _propTypes.default.object]), /** * The container component used when a `ListItemSecondaryAction` is rendered. */ ContainerComponent: _propTypes.default.oneOfType([_propTypes.default.string, _propTypes.default.func, _propTypes.default.object]), /** * Properties applied to the container element when the component * is used to display a `ListItemSecondaryAction`. */ ContainerProps: _propTypes.default.object, /** * If `true`, compact vertical padding designed for keyboard and mouse input will be used. */ dense: _propTypes.default.bool, /** * @ignore */ disabled: _propTypes.default.bool, /** * If `true`, the left and right padding is removed. */ disableGutters: _propTypes.default.bool, /** * If `true`, a 1px light border is added to the bottom of the list item. */ divider: _propTypes.default.bool, /** * @ignore */ focusVisibleClassName: _propTypes.default.string } : undefined; ListItem.defaultProps = { button: false, ContainerComponent: 'li', dense: false, disabled: false, disableGutters: false, divider: false }; ListItem.contextTypes = { dense: _propTypes.default.bool }; ListItem.childContextTypes = { dense: _propTypes.default.bool }; var _default = (0, _withStyles.default)(styles, { name: 'MuiListItem' })(ListItem); exports.default = _default; /***/ }), /***/ "./node_modules/@material-ui/core/ListItem/index.js": /*!**********************************************************!*\ !*** ./node_modules/@material-ui/core/ListItem/index.js ***! \**********************************************************/ /*! no static exports found */ /***/ (function(module, exports, __webpack_require__) { "use strict"; var _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/builtin/interopRequireDefault */ "./node_modules/@babel/runtime/helpers/builtin/interopRequireDefault.js"); Object.defineProperty(exports, "__esModule", { value: true }); Object.defineProperty(exports, "default", { enumerable: true, get: function get() { return _ListItem.default; } }); var _ListItem = _interopRequireDefault(__webpack_require__(/*! ./ListItem */ "./node_modules/@material-ui/core/ListItem/ListItem.js")); /***/ }), /***/ "./node_modules/@material-ui/core/ListItemAvatar/ListItemAvatar.js": /*!*************************************************************************!*\ !*** ./node_modules/@material-ui/core/ListItemAvatar/ListItemAvatar.js ***! \*************************************************************************/ /*! no static exports found */ /***/ (function(module, exports, __webpack_require__) { "use strict"; var _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/builtin/interopRequireDefault */ "./node_modules/@babel/runtime/helpers/builtin/interopRequireDefault.js"); Object.defineProperty(exports, "__esModule", { value: true }); exports.default = exports.styles = void 0; var _defineProperty2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/builtin/defineProperty */ "./node_modules/@babel/runtime/helpers/builtin/defineProperty.js")); var _objectSpread2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/builtin/objectSpread */ "./node_modules/@babel/runtime/helpers/builtin/objectSpread.js")); var _objectWithoutProperties2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/builtin/objectWithoutProperties */ "./node_modules/@babel/runtime/helpers/builtin/objectWithoutProperties.js")); var _react = _interopRequireDefault(__webpack_require__(/*! react */ "./node_modules/react/index.js")); var _propTypes = _interopRequireDefault(__webpack_require__(/*! prop-types */ "./node_modules/prop-types/index.js")); var _classnames = _interopRequireDefault(__webpack_require__(/*! classnames */ "./node_modules/classnames/index.js")); var _warning = _interopRequireDefault(__webpack_require__(/*! warning */ "./node_modules/@material-ui/core/node_modules/warning/warning.js")); var _withStyles = _interopRequireDefault(__webpack_require__(/*! ../styles/withStyles */ "./node_modules/@material-ui/core/styles/withStyles.js")); var styles = function styles(theme) { return { root: { width: 36, height: 36, fontSize: theme.typography.pxToRem(18), marginRight: 4 }, icon: { width: 20, height: 20, fontSize: theme.typography.pxToRem(20) } }; }; /** * It's a simple wrapper to apply the `dense` mode styles to `Avatar`. */ exports.styles = styles; function ListItemAvatar(props, context) { var children = props.children, classes = props.classes, classNameProp = props.className, other = (0, _objectWithoutProperties2.default)(props, ["children", "classes", "className"]); if (context.dense === undefined) { true ? (0, _warning.default)(false, "Material-UI: is a simple wrapper to apply the dense styles\n to . You do not need it unless you are controlling the dense property.") : undefined; return props.children; } return _react.default.cloneElement(children, (0, _objectSpread2.default)({ className: (0, _classnames.default)((0, _defineProperty2.default)({}, classes.root, context.dense), classNameProp, children.props.className), childrenClassName: (0, _classnames.default)((0, _defineProperty2.default)({}, classes.icon, context.dense), children.props.childrenClassName) }, other)); } ListItemAvatar.propTypes = true ? { /** * The content of the component, normally `Avatar`. */ children: _propTypes.default.element.isRequired, /** * Override or extend the styles applied to the component. * See [CSS API](#css-api) below for more details. */ classes: _propTypes.default.object.isRequired, /** * @ignore */ className: _propTypes.default.string } : undefined; ListItemAvatar.contextTypes = { dense: _propTypes.default.bool }; ListItemAvatar.muiName = 'ListItemAvatar'; var _default = (0, _withStyles.default)(styles, { name: 'MuiListItemAvatar' })(ListItemAvatar); exports.default = _default; /***/ }), /***/ "./node_modules/@material-ui/core/ListItemAvatar/index.js": /*!****************************************************************!*\ !*** ./node_modules/@material-ui/core/ListItemAvatar/index.js ***! \****************************************************************/ /*! no static exports found */ /***/ (function(module, exports, __webpack_require__) { "use strict"; var _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/builtin/interopRequireDefault */ "./node_modules/@babel/runtime/helpers/builtin/interopRequireDefault.js"); Object.defineProperty(exports, "__esModule", { value: true }); Object.defineProperty(exports, "default", { enumerable: true, get: function get() { return _ListItemAvatar.default; } }); var _ListItemAvatar = _interopRequireDefault(__webpack_require__(/*! ./ListItemAvatar */ "./node_modules/@material-ui/core/ListItemAvatar/ListItemAvatar.js")); /***/ }), /***/ "./node_modules/@material-ui/core/ListItemIcon/ListItemIcon.js": /*!*********************************************************************!*\ !*** ./node_modules/@material-ui/core/ListItemIcon/ListItemIcon.js ***! \*********************************************************************/ /*! no static exports found */ /***/ (function(module, exports, __webpack_require__) { "use strict"; var _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/builtin/interopRequireDefault */ "./node_modules/@babel/runtime/helpers/builtin/interopRequireDefault.js"); Object.defineProperty(exports, "__esModule", { value: true }); exports.default = exports.styles = void 0; var _objectSpread2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/builtin/objectSpread */ "./node_modules/@babel/runtime/helpers/builtin/objectSpread.js")); var _objectWithoutProperties2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/builtin/objectWithoutProperties */ "./node_modules/@babel/runtime/helpers/builtin/objectWithoutProperties.js")); var _react = _interopRequireDefault(__webpack_require__(/*! react */ "./node_modules/react/index.js")); var _propTypes = _interopRequireDefault(__webpack_require__(/*! prop-types */ "./node_modules/prop-types/index.js")); var _classnames = _interopRequireDefault(__webpack_require__(/*! classnames */ "./node_modules/classnames/index.js")); var _withStyles = _interopRequireDefault(__webpack_require__(/*! ../styles/withStyles */ "./node_modules/@material-ui/core/styles/withStyles.js")); var styles = function styles(theme) { return { root: { marginRight: 16, color: theme.palette.action.active, flexShrink: 0 } }; }; /** * A simple wrapper to apply `List` styles to an `Icon` or `SvgIcon`. */ exports.styles = styles; function ListItemIcon(props) { var children = props.children, classes = props.classes, classNameProp = props.className, other = (0, _objectWithoutProperties2.default)(props, ["children", "classes", "className"]); return _react.default.cloneElement(children, (0, _objectSpread2.default)({ className: (0, _classnames.default)(classes.root, classNameProp, children.props.className) }, other)); } ListItemIcon.propTypes = true ? { /** * The content of the component, normally `Icon`, `SvgIcon`, * or a `@material-ui/icons` SVG icon element. */ children: _propTypes.default.element.isRequired, /** * Override or extend the styles applied to the component. * See [CSS API](#css-api) below for more details. */ classes: _propTypes.default.object.isRequired, /** * @ignore */ className: _propTypes.default.string } : undefined; var _default = (0, _withStyles.default)(styles, { name: 'MuiListItemIcon' })(ListItemIcon); exports.default = _default; /***/ }), /***/ "./node_modules/@material-ui/core/ListItemIcon/index.js": /*!**************************************************************!*\ !*** ./node_modules/@material-ui/core/ListItemIcon/index.js ***! \**************************************************************/ /*! no static exports found */ /***/ (function(module, exports, __webpack_require__) { "use strict"; var _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/builtin/interopRequireDefault */ "./node_modules/@babel/runtime/helpers/builtin/interopRequireDefault.js"); Object.defineProperty(exports, "__esModule", { value: true }); Object.defineProperty(exports, "default", { enumerable: true, get: function get() { return _ListItemIcon.default; } }); var _ListItemIcon = _interopRequireDefault(__webpack_require__(/*! ./ListItemIcon */ "./node_modules/@material-ui/core/ListItemIcon/ListItemIcon.js")); /***/ }), /***/ "./node_modules/@material-ui/core/ListItemSecondaryAction/ListItemSecondaryAction.js": /*!*******************************************************************************************!*\ !*** ./node_modules/@material-ui/core/ListItemSecondaryAction/ListItemSecondaryAction.js ***! \*******************************************************************************************/ /*! no static exports found */ /***/ (function(module, exports, __webpack_require__) { "use strict"; var _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/builtin/interopRequireDefault */ "./node_modules/@babel/runtime/helpers/builtin/interopRequireDefault.js"); Object.defineProperty(exports, "__esModule", { value: true }); exports.default = exports.styles = void 0; var _extends2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/builtin/extends */ "./node_modules/@babel/runtime/helpers/builtin/extends.js")); var _objectWithoutProperties2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/builtin/objectWithoutProperties */ "./node_modules/@babel/runtime/helpers/builtin/objectWithoutProperties.js")); var _react = _interopRequireDefault(__webpack_require__(/*! react */ "./node_modules/react/index.js")); var _propTypes = _interopRequireDefault(__webpack_require__(/*! prop-types */ "./node_modules/prop-types/index.js")); var _classnames = _interopRequireDefault(__webpack_require__(/*! classnames */ "./node_modules/classnames/index.js")); var _withStyles = _interopRequireDefault(__webpack_require__(/*! ../styles/withStyles */ "./node_modules/@material-ui/core/styles/withStyles.js")); var styles = { root: { position: 'absolute', right: 4, top: '50%', transform: 'translateY(-50%)' } }; exports.styles = styles; function ListItemSecondaryAction(props) { var children = props.children, classes = props.classes, className = props.className, other = (0, _objectWithoutProperties2.default)(props, ["children", "classes", "className"]); return _react.default.createElement("div", (0, _extends2.default)({ className: (0, _classnames.default)(classes.root, className) }, other), children); } ListItemSecondaryAction.propTypes = true ? { /** * The content of the component, normally an `IconButton` or selection control. */ children: _propTypes.default.node, /** * Override or extend the styles applied to the component. * See [CSS API](#css-api) below for more details. */ classes: _propTypes.default.object.isRequired, /** * @ignore */ className: _propTypes.default.string } : undefined; ListItemSecondaryAction.muiName = 'ListItemSecondaryAction'; var _default = (0, _withStyles.default)(styles, { name: 'MuiListItemSecondaryAction' })(ListItemSecondaryAction); exports.default = _default; /***/ }), /***/ "./node_modules/@material-ui/core/ListItemSecondaryAction/index.js": /*!*************************************************************************!*\ !*** ./node_modules/@material-ui/core/ListItemSecondaryAction/index.js ***! \*************************************************************************/ /*! no static exports found */ /***/ (function(module, exports, __webpack_require__) { "use strict"; var _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/builtin/interopRequireDefault */ "./node_modules/@babel/runtime/helpers/builtin/interopRequireDefault.js"); Object.defineProperty(exports, "__esModule", { value: true }); Object.defineProperty(exports, "default", { enumerable: true, get: function get() { return _ListItemSecondaryAction.default; } }); var _ListItemSecondaryAction = _interopRequireDefault(__webpack_require__(/*! ./ListItemSecondaryAction */ "./node_modules/@material-ui/core/ListItemSecondaryAction/ListItemSecondaryAction.js")); /***/ }), /***/ "./node_modules/@material-ui/core/ListItemText/ListItemText.js": /*!*********************************************************************!*\ !*** ./node_modules/@material-ui/core/ListItemText/ListItemText.js ***! \*********************************************************************/ /*! no static exports found */ /***/ (function(module, exports, __webpack_require__) { "use strict"; var _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/builtin/interopRequireDefault */ "./node_modules/@babel/runtime/helpers/builtin/interopRequireDefault.js"); Object.defineProperty(exports, "__esModule", { value: true }); exports.default = exports.styles = void 0; var _extends2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/builtin/extends */ "./node_modules/@babel/runtime/helpers/builtin/extends.js")); var _defineProperty2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/builtin/defineProperty */ "./node_modules/@babel/runtime/helpers/builtin/defineProperty.js")); var _objectWithoutProperties2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/builtin/objectWithoutProperties */ "./node_modules/@babel/runtime/helpers/builtin/objectWithoutProperties.js")); var _react = _interopRequireDefault(__webpack_require__(/*! react */ "./node_modules/react/index.js")); var _propTypes = _interopRequireDefault(__webpack_require__(/*! prop-types */ "./node_modules/prop-types/index.js")); var _classnames = _interopRequireDefault(__webpack_require__(/*! classnames */ "./node_modules/classnames/index.js")); var _withStyles = _interopRequireDefault(__webpack_require__(/*! ../styles/withStyles */ "./node_modules/@material-ui/core/styles/withStyles.js")); var _Typography = _interopRequireDefault(__webpack_require__(/*! ../Typography */ "./node_modules/@material-ui/core/Typography/index.js")); var styles = function styles(theme) { return { root: { flex: '1 1 auto', minWidth: 0, padding: '0 16px', '&:first-child': { paddingLeft: 0 } }, inset: { '&:first-child': { paddingLeft: 56 } }, dense: { fontSize: theme.typography.pxToRem(13) }, primary: { '&$textDense': { fontSize: 'inherit' } }, secondary: { '&$textDense': { fontSize: 'inherit' } }, textDense: {} }; }; exports.styles = styles; function ListItemText(props, context) { var _classNames3; var children = props.children, classes = props.classes, classNameProp = props.className, disableTypography = props.disableTypography, inset = props.inset, primaryProp = props.primary, primaryTypographyProps = props.primaryTypographyProps, secondaryProp = props.secondary, secondaryTypographyProps = props.secondaryTypographyProps, other = (0, _objectWithoutProperties2.default)(props, ["children", "classes", "className", "disableTypography", "inset", "primary", "primaryTypographyProps", "secondary", "secondaryTypographyProps"]); var dense = context.dense; var primary = primaryProp != null ? primaryProp : children; if (primary != null && primary.type !== _Typography.default && !disableTypography) { primary = _react.default.createElement(_Typography.default, (0, _extends2.default)({ variant: "subheading", className: (0, _classnames.default)(classes.primary, (0, _defineProperty2.default)({}, classes.textDense, dense)), component: "span" }, primaryTypographyProps), primary); } var secondary = secondaryProp; if (secondary != null && secondary.type !== _Typography.default && !disableTypography) { secondary = _react.default.createElement(_Typography.default, (0, _extends2.default)({ variant: "body1", className: (0, _classnames.default)(classes.secondary, (0, _defineProperty2.default)({}, classes.textDense, dense)), color: "textSecondary" }, secondaryTypographyProps), secondary); } return _react.default.createElement("div", (0, _extends2.default)({ className: (0, _classnames.default)(classes.root, (_classNames3 = {}, (0, _defineProperty2.default)(_classNames3, classes.dense, dense), (0, _defineProperty2.default)(_classNames3, classes.inset, inset), _classNames3), classNameProp) }, other), primary, secondary); } ListItemText.propTypes = true ? { /** * Alias for the `primary` property. */ children: _propTypes.default.node, /** * Override or extend the styles applied to the component. * See [CSS API](#css-api) below for more details. */ classes: _propTypes.default.object.isRequired, /** * @ignore */ className: _propTypes.default.string, /** * If `true`, the children won't be wrapped by a Typography component. * This can be useful to render an alternative Typography variant by wrapping * the `children` (or `primary`) text, and optional `secondary` text * with the Typography component. */ disableTypography: _propTypes.default.bool, /** * If `true`, the children will be indented. * This should be used if there is no left avatar or left icon. */ inset: _propTypes.default.bool, /** * The main content element. */ primary: _propTypes.default.node, /** * These props will be forwarded to the primary typography component * (as long as disableTypography is not `true`). */ primaryTypographyProps: _propTypes.default.object, /** * The secondary content element. */ secondary: _propTypes.default.node, /** * These props will be forwarded to the secondary typography component * (as long as disableTypography is not `true`). */ secondaryTypographyProps: _propTypes.default.object } : undefined; ListItemText.defaultProps = { disableTypography: false, inset: false }; ListItemText.contextTypes = { dense: _propTypes.default.bool }; var _default = (0, _withStyles.default)(styles, { name: 'MuiListItemText' })(ListItemText); exports.default = _default; /***/ }), /***/ "./node_modules/@material-ui/core/ListItemText/index.js": /*!**************************************************************!*\ !*** ./node_modules/@material-ui/core/ListItemText/index.js ***! \**************************************************************/ /*! no static exports found */ /***/ (function(module, exports, __webpack_require__) { "use strict"; var _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/builtin/interopRequireDefault */ "./node_modules/@babel/runtime/helpers/builtin/interopRequireDefault.js"); Object.defineProperty(exports, "__esModule", { value: true }); Object.defineProperty(exports, "default", { enumerable: true, get: function get() { return _ListItemText.default; } }); var _ListItemText = _interopRequireDefault(__webpack_require__(/*! ./ListItemText */ "./node_modules/@material-ui/core/ListItemText/ListItemText.js")); /***/ }), /***/ "./node_modules/@material-ui/core/ListSubheader/ListSubheader.js": /*!***********************************************************************!*\ !*** ./node_modules/@material-ui/core/ListSubheader/ListSubheader.js ***! \***********************************************************************/ /*! no static exports found */ /***/ (function(module, exports, __webpack_require__) { "use strict"; var _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/builtin/interopRequireDefault */ "./node_modules/@babel/runtime/helpers/builtin/interopRequireDefault.js"); Object.defineProperty(exports, "__esModule", { value: true }); exports.default = exports.styles = void 0; var _extends2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/builtin/extends */ "./node_modules/@babel/runtime/helpers/builtin/extends.js")); var _defineProperty2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/builtin/defineProperty */ "./node_modules/@babel/runtime/helpers/builtin/defineProperty.js")); var _objectWithoutProperties2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/builtin/objectWithoutProperties */ "./node_modules/@babel/runtime/helpers/builtin/objectWithoutProperties.js")); var _react = _interopRequireDefault(__webpack_require__(/*! react */ "./node_modules/react/index.js")); var _propTypes = _interopRequireDefault(__webpack_require__(/*! prop-types */ "./node_modules/prop-types/index.js")); var _classnames = _interopRequireDefault(__webpack_require__(/*! classnames */ "./node_modules/classnames/index.js")); var _withStyles = _interopRequireDefault(__webpack_require__(/*! ../styles/withStyles */ "./node_modules/@material-ui/core/styles/withStyles.js")); var _helpers = __webpack_require__(/*! ../utils/helpers */ "./node_modules/@material-ui/core/utils/helpers.js"); var styles = function styles(theme) { return { root: theme.mixins.gutters({ boxSizing: 'border-box', lineHeight: '48px', listStyle: 'none', color: theme.palette.text.secondary, fontFamily: theme.typography.fontFamily, fontWeight: theme.typography.fontWeightMedium, fontSize: theme.typography.pxToRem(14) }), colorPrimary: { color: theme.palette.primary.main }, colorInherit: { color: 'inherit' }, inset: { paddingLeft: 72 }, sticky: { position: 'sticky', top: 0, zIndex: 1, backgroundColor: 'inherit' } }; }; exports.styles = styles; function ListSubheader(props) { var _classNames; var classes = props.classes, className = props.className, color = props.color, Component = props.component, disableSticky = props.disableSticky, inset = props.inset, other = (0, _objectWithoutProperties2.default)(props, ["classes", "className", "color", "component", "disableSticky", "inset"]); return _react.default.createElement(Component, (0, _extends2.default)({ className: (0, _classnames.default)(classes.root, (_classNames = {}, (0, _defineProperty2.default)(_classNames, classes["color".concat((0, _helpers.capitalize)(color))], color !== 'default'), (0, _defineProperty2.default)(_classNames, classes.inset, inset), (0, _defineProperty2.default)(_classNames, classes.sticky, !disableSticky), _classNames), className) }, other)); } ListSubheader.propTypes = true ? { /** * The content of the component. */ children: _propTypes.default.node, /** * Override or extend the styles applied to the component. * See [CSS API](#css-api) below for more details. */ classes: _propTypes.default.object.isRequired, /** * @ignore */ className: _propTypes.default.string, /** * The color of the component. It supports those theme colors that make sense for this component. */ color: _propTypes.default.oneOf(['default', 'primary', 'inherit']), /** * The component used for the root node. * Either a string to use a DOM element or a component. */ component: _propTypes.default.oneOfType([_propTypes.default.string, _propTypes.default.func, _propTypes.default.object]), /** * If `true`, the List Subheader will not stick to the top during scroll. */ disableSticky: _propTypes.default.bool, /** * If `true`, the List Subheader will be indented. */ inset: _propTypes.default.bool } : undefined; ListSubheader.defaultProps = { color: 'default', component: 'li', disableSticky: false, inset: false }; ListSubheader.muiName = 'ListSubheader'; var _default = (0, _withStyles.default)(styles, { name: 'MuiListSubheader' })(ListSubheader); exports.default = _default; /***/ }), /***/ "./node_modules/@material-ui/core/ListSubheader/index.js": /*!***************************************************************!*\ !*** ./node_modules/@material-ui/core/ListSubheader/index.js ***! \***************************************************************/ /*! no static exports found */ /***/ (function(module, exports, __webpack_require__) { "use strict"; var _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/builtin/interopRequireDefault */ "./node_modules/@babel/runtime/helpers/builtin/interopRequireDefault.js"); Object.defineProperty(exports, "__esModule", { value: true }); Object.defineProperty(exports, "default", { enumerable: true, get: function get() { return _ListSubheader.default; } }); var _ListSubheader = _interopRequireDefault(__webpack_require__(/*! ./ListSubheader */ "./node_modules/@material-ui/core/ListSubheader/ListSubheader.js")); /***/ }), /***/ "./node_modules/@material-ui/core/Menu/Menu.js": /*!*****************************************************!*\ !*** ./node_modules/@material-ui/core/Menu/Menu.js ***! \*****************************************************/ /*! no static exports found */ /***/ (function(module, exports, __webpack_require__) { "use strict"; var _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/builtin/interopRequireDefault */ "./node_modules/@babel/runtime/helpers/builtin/interopRequireDefault.js"); Object.defineProperty(exports, "__esModule", { value: true }); exports.default = exports.styles = void 0; var _extends2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/builtin/extends */ "./node_modules/@babel/runtime/helpers/builtin/extends.js")); var _objectSpread2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/builtin/objectSpread */ "./node_modules/@babel/runtime/helpers/builtin/objectSpread.js")); var _objectWithoutProperties2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/builtin/objectWithoutProperties */ "./node_modules/@babel/runtime/helpers/builtin/objectWithoutProperties.js")); var _classCallCheck2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/builtin/classCallCheck */ "./node_modules/@babel/runtime/helpers/builtin/classCallCheck.js")); var _createClass2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/builtin/createClass */ "./node_modules/@babel/runtime/helpers/builtin/createClass.js")); var _possibleConstructorReturn2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/builtin/possibleConstructorReturn */ "./node_modules/@babel/runtime/helpers/builtin/possibleConstructorReturn.js")); var _inherits2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/builtin/inherits */ "./node_modules/@babel/runtime/helpers/builtin/inherits.js")); var _react = _interopRequireDefault(__webpack_require__(/*! react */ "./node_modules/react/index.js")); var _propTypes = _interopRequireDefault(__webpack_require__(/*! prop-types */ "./node_modules/prop-types/index.js")); var _reactDom = _interopRequireDefault(__webpack_require__(/*! react-dom */ "./node_modules/react-dom/index.js")); var _scrollbarSize = _interopRequireDefault(__webpack_require__(/*! dom-helpers/util/scrollbarSize */ "./node_modules/dom-helpers/util/scrollbarSize.js")); var _withStyles = _interopRequireDefault(__webpack_require__(/*! ../styles/withStyles */ "./node_modules/@material-ui/core/styles/withStyles.js")); var _Popover = _interopRequireDefault(__webpack_require__(/*! ../Popover */ "./node_modules/@material-ui/core/Popover/index.js")); var _MenuList = _interopRequireDefault(__webpack_require__(/*! ../MenuList */ "./node_modules/@material-ui/core/MenuList/index.js")); // @inheritedComponent Popover var RTL_ORIGIN = { vertical: 'top', horizontal: 'right' }; var LTR_ORIGIN = { vertical: 'top', horizontal: 'left' }; var styles = { paper: { // specZ: The maximum height of a simple menu should be one or more rows less than the view // height. This ensures a tappable area outside of the simple menu with which to dismiss // the menu. maxHeight: 'calc(100% - 96px)', // Add iOS momentum scrolling. WebkitOverflowScrolling: 'touch', // Fix a scrolling issue on Chrome. transform: 'translateZ(0)' } }; exports.styles = styles; var Menu = /*#__PURE__*/ function (_React$Component) { (0, _inherits2.default)(Menu, _React$Component); function Menu() { var _ref; var _temp, _this; (0, _classCallCheck2.default)(this, Menu); for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) { args[_key] = arguments[_key]; } return (0, _possibleConstructorReturn2.default)(_this, (_temp = _this = (0, _possibleConstructorReturn2.default)(this, (_ref = Menu.__proto__ || Object.getPrototypeOf(Menu)).call.apply(_ref, [this].concat(args))), _this.menuList = null, _this.getContentAnchorEl = function () { if (!_this.menuList || !_this.menuList.selectedItem) { return _reactDom.default.findDOMNode(_this.menuList).firstChild; } return _reactDom.default.findDOMNode(_this.menuList.selectedItem); }, _this.focus = function () { if (_this.menuList && _this.menuList.selectedItem) { _reactDom.default.findDOMNode(_this.menuList.selectedItem).focus(); return; } var menuList = _reactDom.default.findDOMNode(_this.menuList); if (menuList && menuList.firstChild) { menuList.firstChild.focus(); } }, _this.handleEnter = function (element) { var _this$props = _this.props, disableAutoFocusItem = _this$props.disableAutoFocusItem, theme = _this$props.theme; var menuList = _reactDom.default.findDOMNode(_this.menuList); // Focus so the scroll computation of the Popover works as expected. if (disableAutoFocusItem !== true) { _this.focus(); } // Let's ignore that piece of logic if users are already overriding the width // of the menu. if (menuList && element.clientHeight < menuList.clientHeight && !menuList.style.width) { var size = "".concat((0, _scrollbarSize.default)(), "px"); menuList.style[theme.direction === 'rtl' ? 'paddingLeft' : 'paddingRight'] = size; menuList.style.width = "calc(100% + ".concat(size, ")"); } if (_this.props.onEnter) { _this.props.onEnter(element); } }, _this.handleListKeyDown = function (event, key) { if (key === 'tab') { event.preventDefault(); if (_this.props.onClose) { _this.props.onClose(event); } } }, _temp)); } (0, _createClass2.default)(Menu, [{ key: "componentDidMount", value: function componentDidMount() { if (this.props.open && this.props.disableAutoFocusItem !== true) { this.focus(); } } }, { key: "render", value: function render() { var _this2 = this; var _props = this.props, children = _props.children, classes = _props.classes, disableAutoFocusItem = _props.disableAutoFocusItem, MenuListProps = _props.MenuListProps, onEnter = _props.onEnter, _props$PaperProps = _props.PaperProps, PaperProps = _props$PaperProps === void 0 ? {} : _props$PaperProps, PopoverClasses = _props.PopoverClasses, theme = _props.theme, other = (0, _objectWithoutProperties2.default)(_props, ["children", "classes", "disableAutoFocusItem", "MenuListProps", "onEnter", "PaperProps", "PopoverClasses", "theme"]); return _react.default.createElement(_Popover.default, (0, _extends2.default)({ getContentAnchorEl: this.getContentAnchorEl, classes: PopoverClasses, onEnter: this.handleEnter, anchorOrigin: theme.direction === 'rtl' ? RTL_ORIGIN : LTR_ORIGIN, transformOrigin: theme.direction === 'rtl' ? RTL_ORIGIN : LTR_ORIGIN, PaperProps: (0, _objectSpread2.default)({}, PaperProps, { classes: (0, _objectSpread2.default)({}, PaperProps.classes, { root: classes.paper }) }) }, other), _react.default.createElement(_MenuList.default, (0, _extends2.default)({ onKeyDown: this.handleListKeyDown }, MenuListProps, { ref: function ref(node) { _this2.menuList = node; } }), children)); } }]); return Menu; }(_react.default.Component); Menu.propTypes = true ? { /** * The DOM element used to set the position of the menu. */ anchorEl: _propTypes.default.oneOfType([_propTypes.default.object, _propTypes.default.func]), /** * Menu contents, normally `MenuItem`s. */ children: _propTypes.default.node, /** * Override or extend the styles applied to the component. * See [CSS API](#css-api) below for more details. */ classes: _propTypes.default.object.isRequired, /** * If `true`, the selected / first menu item will not be auto focused. */ disableAutoFocusItem: _propTypes.default.bool, /** * Properties applied to the [`MenuList`](/api/menu-list) element. */ MenuListProps: _propTypes.default.object, /** * Callback fired when the component requests to be closed. * * @param {object} event The event source of the callback */ onClose: _propTypes.default.func, /** * Callback fired before the Menu enters. */ onEnter: _propTypes.default.func, /** * Callback fired when the Menu has entered. */ onEntered: _propTypes.default.func, /** * Callback fired when the Menu is entering. */ onEntering: _propTypes.default.func, /** * Callback fired before the Menu exits. */ onExit: _propTypes.default.func, /** * Callback fired when the Menu has exited. */ onExited: _propTypes.default.func, /** * Callback fired when the Menu is exiting. */ onExiting: _propTypes.default.func, /** * If `true`, the menu is visible. */ open: _propTypes.default.bool.isRequired, /** * @ignore */ PaperProps: _propTypes.default.object, /** * `classes` property applied to the `Popover` element. */ PopoverClasses: _propTypes.default.object, /** * @ignore */ theme: _propTypes.default.object.isRequired, /** * The length of the transition in `ms`, or 'auto' */ transitionDuration: _propTypes.default.oneOfType([_propTypes.default.number, _propTypes.default.shape({ enter: _propTypes.default.number, exit: _propTypes.default.number }), _propTypes.default.oneOf(['auto'])]) } : undefined; Menu.defaultProps = { disableAutoFocusItem: false, transitionDuration: 'auto' }; var _default = (0, _withStyles.default)(styles, { name: 'MuiMenu', withTheme: true })(Menu); exports.default = _default; /***/ }), /***/ "./node_modules/@material-ui/core/Menu/index.js": /*!******************************************************!*\ !*** ./node_modules/@material-ui/core/Menu/index.js ***! \******************************************************/ /*! no static exports found */ /***/ (function(module, exports, __webpack_require__) { "use strict"; var _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/builtin/interopRequireDefault */ "./node_modules/@babel/runtime/helpers/builtin/interopRequireDefault.js"); Object.defineProperty(exports, "__esModule", { value: true }); Object.defineProperty(exports, "default", { enumerable: true, get: function get() { return _Menu.default; } }); var _Menu = _interopRequireDefault(__webpack_require__(/*! ./Menu */ "./node_modules/@material-ui/core/Menu/Menu.js")); /***/ }), /***/ "./node_modules/@material-ui/core/MenuItem/MenuItem.js": /*!*************************************************************!*\ !*** ./node_modules/@material-ui/core/MenuItem/MenuItem.js ***! \*************************************************************/ /*! no static exports found */ /***/ (function(module, exports, __webpack_require__) { "use strict"; var _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/builtin/interopRequireDefault */ "./node_modules/@babel/runtime/helpers/builtin/interopRequireDefault.js"); Object.defineProperty(exports, "__esModule", { value: true }); exports.default = exports.styles = void 0; var _extends2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/builtin/extends */ "./node_modules/@babel/runtime/helpers/builtin/extends.js")); var _defineProperty2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/builtin/defineProperty */ "./node_modules/@babel/runtime/helpers/builtin/defineProperty.js")); var _objectWithoutProperties2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/builtin/objectWithoutProperties */ "./node_modules/@babel/runtime/helpers/builtin/objectWithoutProperties.js")); var _objectSpread2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/builtin/objectSpread */ "./node_modules/@babel/runtime/helpers/builtin/objectSpread.js")); var _react = _interopRequireDefault(__webpack_require__(/*! react */ "./node_modules/react/index.js")); var _propTypes = _interopRequireDefault(__webpack_require__(/*! prop-types */ "./node_modules/prop-types/index.js")); var _classnames = _interopRequireDefault(__webpack_require__(/*! classnames */ "./node_modules/classnames/index.js")); var _withStyles = _interopRequireDefault(__webpack_require__(/*! ../styles/withStyles */ "./node_modules/@material-ui/core/styles/withStyles.js")); var _ListItem = _interopRequireDefault(__webpack_require__(/*! ../ListItem */ "./node_modules/@material-ui/core/ListItem/index.js")); // @inheritedComponent ListItem var styles = function styles(theme) { return { root: (0, _objectSpread2.default)({}, theme.typography.subheading, { height: 24, boxSizing: 'content-box', width: 'auto', overflow: 'hidden', textOverflow: 'ellipsis', whiteSpace: 'nowrap', paddingLeft: 16, paddingRight: 16, '&$selected': { backgroundColor: theme.palette.action.selected } }), selected: {} }; }; exports.styles = styles; function MenuItem(props) { var classes = props.classes, className = props.className, component = props.component, selected = props.selected, role = props.role, other = (0, _objectWithoutProperties2.default)(props, ["classes", "className", "component", "selected", "role"]); return _react.default.createElement(_ListItem.default, (0, _extends2.default)({ button: true, role: role, tabIndex: -1, className: (0, _classnames.default)(classes.root, (0, _defineProperty2.default)({}, classes.selected, selected), className), component: component }, other)); } MenuItem.propTypes = true ? { /** * Menu item contents. */ children: _propTypes.default.node, /** * Override or extend the styles applied to the component. * See [CSS API](#css-api) below for more details. */ classes: _propTypes.default.object.isRequired, /** * @ignore */ className: _propTypes.default.string, /** * The component used for the root node. * Either a string to use a DOM element or a component. */ component: _propTypes.default.oneOfType([_propTypes.default.string, _propTypes.default.func, _propTypes.default.object]), /** * @ignore */ role: _propTypes.default.string, /** * Use to apply selected styling. */ selected: _propTypes.default.bool } : undefined; MenuItem.defaultProps = { component: 'li', role: 'menuitem', selected: false }; var _default = (0, _withStyles.default)(styles, { name: 'MuiMenuItem' })(MenuItem); exports.default = _default; /***/ }), /***/ "./node_modules/@material-ui/core/MenuItem/index.js": /*!**********************************************************!*\ !*** ./node_modules/@material-ui/core/MenuItem/index.js ***! \**********************************************************/ /*! no static exports found */ /***/ (function(module, exports, __webpack_require__) { "use strict"; var _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/builtin/interopRequireDefault */ "./node_modules/@babel/runtime/helpers/builtin/interopRequireDefault.js"); Object.defineProperty(exports, "__esModule", { value: true }); Object.defineProperty(exports, "default", { enumerable: true, get: function get() { return _MenuItem.default; } }); var _MenuItem = _interopRequireDefault(__webpack_require__(/*! ./MenuItem */ "./node_modules/@material-ui/core/MenuItem/MenuItem.js")); /***/ }), /***/ "./node_modules/@material-ui/core/MenuList/MenuList.js": /*!*************************************************************!*\ !*** ./node_modules/@material-ui/core/MenuList/MenuList.js ***! \*************************************************************/ /*! no static exports found */ /***/ (function(module, exports, __webpack_require__) { "use strict"; var _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/builtin/interopRequireDefault */ "./node_modules/@babel/runtime/helpers/builtin/interopRequireDefault.js"); Object.defineProperty(exports, "__esModule", { value: true }); exports.default = void 0; var _extends2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/builtin/extends */ "./node_modules/@babel/runtime/helpers/builtin/extends.js")); var _objectWithoutProperties2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/builtin/objectWithoutProperties */ "./node_modules/@babel/runtime/helpers/builtin/objectWithoutProperties.js")); var _classCallCheck2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/builtin/classCallCheck */ "./node_modules/@babel/runtime/helpers/builtin/classCallCheck.js")); var _createClass2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/builtin/createClass */ "./node_modules/@babel/runtime/helpers/builtin/createClass.js")); var _possibleConstructorReturn2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/builtin/possibleConstructorReturn */ "./node_modules/@babel/runtime/helpers/builtin/possibleConstructorReturn.js")); var _inherits2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/builtin/inherits */ "./node_modules/@babel/runtime/helpers/builtin/inherits.js")); var _react = _interopRequireDefault(__webpack_require__(/*! react */ "./node_modules/react/index.js")); var _propTypes = _interopRequireDefault(__webpack_require__(/*! prop-types */ "./node_modules/prop-types/index.js")); var _reactDom = _interopRequireDefault(__webpack_require__(/*! react-dom */ "./node_modules/react-dom/index.js")); var _keycode = _interopRequireDefault(__webpack_require__(/*! keycode */ "./node_modules/keycode/index.js")); var _warning = _interopRequireDefault(__webpack_require__(/*! warning */ "./node_modules/@material-ui/core/node_modules/warning/warning.js")); var _ownerDocument = _interopRequireDefault(__webpack_require__(/*! ../utils/ownerDocument */ "./node_modules/@material-ui/core/utils/ownerDocument.js")); var _List = _interopRequireDefault(__webpack_require__(/*! ../List */ "./node_modules/@material-ui/core/List/index.js")); // @inheritedComponent List var MenuList = /*#__PURE__*/ function (_React$Component) { (0, _inherits2.default)(MenuList, _React$Component); function MenuList() { var _ref; var _temp, _this; (0, _classCallCheck2.default)(this, MenuList); for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) { args[_key] = arguments[_key]; } return (0, _possibleConstructorReturn2.default)(_this, (_temp = _this = (0, _possibleConstructorReturn2.default)(this, (_ref = MenuList.__proto__ || Object.getPrototypeOf(MenuList)).call.apply(_ref, [this].concat(args))), _this.list = null, _this.selectedItem = null, _this.blurTimer = null, _this.state = { currentTabIndex: null }, _this.handleBlur = function (event) { _this.blurTimer = setTimeout(function () { if (_this.list) { var list = _reactDom.default.findDOMNode(_this.list); var currentFocus = (0, _ownerDocument.default)(list).activeElement; if (!list.contains(currentFocus)) { _this.resetTabIndex(); } } }, 30); if (_this.props.onBlur) { _this.props.onBlur(event); } }, _this.handleKeyDown = function (event) { var list = _reactDom.default.findDOMNode(_this.list); var key = (0, _keycode.default)(event); var currentFocus = (0, _ownerDocument.default)(list).activeElement; if ((key === 'up' || key === 'down') && (!currentFocus || currentFocus && !list.contains(currentFocus))) { if (_this.selectedItem) { _reactDom.default.findDOMNode(_this.selectedItem).focus(); } else { list.firstChild.focus(); } } else if (key === 'down') { event.preventDefault(); if (currentFocus.nextElementSibling) { currentFocus.nextElementSibling.focus(); } } else if (key === 'up') { event.preventDefault(); if (currentFocus.previousElementSibling) { currentFocus.previousElementSibling.focus(); } } if (_this.props.onKeyDown) { _this.props.onKeyDown(event, key); } }, _this.handleItemFocus = function (event) { var list = _reactDom.default.findDOMNode(_this.list); if (list) { for (var i = 0; i < list.children.length; i += 1) { if (list.children[i] === event.currentTarget) { _this.setTabIndex(i); break; } } } }, _temp)); } (0, _createClass2.default)(MenuList, [{ key: "componentDidMount", value: function componentDidMount() { this.resetTabIndex(); } }, { key: "componentWillUnmount", value: function componentWillUnmount() { clearTimeout(this.blurTimer); } }, { key: "setTabIndex", value: function setTabIndex(index) { this.setState({ currentTabIndex: index }); } }, { key: "focus", value: function focus() { var currentTabIndex = this.state.currentTabIndex; var list = _reactDom.default.findDOMNode(this.list); if (!list || !list.children || !list.firstChild) { return; } if (currentTabIndex && currentTabIndex >= 0) { list.children[currentTabIndex].focus(); } else { list.firstChild.focus(); } } }, { key: "resetTabIndex", value: function resetTabIndex() { var list = _reactDom.default.findDOMNode(this.list); var currentFocus = (0, _ownerDocument.default)(list).activeElement; var items = []; for (var i = 0; i < list.children.length; i += 1) { items.push(list.children[i]); } var currentFocusIndex = items.indexOf(currentFocus); if (currentFocusIndex !== -1) { return this.setTabIndex(currentFocusIndex); } if (this.selectedItem) { return this.setTabIndex(items.indexOf(_reactDom.default.findDOMNode(this.selectedItem))); } return this.setTabIndex(0); } }, { key: "render", value: function render() { var _this2 = this; var _props = this.props, children = _props.children, className = _props.className, onBlur = _props.onBlur, onKeyDown = _props.onKeyDown, other = (0, _objectWithoutProperties2.default)(_props, ["children", "className", "onBlur", "onKeyDown"]); return _react.default.createElement(_List.default, (0, _extends2.default)({ role: "menu", ref: function ref(node) { _this2.list = node; }, className: className, onKeyDown: this.handleKeyDown, onBlur: this.handleBlur }, other), _react.default.Children.map(children, function (child, index) { if (!_react.default.isValidElement(child)) { return null; } true ? (0, _warning.default)(child.type !== _react.default.Fragment, ["Material-UI: the MenuList component doesn't accept a Fragment as a child.", 'Consider providing an array instead.'].join('\n')) : undefined; return _react.default.cloneElement(child, { tabIndex: index === _this2.state.currentTabIndex ? 0 : -1, ref: child.props.selected ? function (node) { _this2.selectedItem = node; } : undefined, onFocus: _this2.handleItemFocus }); })); } }]); return MenuList; }(_react.default.Component); MenuList.propTypes = true ? { /** * MenuList contents, normally `MenuItem`s. */ children: _propTypes.default.node, /** * @ignore */ className: _propTypes.default.string, /** * @ignore */ onBlur: _propTypes.default.func, /** * @ignore */ onKeyDown: _propTypes.default.func } : undefined; var _default = MenuList; exports.default = _default; /***/ }), /***/ "./node_modules/@material-ui/core/MenuList/index.js": /*!**********************************************************!*\ !*** ./node_modules/@material-ui/core/MenuList/index.js ***! \**********************************************************/ /*! no static exports found */ /***/ (function(module, exports, __webpack_require__) { "use strict"; var _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/builtin/interopRequireDefault */ "./node_modules/@babel/runtime/helpers/builtin/interopRequireDefault.js"); Object.defineProperty(exports, "__esModule", { value: true }); Object.defineProperty(exports, "default", { enumerable: true, get: function get() { return _MenuList.default; } }); var _MenuList = _interopRequireDefault(__webpack_require__(/*! ./MenuList */ "./node_modules/@material-ui/core/MenuList/MenuList.js")); /***/ }), /***/ "./node_modules/@material-ui/core/MobileStepper/MobileStepper.js": /*!***********************************************************************!*\ !*** ./node_modules/@material-ui/core/MobileStepper/MobileStepper.js ***! \***********************************************************************/ /*! no static exports found */ /***/ (function(module, exports, __webpack_require__) { "use strict"; var _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/builtin/interopRequireDefault */ "./node_modules/@babel/runtime/helpers/builtin/interopRequireDefault.js"); Object.defineProperty(exports, "__esModule", { value: true }); exports.default = exports.styles = void 0; var _extends2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/builtin/extends */ "./node_modules/@babel/runtime/helpers/builtin/extends.js")); var _defineProperty2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/builtin/defineProperty */ "./node_modules/@babel/runtime/helpers/builtin/defineProperty.js")); var _toConsumableArray2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/builtin/toConsumableArray */ "./node_modules/@babel/runtime/helpers/builtin/toConsumableArray.js")); var _objectWithoutProperties2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/builtin/objectWithoutProperties */ "./node_modules/@babel/runtime/helpers/builtin/objectWithoutProperties.js")); var _react = _interopRequireDefault(__webpack_require__(/*! react */ "./node_modules/react/index.js")); var _propTypes = _interopRequireDefault(__webpack_require__(/*! prop-types */ "./node_modules/prop-types/index.js")); var _classnames = _interopRequireDefault(__webpack_require__(/*! classnames */ "./node_modules/classnames/index.js")); var _withStyles = _interopRequireDefault(__webpack_require__(/*! ../styles/withStyles */ "./node_modules/@material-ui/core/styles/withStyles.js")); var _Paper = _interopRequireDefault(__webpack_require__(/*! ../Paper */ "./node_modules/@material-ui/core/Paper/index.js")); var _helpers = __webpack_require__(/*! ../utils/helpers */ "./node_modules/@material-ui/core/utils/helpers.js"); var _LinearProgress = _interopRequireDefault(__webpack_require__(/*! ../LinearProgress */ "./node_modules/@material-ui/core/LinearProgress/index.js")); // @inheritedComponent Paper var styles = function styles(theme) { return { root: { display: 'flex', flexDirection: 'row', justifyContent: 'space-between', alignItems: 'center', background: theme.palette.background.default, padding: 8 }, positionBottom: { position: 'fixed', bottom: 0, left: 0, right: 0, zIndex: theme.zIndex.mobileStepper }, positionTop: { position: 'fixed', top: 0, left: 0, right: 0, zIndex: theme.zIndex.mobileStepper }, positionStatic: {}, dots: { display: 'flex', flexDirection: 'row' }, dot: { backgroundColor: theme.palette.action.disabled, borderRadius: '50%', width: 8, height: 8, margin: '0 2px' }, dotActive: { backgroundColor: theme.palette.primary.main }, progress: { width: '50%' } }; }; exports.styles = styles; function MobileStepper(props) { var activeStep = props.activeStep, backButton = props.backButton, classes = props.classes, classNameProp = props.className, nextButton = props.nextButton, position = props.position, steps = props.steps, variant = props.variant, other = (0, _objectWithoutProperties2.default)(props, ["activeStep", "backButton", "classes", "className", "nextButton", "position", "steps", "variant"]); var className = (0, _classnames.default)(classes.root, classes["position".concat((0, _helpers.capitalize)(position))], classNameProp); return _react.default.createElement(_Paper.default, (0, _extends2.default)({ square: true, elevation: 0, className: className }, other), backButton, variant === 'dots' && _react.default.createElement("div", { className: classes.dots }, (0, _toConsumableArray2.default)(new Array(steps)).map(function (_, step) { var dotClassName = (0, _classnames.default)(classes.dot, (0, _defineProperty2.default)({}, classes.dotActive, step === activeStep)); // eslint-disable-next-line react/no-array-index-key return _react.default.createElement("div", { key: step, className: dotClassName }); })), variant === 'progress' && _react.default.createElement(_LinearProgress.default, { className: classes.progress, variant: "determinate", value: Math.ceil(activeStep / (steps - 1) * 100) }), nextButton); } MobileStepper.propTypes = true ? { /** * Set the active step (zero based index). * Defines which dot is highlighted when the variant is 'dots'. */ activeStep: _propTypes.default.number, /** * A back button element. For instance, it can be be a `Button` or a `IconButton`. */ backButton: _propTypes.default.node, /** * Override or extend the styles applied to the component. * See [CSS API](#css-api) below for more details. */ classes: _propTypes.default.object.isRequired, /** * @ignore */ className: _propTypes.default.string, /** * A next button element. For instance, it can be be a `Button` or a `IconButton`. */ nextButton: _propTypes.default.node, /** * Set the positioning type. */ position: _propTypes.default.oneOf(['bottom', 'top', 'static']), /** * The total steps. */ steps: _propTypes.default.number.isRequired, /** * The variant to use. */ variant: _propTypes.default.oneOf(['text', 'dots', 'progress']) } : undefined; MobileStepper.defaultProps = { activeStep: 0, position: 'bottom', variant: 'dots' }; var _default = (0, _withStyles.default)(styles, { name: 'MuiMobileStepper' })(MobileStepper); exports.default = _default; /***/ }), /***/ "./node_modules/@material-ui/core/MobileStepper/index.js": /*!***************************************************************!*\ !*** ./node_modules/@material-ui/core/MobileStepper/index.js ***! \***************************************************************/ /*! no static exports found */ /***/ (function(module, exports, __webpack_require__) { "use strict"; var _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/builtin/interopRequireDefault */ "./node_modules/@babel/runtime/helpers/builtin/interopRequireDefault.js"); Object.defineProperty(exports, "__esModule", { value: true }); Object.defineProperty(exports, "default", { enumerable: true, get: function get() { return _MobileStepper.default; } }); var _MobileStepper = _interopRequireDefault(__webpack_require__(/*! ./MobileStepper */ "./node_modules/@material-ui/core/MobileStepper/MobileStepper.js")); /***/ }), /***/ "./node_modules/@material-ui/core/Modal/Modal.js": /*!*******************************************************!*\ !*** ./node_modules/@material-ui/core/Modal/Modal.js ***! \*******************************************************/ /*! no static exports found */ /***/ (function(module, exports, __webpack_require__) { "use strict"; var _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/builtin/interopRequireDefault */ "./node_modules/@babel/runtime/helpers/builtin/interopRequireDefault.js"); Object.defineProperty(exports, "__esModule", { value: true }); exports.default = exports.styles = void 0; var _extends2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/builtin/extends */ "./node_modules/@babel/runtime/helpers/builtin/extends.js")); var _defineProperty2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/builtin/defineProperty */ "./node_modules/@babel/runtime/helpers/builtin/defineProperty.js")); var _objectWithoutProperties2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/builtin/objectWithoutProperties */ "./node_modules/@babel/runtime/helpers/builtin/objectWithoutProperties.js")); var _classCallCheck2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/builtin/classCallCheck */ "./node_modules/@babel/runtime/helpers/builtin/classCallCheck.js")); var _createClass2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/builtin/createClass */ "./node_modules/@babel/runtime/helpers/builtin/createClass.js")); var _possibleConstructorReturn2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/builtin/possibleConstructorReturn */ "./node_modules/@babel/runtime/helpers/builtin/possibleConstructorReturn.js")); var _inherits2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/builtin/inherits */ "./node_modules/@babel/runtime/helpers/builtin/inherits.js")); var _assertThisInitialized2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/builtin/assertThisInitialized */ "./node_modules/@babel/runtime/helpers/builtin/assertThisInitialized.js")); var _react = _interopRequireDefault(__webpack_require__(/*! react */ "./node_modules/react/index.js")); var _reactDom = _interopRequireDefault(__webpack_require__(/*! react-dom */ "./node_modules/react-dom/index.js")); var _propTypes = _interopRequireDefault(__webpack_require__(/*! prop-types */ "./node_modules/prop-types/index.js")); var _classnames = _interopRequireDefault(__webpack_require__(/*! classnames */ "./node_modules/classnames/index.js")); var _warning = _interopRequireDefault(__webpack_require__(/*! warning */ "./node_modules/@material-ui/core/node_modules/warning/warning.js")); var _keycode = _interopRequireDefault(__webpack_require__(/*! keycode */ "./node_modules/keycode/index.js")); var _ownerDocument = _interopRequireDefault(__webpack_require__(/*! ../utils/ownerDocument */ "./node_modules/@material-ui/core/utils/ownerDocument.js")); var _RootRef = _interopRequireDefault(__webpack_require__(/*! ../RootRef */ "./node_modules/@material-ui/core/RootRef/index.js")); var _Portal = _interopRequireDefault(__webpack_require__(/*! ../Portal */ "./node_modules/@material-ui/core/Portal/index.js")); var _helpers = __webpack_require__(/*! ../utils/helpers */ "./node_modules/@material-ui/core/utils/helpers.js"); var _withStyles = _interopRequireDefault(__webpack_require__(/*! ../styles/withStyles */ "./node_modules/@material-ui/core/styles/withStyles.js")); var _ModalManager = _interopRequireDefault(__webpack_require__(/*! ./ModalManager */ "./node_modules/@material-ui/core/Modal/ModalManager.js")); var _Backdrop = _interopRequireDefault(__webpack_require__(/*! ../Backdrop */ "./node_modules/@material-ui/core/Backdrop/index.js")); function getContainer(container, defaultContainer) { container = typeof container === 'function' ? container() : container; return _reactDom.default.findDOMNode(container) || defaultContainer; } function getHasTransition(props) { return props.children ? props.children.props.hasOwnProperty('in') : false; } var styles = function styles(theme) { return { root: { position: 'fixed', zIndex: theme.zIndex.modal, right: 0, bottom: 0, top: 0, left: 0 }, hidden: { visibility: 'hidden' } }; }; /* istanbul ignore if */ exports.styles = styles; if ("development" !== 'production' && !_react.default.createContext) { throw new Error('Material-UI: react@16.3.0 or greater is required.'); } /** * This component shares many concepts with [react-overlays](https://react-bootstrap.github.io/react-overlays/#modals). */ var Modal = /*#__PURE__*/ function (_React$Component) { (0, _inherits2.default)(Modal, _React$Component); function Modal(props) { var _this; (0, _classCallCheck2.default)(this, Modal); _this = (0, _possibleConstructorReturn2.default)(this, (Modal.__proto__ || Object.getPrototypeOf(Modal)).call(this, props)); _this.mountNode = null; _this.modalRef = null; _this.dialogRef = null; _this.mounted = false; _this.handleRendered = function () { _this.autoFocus(); // Fix a bug on Chrome where the scroll isn't initially 0. _this.modalRef.scrollTop = 0; if (_this.props.onRendered) { _this.props.onRendered(); } }; _this.handleOpen = function () { var doc = (0, _ownerDocument.default)(_this.mountNode); var container = getContainer(_this.props.container, doc.body); _this.props.manager.add((0, _assertThisInitialized2.default)(_this), container); doc.addEventListener('keydown', _this.handleDocumentKeyDown); doc.addEventListener('focus', _this.enforceFocus, true); }; _this.handleClose = function () { _this.props.manager.remove((0, _assertThisInitialized2.default)(_this)); var doc = (0, _ownerDocument.default)(_this.mountNode); doc.removeEventListener('keydown', _this.handleDocumentKeyDown); doc.removeEventListener('focus', _this.enforceFocus, true); _this.restoreLastFocus(); }; _this.handleExited = function () { _this.setState({ exited: true }); _this.handleClose(); }; _this.handleBackdropClick = function (event) { if (event.target !== event.currentTarget) { return; } if (_this.props.onBackdropClick) { _this.props.onBackdropClick(event); } if (!_this.props.disableBackdropClick && _this.props.onClose) { _this.props.onClose(event, 'backdropClick'); } }; _this.handleDocumentKeyDown = function (event) { if (!_this.isTopModal() || (0, _keycode.default)(event) !== 'esc') { return; } if (_this.props.onEscapeKeyDown) { _this.props.onEscapeKeyDown(event); } if (!_this.props.disableEscapeKeyDown && _this.props.onClose) { _this.props.onClose(event, 'escapeKeyDown'); } }; _this.checkForFocus = function () { _this.lastFocus = (0, _ownerDocument.default)(_this.mountNode).activeElement; }; _this.enforceFocus = function () { if (_this.props.disableEnforceFocus || !_this.mounted || !_this.isTopModal()) { return; } var currentActiveElement = (0, _ownerDocument.default)(_this.mountNode).activeElement; if (_this.dialogRef && !_this.dialogRef.contains(currentActiveElement)) { _this.dialogRef.focus(); } }; _this.state = { exited: !_this.props.open }; return _this; } (0, _createClass2.default)(Modal, [{ key: "componentDidMount", value: function componentDidMount() { this.mounted = true; if (this.props.open) { this.handleOpen(); } } }, { key: "componentDidUpdate", value: function componentDidUpdate(prevProps) { if (!prevProps.open && this.props.open) { this.checkForFocus(); } if (prevProps.open && !this.props.open && !getHasTransition(this.props)) { // Otherwise handleExited will call this. this.handleClose(); } else if (!prevProps.open && this.props.open) { this.handleOpen(); } } }, { key: "componentWillUnmount", value: function componentWillUnmount() { this.mounted = false; if (this.props.open || getHasTransition(this.props) && !this.state.exited) { this.handleClose(); } } }, { key: "autoFocus", value: function autoFocus() { if (this.props.disableAutoFocus) { return; } var currentActiveElement = (0, _ownerDocument.default)(this.mountNode).activeElement; if (this.dialogRef && !this.dialogRef.contains(currentActiveElement)) { this.lastFocus = currentActiveElement; if (!this.dialogRef.hasAttribute('tabIndex')) { true ? (0, _warning.default)(false, ['Material-UI: the modal content node does not accept focus.', 'For the benefit of assistive technologies, ' + 'the tabIndex of the node is being set to "-1".'].join('\n')) : undefined; this.dialogRef.setAttribute('tabIndex', -1); } this.dialogRef.focus(); } } }, { key: "restoreLastFocus", value: function restoreLastFocus() { if (this.props.disableRestoreFocus) { return; } if (this.lastFocus) { // Not all elements in IE11 have a focus method. // Because IE11 market share is low, we accept the restore focus being broken // and we silent the issue. if (this.lastFocus.focus) { this.lastFocus.focus(); } this.lastFocus = null; } } }, { key: "isTopModal", value: function isTopModal() { return this.props.manager.isTopModal(this); } }, { key: "render", value: function render() { var _this2 = this; var _props = this.props, BackdropComponent = _props.BackdropComponent, BackdropProps = _props.BackdropProps, children = _props.children, classes = _props.classes, className = _props.className, container = _props.container, disableAutoFocus = _props.disableAutoFocus, disableBackdropClick = _props.disableBackdropClick, disableEnforceFocus = _props.disableEnforceFocus, disableEscapeKeyDown = _props.disableEscapeKeyDown, disablePortal = _props.disablePortal, disableRestoreFocus = _props.disableRestoreFocus, hideBackdrop = _props.hideBackdrop, keepMounted = _props.keepMounted, manager = _props.manager, onBackdropClick = _props.onBackdropClick, onClose = _props.onClose, onEscapeKeyDown = _props.onEscapeKeyDown, onRendered = _props.onRendered, open = _props.open, other = (0, _objectWithoutProperties2.default)(_props, ["BackdropComponent", "BackdropProps", "children", "classes", "className", "container", "disableAutoFocus", "disableBackdropClick", "disableEnforceFocus", "disableEscapeKeyDown", "disablePortal", "disableRestoreFocus", "hideBackdrop", "keepMounted", "manager", "onBackdropClick", "onClose", "onEscapeKeyDown", "onRendered", "open"]); var exited = this.state.exited; var hasTransition = getHasTransition(this.props); var childProps = {}; if (!keepMounted && !open && (!hasTransition || exited)) { return null; } // It's a Transition like component if (hasTransition) { childProps.onExited = (0, _helpers.createChainedFunction)(this.handleExited, children.props.onExited); } if (children.props.role === undefined) { childProps.role = children.props.role || 'document'; } if (children.props.tabIndex === undefined) { childProps.tabIndex = children.props.tabIndex || '-1'; } return _react.default.createElement(_Portal.default, { ref: function ref(node) { _this2.mountNode = node ? node.getMountNode() : node; }, container: container, disablePortal: disablePortal, onRendered: this.handleRendered }, _react.default.createElement("div", (0, _extends2.default)({ ref: function ref(node) { _this2.modalRef = node; }, className: (0, _classnames.default)(classes.root, className, (0, _defineProperty2.default)({}, classes.hidden, exited)) }, other), hideBackdrop ? null : _react.default.createElement(BackdropComponent, (0, _extends2.default)({ open: open, onClick: this.handleBackdropClick }, BackdropProps)), _react.default.createElement(_RootRef.default, { rootRef: function rootRef(node) { _this2.dialogRef = node; } }, _react.default.cloneElement(children, childProps)))); } }], [{ key: "getDerivedStateFromProps", value: function getDerivedStateFromProps(nextProps) { if (nextProps.open) { return { exited: false }; } if (!getHasTransition(nextProps)) { // Otherwise let handleExited take care of marking exited. return { exited: true }; } return null; } }]); return Modal; }(_react.default.Component); Modal.propTypes = true ? { /** * A backdrop component. This property enables custom backdrop rendering. */ BackdropComponent: _propTypes.default.oneOfType([_propTypes.default.string, _propTypes.default.func, _propTypes.default.object]), /** * Properties applied to the [`Backdrop`](/api/backdrop) element. */ BackdropProps: _propTypes.default.object, /** * A single child content element. */ children: _propTypes.default.element, /** * Override or extend the styles applied to the component. * See [CSS API](#css-api) below for more details. */ classes: _propTypes.default.object.isRequired, /** * @ignore */ className: _propTypes.default.string, /** * A node, component instance, or function that returns either. * The `container` will have the portal children appended to it. */ container: _propTypes.default.oneOfType([_propTypes.default.object, _propTypes.default.func]), /** * If `true`, the modal will not automatically shift focus to itself when it opens, and * replace it to the last focused element when it closes. * This also works correctly with any modal children that have the `disableAutoFocus` prop. * * Generally this should never be set to `true` as it makes the modal less * accessible to assistive technologies, like screen readers. */ disableAutoFocus: _propTypes.default.bool, /** * If `true`, clicking the backdrop will not fire any callback. */ disableBackdropClick: _propTypes.default.bool, /** * If `true`, the modal will not prevent focus from leaving the modal while open. * * Generally this should never be set to `true` as it makes the modal less * accessible to assistive technologies, like screen readers. */ disableEnforceFocus: _propTypes.default.bool, /** * If `true`, hitting escape will not fire any callback. */ disableEscapeKeyDown: _propTypes.default.bool, /** * Disable the portal behavior. * The children stay within it's parent DOM hierarchy. */ disablePortal: _propTypes.default.bool, /** * If `true`, the modal will not restore focus to previously focused element once * modal is hidden. */ disableRestoreFocus: _propTypes.default.bool, /** * If `true`, the backdrop is not rendered. */ hideBackdrop: _propTypes.default.bool, /** * Always keep the children in the DOM. * This property can be useful in SEO situation or * when you want to maximize the responsiveness of the Modal. */ keepMounted: _propTypes.default.bool, /** * A modal manager used to track and manage the state of open * Modals. This enables customizing how modals interact within a container. */ manager: _propTypes.default.object, /** * Callback fired when the backdrop is clicked. */ onBackdropClick: _propTypes.default.func, /** * Callback fired when the component requests to be closed. * The `reason` parameter can optionally be used to control the response to `onClose`. * * @param {object} event The event source of the callback * @param {string} reason Can be:`"escapeKeyDown"`, `"backdropClick"` */ onClose: _propTypes.default.func, /** * Callback fired when the escape key is pressed, * `disableEscapeKeyDown` is false and the modal is in focus. */ onEscapeKeyDown: _propTypes.default.func, /** * Callback fired once the children has been mounted into the `container`. * It signals that the `open={true}` property took effect. */ onRendered: _propTypes.default.func, /** * If `true`, the modal is open. */ open: _propTypes.default.bool.isRequired } : undefined; Modal.defaultProps = { disableAutoFocus: false, disableBackdropClick: false, disableEnforceFocus: false, disableEscapeKeyDown: false, disablePortal: false, disableRestoreFocus: false, hideBackdrop: false, keepMounted: false, // Modals don't open on the server so this won't conflict with concurrent requests. manager: new _ModalManager.default(), BackdropComponent: _Backdrop.default }; var _default = (0, _withStyles.default)(styles, { flip: false, name: 'MuiModal' })(Modal); exports.default = _default; /***/ }), /***/ "./node_modules/@material-ui/core/Modal/ModalManager.js": /*!**************************************************************!*\ !*** ./node_modules/@material-ui/core/Modal/ModalManager.js ***! \**************************************************************/ /*! no static exports found */ /***/ (function(module, exports, __webpack_require__) { "use strict"; var _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/builtin/interopRequireDefault */ "./node_modules/@babel/runtime/helpers/builtin/interopRequireDefault.js"); Object.defineProperty(exports, "__esModule", { value: true }); exports.default = void 0; var _classCallCheck2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/builtin/classCallCheck */ "./node_modules/@babel/runtime/helpers/builtin/classCallCheck.js")); var _createClass2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/builtin/createClass */ "./node_modules/@babel/runtime/helpers/builtin/createClass.js")); var _style = _interopRequireDefault(__webpack_require__(/*! dom-helpers/style */ "./node_modules/dom-helpers/style/index.js")); var _scrollbarSize = _interopRequireDefault(__webpack_require__(/*! dom-helpers/util/scrollbarSize */ "./node_modules/dom-helpers/util/scrollbarSize.js")); var _ownerDocument = _interopRequireDefault(__webpack_require__(/*! ../utils/ownerDocument */ "./node_modules/@material-ui/core/utils/ownerDocument.js")); var _isOverflowing = _interopRequireDefault(__webpack_require__(/*! ./isOverflowing */ "./node_modules/@material-ui/core/Modal/isOverflowing.js")); var _manageAriaHidden = __webpack_require__(/*! ./manageAriaHidden */ "./node_modules/@material-ui/core/Modal/manageAriaHidden.js"); function findIndexOf(data, callback) { var idx = -1; data.some(function (item, index) { if (callback(item)) { idx = index; return true; } return false; }); return idx; } function getPaddingRight(node) { return parseInt((0, _style.default)(node, 'paddingRight') || 0, 10); } function setContainerStyle(data, container) { var style = { overflow: 'hidden' }; // We are only interested in the actual `style` here because we will override it. data.style = { overflow: container.style.overflow, paddingRight: container.style.paddingRight }; if (data.overflowing) { var scrollbarSize = (0, _scrollbarSize.default)(); // Use computed style, here to get the real padding to add our scrollbar width. style.paddingRight = "".concat(getPaddingRight(container) + scrollbarSize, "px"); // .mui-fixed is a global helper. var fixedNodes = (0, _ownerDocument.default)(container).querySelectorAll('.mui-fixed'); for (var i = 0; i < fixedNodes.length; i += 1) { var paddingRight = getPaddingRight(fixedNodes[i]); data.prevPaddings.push(paddingRight); fixedNodes[i].style.paddingRight = "".concat(paddingRight + scrollbarSize, "px"); } } Object.keys(style).forEach(function (key) { container.style[key] = style[key]; }); } function removeContainerStyle(data, container) { Object.keys(data.style).forEach(function (key) { container.style[key] = data.style[key]; }); var fixedNodes = (0, _ownerDocument.default)(container).querySelectorAll('.mui-fixed'); for (var i = 0; i < fixedNodes.length; i += 1) { fixedNodes[i].style.paddingRight = "".concat(data.prevPaddings[i], "px"); } } /** * @ignore - do not document. * * Proper state managment for containers and the modals in those containers. * Simplified, but inspired by react-overlay's ModalManager class. * Used by the Modal to ensure proper styling of containers. */ var ModalManager = /*#__PURE__*/ function () { function ModalManager() { var options = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {}; (0, _classCallCheck2.default)(this, ModalManager); var _options$hideSiblingN = options.hideSiblingNodes, hideSiblingNodes = _options$hideSiblingN === void 0 ? true : _options$hideSiblingN, _options$handleContai = options.handleContainerOverflow, handleContainerOverflow = _options$handleContai === void 0 ? true : _options$handleContai; this.hideSiblingNodes = hideSiblingNodes; this.handleContainerOverflow = handleContainerOverflow; // this.modals[modalIdx] = modal this.modals = []; // this.containers[containerIdx] = container this.containers = []; // this.data[containerIdx] = { // modals: [], // } this.data = []; } (0, _createClass2.default)(ModalManager, [{ key: "add", value: function add(modal, container) { var modalIdx = this.modals.indexOf(modal); if (modalIdx !== -1) { return modalIdx; } modalIdx = this.modals.length; this.modals.push(modal); if (this.hideSiblingNodes) { (0, _manageAriaHidden.hideSiblings)(container, modal.mountNode); } var containerIdx = this.containers.indexOf(container); if (containerIdx !== -1) { this.data[containerIdx].modals.push(modal); return modalIdx; } var data = { modals: [modal], overflowing: (0, _isOverflowing.default)(container), prevPaddings: [] }; if (this.handleContainerOverflow) { setContainerStyle(data, container); } this.containers.push(container); this.data.push(data); return modalIdx; } }, { key: "remove", value: function remove(modal) { var modalIdx = this.modals.indexOf(modal); if (modalIdx === -1) { return modalIdx; } var containerIdx = findIndexOf(this.data, function (item) { return item.modals.indexOf(modal) !== -1; }); var data = this.data[containerIdx]; var container = this.containers[containerIdx]; data.modals.splice(data.modals.indexOf(modal), 1); this.modals.splice(modalIdx, 1); // If that was the last modal in a container, clean up the container. if (data.modals.length === 0) { if (this.handleContainerOverflow) { removeContainerStyle(data, container); } if (this.hideSiblingNodes) { (0, _manageAriaHidden.showSiblings)(container, modal.mountNode); } this.containers.splice(containerIdx, 1); this.data.splice(containerIdx, 1); } else if (this.hideSiblingNodes) { // Otherwise make sure the next top modal is visible to a screan reader. (0, _manageAriaHidden.ariaHidden)(false, data.modals[data.modals.length - 1].mountNode); } return modalIdx; } }, { key: "isTopModal", value: function isTopModal(modal) { return !!this.modals.length && this.modals[this.modals.length - 1] === modal; } }]); return ModalManager; }(); var _default = ModalManager; exports.default = _default; /***/ }), /***/ "./node_modules/@material-ui/core/Modal/index.js": /*!*******************************************************!*\ !*** ./node_modules/@material-ui/core/Modal/index.js ***! \*******************************************************/ /*! no static exports found */ /***/ (function(module, exports, __webpack_require__) { "use strict"; var _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/builtin/interopRequireDefault */ "./node_modules/@babel/runtime/helpers/builtin/interopRequireDefault.js"); Object.defineProperty(exports, "__esModule", { value: true }); Object.defineProperty(exports, "default", { enumerable: true, get: function get() { return _Modal.default; } }); Object.defineProperty(exports, "ModalManager", { enumerable: true, get: function get() { return _ModalManager.default; } }); var _Modal = _interopRequireDefault(__webpack_require__(/*! ./Modal */ "./node_modules/@material-ui/core/Modal/Modal.js")); var _ModalManager = _interopRequireDefault(__webpack_require__(/*! ./ModalManager */ "./node_modules/@material-ui/core/Modal/ModalManager.js")); /***/ }), /***/ "./node_modules/@material-ui/core/Modal/isOverflowing.js": /*!***************************************************************!*\ !*** ./node_modules/@material-ui/core/Modal/isOverflowing.js ***! \***************************************************************/ /*! no static exports found */ /***/ (function(module, exports, __webpack_require__) { "use strict"; var _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/builtin/interopRequireDefault */ "./node_modules/@babel/runtime/helpers/builtin/interopRequireDefault.js"); Object.defineProperty(exports, "__esModule", { value: true }); exports.isBody = isBody; exports.default = isOverflowing; var _isWindow = _interopRequireDefault(__webpack_require__(/*! dom-helpers/query/isWindow */ "./node_modules/dom-helpers/query/isWindow.js")); var _ownerDocument = _interopRequireDefault(__webpack_require__(/*! ../utils/ownerDocument */ "./node_modules/@material-ui/core/utils/ownerDocument.js")); var _ownerWindow = _interopRequireDefault(__webpack_require__(/*! ../utils/ownerWindow */ "./node_modules/@material-ui/core/utils/ownerWindow.js")); function isBody(node) { return node && node.tagName.toLowerCase() === 'body'; } // Do we have a scroll bar? function isOverflowing(container) { var doc = (0, _ownerDocument.default)(container); var win = (0, _ownerWindow.default)(doc); /* istanbul ignore next */ if (!(0, _isWindow.default)(doc) && !isBody(container)) { return container.scrollHeight > container.clientHeight; } // Takes in account potential non zero margin on the body. var style = win.getComputedStyle(doc.body); var marginLeft = parseInt(style.getPropertyValue('margin-left'), 10); var marginRight = parseInt(style.getPropertyValue('margin-right'), 10); return marginLeft + doc.body.clientWidth + marginRight < win.innerWidth; } /***/ }), /***/ "./node_modules/@material-ui/core/Modal/manageAriaHidden.js": /*!******************************************************************!*\ !*** ./node_modules/@material-ui/core/Modal/manageAriaHidden.js ***! \******************************************************************/ /*! no static exports found */ /***/ (function(module, exports, __webpack_require__) { "use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.ariaHidden = ariaHidden; exports.hideSiblings = hideSiblings; exports.showSiblings = showSiblings; var BLACKLIST = ['template', 'script', 'style']; function isHidable(node) { return node.nodeType === 1 && BLACKLIST.indexOf(node.tagName.toLowerCase()) === -1; } function siblings(container, mount, callback) { mount = [].concat(mount); // eslint-disable-line no-param-reassign [].forEach.call(container.children, function (node) { if (mount.indexOf(node) === -1 && isHidable(node)) { callback(node); } }); } function ariaHidden(show, node) { if (!node) { return; } if (show) { node.setAttribute('aria-hidden', 'true'); } else { node.removeAttribute('aria-hidden'); } } function hideSiblings(container, mountNode) { siblings(container, mountNode, function (node) { return ariaHidden(true, node); }); } function showSiblings(container, mountNode) { siblings(container, mountNode, function (node) { return ariaHidden(false, node); }); } /***/ }), /***/ "./node_modules/@material-ui/core/NativeSelect/NativeSelect.js": /*!*********************************************************************!*\ !*** ./node_modules/@material-ui/core/NativeSelect/NativeSelect.js ***! \*********************************************************************/ /*! no static exports found */ /***/ (function(module, exports, __webpack_require__) { "use strict"; var _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/builtin/interopRequireDefault */ "./node_modules/@babel/runtime/helpers/builtin/interopRequireDefault.js"); Object.defineProperty(exports, "__esModule", { value: true }); exports.default = exports.styles = void 0; var _objectSpread2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/builtin/objectSpread */ "./node_modules/@babel/runtime/helpers/builtin/objectSpread.js")); var _objectWithoutProperties2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/builtin/objectWithoutProperties */ "./node_modules/@babel/runtime/helpers/builtin/objectWithoutProperties.js")); var _react = _interopRequireDefault(__webpack_require__(/*! react */ "./node_modules/react/index.js")); var _propTypes = _interopRequireDefault(__webpack_require__(/*! prop-types */ "./node_modules/prop-types/index.js")); var _NativeSelectInput = _interopRequireDefault(__webpack_require__(/*! ./NativeSelectInput */ "./node_modules/@material-ui/core/NativeSelect/NativeSelectInput.js")); var _withStyles = _interopRequireDefault(__webpack_require__(/*! ../styles/withStyles */ "./node_modules/@material-ui/core/styles/withStyles.js")); var _ArrowDropDown = _interopRequireDefault(__webpack_require__(/*! ../internal/svg-icons/ArrowDropDown */ "./node_modules/@material-ui/core/internal/svg-icons/ArrowDropDown.js")); var _Input = _interopRequireDefault(__webpack_require__(/*! ../Input */ "./node_modules/@material-ui/core/Input/index.js")); // @inheritedComponent Input var styles = function styles(theme) { return { root: { position: 'relative', width: '100%' }, select: { '-moz-appearance': 'none', // Reset '-webkit-appearance': 'none', // Reset // When interacting quickly, the text can end up selected. // Native select can't be selected either. userSelect: 'none', paddingRight: 32, width: 'calc(100% - 32px)', minWidth: 16, // So it doesn't collapse. cursor: 'pointer', '&:focus': { // Show that it's not an text input background: theme.palette.type === 'light' ? 'rgba(0, 0, 0, 0.05)' : 'rgba(255, 255, 255, 0.05)', borderRadius: 0 // Reset Chrome style }, // Remove Firefox focus border '&:-moz-focusring': { color: 'transparent', textShadow: '0 0 0 #000' }, // Remove IE11 arrow '&::-ms-expand': { display: 'none' }, '&$disabled': { cursor: 'default' } }, selectMenu: { width: 'auto', // Fix Safari textOverflow textOverflow: 'ellipsis', whiteSpace: 'nowrap', overflow: 'hidden', minHeight: '1.1875em' // Reset (19px), match the native input line-height }, disabled: {}, icon: { // We use a position absolute over a flexbox in order to forward the pointer events // to the input. position: 'absolute', right: 0, top: 'calc(50% - 12px)', // Center vertically color: theme.palette.action.active, 'pointer-events': 'none' // Don't block pointer events on the select under the icon. } }; }; /** * An alternative to ` host component that allows setting these optional * props: `checked`, `value`, `defaultChecked`, and `defaultValue`. * * If `checked` or `value` are not supplied (or null/undefined), user actions * that affect the checked state or value will trigger updates to the element. * * If they are supplied (and not null/undefined), the rendered element will not * trigger updates to the element. Instead, the props must change in order for * the rendered element to be updated. * * The rendered element will be initialized as unchecked (or `defaultChecked`) * with an empty value (or `defaultValue`). * * See http://www.w3.org/TR/2012/WD-html5-20121025/the-input-element.html */ function getHostProps(element, props) { var node = element; var checked = props.checked; var hostProps = _assign({}, props, { defaultChecked: undefined, defaultValue: undefined, value: undefined, checked: checked != null ? checked : node._wrapperState.initialChecked }); return hostProps; } function initWrapperState(element, props) { { ReactControlledValuePropTypes.checkPropTypes('input', props, getCurrentFiberStackAddendum); if (props.checked !== undefined && props.defaultChecked !== undefined && !didWarnCheckedDefaultChecked) { warning(false, '%s contains an input of type %s with both checked and defaultChecked props. ' + 'Input elements must be either controlled or uncontrolled ' + '(specify either the checked prop, or the defaultChecked prop, but not ' + 'both). Decide between using a controlled or uncontrolled input ' + 'element and remove one of these props. More info: ' + 'https://fb.me/react-controlled-components', getCurrentFiberOwnerName() || 'A component', props.type); didWarnCheckedDefaultChecked = true; } if (props.value !== undefined && props.defaultValue !== undefined && !didWarnValueDefaultValue) { warning(false, '%s contains an input of type %s with both value and defaultValue props. ' + 'Input elements must be either controlled or uncontrolled ' + '(specify either the value prop, or the defaultValue prop, but not ' + 'both). Decide between using a controlled or uncontrolled input ' + 'element and remove one of these props. More info: ' + 'https://fb.me/react-controlled-components', getCurrentFiberOwnerName() || 'A component', props.type); didWarnValueDefaultValue = true; } } var node = element; var defaultValue = props.defaultValue == null ? '' : props.defaultValue; node._wrapperState = { initialChecked: props.checked != null ? props.checked : props.defaultChecked, initialValue: getSafeValue(props.value != null ? props.value : defaultValue), controlled: isControlled(props) }; } function updateChecked(element, props) { var node = element; var checked = props.checked; if (checked != null) { setValueForProperty(node, 'checked', checked, false); } } function updateWrapper(element, props) { var node = element; { var _controlled = isControlled(props); if (!node._wrapperState.controlled && _controlled && !didWarnUncontrolledToControlled) { warning(false, 'A component is changing an uncontrolled input of type %s to be controlled. ' + 'Input elements should not switch from uncontrolled to controlled (or vice versa). ' + 'Decide between using a controlled or uncontrolled input ' + 'element for the lifetime of the component. More info: https://fb.me/react-controlled-components%s', props.type, getCurrentFiberStackAddendum()); didWarnUncontrolledToControlled = true; } if (node._wrapperState.controlled && !_controlled && !didWarnControlledToUncontrolled) { warning(false, 'A component is changing a controlled input of type %s to be uncontrolled. ' + 'Input elements should not switch from controlled to uncontrolled (or vice versa). ' + 'Decide between using a controlled or uncontrolled input ' + 'element for the lifetime of the component. More info: https://fb.me/react-controlled-components%s', props.type, getCurrentFiberStackAddendum()); didWarnControlledToUncontrolled = true; } } updateChecked(element, props); var value = getSafeValue(props.value); if (value != null) { if (props.type === 'number') { if (value === 0 && node.value === '' || // eslint-disable-next-line node.value != value) { node.value = '' + value; } } else if (node.value !== '' + value) { node.value = '' + value; } } if (props.hasOwnProperty('value')) { setDefaultValue(node, props.type, value); } else if (props.hasOwnProperty('defaultValue')) { setDefaultValue(node, props.type, getSafeValue(props.defaultValue)); } if (props.checked == null && props.defaultChecked != null) { node.defaultChecked = !!props.defaultChecked; } } function postMountWrapper(element, props, isHydrating) { var node = element; if (props.hasOwnProperty('value') || props.hasOwnProperty('defaultValue')) { var _initialValue = '' + node._wrapperState.initialValue; var currentValue = node.value; // Do not assign value if it is already set. This prevents user text input // from being lost during SSR hydration. if (!isHydrating) { // Do not re-assign the value property if there is no change. This // potentially avoids a DOM write and prevents Firefox (~60.0.1) from // prematurely marking required inputs as invalid if (_initialValue !== currentValue) { node.value = _initialValue; } } // value must be assigned before defaultValue. This fixes an issue where the // visually displayed value of date inputs disappears on mobile Safari and Chrome: // https://github.com/facebook/react/issues/7233 node.defaultValue = _initialValue; } // Normally, we'd just do `node.checked = node.checked` upon initial mount, less this bug // this is needed to work around a chrome bug where setting defaultChecked // will sometimes influence the value of checked (even after detachment). // Reference: https://bugs.chromium.org/p/chromium/issues/detail?id=608416 // We need to temporarily unset name to avoid disrupting radio button groups. var name = node.name; if (name !== '') { node.name = ''; } node.defaultChecked = !node.defaultChecked; node.defaultChecked = !node.defaultChecked; if (name !== '') { node.name = name; } } function restoreControlledState(element, props) { var node = element; updateWrapper(node, props); updateNamedCousins(node, props); } function updateNamedCousins(rootNode, props) { var name = props.name; if (props.type === 'radio' && name != null) { var queryRoot = rootNode; while (queryRoot.parentNode) { queryRoot = queryRoot.parentNode; } // If `rootNode.form` was non-null, then we could try `form.elements`, // but that sometimes behaves strangely in IE8. We could also try using // `form.getElementsByName`, but that will only return direct children // and won't include inputs that use the HTML5 `form=` attribute. Since // the input might not even be in a form. It might not even be in the // document. Let's just use the local `querySelectorAll` to ensure we don't // miss anything. var group = queryRoot.querySelectorAll('input[name=' + JSON.stringify('' + name) + '][type="radio"]'); for (var i = 0; i < group.length; i++) { var otherNode = group[i]; if (otherNode === rootNode || otherNode.form !== rootNode.form) { continue; } // This will throw if radio buttons rendered by different copies of React // and the same name are rendered into the same form (same as #1939). // That's probably okay; we don't support it just as we don't support // mixing React radio buttons with non-React ones. var otherProps = getFiberCurrentPropsFromNode$1(otherNode); !otherProps ? invariant(false, 'ReactDOMInput: Mixing React and non-React radio inputs with the same `name` is not supported.') : void 0; // We need update the tracked value on the named cousin since the value // was changed but the input saw no event or value set updateValueIfChanged(otherNode); // If this is a controlled radio button group, forcing the input that // was previously checked to update will cause it to be come re-checked // as appropriate. updateWrapper(otherNode, otherProps); } } } // In Chrome, assigning defaultValue to certain input types triggers input validation. // For number inputs, the display value loses trailing decimal points. For email inputs, // Chrome raises "The specified value is not a valid email address". // // Here we check to see if the defaultValue has actually changed, avoiding these problems // when the user is inputting text // // https://github.com/facebook/react/issues/7253 function setDefaultValue(node, type, value) { if ( // Focused number inputs synchronize on blur. See ChangeEventPlugin.js type !== 'number' || node.ownerDocument.activeElement !== node) { if (value == null) { node.defaultValue = '' + node._wrapperState.initialValue; } else if (node.defaultValue !== '' + value) { node.defaultValue = '' + value; } } } function getSafeValue(value) { switch (typeof value) { case 'boolean': case 'number': case 'object': case 'string': case 'undefined': return value; default: // function, symbol are assigned as empty strings return ''; } } var eventTypes$1 = { change: { phasedRegistrationNames: { bubbled: 'onChange', captured: 'onChangeCapture' }, dependencies: [TOP_BLUR, TOP_CHANGE, TOP_CLICK, TOP_FOCUS, TOP_INPUT, TOP_KEY_DOWN, TOP_KEY_UP, TOP_SELECTION_CHANGE] } }; function createAndAccumulateChangeEvent(inst, nativeEvent, target) { var event = SyntheticEvent$1.getPooled(eventTypes$1.change, inst, nativeEvent, target); event.type = 'change'; // Flag this event loop as needing state restore. enqueueStateRestore(target); accumulateTwoPhaseDispatches(event); return event; } /** * For IE shims */ var activeElement = null; var activeElementInst = null; /** * SECTION: handle `change` event */ function shouldUseChangeEvent(elem) { var nodeName = elem.nodeName && elem.nodeName.toLowerCase(); return nodeName === 'select' || nodeName === 'input' && elem.type === 'file'; } function manualDispatchChangeEvent(nativeEvent) { var event = createAndAccumulateChangeEvent(activeElementInst, nativeEvent, getEventTarget(nativeEvent)); // If change and propertychange bubbled, we'd just bind to it like all the // other events and have it go through ReactBrowserEventEmitter. Since it // doesn't, we manually listen for the events and so we have to enqueue and // process the abstract event manually. // // Batching is necessary here in order to ensure that all event handlers run // before the next rerender (including event handlers attached to ancestor // elements instead of directly on the input). Without this, controlled // components don't work properly in conjunction with event bubbling because // the component is rerendered and the value reverted before all the event // handlers can run. See https://github.com/facebook/react/issues/708. batchedUpdates(runEventInBatch, event); } function runEventInBatch(event) { runEventsInBatch(event, false); } function getInstIfValueChanged(targetInst) { var targetNode = getNodeFromInstance$1(targetInst); if (updateValueIfChanged(targetNode)) { return targetInst; } } function getTargetInstForChangeEvent(topLevelType, targetInst) { if (topLevelType === TOP_CHANGE) { return targetInst; } } /** * SECTION: handle `input` event */ var isInputEventSupported = false; if (ExecutionEnvironment.canUseDOM) { // IE9 claims to support the input event but fails to trigger it when // deleting text, so we ignore its input events. isInputEventSupported = isEventSupported('input') && (!document.documentMode || document.documentMode > 9); } /** * (For IE <=9) Starts tracking propertychange events on the passed-in element * and override the value property so that we can distinguish user events from * value changes in JS. */ function startWatchingForValueChange(target, targetInst) { activeElement = target; activeElementInst = targetInst; activeElement.attachEvent('onpropertychange', handlePropertyChange); } /** * (For IE <=9) Removes the event listeners from the currently-tracked element, * if any exists. */ function stopWatchingForValueChange() { if (!activeElement) { return; } activeElement.detachEvent('onpropertychange', handlePropertyChange); activeElement = null; activeElementInst = null; } /** * (For IE <=9) Handles a propertychange event, sending a `change` event if * the value of the active element has changed. */ function handlePropertyChange(nativeEvent) { if (nativeEvent.propertyName !== 'value') { return; } if (getInstIfValueChanged(activeElementInst)) { manualDispatchChangeEvent(nativeEvent); } } function handleEventsForInputEventPolyfill(topLevelType, target, targetInst) { if (topLevelType === TOP_FOCUS) { // In IE9, propertychange fires for most input events but is buggy and // doesn't fire when text is deleted, but conveniently, selectionchange // appears to fire in all of the remaining cases so we catch those and // forward the event if the value has changed // In either case, we don't want to call the event handler if the value // is changed from JS so we redefine a setter for `.value` that updates // our activeElementValue variable, allowing us to ignore those changes // // stopWatching() should be a noop here but we call it just in case we // missed a blur event somehow. stopWatchingForValueChange(); startWatchingForValueChange(target, targetInst); } else if (topLevelType === TOP_BLUR) { stopWatchingForValueChange(); } } // For IE8 and IE9. function getTargetInstForInputEventPolyfill(topLevelType, targetInst) { if (topLevelType === TOP_SELECTION_CHANGE || topLevelType === TOP_KEY_UP || topLevelType === TOP_KEY_DOWN) { // On the selectionchange event, the target is just document which isn't // helpful for us so just check activeElement instead. // // 99% of the time, keydown and keyup aren't necessary. IE8 fails to fire // propertychange on the first input event after setting `value` from a // script and fires only keydown, keypress, keyup. Catching keyup usually // gets it and catching keydown lets us fire an event for the first // keystroke if user does a key repeat (it'll be a little delayed: right // before the second keystroke). Other input methods (e.g., paste) seem to // fire selectionchange normally. return getInstIfValueChanged(activeElementInst); } } /** * SECTION: handle `click` event */ function shouldUseClickEvent(elem) { // Use the `click` event to detect changes to checkbox and radio inputs. // This approach works across all browsers, whereas `change` does not fire // until `blur` in IE8. var nodeName = elem.nodeName; return nodeName && nodeName.toLowerCase() === 'input' && (elem.type === 'checkbox' || elem.type === 'radio'); } function getTargetInstForClickEvent(topLevelType, targetInst) { if (topLevelType === TOP_CLICK) { return getInstIfValueChanged(targetInst); } } function getTargetInstForInputOrChangeEvent(topLevelType, targetInst) { if (topLevelType === TOP_INPUT || topLevelType === TOP_CHANGE) { return getInstIfValueChanged(targetInst); } } function handleControlledInputBlur(node) { var state = node._wrapperState; if (!state || !state.controlled || node.type !== 'number') { return; } // If controlled, assign the value attribute to the current value on blur setDefaultValue(node, 'number', node.value); } /** * This plugin creates an `onChange` event that normalizes change events * across form elements. This event fires at a time when it's possible to * change the element's value without seeing a flicker. * * Supported elements are: * - input (see `isTextInputElement`) * - textarea * - select */ var ChangeEventPlugin = { eventTypes: eventTypes$1, _isInputEventSupported: isInputEventSupported, extractEvents: function (topLevelType, targetInst, nativeEvent, nativeEventTarget) { var targetNode = targetInst ? getNodeFromInstance$1(targetInst) : window; var getTargetInstFunc = void 0, handleEventFunc = void 0; if (shouldUseChangeEvent(targetNode)) { getTargetInstFunc = getTargetInstForChangeEvent; } else if (isTextInputElement(targetNode)) { if (isInputEventSupported) { getTargetInstFunc = getTargetInstForInputOrChangeEvent; } else { getTargetInstFunc = getTargetInstForInputEventPolyfill; handleEventFunc = handleEventsForInputEventPolyfill; } } else if (shouldUseClickEvent(targetNode)) { getTargetInstFunc = getTargetInstForClickEvent; } if (getTargetInstFunc) { var inst = getTargetInstFunc(topLevelType, targetInst); if (inst) { var event = createAndAccumulateChangeEvent(inst, nativeEvent, nativeEventTarget); return event; } } if (handleEventFunc) { handleEventFunc(topLevelType, targetNode, targetInst); } // When blurring, set the value attribute for number inputs if (topLevelType === TOP_BLUR) { handleControlledInputBlur(targetNode); } } }; /** * Module that is injectable into `EventPluginHub`, that specifies a * deterministic ordering of `EventPlugin`s. A convenient way to reason about * plugins, without having to package every one of them. This is better than * having plugins be ordered in the same order that they are injected because * that ordering would be influenced by the packaging order. * `ResponderEventPlugin` must occur before `SimpleEventPlugin` so that * preventing default on events is convenient in `SimpleEventPlugin` handlers. */ var DOMEventPluginOrder = ['ResponderEventPlugin', 'SimpleEventPlugin', 'TapEventPlugin', 'EnterLeaveEventPlugin', 'ChangeEventPlugin', 'SelectEventPlugin', 'BeforeInputEventPlugin']; var SyntheticUIEvent = SyntheticEvent$1.extend({ view: null, detail: null }); /** * Translation from modifier key to the associated property in the event. * @see http://www.w3.org/TR/DOM-Level-3-Events/#keys-Modifiers */ var modifierKeyToProp = { Alt: 'altKey', Control: 'ctrlKey', Meta: 'metaKey', Shift: 'shiftKey' }; // IE8 does not implement getModifierState so we simply map it to the only // modifier keys exposed by the event itself, does not support Lock-keys. // Currently, all major browsers except Chrome seems to support Lock-keys. function modifierStateGetter(keyArg) { var syntheticEvent = this; var nativeEvent = syntheticEvent.nativeEvent; if (nativeEvent.getModifierState) { return nativeEvent.getModifierState(keyArg); } var keyProp = modifierKeyToProp[keyArg]; return keyProp ? !!nativeEvent[keyProp] : false; } function getEventModifierState(nativeEvent) { return modifierStateGetter; } /** * @interface MouseEvent * @see http://www.w3.org/TR/DOM-Level-3-Events/ */ var SyntheticMouseEvent = SyntheticUIEvent.extend({ screenX: null, screenY: null, clientX: null, clientY: null, pageX: null, pageY: null, ctrlKey: null, shiftKey: null, altKey: null, metaKey: null, getModifierState: getEventModifierState, button: null, buttons: null, relatedTarget: function (event) { return event.relatedTarget || (event.fromElement === event.srcElement ? event.toElement : event.fromElement); } }); /** * @interface PointerEvent * @see http://www.w3.org/TR/pointerevents/ */ var SyntheticPointerEvent = SyntheticMouseEvent.extend({ pointerId: null, width: null, height: null, pressure: null, tiltX: null, tiltY: null, pointerType: null, isPrimary: null }); var eventTypes$2 = { mouseEnter: { registrationName: 'onMouseEnter', dependencies: [TOP_MOUSE_OUT, TOP_MOUSE_OVER] }, mouseLeave: { registrationName: 'onMouseLeave', dependencies: [TOP_MOUSE_OUT, TOP_MOUSE_OVER] }, pointerEnter: { registrationName: 'onPointerEnter', dependencies: [TOP_POINTER_OUT, TOP_POINTER_OVER] }, pointerLeave: { registrationName: 'onPointerLeave', dependencies: [TOP_POINTER_OUT, TOP_POINTER_OVER] } }; var EnterLeaveEventPlugin = { eventTypes: eventTypes$2, /** * For almost every interaction we care about, there will be both a top-level * `mouseover` and `mouseout` event that occurs. Only use `mouseout` so that * we do not extract duplicate events. However, moving the mouse into the * browser from outside will not fire a `mouseout` event. In this case, we use * the `mouseover` top-level event. */ extractEvents: function (topLevelType, targetInst, nativeEvent, nativeEventTarget) { var isOverEvent = topLevelType === TOP_MOUSE_OVER || topLevelType === TOP_POINTER_OVER; var isOutEvent = topLevelType === TOP_MOUSE_OUT || topLevelType === TOP_POINTER_OUT; if (isOverEvent && (nativeEvent.relatedTarget || nativeEvent.fromElement)) { return null; } if (!isOutEvent && !isOverEvent) { // Must not be a mouse or pointer in or out - ignoring. return null; } var win = void 0; if (nativeEventTarget.window === nativeEventTarget) { // `nativeEventTarget` is probably a window object. win = nativeEventTarget; } else { // TODO: Figure out why `ownerDocument` is sometimes undefined in IE8. var doc = nativeEventTarget.ownerDocument; if (doc) { win = doc.defaultView || doc.parentWindow; } else { win = window; } } var from = void 0; var to = void 0; if (isOutEvent) { from = targetInst; var related = nativeEvent.relatedTarget || nativeEvent.toElement; to = related ? getClosestInstanceFromNode(related) : null; } else { // Moving to a node from outside the window. from = null; to = targetInst; } if (from === to) { // Nothing pertains to our managed components. return null; } var eventInterface = void 0, leaveEventType = void 0, enterEventType = void 0, eventTypePrefix = void 0; if (topLevelType === TOP_MOUSE_OUT || topLevelType === TOP_MOUSE_OVER) { eventInterface = SyntheticMouseEvent; leaveEventType = eventTypes$2.mouseLeave; enterEventType = eventTypes$2.mouseEnter; eventTypePrefix = 'mouse'; } else if (topLevelType === TOP_POINTER_OUT || topLevelType === TOP_POINTER_OVER) { eventInterface = SyntheticPointerEvent; leaveEventType = eventTypes$2.pointerLeave; enterEventType = eventTypes$2.pointerEnter; eventTypePrefix = 'pointer'; } var fromNode = from == null ? win : getNodeFromInstance$1(from); var toNode = to == null ? win : getNodeFromInstance$1(to); var leave = eventInterface.getPooled(leaveEventType, from, nativeEvent, nativeEventTarget); leave.type = eventTypePrefix + 'leave'; leave.target = fromNode; leave.relatedTarget = toNode; var enter = eventInterface.getPooled(enterEventType, to, nativeEvent, nativeEventTarget); enter.type = eventTypePrefix + 'enter'; enter.target = toNode; enter.relatedTarget = fromNode; accumulateEnterLeaveDispatches(leave, enter, from, to); return [leave, enter]; } }; /** * `ReactInstanceMap` maintains a mapping from a public facing stateful * instance (key) and the internal representation (value). This allows public * methods to accept the user facing instance as an argument and map them back * to internal methods. * * Note that this module is currently shared and assumed to be stateless. * If this becomes an actual Map, that will break. */ /** * This API should be called `delete` but we'd have to make sure to always * transform these to strings for IE support. When this transform is fully * supported we can rename it. */ function get(key) { return key._reactInternalFiber; } function has(key) { return key._reactInternalFiber !== undefined; } function set(key, value) { key._reactInternalFiber = value; } // Don't change these two values. They're used by React Dev Tools. var NoEffect = /* */0; var PerformedWork = /* */1; // You can change the rest (and add more). var Placement = /* */2; var Update = /* */4; var PlacementAndUpdate = /* */6; var Deletion = /* */8; var ContentReset = /* */16; var Callback = /* */32; var DidCapture = /* */64; var Ref = /* */128; var Snapshot = /* */256; // Union of all host effects var HostEffectMask = /* */511; var Incomplete = /* */512; var ShouldCapture = /* */1024; var MOUNTING = 1; var MOUNTED = 2; var UNMOUNTED = 3; function isFiberMountedImpl(fiber) { var node = fiber; if (!fiber.alternate) { // If there is no alternate, this might be a new tree that isn't inserted // yet. If it is, then it will have a pending insertion effect on it. if ((node.effectTag & Placement) !== NoEffect) { return MOUNTING; } while (node.return) { node = node.return; if ((node.effectTag & Placement) !== NoEffect) { return MOUNTING; } } } else { while (node.return) { node = node.return; } } if (node.tag === HostRoot) { // TODO: Check if this was a nested HostRoot when used with // renderContainerIntoSubtree. return MOUNTED; } // If we didn't hit the root, that means that we're in an disconnected tree // that has been unmounted. return UNMOUNTED; } function isFiberMounted(fiber) { return isFiberMountedImpl(fiber) === MOUNTED; } function isMounted(component) { { var owner = ReactCurrentOwner.current; if (owner !== null && owner.tag === ClassComponent) { var ownerFiber = owner; var instance = ownerFiber.stateNode; !instance._warnedAboutRefsInRender ? warning(false, '%s is accessing isMounted inside its render() function. ' + 'render() should be a pure function of props and state. It should ' + 'never access something that requires stale data from the previous ' + 'render, such as refs. Move this logic to componentDidMount and ' + 'componentDidUpdate instead.', getComponentName(ownerFiber) || 'A component') : void 0; instance._warnedAboutRefsInRender = true; } } var fiber = get(component); if (!fiber) { return false; } return isFiberMountedImpl(fiber) === MOUNTED; } function assertIsMounted(fiber) { !(isFiberMountedImpl(fiber) === MOUNTED) ? invariant(false, 'Unable to find node on an unmounted component.') : void 0; } function findCurrentFiberUsingSlowPath(fiber) { var alternate = fiber.alternate; if (!alternate) { // If there is no alternate, then we only need to check if it is mounted. var state = isFiberMountedImpl(fiber); !(state !== UNMOUNTED) ? invariant(false, 'Unable to find node on an unmounted component.') : void 0; if (state === MOUNTING) { return null; } return fiber; } // If we have two possible branches, we'll walk backwards up to the root // to see what path the root points to. On the way we may hit one of the // special cases and we'll deal with them. var a = fiber; var b = alternate; while (true) { var parentA = a.return; var parentB = parentA ? parentA.alternate : null; if (!parentA || !parentB) { // We're at the root. break; } // If both copies of the parent fiber point to the same child, we can // assume that the child is current. This happens when we bailout on low // priority: the bailed out fiber's child reuses the current child. if (parentA.child === parentB.child) { var child = parentA.child; while (child) { if (child === a) { // We've determined that A is the current branch. assertIsMounted(parentA); return fiber; } if (child === b) { // We've determined that B is the current branch. assertIsMounted(parentA); return alternate; } child = child.sibling; } // We should never have an alternate for any mounting node. So the only // way this could possibly happen is if this was unmounted, if at all. invariant(false, 'Unable to find node on an unmounted component.'); } if (a.return !== b.return) { // The return pointer of A and the return pointer of B point to different // fibers. We assume that return pointers never criss-cross, so A must // belong to the child set of A.return, and B must belong to the child // set of B.return. a = parentA; b = parentB; } else { // The return pointers point to the same fiber. We'll have to use the // default, slow path: scan the child sets of each parent alternate to see // which child belongs to which set. // // Search parent A's child set var didFindChild = false; var _child = parentA.child; while (_child) { if (_child === a) { didFindChild = true; a = parentA; b = parentB; break; } if (_child === b) { didFindChild = true; b = parentA; a = parentB; break; } _child = _child.sibling; } if (!didFindChild) { // Search parent B's child set _child = parentB.child; while (_child) { if (_child === a) { didFindChild = true; a = parentB; b = parentA; break; } if (_child === b) { didFindChild = true; b = parentB; a = parentA; break; } _child = _child.sibling; } !didFindChild ? invariant(false, 'Child was not found in either parent set. This indicates a bug in React related to the return pointer. Please file an issue.') : void 0; } } !(a.alternate === b) ? invariant(false, 'Return fibers should always be each others\' alternates. This error is likely caused by a bug in React. Please file an issue.') : void 0; } // If the root is not a host container, we're in a disconnected tree. I.e. // unmounted. !(a.tag === HostRoot) ? invariant(false, 'Unable to find node on an unmounted component.') : void 0; if (a.stateNode.current === a) { // We've determined that A is the current branch. return fiber; } // Otherwise B has to be current branch. return alternate; } function findCurrentHostFiber(parent) { var currentParent = findCurrentFiberUsingSlowPath(parent); if (!currentParent) { return null; } // Next we'll drill down this component to find the first HostComponent/Text. var node = currentParent; while (true) { if (node.tag === HostComponent || node.tag === HostText) { return node; } else if (node.child) { node.child.return = node; node = node.child; continue; } if (node === currentParent) { return null; } while (!node.sibling) { if (!node.return || node.return === currentParent) { return null; } node = node.return; } node.sibling.return = node.return; node = node.sibling; } // Flow needs the return null here, but ESLint complains about it. // eslint-disable-next-line no-unreachable return null; } function findCurrentHostFiberWithNoPortals(parent) { var currentParent = findCurrentFiberUsingSlowPath(parent); if (!currentParent) { return null; } // Next we'll drill down this component to find the first HostComponent/Text. var node = currentParent; while (true) { if (node.tag === HostComponent || node.tag === HostText) { return node; } else if (node.child && node.tag !== HostPortal) { node.child.return = node; node = node.child; continue; } if (node === currentParent) { return null; } while (!node.sibling) { if (!node.return || node.return === currentParent) { return null; } node = node.return; } node.sibling.return = node.return; node = node.sibling; } // Flow needs the return null here, but ESLint complains about it. // eslint-disable-next-line no-unreachable return null; } function addEventBubbleListener(element, eventType, listener) { element.addEventListener(eventType, listener, false); } function addEventCaptureListener(element, eventType, listener) { element.addEventListener(eventType, listener, true); } /** * @interface Event * @see http://www.w3.org/TR/css3-animations/#AnimationEvent-interface * @see https://developer.mozilla.org/en-US/docs/Web/API/AnimationEvent */ var SyntheticAnimationEvent = SyntheticEvent$1.extend({ animationName: null, elapsedTime: null, pseudoElement: null }); /** * @interface Event * @see http://www.w3.org/TR/clipboard-apis/ */ var SyntheticClipboardEvent = SyntheticEvent$1.extend({ clipboardData: function (event) { return 'clipboardData' in event ? event.clipboardData : window.clipboardData; } }); /** * @interface FocusEvent * @see http://www.w3.org/TR/DOM-Level-3-Events/ */ var SyntheticFocusEvent = SyntheticUIEvent.extend({ relatedTarget: null }); /** * `charCode` represents the actual "character code" and is safe to use with * `String.fromCharCode`. As such, only keys that correspond to printable * characters produce a valid `charCode`, the only exception to this is Enter. * The Tab-key is considered non-printable and does not have a `charCode`, * presumably because it does not produce a tab-character in browsers. * * @param {object} nativeEvent Native browser event. * @return {number} Normalized `charCode` property. */ function getEventCharCode(nativeEvent) { var charCode = void 0; var keyCode = nativeEvent.keyCode; if ('charCode' in nativeEvent) { charCode = nativeEvent.charCode; // FF does not set `charCode` for the Enter-key, check against `keyCode`. if (charCode === 0 && keyCode === 13) { charCode = 13; } } else { // IE8 does not implement `charCode`, but `keyCode` has the correct value. charCode = keyCode; } // IE and Edge (on Windows) and Chrome / Safari (on Windows and Linux) // report Enter as charCode 10 when ctrl is pressed. if (charCode === 10) { charCode = 13; } // Some non-printable keys are reported in `charCode`/`keyCode`, discard them. // Must not discard the (non-)printable Enter-key. if (charCode >= 32 || charCode === 13) { return charCode; } return 0; } /** * Normalization of deprecated HTML5 `key` values * @see https://developer.mozilla.org/en-US/docs/Web/API/KeyboardEvent#Key_names */ var normalizeKey = { Esc: 'Escape', Spacebar: ' ', Left: 'ArrowLeft', Up: 'ArrowUp', Right: 'ArrowRight', Down: 'ArrowDown', Del: 'Delete', Win: 'OS', Menu: 'ContextMenu', Apps: 'ContextMenu', Scroll: 'ScrollLock', MozPrintableKey: 'Unidentified' }; /** * Translation from legacy `keyCode` to HTML5 `key` * Only special keys supported, all others depend on keyboard layout or browser * @see https://developer.mozilla.org/en-US/docs/Web/API/KeyboardEvent#Key_names */ var translateToKey = { '8': 'Backspace', '9': 'Tab', '12': 'Clear', '13': 'Enter', '16': 'Shift', '17': 'Control', '18': 'Alt', '19': 'Pause', '20': 'CapsLock', '27': 'Escape', '32': ' ', '33': 'PageUp', '34': 'PageDown', '35': 'End', '36': 'Home', '37': 'ArrowLeft', '38': 'ArrowUp', '39': 'ArrowRight', '40': 'ArrowDown', '45': 'Insert', '46': 'Delete', '112': 'F1', '113': 'F2', '114': 'F3', '115': 'F4', '116': 'F5', '117': 'F6', '118': 'F7', '119': 'F8', '120': 'F9', '121': 'F10', '122': 'F11', '123': 'F12', '144': 'NumLock', '145': 'ScrollLock', '224': 'Meta' }; /** * @param {object} nativeEvent Native browser event. * @return {string} Normalized `key` property. */ function getEventKey(nativeEvent) { if (nativeEvent.key) { // Normalize inconsistent values reported by browsers due to // implementations of a working draft specification. // FireFox implements `key` but returns `MozPrintableKey` for all // printable characters (normalized to `Unidentified`), ignore it. var key = normalizeKey[nativeEvent.key] || nativeEvent.key; if (key !== 'Unidentified') { return key; } } // Browser does not implement `key`, polyfill as much of it as we can. if (nativeEvent.type === 'keypress') { var charCode = getEventCharCode(nativeEvent); // The enter-key is technically both printable and non-printable and can // thus be captured by `keypress`, no other non-printable key should. return charCode === 13 ? 'Enter' : String.fromCharCode(charCode); } if (nativeEvent.type === 'keydown' || nativeEvent.type === 'keyup') { // While user keyboard layout determines the actual meaning of each // `keyCode` value, almost all function keys have a universal value. return translateToKey[nativeEvent.keyCode] || 'Unidentified'; } return ''; } /** * @interface KeyboardEvent * @see http://www.w3.org/TR/DOM-Level-3-Events/ */ var SyntheticKeyboardEvent = SyntheticUIEvent.extend({ key: getEventKey, location: null, ctrlKey: null, shiftKey: null, altKey: null, metaKey: null, repeat: null, locale: null, getModifierState: getEventModifierState, // Legacy Interface charCode: function (event) { // `charCode` is the result of a KeyPress event and represents the value of // the actual printable character. // KeyPress is deprecated, but its replacement is not yet final and not // implemented in any major browser. Only KeyPress has charCode. if (event.type === 'keypress') { return getEventCharCode(event); } return 0; }, keyCode: function (event) { // `keyCode` is the result of a KeyDown/Up event and represents the value of // physical keyboard key. // The actual meaning of the value depends on the users' keyboard layout // which cannot be detected. Assuming that it is a US keyboard layout // provides a surprisingly accurate mapping for US and European users. // Due to this, it is left to the user to implement at this time. if (event.type === 'keydown' || event.type === 'keyup') { return event.keyCode; } return 0; }, which: function (event) { // `which` is an alias for either `keyCode` or `charCode` depending on the // type of the event. if (event.type === 'keypress') { return getEventCharCode(event); } if (event.type === 'keydown' || event.type === 'keyup') { return event.keyCode; } return 0; } }); /** * @interface DragEvent * @see http://www.w3.org/TR/DOM-Level-3-Events/ */ var SyntheticDragEvent = SyntheticMouseEvent.extend({ dataTransfer: null }); /** * @interface TouchEvent * @see http://www.w3.org/TR/touch-events/ */ var SyntheticTouchEvent = SyntheticUIEvent.extend({ touches: null, targetTouches: null, changedTouches: null, altKey: null, metaKey: null, ctrlKey: null, shiftKey: null, getModifierState: getEventModifierState }); /** * @interface Event * @see http://www.w3.org/TR/2009/WD-css3-transitions-20090320/#transition-events- * @see https://developer.mozilla.org/en-US/docs/Web/API/TransitionEvent */ var SyntheticTransitionEvent = SyntheticEvent$1.extend({ propertyName: null, elapsedTime: null, pseudoElement: null }); /** * @interface WheelEvent * @see http://www.w3.org/TR/DOM-Level-3-Events/ */ var SyntheticWheelEvent = SyntheticMouseEvent.extend({ deltaX: function (event) { return 'deltaX' in event ? event.deltaX : // Fallback to `wheelDeltaX` for Webkit and normalize (right is positive). 'wheelDeltaX' in event ? -event.wheelDeltaX : 0; }, deltaY: function (event) { return 'deltaY' in event ? event.deltaY : // Fallback to `wheelDeltaY` for Webkit and normalize (down is positive). 'wheelDeltaY' in event ? -event.wheelDeltaY : // Fallback to `wheelDelta` for IE<9 and normalize (down is positive). 'wheelDelta' in event ? -event.wheelDelta : 0; }, deltaZ: null, // Browsers without "deltaMode" is reporting in raw wheel delta where one // notch on the scroll is always +/- 120, roughly equivalent to pixels. // A good approximation of DOM_DELTA_LINE (1) is 5% of viewport size or // ~40 pixels, for DOM_DELTA_SCREEN (2) it is 87.5% of viewport size. deltaMode: null }); /** * Turns * ['abort', ...] * into * eventTypes = { * 'abort': { * phasedRegistrationNames: { * bubbled: 'onAbort', * captured: 'onAbortCapture', * }, * dependencies: [TOP_ABORT], * }, * ... * }; * topLevelEventsToDispatchConfig = new Map([ * [TOP_ABORT, { sameConfig }], * ]); */ var interactiveEventTypeNames = [[TOP_BLUR, 'blur'], [TOP_CANCEL, 'cancel'], [TOP_CLICK, 'click'], [TOP_CLOSE, 'close'], [TOP_CONTEXT_MENU, 'contextMenu'], [TOP_COPY, 'copy'], [TOP_CUT, 'cut'], [TOP_DOUBLE_CLICK, 'doubleClick'], [TOP_DRAG_END, 'dragEnd'], [TOP_DRAG_START, 'dragStart'], [TOP_DROP, 'drop'], [TOP_FOCUS, 'focus'], [TOP_INPUT, 'input'], [TOP_INVALID, 'invalid'], [TOP_KEY_DOWN, 'keyDown'], [TOP_KEY_PRESS, 'keyPress'], [TOP_KEY_UP, 'keyUp'], [TOP_MOUSE_DOWN, 'mouseDown'], [TOP_MOUSE_UP, 'mouseUp'], [TOP_PASTE, 'paste'], [TOP_PAUSE, 'pause'], [TOP_PLAY, 'play'], [TOP_POINTER_CANCEL, 'pointerCancel'], [TOP_POINTER_DOWN, 'pointerDown'], [TOP_POINTER_UP, 'pointerUp'], [TOP_RATE_CHANGE, 'rateChange'], [TOP_RESET, 'reset'], [TOP_SEEKED, 'seeked'], [TOP_SUBMIT, 'submit'], [TOP_TOUCH_CANCEL, 'touchCancel'], [TOP_TOUCH_END, 'touchEnd'], [TOP_TOUCH_START, 'touchStart'], [TOP_VOLUME_CHANGE, 'volumeChange']]; var nonInteractiveEventTypeNames = [[TOP_ABORT, 'abort'], [TOP_ANIMATION_END, 'animationEnd'], [TOP_ANIMATION_ITERATION, 'animationIteration'], [TOP_ANIMATION_START, 'animationStart'], [TOP_CAN_PLAY, 'canPlay'], [TOP_CAN_PLAY_THROUGH, 'canPlayThrough'], [TOP_DRAG, 'drag'], [TOP_DRAG_ENTER, 'dragEnter'], [TOP_DRAG_EXIT, 'dragExit'], [TOP_DRAG_LEAVE, 'dragLeave'], [TOP_DRAG_OVER, 'dragOver'], [TOP_DURATION_CHANGE, 'durationChange'], [TOP_EMPTIED, 'emptied'], [TOP_ENCRYPTED, 'encrypted'], [TOP_ENDED, 'ended'], [TOP_ERROR, 'error'], [TOP_GOT_POINTER_CAPTURE, 'gotPointerCapture'], [TOP_LOAD, 'load'], [TOP_LOADED_DATA, 'loadedData'], [TOP_LOADED_METADATA, 'loadedMetadata'], [TOP_LOAD_START, 'loadStart'], [TOP_LOST_POINTER_CAPTURE, 'lostPointerCapture'], [TOP_MOUSE_MOVE, 'mouseMove'], [TOP_MOUSE_OUT, 'mouseOut'], [TOP_MOUSE_OVER, 'mouseOver'], [TOP_PLAYING, 'playing'], [TOP_POINTER_MOVE, 'pointerMove'], [TOP_POINTER_OUT, 'pointerOut'], [TOP_POINTER_OVER, 'pointerOver'], [TOP_PROGRESS, 'progress'], [TOP_SCROLL, 'scroll'], [TOP_SEEKING, 'seeking'], [TOP_STALLED, 'stalled'], [TOP_SUSPEND, 'suspend'], [TOP_TIME_UPDATE, 'timeUpdate'], [TOP_TOGGLE, 'toggle'], [TOP_TOUCH_MOVE, 'touchMove'], [TOP_TRANSITION_END, 'transitionEnd'], [TOP_WAITING, 'waiting'], [TOP_WHEEL, 'wheel']]; var eventTypes$4 = {}; var topLevelEventsToDispatchConfig = {}; function addEventTypeNameToConfig(_ref, isInteractive) { var topEvent = _ref[0], event = _ref[1]; var capitalizedEvent = event[0].toUpperCase() + event.slice(1); var onEvent = 'on' + capitalizedEvent; var type = { phasedRegistrationNames: { bubbled: onEvent, captured: onEvent + 'Capture' }, dependencies: [topEvent], isInteractive: isInteractive }; eventTypes$4[event] = type; topLevelEventsToDispatchConfig[topEvent] = type; } interactiveEventTypeNames.forEach(function (eventTuple) { addEventTypeNameToConfig(eventTuple, true); }); nonInteractiveEventTypeNames.forEach(function (eventTuple) { addEventTypeNameToConfig(eventTuple, false); }); // Only used in DEV for exhaustiveness validation. var knownHTMLTopLevelTypes = [TOP_ABORT, TOP_CANCEL, TOP_CAN_PLAY, TOP_CAN_PLAY_THROUGH, TOP_CLOSE, TOP_DURATION_CHANGE, TOP_EMPTIED, TOP_ENCRYPTED, TOP_ENDED, TOP_ERROR, TOP_INPUT, TOP_INVALID, TOP_LOAD, TOP_LOADED_DATA, TOP_LOADED_METADATA, TOP_LOAD_START, TOP_PAUSE, TOP_PLAY, TOP_PLAYING, TOP_PROGRESS, TOP_RATE_CHANGE, TOP_RESET, TOP_SEEKED, TOP_SEEKING, TOP_STALLED, TOP_SUBMIT, TOP_SUSPEND, TOP_TIME_UPDATE, TOP_TOGGLE, TOP_VOLUME_CHANGE, TOP_WAITING]; var SimpleEventPlugin = { eventTypes: eventTypes$4, isInteractiveTopLevelEventType: function (topLevelType) { var config = topLevelEventsToDispatchConfig[topLevelType]; return config !== undefined && config.isInteractive === true; }, extractEvents: function (topLevelType, targetInst, nativeEvent, nativeEventTarget) { var dispatchConfig = topLevelEventsToDispatchConfig[topLevelType]; if (!dispatchConfig) { return null; } var EventConstructor = void 0; switch (topLevelType) { case TOP_KEY_PRESS: // Firefox creates a keypress event for function keys too. This removes // the unwanted keypress events. Enter is however both printable and // non-printable. One would expect Tab to be as well (but it isn't). if (getEventCharCode(nativeEvent) === 0) { return null; } /* falls through */ case TOP_KEY_DOWN: case TOP_KEY_UP: EventConstructor = SyntheticKeyboardEvent; break; case TOP_BLUR: case TOP_FOCUS: EventConstructor = SyntheticFocusEvent; break; case TOP_CLICK: // Firefox creates a click event on right mouse clicks. This removes the // unwanted click events. if (nativeEvent.button === 2) { return null; } /* falls through */ case TOP_DOUBLE_CLICK: case TOP_MOUSE_DOWN: case TOP_MOUSE_MOVE: case TOP_MOUSE_UP: // TODO: Disabled elements should not respond to mouse events /* falls through */ case TOP_MOUSE_OUT: case TOP_MOUSE_OVER: case TOP_CONTEXT_MENU: EventConstructor = SyntheticMouseEvent; break; case TOP_DRAG: case TOP_DRAG_END: case TOP_DRAG_ENTER: case TOP_DRAG_EXIT: case TOP_DRAG_LEAVE: case TOP_DRAG_OVER: case TOP_DRAG_START: case TOP_DROP: EventConstructor = SyntheticDragEvent; break; case TOP_TOUCH_CANCEL: case TOP_TOUCH_END: case TOP_TOUCH_MOVE: case TOP_TOUCH_START: EventConstructor = SyntheticTouchEvent; break; case TOP_ANIMATION_END: case TOP_ANIMATION_ITERATION: case TOP_ANIMATION_START: EventConstructor = SyntheticAnimationEvent; break; case TOP_TRANSITION_END: EventConstructor = SyntheticTransitionEvent; break; case TOP_SCROLL: EventConstructor = SyntheticUIEvent; break; case TOP_WHEEL: EventConstructor = SyntheticWheelEvent; break; case TOP_COPY: case TOP_CUT: case TOP_PASTE: EventConstructor = SyntheticClipboardEvent; break; case TOP_GOT_POINTER_CAPTURE: case TOP_LOST_POINTER_CAPTURE: case TOP_POINTER_CANCEL: case TOP_POINTER_DOWN: case TOP_POINTER_MOVE: case TOP_POINTER_OUT: case TOP_POINTER_OVER: case TOP_POINTER_UP: EventConstructor = SyntheticPointerEvent; break; default: { if (knownHTMLTopLevelTypes.indexOf(topLevelType) === -1) { warning(false, 'SimpleEventPlugin: Unhandled event type, `%s`. This warning ' + 'is likely caused by a bug in React. Please file an issue.', topLevelType); } } // HTML Events // @see http://www.w3.org/TR/html5/index.html#events-0 EventConstructor = SyntheticEvent$1; break; } var event = EventConstructor.getPooled(dispatchConfig, targetInst, nativeEvent, nativeEventTarget); accumulateTwoPhaseDispatches(event); return event; } }; var isInteractiveTopLevelEventType = SimpleEventPlugin.isInteractiveTopLevelEventType; var CALLBACK_BOOKKEEPING_POOL_SIZE = 10; var callbackBookkeepingPool = []; /** * Find the deepest React component completely containing the root of the * passed-in instance (for use when entire React trees are nested within each * other). If React trees are not nested, returns null. */ function findRootContainerNode(inst) { // TODO: It may be a good idea to cache this to prevent unnecessary DOM // traversal, but caching is difficult to do correctly without using a // mutation observer to listen for all DOM changes. while (inst.return) { inst = inst.return; } if (inst.tag !== HostRoot) { // This can happen if we're in a detached tree. return null; } return inst.stateNode.containerInfo; } // Used to store ancestor hierarchy in top level callback function getTopLevelCallbackBookKeeping(topLevelType, nativeEvent, targetInst) { if (callbackBookkeepingPool.length) { var instance = callbackBookkeepingPool.pop(); instance.topLevelType = topLevelType; instance.nativeEvent = nativeEvent; instance.targetInst = targetInst; return instance; } return { topLevelType: topLevelType, nativeEvent: nativeEvent, targetInst: targetInst, ancestors: [] }; } function releaseTopLevelCallbackBookKeeping(instance) { instance.topLevelType = null; instance.nativeEvent = null; instance.targetInst = null; instance.ancestors.length = 0; if (callbackBookkeepingPool.length < CALLBACK_BOOKKEEPING_POOL_SIZE) { callbackBookkeepingPool.push(instance); } } function handleTopLevel(bookKeeping) { var targetInst = bookKeeping.targetInst; // Loop through the hierarchy, in case there's any nested components. // It's important that we build the array of ancestors before calling any // event handlers, because event handlers can modify the DOM, leading to // inconsistencies with ReactMount's node cache. See #1105. var ancestor = targetInst; do { if (!ancestor) { bookKeeping.ancestors.push(ancestor); break; } var root = findRootContainerNode(ancestor); if (!root) { break; } bookKeeping.ancestors.push(ancestor); ancestor = getClosestInstanceFromNode(root); } while (ancestor); for (var i = 0; i < bookKeeping.ancestors.length; i++) { targetInst = bookKeeping.ancestors[i]; runExtractedEventsInBatch(bookKeeping.topLevelType, targetInst, bookKeeping.nativeEvent, getEventTarget(bookKeeping.nativeEvent)); } } // TODO: can we stop exporting these? var _enabled = true; function setEnabled(enabled) { _enabled = !!enabled; } function isEnabled() { return _enabled; } /** * Traps top-level events by using event bubbling. * * @param {number} topLevelType Number from `TopLevelEventTypes`. * @param {object} element Element on which to attach listener. * @return {?object} An object with a remove function which will forcefully * remove the listener. * @internal */ function trapBubbledEvent(topLevelType, element) { if (!element) { return null; } var dispatch = isInteractiveTopLevelEventType(topLevelType) ? dispatchInteractiveEvent : dispatchEvent; addEventBubbleListener(element, getRawEventName(topLevelType), // Check if interactive and wrap in interactiveUpdates dispatch.bind(null, topLevelType)); } /** * Traps a top-level event by using event capturing. * * @param {number} topLevelType Number from `TopLevelEventTypes`. * @param {object} element Element on which to attach listener. * @return {?object} An object with a remove function which will forcefully * remove the listener. * @internal */ function trapCapturedEvent(topLevelType, element) { if (!element) { return null; } var dispatch = isInteractiveTopLevelEventType(topLevelType) ? dispatchInteractiveEvent : dispatchEvent; addEventCaptureListener(element, getRawEventName(topLevelType), // Check if interactive and wrap in interactiveUpdates dispatch.bind(null, topLevelType)); } function dispatchInteractiveEvent(topLevelType, nativeEvent) { interactiveUpdates(dispatchEvent, topLevelType, nativeEvent); } function dispatchEvent(topLevelType, nativeEvent) { if (!_enabled) { return; } var nativeEventTarget = getEventTarget(nativeEvent); var targetInst = getClosestInstanceFromNode(nativeEventTarget); if (targetInst !== null && typeof targetInst.tag === 'number' && !isFiberMounted(targetInst)) { // If we get an event (ex: img onload) before committing that // component's mount, ignore it for now (that is, treat it as if it was an // event on a non-React tree). We might also consider queueing events and // dispatching them after the mount. targetInst = null; } var bookKeeping = getTopLevelCallbackBookKeeping(topLevelType, nativeEvent, targetInst); try { // Event queue being processed in the same cycle allows // `preventDefault`. batchedUpdates(handleTopLevel, bookKeeping); } finally { releaseTopLevelCallbackBookKeeping(bookKeeping); } } var ReactDOMEventListener = Object.freeze({ get _enabled () { return _enabled; }, setEnabled: setEnabled, isEnabled: isEnabled, trapBubbledEvent: trapBubbledEvent, trapCapturedEvent: trapCapturedEvent, dispatchEvent: dispatchEvent }); /** * Summary of `ReactBrowserEventEmitter` event handling: * * - Top-level delegation is used to trap most native browser events. This * may only occur in the main thread and is the responsibility of * ReactDOMEventListener, which is injected and can therefore support * pluggable event sources. This is the only work that occurs in the main * thread. * * - We normalize and de-duplicate events to account for browser quirks. This * may be done in the worker thread. * * - Forward these native events (with the associated top-level type used to * trap it) to `EventPluginHub`, which in turn will ask plugins if they want * to extract any synthetic events. * * - The `EventPluginHub` will then process each event by annotating them with * "dispatches", a sequence of listeners and IDs that care about that event. * * - The `EventPluginHub` then dispatches the events. * * Overview of React and the event system: * * +------------+ . * | DOM | . * +------------+ . * | . * v . * +------------+ . * | ReactEvent | . * | Listener | . * +------------+ . +-----------+ * | . +--------+|SimpleEvent| * | . | |Plugin | * +-----|------+ . v +-----------+ * | | | . +--------------+ +------------+ * | +-----------.--->|EventPluginHub| | Event | * | | . | | +-----------+ | Propagators| * | ReactEvent | . | | |TapEvent | |------------| * | Emitter | . | |<---+|Plugin | |other plugin| * | | . | | +-----------+ | utilities | * | +-----------.--->| | +------------+ * | | | . +--------------+ * +-----|------+ . ^ +-----------+ * | . | |Enter/Leave| * + . +-------+|Plugin | * +-------------+ . +-----------+ * | application | . * |-------------| . * | | . * | | . * +-------------+ . * . * React Core . General Purpose Event Plugin System */ var alreadyListeningTo = {}; var reactTopListenersCounter = 0; /** * To ensure no conflicts with other potential React instances on the page */ var topListenersIDKey = '_reactListenersID' + ('' + Math.random()).slice(2); function getListeningForDocument(mountAt) { // In IE8, `mountAt` is a host object and doesn't have `hasOwnProperty` // directly. if (!Object.prototype.hasOwnProperty.call(mountAt, topListenersIDKey)) { mountAt[topListenersIDKey] = reactTopListenersCounter++; alreadyListeningTo[mountAt[topListenersIDKey]] = {}; } return alreadyListeningTo[mountAt[topListenersIDKey]]; } /** * We listen for bubbled touch events on the document object. * * Firefox v8.01 (and possibly others) exhibited strange behavior when * mounting `onmousemove` events at some node that was not the document * element. The symptoms were that if your mouse is not moving over something * contained within that mount point (for example on the background) the * top-level listeners for `onmousemove` won't be called. However, if you * register the `mousemove` on the document object, then it will of course * catch all `mousemove`s. This along with iOS quirks, justifies restricting * top-level listeners to the document object only, at least for these * movement types of events and possibly all events. * * @see http://www.quirksmode.org/blog/archives/2010/09/click_event_del.html * * Also, `keyup`/`keypress`/`keydown` do not bubble to the window on IE, but * they bubble to document. * * @param {string} registrationName Name of listener (e.g. `onClick`). * @param {object} mountAt Container where to mount the listener */ function listenTo(registrationName, mountAt) { var isListening = getListeningForDocument(mountAt); var dependencies = registrationNameDependencies[registrationName]; for (var i = 0; i < dependencies.length; i++) { var dependency = dependencies[i]; if (!(isListening.hasOwnProperty(dependency) && isListening[dependency])) { switch (dependency) { case TOP_SCROLL: trapCapturedEvent(TOP_SCROLL, mountAt); break; case TOP_FOCUS: case TOP_BLUR: trapCapturedEvent(TOP_FOCUS, mountAt); trapCapturedEvent(TOP_BLUR, mountAt); // We set the flag for a single dependency later in this function, // but this ensures we mark both as attached rather than just one. isListening[TOP_BLUR] = true; isListening[TOP_FOCUS] = true; break; case TOP_CANCEL: case TOP_CLOSE: if (isEventSupported(getRawEventName(dependency), true)) { trapCapturedEvent(dependency, mountAt); } break; case TOP_INVALID: case TOP_SUBMIT: case TOP_RESET: // We listen to them on the target DOM elements. // Some of them bubble so we don't want them to fire twice. break; default: // By default, listen on the top level to all non-media events. // Media events don't bubble so adding the listener wouldn't do anything. var isMediaEvent = mediaEventTypes.indexOf(dependency) !== -1; if (!isMediaEvent) { trapBubbledEvent(dependency, mountAt); } break; } isListening[dependency] = true; } } } function isListeningToAllDependencies(registrationName, mountAt) { var isListening = getListeningForDocument(mountAt); var dependencies = registrationNameDependencies[registrationName]; for (var i = 0; i < dependencies.length; i++) { var dependency = dependencies[i]; if (!(isListening.hasOwnProperty(dependency) && isListening[dependency])) { return false; } } return true; } /** * Given any node return the first leaf node without children. * * @param {DOMElement|DOMTextNode} node * @return {DOMElement|DOMTextNode} */ function getLeafNode(node) { while (node && node.firstChild) { node = node.firstChild; } return node; } /** * Get the next sibling within a container. This will walk up the * DOM if a node's siblings have been exhausted. * * @param {DOMElement|DOMTextNode} node * @return {?DOMElement|DOMTextNode} */ function getSiblingNode(node) { while (node) { if (node.nextSibling) { return node.nextSibling; } node = node.parentNode; } } /** * Get object describing the nodes which contain characters at offset. * * @param {DOMElement|DOMTextNode} root * @param {number} offset * @return {?object} */ function getNodeForCharacterOffset(root, offset) { var node = getLeafNode(root); var nodeStart = 0; var nodeEnd = 0; while (node) { if (node.nodeType === TEXT_NODE) { nodeEnd = nodeStart + node.textContent.length; if (nodeStart <= offset && nodeEnd >= offset) { return { node: node, offset: offset - nodeStart }; } nodeStart = nodeEnd; } node = getLeafNode(getSiblingNode(node)); } } /** * @param {DOMElement} outerNode * @return {?object} */ function getOffsets(outerNode) { var selection = window.getSelection && window.getSelection(); if (!selection || selection.rangeCount === 0) { return null; } var anchorNode = selection.anchorNode, anchorOffset = selection.anchorOffset, focusNode = selection.focusNode, focusOffset = selection.focusOffset; // In Firefox, anchorNode and focusNode can be "anonymous divs", e.g. the // up/down buttons on an . Anonymous divs do not seem to // expose properties, triggering a "Permission denied error" if any of its // properties are accessed. The only seemingly possible way to avoid erroring // is to access a property that typically works for non-anonymous divs and // catch any error that may otherwise arise. See // https://bugzilla.mozilla.org/show_bug.cgi?id=208427 try { /* eslint-disable no-unused-expressions */ anchorNode.nodeType; focusNode.nodeType; /* eslint-enable no-unused-expressions */ } catch (e) { return null; } return getModernOffsetsFromPoints(outerNode, anchorNode, anchorOffset, focusNode, focusOffset); } /** * Returns {start, end} where `start` is the character/codepoint index of * (anchorNode, anchorOffset) within the textContent of `outerNode`, and * `end` is the index of (focusNode, focusOffset). * * Returns null if you pass in garbage input but we should probably just crash. * * Exported only for testing. */ function getModernOffsetsFromPoints(outerNode, anchorNode, anchorOffset, focusNode, focusOffset) { var length = 0; var start = -1; var end = -1; var indexWithinAnchor = 0; var indexWithinFocus = 0; var node = outerNode; var parentNode = null; outer: while (true) { var next = null; while (true) { if (node === anchorNode && (anchorOffset === 0 || node.nodeType === TEXT_NODE)) { start = length + anchorOffset; } if (node === focusNode && (focusOffset === 0 || node.nodeType === TEXT_NODE)) { end = length + focusOffset; } if (node.nodeType === TEXT_NODE) { length += node.nodeValue.length; } if ((next = node.firstChild) === null) { break; } // Moving from `node` to its first child `next`. parentNode = node; node = next; } while (true) { if (node === outerNode) { // If `outerNode` has children, this is always the second time visiting // it. If it has no children, this is still the first loop, and the only // valid selection is anchorNode and focusNode both equal to this node // and both offsets 0, in which case we will have handled above. break outer; } if (parentNode === anchorNode && ++indexWithinAnchor === anchorOffset) { start = length; } if (parentNode === focusNode && ++indexWithinFocus === focusOffset) { end = length; } if ((next = node.nextSibling) !== null) { break; } node = parentNode; parentNode = node.parentNode; } // Moving from `node` to its next sibling `next`. node = next; } if (start === -1 || end === -1) { // This should never happen. (Would happen if the anchor/focus nodes aren't // actually inside the passed-in node.) return null; } return { start: start, end: end }; } /** * In modern non-IE browsers, we can support both forward and backward * selections. * * Note: IE10+ supports the Selection object, but it does not support * the `extend` method, which means that even in modern IE, it's not possible * to programmatically create a backward selection. Thus, for all IE * versions, we use the old IE API to create our selections. * * @param {DOMElement|DOMTextNode} node * @param {object} offsets */ function setOffsets(node, offsets) { if (!window.getSelection) { return; } var selection = window.getSelection(); var length = node[getTextContentAccessor()].length; var start = Math.min(offsets.start, length); var end = offsets.end === undefined ? start : Math.min(offsets.end, length); // IE 11 uses modern selection, but doesn't support the extend method. // Flip backward selections, so we can set with a single range. if (!selection.extend && start > end) { var temp = end; end = start; start = temp; } var startMarker = getNodeForCharacterOffset(node, start); var endMarker = getNodeForCharacterOffset(node, end); if (startMarker && endMarker) { if (selection.rangeCount === 1 && selection.anchorNode === startMarker.node && selection.anchorOffset === startMarker.offset && selection.focusNode === endMarker.node && selection.focusOffset === endMarker.offset) { return; } var range = document.createRange(); range.setStart(startMarker.node, startMarker.offset); selection.removeAllRanges(); if (start > end) { selection.addRange(range); selection.extend(endMarker.node, endMarker.offset); } else { range.setEnd(endMarker.node, endMarker.offset); selection.addRange(range); } } } function isInDocument(node) { return containsNode(document.documentElement, node); } /** * @ReactInputSelection: React input selection module. Based on Selection.js, * but modified to be suitable for react and has a couple of bug fixes (doesn't * assume buttons have range selections allowed). * Input selection module for React. */ /** * @hasSelectionCapabilities: we get the element types that support selection * from https://html.spec.whatwg.org/#do-not-apply, looking at `selectionStart` * and `selectionEnd` rows. */ function hasSelectionCapabilities(elem) { var nodeName = elem && elem.nodeName && elem.nodeName.toLowerCase(); return nodeName && (nodeName === 'input' && (elem.type === 'text' || elem.type === 'search' || elem.type === 'tel' || elem.type === 'url' || elem.type === 'password') || nodeName === 'textarea' || elem.contentEditable === 'true'); } function getSelectionInformation() { var focusedElem = getActiveElement(); return { focusedElem: focusedElem, selectionRange: hasSelectionCapabilities(focusedElem) ? getSelection$1(focusedElem) : null }; } /** * @restoreSelection: If any selection information was potentially lost, * restore it. This is useful when performing operations that could remove dom * nodes and place them back in, resulting in focus being lost. */ function restoreSelection(priorSelectionInformation) { var curFocusedElem = getActiveElement(); var priorFocusedElem = priorSelectionInformation.focusedElem; var priorSelectionRange = priorSelectionInformation.selectionRange; if (curFocusedElem !== priorFocusedElem && isInDocument(priorFocusedElem)) { if (priorSelectionRange !== null && hasSelectionCapabilities(priorFocusedElem)) { setSelection(priorFocusedElem, priorSelectionRange); } // Focusing a node can change the scroll position, which is undesirable var ancestors = []; var ancestor = priorFocusedElem; while (ancestor = ancestor.parentNode) { if (ancestor.nodeType === ELEMENT_NODE) { ancestors.push({ element: ancestor, left: ancestor.scrollLeft, top: ancestor.scrollTop }); } } if (typeof priorFocusedElem.focus === 'function') { priorFocusedElem.focus(); } for (var i = 0; i < ancestors.length; i++) { var info = ancestors[i]; info.element.scrollLeft = info.left; info.element.scrollTop = info.top; } } } /** * @getSelection: Gets the selection bounds of a focused textarea, input or * contentEditable node. * -@input: Look up selection bounds of this input * -@return {start: selectionStart, end: selectionEnd} */ function getSelection$1(input) { var selection = void 0; if ('selectionStart' in input) { // Modern browser with input or textarea. selection = { start: input.selectionStart, end: input.selectionEnd }; } else { // Content editable or old IE textarea. selection = getOffsets(input); } return selection || { start: 0, end: 0 }; } /** * @setSelection: Sets the selection bounds of a textarea or input and focuses * the input. * -@input Set selection bounds of this input or textarea * -@offsets Object of same form that is returned from get* */ function setSelection(input, offsets) { var start = offsets.start, end = offsets.end; if (end === undefined) { end = start; } if ('selectionStart' in input) { input.selectionStart = start; input.selectionEnd = Math.min(end, input.value.length); } else { setOffsets(input, offsets); } } var skipSelectionChangeEvent = ExecutionEnvironment.canUseDOM && 'documentMode' in document && document.documentMode <= 11; var eventTypes$3 = { select: { phasedRegistrationNames: { bubbled: 'onSelect', captured: 'onSelectCapture' }, dependencies: [TOP_BLUR, TOP_CONTEXT_MENU, TOP_FOCUS, TOP_KEY_DOWN, TOP_KEY_UP, TOP_MOUSE_DOWN, TOP_MOUSE_UP, TOP_SELECTION_CHANGE] } }; var activeElement$1 = null; var activeElementInst$1 = null; var lastSelection = null; var mouseDown = false; /** * Get an object which is a unique representation of the current selection. * * The return value will not be consistent across nodes or browsers, but * two identical selections on the same node will return identical objects. * * @param {DOMElement} node * @return {object} */ function getSelection(node) { if ('selectionStart' in node && hasSelectionCapabilities(node)) { return { start: node.selectionStart, end: node.selectionEnd }; } else if (window.getSelection) { var selection = window.getSelection(); return { anchorNode: selection.anchorNode, anchorOffset: selection.anchorOffset, focusNode: selection.focusNode, focusOffset: selection.focusOffset }; } } /** * Poll selection to see whether it's changed. * * @param {object} nativeEvent * @return {?SyntheticEvent} */ function constructSelectEvent(nativeEvent, nativeEventTarget) { // Ensure we have the right element, and that the user is not dragging a // selection (this matches native `select` event behavior). In HTML5, select // fires only on input and textarea thus if there's no focused element we // won't dispatch. if (mouseDown || activeElement$1 == null || activeElement$1 !== getActiveElement()) { return null; } // Only fire when selection has actually changed. var currentSelection = getSelection(activeElement$1); if (!lastSelection || !shallowEqual(lastSelection, currentSelection)) { lastSelection = currentSelection; var syntheticEvent = SyntheticEvent$1.getPooled(eventTypes$3.select, activeElementInst$1, nativeEvent, nativeEventTarget); syntheticEvent.type = 'select'; syntheticEvent.target = activeElement$1; accumulateTwoPhaseDispatches(syntheticEvent); return syntheticEvent; } return null; } /** * This plugin creates an `onSelect` event that normalizes select events * across form elements. * * Supported elements are: * - input (see `isTextInputElement`) * - textarea * - contentEditable * * This differs from native browser implementations in the following ways: * - Fires on contentEditable fields as well as inputs. * - Fires for collapsed selection. * - Fires after user input. */ var SelectEventPlugin = { eventTypes: eventTypes$3, extractEvents: function (topLevelType, targetInst, nativeEvent, nativeEventTarget) { var doc = nativeEventTarget.window === nativeEventTarget ? nativeEventTarget.document : nativeEventTarget.nodeType === DOCUMENT_NODE ? nativeEventTarget : nativeEventTarget.ownerDocument; // Track whether all listeners exists for this plugin. If none exist, we do // not extract events. See #3639. if (!doc || !isListeningToAllDependencies('onSelect', doc)) { return null; } var targetNode = targetInst ? getNodeFromInstance$1(targetInst) : window; switch (topLevelType) { // Track the input node that has focus. case TOP_FOCUS: if (isTextInputElement(targetNode) || targetNode.contentEditable === 'true') { activeElement$1 = targetNode; activeElementInst$1 = targetInst; lastSelection = null; } break; case TOP_BLUR: activeElement$1 = null; activeElementInst$1 = null; lastSelection = null; break; // Don't fire the event while the user is dragging. This matches the // semantics of the native select event. case TOP_MOUSE_DOWN: mouseDown = true; break; case TOP_CONTEXT_MENU: case TOP_MOUSE_UP: mouseDown = false; return constructSelectEvent(nativeEvent, nativeEventTarget); // Chrome and IE fire non-standard event when selection is changed (and // sometimes when it hasn't). IE's event fires out of order with respect // to key and input events on deletion, so we discard it. // // Firefox doesn't support selectionchange, so check selection status // after each key entry. The selection changes after keydown and before // keyup, but we check on keydown as well in the case of holding down a // key, when multiple keydown events are fired but only one keyup is. // This is also our approach for IE handling, for the reason above. case TOP_SELECTION_CHANGE: if (skipSelectionChangeEvent) { break; } // falls through case TOP_KEY_DOWN: case TOP_KEY_UP: return constructSelectEvent(nativeEvent, nativeEventTarget); } return null; } }; /** * Inject modules for resolving DOM hierarchy and plugin ordering. */ injection.injectEventPluginOrder(DOMEventPluginOrder); injection$1.injectComponentTree(ReactDOMComponentTree); /** * Some important event plugins included by default (without having to require * them). */ injection.injectEventPluginsByName({ SimpleEventPlugin: SimpleEventPlugin, EnterLeaveEventPlugin: EnterLeaveEventPlugin, ChangeEventPlugin: ChangeEventPlugin, SelectEventPlugin: SelectEventPlugin, BeforeInputEventPlugin: BeforeInputEventPlugin }); // We capture a local reference to any global, in case it gets polyfilled after // this module is initially evaluated. // We want to be using a consistent implementation. var localRequestAnimationFrame$1 = typeof requestAnimationFrame === 'function' ? requestAnimationFrame : undefined; /** * A scheduling library to allow scheduling work with more granular priority and * control than requestAnimationFrame and requestIdleCallback. * Current TODO items: * X- Pull out the scheduleWork polyfill built into React * X- Initial test coverage * X- Support for multiple callbacks * - Support for two priorities; serial and deferred * - Better test coverage * - Better docblock * - Polish documentation, API */ // This is a built-in polyfill for requestIdleCallback. It works by scheduling // a requestAnimationFrame, storing the time for the start of the frame, then // scheduling a postMessage which gets scheduled after paint. Within the // postMessage handler do as much work as possible until time + frame rate. // By separating the idle call into a separate event tick we ensure that // layout, paint and other browser work is counted against the available time. // The frame rate is dynamically adjusted. // We capture a local reference to any global, in case it gets polyfilled after // this module is initially evaluated. // We want to be using a consistent implementation. var localDate = Date; var localSetTimeout = setTimeout; var localClearTimeout = clearTimeout; var hasNativePerformanceNow = typeof performance === 'object' && typeof performance.now === 'function'; var now$1 = void 0; if (hasNativePerformanceNow) { var Performance = performance; now$1 = function () { return Performance.now(); }; } else { now$1 = function () { return localDate.now(); }; } var scheduleWork = void 0; var cancelScheduledWork = void 0; if (!ExecutionEnvironment.canUseDOM) { var timeoutIds = new Map(); scheduleWork = function (callback, options) { // keeping return type consistent var callbackConfig = { scheduledCallback: callback, timeoutTime: 0, next: null, prev: null }; var timeoutId = localSetTimeout(function () { callback({ timeRemaining: function () { return Infinity; }, didTimeout: false }); }); timeoutIds.set(callback, timeoutId); return callbackConfig; }; cancelScheduledWork = function (callbackId) { var callback = callbackId.scheduledCallback; var timeoutId = timeoutIds.get(callback); timeoutIds.delete(callbackId); localClearTimeout(timeoutId); }; } else { { if (typeof localRequestAnimationFrame$1 !== 'function') { warning(false, 'React depends on requestAnimationFrame. Make sure that you load a ' + 'polyfill in older browsers. https://fb.me/react-polyfills'); } } var localRequestAnimationFrame = typeof localRequestAnimationFrame$1 === 'function' ? localRequestAnimationFrame$1 : function (callback) { invariant(false, 'React depends on requestAnimationFrame. Make sure that you load a polyfill in older browsers. https://fb.me/react-polyfills'); }; var headOfPendingCallbacksLinkedList = null; var tailOfPendingCallbacksLinkedList = null; // We track what the next soonest timeoutTime is, to be able to quickly tell // if none of the scheduled callbacks have timed out. var nextSoonestTimeoutTime = -1; var isIdleScheduled = false; var isAnimationFrameScheduled = false; var frameDeadline = 0; // We start out assuming that we run at 30fps but then the heuristic tracking // will adjust this value to a faster fps if we get more frequent animation // frames. var previousFrameTime = 33; var activeFrameTime = 33; var frameDeadlineObject = { didTimeout: false, timeRemaining: function () { var remaining = frameDeadline - now$1(); return remaining > 0 ? remaining : 0; } }; /** * Handles the case where a callback errors: * - don't catch the error, because this changes debugging behavior * - do start a new postMessage callback, to call any remaining callbacks, * - but only if there is an error, so there is not extra overhead. */ var callUnsafely = function (callbackConfig, arg) { var callback = callbackConfig.scheduledCallback; var finishedCalling = false; try { callback(arg); finishedCalling = true; } finally { // always remove it from linked list cancelScheduledWork(callbackConfig); if (!finishedCalling) { // an error must have been thrown isIdleScheduled = true; window.postMessage(messageKey, '*'); } } }; /** * Checks for timed out callbacks, runs them, and then checks again to see if * any more have timed out. * Keeps doing this until there are none which have currently timed out. */ var callTimedOutCallbacks = function () { if (headOfPendingCallbacksLinkedList === null) { return; } var currentTime = now$1(); // TODO: this would be more efficient if deferred callbacks are stored in // min heap. // Or in a linked list with links for both timeoutTime order and insertion // order. // For now an easy compromise is the current approach: // Keep a pointer to the soonest timeoutTime, and check that first. // If it has not expired, we can skip traversing the whole list. // If it has expired, then we step through all the callbacks. if (nextSoonestTimeoutTime === -1 || nextSoonestTimeoutTime > currentTime) { // We know that none of them have timed out yet. return; } // NOTE: we intentionally wait to update the nextSoonestTimeoutTime until // after successfully calling any timed out callbacks. // If a timed out callback throws an error, we could get stuck in a state // where the nextSoonestTimeoutTime was set wrong. var updatedNextSoonestTimeoutTime = -1; // we will update nextSoonestTimeoutTime below var timedOutCallbacks = []; // iterate once to find timed out callbacks and find nextSoonestTimeoutTime var currentCallbackConfig = headOfPendingCallbacksLinkedList; while (currentCallbackConfig !== null) { var _timeoutTime = currentCallbackConfig.timeoutTime; if (_timeoutTime !== -1 && _timeoutTime <= currentTime) { // it has timed out! timedOutCallbacks.push(currentCallbackConfig); } else { if (_timeoutTime !== -1 && (updatedNextSoonestTimeoutTime === -1 || _timeoutTime < updatedNextSoonestTimeoutTime)) { updatedNextSoonestTimeoutTime = _timeoutTime; } } currentCallbackConfig = currentCallbackConfig.next; } if (timedOutCallbacks.length > 0) { frameDeadlineObject.didTimeout = true; for (var i = 0, len = timedOutCallbacks.length; i < len; i++) { callUnsafely(timedOutCallbacks[i], frameDeadlineObject); } } // NOTE: we intentionally wait to update the nextSoonestTimeoutTime until // after successfully calling any timed out callbacks. nextSoonestTimeoutTime = updatedNextSoonestTimeoutTime; }; // We use the postMessage trick to defer idle work until after the repaint. var messageKey = '__reactIdleCallback$' + Math.random().toString(36).slice(2); var idleTick = function (event) { if (event.source !== window || event.data !== messageKey) { return; } isIdleScheduled = false; if (headOfPendingCallbacksLinkedList === null) { return; } // First call anything which has timed out, until we have caught up. callTimedOutCallbacks(); var currentTime = now$1(); // Next, as long as we have idle time, try calling more callbacks. while (frameDeadline - currentTime > 0 && headOfPendingCallbacksLinkedList !== null) { var latestCallbackConfig = headOfPendingCallbacksLinkedList; frameDeadlineObject.didTimeout = false; // callUnsafely will remove it from the head of the linked list callUnsafely(latestCallbackConfig, frameDeadlineObject); currentTime = now$1(); } if (headOfPendingCallbacksLinkedList !== null) { if (!isAnimationFrameScheduled) { // Schedule another animation callback so we retry later. isAnimationFrameScheduled = true; localRequestAnimationFrame(animationTick); } } }; // Assumes that we have addEventListener in this environment. Might need // something better for old IE. window.addEventListener('message', idleTick, false); var animationTick = function (rafTime) { isAnimationFrameScheduled = false; var nextFrameTime = rafTime - frameDeadline + activeFrameTime; if (nextFrameTime < activeFrameTime && previousFrameTime < activeFrameTime) { if (nextFrameTime < 8) { // Defensive coding. We don't support higher frame rates than 120hz. // If we get lower than that, it is probably a bug. nextFrameTime = 8; } // If one frame goes long, then the next one can be short to catch up. // If two frames are short in a row, then that's an indication that we // actually have a higher frame rate than what we're currently optimizing. // We adjust our heuristic dynamically accordingly. For example, if we're // running on 120hz display or 90hz VR display. // Take the max of the two in case one of them was an anomaly due to // missed frame deadlines. activeFrameTime = nextFrameTime < previousFrameTime ? previousFrameTime : nextFrameTime; } else { previousFrameTime = nextFrameTime; } frameDeadline = rafTime + activeFrameTime; if (!isIdleScheduled) { isIdleScheduled = true; window.postMessage(messageKey, '*'); } }; scheduleWork = function (callback, options) /* CallbackConfigType */{ var timeoutTime = -1; if (options != null && typeof options.timeout === 'number') { timeoutTime = now$1() + options.timeout; } if (nextSoonestTimeoutTime === -1 || timeoutTime !== -1 && timeoutTime < nextSoonestTimeoutTime) { nextSoonestTimeoutTime = timeoutTime; } var scheduledCallbackConfig = { scheduledCallback: callback, timeoutTime: timeoutTime, prev: null, next: null }; if (headOfPendingCallbacksLinkedList === null) { // Make this callback the head and tail of our list headOfPendingCallbacksLinkedList = scheduledCallbackConfig; tailOfPendingCallbacksLinkedList = scheduledCallbackConfig; } else { // Add latest callback as the new tail of the list scheduledCallbackConfig.prev = tailOfPendingCallbacksLinkedList; // renaming for clarity var oldTailOfPendingCallbacksLinkedList = tailOfPendingCallbacksLinkedList; if (oldTailOfPendingCallbacksLinkedList !== null) { oldTailOfPendingCallbacksLinkedList.next = scheduledCallbackConfig; } tailOfPendingCallbacksLinkedList = scheduledCallbackConfig; } if (!isAnimationFrameScheduled) { // If rAF didn't already schedule one, we need to schedule a frame. // TODO: If this rAF doesn't materialize because the browser throttles, we // might want to still have setTimeout trigger scheduleWork as a backup to ensure // that we keep performing work. isAnimationFrameScheduled = true; localRequestAnimationFrame(animationTick); } return scheduledCallbackConfig; }; cancelScheduledWork = function (callbackConfig /* CallbackConfigType */ ) { if (callbackConfig.prev === null && headOfPendingCallbacksLinkedList !== callbackConfig) { // this callbackConfig has already been cancelled. // cancelScheduledWork should be idempotent, a no-op after first call. return; } /** * There are four possible cases: * - Head/nodeToRemove/Tail -> null * In this case we set Head and Tail to null. * - Head -> ... middle nodes... -> Tail/nodeToRemove * In this case we point the middle.next to null and put middle as the new * Tail. * - Head/nodeToRemove -> ...middle nodes... -> Tail * In this case we point the middle.prev at null and move the Head to * middle. * - Head -> ... ?some nodes ... -> nodeToRemove -> ... ?some nodes ... -> Tail * In this case we point the Head.next to the Tail and the Tail.prev to * the Head. */ var next = callbackConfig.next; var prev = callbackConfig.prev; callbackConfig.next = null; callbackConfig.prev = null; if (next !== null) { // we have a next if (prev !== null) { // we have a prev // callbackConfig is somewhere in the middle of a list of 3 or more nodes. prev.next = next; next.prev = prev; return; } else { // there is a next but not a previous one; // callbackConfig is the head of a list of 2 or more other nodes. next.prev = null; headOfPendingCallbacksLinkedList = next; return; } } else { // there is no next callback config; this must the tail of the list if (prev !== null) { // we have a prev // callbackConfig is the tail of a list of 2 or more other nodes. prev.next = null; tailOfPendingCallbacksLinkedList = prev; return; } else { // there is no previous callback config; // callbackConfig is the only thing in the linked list, // so both head and tail point to it. headOfPendingCallbacksLinkedList = null; tailOfPendingCallbacksLinkedList = null; return; } } }; } var didWarnSelectedSetOnOption = false; function flattenChildren(children) { var content = ''; // Flatten children and warn if they aren't strings or numbers; // invalid types are ignored. // We can silently skip them because invalid DOM nesting warning // catches these cases in Fiber. React.Children.forEach(children, function (child) { if (child == null) { return; } if (typeof child === 'string' || typeof child === 'number') { content += child; } }); return content; } /** * Implements an